IP Library › Granted Patent US 12,566,997
Granted Patent B2
US 12,566,997 · App. 17/798,152 · Granted Mar 3, 2026

Processing of machine learning modeling data to improve accuracy of categorization

Inventors: Arne Mauser (Los Altos Hills, CA); Gang Wang (Jersey City, NJ)
Assignee: Google LLC
G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,566,997
App. No.
17/798,152
Granted
Mar 3, 2026
Kind
B2
Abstract

A first multi-party computation (MPC) system of an MPC cluster can receive, from an application on a client device, an inference request comprising a first share of a given user profile for a user of the application and a performance threshold. A set of nearest neighbors to the user profile can be identified by performing a secure MPC process using a trained machine learning model in collaboration with one or more second MPC systems. One or more nearest neighbors having a performance measure that satisfies the performance threshold can be selected from the set of nearest neighbors. The first MPC system can transmit data derived from the one or more nearest neighbors to the application.

Claims (45)

1 . A method comprising:

detecting user interactions and events for multiple digital components based on data received from client devices of users;

determining performance measures for the multiple digital components based on the detected user interactions and events;

receiving, by a first multi-party computation (MPC) system of an MPC cluster and from an application on a client device, an inference request comprising a first share of a given user profile for a user of the application and a performance threshold;

executing, by the first MPC system, a trained machine learning model using a secure MPC process in collaboration with one or more second MPC systems, wherein the first MPC system and the one or more second MPC systems perform machine learning computations using secret shares of data according to a secure MPC protocol;

obtaining, by the first MPC system and as an output of the trained machine learning model, data identifying a first share of a set of nearest neighbors to the user profile;

selecting, from the set of nearest neighbors, one or more nearest neighbors having a performance measure that satisfies the performance threshold, wherein the performance measure of each nearest neighbor comprises at least one of (i) a user interaction rate that indicates a rate at which users interact with one or more digital components when the one or more digital components are presented to the users or (ii) a conversion rate that indicates a rate at which the users perform a specified action after the one or more digital components are presented to the users; and

transmitting, by the first MPC system, data derived from the one or more nearest neighbors to the application, wherein the data derived from the one or more nearest neighbors to the application comprises a first share of a label identifying one or more user interest groups corresponding to each of the one or more digital components.

2 . The method of claim 1 , wherein the user profile is generated by the application, wherein the user profile comprises data indicative of interactions between a user of the application and digital content rendered on the application, wherein the interactions comprise conversions and lack of conversions.

3 . The method of claim 1 , wherein the machine learning model is a nearest neighbors model, wherein nearest neighbors of the nearest neighbors model are represented by respective centroids associated with corresponding user groups.

4 . The method of claim 3 , wherein the first MPC system allocates a weight to each user of the corresponding user groups to compute a respective centroid, wherein the weight is based on at least one of interactions by the user or user information related to the performance measure.

5 . The method of claim 4 , wherein a centroid for each user group is a center, represented by an average, of user profiles for users that are members of the user group.

6 . The method of claim 1 , wherein the machine learning model is one or more of a centroid model or a nearest neighbors model.

7 . The method of claim 1 , wherein the machine learning model comprises a k-nearest neighbors model and each neighbor in the k-nearest neighbors model represents a user profile of a user.

8 . The method of claim 1 , wherein the machine learning model comprises a k-nearest neighbors model and each neighbor in the k-nearest neighbors model represents a user group for a plurality of users.

9 . The method of claim 1 , wherein the performance threshold is a threshold value, wherein each conversion rate for the one or more digital components is a number of conversions divided by a number of times the one or more digital components were displayed to users in a user group, wherein the inference request is a request to infer whether the user is to be added to a user group.

10 . The method of claim 1 , wherein each digital component of the one or more digital components corresponds to a user interest group and each nearest neighbor comprises a respective performance measure for a digital components corresponding to each user interest group to which a user corresponding to the nearest neighbor is assigned.

11 . The method of claim 1 , wherein the client device is configured to:

