US10678997B2 - Machine learned models for contextual editing of social networking profiles - Google Patents
Machine learned models for contextual editing of social networking profiles Download PDFInfo
- Publication number
- US10678997B2 US10678997B2 US15/825,657 US201715825657A US10678997B2 US 10678997 B2 US10678997 B2 US 10678997B2 US 201715825657 A US201715825657 A US 201715825657A US 10678997 B2 US10678997 B2 US 10678997B2
- Authority
- US
- United States
- Prior art keywords
- user
- learned model
- profile
- machine
- machine learned
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 230000006855 networking Effects 0.000 title claims abstract description 62
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 36
- 238000010801 machine learning Methods 0.000 claims abstract description 28
- 230000000694 effects Effects 0.000 claims description 35
- 238000000034 method Methods 0.000 claims description 23
- 230000006399 behavior Effects 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 13
- 238000007477 logistic regression Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000037406 food intake Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000007789 gas Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012880 independent component analysis Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H04L67/22—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Definitions
- the present disclosure generally relates to computer technology for solving technical challenges in machine learning. More specifically, the present disclosure relates to machine learned models for contextual editing of social networking profiles.
- Profile data is information that is contained within, or otherwise associated with, a user's member profile in a social networking system. Examples of common profile data include name, job, industry, location, education, skills, etc.
- profile data is collected first when a user originally signs up with the social networking service. Unfortunately, many users do not complete all of their member profile at that time. Oftentimes at least some profile data is left blank, either because the user intends to complete it at a later date or the user simply does not wish to provide the information at that time. Lack of complete profile data, however, can impair how the social networking system operates at the technical level.
- a social networking service may utilize profile data about a user who is performing a search on the social network in order to retrieve and/or rank search results. If the searcher's profile data is lacking, then the retrieved results and/or rankings are likely to be in accurate, or at least not optimally accurate.
- FIG. 1 is a block diagram illustrating a client-server system, in accordance with an example embodiment.
- FIG. 2 is a block diagram showing the functional components of a social networking service, including a data processing module referred to herein as a search engine, for use in generating and providing search results for a search query, consistent with some embodiments of the present disclosure.
- a search engine for use in generating and providing search results for a search query, consistent with some embodiments of the present disclosure.
- FIG. 3 is a block diagram illustrating an application server module of FIG. 2 in more detail.
- FIG. 4 is a block diagram illustrating the contextual profile data requester of FIG. 3 in more detail, in accordance with an example embodiment.
- FIG. 5 is a block diagram illustrating training of machine learned models in a contextual profile data requester in accordance with an example embodiment.
- FIG. 6 is a flow diagram illustrating a method of training a first, second, and third machine learned model in accordance with an example embodiment.
- FIG. 7 is a flow diagram illustrating a method for eliciting an edit to a social networking profile in accordance with an example embodiment.
- FIG. 8 is a block diagram illustrating an architecture of software, which can be installed on any one or more of the devices described above.
- FIG. 9 illustrates a diagrammatic representation of a machine in the form of a computer system within which a set of instructions may be executed for causing the machine to perform any one or more of the methodologies discussed herein, according to an example embodiment.
- a current social networking context is determined.
- a social networking context is an online activity the user is performing in a social networking service, and may relate, for example, to one of various social networking service operations available to the user.
- the context is determined based on the last performed operation initiated by the user. For example, the user may perform an action that results in a “People You May Know” page that surfaces a list of potential connections for the user.
- the context in this instance may be the “People You May Know” functionality.
- the context it may first be determined whether the user is having a positive experience in the context. This may be performed by identifying one or more metrics of positivity of the context experience and calculating these metrics to see if they transgress one or more thresholds. For example, if the People You May Know page surfaces a number of potential connections that is less than a predetermined threshold, it may be determined that the user is not having a positive experience in the People You May Know context.
- a first machine learned model is utilized to determine positivity of the context experience for the user. This first machine learned model will be described in more detail below.
- a second machine learned model may be used to determine which types of missing profile data, if provided, are likely to improve context experience for this context.
- a third machine learned model determines the propensity that the user will provide additional relevant profile data if prompted.
- the system may decide to surface a request to the user to add the additional profile data. This request may include specifics on how the additional data could improve the context experience.
- the request may include an indication that providing the education profile data will likely provide additional relevant potential connections.
- the first, second, and third machine learned models may be context-specific, in that each potential context may have its own version of the first and second machine learned models, to further improve technical accuracy.
- the result is that operations in the social networking service are more accurate as users are prompted to complete additional profile information in contexts and situations within those contexts that are the most meaningful and the most likely to result in the user providing profile data.
- FIG. 1 is a block diagram illustrating a client-server system 100 , in accordance with an example embodiment.
- a networked system 102 provides server-side functionality via a network 104 (e.g., the Internet or a wide area network (WAN)) to one or more clients.
- FIG. 1 illustrates, for example, a web client 106 (e.g., a browser) and a programmatic client 108 executing on respective client machines 110 and 112 .
- a web client 106 e.g., a browser
- programmatic client 108 executing on respective client machines 110 and 112 .
- An application program interface (API) server 114 and a web server 116 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 118 .
- the application server(s) 118 host one or more applications 120 .
- the application server(s) 118 are, in turn, shown to be coupled to one or more database servers 124 that facilitate access to one or more databases 126 . While the application(s) 120 are shown in FIG. 1 to form part of the networked system 102 , it will be appreciated that, in alternative embodiments, the application(s) 120 may form part of a service that is separate and distinct from the networked system 102 .
- client-server system 100 shown in FIG. 1 employs a client-server architecture
- present disclosure is, of course, not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system, for example.
- the various applications 120 could also be implemented as standalone software programs, which do not necessarily have networking capabilities.
- the web client 106 accesses the various applications 120 via the web interface supported by the web server 116 .
- the programmatic client 108 accesses the various services and functions provided by the application(s) 120 via the programmatic interface provided by the API server 114 .
- FIG. 1 also illustrates a third-party application 128 , executing on a third-party server 130 , as having programmatic access to the networked system 102 via the programmatic interface provided by the API server 114 .
- the third-party application 128 may, utilizing information retrieved from the networked system 102 , support one or more features or functions on a website hosted by a third party.
- the third-party website may, for example, provide one or more functions that are supported by the relevant applications 120 of the networked system 102 .
- any website referred to herein may comprise online content that may be rendered on a variety of devices including, but not limited to, a desktop personal computer (PC), a laptop, and a mobile device (e.g., a tablet computer, smartphone, etc.).
- a user can use a mobile app on a mobile device (any of the machines 110 , 112 and the third-party server 130 may be a mobile device) to access and browse online content, such as any of the online content disclosed herein.
- a mobile server e.g., API server 114
- the networked system 102 may comprise functional components of a social networking service.
- FIG. 2 is a block diagram showing the functional components of a social networking service, including a data processing module referred to herein as a search engine 216 , for use in generating and providing search results for a search query, consistent with some embodiments of the present disclosure.
- the search engine 216 may reside on the application server(s) 118 in FIG. 1 . However, it is contemplated that other configurations are also within the scope of the present disclosure.
- a front end may comprise a user interface module (e.g., a web server 116 ) 212 , which receives requests from various client computing devices, and communicates appropriate responses to the requesting client devices.
- the user interface module(s) 212 may receive requests in the form of Hypertext Transfer Protocol (HTTP) requests or other web-based API requests.
- HTTP Hypertext Transfer Protocol
- a member interaction detection module 213 may be provided to detect various interactions that members have with different applications 120 , services, and content presented. As shown in FIG. 2 , upon detecting a particular interaction, the member interaction detection module 213 logs the interaction, including the type of interaction and any metadata relating to the interaction, in a member activity and behavior database 222 .
- An application logic layer may include one or more various application server modules 214 , which, in conjunction with the user interface module(s) 212 , generate various user interfaces (e.g., web pages) with data retrieved from various data sources in a data layer.
- individual application server modules 214 are used to implement the functionality associated with various applications 120 and/or services provided by the social networking service.
- the data layer may include several databases, such as a profile database 218 for storing profile data, including both member profile data and profile data for various organizations (e.g., companies, schools, etc.).
- a profile database 218 for storing profile data, including both member profile data and profile data for various organizations (e.g., companies, schools, etc.).
- the person when a person initially registers to become a member of the social networking service, the person will be prompted to provide some personal information, such as his or her name, age (e.g., birthdate), gender, interests, contact information, home town, address, spouse's and/or family members' names, educational background (e.g., schools, majors, matriculation and/or graduation dates, etc.), employment history, skills, professional organizations, and so on.
- This information is stored, for example, in the profile database 218 .
- a member may invite other members, or be invited by other members, to connect via the social networking service.
- a “connection” may constitute a bilateral agreement by the members, such that both members acknowledge the establishment of the connection.
- a member may elect to “follow” another member.
- the concept of “following” another member typically is a unilateral operation and, at least in some embodiments, does not require acknowledgement or approval by the member that is being followed.
- the member who is following may receive status updates (e.g., in an activity or content stream) or other messages published by the member being followed, or relating to various activities undertaken by the member being followed.
- the member when a member follows an organization, the member becomes eligible to receive messages or status updates published on behalf of the organization. For instance, messages or status updates published on behalf of an organization that a member is following will appear in the member's personalized data feed, commonly referred to as an activity stream or content stream.
- the various associations and relationships that the members establish with other members, or with other entities and objects, are stored and maintained within a social graph in a social graph database 220 .
- the members' interactions and behavior e.g., content viewed, links or buttons selected, messages responded to, etc.
- the members' interactions and behavior may be tracked, and information concerning the members' activities and behavior may be logged or stored, for example, as indicated in FIG. 2 , by the member activity and behavior database 222 .
- This logged activity information may then be used by the search engine 216 to determine search results for a search query.
- the databases 218 , 220 , and 222 may be incorporated into the database(s) 126 in FIG. 1 .
- other configurations are also within the scope of the present disclosure.
- the social networking system 210 provides an API module via which applications 120 and services can access various data and services provided or maintained by the social networking service.
- an application may be able to request and/or receive one or more navigation recommendations.
- Such applications 120 may be browser-based applications 120 , or may be operating system specific.
- some applications 120 may reside and execute (at least partially) on one or more mobile devices (e.g., phone or tablet computing devices) with a mobile operating system.
- the applications 120 or services that leverage the API may be applications 120 and services that are developed and maintained by the entity operating the social networking service, nothing other than data privacy concerns prevents the API from being provided to the public or to certain third parties under special arrangements, thereby making the navigation recommendations available to third-party applications 128 and services.
- search engine 216 is referred to herein as being used in the context of a social networking service, it is contemplated that it may also be employed in the context of any website or online services. Additionally, although features of the present disclosure are referred to herein as being used or presented in the context of a web page, it is contemplated that any user interface view (e.g., a user interface on a mobile device or on desktop software) is within the scope of the present disclosure.
- forward search indexes are created and stored.
- the search engine 216 facilitates the indexing and searching for content within the social networking service, such as the indexing and searching for data or information contained in the data layer, such as profile data (stored, e.g., in the profile database 218 ), social graph data (stored, e.g., in the social graph database 220 ), and member activity and behavior data (stored, e.g., in the member activity and behavior database 222 ).
- the search engine 216 may collect, parse, and/or store data in an index or other similar structure to facilitate the identification and retrieval of information in response to received queries for information. This may include, but is not limited to, forward search indexes, inverted indexes, N-gram indexes, and so on.
- FIG. 3 is a block diagram illustrating an application server module 214 of FIG. 2 in more detail. While in many embodiments the application server module 214 will contain many subcomponents used to perform various different actions within the social networking system 210 , in FIG. 3 only those components that are relevant to the present disclosure are depicted.
- an ingestion platform 300 obtains information from the profile database 218 , the social graph database 220 , and the member activity and behavior database 222 relevant to a current context and user identification as communicated from a user interface server component 302 .
- the user interface server component 302 receives this information from a user interface client component 304 located on a client device 306 .
- the details of the user interface client component 304 are beyond the scope of this disclosure, but generally a user of the user interface client component 304 may be identified by the user interface client component 304 (such as, for example, by the user “logging in” to a social networking service with credential information) and the user may perform some operation.
- the operation and user ID may be communicated to the user interface server component 302 , which may execute some result based on the operation and the current context.
- the context may, for example, be tracked by the user interface server component 302 and each operation by the user may potentially change the current context.
- the user interface server component 302 then generates results of the operation and presents them to the user interface client component 304 .
- the results of the operation may not be sufficient to provide a positive experience to the user if the user has not provided certain relevant aspects of the profile data.
- the user interface server component 302 sends the current context and user identification to the ingestion platform 300 .
- the ingestion platform 300 uses the current context to determine appropriate machine learned models for the context. In some example embodiments this may include selecting a first, second, and/or third machine learned model from a model database 308 .
- the model database 308 may also indicate relevant features for each of the machine learned models.
- the ingestion platform 300 uses these indicated relevant features and user identification to retrieve relevant data for the user from the profile database 218 , social graph database 220 , and/or member activity and behavior database 222 .
- relevant data for the user from the profile database 218 , social graph database 220 , and/or member activity and behavior database 222 .
- the ingestion platform 300 may compute the relevant features based on the retrieved data from the profile database 218 , social graph database 220 , and/or member activity and behavior database 222 , and then communicate the relevant models and corresponding relevant features to contextual profile data requester 310 .
- the contextual profile data requester 310 may then determine whether to send a request for additional profile data (and what profile data to request) using the relevant models, corresponding relevant features, and the results of the operation from the user interface server component 302 , and then send such a request for additional profile data, if appropriate, to the user interface server component 302 .
- the user interface server component 302 then sends the request for additional profile data to the user interface client component 304 for display to the user, who may then provide the additional profile data and improve subsequent results of the operation.
- FIG. 4 is a block diagram illustrating the contextual profile data requester 310 of FIG. 3 in more detail, in accordance with an example embodiment.
- FIG. 4 is a block diagram illustrating the contextual profile data requester 310 of FIG. 3 in more detail, in accordance with an example embodiment.
- three machine learned models for the context is provided; however, in some example embodiments, fewer machine learned models may be used, and/or some of the machine learned models may be substituted with rule engines applying fixed rules.
- the first machine learned model 400 uses features 402 to determine whether or not the results from the operation have provided a positive contextual experience for the user. If so, then no further action from the contextual profile data requester 310 need be taken. If not, however, then the second machine learned model 404 uses features 406 to determine the importance of adding profile data in improving contextual experience for one or more potential pieces of profile data. In some example embodiments this may include determining which pieces of profile data are missing from the member profile and generating a score indicating how much the contextual information would improve if the corresponding missing piece of profile data were provided.
- a third machine learned model 408 uses features 410 to determine a propensity that the user will edit the member profile. In some example embodiments, this may also be performed on a piece-of-profile-data basis, in that there may be a different propensity to edit a score provided for each different piece of missing profile data (reflecting the possibility that, for example, the user may be more likely to add education information than skill information.
- a model result combiner 412 then combines the results from the second machine learned model 404 and third machine learned model 408 to determine which, if any, pieces of missing profile data to request.
- a request for the additional profile data may then be generated and sent to the user interface server component 302 for sending to the user interface client component 304 .
- the first, second, and third machine learning algorithms may be selected from among many different potential supervised or unsupervised machine learning algorithms.
- supervised learning algorithms include artificial neural networks, Bayesian networks, instance-based learning, support vector machines, random forests, linear classifiers, quadratic classifiers, k-nearest neighbor, decision trees, other tree models, and hidden Markov models.
- unsupervised learning algorithms include expectation-maximization algorithms, vector quantization, and information bottleneck method.
- a binary logistical regression model is used. Binary logistic regression deals with situations in which the observed outcome for a dependent variable can have only two possible types. Logistic regression is used to predict the odds of one case or the other being true based on values of independent variables (predictors).
- the machine learning algorithm(s) may be probabilistic.
- the features 402 relevant to the first machine learned model 400 may include features extracted from profile data of the user, such as location, education, industry, company, past experience, interests, skills, to the extent that such profile data is not missing. Relevant metrics that can be computed based on this information may include, for example, years of experience, company or industry transitions, years of education, etc.
- the features 402 may also include features extracted from the social graph of the user, including links to other users in the social networking service. Relevant metrics that can be computed based on this information may include number of overall connections, quality of connections, amount of influence of the user based on the connections, social network distance, etc.
- the features 402 may also include features extracted from member activity and behavior of the user in the social networking service. This may include, for example, past history of providing additional profile data in response to requests, click activity within various portions of the social networking service, linger time on various portions of the social networking service, etc.
- the features 406 relevant to the second machine learned model 404 may include features extracted from profile data of the user, such as location, education, industry, company, past experience, interests, skills, to the extent that such data is not missing. Relevant metrics that can be computed based on this information may include, for example, years of experience
- the features 406 may also include features extracted from the social graph of the user, including links to other users in the social networking service. Relevant metrics that can be computed based on this information may include number of overall connections, quality of connections, amount of influence of the user based on the connections, social network distance, etc.
- the features 406 may also include features extracted from member activity and behavior of the user in the social networking service. This may include, for example, past history of providing additional profile data in response to requests, click activity within various portions of the social networking service, linger time on various portions of the social networking service, etc.
- the features 406 include member network size, including total connection count and recent connection count (e.g., over the last 30 days), the user's recent feed, job search, and/or messaging activity level on the social networking service, the user's tenure on the social networking service, the user's profile completion score, which represents how complete the user's profile is in general, and whether this user has a standardized profile section.
- One or more transformations may be performed in the features, such as performing histogram-like bucketing of the data into quartile buckets. If the user falls into the bucket, then the feature value is 1, otherwise 0.
- Crossing with edited profile field may also be performed, where each feature is member-oriented and hence to incorporate the feature as to whether a profile field was ever edited, obtained from the histogram-like bucketing, it is crossed with the main profile fields desired for the corresponding context.
- logistic regression modeling can be used in the FVS model, where the response is 1 if the edit brings positive value and 0 if negative or zero value.
- the distribution of the change in a metric such as People You May Know impressions or clients, can be plotted, and extreme outliers can be removed from training. Also small change qualities can be eliminated as they can be noisy (i.e., not a material change).
- Poisson regression can be used with linear regression modeling by using raw count directly as responses.
- features are learned via a machine learning algorithm used to train the corresponding machine learned model
- supervised feature learning features may be learned in part with labeled input data using, for example, supervised neural networks, multilayer perceptron, and supervised dictionary learning.
- unsupervised feature learning features may be learned with unlabeled input data using, for example, dictionary learning, independent component analysis, autoencoders, matrix factorization, and various forms of clustering.
- both the second and third machine learned models 404 , 408 are logistic regression models.
- the model result combiner 412 combines the outputs of the second machine learned model 404 and third machine learned model 408 .
- the result may be a score known as an edit value assigned to each field missing from the user's profile.
- FVS(u, f) Given a user u (and implicitly the user u's profile) and a profile field f, FVS(u, f) outputs the expected incremental gain u can achieve by adding f, in the current context. In the People You May Know context, this may be computed as a combination of the excepted change in liquidity (i.e., the number of recommendations pushed, or the number of impressions seen) and the expected change in quality (i.e., score increase in top-K, or click-through-rate (CTR) increase). Note that this change can be positive or negative, and thus response variables can be defined properly to address this nature. In an alternative embodiment, multiple single-objective models can be used, one using liquidity and the other using CTR as the response.
- CTR click-through-rate
- FIG. 5 is a block diagram illustrating training of machine learned models in a contextual profile data requester 310 in accordance with an example embodiment.
- a training component 500 sample member profiles 502 , sample member activity and behavior information 504 , and and/or sample social graphs 506 are fed to a feature extractor 508 , which acts to extract curated features 510 - 514 from the sample member profiles 502 , sample member activity and behavior information 504 , and and/or sample social graphs 506 . Different features 510 - 514 may be extracted depending upon the context.
- the curated features 510 are then used as input to a first machine learning, algorithm 516 to train, with sample context positivity labels 518 (if a supervised machine learning algorithm is used), a first machine learned model 520 to generate an indication as to whether or not the user's contextual experience was positive.
- the curated features 512 are then used as input to a second machine learning algorithm 522 to train, with sample field value labels 524 (if a supervised machine learning algorithm is used), a second machine learned model 525 to generate an indication as to the value of a missing field value in a member profile.
- the curated features 514 are then used as input to a third machine learning algorithm 528 to train, with sample edit propensity labels 530 (if a supervised machine learning algorithm is used), a third machine learned model 532 to generate an indication as to the user's likelihood to edit a field in the user's profile if prompted.
- all of the information retrieved from the sample member profiles 502 , sample member activity and behavior information 504 , and sample social graphs 506 , and used to generate features 512 for use with the second machine learning algorithm 522 may be selected only from certain member cohorts. In one example embodiment, this may include only cohorts with members who have made at least one profile edit within the last fixed period of time (e.g., 30 days). For each edit, the day of edit D may be determined. From tracking data, various metrics such as impressions, invitations, and click through rate may be obtained for two different time intervals around the day of edit D, such as one interval being within a week before D and the other interval being within a week after D. The delta between these two intervals may be computed and transformed if necessary.
- FIG. 6 is a flow diagram illustrating a method 600 of training a first, second, and third machine learned model in accordance with an example embodiment. It should be noted that this method 600 may be modified for embodiments where only one or two machine learned models are trained by eliminating some of the operations.
- a social networking service context is identified.
- the context indicates a portion of the service in which certain results are presented to a user, such as a People You May Know section, feed section, and job results section.
- information from sample member profiles, sample social graphs, and/or sample member usage and activity information relevant to the context is obtained.
- a first set of features relevant to the first machine learned model is calculated from the information obtained in operation 604 .
- the first set of features is passed to a first machine learning algorithm along with sample context positivity labels in order to train the first machine learned model.
- a second set of features relevant to the second machine learned model is calculated from the information obtained in operation 604 .
- the second set of features is passed to a second machine learning algorithm along with sample field value labels in order to train the second machine learned model.
- a third set of features relevant to the third machine learned model is calculated from the information obtained in operation 604 .
- the third set of features is passed to a third machine learning algorithm along with sample edit propensity labels in order to train the third machine learned model.
- FIG. 7 is a flow diagram illustrating a method 700 for eliciting an edit to a social networking profile in accordance with an example embodiment.
- one or more operations initiated by a user are received via a user interface of a computer system.
- the one or more operations are performed on a social networking service to generate a first set of one or more results in a particular context of the social networking service.
- at least a portion of the first set of one or more results is displayed to the user via the user interface.
- a first machine learned model corresponding to the particular context is obtained, the first machine learned model trained via a first machine learning algorithm to output an indication of whether the user is having a positive experience with the first set of one or more results for the particular context.
- the context and an identification of the user are passed to the first machine learned model to output an indication of whether or not the user is having a positive experience with the first set of one or more results for the particular context.
- a second and third machine learned model corresponding to the particular context are obtained, the second machine learned model trained via a second machine learning algorithm to output an indication of the importance of a social networking profile field to obtaining results in the particular context, and the third machine learned model trained via a third machine learning algorithm to output a propensity of the user to edit a social networking profile field if requested.
- one or more missing fields in a social networking profile for the user are identified.
- a loop is then begun for each of one or more of the one or more missing fields.
- the field and the identification of the user are passed through the second and third machine learned models.
- the outputs of the first and second machine learned model are combined.
- the user is prompted to add information for the identified one or more top missing profile fields.
- a second set of one or more results is generated in the particular context.
- at least a portion of the second set of one or more results is displayed to the user via the user interface.
- FIG. 8 is a block diagram 800 illustrating an architecture of software 802 , which can be installed on any one or more of the devices described above.
- FIG. 8 is merely a non-limiting example of a software architecture, and it will be appreciated that many other architectures can be implemented to facilitate the functionality described herein.
- the software 802 is implemented by hardware such as a machine 900 of FIG. 9 that includes processors 910 , memory 930 , and I/O components 950 .
- the software 802 can be conceptualized as a stack of layers where each layer may provide a particular functionality.
- the software 802 includes layers such as an operating system 804 , libraries 806 , frameworks 808 , and applications 810 .
- the applications 810 invoke application programming interface (API) calls 812 through the software stack and receive messages 814 in response to the API calls 812 , consistent with some embodiments.
- API application programming interface
- the operating system 804 manages hardware resources and provides common services.
- the operating system 804 includes, for example, a kernel 820 , services 822 , and drivers 824 .
- the kernel 820 acts as an abstraction layer between the hardware and the other software layers, consistent with some embodiments.
- the kernel 820 provides memory management, processor management (e.g., scheduling), component management, networking, and security settings, among other functionality.
- the services 822 can provide other common services for the other software layers.
- the drivers 824 are responsible for controlling or interfacing with the underlying hardware, according to some embodiments.
- the drivers 824 can include display drivers, camera drivers, BLUETOOTH® or BLUETOOTH® Low Energy drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), WI-FI® drivers, audio drivers, power management drivers, and so forth.
- USB Universal Serial Bus
- the libraries 806 provide a low-level common infrastructure utilized by the applications 810 .
- the libraries 806 can include system libraries 830 (e.g., C standard library) that can provide functions such as memory allocation functions, string manipulation functions, mathematic functions, and the like.
- the libraries 806 can include API libraries 832 such as media libraries (e.g., libraries to support presentation and manipulation of various media formats such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG), or Portable Network Graphics (PNG)), graphics libraries (e.g., an OpenGL framework used to render in two dimensions (2D) and three dimensions (3D) in a graphic content on a display), database libraries (e.g., SQLite to provide various relational database functions), web libraries (e.g., WebKit to provide web browsing functionality), and the like.
- the libraries 806 can also include a wide variety of other libraries 834 to provide many other APIs to the applications 810 .
- the frameworks 808 provide a high-level common infrastructure that can be utilized by the applications 810 , according to some embodiments.
- the frameworks 808 provide various graphic, user interface (GUI) functions, high-level resource management, high-level location services, and so forth.
- GUI graphic, user interface
- the frameworks 808 can provide a broad spectrum of other APIs that can be utilized by the applications 810 , some of which may be specific to a particular operating system or platform.
- the applications 810 include a home application 850 , a contacts application 852 , a browser application 854 , a book reader application 856 , a location application 858 , a media application 860 , a messaging application 862 , a game application 864 , and a broad assortment of other applications, such as a third-party application 866 .
- the applications 810 are programs that execute functions defined in the programs.
- Various programming languages can be employed to create one or more of the applications 810 , structured in a variety of manners, such as object-oriented programming languages (e.g., Objective-C, Java, or procedural programming languages (e.g., C or assembly language).
- the third-party application 866 may be mobile software running on a mobile operating system such as IOSTM, ANDROIDTM, WINDOWS® Phone, or another mobile operating system.
- the third-party application 866 can invoke the API calls 812 provided by the operating system 804 to facilitate functionality described herein.
- FIG. 9 illustrates a diagrammatic representation of a machine 900 in the form of a computer system within which a set of instructions may be executed for causing the machine 900 to perform any one or more of the methodologies discussed herein, according to an example embodiment.
- FIG. 9 shows a diagrammatic representation of the machine 900 in the example form of a computer system, within which instructions 916 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 900 to perform any one or more of the methodologies discussed herein may be executed.
- the instructions 916 may cause the machine 900 to execute the method 700 of FIG. 7 .
- the instructions 916 may implement FIGS. 1-7 , and so forth.
- the instructions 916 transform the general, non-programmed machine 900 into a particular machine 900 programmed to carry out the described and illustrated functions in the manner described.
- the machine 900 operates as a standalone device or may be coupled networked) to other machines.
- the machine 900 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine 900 may comprise, but not be limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a PDA, an entertainment media system, a cellular telephone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 916 , sequentially or otherwise, that specify actions to be taken by the machine 900 .
- the term “machine” shall also be taken to include a collection of machines 900 that individually or jointly execute the instructions 916 to perform any one or more of the methodologies discussed herein.
- the machine 900 may include processors 910 , memory 930 , and I/O components 950 , which may be configured to communicate with each other such as via a bus 902 .
- the processors 910 e.g., a Central Processing Unit (CPU), a Reduced Instruction Set Computing (RISC) processor, a Complex Instruction Set Computing (CISC) processor, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), an ASIC, a Radio-Frequency Integrated Circuit (RFIC), another processor, or any suitable combination thereof
- the processors 910 may include, for example, a processor 912 and a processor 914 that may execute the instructions 916 .
- processor is intended to include multi-core processors that may comprise two or more independent processors (sometimes referred to as “cores”) that may execute instructions 916 contemporaneously.
- FIG. 9 shows multiple processors 910
- the machine 900 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiples cores, or any combination thereof.
- the memory 930 may include a main memory 932 , a static memory 934 , and a storage unit 936 , both accessible to the processors 910 such as via the bus 902 .
- the main memory 930 , the static memory 934 , and storage unit 936 store the instructions 916 embodying any one or more of the methodologies or functions described herein.
- the instructions 916 may also reside, completely or partially, within the main memory 932 , within the static memory 934 , within the storage unit 936 , within at least one of the processors 910 (e.g., within the processor's cache memory), or any suitable combination thereof, during execution thereof by the machine 900 .
- the I/O components 950 may include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on.
- the specific I/O components 950 that are included in a particular machine will depend on the type of machine. For example, portable machines such as mobile phones will likely include a touch input device or other such input mechanisms, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I/O components 950 may include many other components that are not shown in FIG. 9 .
- the I/O components 950 are grouped according to functionality merely for simplifying the following discussion and the grouping is in no way limiting. In various example embodiments, the I/O components 950 may include output components 952 and input components 954 .
- the output components 952 may include visual components (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth.
- a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)
- acoustic components e.g., speakers
- haptic components e.g., a vibratory motor, resistance mechanisms
- the input components 954 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or another pointing instrument), tactile input components (e.g., a physical button, a touch screen that provides location and/or force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
- alphanumeric input components e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components
- point-based input components e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or another pointing instrument
- tactile input components e.g., a physical button,
- the I/O components 950 may include biometric components 956 , motion components 958 , environmental components 960 , or position components 962 , among a wide array of other components.
- the biometric components 956 may include components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram-based identification), and the like.
- the motion components 958 may include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g., gyroscope), and so forth.
- the environmental components 960 may include, for example, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detection concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that may provide indications, measurements, or signals corresponding to a surrounding physical environment.
- illumination sensor components e.g., photometer
- temperature sensor components e.g., one or more thermometers that detect ambient temperature
- humidity sensor components e.g., pressure sensor components (e.g., barometer)
- the position components 962 may include location sensor components (e.g., a GPS receiver component), altitude sensor components (e.g., altimeters or barometers that detect air pressure from which altitude may be derived), orientation sensor components (e.g., magnetometers), and the like.
- location sensor components e.g., a GPS receiver component
- altitude sensor components e.g., altimeters or barometers that detect air pressure from which altitude may be derived
- orientation sensor components e.g., magnetometers
- the I/O components 950 may include communication components 964 operable to couple the machine 900 to a network 980 or devices 990 via a coupling 982 and a coupling 992 , respectively.
- the communication components 964 may include a network interface component or another suitable device to interface with the network 980 .
- the communication components 964 may include wired communication components, wireless communication components, cellular communication components, Near Field Communication (NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fi® components, and other communication components to provide communication via other modalities.
- the devices 970 may be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a USB).
- the communication components 964 may detect identifiers or include components operable to detect identifiers.
- the communication components 964 may include Radio Frequency Identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals).
- RFID Radio Frequency Identification
- NFC smart tag detection components e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes
- RFID Radio Fre
- IP Internet Protocol
- Wi-Fi® Wireless Fidelity
- NFC beacon a variety of information may be derived via the communication components 964 , such as location via Internet Protocol (IP) geolocation, location via Wi-Fi® signal triangulation, location via detecting an NFC beacon signal that may indicate a particular location, and so forth.
- IP Internet Protocol
- the various memories may store one or more sets of instructions and data structures (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. These instructions (e.g., the instructions 916 ), when executed by processor(s) 910 , cause various operations to implement the disclosed embodiments.
- machine-storage medium As used herein, the terms “machine-storage medium,” “device-storage medium,” “computer-storage medium” mean the same thing and may be used interchangeably in this disclosure.
- the terms refer to a single or multiple storage devices and/or media (e.g., a centralized or distributed database, and/or associated caches and servers) that store executable instructions and/or data.
- the terms shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media, including memory internal or external to processors.
- machine-storage media examples include non-volatile memory, including by way of example semiconductor memory devices, e.g., erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGA, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- semiconductor memory devices e.g., erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGA, and flash memory devices
- magnetic disks such as internal hard disks and removable disks
- magneto-optical disks magneto-optical disks
- CD-ROM and DVD-ROM disks examples include CD-ROM and DVD-ROM disks.
- one or more portions of the network 980 may be an ad hoc network, an intranet, as extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, the Internet, a portion of the Internet, a portion of the PSTN, a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, a Wi-Fi® network, another type of network, or a combination of two or more such networks.
- POTS plain old telephone service
- the network 980 or a portion of the network 980 may include a wireless or cellular network
- the coupling 982 may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or another type of cellular or wireless coupling.
- CDMA Code Division Multiple Access
- GSM Global System for Mobile communications
- the coupling 982 may implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (1 ⁇ RTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, third Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standard, others defined by various standard-setting organizations, other long range protocols, or other data transfer technology.
- RTT Single Carrier Radio Transmission Technology
- GPRS General Packet Radio Service
- EDGE Enhanced Data rates for GSM Evolution
- 3GPP Third Generation Partnership Project
- 4G fourth generation wireless (4G) networks
- Universal Mobile Telecommunications System (UMTS) Universal Mobile Telecommunications System
- HSPA High Speed Packet Access
- WiMAX Worldwide Interoperability for Microwave Access
- the instructions 916 may be transmitted or received over the network 980 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components 964 ) and utilizing any one of a number of well-known transfer protocols (e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions 916 may be transmitted or received using a transmission medium via the coupling 992 (e.g., a peer-to-peer coupling) to the devices 990 .
- the terms “transmission medium” and “signal medium” mean the same thing and may be used interchangeably in this disclosure.
- transmission medium and “signal medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying the instructions 916 for execution by the machine 900 , and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
- transmission medium and “signal medium” shall be taken to include any form of modulated data signal, carrier wave, and so forth.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a matter as to encode information in the signal.
- machine-readable medium means the same thing and may be used interchangeably in this disclosure.
- the terms are defined to include both machine-storage media and transmission media.
- the terms include both storage devices/media and carrier waves/modulated data signals.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
Abstract
Description
Let δu,f Liquidity=Liquidity(u,D+3,D+10)−Liquidity(u,d−7,D)
-
- wherein Liquidity(u,⋅,⋅) is an aggregate function (avg or sum) on the number of total recommendations for user u. The 2nd and 3rd arguments represent start and end date, respectively.
Let δu,f CTR =CTR(u,D+3,D+10)−CTR(u,d−7,D)
Let y uf=0.5·δu,f Liquidity+0.5·δu,f CTR.
- wherein Liquidity(u,⋅,⋅) is an aggregate function (avg or sum) on the number of total recommendations for user u. The 2nd and 3rd arguments represent start and end date, respectively.
EditValue(u,f)=FVS(u,f)*PoE(u,f)
where FVS is a field value score reflecting the output of the second machine learned
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/825,657 US10678997B2 (en) | 2017-10-05 | 2017-11-29 | Machine learned models for contextual editing of social networking profiles |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762568736P | 2017-10-05 | 2017-10-05 | |
US15/825,657 US10678997B2 (en) | 2017-10-05 | 2017-11-29 | Machine learned models for contextual editing of social networking profiles |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190108209A1 US20190108209A1 (en) | 2019-04-11 |
US10678997B2 true US10678997B2 (en) | 2020-06-09 |
Family
ID=65993928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/825,657 Active 2038-03-25 US10678997B2 (en) | 2017-10-05 | 2017-11-29 | Machine learned models for contextual editing of social networking profiles |
Country Status (1)
Country | Link |
---|---|
US (1) | US10678997B2 (en) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11017268B2 (en) * | 2019-06-21 | 2021-05-25 | Dell Products L.P. | Machine learning system for identifying potential escalation of customer service requests |
US11403069B2 (en) | 2017-07-24 | 2022-08-02 | Tesla, Inc. | Accelerated mathematical engine |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11487288B2 (en) | 2017-03-23 | 2022-11-01 | Tesla, Inc. | Data synthesis for autonomous control systems |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11665108B2 (en) | 2018-10-25 | 2023-05-30 | Tesla, Inc. | QoS manager for system on a chip communications |
US11681649B2 (en) | 2017-07-24 | 2023-06-20 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11734562B2 (en) | 2018-06-20 | 2023-08-22 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11748620B2 (en) | 2019-02-01 | 2023-09-05 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11790664B2 (en) | 2019-02-19 | 2023-10-17 | Tesla, Inc. | Estimating object properties using visual image data |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11841434B2 (en) | 2018-07-20 | 2023-12-12 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11893774B2 (en) | 2018-10-11 | 2024-02-06 | Tesla, Inc. | Systems and methods for training machine models with augmented data |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US12014553B2 (en) | 2019-02-01 | 2024-06-18 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US12307350B2 (en) | 2018-01-04 | 2025-05-20 | Tesla, Inc. | Systems and methods for hardware-based pooling |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11171941B2 (en) | 2015-02-24 | 2021-11-09 | Nelson A. Cicchitto | Mobile device enabled desktop tethered and tetherless authentication |
US11122034B2 (en) | 2015-02-24 | 2021-09-14 | Nelson A. Cicchitto | Method and apparatus for an identity assurance score with ties to an ID-less and password-less authentication system |
US10848485B2 (en) * | 2015-02-24 | 2020-11-24 | Nelson Cicchitto | Method and apparatus for a social network score system communicably connected to an ID-less and password-less authentication system |
US20230105039A1 (en) * | 2021-10-06 | 2023-04-06 | Sap Se | Network benchmarking architecture |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011224A1 (en) * | 1999-10-22 | 2007-01-11 | Jesus Mena | Real-time Internet data mining system and method for aggregating, routing, enhancing, preparing, and analyzing web databases |
US8001056B2 (en) * | 2008-09-19 | 2011-08-16 | Yahoo! Inc. | Progressive capture of prospect information for user profiles |
US8812690B1 (en) * | 2013-07-22 | 2014-08-19 | Linkedin Corporation | Method and system to provide reputation scores for a social network member |
US8825785B1 (en) * | 2013-03-28 | 2014-09-02 | Linkedin Corporation | Connection invitation ordering |
US20150066567A1 (en) * | 2013-08-30 | 2015-03-05 | Sap Ag | News mining for enterprise resource planning |
US20150278836A1 (en) * | 2014-03-25 | 2015-10-01 | Linkedin Corporation | Method and system to determine member profiles for off-line targeting |
US9245230B2 (en) * | 2007-11-02 | 2016-01-26 | Ebay Inc. | Inferring user preferences from an internet based social interactive construct |
US9275132B2 (en) * | 2014-05-12 | 2016-03-01 | Diffeo, Inc. | Entity-centric knowledge discovery |
US9569735B1 (en) * | 2015-12-19 | 2017-02-14 | Linkedin Corporation | Member communication reply score calculation |
US20170063740A1 (en) * | 2015-08-25 | 2017-03-02 | Linkedlin Corporation | Profile completion score |
US20170091692A1 (en) * | 2015-09-30 | 2017-03-30 | Linkedln Corporation | Inferring attributes of organizations using member graph |
US20170185602A1 (en) * | 2015-12-28 | 2017-06-29 | Yandex Europe Ag | System and method for ranking search engine results |
US20180374105A1 (en) * | 2017-05-26 | 2018-12-27 | Get Attached, Inc. | Leveraging an intermediate machine learning analysis |
US20190050813A1 (en) * | 2017-08-08 | 2019-02-14 | Linkedln Corporation | Context aware dynamic candidate pool retrieval and ranking |
US20190074082A1 (en) * | 2017-08-11 | 2019-03-07 | Elucid Bioimaging Inc. | Quantitative medical imaging reporting |
US20190095946A1 (en) * | 2017-09-25 | 2019-03-28 | Get Attached, Inc. | Automatically analyzing media using a machine learning model trained on user engagement information |
US20190130037A1 (en) * | 2017-10-30 | 2019-05-02 | Microsoft Technology Licensing, Llc | Factored model for search results and communications based on search results |
-
2017
- 2017-11-29 US US15/825,657 patent/US10678997B2/en active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011224A1 (en) * | 1999-10-22 | 2007-01-11 | Jesus Mena | Real-time Internet data mining system and method for aggregating, routing, enhancing, preparing, and analyzing web databases |
US9245230B2 (en) * | 2007-11-02 | 2016-01-26 | Ebay Inc. | Inferring user preferences from an internet based social interactive construct |
US8001056B2 (en) * | 2008-09-19 | 2011-08-16 | Yahoo! Inc. | Progressive capture of prospect information for user profiles |
US8825785B1 (en) * | 2013-03-28 | 2014-09-02 | Linkedin Corporation | Connection invitation ordering |
US8812690B1 (en) * | 2013-07-22 | 2014-08-19 | Linkedin Corporation | Method and system to provide reputation scores for a social network member |
US20150066567A1 (en) * | 2013-08-30 | 2015-03-05 | Sap Ag | News mining for enterprise resource planning |
US20150278836A1 (en) * | 2014-03-25 | 2015-10-01 | Linkedin Corporation | Method and system to determine member profiles for off-line targeting |
US9275132B2 (en) * | 2014-05-12 | 2016-03-01 | Diffeo, Inc. | Entity-centric knowledge discovery |
US20170063740A1 (en) * | 2015-08-25 | 2017-03-02 | Linkedlin Corporation | Profile completion score |
US20170091692A1 (en) * | 2015-09-30 | 2017-03-30 | Linkedln Corporation | Inferring attributes of organizations using member graph |
US9569735B1 (en) * | 2015-12-19 | 2017-02-14 | Linkedin Corporation | Member communication reply score calculation |
US20170185602A1 (en) * | 2015-12-28 | 2017-06-29 | Yandex Europe Ag | System and method for ranking search engine results |
US20180374105A1 (en) * | 2017-05-26 | 2018-12-27 | Get Attached, Inc. | Leveraging an intermediate machine learning analysis |
US20190050813A1 (en) * | 2017-08-08 | 2019-02-14 | Linkedln Corporation | Context aware dynamic candidate pool retrieval and ranking |
US20190074082A1 (en) * | 2017-08-11 | 2019-03-07 | Elucid Bioimaging Inc. | Quantitative medical imaging reporting |
US20190095946A1 (en) * | 2017-09-25 | 2019-03-28 | Get Attached, Inc. | Automatically analyzing media using a machine learning model trained on user engagement information |
US20190130037A1 (en) * | 2017-10-30 | 2019-05-02 | Microsoft Technology Licensing, Llc | Factored model for search results and communications based on search results |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11487288B2 (en) | 2017-03-23 | 2022-11-01 | Tesla, Inc. | Data synthesis for autonomous control systems |
US12020476B2 (en) | 2017-03-23 | 2024-06-25 | Tesla, Inc. | Data synthesis for autonomous control systems |
US12086097B2 (en) | 2017-07-24 | 2024-09-10 | Tesla, Inc. | Vector computational unit |
US11403069B2 (en) | 2017-07-24 | 2022-08-02 | Tesla, Inc. | Accelerated mathematical engine |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11681649B2 (en) | 2017-07-24 | 2023-06-20 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US12216610B2 (en) | 2017-07-24 | 2025-02-04 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US12307350B2 (en) | 2018-01-04 | 2025-05-20 | Tesla, Inc. | Systems and methods for hardware-based pooling |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11797304B2 (en) | 2018-02-01 | 2023-10-24 | Tesla, Inc. | Instruction set architecture for a vector computational unit |
US11734562B2 (en) | 2018-06-20 | 2023-08-22 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11841434B2 (en) | 2018-07-20 | 2023-12-12 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US12079723B2 (en) | 2018-07-26 | 2024-09-03 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
US11983630B2 (en) | 2018-09-03 | 2024-05-14 | Tesla, Inc. | Neural networks for embedded devices |
US11893774B2 (en) | 2018-10-11 | 2024-02-06 | Tesla, Inc. | Systems and methods for training machine models with augmented data |
US11665108B2 (en) | 2018-10-25 | 2023-05-30 | Tesla, Inc. | QoS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US12198396B2 (en) | 2018-12-04 | 2025-01-14 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11908171B2 (en) | 2018-12-04 | 2024-02-20 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US12136030B2 (en) | 2018-12-27 | 2024-11-05 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US12014553B2 (en) | 2019-02-01 | 2024-06-18 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US12223428B2 (en) | 2019-02-01 | 2025-02-11 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11748620B2 (en) | 2019-02-01 | 2023-09-05 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US12164310B2 (en) | 2019-02-11 | 2024-12-10 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US11790664B2 (en) | 2019-02-19 | 2023-10-17 | Tesla, Inc. | Estimating object properties using visual image data |
US12236689B2 (en) | 2019-02-19 | 2025-02-25 | Tesla, Inc. | Estimating object properties using visual image data |
US11017268B2 (en) * | 2019-06-21 | 2021-05-25 | Dell Products L.P. | Machine learning system for identifying potential escalation of customer service requests |
Also Published As
Publication number | Publication date |
---|---|
US20190108209A1 (en) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10678997B2 (en) | Machine learned models for contextual editing of social networking profiles | |
US10990899B2 (en) | Deep and wide machine learned model for job recommendation | |
US11250340B2 (en) | Feature contributors and influencers in machine learned predictive models | |
US10565562B2 (en) | Hashing query and job posting features for improved machine learning model performance | |
US11436522B2 (en) | Joint representation learning of standardized entities and queries | |
US10860670B2 (en) | Factored model for search results and communications based on search results | |
US11204968B2 (en) | Embedding layer in neural network for ranking candidates | |
US10148777B2 (en) | Entity based search retrieval and ranking | |
US11204973B2 (en) | Two-stage training with non-randomized and randomized data | |
US20200401643A1 (en) | Position debiasing using inverse propensity weight in machine-learned model | |
US11514115B2 (en) | Feed optimization | |
US10956515B2 (en) | Smart suggestions personalization with GLMix | |
US11397742B2 (en) | Rescaling layer in neural network | |
US11151661B2 (en) | Feed actor optimization | |
US10949480B2 (en) | Personalized per-member model in feed | |
US10572835B2 (en) | Machine-learning algorithm for talent peer determinations | |
US20240330739A1 (en) | Machine learning framework for taxonomy graph construction | |
US11797619B2 (en) | Click intention machine learned models | |
US11194877B2 (en) | Personalized model threshold | |
US20220391671A1 (en) | Dynamic utility functions for inference in machine-learned models | |
US20190286746A1 (en) | Search Engine Quality Evaluation Via Replaying Search Queries | |
US11263563B1 (en) | Cohort-based generalized linear mixed effect model | |
US10956524B2 (en) | Joint optimization of notification and feed | |
US11861295B2 (en) | Encoding a job posting as an embedding using a graph neural network | |
US20190362013A1 (en) | Automated sourcing user interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AHUJA, KARAN ASHOK;AYENEW EJIGOU, BEFEKADU;LIANG, NINGFENG;AND OTHERS;SIGNING DATES FROM 20180115 TO 20180409;REEL/FRAME:045966/0879 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |