US20180121880A1 - Inferring skills associated with a job - Google Patents

Inferring skills associated with a job Download PDF

Info

Publication number
US20180121880A1
US20180121880A1 US15/795,706 US201715795706A US2018121880A1 US 20180121880 A1 US20180121880 A1 US 20180121880A1 US 201715795706 A US201715795706 A US 201715795706A US 2018121880 A1 US2018121880 A1 US 2018121880A1
Authority
US
United States
Prior art keywords
job
skill
score
skills
specific skill
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US15/795,706
Inventor
Siyuan Zhang
Qin Iris Wang
Hamed Firooz
Mohsen Jamali
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to US15/795,706 priority Critical patent/US20180121880A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FIROOZ, HAMED, JAMALI, MOHSEN, WANG, QIN IRIS, ZHANG, SIYUAN
Publication of US20180121880A1 publication Critical patent/US20180121880A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • G06Q10/1053Employment or hiring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • G06F17/30684
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063112Skill-based matching of a person or a group to a task
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Definitions

  • the subject matter disclosed herein generally relates to data processing associated with a skill determination system having a job posting database.
  • the skill determination system can associate a skill for ajob by using information for the job posting database.
  • An online system can maintain information on members, companies, organizations, employees, and employers.
  • the online system may maintain profile pages of members and company pages of companies.
  • the profile page can include education information, employment information, and skills of member.
  • the online system can store information about a member's relationships (e.g., connections) with other members of the online system.
  • job postings associated with a job at a company can be published on the online system.
  • FIG. 1 is a network diagram illustrating a network environment suitable for an online system such as a social network system, according to some example embodiments.
  • FIG. 2 is a block diagram illustrating various components of an online system (e.g., a social network system), according to some example embodiments.
  • an online system e.g., a social network system
  • FIG. 3 is a flowchart illustrating a method for associating a specific skill with a job posting, according to some example embodiments.
  • FIG. 4 is a flowchart illustrating a method for calculating a confidence score, according to some example embodiments.
  • FIG. 5 is a flowchart illustrating a method for calculating a skill frequency score, according to some example embodiments.
  • FIG. 6 is a user interface diagram illustrating an example of a job posting, according to some example embodiments.
  • FIG. 7 is a block diagram illustrating components of a machine, according to some example embodiments, able to read instructions from a machine-readable medium and perform any one or more of the methodologies discussed herein.
  • Example methods and systems are directed to techniques for a skill determination system having a job posting database. More specifically, the present disclosure relates to methods, systems, and computer program products for determining a skill associated with a job using job postings, a standardization database storing a plurality of standardized job titles, a skills database, and member data. Techniques for determining a skill associated with a job are described herein.
  • Examples of use cases associated with a determined skill for a job include a job recommendation model for a member (e.g., job seeker), a job search algorithm specialized for a member, and a skills suggestion for a recruiter publishing a job posting.
  • the job recommendation model can present the job posting to a member of the social networking service.
  • the member can be an active job seeker, and the job recommendation can be presented on the home page or newsfeed for the job seeker.
  • the job seeker can be presented to a recruiter that has published a job posting on the social networking service.
  • the skill determination system of the social networking service can help match a job seeker with a job posting using the determined skills for the job.
  • an online system such as, for example, a social network system, can perform an action in response to the determined skill for the job.
  • the action can be to present the profile page of a member to a recruiter associated with a job posting when the skill possessed by the member matches the determined skill for the job.
  • a job posting can be presented to a member when the skill possessed by the member matches the determined skill for the job.
  • the referenced document describes methods, systems, and computer program products for determining skills associated with a job using job applicant data and job posting data.
  • the referenced document describes a skill determination system that includes a skill inference model for jobs, and techniques for using the the skill determination system to associate specific skills with a job in order to better match members with jobs and better match recruiters with potential hires.
  • the referenced document describes embodiments wherein the skill determination system can infer skills for a job using member data of job applicants that have applied for the job.
  • a social networking service may not have a skills inference model to be able to automatically determine a skill for a specific job.
  • the only existing skills inference model may simply determine a skill for a specific member and not the specific job.
  • the skills inference model for a member the members of a social networking service can explicitly include possessed skills on their profile page.
  • some of the job postings on the social networking service may not include a desired skills section that includes skills associated with a job.
  • a desired skills section may only include free text that is similar to the job description segment.
  • the free text can be user input that is not standardized (e.g., without a taxonomy associated with a list of skills) between different job postings. Accordingly, and unlike the skills inference model for determining a skill for a member, the skills inference model for determining a skill for a job may not be performed using simply an offline setting.
  • One issue with job postings not including a desired skills section is that a system will not be able to use a job posting to readily identify the necessary skills candidates will need to adequately perform the job. This may make it difficult to efficiently find quality candidates for the job from amongst many, potentially millions, of potential candidates in the social networking service. Instead, when a job posting lacks a desired skills section, a recruiter may receive candidates that are not a good fit, thus making the recruiter's task of finding qualified candidates difficult and time consuming.
  • the skill determination system includes a skill inference model for jobs.
  • the skill determination system can be used to better match members with jobs and better match recruiters with potential hires.
  • the model can improve the click-through rate (CTR) value for a job search or a job referral.
  • CTR click-through rate
  • a skill determination system that accesses a standardization database, a skills database, and a member database to determine a skill for a job.
  • the standardization database can store a plurality of standardized job titles.
  • the skills database stores a plurality of skills. Each skill in the plurality of skills has an affinity score to a standardized job title.
  • the member database stores profile data of the members of the social networking service. The profile data includes skills listed on the profile page of each member.
  • the skill determination system can extract textual features from a job posting.
  • the textual features can include text obtained from a job title section, text obtained from a job description section, and text obtained from a desired skills section.
  • the skill determination system can select a specific skill for the job posting from a plurality of skills.
  • a skill scraper can search for and retrieve skills from the job title, job description, and desired skills sections.
  • the skill scraper can search for skills by comparing each word for a matching skill from the plurality of skills accessed from the skills database. When the word matches a skill, then the word is retrieved by the skill scraper.
  • a job title for the job posting can be selected from a plurality of standardized job titles.
  • an affinity score can be accessed for a specific skill based on the selected job title. The affinity score is accessed from the skills database.
  • the system can determine a skill frequency associated with the specific skill.
  • the skill frequency can be based on the specific skill being listed on a profile page of members that are associated with the job title.
  • the system can calculate a confidence score of the specific skill based on the textual features, the affinity score, and the skill frequency. Subsequently, the system can store, in the skills database, an association of the specific skill with the job posting when the confidence score transgresses a predetermined threshold (i.e., is above the predetermined threshold).
  • a member of an online system such as, for example, a social network system, may want to search for a job posting.
  • the search results can be personalized for each member based on the possessed skills of the member. For example, the job postings are ranked further based on the likelihood that the member has the skills associated with the job.
  • a member can save time and resources by applying for jobs that are more aligned with the member's skillset.
  • the social network system includes a specialized skills database having a database architecture tailored specifically for skills.
  • the skills database allows for a faster data retrieval rate based on an association with specific jobs.
  • the skills database allows for faster data processing related to the skills. For example, when recruiter searches for potential hiring candidates, the profile pages of members that have the desired skills are presented in real-time to the recruiter.
  • the skills database can include a skill quality metric that can deliver more insights about the skill of the member or the skill associated with a job.
  • techniques described herein allow for presenting a potential candidate for a job or a presenting a job posting for a job seeker based on a confidence score associated with the determined skill. Techniques described herein allow for faster processing speed for processing the skills data to determine the confidence score in real time. Additionally, techniques described herein allow for a faster retrieval of the skills data.
  • FIG. 1 is a network diagram illustrating a network environment 100 suitable for an online system, according to some example embodiments.
  • the online system may be implemented as a social network system.
  • the network environment 100 includes a server machine 110 , a member database 115 , a standardization database 117 , a skills database 120 , a first device 130 for a first user 132 , and a second device 150 for a second user 152 , all communicatively coupled to each other via a network 190 .
  • the server machine 110 , the member database 115 , the standardization database 117 , and the skills database 120 may form all or part of a network-based system 105 (e.g., a cloud-based server system configured to provide the social networking service to the first device 130 and second device 150 ).
  • the server machine 110 , the first device 130 , and the second device 150 may each be implemented in a computer system, in whole or in part, as described below with respect to FIG. 7 .
  • the member database 115 can store, but is not limited to storing, member data 116 , company data, and education data for the social networking service.
  • the member data 116 includes profile data, social graph data, and member activity data.
  • the member database 115 can include a plurality of databases (e.g., a first database to store profile data, a second database to store social data, and a third database to store member activity data).
  • the server machine 110 can access the information in the member database 115 using the network 190 .
  • the standardization database 117 can store a plurality of standardized job titles 118 .
  • Techniques for selecting a standardized job title for job posting from the plurality of standardized job titles is described in U.S. patent application Ser. No. 14/523,357 filed on Oct. 24, 2014 titled “Title Standardization,” and U.S. patent application Ser. No. 14/975,633 filed on Dec. 18, 2015 titled “Title Standardization Ranking Algorithm,” which are hereby incorporated by reference in their entirety.
  • the standardization database 117 can store a plurality of standardized job postings 119 .
  • Techniques for standardizing a job posting are described in U.S. patent application Ser. No. 14/502,224 and U.S. patent application Ser. No. 14/502,261, both being filed on Sep. 30, 2014 and both being titled “Job Posting Standardization and Deduplication.” which are hereby incorporated by reference in their entirety.
  • the skills database 120 can store a plurality of skills 125 .
  • the plurality of skills can be standardized skills.
  • the standardized skills can be listed on a profile page of a member, or in the desired skills section of a job posting.
  • Each skill in the plurality of skills 125 can be associated with one or more related jobs 126 .
  • each skill in the plurality of skills 125 can have a title affinity score 127 , an organization affinity score 128 , and an industry affinity score 129 .
  • a skill can have a title at an organization affinity score, a function at an organization affinity score, and a title at an industry affinity score.
  • the title affinity score 127 can be a measure of how likely a skill corresponds with a job described by the job title.
  • the organization affinity score 128 can be a measure of how likely a skill corresponds with a job in a specific organization (e.g., a specific company).
  • the industry affinity score 129 can be a measure of how likely a skill corresponds with a job in a specific industry.
  • the title affinity score 127 is a likelihood that a certain skill is associated with a job posting of a certain job title in general, whereas the skill determinator analyzes the job posting and sums the different affinity scores to determine the confidence score of a specific skill being needed for the job posting.
  • these skills may include specific skills such as the ability to program in a particular programming language, such as Java or C++, or broader skills, such as the ability to program a computer, or specialized skills such as programming web-based applications. While reference is made to skills in the present disclosure, it will be understood by those skilled in the art with the benefit of the present disclosure, that the techniques taught herein are applicable to other concepts.
  • the standardized list of skills may be obtained by utilizing a pre-determined list of skills.
  • the predetermined list of skills may be manually generated, but in other examples the pre-determined list of skills may be automatically generated.
  • the list of standardized skills may be created by processing member profiles of a social or business networking service In some examples, this processing can be done automatically using a computing system or other machine. In yet other examples, this processing could be manually accomplished.
  • a skills section of a member profile of a social networking service may be used.
  • the skills section of the member profile may be a raw text (e.g., free-text) section that allows users to freely type in skills they possess, this information is generally referred to as unstructured information.
  • the member profile skills section may be implemented as a list that allows users to choose a skill based upon structured data such as a predetermined listing of skills or, in other examples, the skills section may be implemented as some combination of unstructured data such as free-text and structured data such as a pre-determined list selection.
  • One example of selecting a skill from a plurality of skills 125 is using a skill ranking system for the selection of the skill.
  • the skill ranking system is described in U.S. patent application Ser. No. 13/357,302 filed on Jan. 24, 2012 titled “SKILL RANKING SYSTEM.” which is hereby incorporated by reference in its entirety.
  • the skill scraper of the skill determination system described herein can identify skills in a job posting using the technique described in U.S. patent application Ser. No. 14/502,993 filed on Sep. 30, 2014 titled “TECHNIQUES FOR IDENTIFYING AND RECOMMENDING SKILLS,” which is hereby incorporated by reference in its entirety.
  • the users 132 and 152 are also shown in FIG. 1 .
  • One or both of the users 132 and 152 may be a human user (e.g., a member of the online system or the social network system), a machine user (e.g., a computer configured by a software program to interact with the first device 130 or the second device 150 ), or any suitable combination thereof (e.g., a human assisted by a machine or a machine supervised by a human).
  • the user 132 is not part of the network environment 100 , but is associated with the first device 130 and may be a user of the first device 130 .
  • the first device 130 may be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smartphone, or a wearable device (e.g., a smart watch or smart glasses) belonging to the user 132 .
  • the user 152 is not part of the network environment 100 , but is associated with the second device 150 .
  • the second device 150 may be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smartphone, or a wearable device (e.g., a smart watch or smart glasses) belonging to the user 152 .
  • the user 132 can be a job applicant who is applying to jobs listed on job postings on the social networking service. Additionally, the user 152 can be a recruiter that has listed a job posting and is searching for a potential job applicant for the job posting.
  • the skill determination system can match the job applicant with the recruiter using the determined skill of the job posting.
  • the server machine 110 can transmit a message to the user 132 , using network 190 , that a job posting is tailored to the user 132 based on the determined skill associated with the job.
  • the network 190 may be any network that enables communication between or among machines, databases, and devices (e.g., the server machine 110 and the first device 130 ). Accordingly, the network 190 may be a wired network, a wireless network (e.g., a mobile or cellular network), or any suitable combination thereof. The network 190 may include one or more portions that constitute a private network, a public network (e.g., the Internet), or any suitable combination thereof.
  • the network 190 may include one or more portions that incorporate a local area network (LAN), a wide area network (WAN), the Internet, a mobile telephone network (e.g., a cellular network), a wired telephone network (e.g., a plain old telephone system (POTS) network), a wireless data network (e.g., a Wi-Fi network or WiMAX network), or any suitable combination thereof. Any one or more portions of the network 190 may communicate information via a transmission medium. As used herein.
  • transmission medium refers to any intangible (e.g., transitory) medium that is capable of communicating (e.g., transmitting) instructions for execution by a machine (e.g., by one or more processors of such a machine), and includes digital or analog communication signals or other intangible media to facilitate communication of such software.
  • any of the machines, databases, or devices described herein may be implemented in a general-purpose computer modified (e.g., configured or programmed) by software (e.g., one or more software modules) to be a special-purpose computer to perform one or more of the functions described herein for that machine, database, or device.
  • a “database” is a data storage resource and may store data structured as a text file, a table, a spreadsheet, a relational database (e.g., an object-relational database), a triple store, a hierarchical data store, or any suitable combination thereof.
  • any two or more of the machines, databases, or devices described herein may be combined into a single machine, database, or device, and the functions described herein for any single machine, database, or device may be subdivided among multiple machines, databases, or devices.
  • FIG. 2 is a block diagram illustrating components of an online system 210 (e.g., a social network system hosting a social networking service), according to some example embodiments.
  • the online system 210 is an example of a network-based system 105 of FIG. 1 .
  • the online system may be implemented as a social network system.
  • the online system 210 can include a user interface 202 , a skill scraper 204 , a skill determinator 206 , a confidence score calculator 207 , and an action module 208 .
  • Two or more of the components 202 - 208 may be configured to communicate with each other (e.g., via a bus, shared memory, or a switch).
  • the user interface 202 can provide information or cause an interface to be rendered on a client device of a member.
  • the user interface 202 can present, to user 132 , a job posting having a desired skill that is possessed by the user 132 .
  • the online system 210 can communicate with the member database 115 , the standardization database 117 , and the skills database 120 of FIG. 1 .
  • the member database 115 can store member data 116 , such as profile data 212 , social graph data 214 , and member activity data.
  • the profile data 212 includes information from a profile page of a member.
  • the standardization database 117 stores standardization data, such as a list of standardized job titles 118 and standardized job postings 219 .
  • the standardized job postings 119 can include standardized organization names (e.g., standardized company names), standardized industries, standardized titles, standardized job descriptions, and standardized desired skills.
  • the skill determination system can determine a standardized title for the job posting, and use the standardized title to retrieve a list of standardized skills desired for the job.
  • the confidence score calculator 207 can calculate a confidence score for a skill being associated with a job based on the member data 116 , and information accessed from the standardization database 117 and the skills database 120 .
  • some of the processing of the data for determining the endorser value, the recipient value, and overlap value can be performed by an offline data processor 240 on a periodic basis (e.g., nightly) in order to return faster calculation results.
  • the profile data 212 can be used to determine the confidence score for a specific skill being associated with a job.
  • the confidence score depends on the profile data 212 (e.g., job title, degree, industry, skills) of members having a similar job title, employer, and/or industry as those listed in the job posting
  • Profile data 212 related to the specific skill includes having the specific skill listed on the profile page, a recommendation of the specific skill, a degree associated with the specific skill, a job title associated with the specific skill, and other educational and/or employment data associated with the specific skill.
  • the online system 210 maintains associations among various skills, and skills associated with the specific skill may be determined to be the same or related.
  • profile data 212 can be used to determine the confidence score of a specific skill being associated with a job.
  • the profile data 212 that is commonly requested and displayed as part of a member's profile page includes the member's age, birthdate, gender, interests, contact information, home location (e.g., city and state), educational background (e.g., schools, majors, matriculation dates, graduation dates, etc.), employment history, office location, skills, professional organizations, and other such personal and/or employment information.
  • the profile data 212 may include the various skills that each member has indicated he or she possesses. Additionally, the profile data 212 may include skills of a member that have been endorsed by another member. Furthermore, the profile data 212 may include recommendations of a member from another member (e.g., co-worker).
  • the profile data 212 can include information commonly included in a professional resume or curriculum vitae, such as information about a person's education, the company at which a person is employed, the location of the employer, an industry in which a person is employed, a job title or function, an employment history, skills possessed by a person, professional organizations of which a person is a member, and so on.
  • the social graph data 214 includes a digital representation of a member's relationship with other members of the social networking service.
  • the social graph data 214 can be associated with an entity's presence within the online system 210 .
  • a social graph is implemented with a specialized graph data structure in which various entities (e.g., people, companies, schools, government institutions, non-profits, and other organizations) are represented as nodes connected by edges, where the edges have different types representing the various associations and/or relationships among the different entities.
  • the social graph data 214 of a member can include first-degree connections, second-degree connections, and so on
  • a first member is a first-degree connection to a second member when the first and second members are directly connected to each other in the online system 210 .
  • a first member is a second-degree connection to a second member when the first and second members are not connected to each other, but both are connected to a third member.
  • an nth-degree connection is a connection where a first node and a second node are separated by N-1 nodes.
  • the member data 116 may include member activity data.
  • the member activity data include members' interactions with the various applications, services, and content made available via the online system 210 , and a member's behavior (e.g., content viewed, links selected, etc.) may be used to determine the member's proficiency in a specific skill.
  • the skills database 120 stores a list of skills 125 .
  • the list of skills 125 can be standardized, and each skill can have an association with one or more related jobs 126 .
  • the skills database 120 stores affinity scores 216 , such as a title affinity score, an organization affinity score 127 , a title at organization affinity score, a supertitle at organization affinity score, a function at organization affinity score, and a title at industry affinity score.
  • the title affinity score 127 corresponds to the affinity of a title with the specific skill (e.g., as indicated by correlations connections between a given job title and specific skills possessed by people holding that title).
  • the organization score 128 corresponds to the affinity of an organization with the specific skill (e.g., as indicated by correlations or connections between a given company and company employees possessing the specific skill).
  • the title at organization affinity score corresponds to the affinity of a specific title at an organization with the specific skill (e.g., as indicated by correlations or connections between a job title at a company and company employees with that title possessing the specific skill).
  • the supertitle at organization affinity score corresponds to the affinity of a specific supertitle at an organization with the specific skill (e.g., as indicated by correlations or connections between a given company and company employees possessing the specific skill).
  • the function at organization affinity score corresponds to the affinity of a specific function at a company with the specific skill (e.g., as indicated by correlations or connections between a function or role at a company and company personnel in that function or role who possess the specific skill).
  • the title at industry affinity score corresponds to the affinity of a specific title in an industry with the specific skill (e.g., as indicated by correlations or connections between a given industry and people in that industry possessing the specific skill).
  • the title affinity score is a measure of how likely a skill corresponds with a job described by the job title.
  • the organization affinity score is a measure of how likely a skill corresponds with a job in a specific organization (e.g., a specific company).
  • the industry affinity score is a measure of how likely a skill corresponds with a job in a specific industry.
  • the skill determination system can obtain the affinity scores 216 for the specific skill after the standardized job title, company, industry, and/or function have been determined for the job posting. Additionally, the confidence score calculator 207 can calculate the confidence score for the skill using one or more of the affinity scores 216 associated with the specific skill.
  • a skill scraper 204 can obtain raw text from the job posting.
  • the job posting includes a job title section, a job description section, and a desired skill section.
  • the content of job title section, the job description section, and the desired skill section include raw text (e.g., plain text).
  • the skill scraper 204 can compare the plain text in the job posting with the list of skills 125 stored in the skills database 120 to determine a match or a similarity.
  • the skill scraper 204 can highlight and retrieve the words in the job posting that are determined to be a potential skill based on the comparison with the list of skills 125 .
  • the confidence score calculator 207 can calculate a confidence score to determine the likelihood that the potential skill (e.g., the retrieved word from the job posting) is a specific skill that is associated with the job posting or job.
  • the confidence score can be further based on a skill frequency value.
  • the confidence score calculator 207 can calculate the skill frequency value of the specific skill.
  • the skill frequency value can be calculated by determining the number of members with the specific skill on their profile, or by determining the number of skill mentions in current job postings.
  • the skill frequency value associated with a member can be based on the frequency of appearance of the specific skill in profiles of members.
  • the skill frequency value can be calculated for members with a specific job title, in a specific industry, in a specific company, or with a specific seniority.
  • the skill frequency value associated with current job postings can be based on the frequency of the specific skill being mentioned in the job description section of active job postings.
  • the skill frequency value associated with the current job postings can also be based on the frequency of the specific skill being mentioned in the desired skills section of active job postings.
  • the action module 208 can perform an action when the confidence score transgresses a predetermined threshold (i.e., is above the predetermined threshold).
  • a predetermined threshold i.e., 80 out of 100
  • an association between the specific skill and the job is stored in the skills database 120 .
  • the specific skill is a skill in the list of skills 125 , and the specific skill is linked to the job as a related job 126 for the specific skill.
  • the action module 208 can present a profile page of a member that possesses the specific skill to a recruiter that has published a job posting for a job that is associated with the specific skill. Alternatively, the action module 208 can also present the job posting associated with the specific skill to a member that possesses the specific skill.
  • the online system 210 can be configured to process data offline or periodically using an offline data processor 240 .
  • some or all of the selections and calculations performed by the skill determinator 206 and confidence score calculator 207 can be performed by the offline data processor 240 .
  • the offline data processor 240 can include one or more large-scale processing servers, such as ApacheTM Hadoop® servers that access the member data 116 , the standardization database 117 , and the skills database 120 periodically (e.g., on a nightly basis) in order to calculate the confidence scores, the affinity scores 216 , and the skill frequency scores.
  • Calculating the confidence score of the specific skill being associated with the job posting may be computationally intensive. Therefore, some of the calculating and selecting can be done offline, such as the calculating of one or more parameters (e.g., affinity score, skill frequency score) associated with the confidence score.
  • the data e.g., the member data 116 , from the standardization database 117 , from the skills database 120
  • the confidence score calculator 207 may be processed offline by the confidence score calculator 207 to determine the confidence score.
  • the one or more parameters calculated offline less real-time processing time may be needed by the confidence score calculator 207 in order to calculate the confidence score for each skill.
  • these parameters can be inputted in the confidence score calculator 207 in real time in order to almost instantaneously present the job posting to a member, or the profile page of a member to a recruiter.
  • the confidence score calculator 207 can calculate the confidence score for the specific skill being associated with the job posting. Additionally, the user interface 202 can present the job posting to a member that possesses the specific skill when the confidence score transgresses a predetermined threshold (i.e., is above the predetermined threshold).
  • FIG. 3 is a flowchart illustrating operations of the online system 210 in performing a method 300 for determining whether a specific skill is associated with a job posting, according to some example embodiments. Operations in the method 300 may be performed by the online system 210 , using the skill scraper 204 , the skill determinator 206 , the confidence score calculator 207 , and the action module 208 as described above with respect to FIG. 2 .
  • the online system 210 can include a standardization database 117 storing a plurality of standardized job titles 118 . Additionally, the online system 210 can include a skills database 120 storing a plurality of skills 125 associated with affinity scores 216 to standardized job titles 118 . For example, each skill in the plurality of skills 125 can have an affinity score to a standardized job title from the plurality of standardized job titles 118 stored in the standardization database 117 .
  • the affinity scores 216 can be determined by the online system 210 using the offline data processor 240 using the member data 116 and data from the standardization database 117 .
  • the online system 210 can include a member database 115 storing profile data 212 of a plurality of members in a social networking service.
  • the profile data 212 of a member in the plurality of members can include a plurality of skills listed on a profile page of the member.
  • the skill scraper 204 extracts textual features from a job posting on the social networking service.
  • the job posting can include raw text that is extracted as textual features.
  • the raw text is the extracted textual features.
  • the extracted textual features may include metadata (e.g., XML, HTML) that include more information about the job posting, such as location information, author information, and other job-related information.
  • the server machine 110 can access the job posting that is published on the social networking service using the network 190 in order to extract the textual features from the job posting.
  • the job description can include a raw text (e.g., free-text) section that allows users to freely type in skills they want applicants to possess (e.g., skills necessary for the job); this information is generally referred to as unstructured information.
  • a user may allowed to select skills from a list based upon structured data such as a predetermined list of skills 125 .
  • the job posting may include some combination of unstructured data such as raw text and structured data such as a pre-determined list selection.
  • the skill determinator 206 selects, using the extracted textual features, a specific skill for the job posting from the plurality of skills 125 .
  • the extracted textual features include one or more specific skills that are mentioned in the job postings.
  • the skill scraper 204 extracts the raw text from the job posting at operation 310 .
  • the skill determinator 206 determines that one or more specific skills are contained in the raw text of the job posting. For example, the skill determinator 206 compares the words in the raw text with the list of skills 125 in the skills database 120 . When a word obtained from the raw text matches a skill from the list of skills 125 , then the skill determinator 206 determines that the word is a specific skill.
  • the skill that has the most mentions in the job posting can be selected as the specific skill in operation 320 .
  • the skill that is mentioned in the job title section of the job posting can be selected as the specific skill in operation 320 .
  • the skill that is mentioned in the desired skills section of the job postings can be selected as the specific skill in operation 320 .
  • a processor in the server machine 110 can select the specific skill from the extracted textual features (e.g., raw text).
  • the specific skill is selected at operation 320 based on the specific skill being explicitly mentioned in the job posting. For example, when the raw text in the job title section includes “programmer,” then the selected skill at operation 320 can be “programming,” which is included as a skill in the plurality of skills stored in the skills database 120 .
  • the specific skill is selected based an association with a word in the raw text of the job posting.
  • the specific skill selected is “programming” when “Java” is included in the raw text of the job posting.
  • the skill determinator 206 selects, using the extracted textual features, a job title for the job posting from the plurality of standardized job titles 118 .
  • the plurality of standardized job titles 118 can be accessed from the list of job titles stored in the standardization database 117 .
  • the skill determinator 206 can select a standardized job title for the job posting using the raw text in the job title section of the job posting.
  • the raw text in the job title section of the job posting can include keywords (e.g., Java programmer) that are associated with a specific standardized job title (e.g., software developer).
  • the job title can be derived by calculating a frequency of occurrence of a phrase in the job posting, calculating the conditional probability value indicative of probability of the phrase being a job title, and designating the phrase as the job title based on its calculated frequency of occurrence and the conditional probability value.
  • the job title for the job posting is selected based on the phrase matching or being similar to a standardized job title from the list of job titles 118 .
  • the skill determinator 206 accesses, from the skills database 120 , an affinity score for the specific skill based on the selected job title.
  • the skill determinator 206 can access the affinity scores 216 from the skills database 120 .
  • the skills database 120 includes a title affinity score 127 for the affinity of the selected job title having the specific skill.
  • the skill determinator 206 accesses the affinity score for the likelihood of needing the “programming” skill when applying for a “software developer” job position.
  • each skill in the plurality of skills 125 can be associated with one or more related jobs 126 . Additionally, each skill in the plurality of skills can have a title affinity score 127 , an organization affinity score 128 , and an industry affinity score 129 . Moreover, a skill can have a title at an organization affinity score, a function at an organization affinity score, and a title at an industry affinity score.
  • a processor in the server machine 110 can access or determine the affinity score for the specific skill. The server machine 110 can access the skills database 120 using the network 190 .
  • FIG. 4 further describes a method for calculating the overall affinity score for the specific skill using information obtained from the job posting.
  • the affinity scores 216 are an indication of the likelihood that the specific skill is associated with the title, company, industry, title at company, function at company, and title at industry.
  • a processor in the server machine 110 can calculate the affinity scores 216 in real time. In some instances, part of the calculation of the affinity scores 216 can be performed offline using the offline data processor 240 .
  • FIG. 8 of the referenced application shows an example method of tagging or identifying members that possess a skill in the standardized list of skills 125 .
  • FIG. 10 of the referenced application shows an example ranking algorithm to rank members associated with a skill.
  • the affinity scores 216 can be calculated using similar techniques for calculating the score in FIGS. 8 and 10 of the referenced application.
  • the skill determinator 206 determines a skill frequency score associated with the specific skill.
  • the skill frequency score is calculated using the number of times the specific skill is listed on a profile page of members in the plurality of members that are associated with the job title selected at operation 330 .
  • a processor in the server machine 110 can determine the skill frequency score for the specific skill.
  • FIG. 5 further describes a method for calculating the skill frequency score for the specific skill.
  • the confidence score calculator 207 calculates a confidence score of the specific skill being associated with the job posting based on the textual features, the affinity score, and/or the skill frequency score.
  • the confidence score can be an average of the affinity score from operation 340 and the skill frequency score from operation 350 .
  • the confidence score can be calculated using the textual features.
  • the textual features can indicate the number of instances that the specific skill is mentioned in the job title section (i.e., job title mentions), the number of instances that the specific skill is mentioned in the job description section (i.e., job description mentions), and the number of instances that the specific skill is mentioned in the desired skill section (i.e., desired skills mentions).
  • the confidence score can range from 0-100.
  • a higher score can be associated with the specific skill being more likely to be associated with the job posting than another job posting having a lower score.
  • a processor in the server machine 110 can calculate the confidence score in real time. In some instances, part of the calculation of the confidence score can be performed offline using the offline data processor 240 .
  • the confidence score can be calculated using Equation 1:
  • the action module 208 stores, in the skills database 120 , an association of the specific skill with the job posting when the confidence score transgresses a predetermined threshold (i.e., is above the predetermined threshold).
  • the association can be stored in the skills database 120 when the confidence score calculated at operation 360 is above a predetermined threshold.
  • the predetermined threshold e.g., 80 out of 100
  • the predetermined threshold can be preset by an administrator of the online system 210 .
  • the predetermined threshold can be adjusted in direct correlation with the number of specific skills associated with job posting. For example, the predetermined threshold is decreased when the job posting does not have any specific skills associated with the job posting.
  • the user interface 202 can present, on a display of a device of user 132 , an indication that the job posting is associated with the specific skill. Subsequently, the user interface 202 can receive a user input from the user 132 (e.g., recruiter) to include the specific skill in the desired skill section of the job postings.
  • a user input from the user 132 e.g., recruiter
  • the user interface 202 can present, on a display of a device of a recruiter associated with the job posting, a profile of a member having the specific skill when the confidence score transgresses the predetermined threshold (i.e., is above the predetermined threshold). For example, the user interface 202 presents an ideal job candidate to the recruiter based on the job posting being associated with the specific skill, and the job candidate possessing the specific skill. Additionally, the skills database 120 can include a ranking system for each member possessing the specific skill, so the ideal job candidate can be the member having the highest ranking score, or a ranking score that is higher than a predetermined threshold.
  • the user interface 202 can present, on a display of a device of a member having the specific skill, the job posting when the confidence score transgresses the predetermined threshold (i.e., is above the predetermined threshold). For example, the user interface 202 presents the job posting to a member that is actively looking for a new position. The job posting can be presented based on a match that the member possesses the specific skill that is desired for the job posting.
  • the textual features of the job posting include a job title section and a job description section.
  • the method 300 can further include the confidence score calculator 207 increasing the confidence score by a first value when the specific skill is included in the job title section. As presented in Equation 1, the first value can be related to the C 2 coefficient.
  • the method 300 can further include the confidence score calculator 207 increasing the confidence score by a second value when the specific skill is included in the job description section.
  • the second value can be related to the C 3 coefficient. Given that a skill mentioned in the job title section is more relevant than a skill mentioned in the job description section, the second can be less than the first value. In some instances, the second value can be based on a number of instances the specific skill is explicitly mentioned in the job description section.
  • the method 300 can further include the confidence score calculator 207 increasing the confidence score by a third value when the specific skill is included in the desired skill section.
  • the second value can be related to the C 4 coefficient.
  • the third value is less than the first value but more than the second value.
  • FIG. 4 is a flowchart illustrating operations of the online system 210 in performing method 400 for calculating the confidence score based on an affinity score, according to some example embodiments. Operations in the method 400 may be performed by the network-based system 105 , using the skill determinator 206 and confidence score calculator 207 described above with respect to FIG. 2 .
  • the skill determinator 206 can determine a factor associated with the job posting using the textual features.
  • textual features include raw text that is associated with a factor.
  • the factors can include, but are not limited, to a job title, an organization (e.g., a company), an industry, a job title at an organization (e.g., a company), a function at a company, and a title at an industry.
  • operation 340 in method 300 describes a technique for accessing the affinity score for the specific skill based on the selected job title.
  • the job title was selected at operation 330 .
  • the skill determinator 206 can determine another factor associated with the job posting. For example, the skill determinator 206 can determine that the job posting is for an associate position at a law firm.
  • the confidence score calculator 207 can access, from the skills database 120 , an affinity score for the specific skill based on the determined factor.
  • the affinity score for the specific skill can be a measure of how likely a skill corresponds with a job. For instance, the affinity score can be a calculated likelihood that a certain skill is associated with a job posting of a certain job title in general, whereas a skill determinator may analyze the job posting and sum different affinity scores to determine the confidence score of a specific skill being needed for the job posting.
  • the affinity score for the specific skill may be learned by a machine learning algorithm. In additional or alternative embodiments, the affinity scores may be input by an administrator of the social networking service.
  • the specific skill can be selected to be related to a legal skill, and the affinity score for knowing a legal skill as an associate at the law firm is accessed from the skills database 120 .
  • the affinity score for legal skills for the associate position at the law firm is higher than the affinity score for legal skills for the associate position at the consulting firm.
  • the confidence score calculator 207 can update the confidence score calculated at operation 360 based on the affinity score accessed at operation 420 .
  • the confidence score for associating legal skills with the associate position at the law firm is increased, while the confidence score for associating legal skills with the associate position at the consulting firm is decreased.
  • a processor in the server machine 110 can update the confidence score.
  • the skill determinator 206 can determine, using the extracted textual features, a company associated with the job posting. Additionally, the skill determinator 206 can access, from the skills database 120 , the organization affinity score 128 for specific skill based on the determined company. Furthermore, the confidence score calculator 207 can update the confidence score based on the organization affinity score 128 for the specific skill.
  • the skills database 120 can store a title affinity score 127 for the specific skill at the determined company. Additionally, the skills determinator 206 can determine, using the extracted textual features, a title at the determined company associated with the job posting. Furthermore, the confidence score calculator 207 can access, from the skills database 120 , the title affinity score for the specific skill at the determined company based on the determined title and update the confidence score based on the accessed title affinity score 127 .
  • the skills database 120 can store a function affinity score for the specific skill at the determined company. Additionally, the skills determinator 206 can determine, using the extracted textual features, a function at the determined company associated with the job posting. Furthermore, the confidence score calculator 207 can access, from the skills database, the function affinity score for the specific skill at the determined company based on the determined function and update the confidence score based on the accessed function affinity score.
  • the skills database 120 can store a title at industry affinity score for the specific skill. Additionally, the skills determinator 206 can determine, using the extracted textual features, an industry associated with the job posting. Moreover, the skills determinator 206 can determine, using the extracted textual features, a title at the determined industry associated with the job posting. Furthermore, the confidence score calculator 207 can access, from the skills database 120 , the title at industry affinity score for the specific skill based on the determined title at the determined industry; and update the confidence score based on the accessed title at industry affinity score.
  • FIG. 5 is a flowchart illustrating operations of the online system 210 in performing method 500 for calculating the skill frequency score, according to some example embodiments. Operations in the method 500 may be performed by the network-based system 105 , using the skill determinator 206 and confidence score calculator 207 described above with respect to FIG. 2 .
  • the confidence score calculator 207 counts the number of instances that the specific skill is included on the profile page of a member. In some instances, the confidence score calculator 207 counts the number of instances that the specific skill is listed on the profile page of a member having a job title that matches the job title selected at operation 330 in FIG. 3 . Additionally, the confidence score calculator 207 may count the number of instances that the specific skill is listed on the profile page of a member with a factor (e.g., employed at a specific company, working at a specific industry, having a specific function) that is determined at operation 410 in FIG. 4 . A processor in the server machine 110 can count the number of instances.
  • a factor e.g., employed at a specific company, working at a specific industry, having a specific function
  • the confidence score calculator 207 counts the number of instances that the specific skill is included in the job title section of other job postings on the social networking service.
  • a processor in the server machine 110 can count the number of instances.
  • the confidence score calculator 207 counts the number of instances that the specific skill is included in the job description section of other job postings on the social networking service.
  • a processor in the server machine 110 can count the number of instances.
  • the confidence score calculator 207 counts the number of instances that the specific skill being included in the desired skills section of other job postings on the social networking service.
  • a processor in the server machine 110 can count the number of instances.
  • the confidence score calculator 207 calculates the skill frequency score based on the number of instances that the specific skill is listed in a profile page of a members, a job title section of other job postings, a job description section of other job postings, or a desired skills section of other job postings.
  • a processor in the server machine 110 can calculate the skill frequency score.
  • the skill frequency score can be calculated by adding the number of instances counted at operations 510 - 540 . In some instances, the number of instances can have a different weighting factor as shown in Equation 2.
  • Skill Frequency Score C 0 (number of instances skill is listed in a profile page)+ C 1 (number of instances skill is listed job title section)+ C 2 (number of instances skill is listed job description section)+ C 3 (number of instances skill is listed desired skills section), where C 0 . . . C 3 are coefficients with a range from 0 to 1. (Equation 2)
  • FIG. 6 is a user interface diagram illustrating an example of a job posting 600 , according to some example embodiments.
  • a user interface in FIG. 6 presents a job posting 600 on the online system 210 having a job title section 610 , a job description section 620 , and a desired skills section 630 .
  • the job title section 610 may include a title or position for the job posting 600 , a supertitle, an organization name (e.g., a company name), and a job location (e.g., a city and state where the job in the job posting 600 is located).
  • the job description section 620 may include listing information for the job posting 600 .
  • the job description section 620 may include a description of the organization (e.g., a company) that is seeking to fill the job posting 600 and a description of the role, responsibilities, and duties for the job. Also, for example, the job description section 620 may describe desired and required credentials for the job posting 600 . For instance, the job description section 620 may describe the job in the context of required skills, educational credentials (e.g., degrees and majors), and other credentials (e.g., certifications) that a candidate for the job posting 600 will have. In certain embodiments, the desired skills section 630 may list desired credentials for the job posting 600 .
  • the desired skills section 630 may list desired credentials for the job posting 600 .
  • the desired skills section 630 may list desired skills (e.g., programming language skills), proficiencies, educational credentials (e.g., degrees and majors), and other credentials (e.g., certifications) that indicate desired skills for the job posting 600 .
  • desired skills e.g., programming language skills
  • proficiencies e.g., educational credentials
  • educational credentials e.g., degrees and majors
  • other credentials e.g., certifications
  • one or more of the methodologies described herein facilitate an association of skill with a job posting.
  • the data processing associated with the association may be performed in real time by using the offline data processor 240 for some calculations.
  • the online system 210 can use the offline data processor 240 in such a way as to allow efficient retrieval and processing of the information in order for the action module 208 to present in real time.
  • computing resources used by one or more machines, databases, or devices may similarly be reduced (e.g., by pre-determining the endorser value and the recipient value). Examples of such computing resources include processor cycles, network traffic, memory usage, data storage capacity, power consumption, and cooling capacity.
  • FIG. 7 is a block diagram illustrating components of a machine 700 , according to some example embodiments, able to read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any one or more of the methodologies discussed herein.
  • FIG. 7 shows a diagrammatic representation of the machine 700 in the example form of a computer system, within which instructions 716 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 700 to perform any one or more of the methodologies discussed herein may be executed.
  • the instructions 716 may cause the machine 700 to execute the flow diagrams of FIGS. 3-5 .
  • the instructions 716 may implement the processes performed by the skill scraper 204 , the skill determinator 206 , the confidence score calculator 207 , and the action module 208 of FIG. 2 , and so forth.
  • the instructions 716 transform the general, non-programmed machine 700 into a particular machine programmed to carry out the described and illustrated functions in the manner described.
  • the machine 700 operates as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 700 may operate in the capacity of a server machine 10 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 700 may comprise, but not be limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 716 , sequentially or otherwise, that specify actions to be taken by the machine 700 . Further, while only a single machine 700 is illustrated, the term “machine” shall also be taken to include a collection of machines 700 that individually or jointly execute the instructions 716 to perform any one or more of the methodologies discussed herein.
  • the machine 700 may include processors 710 , memory/storage 730 , and I/O components 750 , which may be configured to communicate with each other such as via a bus 702 .
  • the processors 710 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
  • the processors 710 may include, for example, a processor 712 and a processor 714 that may execute the instructions 716 .
  • processor is intended to include a multi-core processor that may comprise two or more independent processors (sometimes referred to as “cores”) that may execute instructions 716 contemporaneously.
  • FIG. 7 shows multiple processors, the machine 700 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiples cores, or any combination thereof.
  • the operations described in the method 300 and the method 400 can be performed by one or more of the processors 710 .
  • the memory/storage 730 may include a memory 732 , such as a main memory, or other memory storage, and a storage unit 736 , both accessible to the processors 710 such as via the bus 702 .
  • the storage unit 736 and memory 732 store the instructions 716 embodying any one or more of the methodologies or functions described herein.
  • the instructions 716 may also reside, completely or partially, within the memory 732 , within the storage unit 736 , within at least one of the processors 710 (e.g., within the processor's cache memory), or any suitable combination thereof, during execution thereof by the machine 700 .
  • the memory 732 , the storage unit 736 , and the memory of the processors 710 are examples of machine-readable media.
  • the memory/storage 730 can store the member data 116 , the reputation data, or the endorsement data.
  • machine-readable medium means a device able to store instructions 716 and data temporarily or permanently and may include, but is not limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of storage (e.g., erasable programmable read-only memory (EEPROM)), and/or any suitable combination thereof.
  • RAM random-access memory
  • ROM read-only memory
  • buffer memory flash memory
  • optical media magnetic media
  • cache memory other types of storage
  • EEPROM erasable programmable read-only memory
  • machine-readable medium shall also be taken to include any medium, or combination of multiple media, that is capable of storing instructions (e.g., instructions 716 ) for execution by a machine (e.g., machine 700 ), such that the instructions 716 , when executed by one or more processors of the machine 700 (e.g., processors 710 ), cause the machine 700 to perform any one or more of the methodologies described herein.
  • a “machine-readable medium” refers to a single storage apparatus or device, as well as “cloud-based” storage systems or storage networks that include multiple storage apparatus or devices.
  • the term “machine-readable medium” excludes signals per se.
  • the I/O components 750 may include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on.
  • the specific I/O components 750 that are included in a particular machine 700 will depend on the type of machine. For example, portable machines such as mobile phones will likely include a touch input device or other such input mechanisms, while a headless server machine 110 will likely not include such a touch input device. It will be appreciated that the I/O components 750 may include many other components that are not shown in FIG. 7 .
  • the I/O components 750 are grouped according to functionality merely for simplifying the following discussion and the grouping is in no way limiting. In various example embodiments, the I/O components 750 may include output components 752 and input components 754 .
  • the output components 752 may include visual components (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth.
  • a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)
  • acoustic components e.g., speakers
  • haptic components e.g., a vibratory motor, resistance mechanisms
  • the input components 754 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instruments), tactile input components (e.g., a physical button, a touch screen that provides location and/or force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
  • alphanumeric input components e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components
  • point-based input components e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instruments
  • tactile input components e.g., a physical button,
  • the I/O components 750 may include biometric components 756 , motion components 758 , environmental components 760 , or position components 762 , among a wide array of other components.
  • the biometric components 756 may include components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram-based identification), and the like.
  • the motion components 758 may include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g., gyroscope), and so forth.
  • the environmental components 760 may include, for example, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detect concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that may provide indications, measurements, or signals corresponding to a surrounding physical environment.
  • illumination sensor components e.g., photometer
  • temperature sensor components e.g., one or more thermometers that detect ambient temperature
  • humidity sensor components e.g., pressure sensor components (e.g., barometer)
  • the position components 762 may include location sensor components (e.g., a Global Position System (GPS) receiver component), altitude sensor components (e.g., altimeters or barometers that detect air pressure from which altitude may be derived), orientation sensor components (e.g., magnetometers), and the like.
  • location sensor components e.g., a Global Position System (GPS) receiver component
  • altitude sensor components e.g., altimeters or barometers that detect air pressure from which altitude may be derived
  • orientation sensor components e.g., magnetometers
  • the I/O components 750 may include communication components 764 operable to couple the machine 700 to a network 780 or devices 770 via a coupling 782 and a coupling 772 , respectively.
  • the communication components 764 may include a network interface component or other suitable device to interface with the network 780 .
  • the communication components 764 may include wired communication components, wireless communication components, cellular communication components, near field communication (NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fi® components, and other communication components to provide communication via other modalities.
  • the devices 770 may be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a Universal Serial Bus (USB)).
  • USB Universal Serial Bus
  • the communication components 764 may detect identifiers or include components operable to detect identifiers.
  • the communication components 764 may include radio frequency identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals).
  • RFID radio frequency identification
  • NFC smart tag detection components e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes
  • acoustic detection components
  • IP Internet Protocol
  • Wi-Fi® Wireless Fidelity
  • NFC beacon a variety of information may be derived via the communication components 764 , such as location via Internet Protocol (IP) geolocation, location via Wi-Fi® signal triangulation, location via detecting an NFC beacon signal that may indicate a particular location, and so forth.
  • IP Internet Protocol
  • one or more portions of the network 780 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a 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 the Public Switched Telephone Network (PSTN), a POTS network, a cellular telephone network, a wireless network, a Wi-Fi® network, another type of network, or a combination of two or more such networks.
  • VPN virtual private network
  • WLAN wireless LAN
  • WAN wireless WAN
  • MAN metropolitan area network
  • PSTN Public Switched Telephone Network
  • POTS Public Switched Telephone Network
  • the network 780 or a portion of the network 780 may include a wireless or cellular network and the coupling 782 may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or another type of cellular or wireless coupling.
  • CDMA Code Division Multiple Access
  • GSM Global System for Mobile communications
  • the coupling 782 may implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (1 ⁇ RTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, third Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standard, others defined by various standard-setting organizations, other long-range protocols, or other data transfer technology.
  • RTT Single Carrier Radio Transmission Technology
  • GPRS General Packet Radio Service
  • EDGE Enhanced Data rates for GSM Evolution
  • 3GPP Third Generation Partnership Project
  • 4G fourth generation wireless (4G) networks
  • Universal Mobile Telecommunications System (UMTS) Universal Mobile Telecommunications System
  • HSPA High Speed Packet Access
  • WiMAX Worldwide Interoperability for Microwave Access
  • the instructions 716 may be transmitted or received over the network 780 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components 764 ) and utilizing any one of a number of well-known transfer protocols (e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions 716 may be transmitted or received using a transmission medium via the coupling 772 (e.g., a peer-to-peer coupling) to the devices 770 .
  • the term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying the instructions 716 for execution by the machine 700 , and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
  • inventive subject matter has been described with reference to specific example embodiments, various modifications and changes may be made to these embodiments without departing from the broader scope of embodiments of the present disclosure.
  • inventive subject matter may be referred to herein, individually or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single disclosure or inventive concept if more than one is, in fact, disclosed.
  • the term “or” may be construed in either an inclusive or exclusive sense. Moreover, plural instances may be provided for resources, operations, or structures described herein as a single instance. Additionally, boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in a context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within a scope of various embodiments of the present disclosure. In general, structures and functionality presented as separate resources in the example configurations may be implemented as a combined structure or resource. Similarly, structures and functionality presented as a single resource may be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within a scope of embodiments of the present disclosure as represented by the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
  • Modules may constitute software modules (e.g., code stored or otherwise embodied on a machine-readable medium or in a transmission medium), hardware modules, or any suitable combination thereof.
  • a “hardware module” is a tangible (e.g., non-transitory) unit capable of performing certain operations and may be configured or arranged in a certain physical manner.
  • one or more computer systems e.g., a standalone computer system, a client computer system, or a server computer system
  • one or more hardware modules of a computer system e.g., a processor or a group of processors
  • software e.g., an application or application portion
  • a hardware module may be implemented mechanically, electronically, or any suitable combination thereof.
  • a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations.
  • a hardware module may be a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC.
  • a hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations.
  • a hardware module may include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
  • hardware module should be understood to encompass a tangible entity, and such a tangible entity may be physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein.
  • “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time.
  • a hardware module comprises a general-purpose processor 710 configured by software to become a special-purpose processor
  • the general-purpose processor 710 may be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times.
  • Software e.g., a software module
  • may accordingly configure one or more processors 710 for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
  • Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
  • a resource e.g., a collection of information
  • processors 710 may be temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors 710 may constitute processor-implemented modules that operate to perform one or more operations or functions described herein. As used herein, “processor-implemented module” refers to a hardware module implemented using one or more processors 710 .
  • processor-implemented module refers to a hardware module in which the hardware includes one or more processors 710 .
  • processors 710 may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS).
  • At least some of the operations may be performed by a group of computers (as examples of machines 700 including processors 710 ), with these operations being accessible via a network 780 (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application programming interface (API)).
  • a network 780 e.g., the Internet
  • API application programming interface
  • the performance of certain operations may be distributed among the one or more processors 710 , not only residing within a single machine 700 , but deployed across a number of machines.
  • the one or more processors 710 or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors 710 or processor-implemented modules may be distributed across a number of geographic locations.

