The disclosed embodiments relate to user recommendations. More specifically, the disclosed embodiments relate to techniques for performing model-based recommendation of career path transitions in social networks.
Social networks may include nodes representing individuals and/or organizations, along with links between pairs of nodes that represent different types and/or levels of social familiarity between the nodes. For example, two nodes in a social network may be connected as friends, acquaintances, family members, classmates, and/or professional contacts. Social networks may further be tracked and/or maintained on web-based social networking services, such as online professional networks that allow the individuals and/or organizations to establish and maintain professional connections, list work and community experience, endorse and/or recommend one another, run advertising and marketing campaigns, promote products and/or services, and/or search and apply for jobs.
In turn, social networks and/or online professional networks may facilitate activities related to business, sales, recruiting, networking, professional growth, and/or career development. For example, sales professionals may use an online professional network to locate prospects, maintain a professional image, establish and maintain relationships, and/or engage with other individuals and organizations. Similarly, recruiters may use the online professional network to search for candidates for job opportunities and/or open positions. At the same time, job seekers may use the online professional network to enhance their professional reputations, conduct job searches, reach out to connections for job opportunities, and apply to job listings. Consequently, use of online professional networks may be increased by improving the data and features that can be accessed through the online professional networks.
In the figures, like reference numerals refer to the same figure elements.
The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. The computer-readable storage medium includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing code and/or data now known or later developed.
The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium.
Furthermore, methods and processes described herein can be included in hardware modules or apparatus. These modules or apparatus may include, but are not limited to, an application-specific integrated circuit (ASIC) chip, a field-programmable gate array (FPGA), a dedicated or shared processor that executes a particular software module or a piece of code at a particular time, and/or other programmable-logic devices now known or later developed. When the hardware modules or apparatus are activated, they perform the methods and processes included within them.
The disclosed embodiments provide a method, apparatus, and system for improving use of a social network or another community of users. As shown in
The entities may include users that use online professional network 118 to establish and maintain professional connections, list work and community experience, endorse and/or recommend one another, search and apply for jobs, and/or perform other actions. The entities may also include companies, employers, and/or recruiters that use online professional network 118 to list jobs, search for potential candidates, provide business-related updates to users, advertise, and/or take other action.
The entities may use a profile module 126 in online professional network 118 to create and edit profiles containing information related to the entities' professional and/or industry backgrounds, experiences, summaries, projects, skills, and so on. Profile module 126 may also allow the entities to view the profiles of other entities in online professional network 118.
Profile module 126 may also include mechanisms for assisting the entities with profile completion. For example, profile module 126 may suggest industries, skills, companies, schools, publications, patents, certifications, and/or other types of attributes to the entities as potential additions to the entities' profiles. The suggestions may be based on predictions of missing fields, such as predicting an entity's industry based on other information in the entity's profile. The suggestions may also be used to correct existing fields, such as correcting the spelling of a company name in the profile. The suggestions may further be used to clarify existing attributes, such as changing the entity's title of “manager” to “engineering manager” based on the entity's work experience. As described in further detail below, such suggestions may improve the quality and completeness of the profiles, as well as the functionality of online professional network 118 for the entities.
The entities may use a search module 128 to search online professional network 118 for people, companies, jobs, and/or other job- or business-related information. For example, the entities may input one or more keywords into a search bar to find profiles, job postings, articles, and/or other information that includes and/or otherwise matches the keyword(s). The entities may additionally use an “Advanced Search” feature in online professional network 118 to search for profiles, jobs, and/or information by categories such as first name, last name, title, company, school, location, interests, relationship, skills, industry, groups, salary, experience level, etc.
The entities may also use an interaction module 130 to interact with other entities on online professional network 118. For example, interaction module 130 may allow an entity to add other entities as connections, follow other entities, send and receive messages with other entities, join groups, and/or interact with (e.g., create, share, re-share, like, and/or comment on) posts from other entities.
Those skilled in the art will appreciate that online professional network 118 may include other components and/or modules. For example, online professional network 118 may include a homepage, landing page, and/or content feed that provides the latest postings, articles, and/or updates from the entities' connections and/or groups to the entities. Similarly, online professional network 118 may include features or mechanisms for recommending connections, job postings, articles, and/or groups to the entities.
In one or more embodiments, data (e.g., data 1122, data x 124) related to the entities' profiles and activities on online professional network 118 is aggregated into a data repository 134 for subsequent retrieval and use. For example, each profile update, profile view, connection, follow, post, comment, like, share, search, click, message, interaction with a group, address book interaction, response to a recommendation, purchase, and/or other action performed by an entity in online professional network 118 may be tracked and stored in a database, data warehouse, cloud storage, and/or other data-storage mechanism providing data repository 134.
As shown in
Attributes of the members may be matched to a number of member segments, with each member segment containing a group of members that share one or more common attributes. For example, member segments in the social network may be defined to include members with the same industry, title, location, and/or language.
Connection information in profile data 216 may additionally be combined into a graph, with nodes in the graph representing entities (e.g., users, schools, companies, locations, etc.) in the social network. In turn, edges between the nodes in the graph may represent relationships between the corresponding entities, such as connections between pairs of members, education of members at schools, employment of members at companies, following of a member or company by another member, business relationships and/or partnerships between organizations, and/or residence of members at locations.
User activity data 218 may include records of member interactions with one another and/or content associated with the social network. For example, user activity data 218 may be used to track impressions, clicks, likes, dislikes, shares, hides, comments, posts, updates, conversions, and/or other user interaction with content in the social network. User activity data 218 may also track other types of activity, including connections, messages, and/or interaction with groups or events. Like profile data 216, user activity data 218 may be used to create a graph, with nodes in the graph representing social network members and/or content and edges between pairs of nodes indicating actions taken by members, such as creating or sharing articles or posts, sending messages, connection requests, joining groups, and/or following other entities.
In one or more embodiments, profile data 216 and user activity data 218 are used to improve the recommendation and/or use of member attributes (e.g., member attribute 1222, member attribute x 224) found in member profiles of the members. The member attributes may include values of location, skills, titles, industries, companies, schools, summaries, publications, patents, and/or other fields in the member profiles. The member attributes may be extracted from profile data 216 in data repository 134 and/or an attribute repository 234 containing standardized member attributes.
Attribute repository 234 may store data that is used to standardize, organize, and/or classify member attributes in profile data 216. For example, skills in profile data 216 may be organized into a hierarchical taxonomy that is stored in attribute repository 234 and/or another repository. The taxonomy may model relationships between skills (e.g., “Java programming” is related to or a subset of “software engineering”) and/or standardize identical or highly related skills (e.g., “Java programming,” “Java development,” “Android development,” and “Java programming language” are standardized to “Java”).
As mentioned above, a profile module (e.g., profile module 126 of
Management apparatus 206 and/or another component may display recommendations 208 within a graphical user interface (GUI) and/or application (e.g., web application, mobile application, native application, etc.) for accessing the social network. For example, recommendations 208 may be displayed within a content feed, profile-completion feature, recommendation feature, search feature, and/or another feature associated with the social network. Recommendations 208 may also, or instead, be delivered via email, a messaging service, one or more notifications, and/or another mechanism for communicating or interacting with the member.
Management apparatus 206 may also track actions 210 taken by the members in response to recommendations 208. For example, each member may have the option of performing an action in the recommendation (e.g., adding a recommended member attribute, viewing supplemental information or pages related to the recommendation, connecting with other members to obtain assistance associated with the recommendation, etc.) and/or ignoring the recommendation. Each response may be stored with an identifier of the corresponding member, an identifier of the recommendation to which the response was made, identifiers of one or more recommended member attributes in the recommendation, a timestamp of the response, and/or the action taken in the response.
An analysis apparatus 204 may aggregate job histories 212 from profile data 216 and/or user activity data 218 to obtain a number of job transition trends 214 associated with the members. For example, each job history may include a chronological sequence of jobs for a given member that terminates in the member's current job and/or the member's most recently listed job. As a result, the job history may be assembled from current and/or previous jobs listed in the member's current profile data 216 and/or user activity data 218 containing updates to jobs in the member's profile over time. Jobs in the job history may also be updated to include standardized titles, industries, seniorities, and/or other attributes from attribute repository 234.
In particular, analysis apparatus 204 may aggregate job histories 212 from multiple members of the social network by job-related attributes to identify job transition trends 214 as the most frequent and/or common types of job transitions among the members. For example, analysis apparatus 204 may use job histories 212 to identify job transition trends 214 between companies, company sizes, industries, job titles, seniorities, locations, and/or other job-related attributes. In another example, analysis apparatus 204 may apply a statistical model to job histories 212 to predict, based on a member's current job, job history, education, skills, and/or other member attributes, the most likely company, company size, title, industry, and/or seniority associated with the member's next job.
Job transition trends 214 may then be used by analysis apparatus 204 and/or management apparatus 206 to generate and/or improve recommendations 208. For example, analysis apparatus 204 may match a current job and/or most recently listed job of a member to a job transition trend of moving from the current job to a new job with a different title, industry, company, company size, and/or seniority. In turn, management apparatus 206 may output the job transition trend in a recommendation for advancing the career of the member, thereby increasing the relevance or usefulness of the social network to the member. Using job transitions to identify job transition trends and generate recommendations based on the job transition trends is described in further detail below with respect to
By generating recommendations 208 associated with job transition trends 214, the system of
Those skilled in the art will appreciate that the system of
Second, a number of techniques may be used to identify job transition trends 214 from job histories 212 and/or other data 202 in data repository 134. As mentioned above, a statistical model may be used to predict one or more attributes of a member's next job or jobs based on the member's current job, previous jobs, background, skills, education, and/or other member attributes. The statistical model may include a regression model, artificial neural network, support vector machine, decision tree, random forest, gradient boosting tree, naïve Bayes classifier, Bayesian network, clustering technique, deep learning model, hierarchical model, and/or ensemble model. Alternatively, job histories 212 may be aggregated into one or more summary statistics (e.g., counts, means, medians, percentiles, etc.) that are used to identify job transition trends 214.
Third, profile data 216, user activity data 218, job histories 212, and/or other data used to identify job transition trends 214 and/or generate recommendations 208 may be obtained from a variety of sources. As mentioned above, the data may be obtained and/or tracked within a social network and/or other community of users. Alternatively, some or all of the data may be obtained from other applications, user interactions, and/or public records.
Job transitions 306 may then be obtained as temporally ordered pairs of consecutive jobs from job sequences 304. For example, a job sequence containing four jobs may include three job transitions 306 between the first and second jobs, the second and third jobs, and the third and fourth jobs. Each job transition may include attributes 308 related to a first job from which a member has transitioned and a second, subsequent job to which the member has transitioned. For example, attributes 308 may identify the industry of the member, the first job, and/or the second job. Attributes 308 may also include the companies, company sizes, titles, seniorities, and/or locations of the first and second jobs.
Job transitions 306 may also, or instead, include non-consecutive jobs in job sequences 304 that include common and/or related attributes 308. For example, a job sequence may include two paid positions in the same company and/or industry, which are separated by an unpaid volunteer position that overlaps in time with one or both paid positions and is with a different company and/or industry. As a result, the job sequence may produce a job transition between the two paid positions because the paid positions are more likely to be related to the career path of the corresponding member than the unpaid position.
Job transitions 306 may then be aggregated by attributes 308 associated with the corresponding pairs of jobs to obtain job transition trends 310. For example, job transitions 306 may be aggregated by member industry, the title of the first job, and the title of the second job to identify trends in job transitions 306 between titles for a given industry. In a second example, job transitions 306 may be aggregated by company and/or member industry, the company of the first job, and the company of the second job to identify trends in job transitions 306 between companies for a given industry. In a third example, job transitions 306 may be aggregated by company and/or member industry, the company size of the first job, and the company size of the second job to identify trends in job transitions 306 between company sizes for a given industry. In a fourth example, job transitions 306 may be aggregated by the seniorities of the first and second jobs to identify trends in job transitions 306 between different seniorities. In a fifth example, job transitions 306 may be aggregated by titles, companies, and/or other attributes 308 that exclude industry to identify various job transition trends 310 associated with moving between industries. In a sixth example, job transitions 306 may be aggregated by a first attribute associated with the first job (e.g., industry) and a second, different attribute associated with the second job (e.g., company) to identify patterns in job transitions 306 across different types of attributes 308.
After job transitions 306 are aggregated into counts and/or other summary statistics associated with the corresponding attributes 308, job transition trends 310 may be obtained as the most frequent and/or common job transitions 306 associated with a given aggregation. For example, job transition trends 310 may include a pre-specified number of job transitions 306 with the highest count in a given aggregation and/or across all aggregations. In another example, job transition trends 310 may include aggregated job transitions 306 with counts and/or other summary statistics that are higher than a pre-specified threshold (e.g., percentile, number, etc.).
Once job transition trends 310 are identified, job transition trends 310 are matched to member features 312 of the members. For example, one or more attributes of a member's current and/or former jobs (e.g., title, company, industry, seniority, etc.) may be matched to the corresponding attributes 308 of the first job in a job transition trend.
Alternatively, summary statistics generated from aggregated job transitions 306 may be used as input to a statistical model that predicts, for a given set of member features 302 (e.g., job history, educational background, skills, title, industry, location, demographic attributes, publications, groups, etc.), one or more subsequent jobs for the corresponding member. For example, the statistical model may output an industry, title, seniority, company, company size, and/or other attribute associated with a predicted next job for the member and/or one or more confidence scores associated with the outputted attribute(s).
Job transition trends 310 that are matched to member features 312 of one or more members may then be outputted in one or more recommendations 316 to the member(s). Recommendations 316 may be displayed within a homepage, news feed, search module, profile module, and/or other part of the social network. Recommendations 316 may also, or instead, be delivered via email, a messaging service, one or more notifications, and/or another mechanism for communicating or interacting with the member.
Recommendations 316 may identify one or more attributes 308 associated with the corresponding job transition trends 310. For example, a recommendation may identify one or more member features 312 used to match a member to a job transition trend (e.g., “People with your job title are moving to a new role”). The recommendation may also include attributes 308 associated with one or both jobs in the job transition trend (e.g., the job title, company, company size, industry, seniority, and/or location associated with the first and/or second jobs in the job transition trend).
Recommendations 316 may provide additional information and/or actions to facilitate carrying out of the corresponding job transition trends 310. For example, a recommendation to transition from a member's current job to a new job title and/or company may include a mechanism for searching for, identifying, and/or reaching out to other members who have made the same transition. The other members may be in the member's network (e.g., first- and/or second-degree connections of the member) or outside the member's network (e.g., people who are willing to act as mentors or offer advice on certain career transitions).
In another example, the recommendation may include a statistic associated with the transition (e.g., “192 people transitioned to this role this month,” “people who transitioned to this role have increased their annual salary by an average of $10,000,” etc.). In a third example, the recommendation may suggest a job listing, recruiter, company, and/or other resource that can help the member find a position to complete the transition.
In a fourth example, the recommendation may outline one or more career paths for the member, with each career path containing a sequence of jobs from the member's current job and/or one or more previous jobs to increasingly senior and/or advanced positions. The recommendation may also include suggestions or advice for advancing along the career path, such as skills, education, and/or work experience required to move to subsequent jobs in the career path; companies, recruiters, and/or job listings that can be leveraged to transition to each job in the career path; and/or courses or materials for learning skills and/or acquiring experience required to move to each job in the career path. Consequently, recommendations 316 of job transition trends 310 may be used to provide guidance and/or insights for developing the careers of the members.
Recommendations 316 associated with job transition trends 310 may also, or instead, be given to other entities in the social network. For example, one or more members that are matched to a given job transition trend may be recommended as potential job candidates for companies, recruiters, and/or other entities with job listings that match the job transition trend. The members may further be sorted and/or filtered by skills, education, work experience, and/or other qualifications associated with the job listings.
Initially, job histories for members of a social network are obtained (operation 402). The job histories may include current and/or previous jobs of the members that are listed in the member's profiles and/or obtained from records of the member's profile updates.
Next, a set of job transitions in the job histories is aggregated to obtain a set of job transition trends associated with the members. In particular, a set of job transitions is obtained as pairs of temporally ordered jobs from sequences of jobs in the job histories (operation 404). For example, a job history for a member may include a chronologically ordered sequence of jobs held by the member, up to the member's current job and/or the most recently listed job for the member. In turn, job transitions for the member may include transitions between consecutive and/or non-consecutive chronologically ordered jobs in the sequence.
The job transitions are then aggregated by attributes associated with the corresponding pairs of consecutive jobs (operation 406), and the job transition trends are obtained as frequent job transitions from the aggregated job transitions (operation 408). For example, the job transitions may be aggregated by companies, company sizes, industries, seniorities, titles, locations, and/or other attributes associated with the first and second jobs in each job transition to obtain a count, mean, median, percentile, and/or other summary statistic associated with the job transitions. The job transition trends may then be obtained as the most frequent and/or common job transitions for each type of aggregation, aggregated job transitions with summary statistics that exceed a given value (e.g., count, percentile, etc.), and/or job transitions that frequently occur within a given member segment (e.g., industry, location, language, etc.). The job transition trends may also, or instead, be obtained using one or more statistical models that are trained using the aggregated job transitions. In turn, the statistical model(s) may predict, for a given set of attributes (e.g., industry, seniority, title, company, company size, location, etc.) associated with a first job, one or more attributes of a second job following the first job.
Multiple types of aggregation may also be performed to identify job transition trends associated with multiple types of attributes. For example, the job transitions may be aggregated by industries and job titles associated with the first and second jobs to determine job transition trends that involve industry changes. In another example, the job transitions may be aggregated by titles and companies associated with the first and second jobs to identify job transition trends associated with changing companies instead of within the same company.
Once the job transition trends are obtained, a job transition trend is matched to member features for a member of the social network (operation 410). For example, the company, company size, industry, title, seniority, location, and/or other attribute associated with the first job in the job transition trend may be matched to the current job, most recently listed job, and/or other profile attributes for the member in the social network.
Finally, the job transition trend is outputted as a recommendation for advancing a career of the member (operation 412). For example, the recommendation may suggest a transition from the member's current job and/or most recently listed job to a second job associated with a job transition trend that is relevant to the member. The recommendation may also include mechanisms for identifying, searching for, and/or reaching out to other members who have made the same transition or a similar transition; job listings, companies, recruiters, and/or other resources that can be used to make the transition; and/or one or more career paths that include the recommended transition, as well as additional transitions to subsequent jobs after the second job. Operations 410-412 may be repeated for additional members of the social network and/or other job transition trends associated with the members.
Computer system 500 may include functionality to execute various components of the present embodiments. In particular, computer system 500 may include an operating system (not shown) that coordinates the use of hardware and software resources on computer system 500, as well as one or more applications that perform specialized tasks for the user. To perform tasks for the user, applications may obtain the use of hardware resources on computer system 500 from the operating system, as well as interact with the user through a hardware and/or software framework provided by the operating system.
In one or more embodiments, computer system 500 provides a system for improving use of a social network. The system includes an analysis apparatus and a management apparatus, one or both of which may alternatively be termed or implemented as a module, mechanism, or other type of system component. The analysis apparatus may obtain job histories for members of a social network. Next, the analysis apparatus may aggregate a set of job transitions in the job histories to obtain a set of job transition trends associated with the members. The analysis apparatus may then match a job transition trend in the set of job transition trends to member features for a member of the social network. Finally, the management apparatus may output the job transition trend as a recommendation for advancing a career of the member.
In addition, one or more components of computer system 500 may be remotely located and connected to the other components over a network. Portions of the present embodiments (e.g., analysis apparatus, management apparatus, data repository, attribute repository, etc.) may also be located on different nodes of a distributed system that implements the embodiments. For example, the present embodiments may be implemented using a cloud computing system that recommends job and/or career path transitions for advancing the careers of a set of remote members of a social network.
By configuring privacy controls or settings as they desire, members of a social network, a professional network, or other user community that may use or interact with embodiments described herein can control or restrict the information that is collected from them, the information that is provided to them, their interactions with such information and with other members, and/or how such information is used. Implementation of these embodiments is not intended to supersede or interfere with the members' privacy settings.
The foregoing descriptions of various embodiments have been presented only for purposes of illustration and description. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention.
This application claims priority under 35 U.S.C. section 119(e) to U.S. Provisional Application Ser. No. 62/561,551, entitled “Model-Based Recommendation of Career Path Transitions in Social Networks,” by inventors Qin Iris Wang, Bryan S. Hsueh, Ningfeng Liang, Mahesh Vishwanath, Paul Ogden Fletcher, Angela J. Jiang, Shubham Anandani, Warren E. Bartolome, Aayush Gopal Dawra, Bef Ayenew and Charu Jangid, filed on 21 Sep. 2017.
Number | Date | Country | |
---|---|---|---|
62561551 | Sep 2017 | US |