identify the one or more user interest groups by combining the first share of the label with one or more second shares of the label received from the one or more second MPC systems; and

add the user of the client device to each of the one or more user interest groups.

12 . A system comprising:

at least one programmable processor; and

a machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

detecting user interactions and events for multiple digital components based on data received from client devices of users;

determining performance measures for the multiple digital components based on the detected user interactions and events;

receiving, by a first multi-party computation (MPC) system of an MPC cluster and from an application on a client device, an inference request comprising a first share of a given user profile for a user of the application and a performance threshold;

executing, by the first MPC system, a trained machine learning model using a secure MPC process in collaboration with one or more second MPC systems, wherein the first MPC system and the one or more second MPC systems perform machine learning computations using secret shares of data according to a secure MPC protocol;

obtaining, by the first MPC system and as an output of the trained machine learning model, data identifying a first share of a set of nearest neighbors to the user profile;

selecting, from the set of nearest neighbors, one or more nearest neighbors having a performance measure that satisfies the performance threshold, wherein the performance measure of each nearest neighbor comprises at least one of (i) a user interaction rate that indicates a rate at which users interact with one or more digital components when the one or more digital components are presented to the users or (ii) a conversion rate that indicates a rate at which the users perform a specified action after the one or more digital components are presented to the users; and

transmitting, by the first MPC system, data derived from the one or more nearest neighbors to the application, wherein the data derived from the one or more nearest neighbors to the application comprises a first share of a label identifying one or more user interest groups corresponding to each of the one or more digital components.

13 . The system of claim 12 , wherein the user profile is generated by the application, wherein the user profile comprises data indicative of interactions between a user of the application and digital content rendered on the application, wherein the interactions comprise conversions and lack of conversions.

14 . The system of claim 12 , wherein the machine learning model is a nearest neighbors model, wherein nearest neighbors of the nearest neighbors model are represented by respective centroids associated with corresponding user groups.

15 . The system of claim 14 , wherein the first MPC system allocates a weight to each user of the corresponding user groups to compute a respective centroid, wherein the weight is based on at least one of interactions by the user or user information related to the performance measure.

16 . The system of claim 15 , wherein a centroid for each user group is a center, represented by an average, of user profiles for users that are members of the user group.

17 . The system of claim 12 , wherein the machine learning model is one or more of a centroid model or a nearest neighbors model.

18 . The system of claim 12 , wherein the machine learning model comprises a k-nearest neighbors model and each neighbor in the k-nearest neighbors model represents a user profile of a user.

19 . The system of claim 12 , wherein the machine learning model comprises a k-nearest neighbors model and each neighbor in the k-nearest neighbors model represents a user group for a plurality of users.

20 . One or more non-transitory media storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

detecting user interactions and events for multiple digital components based on data received from client devices of users;

determining performance measures for the multiple digital components based on the detected user interactions and events;

receiving, by a first multi-party computation (MPC) system of an MPC cluster and from an application on a client device, an inference request comprising a first share of a given user profile for a user of the application and a performance threshold;

executing, by the first MPC system, a trained machine learning model using a secure MPC process in collaboration with one or more second MPC systems, wherein the first MPC system and the one or more second MPC systems perform machine learning computations using secret shares of data according to a secure MPC protocol;

obtaining, by the first MPC system and as an output of the trained machine learning model, data identifying a first share of, a set of nearest neighbors to the user profile;

selecting, from the set of nearest neighbors, one or more nearest neighbors having a performance measure that satisfies the performance threshold, wherein the performance measure of each nearest neighbor comprises at least one of (i) a user interaction rate that indicates a rate at which users interact with one or more digital components when the one or more digital components are presented to the users or (ii) a conversion rate that indicates a rate at which the users perform a specified action after the one or more digital components are presented to the users; and

transmitting, by the first MPC system, data derived from the one or more nearest neighbors to the application, wherein the data derived from the one or more nearest neighbors to the application comprises a first share of a label identifying one or more user interest groups corresponding to each of the one or more digital components.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2022
From: MAUSER, ARNE; WANG, GANG
To: GOOGLE LLC
Reel/Frame 060822/0381 →
Continuity (1)
Related Publication 20230274183A1 · Aug 31, 2023
References Cited (41)
US 10546340B1 · Ross · 2020 [cited by examiner]
US 20080021899A1 · Avidan et al. · 2008 [cited by applicant]
US 20160156460A1 · Feng et al. · 2016 [cited by applicant]
US 20170132230A1 · Muralidhar · 2017 [cited by examiner]
US 20170353826A1 · D'Alberto · 2017 [cited by examiner]
US 20180285774A1 · Soni · 2018 [cited by examiner]
US 20200126143A1 · Chen et al. · 2020 [cited by applicant]
US 20200286112A1 · Zhou · 2020 [cited by examiner]
US 20230034384A1 · Mao · 2023 [cited by examiner]
US 20230205915A1 · Wang · 2023 [cited by examiner]
US 20230214684A1 · Wang · 2023 [cited by examiner]
US 20230274183A1 · Mauser · 2023 [cited by examiner]
CN 110011784 · 2019 [cited by applicant]
CN 111062056 · 2020 [cited by applicant]
CN 111543025 · 2020 [cited by applicant]
JP 2012033088 · 2012 [cited by applicant]
JP 2015532737 · 2015 [cited by applicant]
JP 2016510912 · 2016 [cited by applicant]
JP 2017010351 · 2017 [cited by applicant]
JP 2018528691 · 2018 [cited by applicant]
KR 1020190096295 · 2019 [cited by applicant]
KR 1020200044103 · 2020 [cited by applicant]
WO WO2011007631 · 2011 [cited by applicant]
WO WO2018135334 · 2018 [cited by applicant]
WO WO2019046651 · 2019 [cited by applicant]
WO WO2019063503 · 2019 [cited by applicant]
WO WO2020142110 · 2020 [cited by applicant]
WO WO2020172683 · 2020 [cited by applicant]
Github.com [online], “TurtleDove” Jan. 2020, retrieved on Nov. 10, 2022, retrieved from URL <https://github.com/michaelkleber/turtledove>, 2 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/026618, dated Jan. 14, 2022, 14 pages. [cited by applicant]
Li et al., “Pistis: A Privacy-Preserving Content Recommender System for Online Social Communities” Web Intelligence and Intelligent Agent Technology 2011 IEEE/WIC/ACM International Conference, Aug. 22, 2011, 79-86. [cited by applicant]
Rault Antoine: “User privacy in collaborative filtering systems” Jun. 2016, retrieved on Dec. 22, 2021, retrieved from URL <https://tel.archives-ouvertes.fr/tel-01385503/document>, 142 pages. [cited by applicant]
Notice of Allowance in Korean Appln. No. 10-2022-7029827, mailed on Mar. 8, 2025, 4 pages (with English translation). [cited by applicant]
Office Action in European Appln. No. 21724827.7, mailed on Jun. 16, 2025, 9 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2021/026618, mailed on Oct. 19, 2023, 8 pages. [cited by applicant]
De Cock et al., Efficient and Private Scoring of Decision Trees, Support Vector Machines and Logistic Regression Models Based on Pre-Computation, IEEE Transactions on Dependable and Secure Computing, vol. 16, No. 2, 201… [cited by applicant]
Notice of Allowance in Japanese Appln. No. 2022-553151, mailed on Dec. 18, 2023, 6 pages (with English translation). [cited by applicant]
Office Action in Indian Appln. No. 202227045730, mailed on Nov. 12, 2024, 6 pages (with English translation). [cited by applicant]
Office Action in Chinese Appln. No. 202180019134.6, mailed on Jul. 25, 2025, 20 pages (with English translation). [cited by applicant]
Lifei et al., “Security Issues and Privacy Preserving in Machine Learning” Journal of Computer Research and Development, 2020, 57(10): 2066-2085 (with English abstract). [cited by applicant]
Notice of Allowance in Chinese Appln. No. 202180019134.6, mailed on Jan. 14, 2026, 6 pages (with English translation). [cited by applicant]