Customized predictors for user actions in an online system

US9317812B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9317812-B2
Application numberUS-201213689969-A
CountryUS
Kind codeB2
Filing dateNov 30, 2012
Priority dateNov 30, 2012
Publication dateApr 19, 2016
Grant dateApr 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Online systems generate predictors for predicting actions of users of the online system. The online system receives requests to generate predictor models for predicting whether a user is likely to take an action of a particular action type. The request specifies the type of action and criteria for identifying a successful instance of the action type and a failure instance of the action type. The online system collects data including successful and failure instances of the action type. The online system generates one or more predictors of different types using the generated data. The online system evaluates and compares the performance of the different predictors generated and selects a predictor based on the performance. The online system returns a handle to access the generated predictor to the requester of the predictor.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving, by an online system, a plurality of requests for generating predictors, each request specifying a type of action performed by users of the online system, a category of users, and criteria for identifying a successful instance of the type of action; for each request associated with a type of action, generating, by the online system, a predictor for the type of action, the generating comprising: generating a training data set from a plurality of successful instances and failure instances of the type of action performed by online system users selected in response to belonging to the specified category of users; training one or more candidate predictors using the training data set, wherein each candidate predictor comprises a machine learned model; evaluating performance of each candidate predictor by executing each predictor on a test data set generated from an additional plurality of successful instances and failure instances of the type of action performed by online system users selected in response to belonging to the specified category of users; and selecting a predictor for the type of action by comparing the performance of the one or more candidate predictors; and returning a handle corresponding to the generated predictor to a requester of the selected predictor; periodically generating a new predictor by: comparing performance of the new predictor against performance of a previously generated predictor; and responsive to the performance of the new predictor exceeding the performance of the previously generated predictor, replacing the previously generated predictor with the new predictor; and reducing a rate of periodically generating the new predictor for the action type responsive to an improvement in the performance of the new predictor compared to the performance of the previously generated predictor being below a threshold value. 2. The computer-implemented method of claim 1 , further comprising: receiving a request for a predictor from a process running in the online system, the request specifying a handle and an instance of user information; executing the predictor corresponding to the specified handle on the instance of user information; and returning a result of the predictor to the requesting process. 3. The computer-implemented method of claim 1 , wherein a successful instance of a type of action corresponds to information stored in the online system indicating a user taking an action of the type responsive to the user being presented with a user interface that allows users to take actions of the type of action. 4. The computer-implemented method of claim 1 , wherein the request further specifies criteria for a failure instance, wherein a failure instance of a type of action corresponds to information stored in the online system indicating a user's failure to take an action of the type responsive to the user being presented with information that allows the user to take action of the type of action. 5. The computer-implemented method of claim 1 , wherein the request further specifies criteria for a failure instance, wherein a failure instance of a type of action corresponds to information stored in the online system indicating a user providing input indicating a dislike for information presented in a user interface associated with the type of action. 6. The computer-implemented method of claim 1 , wherein each type of action is targeted to an entity represented in the online system. 7. The computer-implemented method of claim 6 , wherein the entity corresponding to the type of action is one of a user of the online system, a social group, or an image. 8. The computer-implemented method of claim 1 , wherein at least one of the candidate predictors is a machine learning model based on at least one of a linear regression, a logistic regression, boosting tree, or weighted decision tree. 9. A computer-implemented method comprising: storing, by an online system, an existing predictor for predicting whether a user of the online system performs a type of action, the existing predictor associated with criteria for determining a successful instance of the type of action; periodically regenerating the existing predictor by: identifying a data set comprising successful instances and failure instances of the type of action performed by users of the online system; training one or more candidate predictors using the identified data set, wherein each candidate predictor comprises a machine learned model; evaluating performance of each candidate predictor by executing each predictor on a test data set comprising a plurality of successful instances and a plurality of failure instances of the type of action performed by users of the online system; selecting a candidate predictor from the one or more candidate predictors by comparing the performance of the one or more candidate predictors; comparing performance of the selected candidate predictor with performance of the existing predictor; and replacing the existing predictor by the selected candidate predictor responsive to performance of the selected candidate predictor exceeding the performance of the existing predictor; and reducing a rate of periodically regenerating the existing predictor for the action type responsive to an improvement in the performance of the selected predictor compared to the performance of the existing predictor being below a threshold value. 10. The computer-implemented method of claim 9 , wherein a successful instance of a type of action corresponds to information stored in the online system indicating a user taking an action of the type responsive to the user being presented with a user interface that allows users to take actions of the type of action. 11. The computer-implemented method of claim 9 , wherein a failure instance of a type of action corresponds to information stored in the online system indicating a user failing to take an action of the type responsive to the user being presented with a user interface that allows users to take actions of the type of action. 12. The computer-implemented method of claim 9 , wherein at least one of the candidate predictors is a machine learning model based on at least one of a linear regression, a logistic regression, boosting tree, or weighted decision tree. 13. A computer program product having a non-transitory computer-readable storage medium storing computer-executable code, the code comprising: a predictor factory module of an online system configured to: store an existing predictor for predicting whether a user of the online system performs a type of action, the existing predictor associated with criteria for determining a successful instance of the type of action; periodically regenerate the existing predictor by: identifying a data set comprising successful instances and failure instances of the type of action performed by users of the online system; training one or more candidate predictors using the identified data set, wherein each candidate predictor comprises a machine learned model; evaluating performance of each candidate predictor by executing each predictor on a test data set comprising a plurality of successful instances and a plurality of failure instances of the type of action performed by users of the online system; selecting a candidate predictor from the one or more candidate predictors by comparing the performance of the one or more candidate predictors; comparing performance of the selected candidate predictor with performance of the existing predictor; and replacing the existing predictor by the selected

Assignees

Inventors

Classifications

  • Business processes related to social networking or social networking services · CPC title

  • Physics · mapped topic

  • G06N99/005Primary

    Physics · mapped topic

  • Marketing; Price estimation or determination; Fundraising · CPC title

  • G06N5/04Primary

    Inference or reasoning models · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9317812B2 cover?
Online systems generate predictors for predicting actions of users of the online system. The online system receives requests to generate predictor models for predicting whether a user is likely to take an action of a particular action type. The request specifies the type of action and criteria for identifying a successful instance of the action type and a failure instance of the action type. Th…
Who is the assignee on this patent?
Kabiljo Igor, Ilic Aleksandar, Hua Ming, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06N99/005. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).