Abstract

Techniques for associating a specific skill with a job posting are described. In an example, disclosed is a system having a standardization database and a skills database. The system can extract textual features from a job posting, and select a specific skill for the job posting from a plurality of skills. Moreover, a job title for the job posting can be selected from a plurality of standardized job titles. Furthermore, an affinity score can be accessed for specific skill based on the selected job title. The system can determine a skill frequency score associated with the specific skill. The system can calculate a confidence score of the specific skill based on the textual features, the affinity score, and the skill frequency score. Subsequently, the system can store, in the skills database, an association of the specific skill with the job posting when the confidence score is above a predetermined threshold.

Description

    PRIORITY CLAIM
  • This application claims priority under 35 U.S.C. 119(e) to U.S. Provisional Patent Application Ser. No. 62/415,323, filed Oct. 31, 2016, which is incorporated herein by reference in its entirety.
  • TECHNICAL FIELD
  • The subject matter disclosed herein generally relates to data processing associated with a skill determination system having a job posting database. The skill determination system can associate a skill for ajob by using information for the job posting database.
  • BACKGROUND
  • An online system can maintain information on members, companies, organizations, employees, and employers. The online system may maintain profile pages of members and company pages of companies. The profile page can include education information, employment information, and skills of member. Additionally, the online system can store information about a member's relationships (e.g., connections) with other members of the online system. Furthermore, job postings associated with a job at a company can be published on the online system.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings.
  • FIG. 1 is a network diagram illustrating a network environment suitable for an online system such as a social network system, according to some example embodiments.
  • FIG. 2 is a block diagram illustrating various components of an online system (e.g., a social network system), according to some example embodiments.
  • FIG. 3 is a flowchart illustrating a method for associating a specific skill with a job posting, according to some example embodiments.
  • FIG. 4 is a flowchart illustrating a method for calculating a confidence score, according to some example embodiments.
  • FIG. 5 is a flowchart illustrating a method for calculating a skill frequency score, according to some example embodiments.
  • FIG. 6 is a user interface diagram illustrating an example of a job posting, according to some example embodiments.
  • FIG. 7 is a block diagram illustrating components of a machine, according to some example embodiments, able to read instructions from a machine-readable medium and perform any one or more of the methodologies discussed herein.
  • DETAILED DESCRIPTION
  • Examples merely demonstrate possible variations. Unless explicitly stated otherwise, components and functions are optional and may be combined or subdivided, and operations may vary in sequence or be combined or subdivided. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of example embodiments. It will be evident to one skilled in the art, however, that the present subject matter may be practiced without these specific details.
  • Example methods and systems are directed to techniques for a skill determination system having a job posting database. More specifically, the present disclosure relates to methods, systems, and computer program products for determining a skill associated with a job using job postings, a standardization database storing a plurality of standardized job titles, a skills database, and member data. Techniques for determining a skill associated with a job are described herein.
  • Examples of use cases associated with a determined skill for a job include a job recommendation model for a member (e.g., job seeker), a job search algorithm specialized for a member, and a skills suggestion for a recruiter publishing a job posting. For example, the job recommendation model can present the job posting to a member of the social networking service. The member can be an active job seeker, and the job recommendation can be presented on the home page or newsfeed for the job seeker. Alternatively, in another example, the job seeker can be presented to a recruiter that has published a job posting on the social networking service.
  • The skill determination system of the social networking service can help match a job seeker with a job posting using the determined skills for the job. In some instances, an online system, such as, for example, a social network system, can perform an action in response to the determined skill for the job. For example, the action can be to present the profile page of a member to a recruiter associated with a job posting when the skill possessed by the member matches the determined skill for the job. Alternatively, a job posting can be presented to a member when the skill possessed by the member matches the determined skill for the job.
  • Techniques for inferring skills associated with a job posting using a skill determination system and a job posting database are described in U.S. patent application Ser. No. 15/404,846, titled “APPLICANT SKILLS INFERENCE FOR A JOB,” which is hereby incorporated by reference in its entirety. The referenced document describes methods, systems, and computer program products for determining skills associated with a job using job applicant data and job posting data. In particular, the referenced document describes a skill determination system that includes a skill inference model for jobs, and techniques for using the the skill determination system to associate specific skills with a job in order to better match members with jobs and better match recruiters with potential hires. Additionally, the referenced document describes embodiments wherein the skill determination system can infer skills for a job using member data of job applicants that have applied for the job.
  • In current implementations, a social networking service may not have a skills inference model to be able to automatically determine a skill for a specific job. In some instances, the only existing skills inference model may simply determine a skill for a specific member and not the specific job. With regards to the skills inference model for a member, the members of a social networking service can explicitly include possessed skills on their profile page.
  • However, some of the job postings on the social networking service may not include a desired skills section that includes skills associated with a job. For example, in one social networking service, it is estimated that only ten percent of the job postings include a desired skills section having explicit skills. Additionally, in practice, the desired skills section may only include free text that is similar to the job description segment. The free text can be user input that is not standardized (e.g., without a taxonomy associated with a list of skills) between different job postings. Accordingly, and unlike the skills inference model for determining a skill for a member, the skills inference model for determining a skill for a job may not be performed using simply an offline setting.
  • One issue with job postings not including a desired skills section (or only having non-standardized, free text desired skills section) is that a system will not be able to use a job posting to readily identify the necessary skills candidates will need to adequately perform the job. This may make it difficult to efficiently find quality candidates for the job from amongst many, potentially millions, of potential candidates in the social networking service. Instead, when a job posting lacks a desired skills section, a recruiter may receive candidates that are not a good fit, thus making the recruiter's task of finding qualified candidates difficult and time consuming.
  • According to some embodiments, the skill determination system includes a skill inference model for jobs. By associating specific skills for a job, the skill determination system can be used to better match members with jobs and better match recruiters with potential hires. Additionally, the model can improve the click-through rate (CTR) value for a job search or a job referral.
  • Techniques for associating a skill with a job are described. In an example, disclosed is a skill determination system that accesses a standardization database, a skills database, and a member database to determine a skill for a job. The standardization database can store a plurality of standardized job titles. The skills database stores a plurality of skills. Each skill in the plurality of skills has an affinity score to a standardized job title. Additionally, the member database stores profile data of the members of the social networking service. The profile data includes skills listed on the profile page of each member. According to some embodiments, the skill determination system can extract textual features from a job posting. The textual features can include text obtained from a job title section, text obtained from a job description section, and text obtained from a desired skills section. Additionally, the skill determination system can select a specific skill for the job posting from a plurality of skills. For example, a skill scraper can search for and retrieve skills from the job title, job description, and desired skills sections. The skill scraper can search for skills by comparing each word for a matching skill from the plurality of skills accessed from the skills database. When the word matches a skill, then the word is retrieved by the skill scraper. Moreover, a job title for the job posting can be selected from a plurality of standardized job titles. Furthermore, an affinity score can be accessed for a specific skill based on the selected job title. The affinity score is accessed from the skills database. The system can determine a skill frequency associated with the specific skill. The skill frequency can be based on the specific skill being listed on a profile page of members that are associated with the job title. The system can calculate a confidence score of the specific skill based on the textual features, the affinity score, and the skill frequency. Subsequently, the system can store, in the skills database, an association of the specific skill with the job posting when the confidence score transgresses a predetermined threshold (i.e., is above the predetermined threshold).
  • In some instances, a member of an online system, such as, for example, a social network system, may want to search for a job posting. With the association of a skill and a job stored in the skills database, the search results can be personalized for each member based on the possessed skills of the member. For example, the job postings are ranked further based on the likelihood that the member has the skills associated with the job. By presenting job postings that are more tailored to each member, a member can save time and resources by applying for jobs that are more aligned with the member's skillset.
  • According to some embodiments, the social network system includes a specialized skills database having a database architecture tailored specifically for skills. As a result, the skills database allows for a faster data retrieval rate based on an association with specific jobs. Additionally, the skills database allows for faster data processing related to the skills. For example, when recruiter searches for potential hiring candidates, the profile pages of members that have the desired skills are presented in real-time to the recruiter. Furthermore, the skills database can include a skill quality metric that can deliver more insights about the skill of the member or the skill associated with a job.
  • Additionally, techniques described herein allow for presenting a potential candidate for a job or a presenting a job posting for a job seeker based on a confidence score associated with the determined skill. Techniques described herein allow for faster processing speed for processing the skills data to determine the confidence score in real time. Additionally, techniques described herein allow for a faster retrieval of the skills data.
  • FIG. 1 is a network diagram illustrating a network environment 100 suitable for an online system, according to some example embodiments. In the example of FIG. 1, the online system may be implemented as a social network system. The network environment 100 includes a server machine 110, a member database 115, a standardization database 117, a skills database 120, a first device 130 for a first user 132, and a second device 150 for a second user 152, all communicatively coupled to each other via a network 190. The server machine 110, the member database 115, the standardization database 117, and the skills database 120 may form all or part of a network-based system 105 (e.g., a cloud-based server system configured to provide the social networking service to the first device 130 and second device 150). The server machine 110, the first device 130, and the second device 150 may each be implemented in a computer system, in whole or in part, as described below with respect to FIG. 7.
  • The member database 115 can store, but is not limited to storing, member data 116, company data, and education data for the social networking service. The member data 116 includes profile data, social graph data, and member activity data. In some instances, the member database 115 can include a plurality of databases (e.g., a first database to store profile data, a second database to store social data, and a third database to store member activity data). The server machine 110 can access the information in the member database 115 using the network 190.
  • The standardization database 117 can store a plurality of standardized job titles 118. Techniques for selecting a standardized job title for job posting from the plurality of standardized job titles is described in U.S. patent application Ser. No. 14/523,357 filed on Oct. 24, 2014 titled “Title Standardization,” and U.S. patent application Ser. No. 14/975,633 filed on Dec. 18, 2015 titled “Title Standardization Ranking Algorithm,” which are hereby incorporated by reference in their entirety.
  • Additionally, the standardization database 117 can store a plurality of standardized job postings 119. Techniques for standardizing a job posting are described in U.S. patent application Ser. No. 14/502,224 and U.S. patent application Ser. No. 14/502,261, both being filed on Sep. 30, 2014 and both being titled “Job Posting Standardization and Deduplication.” which are hereby incorporated by reference in their entirety.
  • The skills database 120 can store a plurality of skills 125. The plurality of skills can be standardized skills. For example, the standardized skills can be listed on a profile page of a member, or in the desired skills section of a job posting. Each skill in the plurality of skills 125 can be associated with one or more related jobs 126. Additionally, each skill in the plurality of skills 125 can have a title affinity score 127, an organization affinity score 128, and an industry affinity score 129. Moreover, a skill can have a title at an organization affinity score, a function at an organization affinity score, and a title at an industry affinity score.
  • In some embodiments, the title affinity score 127 can be a measure of how likely a skill corresponds with a job described by the job title. The organization affinity score 128 can be a measure of how likely a skill corresponds with a job in a specific organization (e.g., a specific company). The industry affinity score 129 can be a measure of how likely a skill corresponds with a job in a specific industry. For example, the title affinity score 127 is a likelihood that a certain skill is associated with a job posting of a certain job title in general, whereas the skill determinator analyzes the job posting and sums the different affinity scores to determine the confidence score of a specific skill being needed for the job posting.
  • With some embodiments, these skills may include specific skills such as the ability to program in a particular programming language, such as Java or C++, or broader skills, such as the ability to program a computer, or specialized skills such as programming web-based applications. While reference is made to skills in the present disclosure, it will be understood by those skilled in the art with the benefit of the present disclosure, that the techniques taught herein are applicable to other concepts.
  • The standardized list of skills may be obtained by utilizing a pre-determined list of skills. In one example, the predetermined list of skills may be manually generated, but in other examples the pre-determined list of skills may be automatically generated. In still other examples, the list of standardized skills may be created by processing member profiles of a social or business networking service In some examples, this processing can be done automatically using a computing system or other machine. In yet other examples, this processing could be manually accomplished. In some examples, a skills section of a member profile of a social networking service may be used. The skills section of the member profile may be a raw text (e.g., free-text) section that allows users to freely type in skills they possess, this information is generally referred to as unstructured information. Alternatively, in some other examples, the member profile skills section may be implemented as a list that allows users to choose a skill based upon structured data such as a predetermined listing of skills or, in other examples, the skills section may be implemented as some combination of unstructured data such as free-text and structured data such as a pre-determined list selection.
  • One example of selecting a skill from a plurality of skills 125 is using a skill ranking system for the selection of the skill. The skill ranking system is described in U.S. patent application Ser. No. 13/357,302 filed on Jan. 24, 2012 titled “SKILL RANKING SYSTEM.” which is hereby incorporated by reference in its entirety. Additionally, the skill scraper of the skill determination system described herein can identify skills in a job posting using the technique described in U.S. patent application Ser. No. 14/502,993 filed on Sep. 30, 2014 titled “TECHNIQUES FOR IDENTIFYING AND RECOMMENDING SKILLS,” which is hereby incorporated by reference in its entirety.
  • Furthermore, techniques for generating a standardized list of skills and the selection of a skill from the job posting is further described in U.S. patent application Ser. No. 13/357,360 filed on Jan. 24, 2012 titled “SKILL CUSTOMIZATION SYSTEM,” which is hereby incorporated by reference in its entirety. The referenced document describes an online system (e.g., a social networking system) that is able to automatically build a standardized list of skills, automatically associate a member with a specific skill, and customize a user's experience of the member on the social networking service based upon the associated skills. The selection of a specific skill to associate with a job posting can use similar techniques described in the referenced documents.
  • Also shown in FIG. 1 are the users 132 and 152. One or both of the users 132 and 152 may be a human user (e.g., a member of the online system or the social network system), a machine user (e.g., a computer configured by a software program to interact with the first device 130 or the second device 150), or any suitable combination thereof (e.g., a human assisted by a machine or a machine supervised by a human). The user 132 is not part of the network environment 100, but is associated with the first device 130 and may be a user of the first device 130. For example, the first device 130 may be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smartphone, or a wearable device (e.g., a smart watch or smart glasses) belonging to the user 132. Likewise, the user 152 is not part of the network environment 100, but is associated with the second device 150. As an example, the second device 150 may be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smartphone, or a wearable device (e.g., a smart watch or smart glasses) belonging to the user 152.
  • In some instances, the user 132 can be a job applicant who is applying to jobs listed on job postings on the social networking service. Additionally, the user 152 can be a recruiter that has listed a job posting and is searching for a potential job applicant for the job posting. The skill determination system can match the job applicant with the recruiter using the determined skill of the job posting. For example, the server machine 110 can transmit a message to the user 132, using network 190, that a job posting is tailored to the user 132 based on the determined skill associated with the job.
  • The network 190 may be any network that enables communication between or among machines, databases, and devices (e.g., the server machine 110 and the first device 130). Accordingly, the network 190 may be a wired network, a wireless network (e.g., a mobile or cellular network), or any suitable combination thereof. The network 190 may include one or more portions that constitute a private network, a public network (e.g., the Internet), or any suitable combination thereof. Accordingly, the network 190 may include one or more portions that incorporate a local area network (LAN), a wide area network (WAN), the Internet, a mobile telephone network (e.g., a cellular network), a wired telephone network (e.g., a plain old telephone system (POTS) network), a wireless data network (e.g., a Wi-Fi network or WiMAX network), or any suitable combination thereof. Any one or more portions of the network 190 may communicate information via a transmission medium. As used herein. “transmission medium” refers to any intangible (e.g., transitory) medium that is capable of communicating (e.g., transmitting) instructions for execution by a machine (e.g., by one or more processors of such a machine), and includes digital or analog communication signals or other intangible media to facilitate communication of such software.
  • Any of the machines, databases, or devices described herein may be implemented in a general-purpose computer modified (e.g., configured or programmed) by software (e.g., one or more software modules) to be a special-purpose computer to perform one or more of the functions described herein for that machine, database, or device. For example, a computer system able to implement any one or more of the methodologies described herein is discussed below with respect to FIG. 7. As used herein, a “database” is a data storage resource and may store data structured as a text file, a table, a spreadsheet, a relational database (e.g., an object-relational database), a triple store, a hierarchical data store, or any suitable combination thereof. Moreover, any two or more of the machines, databases, or devices described herein may be combined into a single machine, database, or device, and the functions described herein for any single machine, database, or device may be subdivided among multiple machines, databases, or devices.
  • FIG. 2 is a block diagram illustrating components of an online system 210 (e.g., a social network system hosting a social networking service), according to some example embodiments. The online system 210 is an example of a network-based system 105 of FIG. 1. In some embodiments, the online system may be implemented as a social network system. The online system 210 can include a user interface 202, a skill scraper 204, a skill determinator 206, a confidence score calculator 207, and an action module 208. Two or more of the components 202-208 may be configured to communicate with each other (e.g., via a bus, shared memory, or a switch). The user interface 202 can provide information or cause an interface to be rendered on a client device of a member. For example, the user interface 202 can present, to user 132, a job posting having a desired skill that is possessed by the user 132.
  • Additionally, the online system 210 can communicate with the member database 115, the standardization database 117, and the skills database 120 of FIG. 1. The member database 115 can store member data 116, such as profile data 212, social graph data 214, and member activity data. The profile data 212 includes information from a profile page of a member. The standardization database 117 stores standardization data, such as a list of standardized job titles 118 and standardized job postings 219. The standardized job postings 119 can include standardized organization names (e.g., standardized company names), standardized industries, standardized titles, standardized job descriptions, and standardized desired skills. For example, the skill determination system can determine a standardized title for the job posting, and use the standardized title to retrieve a list of standardized skills desired for the job.
  • As later described in FIG. 3, the confidence score calculator 207 can calculate a confidence score for a skill being associated with a job based on the member data 116, and information accessed from the standardization database 117 and the skills database 120. In some instances, some of the processing of the data for determining the endorser value, the recipient value, and overlap value can be performed by an offline data processor 240 on a periodic basis (e.g., nightly) in order to return faster calculation results.
  • The profile data 212 can be used to determine the confidence score for a specific skill being associated with a job. For example, the confidence score depends on the profile data 212 (e.g., job title, degree, industry, skills) of members having a similar job title, employer, and/or industry as those listed in the job posting Profile data 212 related to the specific skill includes having the specific skill listed on the profile page, a recommendation of the specific skill, a degree associated with the specific skill, a job title associated with the specific skill, and other educational and/or employment data associated with the specific skill. Additionally, the online system 210 maintains associations among various skills, and skills associated with the specific skill may be determined to be the same or related.
  • Additionally, when a user registers to become a member, the member is prompted to provide a variety of personal and employment information that may be displayed in the member's profile page. As used herein, personal and/or employment information is referred to as profile data 212. The profile data 212 can be used to determine the confidence score of a specific skill being associated with a job. The profile data 212 that is commonly requested and displayed as part of a member's profile page includes the member's age, birthdate, gender, interests, contact information, home location (e.g., city and state), educational background (e.g., schools, majors, matriculation dates, graduation dates, etc.), employment history, office location, skills, professional organizations, and other such personal and/or employment information. In some embodiments, the profile data 212 may include the various skills that each member has indicated he or she possesses. Additionally, the profile data 212 may include skills of a member that have been endorsed by another member. Furthermore, the profile data 212 may include recommendations of a member from another member (e.g., co-worker).
  • Moreover, the profile data 212 can include information commonly included in a professional resume or curriculum vitae, such as information about a person's education, the company at which a person is employed, the location of the employer, an industry in which a person is employed, a job title or function, an employment history, skills possessed by a person, professional organizations of which a person is a member, and so on.
  • The social graph data 214 includes a digital representation of a member's relationship with other members of the social networking service. The social graph data 214 can be associated with an entity's presence within the online system 210. For example, consistent with some embodiments, a social graph is implemented with a specialized graph data structure in which various entities (e.g., people, companies, schools, government institutions, non-profits, and other organizations) are represented as nodes connected by edges, where the edges have different types representing the various associations and/or relationships among the different entities. The social graph data 214 of a member can include first-degree connections, second-degree connections, and so on In one embodiment, a first member is a first-degree connection to a second member when the first and second members are directly connected to each other in the online system 210. Similarly, a first member is a second-degree connection to a second member when the first and second members are not connected to each other, but both are connected to a third member. As can be inferred from the foregoing, an nth-degree connection is a connection where a first node and a second node are separated by N-1 nodes.
  • In some instances, the member data 116 may include member activity data. The member activity data include members' interactions with the various applications, services, and content made available via the online system 210, and a member's behavior (e.g., content viewed, links selected, etc.) may be used to determine the member's proficiency in a specific skill.
  • The skills database 120 stores a list of skills 125. The list of skills 125 can be standardized, and each skill can have an association with one or more related jobs 126. For example, as later described in FIG. 3, when the confidence score for a specific skill being associated with a job is above a predetermined threshold, then the association is stored in the skills database 120. Additionally, the skills database 120 stores affinity scores 216, such as a title affinity score, an organization affinity score 127, a title at organization affinity score, a supertitle at organization affinity score, a function at organization affinity score, and a title at industry affinity score.
  • For example, the title affinity score 127 corresponds to the affinity of a title with the specific skill (e.g., as indicated by correlations connections between a given job title and specific skills possessed by people holding that title). The organization score 128 corresponds to the affinity of an organization with the specific skill (e.g., as indicated by correlations or connections between a given company and company employees possessing the specific skill). The title at organization affinity score corresponds to the affinity of a specific title at an organization with the specific skill (e.g., as indicated by correlations or connections between a job title at a company and company employees with that title possessing the specific skill). The supertitle at organization affinity score corresponds to the affinity of a specific supertitle at an organization with the specific skill (e.g., as indicated by correlations or connections between a given company and company employees possessing the specific skill). The function at organization affinity score corresponds to the affinity of a specific function at a company with the specific skill (e.g., as indicated by correlations or connections between a function or role at a company and company personnel in that function or role who possess the specific skill). The title at industry affinity score corresponds to the affinity of a specific title in an industry with the specific skill (e.g., as indicated by correlations or connections between a given industry and people in that industry possessing the specific skill).
  • In certain embodiments, the title affinity score is a measure of how likely a skill corresponds with a job described by the job title. In some embodiments, the organization affinity score is a measure of how likely a skill corresponds with a job in a specific organization (e.g., a specific company). In example embodiments, the industry affinity score is a measure of how likely a skill corresponds with a job in a specific industry.
  • In some instances, the skill determination system can obtain the affinity scores 216 for the specific skill after the standardized job title, company, industry, and/or function have been determined for the job posting. Additionally, the confidence score calculator 207 can calculate the confidence score for the skill using one or more of the affinity scores 216 associated with the specific skill.
  • Additionally, a skill scraper 204 can obtain raw text from the job posting. As previously mentioned, the job posting includes a job title section, a job description section, and a desired skill section. In some instances, the content of job title section, the job description section, and the desired skill section include raw text (e.g., plain text). The skill scraper 204 can compare the plain text in the job posting with the list of skills 125 stored in the skills database 120 to determine a match or a similarity. The skill scraper 204 can highlight and retrieve the words in the job posting that are determined to be a potential skill based on the comparison with the list of skills 125. Subsequently, the confidence score calculator 207 can calculate a confidence score to determine the likelihood that the potential skill (e.g., the retrieved word from the job posting) is a specific skill that is associated with the job posting or job.
  • Moreover, the confidence score can be further based on a skill frequency value. The confidence score calculator 207 can calculate the skill frequency value of the specific skill. The skill frequency value can be calculated by determining the number of members with the specific skill on their profile, or by determining the number of skill mentions in current job postings.
  • The skill frequency value associated with a member can be based on the frequency of appearance of the specific skill in profiles of members. The skill frequency value can be calculated for members with a specific job title, in a specific industry, in a specific company, or with a specific seniority.
  • The skill frequency value associated with current job postings can be based on the frequency of the specific skill being mentioned in the job description section of active job postings. The skill frequency value associated with the current job postings can also be based on the frequency of the specific skill being mentioned in the desired skills section of active job postings.
  • Furthermore, the action module 208 can perform an action when the confidence score transgresses a predetermined threshold (i.e., is above the predetermined threshold). In some instances, when the confidence score for the likelihood that the specific skill is associated with a job is above the predetermined threshold (e.g., 80 out of 100), then an association between the specific skill and the job is stored in the skills database 120. For example, the specific skill is a skill in the list of skills 125, and the specific skill is linked to the job as a related job 126 for the specific skill.
  • In response to the specific skill being associated with a job because the confidence score is higher than the predetermined threshold, the action module 208 can present a profile page of a member that possesses the specific skill to a recruiter that has published a job posting for a job that is associated with the specific skill. Alternatively, the action module 208 can also present the job posting associated with the specific skill to a member that possesses the specific skill.
  • In some instances, the online system 210 can be configured to process data offline or periodically using an offline data processor 240. In some instances, some or all of the selections and calculations performed by the skill determinator 206 and confidence score calculator 207 can be performed by the offline data processor 240. For example, the offline data processor 240 can include one or more large-scale processing servers, such as Apache™ Hadoop® servers that access the member data 116, the standardization database 117, and the skills database 120 periodically (e.g., on a nightly basis) in order to calculate the confidence scores, the affinity scores 216, and the skill frequency scores.
  • Calculating the confidence score of the specific skill being associated with the job posting may be computationally intensive. Therefore, some of the calculating and selecting can be done offline, such as the calculating of one or more parameters (e.g., affinity score, skill frequency score) associated with the confidence score. For example, the data (e.g., the member data 116, from the standardization database 117, from the skills database 120) may be processed offline by the confidence score calculator 207 to determine the confidence score. By having the one or more parameters calculated offline, less real-time processing time may be needed by the confidence score calculator 207 in order to calculate the confidence score for each skill. As a result, these parameters can be inputted in the confidence score calculator 207 in real time in order to almost instantaneously present the job posting to a member, or the profile page of a member to a recruiter.
  • As will be further described with respect to FIGS. 3-5, the confidence score calculator 207 can calculate the confidence score for the specific skill being associated with the job posting. Additionally, the user interface 202 can present the job posting to a member that possesses the specific skill when the confidence score transgresses a predetermined threshold (i.e., is above the predetermined threshold).
  • FIG. 3 is a flowchart illustrating operations of the online system 210 in performing a method 300 for determining whether a specific skill is associated with a job posting, according to some example embodiments. Operations in the method 300 may be performed by the online system 210, using the skill scraper 204, the skill determinator 206, the confidence score calculator 207, and the action module 208 as described above with respect to FIG. 2.
  • As previously mentioned, the online system 210 can include a standardization database 117 storing a plurality of standardized job titles 118. Additionally, the online system 210 can include a skills database 120 storing a plurality of skills 125 associated with affinity scores 216 to standardized job titles 118. For example, each skill in the plurality of skills 125 can have an affinity score to a standardized job title from the plurality of standardized job titles 118 stored in the standardization database 117. The affinity scores 216 can be determined by the online system 210 using the offline data processor 240 using the member data 116 and data from the standardization database 117.
  • Furthermore, the online system 210 can include a member database 115 storing profile data 212 of a plurality of members in a social networking service. The profile data 212 of a member in the plurality of members can include a plurality of skills listed on a profile page of the member.
  • At operation 310, the skill scraper 204 extracts textual features from a job posting on the social networking service. The job posting can include raw text that is extracted as textual features. In some instances, the raw text is the extracted textual features. Additionally, the extracted textual features may include metadata (e.g., XML, HTML) that include more information about the job posting, such as location information, author information, and other job-related information. The server machine 110 can access the job posting that is published on the social networking service using the network 190 in order to extract the textual features from the job posting.
  • In some examples, the job description can include a raw text (e.g., free-text) section that allows users to freely type in skills they want applicants to possess (e.g., skills necessary for the job); this information is generally referred to as unstructured information. Alternatively, in some other examples, such as the desired skills section of the job description, a user be may allowed to select skills from a list based upon structured data such as a predetermined list of skills 125. In another example, the job posting may include some combination of unstructured data such as raw text and structured data such as a pre-determined list selection.
  • At operation 320, the skill determinator 206 selects, using the extracted textual features, a specific skill for the job posting from the plurality of skills 125. The extracted textual features include one or more specific skills that are mentioned in the job postings. The skill scraper 204 extracts the raw text from the job posting at operation 310. Then, the skill determinator 206 determines that one or more specific skills are contained in the raw text of the job posting. For example, the skill determinator 206 compares the words in the raw text with the list of skills 125 in the skills database 120. When a word obtained from the raw text matches a skill from the list of skills 125, then the skill determinator 206 determines that the word is a specific skill. In one example, the skill that has the most mentions in the job posting can be selected as the specific skill in operation 320. In another example, the skill that is mentioned in the job title section of the job posting can be selected as the specific skill in operation 320. In yet another example, the skill that is mentioned in the desired skills section of the job postings can be selected as the specific skill in operation 320. A processor in the server machine 110 can select the specific skill from the extracted textual features (e.g., raw text).
  • In some instances, the specific skill is selected at operation 320 based on the specific skill being explicitly mentioned in the job posting. For example, when the raw text in the job title section includes “programmer,” then the selected skill at operation 320 can be “programming,” which is included as a skill in the plurality of skills stored in the skills database 120.
  • Alternatively, the specific skill is selected based an association with a word in the raw text of the job posting. For example, the specific skill selected is “programming” when “Java” is included in the raw text of the job posting.
  • At operation 330, the skill determinator 206 selects, using the extracted textual features, a job title for the job posting from the plurality of standardized job titles 118. The plurality of standardized job titles 118 can be accessed from the list of job titles stored in the standardization database 117. The skill determinator 206 can select a standardized job title for the job posting using the raw text in the job title section of the job posting. For example, the raw text in the job title section of the job posting can include keywords (e.g., Java programmer) that are associated with a specific standardized job title (e.g., software developer).
  • As previously mentioned, techniques for selecting a standardized job title for a job posting from the plurality of standardized job titles 118 are described in U.S. patent application Ser. No. 14/523,357 titled “Title Standardization,” and U.S. patent application Ser. No. 14/975,633 titled “Title Standardization Ranking Algorithm,” which are hereby incorporated by reference in their entirety. For example, the skill determinator 206 can detect a raw title string for the job title section, and then derive a job title from the raw title string. Additionally, the job title can be derived by calculating a frequency of occurrence of a phrase in the job posting, calculating the conditional probability value indicative of probability of the phrase being a job title, and designating the phrase as the job title based on its calculated frequency of occurrence and the conditional probability value. Furthermore, the job title for the job posting is selected based on the phrase matching or being similar to a standardized job title from the list of job titles 118.
  • At operation 340, the skill determinator 206 accesses, from the skills database 120, an affinity score for the specific skill based on the selected job title. The skill determinator 206 can access the affinity scores 216 from the skills database 120. The skills database 120 includes a title affinity score 127 for the affinity of the selected job title having the specific skill. Continuing with the example from above, the skill determinator 206 accesses the affinity score for the likelihood of needing the “programming” skill when applying for a “software developer” job position.
  • Additionally, each skill in the plurality of skills 125 can be associated with one or more related jobs 126. Additionally, each skill in the plurality of skills can have a title affinity score 127, an organization affinity score 128, and an industry affinity score 129. Moreover, a skill can have a title at an organization affinity score, a function at an organization affinity score, and a title at an industry affinity score. A processor in the server machine 110 can access or determine the affinity score for the specific skill. The server machine 110 can access the skills database 120 using the network 190.
  • Additionally, FIG. 4 further describes a method for calculating the overall affinity score for the specific skill using information obtained from the job posting. As previously mentioned, the affinity scores 216 are an indication of the likelihood that the specific skill is associated with the title, company, industry, title at company, function at company, and title at industry. A processor in the server machine 110 can calculate the affinity scores 216 in real time. In some instances, part of the calculation of the affinity scores 216 can be performed offline using the offline data processor 240.
  • Techniques for calculating an affinity score of a specific skill to a factor (e.g., title, organization/company, industry, title at an organization/company, function at a company, and title at industry) are described in the skill ranking system in U.S. patent application Ser. No. 13/357,302 titled “SKILL RANKING SYSTEM,” which is hereby incorporated by reference in its entirety. For example, FIG. 8 of the referenced application shows an example method of tagging or identifying members that possess a skill in the standardized list of skills 125. Additionally, FIG. 10 of the referenced application shows an example ranking algorithm to rank members associated with a skill. The affinity scores 216 can be calculated using similar techniques for calculating the score in FIGS. 8 and 10 of the referenced application.
  • Furthermore, techniques for generating a skill graph using members with a specific skill is further described in U.S. patent application Ser. No. 13/357,360 filed on Jan. 24, 2012 titled “SKILL CUSTOMIZATION SYSTEM,” which is hereby incorporated by reference in its entirety. The affinity scores 216 can be calculated using similar techniques for calculating the score in FIGS. 10 and 12 of the referenced application.
  • At operation 350, the skill determinator 206 determines a skill frequency score associated with the specific skill. In some instances, the skill frequency score is calculated using the number of times the specific skill is listed on a profile page of members in the plurality of members that are associated with the job title selected at operation 330. A processor in the server machine 110 can determine the skill frequency score for the specific skill. Additionally, FIG. 5 further describes a method for calculating the skill frequency score for the specific skill.
  • At operation 360, the confidence score calculator 207 calculates a confidence score of the specific skill being associated with the job posting based on the textual features, the affinity score, and/or the skill frequency score. For example, the confidence score can be an average of the affinity score from operation 340 and the skill frequency score from operation 350. In some instances, the confidence score can be calculated using the textual features. For example, the textual features can indicate the number of instances that the specific skill is mentioned in the job title section (i.e., job title mentions), the number of instances that the specific skill is mentioned in the job description section (i.e., job description mentions), and the number of instances that the specific skill is mentioned in the desired skill section (i.e., desired skills mentions). For example, the confidence score can range from 0-100. A higher score can be associated with the specific skill being more likely to be associated with the job posting than another job posting having a lower score. A processor in the server machine 110 can calculate the confidence score in real time. In some instances, part of the calculation of the confidence score can be performed offline using the offline data processor 240.
  • According to some embodiments, the confidence score can be calculated using Equation 1:

  • Confidence Score=C 0(Affinity Score)+C 1(Skill Frequency Score)+C 2(Job Title Mentions)+C 3(Job Description Mentions)+C 4(Desired Skills Mentions), where C 0 . . . C 4 are coefficients with a range from 0 to 1.   (Equation 1)
  • At operation 370, the action module 208 stores, in the skills database 120, an association of the specific skill with the job posting when the confidence score transgresses a predetermined threshold (i.e., is above the predetermined threshold). The association can be stored in the skills database 120 when the confidence score calculated at operation 360 is above a predetermined threshold. In some instances, the predetermined threshold (e.g., 80 out of 100) can be preset by an administrator of the online system 210. Additionally, the predetermined threshold can be adjusted in direct correlation with the number of specific skills associated with job posting. For example, the predetermined threshold is decreased when the job posting does not have any specific skills associated with the job posting.
  • Additionally, the user interface 202 can present, on a display of a device of user 132, an indication that the job posting is associated with the specific skill. Subsequently, the user interface 202 can receive a user input from the user 132 (e.g., recruiter) to include the specific skill in the desired skill section of the job postings.
  • In some instances, the user interface 202 can present, on a display of a device of a recruiter associated with the job posting, a profile of a member having the specific skill when the confidence score transgresses the predetermined threshold (i.e., is above the predetermined threshold). For example, the user interface 202 presents an ideal job candidate to the recruiter based on the job posting being associated with the specific skill, and the job candidate possessing the specific skill. Additionally, the skills database 120 can include a ranking system for each member possessing the specific skill, so the ideal job candidate can be the member having the highest ranking score, or a ranking score that is higher than a predetermined threshold.
  • In some instances, the user interface 202 can present, on a display of a device of a member having the specific skill, the job posting when the confidence score transgresses the predetermined threshold (i.e., is above the predetermined threshold). For example, the user interface 202 presents the job posting to a member that is actively looking for a new position. The job posting can be presented based on a match that the member possesses the specific skill that is desired for the job posting.
  • In some instances, the textual features of the job posting include a job title section and a job description section. The method 300 can further include the confidence score calculator 207 increasing the confidence score by a first value when the specific skill is included in the job title section. As presented in Equation 1, the first value can be related to the C2 coefficient.
  • Additionally, the method 300 can further include the confidence score calculator 207 increasing the confidence score by a second value when the specific skill is included in the job description section. As presented in Equation 1, the second value can be related to the C3 coefficient. Given that a skill mentioned in the job title section is more relevant than a skill mentioned in the job description section, the second can be less than the first value. In some instances, the second value can be based on a number of instances the specific skill is explicitly mentioned in the job description section.
  • Furthermore, when the textual features of the job posting include a desired skill section, the method 300 can further include the confidence score calculator 207 increasing the confidence score by a third value when the specific skill is included in the desired skill section. As presented in Equation 1, the second value can be related to the C4 coefficient. In one example, the third value is less than the first value but more than the second value.
  • FIG. 4 is a flowchart illustrating operations of the online system 210 in performing method 400 for calculating the confidence score based on an affinity score, according to some example embodiments. Operations in the method 400 may be performed by the network-based system 105, using the skill determinator 206 and confidence score calculator 207 described above with respect to FIG. 2.
  • At operation 410, the skill determinator 206 can determine a factor associated with the job posting using the textual features. In some instances, textual features include raw text that is associated with a factor. The factors can include, but are not limited, to a job title, an organization (e.g., a company), an industry, a job title at an organization (e.g., a company), a function at a company, and a title at an industry.
  • For example, operation 340 in method 300 describes a technique for accessing the affinity score for the specific skill based on the selected job title. The job title was selected at operation 330. Similar to the techniques described in method 300, the skill determinator 206 can determine another factor associated with the job posting. For example, the skill determinator 206 can determine that the job posting is for an associate position at a law firm.
  • At operation 420, the confidence score calculator 207 can access, from the skills database 120, an affinity score for the specific skill based on the determined factor. The affinity score for the specific skill can be a measure of how likely a skill corresponds with a job. For instance, the affinity score can be a calculated likelihood that a certain skill is associated with a job posting of a certain job title in general, whereas a skill determinator may analyze the job posting and sum different affinity scores to determine the confidence score of a specific skill being needed for the job posting. In certain embodiments, the affinity score for the specific skill may be learned by a machine learning algorithm. In additional or alternative embodiments, the affinity scores may be input by an administrator of the social networking service. Continuing with the example at operation 410, the specific skill can be selected to be related to a legal skill, and the affinity score for knowing a legal skill as an associate at the law firm is accessed from the skills database 120. For example, the likelihood of needing legal skills for the associate position at the law firm is higher than the likelihood of needing legal skills for the associate position at the consulting firm. Therefore, the affinity score for legal skills for the associate position at the law firm is higher than the affinity score for legal skills for the associate position at the consulting firm.
  • At operation 430, the confidence score calculator 207 can update the confidence score calculated at operation 360 based on the affinity score accessed at operation 420. Continuing with the example at operation 420, the confidence score for associating legal skills with the associate position at the law firm is increased, while the confidence score for associating legal skills with the associate position at the consulting firm is decreased. A processor in the server machine 110 can update the confidence score.
  • In some instances, when the skills database 120 stores an organization affinity score 128 for the specific skill, the skill determinator 206 can determine, using the extracted textual features, a company associated with the job posting. Additionally, the skill determinator 206 can access, from the skills database 120, the organization affinity score 128 for specific skill based on the determined company. Furthermore, the confidence score calculator 207 can update the confidence score based on the organization affinity score 128 for the specific skill.
  • In some instances, the skills database 120 can store a title affinity score 127 for the specific skill at the determined company. Additionally, the skills determinator 206 can determine, using the extracted textual features, a title at the determined company associated with the job posting. Furthermore, the confidence score calculator 207 can access, from the skills database 120, the title affinity score for the specific skill at the determined company based on the determined title and update the confidence score based on the accessed title affinity score 127.
  • In some instances, the skills database 120 can store a function affinity score for the specific skill at the determined company. Additionally, the skills determinator 206 can determine, using the extracted textual features, a function at the determined company associated with the job posting. Furthermore, the confidence score calculator 207 can access, from the skills database, the function affinity score for the specific skill at the determined company based on the determined function and update the confidence score based on the accessed function affinity score.
  • In some instances, the skills database 120 can store a title at industry affinity score for the specific skill. Additionally, the skills determinator 206 can determine, using the extracted textual features, an industry associated with the job posting. Moreover, the skills determinator 206 can determine, using the extracted textual features, a title at the determined industry associated with the job posting. Furthermore, the confidence score calculator 207 can access, from the skills database 120, the title at industry affinity score for the specific skill based on the determined title at the determined industry; and update the confidence score based on the accessed title at industry affinity score.
  • FIG. 5 is a flowchart illustrating operations of the online system 210 in performing method 500 for calculating the skill frequency score, according to some example embodiments. Operations in the method 500 may be performed by the network-based system 105, using the skill determinator 206 and confidence score calculator 207 described above with respect to FIG. 2.
  • At operation 510, the confidence score calculator 207 counts the number of instances that the specific skill is included on the profile page of a member. In some instances, the confidence score calculator 207 counts the number of instances that the specific skill is listed on the profile page of a member having a job title that matches the job title selected at operation 330 in FIG. 3. Additionally, the confidence score calculator 207 may count the number of instances that the specific skill is listed on the profile page of a member with a factor (e.g., employed at a specific company, working at a specific industry, having a specific function) that is determined at operation 410 in FIG. 4. A processor in the server machine 110 can count the number of instances.
  • At operation 520, the confidence score calculator 207 counts the number of instances that the specific skill is included in the job title section of other job postings on the social networking service. A processor in the server machine 110 can count the number of instances.
  • At operation 530, the confidence score calculator 207 counts the number of instances that the specific skill is included in the job description section of other job postings on the social networking service. A processor in the server machine 110 can count the number of instances.
  • At operation 540, the confidence score calculator 207 counts the number of instances that the specific skill being included in the desired skills section of other job postings on the social networking service. A processor in the server machine 110 can count the number of instances.
  • At operation 550, the confidence score calculator 207 calculates the skill frequency score based on the number of instances that the specific skill is listed in a profile page of a members, a job title section of other job postings, a job description section of other job postings, or a desired skills section of other job postings. A processor in the server machine 110 can calculate the skill frequency score. For example, the skill frequency score can be calculated by adding the number of instances counted at operations 510-540. In some instances, the number of instances can have a different weighting factor as shown in Equation 2.

  • Skill Frequency Score=C 0(number of instances skill is listed in a profile page)+C 1(number of instances skill is listed job title section)+C 2(number of instances skill is listed job description section)+C 3(number of instances skill is listed desired skills section), where C 0 . . . C 3 are coefficients with a range from 0 to 1.   (Equation 2)
  • FIG. 6 is a user interface diagram illustrating an example of a job posting 600, according to some example embodiments. A user interface in FIG. 6 presents a job posting 600 on the online system 210 having a job title section 610, a job description section 620, and a desired skills section 630. As shown, the job title section 610 may include a title or position for the job posting 600, a supertitle, an organization name (e.g., a company name), and a job location (e.g., a city and state where the job in the job posting 600 is located). In some embodiments, the job description section 620 may include listing information for the job posting 600. For instance, the job description section 620 may include a description of the organization (e.g., a company) that is seeking to fill the job posting 600 and a description of the role, responsibilities, and duties for the job. Also, for example, the job description section 620 may describe desired and required credentials for the job posting 600. For instance, the job description section 620 may describe the job in the context of required skills, educational credentials (e.g., degrees and majors), and other credentials (e.g., certifications) that a candidate for the job posting 600 will have. In certain embodiments, the desired skills section 630 may list desired credentials for the job posting 600. For instance, the desired skills section 630 may list desired skills (e.g., programming language skills), proficiencies, educational credentials (e.g., degrees and majors), and other credentials (e.g., certifications) that indicate desired skills for the job posting 600. Additionally, as illustrated in FIG. 6, the job posting 600 can include a counter number 640 associated with the number of job applicants that have already applied to the job posting 600.
  • According to various example embodiments, one or more of the methodologies described herein facilitate an association of skill with a job posting. Additionally, using the database structure illustrated in FIG. 2, the data processing associated with the association may be performed in real time by using the offline data processor 240 for some calculations. For example, the online system 210 can use the offline data processor 240 in such a way as to allow efficient retrieval and processing of the information in order for the action module 208 to present in real time.
  • When these effects are considered in aggregate, one or more of the methodologies described herein may obviate a need for certain human efforts or resources that otherwise would be involved in calculating the quality score and validating the endorsement. Furthermore, computing resources used by one or more machines, databases, or devices (e.g., within the network environment 100) may similarly be reduced (e.g., by pre-determining the endorser value and the recipient value). Examples of such computing resources include processor cycles, network traffic, memory usage, data storage capacity, power consumption, and cooling capacity.
  • Example Machine Architecture and Machine-Readable Medium
  • FIG. 7 is a block diagram illustrating components of a machine 700, according to some example embodiments, able to read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any one or more of the methodologies discussed herein. Specifically, FIG. 7 shows a diagrammatic representation of the machine 700 in the example form of a computer system, within which instructions 716 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 700 to perform any one or more of the methodologies discussed herein may be executed. For example, the instructions 716 may cause the machine 700 to execute the flow diagrams of FIGS. 3-5. Additionally, or alternatively, the instructions 716 may implement the processes performed by the skill scraper 204, the skill determinator 206, the confidence score calculator 207, and the action module 208 of FIG. 2, and so forth. The instructions 716 transform the general, non-programmed machine 700 into a particular machine programmed to carry out the described and illustrated functions in the manner described. In alternative embodiments, the machine 700 operates as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 700 may operate in the capacity of a server machine 10 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 700 may comprise, but not be limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 716, sequentially or otherwise, that specify actions to be taken by the machine 700. Further, while only a single machine 700 is illustrated, the term “machine” shall also be taken to include a collection of machines 700 that individually or jointly execute the instructions 716 to perform any one or more of the methodologies discussed herein.
  • The machine 700 may include processors 710, memory/storage 730, and I/O components 750, which may be configured to communicate with each other such as via a bus 702. In an example embodiment, the processors 710 (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 712 and a processor 714 that may execute the instructions 716. The term “processor” is intended to include a multi-core processor that may comprise two or more independent processors (sometimes referred to as “cores”) that may execute instructions 716 contemporaneously. Although FIG. 7 shows multiple processors, the machine 700 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiples cores, or any combination thereof. For example, the operations described in the method 300 and the method 400 can be performed by one or more of the processors 710.
  • The memory/storage 730 may include a memory 732, such as a main memory, or other memory storage, and a storage unit 736, both accessible to the processors 710 such as via the bus 702. The storage unit 736 and memory 732 store the instructions 716 embodying any one or more of the methodologies or functions described herein. The instructions 716 may also reside, completely or partially, within the memory 732, within the storage unit 736, within at least one of the processors 710 (e.g., within the processor's cache memory), or any suitable combination thereof, during execution thereof by the machine 700. Accordingly, the memory 732, the storage unit 736, and the memory of the processors 710 are examples of machine-readable media. The memory/storage 730 can store the member data 116, the reputation data, or the endorsement data.
  • As used herein, “machine-readable medium” means a device able to store instructions 716 and data temporarily or permanently and may include, but is not limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of storage (e.g., erasable programmable read-only memory (EEPROM)), and/or any suitable combination thereof. The term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store the instructions 716. The term “machine-readable medium” shall also be taken to include any medium, or combination of multiple media, that is capable of storing instructions (e.g., instructions 716) for execution by a machine (e.g., machine 700), such that the instructions 716, when executed by one or more processors of the machine 700 (e.g., processors 710), cause the machine 700 to perform any one or more of the methodologies described herein. Accordingly, a “machine-readable medium” refers to a single storage apparatus or device, as well as “cloud-based” storage systems or storage networks that include multiple storage apparatus or devices. The term “machine-readable medium” excludes signals per se.
  • The I/O components 750 may include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I/O components 750 that are included in a particular machine 700 will depend on the type of machine. For example, portable machines such as mobile phones will likely include a touch input device or other such input mechanisms, while a headless server machine 110 will likely not include such a touch input device. It will be appreciated that the I/O components 750 may include many other components that are not shown in FIG. 7. The I/O components 750 are grouped according to functionality merely for simplifying the following discussion and the grouping is in no way limiting. In various example embodiments, the I/O components 750 may include output components 752 and input components 754. The output components 752 may include visual components (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth. The input components 754 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), point-based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instruments), tactile input components (e.g., a physical button, a touch screen that provides location and/or force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
  • In further example embodiments, the I/O components 750 may include biometric components 756, motion components 758, environmental components 760, or position components 762, among a wide array of other components. For example, the biometric components 756 may include components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram-based identification), and the like. The motion components 758 may include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g., gyroscope), and so forth. The environmental components 760 may include, for example, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detect concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that may provide indications, measurements, or signals corresponding to a surrounding physical environment. The position components 762 may include location sensor components (e.g., a Global Position System (GPS) receiver component), altitude sensor components (e.g., altimeters or barometers that detect air pressure from which altitude may be derived), orientation sensor components (e.g., magnetometers), and the like.
  • Communication may be implemented using a wide variety of technologies. The I/O components 750 may include communication components 764 operable to couple the machine 700 to a network 780 or devices 770 via a coupling 782 and a coupling 772, respectively. For example, the communication components 764 may include a network interface component or other suitable device to interface with the network 780. In further examples, the communication components 764 may include wired communication components, wireless communication components, cellular communication components, near field communication (NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fi® components, and other communication components to provide communication via other modalities. The devices 770 may be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a Universal Serial Bus (USB)).
  • Moreover, the communication components 764 may detect identifiers or include components operable to detect identifiers. For example, the communication components 764 may include radio frequency identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals). In addition, a variety of information may be derived via the communication components 764, such as location via Internet Protocol (IP) geolocation, location via Wi-Fi® signal triangulation, location via detecting an NFC beacon signal that may indicate a particular location, and so forth.
  • Transmission Medium
  • In various example embodiments, one or more portions of the network 780 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a 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 the Public Switched Telephone Network (PSTN), a POTS network, a cellular telephone network, a wireless network, a Wi-Fi® network, another type of network, or a combination of two or more such networks. For example, the network 780 or a portion of the network 780 may include a wireless or cellular network and the coupling 782 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, the coupling 782 may implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (1×RTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, third Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standard, others defined by various standard-setting organizations, other long-range protocols, or other data transfer technology.
  • The instructions 716 may be transmitted or received over the network 780 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components 764) and utilizing any one of a number of well-known transfer protocols (e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions 716 may be transmitted or received using a transmission medium via the coupling 772 (e.g., a peer-to-peer coupling) to the devices 770. The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying the instructions 716 for execution by the machine 700, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
  • Language
  • Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
  • Although an overview of the inventive subject matter has been described with reference to specific example embodiments, various modifications and changes may be made to these embodiments without departing from the broader scope of embodiments of the present disclosure. Such embodiments of the inventive subject matter may be referred to herein, individually or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single disclosure or inventive concept if more than one is, in fact, disclosed.
  • The embodiments illustrated herein are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. The Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
  • As used herein, the term “or” may be construed in either an inclusive or exclusive sense. Moreover, plural instances may be provided for resources, operations, or structures described herein as a single instance. Additionally, boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in a context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within a scope of various embodiments of the present disclosure. In general, structures and functionality presented as separate resources in the example configurations may be implemented as a combined structure or resource. Similarly, structures and functionality presented as a single resource may be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within a scope of embodiments of the present disclosure as represented by the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
  • Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute software modules (e.g., code stored or otherwise embodied on a machine-readable medium or in a transmission medium), hardware modules, or any suitable combination thereof. A “hardware module” is a tangible (e.g., non-transitory) unit capable of performing certain operations and may be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
  • In some embodiments, a hardware module may be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations. For example, a hardware module may be a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC. A hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware module may include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
  • Accordingly, the phrase “hardware module” should be understood to encompass a tangible entity, and such a tangible entity may be physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a general-purpose processor 710 configured by software to become a special-purpose processor, the general-purpose processor 710 may be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times. Software (e.g., a software module) may accordingly configure one or more processors 710, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
  • Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
  • The various operations of example methods described herein may be performed, at least partially, by one or more processors 710 that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors 710 may constitute processor-implemented modules that operate to perform one or more operations or functions described herein. As used herein, “processor-implemented module” refers to a hardware module implemented using one or more processors 710.
  • Similarly, the methods described herein may be at least partially processor-implemented, a processor 710 being an example of hardware. For example, at least some of the operations of a method may be performed by one or more processors 710 or processor-implemented modules. As used herein, “processor-implemented module” refers to a hardware module in which the hardware includes one or more processors 710. Moreover, the one or more processors 710 may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines 700 including processors 710), with these operations being accessible via a network 780 (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application programming interface (API)).
  • The performance of certain operations may be distributed among the one or more processors 710, not only residing within a single machine 700, but deployed across a number of machines. In some example embodiments, the one or more processors 710 or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors 710 or processor-implemented modules may be distributed across a number of geographic locations.
  • Some portions of the subject matter discussed herein may be presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). Such algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an “algorithm” is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as “data,” “content,” “bits,” “values,” “elements,” “symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like. These words, however, are merely convenient labels and are to be associated with appropriate physical quantities.
  • Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting.” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or any suitable combination thereof), registers, or other machine components that receive, store, transmit, or display information. Furthermore, unless specifically stated otherwise, the terms “a” or “an” are herein used, as is common in patent documents, to include one or more than one instance. Finally, as used herein, the conjunction “or” refers to a non-exclusive “or,” unless specifically stated otherwise.

