Systems, methods, and computer-readable media for inferring relevance between member accounts and job postings
By introducing the Probability of Confirmed Hire (pCH) metric into social network services, combined with the quantity and quality of applicants, the problem of difficulty in inferring the correlation between member accounts and job postings in the existing technology is solved, achieving more accurate candidate screening and hiring. predict.
Patent Information
- Application Number
- CN201880047438.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-07-26
- Filing Date
- 2018-07-25
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2038-07-25
AI Technical Summary
It is difficult to effectively infer the correlation between member accounts and job posting in social network services, resulting in a lack of accurate candidate screening and employment predictions in the recruitment process.
A metric that represents the Probability of Confirmed Hiring (pCH) for a job posting, combining applicant quantity, applicant quality, and job attributes to evaluate a candidate's fit with the job.
The more accurate assessment of the quality and position matching of the candidate has been realized, the efficiency and accuracy in the recruitment process can be improved, and the possibility of confirming employment can be more effectively predicted and improved.
Smart Images

Figure CN110914846B_ABST
Abstract
Description
[0001] Priority claim
[0002] This patent application claims the benefit of priority to U.S. patent application No. 15 / 660,779 (Attorney Docket No.: 3080.156US1), filed on July 26, 2017, entitled “JOB APPLICANT PROBBILITY OF CONFIRMED HIRE,” the entirety of which is hereby incorporated by reference. Technical Field
[0003] The present disclosure relates generally to data processing systems. More specifically, the present disclosure relates to methods, systems, and computer program products for inferring correlations between member account(s) and job posting(s). Background Art
[0004] A social networking service is a computer-based or web-based application that enables users to link or connect with people for the purpose of sharing information with each other. Some social networking services are intended to enable friends and family to communicate with each other, while other social networking services are specifically targeted at business users, with the purpose of enabling the sharing of business information. For the purposes of this disclosure, the terms "social network" and "social networking service" are used broadly, and are intended to cover services that are intended to connect friends and family (often referred to simply as "social networks"), as well as services that are specifically targeted at enabling business people to connect and share business information (also commonly referred to as "social networks", but sometimes also referred to as "business networks").
[0005] With many social networking services, members are prompted to provide various personal information, which can be displayed on the member's personal web page. Such information is often referred to as personal profile information, or simply "profile information", and when displayed together, is often referred to as the member's profile. For example, in the case of some of the many social networking services used today, the personal information that is often required and displayed includes the member's age, gender, interests, contact information, hometown, address, the name of the member's spouse and / or family members, etc. For some social networking services, such as some business network services, the member's personal information may include information that is often included in a career establishment or resume, such as information about the individual's education, work experience, skills, professional organizations, etc. With some social networking services, by default, the public can view the member's personal profile, or alternatively, the member can specify that only some parts of the profile are disclosed by default. Therefore, many social networking services serve as a kind of directory of people to be searched and browsed. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:
[0007] Figure 1 is a block diagram illustrating a client-server system according to various embodiments;
[0008] Figure 2 is a block diagram of functional components of a professional social network according to various embodiments;
[0009] Figure 3 is a flow chart illustrating an exemplary method according to various embodiments;
[0010] Figure 4 A schematic diagram illustrating an exemplary data flow in a candidate predictor engine according to various embodiments;
[0011] Figure 5 illustrates a block diagram of a job candidate predictor decision tree for matching skill profiles according to various embodiments;
[0012] Figure 6 illustrates a block diagram of a job candidate predictor decision tree for job industry features according to various embodiments;
[0013] Figure 7 is a flow chart illustrating an exemplary method for determining age difference as a comparison feature in a subset of job and candidate features according to various embodiments;
[0014] Figure 8 is a block diagram illustrating exemplary components of a candidate predictor engine according to some embodiments;
[0015] Fig. 9 is a graph depicting a correlation between applicant quality (AQ) scores and probability of confirmed hire (pCH) according to some embodiments;
[0016] Fig.10 illustrates the weighted AQ scores of applicants for a given job, and the job level pCH for that job based on the total weighted AQ scores for the applicants, according to some embodiments;
[0017] Fig.11 illustrates a final weighted AQ score for an applicant for a given job based on the AQ score and the member level pCH weights, and a job level pCH for the job based on the final total weighted AQ score for the applicant, according to some embodiments;
[0018] Fig.12 A graph depicting correlations between job-level pCH scores and dimensions for organizational size, channel, and application path is provided according to some embodiments;
[0019] Fig.13 is a graph depicting correlations between pCH percentage and likelihood of hire, percentage of jobs with confirmed hires, and average predicted pCH over time according to some embodiments;
[0020] Fig.14 is a graph depicting trends for average AQ scores and job applications according to some embodiments;
[0021] Fig.15 is a graph depicting pCH distribution across jobs with different numbers of applicants according to some embodiments;
[0022] Fig.16 A graph depicting pCH weights for quality scores and weighted quality scores according to some embodiments is provided;
[0023] Fig.17 is a graph depicting a correlation between pCH values and total work level weighted quality scores according to some embodiments;
[0024] Fig.18 is a graph depicting the correlation between member-level pCH values and overall quality scores according to some embodiments;
[0025] Fig.19 is a graph depicting trends in applicant quality scores according to some embodiments;
[0026] Fig. 20 A chart depicting year-over-year (Y / Y) comparison of trends for applicant quality scores is provided according to some embodiments;
[0027] Fig.21 is a block diagram illustrating a representative software architecture that may be used in conjunction with the various hardware architectures described herein; and
[0028] Fig. 22 is a block diagram illustrating components of a machine that can read instructions from a machine-readable medium (eg, a machine-readable storage medium) and perform any one or more of the methodologies discussed herein, according to some exemplary embodiments. DETAILED DESCRIPTION
[0029] The present disclosure describes methods and systems for predicting the relevance of target social networking service member accounts to job postings (e.g., announcements of positions that an organization is seeking to fill). The methods and systems use a metric that assigns to each job a score that represents the probability that an announcement for that job will result in a confirmed hire. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of various aspects of different embodiments of the inventive subject matter. However, it will be apparent to those skilled in the art that the inventive subject matter may be practiced without all of these specific details.
[0030] As used herein, the term "probability of confirmed hire" (pCH) generally refers to a metric that represents the likelihood that a given job will be filled. In an embodiment, the pCH metric combines the effects of: 1) the number of applicants, 2) the quality of applicants, and 3) certain job attributes (e.g., organization / company size, application pipeline, and application path). For applicant quality, a model is used to predict the likelihood that a given professional social networking service member is a "high-quality" candidate for a given job posting. The training data for the model includes historical, actual hiring data (e.g., previous decisions on whether to extend (one or more) job opportunities to social networking service members).
[0031] A system, a machine-readable storage medium storing instructions, and a computer-implemented method are described herein for analyzing candidate characteristics and job characteristics to determine the likelihood that a candidate will be hired to fill a job. In an embodiment, the system, instructions, and method assign pCH to a job, where pCH is equal to the probability that the posting for the job will result in a confirmed hire. The system, instructions, and method achieve this by combining the impact of the number of applicants (e.g., the number of applications submitted in response to a particular job posting), the quality of the applicants, and certain attributes of the job. In some embodiments, the applicant quality (AQ) model is used as a starting point to determine the applicant quality. Exemplary job attributes include the size of the organization trying to fill the job (e.g., small, medium, or large), the application channel, and the application path. In some embodiments, when an applicant applies via the organization's website, the application channel is an online channel; and when an applicant applies via a professional social networking service (e.g., via a recruitment tool hosted by a professional social networking service), the application channel is a live channel. According to some embodiments, when an applicant applies via a professional social networking service, the application path is an on-site path; and when an applicant applies from outside of the professional social networking service, the application path is an off-site path (e.g., directly via the organization's website).
[0032] According to some embodiments, the pCH score is a percentage that represents the probability of a confirmed hire for a given job posting. In some embodiments, the pCH score is highly correlated with quality applications (i.e., candidates and applicants for jobs with relatively high AQ scores). By assigning pCH scores, embodiments enable users (such as, for example, recruiters and employers using professional social networking services) to evaluate applicant distribution.
[0033] Embodiments advantageously improve upon prior art and recruiting tools that rely on binary metrics, which are limited to classifying job applicants as successful or not. For example, in contrast to the non-binary pCH metrics disclosed herein, existing binary metrics are unable to show hiring gains due to increased application volume (e.g., within 0-25 additional applicants per job listing). Conventional binary metrics also do not incorporate any applicant quality signals or measurements, such as, for example, AQ scores that contribute to pCH scores. The pCH metrics described herein further improve upon conventional binary metrics because such binary metrics are inflexible across different types of work. For example, unlike binary metrics, pCH scores are flexible across different types of job applications (e.g., on-site applications and off-site applications). In addition, for example, unlike binary metrics, pCH scores are flexible across different organizational sizes (e.g., small, medium, and large companies trying to fill positions).
[0034] Embodiments employ an AQ model that uses candidate management events as a source of relative quality of applicants who specify a job posting. In an exemplary embodiment, the applicant is a member of a professional social networking service and can access the job posting from the professional social networking service. In some embodiments, the AQ model assigns a positive AQ score to the applicant in response to certain events indicating that the applicant is a desirable candidate for the job listing, and the AQ model assigns a negative AQ score in response to other events indicating that the applicant is not well suited for the job listing. For example, the AQ model increases the applicant's AQ score in response to determining that a job publisher or recruiter sends an email to the applicant via a professional social networking service. Similarly, for example, the AQ model increases the applicant's AQ score in response to determining that a job publisher or recruiter marks the applicant as "suitable" for a job listing. Conversely, the AQ model decreases the applicant's AQ score in response to determining that a job publisher or recruiter marks the applicant as "unsuitable" for a job listing. Embodiments utilize AQ scores to determine weights for pCH scores.
[0035] In some embodiments, the AQ model uses standardized features from member profiles (e.g., profile attributes of profiles of members of a professional social networking service) and standardized features from job descriptions to train a random forest model. Examples of job features include function, industry, geographic location of the job (e.g., country, state, province, region, or city), and organizational size (e.g., small, medium, or large company size). Examples of member profile features include qualifications (e.g., years of experience), skills, job title / position, and geographic location of the member (e.g., country of residence or nationality, work visa country, state of residence, province of residence, region of residence, or city of residence).
[0036] In some embodiments, the standardized job and member profile characteristics are used to create mappings between jobs and members. That is, a mapping can be created for each job-member pair based on the standardized job characteristics and the standardized member profile characteristics. Job posters can then review these mappings to easily identify members of the professional social networking service that are likely to be suitable for the job posting.
[0037] According to certain embodiments, the method takes advantage of the fact that higher quality applicants (e.g., applicants with relatively higher AQ scores) will be more likely to become confirmed hires. The exemplary method determines a weighted AQ score for a job / applicant pair. For example, the method includes assigning an AQ score to each job / applicant pair in a set of applicants posted for a given job, wherein the AQ score is based on the AQ model described herein. As described in Fig. 9 As shown in, as discussed below, there is a strong correlation between higher AQ scores for job postings and the likelihood of confirmed employment (i.e., job level pCH). That is, the performance of a job is related to the number of qualified applicants for it, and the job level pCH is highly correlated with the number of applicants. In some embodiments, in order to combine the pCH improvement from the quality signal, a method assigns a greater weight to applicants with higher quality scores. The probability of each job receiving a confirmed employment is also determined by the job level characteristics. That is, the job level characteristics affect the job level pCH. Examples of such job level characteristics include application channels, application paths, and organizational size (e.g., the size of the company that posted the job).
[0038] Certain embodiments prioritize three dimensions for setting pCH scores: organizational size (i.e., the size of the company posting the job); channel; and application path. For organizational size, an exemplary method avoids exaggerating the employment of large organizations (e.g., companies, government agencies, educational institutions, and other recruiting organizations). For channel, an embodiment sets the pCH score based on trends in historical data, which indicates that due to the large organizational / company size in on-site channel work, on-site channel work generally outperforms online channel work. For application path, higher pCH scores are generally set for organizations and companies that collect applications off-site (e.g., outside of a professional social networking service) rather than for organizations and companies that collect applications via a professional social networking service (e.g., via an application-click interface within a professional social networking service). This is to illustrate historical trends indicating that larger hiring organizations tend to collect off-site. By using three dimensions to set the pCH score instead of relying on just one dimension, the exemplary method avoids biases in the score distribution due to other dimensions. In this way, the pCH score set by combining the above three dimensions avoids biasing the pCH score in favor of one dimension. For example, combining multiple dimensions to set the pCH score avoids the problem of biasing the pCH score in favor of larger tissues.
[0039] In an exemplary embodiment, the AQ model uses a candidate predictor engine ("CP engine") to assign AQ scores to job candidates. The CP engine instantiates (one or more) data structures modeled according to multiple job candidate predictor decision trees. The CP engine encodes data representing a job candidate context feature set based on (one or more) attributes of the target candidate account and (one or more) attributes of the job posting. The CP engine filters each corresponding feature from the job candidate context feature set through a job candidate predictor decision tree corresponding to the same job candidate context feature type as the corresponding feature. The CP engine generates a prediction output based on each result filtered by the job candidate predictor decision tree. The prediction output indicates the possibility that the target candidate account is qualified for the job posting. Then, the possibility is used to determine the total job level weighted score, which is calculated as the sum of the weighted AQ scores for the job / applicant pair. In an exemplary embodiment, the job level pCH can be expressed as a percentage based on the total job level weighted score.
[0040] In some embodiments, the CP engine utilizes a predictive model to predict whether a given target candidate account in a professional social networking service is relevant to a current job posting submitted by an employer account in the professional social networking service. That is, the CP engine builds a job applicant quality model to infer whether the attributes of a given job candidate account indicate that the given job candidate account is relevant to the attributes of a job posting submitted by an employer account. When it is inferred that the target candidate account is relevant to the job posting, the CP engine marks the target candidate account as a "high-quality job applicant." Thus, the CP engine assists the employer account in identifying the best (or highest-quality) potential job applicants for the current job posting without having to manually review only those professional social networking service member accounts that actually applied for the current job posting.
[0041] The CP engine can use various predictive modeling techniques to generate a job applicant quality model. For example, according to various exemplary embodiments, the CP engine constructs multiple job candidate predictor decision trees according to a random forest algorithm. The random forest algorithm can be used in an overall learning method for job candidate classification and prediction tasks. For example, the learning method can be a machine learning method that operates by constructing multiple decision trees during training and outputting the category of the model as the category of the individual job candidate predictor decision tree in the random forest (classification) or the average job candidate prediction (regression). The CP engine implements a random forest algorithm on recorded interaction data from a professional social networking service to learn branch labels for each branch of each job candidate predictor decision tree. Each job candidate predictor decision tree corresponds to a predefined feature of a job candidate context feature set. For example, a first job candidate predictor decision tree corresponds to a first type of feature in a job candidate context feature set, and a second job candidate predictor decision tree corresponds to a second type of feature in a job candidate context feature set.
[0042] The CP engine calculates the percentage of all decision tree results indicating whether the target candidate account is acceptable. If the percentage meets the threshold percentage, the CP engine infers that the target candidate account is qualified for the job posting.
[0043] It should be understood that various embodiments also include coded instructions that include operations for generating (one or more) user interfaces and various user interface elements. The user interfaces and various user interface elements can represent any of the following: operations, data, decision trees, predicted outputs, features, accounts, and work releases, as described herein. In addition, the user interfaces and various user interface elements are generated by the CP engine for display on a computing device, a server computing device, a mobile computing device, etc.
[0044] According to various exemplary embodiments, the CP engine may be used for both offline training (for generating, training, and improving job AQ models), online inference (for predicting whether a given job candidate account is relevant to a given job posting), and determining job-level pCH scores.
[0045] Figure 1 1 is a block diagram illustrating a client-server system 100 according to an exemplary embodiment. A networked system 102 provides server-side functionality to one or more clients via a network 104 (eg, the Internet or a wide area network (WAN)). Figure 1 For example, a web client 106 (eg, a browser) and an application client 108 are illustrated as running on respective client machines 110 and 112 .
[0046] Application programming interface (API) server 114 and web server 116 are coupled to and provide programming and web interfaces, respectively, to one or more application servers 118. Application servers 118 host one or more applications 120. Application servers 118 are in turn shown coupled to one or more database servers 124, which facilitate access to one or more databases 126. Figure 1 102, but it will be appreciated that in alternative embodiments, the application 120 may form part of a service separate and distinct from the networked system 102. In some embodiments, the application server 118 includes a candidate predictor (CP) engine (e.g., in Figure 2 However, it should be understood that the CP engine 206 can be implemented by any component(s) of the networked system 102. It should also be understood that a portion of the CP engine 206 can be implemented by any component(s) of the networked system 102.
[0047] In addition, despite the Figure 1 The system 100 shown in FIG. 1 employs a client-server architecture, but the present disclosure is of course not limited to such an architecture and may equally well be applied in, for example, a distributed or peer-to-peer architecture system. The various applications 120 may also be implemented as standalone software programs that do not necessarily have networking capabilities.
[0048] The network client 106 accesses various applications 120 via a network interface supported by the network server 116. Similarly, the program client 108 accesses various services and functions provided by the application 120 via a program interface provided by the API server 114.
[0049] Figure 1Also illustrated is a third-party application 128 running on a third-party server computer 130 having programmatic access to the networked system 102 via a programmatic interface provided by the API server 114. For example, the third-party application 128 may utilize information obtained from the networked system 102 to 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 supported by an associated application of the networked system 102. In some embodiments, the networked system 102 may include a functional component of a professional social network.
[0050] In some embodiments, any website referred to herein may include online content presented on a variety of devices, including, but not limited to, desktop personal computers (PCs), laptop computers, and mobile devices (e.g., tablet computers, smart phones, etc.). In this regard, a user may employ any of these devices to use features of the present disclosure. In some embodiments, a user may use a mobile application on a mobile device (e.g., any of the client machines 110, 112 and third-party server machines 130 may be a mobile device) to access and browse online content, such as any online content described herein. A mobile server (e.g., API server 114) may communicate with the mobile application and application server 118 to make features of the present disclosure available on a mobile device.
[0051] Figure 2 is a block diagram illustrating functional components of a professional social network within the networking system 102 according to an exemplary embodiment. Specifically, Figure 2 is a block diagram illustrating functional components of a professional social networking service that can be hosted on social networking system 210. Figure 2 As shown in , the social networking system 210 can include a data processing module, referred to herein as a search engine 208, for generating and providing search results for a candidate search query or a job search query. In some embodiments, the search engine 208 can reside on Figure 1 However, other configurations are contemplated to be within the scope of the present disclosure.
[0052] As in Figure 2 As shown in , the professional social network can be based on a three-tier architecture, including a front-end layer 201, an application logic layer 203, and a data layer 205. In some embodiments, Figure 2 The modules and systems shown in the drawings represent a collection of executable software instructions and corresponding hardware (e.g., memory and processor) for running the instructions. In order to avoid obscuring the subject matter of the present invention with unnecessary detail, the following description is provided. Figure 2Various functional modules and systems that are not closely related to conveying an understanding of the subject matter of the present invention are omitted. However, those skilled in the art will readily recognize that various additional functional modules and systems may be used in conjunction with the present invention, such as in Figure 2 to facilitate additional functionality not specifically described herein. Figure 2 The various functional modules and systems described in the can reside on a single server computer, or can be distributed across multiple server computers in various arrangements. Figure 2 , the professional social network is depicted as a three-tier architecture, but the subject matter of the present invention is by no means limited to such an architecture. It is contemplated that other types of architectures are also within the scope of the present disclosure.
[0053] As in Figure 2 As shown in , in some embodiments, the front-end layer 201 includes a user interface module (e.g., a web server) 202 that receives requests and input from various client-computing devices and transmits appropriate responses to the requesting client device. For example, (one or more) user interface modules 202 can receive requests in the form of hypertext transfer protocol (HTTP) requests or other network-based API requests. Similarly, for example, the user interface module 202 can receive requests for AQ scores for job / applicant pairs and requests for the probability of confirmed employment (i.e., job level pCH) for posted jobs from client devices. Responses to such requests (e.g., AQ scores and job level pCH values) can be sent by the professional social network within the networked system 102 to the requesting client device for display by the client device. In addition, a member interaction detection module 213 can be provided to detect various interactions of members with the different applications 120, services, and content presented. As shown in Figure 2 As shown in , when a particular interaction is detected, the member interaction detection module 213 records the interaction (including the type of interaction and any metadata related to the interaction) in the member activity and behavior database 214.
[0054] In some embodiments, the application logic layer 203 may include a search engine 208 and various application server modules 204 that, in conjunction with the user interface module(s) 202, generate various user interfaces (e.g., web pages) with data retrieved from various data sources in the data layer 205. In some embodiments, individual application server modules 204 are used to implement functionality associated with various services and features of a professional social network. For example, the ability for an organization to establish a presence in a social graph of a social networking service, including the ability to establish a custom web page on behalf of the organization and to post messages or status updates on behalf of the organization, may be services implemented in separate application server modules 204. Similarly, various other applications or services available to members of a social networking service may be embodied in their own application server modules 204.
[0055] As in Figure 2 As shown in , data layer 205 may include several databases, such as a database for storing profile data 216, which includes both member profile attribute data and profile attribute data for various organizations. As shown, profile data 216 may include attribute data for organizations associated with members. Figure 2 In examples, such organizations can include companies (e.g., previous and current employers), educational organizations (e.g., schools where members have attended or worked), and other organizations (e.g., governmental organizations and non-profit organizations).
[0056] According to some embodiments, when a person initially registers to become a member of a professional social network, the person will be prompted to provide some profile attribute data, such as his or her name, age (e.g., date of birth), gender, interests, contact information, hometown, address, name of spouse and / or family members, educational background (e.g., school, major, enrollment and / or graduation date, etc.), work experience, skills, professional organizations, etc. This information can be stored, for example, in profile data 216. Similarly, when a representative of an organization initially registers an organization on a professional social network, the representative can be prompted to provide certain information about the organization. This information can be stored, for example, in profile data 216 or another database (not shown). In some embodiments, profile data 216 can be processed (e.g., in the background or offline) to generate various derived profile data. For example, if a member has provided information about various positions held by the member at the same company or different companies and for how long, this information can be used to infer or derive member profile attributes indicating the member's overall seniority level, or seniority level within a specific company. In some embodiments, importing or otherwise accessing data from one or more externally hosted data sources can enhance profile data for members and organizations 216. For example, particularly for companies, financial data can be imported from one or more external data sources and made part of the company profile.
[0057] Profile data 216 may also include information about settings for members of the professional social network. These settings may include various categories, including but not limited to privacy and communications. Each category may have its own set of settings that members can control.
[0058] Once registered, members can invite other members or be invited by other members to connect via professional social networks. "Connection" may require a bilateral agreement between members so that both members acknowledge the establishment of the connection. Similarly, in some embodiments, a member can choose to "follow" another member. In contrast to establishing a connection, the concept of "following" another member is usually a unilateral operation, and at least in some embodiments, confirmation or approval of the member being followed is not required. When a member follows another member, the member being followed may receive status updates or other messages published by the member being followed, or messages related to various activities performed by the member being followed. Similarly, when a member follows an organization, the member will be allowed to receive messages or status updates published on behalf of the organization. For example, messages or status updates published on behalf of the organization that the member is following will appear in the member's personalized data feed or content stream. In any case, the various associations and relationships established by members with other members or with other entities and objects can be stored and maintained in the social graph database 212 as social graph data.
[0059] The professional social network may provide a wide range of other applications and services that allow members the opportunity to share and receive information, often customized to the members' interests. For example, in some embodiments, the professional social network may include a photo sharing application that allows members to upload and share photos with other members. In some embodiments, members are able to self-organize into groups or interest groups organized around themes or topics of interest. In some embodiments, the professional social network may host various job listings that provide details about job openings at various organizations.
[0060] As members interact with the various applications, services, and content made available via the professional social network, members' behavior (e.g., content viewed, links or member interest buttons selected, etc.) may be monitored and, for example, Figure 2 218 about the member's activities and behaviors is stored by a member activity and behavior database 214 as indicated in . The member activity and behavior database 214 can be used by the search engine 208 to determine search results for candidate search queries. The information 218 can be used as training data and can include professional social network activities of member accounts and employer accounts regarding one or more job postings. Such professional social network activities include member accounts viewing job postings, employer accounts viewing the profile of member accounts that are target candidate accounts, member accounts applying for job postings, and employer accounts of member accounts that choose to apply for job postings to be hired. The data layer 205 also includes a recorded interaction data repository 220, which includes a previous determination 222 of whether a given member account is qualified for a corresponding job posting. The recorded interaction data repository 220 can also be used by the search engine 208 to determine search results for candidate search queries.
[0061] In some embodiments, the professional social network provides an API module through which third-party applications can access various services and data provided by the professional social network. For example, using the API, the third-party application can provide a user interface and logic to enable an authorized representative of the organization to publish messages from the third-party application to the content hosting platform of the professional social network to facilitate the presentation of activities or content streams maintained and presented by the professional social network. Such third-party applications can be browser-based applications, or can be operating system-specific applications. Specifically, some third-party applications can reside on and run on one or more mobile devices (e.g., smart phones or tablet computing devices) with a mobile operating system.
[0062] The CP engine 206 can access, use and adjust the data in the data layer 205, as described below in conjunction with Figure 5-Figure 8More detailed description. Although the CP engine 206 is referred to herein as being used in the context of a professional social network, it is contemplated that it may also be used in the context of any website or online service, including but not limited to content sharing sites (e.g., photo or video sharing sites) and any other online service that allows users to have profiles and present themselves or content to other users. In addition, 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 desktop software) is within the scope of the present disclosure. It should be understood that the CP engine 206 can be implemented in one or more of the application servers 118.
[0063] Although the search engine 208 is referred to herein as being used in the context of a social networking service, it is contemplated that it may also be used in the context of any website or online service. In addition, 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 desktop software) is within the scope of the present disclosure.
[0064] In an exemplary embodiment, when member profiles are indexed, a forward search index is created and stored. The search engine 208 facilitates indexing and searching for content within the social network service, such as indexing and searching for data or information contained in the data layer 205, such as profile data 216 (e.g., stored in a profile database), social graph data (e.g., stored in a social graph database 212), and member activity and behavior data (e.g., stored in a member activity and behavior database 214). The search engine 208 may collect, parse, and / or store data in an index or other similar structure to facilitate identifying and retrieving information in response to received queries for information. This may include, but is not limited to, a forward search index, an inverted index, an N-gram index, and the like.
[0065] Figure 3 is a flow chart illustrating an exemplary method 300 in accordance with various embodiments.
[0066] At operation 310, data representing an AQ score is encoded. According to some embodiments, method 300 utilizes the fact that applicants with relatively high AQ scores (e.g., higher quality applicants) have a greater probability of becoming confirmed employment. For example, method 300 may perform operation 310 to determine a weighted AQ score for a job / applicant pair. For example, method 300 includes performing operation 310 to assign an AQ score to each job / applicant pair in a group of applicants for a given job posting, wherein the AQ score is based on an AQ model. According to the AQ model, there is a strong correlation between the higher AQ score encoded at operation 310 and the probability of confirmed employment for the posted job (i.e., the job level pCH). In some embodiments, operation 310 uses an AQ model to assign a positive AQ score to an applicant in response to certain events indicating that the applicant is a desired candidate for a job listing, and the AQ model assigns a negative AQ score in response to other events indicating that the applicant is not suitable for the job listing. For example, the AQ model increases the applicant's AQ score in response to determining that the job poster sent an email to the applicant via a professional social networking service. Likewise, for example, the AQ model increases the applicant's AQ score in response to determining that the job poster or recruiter marked the applicant as "suitable" for a job listing. Conversely, the AQ model decreases the applicant's AQ score in response to determining that the job poster marked the applicant as "unsuitable" for a job listing. An embodiment utilizes the AQ score encoded at operation 310 to determine the weight of the pCH score.
[0067] As in Figure 3 As shown in , operation 310 can include assigning an AQ score to each job / applicant pair for a plurality of applicants for the posted job. In some embodiments, the plurality of applicants for the posted job are members of a professional social networking service that have applied for the job. Figure 3 In the example of , the AQ score is based on an AQ model. The AQ score for a given applicant among a plurality of applicants indicates whether the applicant is a desired (e.g., qualified) candidate for the posted job. For example, the AQ score is a measure of whether the attributes of a given job candidate account indicate that the given job candidate account is relevant to the attributes of the job posting submitted by the employer account. Basically, I want to provide more contextual information in this paragraph.
[0068] At operation 315, member-level weights are assigned to applicants with higher AQ scores (i.e., applicants with AQ scores that are higher than the AQ scores of other applicants). As shown, operation 315 can include assigning weights to applicants based on a detected correlation between higher AQ scores and a probability of making a hire (pCH). In an embodiment, the correlation is similar to that in Fig. 9 The correlation depicted in , which is described below.
[0069] At operation 320, a weighted AQ score is calculated for each of the job / applicant pairs. As shown, the weighted AQ scores calculated in operation 320 can be calculated by multiplying the individual AQ scores for the applicants by the member level weights assigned in operation 315.
[0070] At operation 325, the weighted AQ scores are added to derive a total weighted score for the job, and a job level pCH is generated based on the total weighted score. As shown, the job level pCH indicates the likelihood that the applicant (e.g., confirmed employment qualified for the job posting) will fill the job posting. Figure 3 It is also shown that job level pCH can be based on job level characteristics (e.g., channel, application path, and company / organization size).
[0071] At operation 330, the job level pCH is transmitted to the client device for display. For example, operation 330 may include transmitting the job level PCH value to a client device (e.g., a client computing device) associated with a job publisher or recruiter, so that the job level PCH value can be presented on a display device of the client computing device. In some embodiments, operation 330 includes transmitting the job level pCH to a client device that has submitted a request for the job level pCH. That is, operation 330 sends the job level pCH as a response to the requesting client device for display by the client device. For example, operation 330 may include transmitting the job level pCH to the client device, so that the job level pCH can be presented to the job publisher who publishes the job in the user interface of the client device. Based on the job level pCH value (i.e., score), the job publisher can decide whether to take certain measures. For example, if the job level pCH indicates that the probability of filling the job by a qualified applicant is relatively low or the probability is low, the job publisher can interact with the user interface at the client device to relax (i.e., reduce) the job requirements or reduce the skills required for the job posting.
[0072] Figure 4 A schematic diagram illustrating an exemplary data flow in the CP engine 206 according to various embodiments is illustrated.
[0073] As in Figure 4 As shown in , the CP engine 206 creates a job candidate context feature set 406 based on the attributes of the target candidate account 402 and the attributes of the job posting 404. As non-limiting examples, such attributes include education, job function, job industry, skills, years of professional experience, job title, job location, company size, and job seniority.
[0074] Each feature in the job candidate feature context set 406 is predefined as being closely related to predicting the relevance between a given candidate account and a given job posting. Such features can also be based on one or more of the aforementioned account attributes: education, job function, job industry, skills, years of professional experience, job title, job location, size of organization / company, and job seniority.
[0075] Candidate characteristics subset 408 includes those attribute types of target candidate accounts 402 that have been predefined as characteristics of a job applicant quality model implemented by CP engine 206. Job posting characteristics subset 410 includes those attribute types of job postings 404 that have been predefined as characteristics of a job applicant quality model.
[0076] In addition, specific differences between the attributes of the target candidate account 402 and the job posting 404 are also predefined as being closely related to predicting the relevance between a given candidate account and a given job posting. For the job and candidate feature subset 412, the CP engine 206 compares the attributes between the target candidate account 402 and the job posting 404 to generate a comparison feature. For example, the CP engine 206 compares the skills of the target candidate account 402 with the skills required by the job posting 404 to generate a skill comparison feature for the job and candidate feature subset 412. Such a skill comparison feature can be a percentage of matching skills and a total number of matching skills.
[0077] In another example, the CP engine 206 compares the years of professional experience attribute of the target candidate account 402 and the years of professional experience attribute required for the job posting 404 to generate a years of experience comparison feature for the job and candidate feature subset 412. Such a years of experience comparison feature can be the difference between the years of professional experience of the target candidate account 402 and the years of professional experience required for the job posting 404.
[0078] The CP engine 206 filters features from the candidate feature subset 408, the job posting feature subset 410, and the job and candidate feature subset 412 through a plurality of job candidate predictor decision trees 414. In some embodiments, the job candidate predictor decision trees 414 are decision trees of a random forest model. Such a random forest model can be the job AQ model described above for generating an AQ score. The CP engine 206 generates a job AQ score based on the recorded interaction data 426 (e.g., the job posting feature subset 410 described above). Figure 2The recorded interaction data 426 is used to construct the job candidate predictor decision tree 414, and the branch labels of the branches of each tree 416, 418, ... are learned by applying the random forest algorithm to the recorded interaction data 426. In some embodiments, the recorded interaction data 426 is stored on a storage device accessible by the CP engine 206.
[0079] The recorded interaction data 426 includes a plurality of prior determinations from various employer accounts regarding whether various job candidate accounts are qualified for one or more job postings (e.g., see above with reference to Figure 2 The CP engine 206 uses the recorded interaction data 426 as training data to learn relationships between candidate characteristics and job posting characteristics that indicate whether a given candidate account is qualified for a given job posting. As a result of applying the random forest algorithm to the recorded interaction data 426, the CP engine 206 creates multiple job candidate predictor decision trees 414 and learns branch labels for each branch of each tree 416, 418, ... In additional or alternative embodiments, the CP engine 206 is also configured to store encoded data on a storage device, the encoded data representing an AQ score for each job / applicant pair for multiple applicants for the job posting 404. For example, the CP engine 206 is capable of encoding data representing an AQ score for each job applicant (e.g., target candidate account 402) / job posting (e.g., job posting 404) pair for multiple applicants for the job posting 404, wherein the AQ score is based on an AQ model. This encoded data representing the respective AQ scores of the target candidate accounts 402 can then be stored on a storage device, such as, for example, a storage device used to store the recorded interaction data 426 .
[0080] Each tree 416, 418, ... corresponds to a specific feature in the job candidate context feature set 406. For example, the matching skills tree 416 has a root branch label corresponding to a skill comparison feature from the job and candidate feature subset 412. Such a skill comparison feature can be a percentage of matching skills. According to another example, the job industry tree 418 has a root branch label corresponding to an industry comparison feature from the job and candidate feature subset 412. Such an industry comparison feature can be a determination of whether the target candidate account 402 and the job posting 404 share a threshold amount of job industry descriptors. It should be understood that the various job candidate predictor decision trees 414 can correspond to other features, such as job function, years of experience difference, job country location, job company size, job seniority, current job industry, and job region.
[0081] Each tree 416, 418, ... produces a result 416-1, 418-1, ..., 420, .... Each result 416-1, 418-1, ..., 420, ... is a positive determination ("1") or a negative determination ("0") returned by the corresponding tree 416, 418, .... The prediction generator 422 of the CP engine 206 receives all results 416-1, 418-1, ..., 420, ... from all trees 416, 418, ..., and calculates whether at least a certain percentage of the results 416-1, 418-1, ..., 420, ... are positive determinations ("1"). If a certain percentage of the results 416-1, 418-1, ..., 420, ... are positive determinations ("1"), the prediction output 424 indicates that the target candidate account 402 is qualified for the job posting 404. If a certain percentage of the results 416-1, 418-1, ..., 420, ... are negatively determined ("0"), the prediction output 424 indicates that the target candidate account 402 is not qualified for the job posting 404. In some embodiments, the prediction output 424 is an AQ score for the target candidate account 402. According to these embodiments, the prediction output 424 is an inferred AQ score representing whether the target candidate account 402 is qualified for a particular job posting, and the prediction output 424 is based on each result returned from each job candidate predictor decision tree.
[0082] Figure 5 A block diagram of a job candidate predictor decision tree 500 for matching skill features is illustrated in accordance with various embodiments. Figure 5 The job candidate predictor decision tree 500 shown in overcomes technical problems associated with assembling and organizing the recorded interaction data 426. For example, the branch labels 502, 504, 506, 508, 510, 512, 514 of the job candidate predictor decision tree 500 are learned by a random forest algorithm trained using the recorded interaction data 426 as training data. In this way, the skill tree 416 can be used to determine the percentage of matching skills faster than conventional techniques.
[0083] Figure 5 The job candidate predictor decision tree 500 represents Figure 4 The matching skill tree 416 in FIG. The matching skill tree 416 has one or more branch labels 502, 504, 506, 508, 510, 512, 514, which are learned by using the recorded interaction data 426 as training data for the random forest algorithm. The matching skill tree 416 corresponds to a skill comparison feature, such as a percentage of matching skills.
[0084] The CP engine 206 accesses the skill comparison feature from the job and candidate feature subset 412, such as the percentage of matching skills between the target candidate account 402 and the job posting 404. The matching skill threshold required for learning by the root branch label 502 is slightly less than 41% (40.78%). If the skill comparison feature indicates that the percentage of matching skills between the target candidate account 402 and the job posting 404 is less than 40.78%, the CP engine 206 accesses the branch label 504.
[0085] The branch tag 504 requires that the job posting 404 lists (or involves) one or more job functions (A, B, C, D, ...). The job functions listed at the branch tag 504 are learned from the recorded interaction data 426. If the job posting 404 does not list (or involve) any of the job functions (A, B, C, D, ...) required at the branch tag 504, the matching skill tree 416 returns a negative determination 504-1 indicating that the target candidate account 402 is not qualified. If the job posting 404 does list (or involve) any of the job functions (A, B, C, D, ...) required at the branch tag 504, the CP engine 206 accesses the branch tag 508.
[0086] Branch label 508 requires that the job posting 404 lists (or refers to) one or more levels of professional qualifications (X, Y, Z). If the job posting 404 does not list (or refer to) one or more levels of professional qualifications (X, Y, Z), the matching skill tree 416 returns a negative determination 508-1 indicating that the target candidate account 402 is not qualified. If the job posting 404 does list (or refer to) one or more levels of professional qualifications (X, Y, Z), the CP engine 206 accesses the branch label 514.
[0087] The branch tag 514 requires that the job posting 404 lists (or involves) one or more job functions (k, w, ...) that are different from the job functions required at the branch tag 504. The job functions listed at the branch tag 514 are learned from the recorded interaction data 426. If the job posting 404 does not list (or involve) any of the job functions (k, w, ...) required at the branch tag 514, the matching skill tree 416 returns a negative determination 514-1 indicating that the target candidate account 402 is not qualified. If the job posting 404 does list (or involve) any of the job functions (k, w, ...) required at the branch tag 514, the matching skill tree 416 returns a positive determination 514-2 indicating that the target candidate account 402 is qualified.
[0088] Returning to the root branch label 502, if the percentage of matching skills is greater than 40.78%, the CP engine 206 accesses the branch label 506. The branch label 506 includes a learned matching skill count between the candidate account and the job posting. The learned matching skill count is 2.441. If the number of matching skills between the target candidate account 402 and the job posting 404 is less than 2.441, the matching skill tree 416 returns a negative determination 506-1 indicating that the target candidate account 402 is not qualified.
[0089] If the number of matching skills between the target candidate account 402 and the job posting 404 is greater than 2.441, the CP engine 206 accesses the branch tag 510. The branch tag 510 requires that the job posting 404 lists (or involves) one or more job functions (H, J, T, U, ...). The job functions listed at the branch tag 510 are learned from the recorded interaction data 426. If the job posting 404 does not list (or involve) any of the job functions (H, J, T, U, ...) required at the branch tag 510, the matching skill tree 416 returns a negative determination 510-1 indicating that the target candidate account 402 is unqualified. If the job posting 404 does list (or involve) any of the job functions (H, J, T, U, ...) required at the branch tag 510, the CP engine 206 accesses the branch tag 512.
[0090] Branch label 512 requires that the job posting 404 lists (or refers to) one or more levels of professional qualifications (y). If the job posting 404 does not list (or refer to) one or more levels of professional qualifications (y), the matching skill tree 416 returns a negative determination 512-1 indicating that the target candidate account 402 is not qualified. If the job posting 404 does list (or refer to) one or more levels of professional qualifications (y), the CP engine 206 returns a positive determination 512-2 indicating that the target candidate account 402 is qualified.
[0091] Figure 6 Illustrated is a block diagram of a job candidate predictor decision tree 600 for job industry characteristics in accordance with various embodiments.
[0092] Some embodiments utilize Figure 6The job candidate predictor decision tree 600 shown in overcomes technical problems associated with assembling and organizing the recorded interaction data 426. For example, the branch labels 602, 604, 606, 608, 610, 612, 614 of the job candidate predictor decision tree 600 can be learned by using a random forest algorithm trained with the recorded interaction data 426 as training data. In this way, the job industry tree 418 is used to compare current industry features from jobs and candidate feature subsets 412 faster than conventional techniques.
[0093] Figure 6 The job candidate predictor decision tree 600 represents Figure 4 4. The job industry tree 418 has one or more branch labels 602, 604, 606, 608, 610, 612, 614, which are learned by using the recorded interaction data 426 as training data for the random forest algorithm. The job industry tree 418 corresponds to the current industry comparison features from the job and candidate feature subset 412.
[0094] The CP engine 206 accesses the branch label 602 and determines whether the job industry features in the candidate feature subset 408 are the same as the job industry features in the job posting feature subset 410 (e.g., Figure 6 5 in the example). If the job industry features are the same, the CP engine 206 accesses branch tag 604. Branch tag 604 requires that the job posting 404 lists (or relates to) one or more job industries (c, e, f). The job industries listed at branch tag 604 are learned from the recorded interaction data 426. If the job posting 404 does not list (or relate to) any of the job industries (c, e, f) required at branch tag 604, the CP engine 206 accesses branch tag 608.
[0095] Branch label 608 requires that the learned matching skill threshold is greater than or equal to 4.25%. If the skill comparison feature indicates that the percentage of matching skills between the target candidate account 402 and the job posting 404 is less than 4.2%, the job industry tree 418 returns a negative determination 608-1 indicating that the target candidate account 402 is not qualified. If the skill comparison feature indicates that the percentage of matching skills between the target candidate account 402 and the job posting 404 is greater than or equal to 4.2%, the CP engine 206 accesses branch label 614.
[0096] The branch tag 614 requires that the job posting 404 lists (or involves) one or more different job functions (A, B, D, H, M, N). The job functions listed at the branch tag 614 are learned from the recorded interaction data 426. If the job posting 404 does not list (or involve) any of the job functions (A, B, D, H, M, N) required at the branch tag 614, the job industry tree 418 returns a negative determination 614-1 indicating that the target candidate account 402 is not qualified. If the job posting 404 does list (or involve) any of the job functions (A, B, D, H, M, N) required at the branch tag 614, the job industry tree 418 returns a positive determination 614-2 indicating that the target candidate account 402 is qualified.
[0097] Returning to branch label 604, if the job posting 404 does list (or refer to) any of the job industries (c, e, f) required at branch label 604, the CP engine 206 accesses branch label 610. Branch label 610 requires the use of a comparison feature from the job and candidate feature subset 412, which represents the difference in years of professional experience between the target candidate account 402 and the job posting 404. Branch label 610 indicates that the years of professional experience of the target candidate account 402 is greater than the years of professional experience required by the job posting 404 minus 0.05 years (i.e., the years of professional experience required by the job posting - 0.5). If the requirements of branch label 610 are not met, the job industry tree 418 returns a negative determination 610-1 indicating that the target candidate account 402 is not qualified. If the requirements of branch label 610 are met, the CP engine 206 accesses branch label 612.
[0098] The branch tag 612 requires that the job posting 404 lists (or involves) one or more job functions (J, L, M, N, O, ...). The job functions listed at the branch tag 612 are learned from the recorded interaction data 426. If the job posting 404 does not list (or involve) any of the job functions (J, L, M, N, O, ...) required at the branch tag 612, the job industry tree 418 returns a negative determination 612-1 indicating that the target candidate account 402 is not qualified. If the job posting 404 does list (or involve) any of the job functions (J, L, M, N, O, ...) required at the branch tag 612, the job industry tree 418 returns a positive determination 612-2 indicating that the target candidate account 402 is qualified.
[0099] Returning to branch label 602, if the job industry characteristics are not the same, the CP engine 206 accesses branch label 606. Branch label 606 requires that the job posting 404 lists (or involves) one or more job functions (A, F, G, H, O, S, V, ...). The job functions listed at branch label 606 are learned from the recorded interaction data 426. If the job posting 404 does list (or involves) any of the job functions (A, F, G, H, O, S, V, ...), the job industry tree 418 returns a positive determination 606-1 indicating that the target candidate account 402 is qualified.
[0100] Figure 7 is a flow chart illustrating an exemplary method 700 for determining age difference as a comparison feature in a job and candidate feature subset in accordance with various embodiments.
[0101] As in Figure 4 As shown in , the CP engine 206 generates subsets 408, 410, 412 of features for the job candidate context feature set 406. The subsets 408, 410, 412 of features are based on attributes of the target candidate account 402 and the job posting 404. Features are attributes, attribute values, or relationships between attributes that are predefined in the job applicant quality model as being closely related to predicting whether a given candidate account is qualified for a given job posting.
[0102] The job and candidate feature subset 412 includes a comparison feature. The comparison feature can be a value generated, for example, via comparing the years of professional experience of the target candidate account to the years of professional experience required by the job posting 404.
[0103] At operation 710, the CP engine 206 identifies the candidate's years of professional experience based at least on an employment period descriptor in the social networking service profile of the target candidate account 402. For example, the CP engine 206 accesses (one or more) data locations in the social networking service that represent (one or more) attributes of the target candidate account 402. The CP engine 206 identifies a descriptor corresponding to the years of professional experience of the target candidate account 402 in the accessed (one or more) data locations. The CP engine 206 obtains a first value of the candidate's years of professional experience from the accessed (one or more) data locations.
[0104] At operation 715, the CP engine 206 identifies the number of years of professional experience required as described in the job posting. For example, the CP engine 206 accesses data location(s) in the social networking service that represent the attribute(s) of the job posting 404. The CP engine 206 identifies descriptor(s) corresponding to the years of professional experience required for the job posting 404 in the accessed data location(s). The CP engine 206 obtains a second value for the years of professional experience required for the job posting 404 from the accessed data location(s).
[0105] At operation 720, the CP engine 206 calculates a years difference value to represent the difference between the candidate's years of professional experience and the required years of professional experience. For example, the CP engine 206 calculates the difference between the first value and the second value to generate the years difference value.
[0106] At operation 725, the CP engine 206 inserts the years difference value into the candidate and job comparison feature data subset (e.g., the job and candidate feature subset 412) as a respective comparison feature. For example, the CP engine 206 identifies the data position(s) for the first comparison feature that represents the difference in years of professional experience. The CP engine 206 inserts the calculated years difference value into the data position(s) for the first comparison feature.
[0107] In another embodiment, the CP engine 206 identifies each skill descriptor in the social network service profile of the target candidate account 402. For example, the CP engine 206 accesses (one or more) data locations in the social network service that represent (one or more) attributes of the target candidate account 402. The CP engine 206 identifies (one or more) descriptors corresponding to (one or more) candidate skills of the target candidate account 402 in the accessed (one or more) data locations.
[0108] The CP engine 206 identifies each skill descriptor described in the job posting 404. For example, the CP engine 206 accesses data location(s) in the social networking service that represent the attribute(s) of the job posting 404. The CP engine 206 identifies descriptor(s) corresponding to the job skill(s) required by the job posting 404 in the accessed data location(s).
[0109] The CP engine 206 calculates a skill match value to represent the percentage of matching skill descriptors between the skill descriptors of the target candidate account 402 and the skill descriptors of each job posting 404. For example, the CP engine 206 identifies one or more matching skills between the candidate skill(s) and the job skill(s). The CP engine 206 inserts the skill match value into the candidate and job comparison feature data subset (e.g., the job and candidate feature subset 412) as a respective comparison feature.
[0110] Figure 8 is a block diagram illustrating exemplary components of the candidate predictor (CP) engine 206 according to some embodiments. Figure 8 As shown in , the CP engine 206 includes an input module 805 , an output module 810 , a tree instantiation module 815 , a work candidate context encoder module 820 , a feature filtering module 825 , and a recorded interaction data module 830 .
[0111] The input module 805 is a hardware-implemented module that controls, manages, and stores data from Figure 1 and Figure 2 102. In various embodiments, the inputs include attribute(s) of the member account(s) and attribute(s) of the job posting(s). The inputs can also include recorded interaction data including prior determinations of whether a candidate member account is qualified for a particular job posting.
[0112] Output module 810 is a hardware-implemented module that controls, manages, stores and Figure 1 and Figure 2 In some embodiments, the output is a prediction output representing an inference of whether a target candidate account is qualified for a particular job posting. The prediction output is based on each result returned from each job candidate predictor decision tree.
[0113] The tree instantiation module 815 is a hardware implemented module that manages, controls, stores, and accesses information related to building one or more job candidate predictor decision trees. The tree instantiation module 815 builds a job candidate predictor decision tree for each type of feature in the job candidate context feature set. Each branch of each job candidate predictor decision tree includes labels learned from running a random forest algorithm with training data. The training data is based on recorded interaction data that includes prior determinations of whether a candidate member account is qualified for a particular job posting.
[0114] The job candidate context encoder module 820 is a hardware-implemented module that manages, controls, stores and accesses information related to encoding a job candidate context feature set. The job candidate context encoder module 820 accesses the attributes of the target candidate account and the job release in order to encode the job candidate context feature set. The job candidate context feature set includes features based on the attributes of the target candidate account and the job release. Each feature is predefined and is related to predicting whether a given candidate account is related to a given job release. The feature filtering module 825 is a hardware-implemented module that manages, controls, stores and accesses information related to filtering features from the job candidate context feature set through a specific job candidate predictor decision tree. Each job candidate predictor decision tree corresponds to a type of feature in the job candidate context feature set. The feature filtering module 825 filters each type of feature in the job candidate context feature set through a job candidate predictor decision tree corresponding to the same type of feature. Each job candidate predictor decision tree returns a positive determination or a negative determination of whether the target candidate account is a qualified applicant.
[0115] The recorded interaction data module 830 is a hardware implemented module that manages, controls, stores, and accesses information related to generating, updating, and storing training data. The recorded interaction data module 830 collects and stores explicit determinations of whether a candidate member account is qualified for a particular job posting. Each determination is received from an employer account that has submitted a job posting. Each determination represents an actual decision by an employer account as to whether an attribute of a member account is relevant to a given job posting. The recorded interaction data module 830 includes attributes of a member account, attributes of a given job posting, and a determination by an employer account as to whether a member account is qualified.
[0116] Fig. 9 is a graph 900 depicting the correlation between AQ score 904 and member pCH percentage 902, according to some embodiments. Specifically, Fig. 9 It is shown that there is a strong correlation 906 between the AQ score 904 and the member pCH percentage 902. In an embodiment, the member pCH percentage 902 is the pCH score for members of the professional social networking service.
[0117] Fig.10 Illustrated are weighted AQ scores 1004 for applicants 1002 for a given job 1000. As shown, high quality applicants 1010 can be identified based on the weighted AQ scores 1004, and a job level pCH 1008 for the job is based on the total weighted AQ score 1006 for the applicant.
[0118] Fig.11A method is illustrated for calculating a final weighted AQ score 1104 for applicants 1102 for a given job 1100 based on multiplying the AQ score by the member level pCH weight to identify high quality applicants 1110. As shown, a job level pCH 1108 for the job 1100 can be based on a total final weighted AQ score 1106 representing the sum of the weighted AQ scores 1104 for the applicants 1102.
[0119] Fig.12 A graph 1200 is provided that depicts the correlation between the job level pCH percentage 1202 and the dimensions for organization size 1206, pipeline 1214, and application path 1220, according to some embodiments. As shown, a sum 1204 of weighted quality scores can be correlated to the job level pCH percentage 1202 for each of the dimensions.
[0120] For example, Fig.12 Plotted at the working level pCH percentage 1202 and a representation of a small organization 1208 (e.g., Fig.12 1-50 employees in the example above), medium-sized organizations 1210 (e.g., 50-500 employees), and large organizations (e.g., companies with more than 500 employees).
[0121] Likewise, for example, Fig.12 The correlation between the job level pCH percentage 1202 and the dimensions of the channel 1214 representing the live channel 1216 and the online channel 1218 is depicted.
[0122] In addition, for example, Fig.12 The correlation between the job level pCH percentage 1202 and the dimension of the application path 1220 representing off-site applications 1222 and on-site applications 1224 is depicted.
[0123] Fig.13 is a graph depicting the time 1304 (e.g., Fig.13 1300 of the correlation between pCH percentage 1302 and likelihood of hire 1308, percentage of jobs with confirmed hires 1310, and average predicted pCH 1312 (month in the example).
[0124] Fig.14 14 is a graph 1400 depicting the trend of the correlation between AQ scores 1402 and average AQ scores 1410 and job applicants 1408 over time 1404. As shown, as the total number of applicants 1412 increases, the average AQ score 1410 decreases slightly (in Fig.14 1% in the example above).
[0125] Fig.15 1 is a graph 1500 depicting a pCH distribution 1504 (e.g., pCH columns) across jobs 1502 with different numbers of applicants. As shown, the pCH distribution 1504 varies for different numbers of applicants (e.g., applicant columns 1506, 1508, 1510, 1512, 1514, and 1516). Fig.15 In the example of , applicant columns 1506, 1508, 1510, 1512, 1514, and 1516 correspond to jobs having 0-5 applicants, 6-10 applicants, 11-15 applicants, 16-20 applicants, 21-24 applicants, and more than 24 applicants, respectively.
[0126] Fig.16 A graph 1600 is provided depicting pCH weights 1604 for quality scores 1602 and weighted quality scores 1610. As shown, by giving higher quality applicants (applicants with relatively higher quality scores 1602) greater weights 1608, the corresponding weighted quality scores 1610 are greater.
[0127] Fig.17 is a graph 1700 depicting the correlation between pCH percentage 1702 and total work level weighted quality score 1704 .
[0128] Fig.18 is a graph 1800 depicting the correlation between pCH percentage 1802 and overall quality score 1804 at the member level.
[0129] Fig.19 19 is a graph 1900 depicting trends in applicant quality scores (eg, high scores 1908, medium scores 1910, and low scores 1906) by percentage 1902 of applications across time 1904. Fig.19 In the example of , high scores 1908 are scores greater than or equal to 0.4, medium scores 1910 range from 0.3-0.4, and low scores 1906 range from 0.0-0.3.
[0130] Fig. 20 Provides a graph depicting the cross-filing months 2004 (e.g. Fig. 20 In the example of FIG. 2000 , a graph 2000 is provided showing a year-over-year (Y / Y) comparison of applicant quality score trends for 2002, 2008, and 2010 by percentage of applications (July-December).
[0131] Software Architecture
[0132] Fig.21 is a block diagram 2100 illustrating a representative software architecture 2102 that may be used in conjunction with the various hardware architectures described herein. Fig.21 This is merely a non-limiting example of a software architecture, and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein. The software architecture 2102 may be implemented in a system such as Fig. 22 The hardware of the machine 2200 includes a processor 2210, a memory / storage device 2230, and an I / O component 2250. A representative hardware layer 2104 is shown and can represent, for example, Fig. 22 The representative hardware layer 2104 includes one or more processing units 2106 with associated executable instructions 2108. The executable instructions 2108 represent executable instructions of the software architecture 2102, including Figure 1-Figure 20 The hardware layer 2104 also includes a memory and / or storage module 2110, which also has executable instructions 2108. The hardware layer 2104 may also include other hardware 2112, which represents any other hardware of the hardware layer 2104, such as other hardware illustrated as part of the machine 2200.
[0133] exist Fig.21 In the exemplary architecture of , software architecture 2102 can be conceptualized as a stack of layers, wherein each layer provides specific functionality. For example, software architecture 2102 may include layers such as operating system 2114, library 2116, framework / middleware 2118, application 2120, and presentation layer 2144. In operation, application 2120 and / or other components within the layer may call API call 2124 through the software stack, and receive responses, return values, etc. in response to API call 2124, illustrated as message 2126. The illustrated layers are representative in nature, and not all software architectures have all layers. For example, some mobile or dedicated operating systems may not provide a layer of framework / middleware 2118, while other operating systems may provide such a layer. Other software architectures may include additional or different layers.
[0134] The operating system 2114 may manage hardware resources and provide general services. The operating system 2114 may include, for example, a kernel 2128, services 2130, and drivers 2132. The kernel 2128 may act as an abstraction layer between the hardware and other software layers. For example, the kernel 2128 may be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, etc. Services 2130 may provide other public services to other software layers. Drivers 2132 may be responsible for controlling or interfacing with the underlying hardware. For example, drivers 2132 may include display drivers, camera drivers, drives, flash drives, serial communications drivers (e.g., Universal Serial Bus (USB) drivers), Drivers, audio drivers, power management drivers, etc.
[0135] The library 2116 may provide a common infrastructure that may be used by the application 2120 and / or other components and / or layers. The library 2116 generally provides functions that allow other software modules to perform tasks in an easier manner than by directly interfacing with the underlying operating system 2114 functions (e.g., kernel 2128, service 2130, and / or driver 2132). The library 2116 may include a system library 2134 (e.g., a C standard library) that may provide functions such as memory allocation functions, string manipulation functions, mathematical functions, and the like. In addition, the library 2116 may include an API library 2136, such as a media library (e.g., a library for supporting the rendering and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG), a graphics library (e.g., an OpenGL framework that may be used to render 2D and 3D graphics content on a display), a database (e.g., SQLite that may provide various relational database functions), a network library (e.g., WebKit that may provide network browsing functions), and the like. The library 2116 may also include a variety of other libraries 2138 to provide many other APIs to the application 2120 and other software components / modules.
[0136] Framework 2118 (also sometimes referred to as middleware) may provide a higher level common infrastructure that may be utilized by applications 2120 and / or other software components / modules. For example, framework 2118 may provide various graphical user interface (GUI) functions, high level resource management, high level location services, etc. Framework 2118 may provide a wide spectrum of other APIs that may be utilized by applications 2120 and / or other software components / modules, some of which may be specific to a particular operating system or platform.
[0137] Applications 2120 include built-in applications 2140 and / or third-party applications 2142. Examples of representative built-in applications 2140 may include, but are not limited to, contact applications, browser applications, book reader applications, location applications, media applications, messaging applications, and / or game applications. Third-party applications 2142 may include any of the built-in applications 2140 as well as a wide variety of other applications. In a specific example, third-party applications 2142 (e.g., applications created by entities other than the vendor of a particular platform using Android TM or iOS TM Software Development Kit (SDK) can be used to develop applications on mobile operating systems such as iOS. TM 、Android TM , Mobile software running on a mobile phone or other mobile operating system). In this example, third-party application 2142 can call API calls 2124 provided by a mobile operating system such as operating system 2114 to facilitate the functions described in this article.
[0138] Applications 2120 can utilize built-in operating system 2114 functions (e.g., kernel 2128, services 2130, and / or drivers 2132), libraries 2116 (e.g., system libraries 2134, API libraries 2136, and other libraries 2138), and frameworks / middleware 2118 to create a user interface that interacts with a user of the system. Alternatively or additionally, in some systems, interaction with the user can occur through a presentation layer (such as presentation layer 2144). In these systems, the application / module "logic" can be separated from aspects of the application / module that interact with the user.
[0139] Some software architectures make use of virtual machines. Fig.21 In the example of , this is illustrated by virtual machine 2148. A virtual machine creates a software environment in which applications / modules can be run as if they were on a hardware machine (e.g., such as a Fig. 22 The virtual machine is run by a host operating system (e.g., Fig.21 The virtual machine 2148 is hosted by an operating system 2114 in a virtual machine 2148 and typically (although not always) has a virtual machine monitor 2146 that manages the operation of the virtual machine 2148 and interfaces with the host operating system (e.g., operating system 2114). Software architecture runs within the virtual machine 2148, such as an operating system 2150, libraries 2152, frameworks / middleware 2154, applications 2156, and / or a presentation layer 2158. These layers of the software architecture running within the virtual machine 2148 can be the same as the corresponding layers previously described or can be different.
[0140] Exemplary architecture and machine-readable medium
[0141] Fig. 22 2200 according to some example embodiments, the components of the machine can read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any one or more of the methods discussed herein. Specifically, Fig. 22A schematic diagram of a machine 2200 is shown in the form of an example of a computer system, within which instructions 2216 (e.g., software, programs, applications, small applications, apps, or other executable codes) for causing the machine 2200 to perform any one or more of the methods discussed herein may be executed. The instructions 2216 convert an ordinary unprogrammed machine into a specific machine that is programmed to perform the functions described and illustrated in the described manner. In alternative embodiments, the machine 2200 operates as a standalone device, or may be coupled (e.g., networked) to other machines. In a network deployment, the machine 2200 may operate as 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 2200 may include, but is not limited to, a server computer, a client computer, a PC, a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular phone, 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 network device, a network router, a network switch, a network bridge, or any machine capable of sequentially or otherwise executing instructions 2216 specifying actions to be taken by the machine 2200. In addition, although only a single machine 2200 is illustrated, the term "machine" should also be taken to include a collection of machines 2200 that individually or collectively execute instructions 2216 to perform any one or more of the methodologies discussed herein.
[0142] The machine 2200 may include a processor 2210, a memory / storage device 2230, and an I / O component 2250, which may be configured to communicate with each other, such as via a bus 2202. In an exemplary embodiment, the processor 2210 (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 application specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, a processor 2212 and a processor 2214 that may execute instructions 2216. The term "processor" is intended to include a multi-core processor, which may include two or more independent processors (sometimes referred to as "cores") that may execute instructions simultaneously. Although Fig. 22 Multiple processors 2210 are shown, but the machine 2200 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 multiple cores, or any combination thereof.
[0143] The memory / storage 2230 may include a memory 2232 (such as a main memory or other memory storage device) and a storage unit 2236, both of which are accessible to the processor 2210 via the bus 2202. The storage unit 2236 and the memory 2232 store instructions 2216 embodying any one or more of the methods or functions described herein. The instructions 2216 may also reside, in whole or in part, within the memory 2232, within the storage unit 2236, within at least one processor 2210 (e.g., within a cache of a processor), or within any suitable combination thereof during execution by the machine 2200. Thus, the memory 2232, the storage unit 2236, and the memory of the processor 2210 are examples of machine-readable media.
[0144] As used herein, "machine-readable medium" means a device capable of temporarily or permanently storing instructions and data, and may include, but is not limited to, random access memory (RAM), read-only memory (ROM), cache memory, flash memory, optical media, magnetic media, cache memory, other types of storage devices (e.g., erasable programmable read-only memory (EEPROM)), and / or any suitable combination thereof. The term "machine-readable medium" should be considered to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) capable of storing instructions 2216. The term "machine-readable medium" should also be considered to include any medium or combination of multiple media capable of storing instructions (e.g., instructions 2216) executed by a machine (e.g., machine 2200), such that the instructions, when executed by one or more processors of the machine (e.g., processor 2210), cause the machine to perform any one or more of the methods described herein. Therefore, "machine-readable medium" refers to a single storage device or device, as well as a "cloud-based" storage system or storage network comprising multiple storage devices or devices. The term "machine-readable medium" does not include the signal itself.
[0145] The I / O components 2250 may include various components to receive input, provide output, generate output, send information, exchange information, capture measurements, etc. The specific I / O components 2250 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone will likely include a touch input device or other such input mechanism, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I / O components 2250 may include Fig. 22Many other components not shown in FIG. Grouping the I / O components 2250 according to function is merely to simplify the following discussion, and the grouping is by no means limiting. In various exemplary embodiments, the I / O components 2250 may include an output component 2252 and an input component 2254.
[0146] Output components 2252 may include visual components (e.g., displays such as plasma display panels (PDPs), light emitting diode (LED) displays, liquid crystal displays (LCDs), projectors, or cathode ray tubes (CRTs)), acoustic components (e.g., speakers), tactile components (e.g., vibration motors, resistance mechanisms), other signal generators, etc. Input components 2254 may include alphanumeric input components (e.g., keyboards, touch screens configured to receive alphanumeric input, optical keyboards, or other alphanumeric input components), point-based input components (e.g., mice, touch pads, trackballs, joysticks, motion sensors, or other pointing instruments), tactile input components (e.g., physical buttons, touch screens that provide location and / or force of touch or touch gestures, or other tactile input components), audio input components (e.g., microphones), etc.
[0147] In another exemplary embodiment, the I / O component 2250 may include a variety of other components such as a biometric component 2256, a motion component 2258, an environment component 2260, or a position component 2262. For example, the biometric component 2256 may include a sensor for detecting expressions (e.g., hand expressions, facial expressions, voice expressions, body postures, or eye tracking), measuring biological signals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying people (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or EEG-based recognition), etc. The motion component 2258 may include an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotation sensor component (e.g., a gyroscope), etc.
[0148] Environmental component 2260 may include, for example, an illumination sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers that detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones that detect background noise), a proximity sensor component (e.g., an infrared sensor that detects nearby objects), a gas sensor (e.g., a gas detection sensor that detects concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. Position component 2262 may include a position sensor component (e.g., a global positioning system (GPS) receiver component), an altitude sensor component (e.g., an altimeter or barometer that detects air pressure from which altitude can be derived), an orientation sensor component (e.g., a magnetometer), and the like.
[0149] Communication can be implemented using a variety of technologies. I / O components 2250 may include a communication component 2264 that is operable to couple machine 2200 to network 2280 or device 2270 via coupling 2282 and coupling 2272, respectively. For example, communication component 2264 may include a network interface component or other suitable device that interfaces with network 2280. In other examples, communication component 2264 may include a wired communication component, a wireless communication component, a cellular communication component, a near field communication (NFC) component, Components (e.g. Low energy), Components and other communication components to provide communication via other modalities. Device 2270 can be another machine or any of a variety of peripheral devices (e.g., a peripheral device coupled via USB).
[0150] In addition, the communication component 2264 can detect an identifier or include a component operable to detect an identifier. For example, the communication component 2264 can include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting a one-dimensional barcode (such as a universal product code (UPC) barcode), a multi-dimensional barcode (such as a Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Super Code, UCCRSS-2D barcode, and other optical codes)) or an acoustic detection component (e.g., a microphone for identifying an audio signal of a tag). In addition, various information can be derived via the communication component 2264, such as location via Internet Protocol (IP) geographic location, location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location via Internet Protocol (IP), location, etc. Positioning via signal triangulation, positioning via detection of NFC beacon signals that can indicate a specific location, etc.
[0151] Transmission medium
[0152] In various exemplary embodiments, one or more portions of network 2280 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a WAN, a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a portion of the Internet, a portion of a public switched telephone network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, 2280 or a portion of network 2280 may include a wireless or cellular network, and coupling 2282 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. In this example, coupling 2282 may implement any of a variety of types of data transmission technologies, such as single carrier radio transmission technology (1xRTT), evolution data optimized (EVDO) technology, general packet radio service (GPRS) technology, enhanced data rates for GSM evolution (EDGE) technology, including 3G third generation partnership project (3GPP), fourth generation wireless (4G) network, universal mobile telecommunications system (UMTS), high speed packet access (HSPA), world wide interoperability for microwave access (WiMAX), long term evolution (LTE) standards, other standards defined by various standards development organizations, other remote protocols, or other data transmission technologies.
[0153] The instructions 2216 may be transmitted or received over the network 2280 using a transmission medium via a network interface device (e.g., a network interface component included in the communication component 2264) and utilizing any of a number of well-known transmission protocols (e.g., HTTP). Similarly, the instructions 2216 may be transmitted or received using a transmission medium via a coupling 2272 (e.g., a peer-to-peer coupling) to the device 2270. The term "transmission medium" should be taken to include any intangible medium that is capable of storing, encoding, or carrying the instructions 2216 for execution by the machine 2200, and includes digital or analog communication signals or other intangible media to facilitate the communication of such software.
[0154] language
[0155] Throughout the specification, multiple instances can implement components, operations or structures described as single instances. Although the individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations can be performed simultaneously, and the operations do not need to be performed in the illustrated order. The structure and function represented as separate components in the exemplary configuration can be implemented as a combined structure or component. Similarly, the structure and function presented as a single component can be implemented as a separate component. These and other variations, modifications, additions and improvements fall within the scope of the subject matter in this article.
[0156] Although an overview of the inventive subject matter has been described with reference to specific exemplary embodiments, various modifications and changes may be made to these embodiments without departing from the broader scope of the embodiments of the present disclosure. For convenience only, the term "invention" may be used herein, individually or collectively, to refer to such embodiments of the inventive subject matter, and if more than one invention is actually disclosed, it is not intended that the scope of the present application be automatically limited to any single disclosure or inventive concept.
[0157] The embodiments illustrated herein are described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments may be used and derived therefrom, so that structural and logical substitutions and changes may be made without departing from the scope of the present disclosure. Therefore, the detailed description should not be understood in a limiting sense, and the scope of the various embodiments is limited only by the appended claims and the full scope of equivalents to which these claims are entitled.
[0158] As used herein, the term "or" may be interpreted in an inclusive or exclusive sense. In addition, multiple instances may be provided for resources, operations, or structures described herein as a single instance. In addition, the boundaries between various resources, operations, modules, engines, and data stores are arbitrary to some extent, and specific operations are shown in the context of a specific illustrative configuration. Other allocations of functions may be conceived and may fall within the scope of various embodiments of the present disclosure. Typically, structures and functions represented as separate resources in an exemplary configuration may be implemented as combined structures or resources. Similarly, structures and functions represented as a single resource may be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within the scope of embodiments of the present disclosure as represented by the appended claims. Therefore, the specification and the accompanying drawings should be considered illustrative rather than restrictive.
Claims
1. A computer system comprising: processor; Storage devices; Candidate predictor engine; as well as A memory device storing a set of instructions executable on the processor to cause the computer system to perform operations including: training a machine learning model to encode an applicant quality (AQ) score for a job / applicant pair based on input features, the input features comprising job features associated with a job for the job / applicant pair and member profile features associated with a member profile of an applicant for the job / applicant pair, wherein the AQ score indicates a correlation of the member profile features with the job features; encoding, by the candidate predictor engine using the trained model, data representing an applicant quality (AQ) score for each job / applicant pair for a plurality of applicants for a job posting; storing on the storage device encoded data representing the AQ score for each job / applicant pair of the plurality of applicants for the job posting; assigning a membership level weight to each applicant in the plurality of applicants; calculating, by the candidate predictor engine, a weighted AQ score for each of the job / applicant pairs, the weighted AQ score being a product of the respective AQ score retrieved from the storage device and a member level weight; summing the weighted AQ scores to derive an overall weighted score for the job posting; generating, by the candidate predictor engine, a job grade probability pCH of confirmed hiring based on the total weighted score, the job grade pCH indicating a likelihood of the job posting being filled by the applicant; and The working level pCH is sent to the client device for display.
2. The computer system according to claim 1, wherein: Assigning a membership level weight to each of the plurality of applicants includes: retrieving the respective AQ scores of the plurality of applicants from the storage device; and Greater weight is assigned to applicants with higher AQ scores.
3. The computer system according to claim 1, wherein: The AQ score is encoded by the candidate predictor engine using a trained model, and the AQ score is based in part on at least one predefined type of candidate feature retrieved from a job candidate context feature set stored on the storage device, the candidate feature including at least one of: a job function descriptor represented in a social networking service profile of a target candidate account, a job industry descriptor represented in the social networking service profile of the target candidate account, and a job company size descriptor represented in the social networking service profile of the target candidate account.
4. The computer system according to claim 1, wherein: The candidate predictor engine includes a prediction generator, and wherein generating the job level pCH further includes: the prediction generator generating a prediction output based on job level characteristics including one or more of channel, application path and organizational size, the prediction output indicating whether an applicant among the multiple applicants is qualified for the job posting.
5. The computer system according to claim 4, wherein: The job level characteristics include at least one predefined type of job characteristics, and the at least one predefined type of job characteristics includes at least one of the following: a job function descriptor represented in the job posting, a job industry descriptor represented in the job posting, and a job company size descriptor represented in the job posting.
6. The computer system according to claim 3, wherein: Encoding the data representing the AQ score for each job / applicant pair includes encoding a subset of candidate-to-job comparison feature data to include difference values corresponding to a predefined type of comparison feature learned as a predictor of whether a given job candidate is qualified for a given job posting, encoding the subset of candidate-to-job comparison feature data includes: identifying the candidate's years of professional experience based on at least one employment period descriptor in the social networking service profile of the target candidate account; Identify the required years of specialized experience as described in said job posting; Calculating a years difference value to represent the difference between the candidate's years of professional experience and the required years of professional experience; inserting the age difference value into the candidate and job comparison feature data subset as each comparison feature; and The candidate and working comparison feature data subset is stored on the storage device.
7. The computer system according to claim 6, wherein: Inserting the age difference into the candidate and job comparison feature data subset as each comparison feature includes: encoding the age difference value as a predefined data location of an age difference comparison feature in the candidate and job comparison feature data subset; and The candidate and working comparison feature data subset is stored on the storage device.
8. The computer system according to claim 3, wherein: Encoding the data representing the AQ score for each job / applicant pair includes encoding a subset of candidate-to-job comparison feature data to include difference values corresponding to a predefined type of comparison feature learned as a predictor of whether a given job candidate is qualified for a given job posting, encoding the subset of candidate-to-job comparison feature data includes: identifying each skill descriptor in a social networking service profile of the target candidate account; Identify each skill descriptor described in said job posting; calculating a skills match value to represent a percentage of matching skill descriptors between the skill descriptors of the target candidate account and the skill descriptors of the job posting; inserting the skill match values into the candidate and job comparison feature data subset as respective comparison features; and The candidate and working comparison feature data subset is stored on the storage device.
9. The computer system according to claim 8, wherein: Each skill descriptor in the social networking service profile of the target candidate account includes a respective skill descriptor selected by the target candidate account.
10. The computer system according to claim 8, wherein: Each skill descriptor in the social network service profile of the target candidate account includes a respective skill descriptor selected by a member account having a social network connection with the target candidate account.
11. The computer system according to claim 8, wherein: Inserting the skill match value into the candidate and job comparison feature data subset as each comparison feature includes: encoding the skills match value as a predefined data location for a skills match comparison feature in the candidate to job comparison feature data subset; and The candidate and working comparison feature data subset is stored on the storage device.
12. The computer system according to claim 1, wherein: The operation further includes: instantiating a plurality of job candidate decision trees, each job candidate decision tree including at least one learned decision tree branch label, and instantiating the plurality of job candidate decision trees includes: Recorded interaction data is collected from within a social networking service, the recorded interaction data including at least a first prior determination by a first employer account that a first candidate account is qualified for a first job and a second prior determination by a second employer account that a second candidate account is unqualified for a second job.
13. The computer system according to claim 12, wherein: Instantiating the plurality of job candidate decision trees, each job candidate decision tree comprising at least one learned decision tree branch label, and further comprising: A random forest process is run using the recorded interaction data to build each job candidate decision tree by learning a branch label for each branch of each job candidate decision tree based on at least one attribute of the recorded interaction data.
14. A computer-implemented method comprising: training a machine learning model to encode an applicant quality (AQ) score for a job / applicant pair based on input features, the input features comprising job features associated with a job for the job / applicant pair and member profile features associated with a member profile of an applicant for the job / applicant pair, wherein the AQ score indicates a correlation of the member profile features with the job features; encoding data representing an applicant quality (AQ) score for each job / applicant pair for a plurality of applicants for a job posting using the trained model; assigning a membership level weight to each applicant in the plurality of applicants; Calculating a weighted AQ score for each of the job / applicant pairs, the weighted AQ score being the product of the respective AQ score and the member level weight; summing the weighted AQ scores to derive an overall weighted score for the job posting; generating a job grade probability pCH of confirmed hiring based on the total weighted score, the job grade pCH indicating the likelihood of the job posting being filled by the applicant; and The working level pCH is sent to the client device for display.
15. The computer-implemented method of claim 14, wherein: Encoding the data representing the AQ score for each job / applicant pair includes encoding data representing a set of job candidate contextual features based on at least one attribute of a target candidate account of a social networking service and at least one attribute of a job posting on the social networking service, encoding the data representing the set of job candidate contextual features includes: encoding a subset of the job candidate characteristics data to include at least one attribute of the target candidate account corresponding to at least one predefined type of candidate characteristic learned as a predictor of whether a given job candidate is qualified for a given job posting; encoding a subset of the job characteristics data to include at least one attribute of the job posting corresponding to at least one predefined type of job characteristics learned as a predictor of whether the given job candidate is qualified for the given job posting; and A subset of candidate-to-job comparison feature data is encoded to include a difference between at least one attribute of the target candidate account and at least one attribute of the job posting, the difference corresponding to a predefined type of comparison feature that is learned as a prediction of whether the given job candidate is qualified for the given job posting.
16. The computer-implemented method of claim 15, wherein: Encoding the subset of candidate and job comparison feature data to include the difference values corresponding to the predefined type of comparison features learned as a prediction of whether the given job candidate is qualified for the given job posting comprises: identifying the candidate's years of professional experience based on at least one employment period descriptor in the social networking service profile of the target candidate account; identifying the required years of professional experience described in said job posting on said social networking service; Calculating a years difference value to represent the difference between the candidate's years of professional experience and the required years of professional experience; and The age difference values are inserted into the candidate and job comparison feature data subset as respective comparison features.
17. The computer-implemented method of claim 16, wherein: Inserting the age difference into the candidate and job comparison feature data subset as each comparison feature includes: The age difference value is encoded as a predefined data location for an age difference comparison feature in the candidate and job comparison feature data subset.
18. The computer-implemented method of claim 15, wherein: Encoding the subset of candidate and job comparison feature data to include the difference values corresponding to the predefined type of comparison features learned as a prediction of whether the given job candidate is qualified for the given job posting comprises: identifying each skill descriptor in a social networking service profile of the target candidate account; identifying each skill descriptor described in the job posting on the social networking service; calculating a skills match value to represent a percentage of matching skills descriptors between the skills descriptors of the target candidate account and the skills descriptors of the job posting; and The skill match values are inserted into the candidate and job comparison feature data subset as respective comparison features.
19. The computer-implemented method of claim 18, wherein: Each skill descriptor in the social networking service profile of the target candidate account includes a respective skill descriptor selected by the target candidate account.
20. A non-transitory computer readable medium having executable instructions stored thereon, the instructions, when executed by a processor, causing the processor to perform operations comprising: A machine learning model is trained to encode an applicant quality (AQ) score for a job / applicant pair based on input features, the input features comprising job features associated with a job of the job / applicant pair and member profile features associated with a member profile of an applicant of the job / applicant pair, wherein: The AQ score indicates the relevance of the member profile characteristic to the work characteristic; encoding data representing an applicant quality (AQ) score for each job / applicant pair for a plurality of applicants for a job posting using the trained model; assigning a membership level weight to each applicant in the plurality of applicants; Calculating a weighted AQ score for each of the job / applicant pairs, the weighted AQ score being the product of the respective AQ score and the member level weight; summing the weighted AQ scores to derive an overall weighted score for the job posting; generating a job grade probability pCH of confirmed hiring based on the total weighted score, the job grade pCH indicating a likelihood of the job posting being filled by the applicant; as well as The working level pCH is sent to the client device for display.
Citation Information
Patent Citations
Candidate Recruiting
US20090299993A1
Nonlinear featurization of decision trees for linear regression modeling
US20170004455A1