Claims (20)

What is claimed is:
1. A computer system, comprising:
a processor;
a storage device;
a memory device holding an instruction set executable on the processor to cause the computer system to perform operations comprising:
extract textual features from a job posting on an online system having a plurality of members;
select, using the extracted textual features, a specific skill from a plurality of skills associated with the job posting;
select, using the extracted textual features, a job title for the job posting from a plurality of standardized job titles;
access an affinity score for the specific skill, the affinity score being based on a likelihood that the specific skill is associated with the selected job title;
determine a skill frequency score associated with the specific skill, the skill frequency score being based on the specific skill being included in profile data of one or more members in the plurality of members that are associated with the selected job title;
calculate a confidence score of the specific skill being associated with the job posting based on the textual features, the affinity score, and the skill frequency; and
a user interface causing a presentation of the specific skill to a member of the online system when the confidence score is above a predetermined threshold.
2. The system of claim 1, wherein instruction set executable on the processor further causes the computer system to perform operations comprising:
select the job posting from a plurality of job postings on the online system; and
count a number of instances of the specific skill being included in a job title section of other job postings in the plurality of job postings, wherein the skill frequency score is further based on the number of instances.
3. The system of claim 2, wherein the instruction set executable on the processor further causes the computer system to perform operations comprising:
count a number of instances of the specific skill being included in a job description section of other job postings in the plurality of job postings, wherein the skill frequency score is further based on the number of instances.
4. The system of claim 2, wherein the instruction set executable on the processor further causes the computer system to perform operations comprising:
count a number of instances of the specific skill being included in a desired skills section of other job postings in the plurality of job postings, wherein the skill frequency score is further based on the number of instances.
5. The system of claim 1, further comprising a skills database storing an association between a skill and a job posting, wherein the instruction set executable on the processor further causes the computer system to perform operations comprising:
store, in the skills database, an association of the specific skill with the job posting when the confidence score is above the predetermined threshold.
6. The system of claim 5, wherein the instruction set executable on the processor further causes the computer system to perform operations comprising:
determine, using the textual features, a factor associated with the job posting;
access, from the skills database, a second affinity score for the specific skill, the second affinity score being based on a likelihood that the specific skill is associated with the determined factor; and
update the confidence score based on the second affinity score.
7. The system of claim 1, further comprising:
a standardization database storing a plurality of job postings and the plurality of standardized job titles; and
a member database storing profile data of the plurality of members of the online system, the profile data of a member in the plurality of members having skills listed on a profile page of the member.
8. The system of claim 7, wherein the job posting is accessed from the standardization database, wherein the job posting includes a standardized company name, a standardized industry, a standardized title, a standardized job description, and one or more standardized desired skills.
9. The system of claim 7, wherein the profile data is accessed from the member database.
10. The system of claim 7, wherein the instruction set executable on the processor further causes the computer system to perform operations comprising:
count a number of instances of the specific skill being listed on a profile page of a member having the selected job title, wherein the skill frequency score is further based on the number of instances.
11. The system of claim 7, wherein the skill frequency score is further based on the specific skill being listed on a profile page of one or more members in the plurality of members that are associated with the selected job title.
12. The system of claim 1, wherein the online system is a social network system including a job hosting service, and wherein the job posting is posted on the job hosting service.
13. A computer-implemented method, comprising:
extracting textual features from a job posting on an online system having a plurality of members;
selecting, using the extracted textual features, a specific skill from a plurality of skills associated with the job posting;
selecting, using the extracted textual features, a job title for the job posting from a plurality of standardized job titles;
accessing an affinity score for the specific skill, the affinity score being based on a likelihood that the specific skill is associated with the selected job title;
determining a skill frequency score associated with the specific skill, the skill frequency score being based on the specific skill being included in profile data of one or more members in the plurality of members that are associated with the selected job title;
calculating a confidence score of the specific skill being associated with the job posting based on the textual features, the affinity score, and the skill frequency; and
presenting, in a user interface, the specific skill to a member of the online system when the confidence score is above a predetermined threshold.
14. The method of claim 13, further comprising:
selecting the job posting from a plurality of job postings on the online system; and
counting a number of instances of the specific skill being included in a job title section of other job postings in the plurality of job postings, wherein the skill frequency score is further based on the number of instances.
15. The method of claim 14, further comprising:
counting a number of instances of the specific skill being included in a job description section of other job postings in the plurality of job postings, wherein the skill frequency score is further based on the number of instances.
16. The method of claim 14, further comprising:
counting a number of instances of the specific skill being included in a desired skills section of other job postings in the plurality of job postings, wherein the skill frequency score is further based on the number of instances.
17. The method of claim 13, further comprising:
determining, using the textual features, a factor associated with the job posting;
accessing a second affinity score for the specific skill, the second affinity score being based on a likelihood that the specific skill is associated with the determined factor; and
updating the confidence score based on the second affinity score.
18. A non-transitory computer-readable medium storing executable instructions thereon, which, when executed by a processor, cause the processor to perform operations including:
extracting textual features from a job posting on an online system having a plurality of members;
selecting, using the extracted textual features, a specific skill from a plurality of skills associated with the job posting;
selecting, using the extracted textual features, a job title for the job posting from a plurality of standardized job titles;
accessing an affinity score for the specific skill, the affinity score being based on a likelihood that the specific skill is associated with the selected job title;
determining a skill frequency score associated with the specific skill, the skill frequency score being based on the specific skill being included in profile data of one or more members in the plurality of members that are associated with the selected job title;
calculating a confidence score of the specific skill being associated with the job posting based on the textual features, the affinity score, and the skill frequency; and
presenting, in a user interface, the specific skill to a member of the online system when the confidence score is above a predetermined threshold.
19. The computer-readable medium of claim 18, the operations further comprising:
selecting the job posting from a standardization database storing a plurality of job postings on the online system and the plurality of standardized job titles.
20. The computer-readable medium of claim 18, wherein determining the skill frequency score comprises accessing the profile data from a member database storing profile data of the plurality of members of the online system, the profile data of a member in the plurality of members having skills listed on a profile page of the member.
US15/795,706 2016-10-31 2017-10-27 Inferring skills associated with a job Abandoned US20180121880A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/795,706 US20180121880A1 (en) 2016-10-31 2017-10-27 Inferring skills associated with a job

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662415323P 2016-10-31 2016-10-31
US15/795,706 US20180121880A1 (en) 2016-10-31 2017-10-27 Inferring skills associated with a job

Publications (1)

Publication Number Publication Date
US20180121880A1 true US20180121880A1 (en) 2018-05-03

Family

ID=62021525

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/404,846 Active 2037-09-19 US10380552B2 (en) 2016-10-31 2017-01-12 Applicant skills inference for a job
US15/795,706 Abandoned US20180121880A1 (en) 2016-10-31 2017-10-27 Inferring skills associated with a job

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US15/404,846 Active 2037-09-19 US10380552B2 (en) 2016-10-31 2017-01-12 Applicant skills inference for a job

Country Status (1)

Country Link
US (2) US10380552B2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190197484A1 (en) * 2017-12-22 2019-06-27 Microsoft Technology Licensing, Llc Segmentation and labeling of job postings
US10380552B2 (en) 2016-10-31 2019-08-13 Microsoft Technology Licensing, Llc Applicant skills inference for a job
US10565561B2 (en) 2014-09-30 2020-02-18 Microsoft Technology Licensing, Llc Techniques for identifying and recommending skills
CN112101828A (en) * 2020-11-23 2020-12-18 广州万维图灵智能科技有限公司 Post skill evaluation method, system, electronic device and storage medium
US11036770B2 (en) * 2018-07-13 2021-06-15 Wyzant, Inc. Specialized search system and method for matching a student to a tutor
CN113436631A (en) * 2021-05-20 2021-09-24 青岛海尔空调器有限总公司 Voice information processing method and system and device for voice information processing
US11321671B2 (en) * 2019-08-27 2022-05-03 Dhi Group Inc. Job skill taxonomy
US11373145B2 (en) 2020-01-29 2022-06-28 International Business Machines Corporation Technology for candidate insight evaluation
US20220366374A1 (en) * 2021-05-11 2022-11-17 Eightfold AI Inc. System, method, and computer program for identifying implied job skills from qualified talent profiles
US11663536B2 (en) * 2019-06-17 2023-05-30 Microsoft Technology Licensing, Llc Generating a machine-learned model for scoring skills based on feedback from job posters
US20230376907A1 (en) * 2022-05-22 2023-11-23 Hiredscore Inc. System and method for creating and using a new data layer
US11853397B1 (en) 2017-10-02 2023-12-26 Entelo, Inc. Methods for determining entity status, and related systems and apparatus
US11860960B1 (en) 2018-04-15 2024-01-02 Entelo, Inc. Methods for dynamic contextualization of third-party data in a web browser, and related systems and apparatus

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860803B2 (en) * 2017-05-07 2020-12-08 8X8, Inc. System for semantic determination of job titles
US11157847B2 (en) * 2017-10-20 2021-10-26 Accenture Global Solutions Limited Intelligent crowdsourced resource assistant
US11403570B2 (en) * 2018-06-27 2022-08-02 Microsoft Technology Licensing, Llc Interaction-based predictions and recommendations for applicants
US11635893B2 (en) 2019-08-12 2023-04-25 Micron Technology, Inc. Communications between processors and storage devices in automotive predictive maintenance implemented via artificial neural networks
US11748626B2 (en) 2019-08-12 2023-09-05 Micron Technology, Inc. Storage devices with neural network accelerators for automotive predictive maintenance
US11853863B2 (en) 2019-08-12 2023-12-26 Micron Technology, Inc. Predictive maintenance of automotive tires
US11775816B2 (en) 2019-08-12 2023-10-03 Micron Technology, Inc. Storage and access of neural network outputs in automotive predictive maintenance
US11702086B2 (en) 2019-08-21 2023-07-18 Micron Technology, Inc. Intelligent recording of errant vehicle behaviors
US11238124B2 (en) * 2019-08-28 2022-02-01 Microsoft Technology Licensing, Llc Search optimization based on relevant-parameter selection
US11650746B2 (en) 2019-09-05 2023-05-16 Micron Technology, Inc. Intelligent write-amplification reduction for data storage devices configured on autonomous vehicles
US11693562B2 (en) 2019-09-05 2023-07-04 Micron Technology, Inc. Bandwidth optimization for different types of operations scheduled in a data storage device
US11250648B2 (en) 2019-12-18 2022-02-15 Micron Technology, Inc. Predictive maintenance of automotive transmission
US20210216942A1 (en) * 2020-01-10 2021-07-15 International Business Machines Corporation Assessing an individual's competencies through social network analysis
US11709625B2 (en) 2020-02-14 2023-07-25 Micron Technology, Inc. Optimization of power usage of data storage devices
US11507862B2 (en) 2020-04-12 2022-11-22 International Business Machines Corporation Determining skill adjacencies using a machine learning model
WO2023159332A1 (en) * 2022-02-28 2023-08-31 Futurecite Inc. Methods of and systems for facilitating personal development of an individual
US11562329B1 (en) * 2022-03-09 2023-01-24 My Job Matcher, Inc. Apparatus and methods for screening users

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208572A1 (en) * 2002-03-29 2007-09-06 Juergen Habichler Managing competencies of groups
US20100153289A1 (en) * 2008-03-10 2010-06-17 Jamie Schneiderman System and method for creating a dynamic customized employment profile and subsequent use thereof
US20120197733A1 (en) * 2011-01-27 2012-08-02 Linkedln Corporation Skill customization system
US20130046704A1 (en) * 2011-08-15 2013-02-21 Nital P. Patwa Recruitment Interaction Management System
US20150127567A1 (en) * 2013-11-01 2015-05-07 UV Labs, Inc. Data mining including processing natural language text to infer competencies
US20150127565A1 (en) * 2011-06-24 2015-05-07 Monster Worldwide, Inc. Social Match Platform Apparatuses, Methods and Systems

Family Cites Families (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5937417A (en) 1996-05-07 1999-08-10 Sun Microsystems, Inc. Tooltips on webpages
US6594673B1 (en) 1998-09-15 2003-07-15 Microsoft Corporation Visualizations for collaborative information
US7698160B2 (en) 1999-05-07 2010-04-13 Virtualagility, Inc System for performing collaborative tasks
US8140402B1 (en) 2001-08-06 2012-03-20 Ewinwin, Inc. Social pricing
US6289340B1 (en) 1999-08-03 2001-09-11 Ixmatch, Inc. Consultant matching system and method for selecting candidates from a candidate pool by adjusting skill values
US20010032244A1 (en) 1999-11-15 2001-10-18 Neustel Michael S. Internet based help system
US20030220811A1 (en) 2000-03-09 2003-11-27 Fan David P. Methods for planning career paths using prototype resumes
US6675159B1 (en) 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US20040015906A1 (en) 2001-04-30 2004-01-22 Goraya Tanvir Y. Adaptive dynamic personal modeling system and method
US6735293B2 (en) 2001-06-05 2004-05-11 Bell Canada Method and system for facilitating telecommunications service provisioning and service assurance
US20030128236A1 (en) 2002-01-10 2003-07-10 Chen Meng Chang Method and system for a self-adaptive personal view agent
US20030187813A1 (en) 2002-03-26 2003-10-02 Goldman Neal D. System and method for identifying relationship paths to a target entity
US8046307B2 (en) 2002-03-29 2011-10-25 Siebel Systems, Inc. Managing future career paths
US20070218434A1 (en) 2002-03-29 2007-09-20 Juergen Habichler Using skill level history information
US7051009B2 (en) 2002-03-29 2006-05-23 Hewlett-Packard Development Company, L.P. Automatic hierarchical classification of temporal ordered case log documents for detection of changes
US20040010443A1 (en) 2002-05-03 2004-01-15 May Andrew W. Method and financial product for estimating geographic mortgage risk
US7539697B1 (en) 2002-08-08 2009-05-26 Spoke Software Creation and maintenance of social relationship network graphs
US9563708B2 (en) 2002-11-18 2017-02-07 Aol Inc. Matching members with shared interests
US20050015432A1 (en) 2003-05-13 2005-01-20 Cohen Hunter C. Deriving contact information from emails
US20050096973A1 (en) 2003-11-04 2005-05-05 Heyse Neil W. Automated life and career management services
US8540514B2 (en) 2003-12-16 2013-09-24 Martin Gosling System and method to give a true indication of respondent satisfaction to an electronic questionnaire survey
US8036931B2 (en) 2003-12-19 2011-10-11 International Business Machines Corporation Process and heuristic statistic for prospect selection through data mining
US7310676B2 (en) 2004-02-09 2007-12-18 Proxpro, Inc. Method and computer system for matching mobile device users for business and social networking
US7593740B2 (en) 2004-05-12 2009-09-22 Google, Inc. Location-based social software for mobile devices
US20060218111A1 (en) 2004-05-13 2006-09-28 Cohen Hunter C Filtered search results
EP1747548A4 (en) 2004-05-17 2009-08-05 Visible Path Corp System and method for enforcing privacy in social networks
US7809548B2 (en) 2004-06-14 2010-10-05 University Of North Texas Graph-based ranking algorithms for text processing
US7478078B2 (en) 2004-06-14 2009-01-13 Friendster, Inc. Method for sharing relationship information stored in a social network database with third party databases
US7293017B2 (en) 2004-07-01 2007-11-06 Microsoft Corporation Presentation-level content filtering for a search result
US8402040B2 (en) 2004-08-20 2013-03-19 Morphotrust Usa, Inc. Method and system to authenticate an object
US8010460B2 (en) 2004-09-02 2011-08-30 Linkedin Corporation Method and system for reputation evaluation of online users in a social networking scheme
US20060184464A1 (en) 2004-11-22 2006-08-17 Nec Laboratories America, Inc. System and methods for data analysis and trend prediction
US7827050B2 (en) 2005-02-15 2010-11-02 International Business Machines Corporation Comprehensive goal management through the use of an integrated software application
US7945522B2 (en) 2005-04-11 2011-05-17 Jobfox, Inc. Match-based employment system and method
US20060242014A1 (en) 2005-04-25 2006-10-26 Marshall Charles T Contacts networking technology
US20060287970A1 (en) 2005-05-31 2006-12-21 Chess David M System for verification of job applicant information
US7593860B2 (en) 2005-09-12 2009-09-22 International Business Machines Corporation Career analysis method and system
US7552199B2 (en) 2005-09-22 2009-06-23 International Business Machines Corporation Method for automatic skill-gap evaluation
US20070124188A1 (en) 2005-10-14 2007-05-31 Laurence Herman Expert referral and conflict management
WO2007089920A2 (en) 2006-02-01 2007-08-09 Careerdna, Llc An integrated self-knowledge and career management process
US9396269B2 (en) 2006-06-28 2016-07-19 Microsoft Technology Licensing, Llc Search engine that identifies and uses social networks in communications, retrieval, and electronic commerce
US20080065481A1 (en) 2006-09-13 2008-03-13 Microsoft Corporation User-associated, interactive advertising monetization
US7865451B2 (en) 2006-12-11 2011-01-04 Yahoo! Inc. Systems and methods for verifying jobseeker data
US20080172415A1 (en) 2007-01-12 2008-07-17 Fakhari Mark M System and method of matching candidates and employers
US7844609B2 (en) 2007-03-16 2010-11-30 Expanse Networks, Inc. Attribute combination discovery
US8583564B2 (en) 2007-03-26 2013-11-12 Microsoft Corporation Differential pricing based on social network standing
US8275773B2 (en) 2007-03-30 2012-09-25 Stuart Donnelly Method of searching text to find relevant content
US8412564B1 (en) 2007-04-25 2013-04-02 Thomson Reuters System and method for identifying excellence within a profession
US20110040586A1 (en) 2007-05-09 2011-02-17 Alan Murray Methods and systems for providing social networking-based advertisements
US7685141B2 (en) 2007-06-06 2010-03-23 Yahoo! Inc. Connection sub-graphs in entity relationship graphs
US8060451B2 (en) 2007-06-15 2011-11-15 International Business Machines Corporation System and method for facilitating skill gap analysis and remediation based on tag analytics
US10657539B2 (en) 2007-06-29 2020-05-19 Microsoft Technology Licensing, Llc Digital voice communication advertising
US7945862B2 (en) 2007-09-11 2011-05-17 Yahoo! Inc. Social network site including contact-based recommendation functionality
US20090112796A1 (en) 2007-10-24 2009-04-30 Marvin Elder Natural language conceptual joins
US20120095933A1 (en) 2007-12-05 2012-04-19 David Goldberg Hiring Decisions Through Validation Of Job Seeker Information
US8560390B2 (en) 2008-03-03 2013-10-15 Yahoo! Inc. Method and apparatus for social network marketing with brand referral
US20090276231A1 (en) 2008-04-30 2009-11-05 International Business Machines Corporation Method and System for Job and Career Guidance, Planning, Strategy and Workforce Development
US20090276295A1 (en) 2008-05-01 2009-11-05 Myperfectgig system and method for modeling workforce talent supply to enable dynamic creation of job specifications in response thereto
US20090299990A1 (en) 2008-05-30 2009-12-03 Vidya Setlur Method, apparatus and computer program product for providing correlations between information from heterogenous sources
US20100036934A1 (en) 2008-08-07 2010-02-11 Bruster Anthony K Network Based Community and Contest System and Method for Same
US20100057659A1 (en) 2008-08-27 2010-03-04 Upwardly Mobile, Inc. Determining a Target Career Path and Tasks to Achieve Same
US8315927B2 (en) 2008-09-04 2012-11-20 Oracle International Corporation Simulating the effects of proposed rule changes on calculated labor time
US8606796B2 (en) 2008-09-15 2013-12-10 Kilac, LLC Method and system for creating a data profile engine, tool creation engines and product interfaces for identifying and analyzing files and sections of files
US20100082427A1 (en) 2008-09-30 2010-04-01 Yahoo! Inc. System and Method for Context Enhanced Ad Creation
US20100153288A1 (en) 2008-12-15 2010-06-17 Ernesto Digiambattista Collaborative career development
US20100161369A1 (en) 2008-12-23 2010-06-24 International Business Machines Corporation Application of relationship weights to social network connections
US10456036B2 (en) 2008-12-23 2019-10-29 Roche Diabetes Care, Inc. Structured tailoring
WO2010144589A2 (en) 2009-06-09 2010-12-16 Ripplefly, Inc. Methods and systems for identifying career-related events and prospective career-related networking contacts via an internet-based platform
US8667009B2 (en) 2009-07-21 2014-03-04 Saambaa Llc Systems and methods for utilizing and searching social network information
US20110040753A1 (en) 2009-08-11 2011-02-17 Steve Knight Personalized search engine
US20110078188A1 (en) 2009-09-28 2011-03-31 Microsoft Corporation Mining and Conveying Social Relationships
US8224756B2 (en) 2009-11-05 2012-07-17 At&T Intellectual Property I, L.P. Apparatus and method for managing a social network
US9141668B2 (en) 2009-12-29 2015-09-22 International Business Machines Corporation Expert locator based on user polling
BR112012017226A8 (en) 2010-01-15 2018-06-26 Apollo Group Inc dynamic learning recommendation methods and computer readable non-transient storage media
US8856229B2 (en) 2010-01-26 2014-10-07 Yahoo! Inc. System and method for social networking
US8661034B2 (en) 2010-02-03 2014-02-25 Gartner, Inc. Bimodal recommendation engine for recommending items and peers
US8271585B2 (en) 2010-02-10 2012-09-18 Microsoft Corporation Identifying intermediaries and potential contacts between organizations
US9087321B2 (en) 2010-03-01 2015-07-21 Trinity Intel Media, Llc Poll-based networking system
US8398490B1 (en) 2010-03-16 2013-03-19 Upwardly Mobile, Inc. Career management system
US20110238591A1 (en) 2010-03-24 2011-09-29 Findly, Inc. Automated profile standardization and competency profile generation
US20130212032A1 (en) 2010-03-26 2013-08-15 Ian Robert Cox Skill competency search and management
US20110258042A1 (en) 2010-04-16 2011-10-20 Google Inc. Endorsements Used in Ranking Ads
WO2011140259A1 (en) 2010-05-04 2011-11-10 Schmitt Steven J Systems and methods for job referral recommendation engine
US8386235B2 (en) 2010-05-20 2013-02-26 Acosys Limited Collaborative translation system and method
US9773225B2 (en) 2010-06-04 2017-09-26 James Jeffries Apparatus, system, and method for social network job applications
US8533110B2 (en) 2010-06-29 2013-09-10 Sociogramics, Inc. Methods and apparatus for verifying employment via online data
US20120022949A1 (en) 2010-07-21 2012-01-26 George Jai System and Method for Formulating a Life Plan
US20120226623A1 (en) 2010-10-01 2012-09-06 Linkedln Corporation Methods and systems for exploring career options
US8495143B2 (en) 2010-10-29 2013-07-23 Facebook, Inc. Inferring user profile attributes from social information
US8782149B2 (en) 2010-11-09 2014-07-15 Comcast Interactive Media, Llc Smart address book
US8892605B2 (en) 2010-12-03 2014-11-18 Relationship Capital Technologies, Inc. Systems and methods for managing social networks based upon predetermined objectives
US8978893B2 (en) 2010-12-28 2015-03-17 Facebook, Inc. Adding a compliment to a user's experience on a user's social networking profile
US20120197906A1 (en) 2011-01-28 2012-08-02 Michael Landau Systems and methods for capturing profession recommendations, create a profession ranking
US20120259791A1 (en) 2011-04-07 2012-10-11 Sabina Zoidze System and method for social networking
US20120290978A1 (en) 2011-05-12 2012-11-15 John Devecka System and method for an interactive mobile-optimized icon-based singles and dating profile display and associated social network functionality
US20130006765A1 (en) 2011-06-28 2013-01-03 United Video Properties, Inc. Systems and methods for recommending matching profiles in an interactive media guidance application
US20130013526A1 (en) 2011-07-06 2013-01-10 Le Viet Stephane Social networking job matching technology
US8396867B2 (en) 2011-07-13 2013-03-12 Nimblecat, Inc. Identifying and ranking networked biographies and referral paths corresponding to selected qualifications
US8473503B2 (en) 2011-07-13 2013-06-25 Linkedin Corporation Method and system for semantic search against a document collection
US8972414B2 (en) 2011-07-29 2015-03-03 Linkedin Corporation Methods and systems for identifying similar people via a business networking service
US8965974B2 (en) 2011-08-19 2015-02-24 Board Of Regents, The University Of Texas System Systems and methods for determining user attribute values by mining user network data and information
KR20130026718A (en) 2011-09-06 2013-03-14 엄상빈 System and method for recruiting fit person for company using social network service
US8255293B1 (en) 2011-10-10 2012-08-28 Google Inc. Product catalog dynamically tailored to user-selected media content
US9177062B2 (en) 2012-10-31 2015-11-03 Google Inc. Sorting social profile search results based on computing personal similarity scores
US20130124268A1 (en) 2011-11-10 2013-05-16 James Hatton Systems and methods for identifying experts
US20130166466A1 (en) 2011-12-22 2013-06-27 Joan Sanger Social networks and career management
US8943004B2 (en) 2012-02-08 2015-01-27 Adam Treiser Tools and methods for determining relationship values
US10262279B2 (en) 2012-02-10 2019-04-16 Oracle International Corporation Modeling career path based on successful individuals in an organization
US9971993B2 (en) 2012-03-26 2018-05-15 Microsoft Technology Licensing, Llc Leveraging a social graph for use with electronic messaging
US20130254213A1 (en) 2012-03-26 2013-09-26 Heyning Cheng Techniques for identifying and presenting connection paths
US20130268373A1 (en) 2012-04-04 2013-10-10 Linkedln Corporation Methods and systems for presenting personalized advertisements
US10325323B2 (en) 2012-04-24 2019-06-18 Facebook, Inc. Providing a claims-based profile in a social networking system
US9536439B1 (en) 2012-06-27 2017-01-03 Audible, Inc. Conveying questions with content
US20140025427A1 (en) 2012-07-17 2014-01-23 Linkedln Corporation Inferring and suggesting attribute values for a social networking service
US20150317759A1 (en) 2012-07-18 2015-11-05 Google Inc. Presenting Career Paths Based On Observed Employment Information
US20140052656A1 (en) 2012-08-16 2014-02-20 Jobagrob, Inc. Systems and methods for combination social and business network
US9225788B2 (en) 2012-10-05 2015-12-29 Facebook, Inc. Method and apparatus for identifying common interest between social network users
US9654592B2 (en) 2012-11-08 2017-05-16 Linkedin Corporation Skills endorsements
US20140136433A1 (en) 2012-11-15 2014-05-15 Christian Posse Referring members of a social network as job candidates
US20140136434A1 (en) 2012-11-15 2014-05-15 Christian Posse Referring members of a social network as job candidates
US20140143163A1 (en) 2012-11-16 2014-05-22 Sachit Kamat User characteristics-based sponsored job postings
US8959211B2 (en) 2012-11-17 2015-02-17 Facebook, Inc. Prompting social networking system users in a newsfeed to provide additional user profile information
US20140143166A1 (en) 2012-11-19 2014-05-22 Heyning Cheng Identifying members of a social network as candidate referral sources
US20140143165A1 (en) 2012-11-20 2014-05-22 Christian Posse Customizing a user-experience based on a job-seeker score
US9473583B2 (en) 2012-12-10 2016-10-18 Linkedin Corporation Methods and systems for providing decision-making support
US9483806B2 (en) 2012-12-12 2016-11-01 Linkedin Corporation Aggregating content related to a notable individual
US20140180943A1 (en) 2012-12-20 2014-06-26 Duane B. Priddy, Jr. System and Methods for Identifying Possible Associations and Monitoring Impacts of Actual Associations Between Synergistic Persons, Opportunities and Organizations
US10075554B2 (en) 2012-12-20 2018-09-11 Facebook, Inc. Detecting mobile device attributes
US8972417B2 (en) 2013-01-07 2015-03-03 Linkedin Corporation Suggested out of network communication recipients
US20140245184A1 (en) 2013-02-28 2014-08-28 Heyning Cheng Presenting actionable recommendations to members of a social network
US20140244561A1 (en) 2013-02-28 2014-08-28 Linkedin Corporation Providing recommendations to members of a social network
US9183282B2 (en) 2013-03-15 2015-11-10 Facebook, Inc. Methods and systems for inferring user attributes in a social networking system
US8909559B1 (en) 2013-03-28 2014-12-09 Linkedin Corporation Techniques to facilitate recommendations for non-member connections
US9661039B2 (en) 2013-03-28 2017-05-23 Linkedin Corporation Recommending resources to members of a social network
US20140358607A1 (en) 2013-05-31 2014-12-04 Linkedln Corporation Team member recommendation system
US20140379602A1 (en) * 2013-06-25 2014-12-25 Apollo Education Group, Inc. Skill-driven education marketplace
US9342592B2 (en) 2013-07-29 2016-05-17 Workday, Inc. Method for systematic mass normalization of titles
US9697472B2 (en) 2013-09-20 2017-07-04 Linkedin Corporation Skills ontology creation
EP3117380A4 (en) 2014-03-14 2017-08-09 Salil, Pande Career analytics platform
US8935263B1 (en) 2014-03-17 2015-01-13 Linkedin Corporation Generating rankings of reputation scores in reputation systems
US9135573B1 (en) 2014-03-17 2015-09-15 Linkedin Corporation Estimating reputation scores in reputation systems
US20150317760A1 (en) 2014-05-01 2015-11-05 Thomas Tam Tuong Pham Method, apparatus, and computer-readable medium for identifying a career path
US9251470B2 (en) 2014-05-30 2016-02-02 Linkedin Corporation Inferred identity
US20160092838A1 (en) 2014-09-30 2016-03-31 Linkedin Corporation Job posting standardization and deduplication
US10565561B2 (en) 2014-09-30 2020-02-18 Microsoft Technology Licensing, Llc Techniques for identifying and recommending skills
US9886498B2 (en) 2014-10-24 2018-02-06 Microsoft Technology Licensing, Llc Title standardization
US20160196266A1 (en) 2015-01-02 2016-07-07 Linkedin Corporation Inferring seniority based on canonical titles
US20170177580A1 (en) 2015-12-18 2017-06-22 Linkedin Corporation Title standardization ranking algorithm
US10380552B2 (en) 2016-10-31 2019-08-13 Microsoft Technology Licensing, Llc Applicant skills inference for a job

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208572A1 (en) * 2002-03-29 2007-09-06 Juergen Habichler Managing competencies of groups
US20100153289A1 (en) * 2008-03-10 2010-06-17 Jamie Schneiderman System and method for creating a dynamic customized employment profile and subsequent use thereof
US20120197733A1 (en) * 2011-01-27 2012-08-02 Linkedln Corporation Skill customization system
US20150127565A1 (en) * 2011-06-24 2015-05-07 Monster Worldwide, Inc. Social Match Platform Apparatuses, Methods and Systems
US20130046704A1 (en) * 2011-08-15 2013-02-21 Nital P. Patwa Recruitment Interaction Management System
US20150127567A1 (en) * 2013-11-01 2015-05-07 UV Labs, Inc. Data mining including processing natural language text to infer competencies

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565561B2 (en) 2014-09-30 2020-02-18 Microsoft Technology Licensing, Llc Techniques for identifying and recommending skills
US10380552B2 (en) 2016-10-31 2019-08-13 Microsoft Technology Licensing, Llc Applicant skills inference for a job
US11853397B1 (en) 2017-10-02 2023-12-26 Entelo, Inc. Methods for determining entity status, and related systems and apparatus
US20190197484A1 (en) * 2017-12-22 2019-06-27 Microsoft Technology Licensing, Llc Segmentation and labeling of job postings
US11860960B1 (en) 2018-04-15 2024-01-02 Entelo, Inc. Methods for dynamic contextualization of third-party data in a web browser, and related systems and apparatus
US11036770B2 (en) * 2018-07-13 2021-06-15 Wyzant, Inc. Specialized search system and method for matching a student to a tutor
US11663536B2 (en) * 2019-06-17 2023-05-30 Microsoft Technology Licensing, Llc Generating a machine-learned model for scoring skills based on feedback from job posters
US11321671B2 (en) * 2019-08-27 2022-05-03 Dhi Group Inc. Job skill taxonomy
US11373145B2 (en) 2020-01-29 2022-06-28 International Business Machines Corporation Technology for candidate insight evaluation
CN112101828A (en) * 2020-11-23 2020-12-18 广州万维图灵智能科技有限公司 Post skill evaluation method, system, electronic device and storage medium
US20220366374A1 (en) * 2021-05-11 2022-11-17 Eightfold AI Inc. System, method, and computer program for identifying implied job skills from qualified talent profiles
CN113436631A (en) * 2021-05-20 2021-09-24 青岛海尔空调器有限总公司 Voice information processing method and system and device for voice information processing
US20230376907A1 (en) * 2022-05-22 2023-11-23 Hiredscore Inc. System and method for creating and using a new data layer

Also Published As

Publication number Publication date
US20180121879A1 (en) 2018-05-03
US10380552B2 (en) 2019-08-13

Similar Documents

Publication Publication Date Title
US10380552B2 (en) Applicant skills inference for a job
US10628432B2 (en) Personalized deep models for smart suggestions ranking
US10990899B2 (en) Deep and wide machine learned model for job recommendation
US10606847B2 (en) Generation of training data for ideal candidate search ranking model
US11436522B2 (en) Joint representation learning of standardized entities and queries
US20190019157A1 (en) Generalizing mixed effect models for personalizing job search
US10726025B2 (en) Standardized entity representation learning for smart suggestions
US10565562B2 (en) Hashing query and job posting features for improved machine learning model performance
US10346928B2 (en) Ranking members based on influence score
US20170154313A1 (en) Personalized job posting presentation based on member data
US20170344556A1 (en) Dynamic alteration of weights of ideal candidate search ranking model
US11113738B2 (en) Presenting endorsements using analytics and insights
US20170344954A1 (en) Query building for search by ideal candidates
US20170300862A1 (en) Machine learning algorithm for classifying companies into industries
US10133993B2 (en) Expert database generation and verification using member data
US20170344554A1 (en) Ideal candidate search ranking
US10055457B2 (en) Entity based query filtering
US10148777B2 (en) Entity based search retrieval and ranking
US10984365B2 (en) Industry classification
US10586157B2 (en) Skill-based title prediction model
US10956515B2 (en) Smart suggestions personalization with GLMix
US20170154311A1 (en) Recommending position qualifications
US10726355B2 (en) Parent company industry classifier
US20180144008A1 (en) Embedded deep representation of social network taxonomy
US10423630B2 (en) Presenting a profile card relevant to a member of a social network

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, SIYUAN;WANG, QIN IRIS;FIROOZ, HAMED;AND OTHERS;SIGNING DATES FROM 20171031 TO 20180320;REEL/FRAME:045323/0193

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION