Prosecution Insights
Last updated: October 02, 2026
Application No. 18/327,943

MACHINE LEARNING SERVICE BASED ON SKILLS GRAPH

Non-Final OA §101§103
Filed
Jun 02, 2023
Priority
Jun 02, 2022 — provisional 63/348,111
Examiner
PADUA, NICO LAUREN
Art Unit
3626
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Steady Platform LLC
OA Round
3 (Non-Final)
17%
Grant Probability
At Risk
3-4
OA Rounds
0m
Est. Remaining
56%
With Interview

Examiner Intelligence

Grants only 17% of cases
17%
Career Allowance Rate
8 granted / 46 resolved
-34.6% vs TC avg
Strong +39% interview lift
Without
With
+38.7%
Interview Lift
resolved cases with interview
Typical timeline
2y 11m
Avg Prosecution
32 currently pending
Career history
96
Total Applications
across all art units

Statute-Specific Performance

§101
39.9%
-0.1% vs TC avg
§103
34.5%
-5.5% vs TC avg
§102
14.8%
-25.2% vs TC avg
§112
9.4%
-30.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 46 resolved cases

Office Action

§101 §103
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Status of Claims This is a nonfinal rejection in response to claims filed 03/09/2026. Claims 1, 9, and 17 have been amended. Claims 2, 10, and 18 are cancelled. Claims 1, 3-9, 11-17, and 19-20 remain pending and are examined herein. Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 03/09/2026 has been entered. Priority This application claims priority to provisional application No. 63/348,111 with a filing date of 06/02/2022. This has been acknowledged as the effective filing date in the prior office action. Claim Objections Claims 3-4, 11-12, and 19-20 are objected to because of the following informalities: The claims are dependent on claims that have been cancelled. For example, claims 3 and 4 are dependent on cancelled claim 2. Claims 11 and 12 are dependent on cancelled claim 10, and claims 19-20 are dependent on cancelled claim 18. The claims are to be amended such that they are dependent on the independent claim in which they stem from. Claim 3 and 4 is to be dependent on claim 1. Claims 11 and 12 are to be dependent on claim 9. Claims 19 and 20 are to be dependent on claim 17. Appropriate correction is required. Claim Rejections – 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1, 3-9, 11-17, and 19-20 rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Step 1: Is the claim to a Process, Machine, Manufacture, or Composition of Matter? -Claims 1, 3-8(A computing system comprising a storage device...processor...) pass step 1 since they provide an apparatus with structure, which falls under the eligible subject matter category “machine.” -Claims 9, 11-16 recite a method which falls under the potentially eligible subject matter category of “process.” -Claims 17, 19-20 recite a non-transitory computer readable medium comprising instructions which when executed by a processor cause the computer to perform a method which falls under at least machine or manufacture which are both potentially eligible subject matter categories. Therefore all claims pass step 1 and are to be further analyzed under step 2. Step 2a Prong 1: Is the claim directed to a Judicial Exception(A Law of Nature, a Natural Phenomenon (Product of Nature), or An Abstract Idea?) The claims under the broadest reasonable interpretation in light of the specification are analyzed herein. Representative claims 1, 9 and 17 are marked up, isolating the abstract idea from additional elements, wherein the abstract idea is in bold and the additional elements have been italicized as follows: Claim 1: A computing system comprising: a storage device configured to store a skills graph comprising a plurality of nodes corresponding to a plurality of job types and annotated edges that interconnect the nodes, wherein the edges are annotated with skills relationship data that indicates a value for common skills between a pair of the plurality of nodes; and a processor configured to; receive a query via a software application, wherein the query comprises an identifier of a job type and a query result includes identifiers of one or more skills associated with the job type; verifying, via one or more application programming interfaces (APIs) that access one or more different external sources, respectively, whether a user has acquired the one or more skills associated with the job type; identify a node in a first skills graph stored in the storage device that corresponds to the identifier of the job type, and identify a second node in the first skills graph that corresponds to the recommended job type via a machine learning model based on an annotated edge between the node and the second node in the graph; generate a skills certificate digital document that includes a listing of the one or more skills associated with the job type and, for each of the one or more skills associated with the job type, an indication of whether the skill is verified for the user; execute, in response to the query, a machine learning model having inputs of the identifier of the job type and the identifiers of the one or more skills verified for the user to generate an output including an identification of a recommended job type; retrieve information about the recommended job type from the storage device based on a skills graph stored in the storage device; transmit the retrieved information to a user device; receive, from the user device, an indication of whether the recommendation is accepted; and update, in response to the indication of whether the recommendation is accepted, a training of the machine learning model, the updated trained machine learning model being improved to generate recommendations. Claim 9 Preamble: A method comprising: Claim 17 Preamble: Claim 9 Body(also representative of claim 17): storing a skills graph comprising a plurality of nodes corresponding to a plurality of job types and annotated edges that interconnect the nodes, the edges being annotated with skills relationship data including a value for skills shared between a pair of the plurality of nodes; receiving a query via a software application, wherein the query comprises an identifier of a job type and a query result includes identifiers of one or more skills associated with the job type; verifying, via one or more application programming interfaces (APIs) that access one or more different external sources, respectively, whether a user has acquired the one or more skills associated with the job type; identifying a node in a first skills graph stored in the storage device that corresponds to the identifier of the job type, and identify a second node in the first skills graph that corresponds to the recommended job type via a machine learning model based on an annotated edge between the node and the second node in the graph; generating a skills certificate digital document that includes a listing of the one or more skills associated with the job type and, for each of the one or more skills associated with the job type, an indication of whether the skill is verified for the user; executing, in response to the query, the machine learning model having inputs of the identifier of the job type and the identifiers of the one or more skills verified for the user to generate an output including an identification of a recommended job type; retrieving information about the recommended job type from a storage device based on a skills graph stored in the storage device; transmitting the retrieved information to a user device; receiving, from the user device, an indication of whether the recommendation is accepted; and updating, based on the indication of whether the recommendation is accepted, a training of the machine learning model, the updated trained machine learning model being improved to generate recommendations. When evaluating the bolded limitations of the claims under the broadest reasonable interpretation in light of the specification, it is clear that representative claims 1, 9, and 17 are directed to the abstract idea category of “certain methods of organizing human activity.” This abstract idea grouping found in MPEP 2106.04(a)(2)(II) includes concepts related to “fundamental economic principles or practices,” “commercial or legal interactions,” and “managing personal behavior or relationships or interactions between people.” The present invention falls under the subcategories of “commercial or legal interactions” including agreements in the form of contracts, legal obligations, advertising, marketing or sales activities or behaviors, and business relations and “managing personal behavior or relationships or interactions between people” which further includes, “social activities, teaching, and following rules or instructions” as outlined in MPEP 2106.04(a)(2)(II)(B-C). Steps such as “storing a graph...,” “receiving a query...,” “executing a model...,” “transmitting the retrieved information...,” and “updating the training of a model...” are broadly reciting generic data processing steps towards performing the functional limitations of “verifying whether a user has acquired skills...,” “generating a skills certificate document...” and “identifying a recommended job type.” These functional limitations fall under “certain methods of organizing human activity,” specifically “commercial or legal interactions” or “managing personal behavior or relationships or interactions between people” because they merely facilitate the activity of finding relevant jobs for a user, as is done in career counseling or job searching. Identifying a recommended job type based on a person’s skill is merely managing personal behavior because it is merely reciting a person following a set of instructions to find recommended jobs. Furthermore, the verification of a user’s skills and “generating a skills certificate document” is a commercial or legal interaction because it is essentially an agreement in the form of a contract that a user has a verified particular set of skills for a job. Therefore, the claims in bold fall under “certain methods of organizing human activity,” because the claims recite both “commercial or legal interactions” or “managing personal behavior” or generic data processing steps towards performing such. Furthermore, the amended limitation, which was previously presented in claim 2, and has been added to claim 1, “identify a node in a first skills graph stored in the storage device that corresponds to the identifier of the job type, and identify a second node in the first skills graph that corresponds to the recommended job type via a machine learning model based on an annotated edge between the node and the second node in the graph;” is still more of the same abstract idea because it merely recites the determination of a node corresponding to a recommended job type based on the annotated edge, but does not recite a sufficient level of detail to determine how a model (like a machine learning model) arrives at such a decision. Therefore, at this level of generality it is no more than a generic data process in order to carry out the abstract idea. Therefore the claims recite at least one abstract idea and are to be further analyzed under Prong 2. Step 2A Prong 2: Does the claim recite additional elements that integrate the judicial exception into a practical application? Claims 1, 9, and 17 recite the following additional elements: - A computing system in claim 1 - a storage device in claims 1, 9, 17 - a processor in claims 1, 9, 17 -a software application in claims 1, 9, 17 -application programming interfaces(API) in claims 1 and 9 -skills certificate digital document in claims 1 and 9 -machine learning model in claims 1, 9, and 17 -user device in claims 1, 9, and 17 - A non-transitory computer-readable medium comprising instructions which when executed by a processor cause a computer to perform a method in claim 17 The additional elements listed above are no more than a recitation of the words “apply it” (or an equivalent) or mere instructions to implement an abstract idea or other exception on a computer in its ordinary capacity as outlined in MPEP 2106.05(f). In this case, the abstract idea steps of “career consulting” are merely being performed as software functions on generic devices such as a computer, a storage device, a processor, a user device, and non-transitory computer-readable medium. Furthermore, limiting the receiving of a query (from a person) to being performed on a software application is equivalent to “apply it” as it merely indicates to perform the abstract idea steps on generic computing devices. Similarly, performing the “verifying...” step on an API is also merely “apply it,” since it merely indicates to perform the abstract idea under “commercial or legal interactions” on generic computing devices. Performing the data analysis steps of “executing inputs on a machine learning model,” “updating the training of a model based on an indication of whether the recommendation is accepted,” and “the updated trained machine learning model being improved to generate recommendations,” is merely equivalent to “apply it,” as it merely limits the model to being a machine learning model. Furthermore, even in the amended limitations, the machine learning model is instructed to carry out the identification of a second node, without the specificity required to amount to such an outcome. Therefore, the claims are equivalent to “apply it” because merely reciting the idea of the outcome and adding the words “machine learning” does not provide the level of detail necessary to meaningfully limit the use of machine learning on the abstract idea. Furthermore, it recites the machine learning so broadly that it is no more than a recitation of generic machine learning without specific steps that would potentially be an improvement to machine learning technology. Since none of the additional elements, whether considered individually or as an ordered combination integrate the abstract idea into a practical application, the claims fail at step 2a prong 2. Even when considering the claims as a whole, nothing in the claims integrates the abstract idea into a practical application, therefore the claims are directed to an abstract idea. Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception? The additional elements listed above are repeated as follows: - A computing system in claim 1 - a storage device in claims 1, 9, 17 - a processor in claims 1, 9, 17 -a software application in claims 1, 9, 17 -application programming interfaces(API) in claims 1 and 9 -skills certificate digital document in claims 1 and 9 -machine learning model in claims 1, 9, and 17 -user device in claims 1, 9, and 17 - A non-transitory computer-readable medium comprising instructions which when executed by a processor cause a computer to perform a method in claim 17 The additional elements above, when considered separately and as an ordered combination, do not add significantly more (also known as an “inventive concept”) to the exception. As discussed above with respect to integration of the abstract idea into a practical application, as supported by MPEP 2106.05(f) they are merely instructions to perform the abstract idea on a computer, or invoke the use of a computer in its ordinary capacity to perform the abstract idea steps. Furthermore, no improvements to the technology or the technological field have been purported as set forth by MPEP 2106.05(a). This is supported by the specification [0023-0024] which describes all of the computing components which are generic computing devices, in which no improvements are purported. Therefore, the claims are directed to an abstract without integration into a practical application and without significantly more. Regarding dependent claims 3-8, 11-16, and 19-20: Claims 3-4, 11-12, and 19-20 further defines the abstract idea by reciting further limitations directed to a list of shared skills(claims 3, 11, 19) , or both(claims 4, 12, 20). This is more of the same abstract idea of claim 1 since they still recite the “managing personal behavior” steps of “using data analysis techniques to identify a recommended job based on existing skills.” No further additional elements have been added and the existing additional elements repeated, including processor, are still merely applying the abstract the idea on a generic computing device as outlined in MPEP 2106.05(f). Therefore, the claims are directed to an abstract idea without integration into a practical application or significantly more and even when considering the claims as a whole, are patent ineligible. Claims 5, 8, 13, and 16 merely further narrow/limit the abstract idea as recited in the representative claims. Specifically, claims 5 and 13 limits the querying step to be performed on a chat session with a virtual coach, and limits the displaying to displaying a name of the recommended job type through the chat session. Similarly, claims 8, and 16 limits the types of data displayed to include the identifiers, skills gap data, and plurality of recommended job types. The additional element “user interface” is repeated but is still both mere instructions to apply the abstract idea on generic devices as outlined in MPEP 2106.05(f), and it is a general link to the field of user interface as outlined in MPEP 2106.05(h). Performing the abstract idea in a “chat session between a virtual coach and user” is still part of the additional element and is still a general link to the field of user interfaces since it still does not specifically limit the use of the field on the abstract idea other than generally applying it. Furthermore, it is not an improvement to the computer technology or to the technological environment, as required in MPEP 2106.05(a) in order to consider it significantly more. Therefore, the claims are directed to an abstract idea without integration into a practical application or significantly more and even when considering the claims as a whole, are patent ineligible. Claims 6 and 14 further define the abstract idea by adding the further steps of “receiving feedback and modifying weights.” Since these are more of the same abstract idea of “using data analysis techniques to identify a recommended job based on existing skills” the claims still recite an abstract idea. No further additional elements have been added and the existing additional elements repeated, including processor, are still merely applying the abstract the idea on a generic computing device as outlined in MPEP 2106.05(f). Therefore, the claims are directed to an abstract idea without integration into a practical application or significantly more and even when considering the claims as a whole, are patent ineligible. Claims 7, and 15 further define the abstract idea by adding further steps of “executing the model to identify...recommended job types, rank the job types based on skills data, retrieve information..., and display information. These steps continue to recite simple data processing steps performing more of the same abstract idea of “using data analysis techniques to identify a recommended job based on existing skills.” No further additional elements have been added. Therefore, the claims are directed to an abstract idea without integration into a practical application or significantly more and even when considering the claims as a whole, are patent ineligible. Claim Rejections – 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1-4, 6-12, 14-17, and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Yuan et al. (US 20190266497 A1) hereinafter Yuan, in view of Varga et al. (US 20200302564 A1) hereinafter Varga, further in view of Eyal Grayevsky (US 20140129463 A1) hereinafter Grayevsky, further in view of in view of Li et al. (US 20230125711 A1) hereinafter Li, Regarding Claim 1: Yuan discloses a knowledge graph containing job transitions, where the nodes represent a particular job and the edges represent attributes that connect the different jobs. A computing system comprising: -a storage device configured to store a skills graph comprising a plurality of nodes corresponding to a plurality of job types and (Yuan [0022] In one or more embodiments, data (e.g., data 1 122, data x 124) related to the entities’ profiles and activities on online professional network 118 is aggregated into a data repository 134 for subsequent retrieval and use... may be tracked and stored in a database, data warehouse, cloud storage, and/or other data-storage mechanism providing data repository 134. [0029] An analysis apparatus 204 uses job histories of the members generated from profile data 216 and/or jobs data 218 to generate a knowledge graph 214. Within knowledge graph 214, nodes 226 and edges 228 may store standardized versions of attributes (e.g., attribute 1 222, attribute x 224) in profile data 216 and job data 218. As a result, analysis apparatus 204 may use the taxonomy stored in attribute repository 234 to convert job titles, industries, seniorities, companies, schools, locations, and/or other attributes in profile data 216 and/or jobs data 218 into standardized versions of the attributes. [0030] Next, analysis apparatus 204 may populate nodes 226 in knowledge graph 214 with positions of the members in the job histories. [0044] For example, each node in knowledge graph 214 may be identified by a standardized title for the corresponding position. The position may include a job, fellowship, enrollment at a school, volunteer position, group membership, leadership position, and/or another type of role occupied by one or more members. The node may also store and/or be associated with additional attributes 306 of the position, such as a seniority, average salary, reputation score, location, company, industry, common or required skills, common or required education, common or required work experience, and/or average tenure (e.g., average number of years of employment at the position). [0053] For example, career path query 308 may include a target position of “Chief Technology Officer,”) The broadest reasonable interpretation (BRI) of the limitation includes any storage of a graph where the nodes represent a job type. “Chief Technology Officer” as taught by Yuan or any job title is an example of a “job type.” -annotated edges that interconnect the nodes, wherein the edges are annotated with relationship data including a value for attributes shared between a pair of the plurality of nodes; (Yuan[0029] Within knowledge graph 214, nodes 226 and edges 228 may store standardized versions of attributes (e.g., attribute 1 222, attribute x 224) in profile data 216 and job data 218. As a result, analysis apparatus 204 may use the taxonomy stored in attribute repository 234 to convert job titles, industries, seniorities, companies, schools, locations, and/or other attributes in profile data 216 and/or jobs data 218 into standardized versions of the attributes. [0028] In one or more embodiments, attribute repository 234 stores data that represents standardized, organized, and/or classified attributes in profile data 216 and/or jobs data 218. For example, skills in profile data 216 and/or jobs data 218 may be organized into a hierarchical taxonomy that is stored in attribute repository 234 and/or another repository. The taxonomy may model relationships between skills and/or sets of related skills (e.g., “Java programming” is related to or a subset of “software engineering”) and/or standardize identical or highly related skills (e.g., “Java programming,” “Java development,” “Android development,” and “Java programming language” are standardized to “Java”). ) The BRI of “annotated edge” is any edge that contains more data embedded in the edge. In Yuan [0029], edges 228 may store standardized versions of attributes. An example of an attribute taught in [0028] store modeled relationships between skills or sets of skills, therefore Yuan teaches the limitations. and a processor configured to; receive a query via a software application, (Yuan [0014] Furthermore, methods and processes described herein can be included in hardware modules or apparatus. These modules or apparatus may include, but are not limited to, an application-specific integrated circuit (ASIC) chip, a field-programmable gate array (FPGA), a dedicated or shared processor that executes a particular software module or a piece of code at a particular time, and/or other programmable-logic devices now known or later developed. [0051] career path query) -wherein the query comprises an identifier of a job type (Yuan [0051] In another example, career path query 308 may include the same target position and an objective of reaching the target position along the easiest or most likely career path. Knowledge graph 214 may thus be searched for some or all paths 316 from the member’s current position to the target position. [0052] Second, parameters 312 of career path query 308 may include a target position and multiple objectives... [0053] For example, career path query 308 may include a target position of “Chief Technology Officer,” a first objective of increasing the ease or likelihood of attaining the target position, and a second, equally important objective of reducing the amount of time required to reach the target position.) [0035] The career objectives may be explicitly specified by the member...As a result, the career objectives may represent career-related goals and/or priorities of the member, such as one or more positions the member wishes to attain.) The query includes a target job, which is mapped to an identifier of the job type. Yuan’s objectives are mapped to identifiers of one or more skills since an objective can include career-related goals including particular skills. An “identifier” has the BRI of any name for a job type or skill, such as “Chief Technology Officer” or “Java Programming” (as seen below). -and a query result includes identifiers of one or more skills associated with the job type; (Yuan [0048] Member features 314 are then used to identify one or more starting nodes in knowledge graph 214 for use in processing career path query 308, and knowledge graph 214 may be searched for paths 316 from the starting nodes that satisfy other parameters 312 of career path query 308. Some or all paths 316 that match parameters 312 may then be included and/or outputted in a result 318 of career path query 308. [0044] “each node in knowledge graph 214 may be identified by a standardized title for the corresponding position.” The node may also store and/or be associated with additional attributes 306 of the position, such as a seniority, average salary, reputation score, location, company, industry, common or required skills, common or required education, common or required work experience, and/or average tenure (e.g., average number of years of employment at the position). [0060] For example, titles, industries seniorities, companies, schools, locations, and/or other attributes of positions in the job histories may be standardized. [0028] In one or more embodiments, attribute repository 234 stores data that represents standardized, organized, and/or classified attributes in profile data 216 and/or jobs data 218. For example, skills in profile data 216 and/or jobs data 218 may be organized into a hierarchical taxonomy that is stored in attribute repository 234 and/or another repository. The taxonomy may model relationships between skills and/or sets of related skills (e.g., “Java programming” is related to or a subset of “software engineering”) and/or standardize identical or highly related skills (e.g., “Java programming,” “Java development,” “Android development,” and “Java programming language” are standardized to “Java”).) It is clear in Yuan [0044] that the identifiers of skills are associated with the job type. For example “Java Programming” is a identifier for a skill associated with the job type “software engineering.” -identify a node in a first skills graph stored in the storage device that corresponds to the identifier of the job type,(Yuan [0030] Next, analysis apparatus 204 may populate nodes 226 in knowledge graph 214 with positions of the members in the job histories. Analysis apparatus 204 may also connect pairs of nodes 226 in knowledge graph 214 with edges 228 representing transitions between the corresponding positions by the members. For example, analysis apparatus 204 may create a node for each position with a standardized job title from the members' job histories. Analysis apparatus 204 may then create directed edges 228 that link the node with other nodes representing other standardized job titles to represent all transitions between the standardized job title and the other standardized job titles in the members' job histories.) - execute, in response to the query, a model having inputs of the identifier of the job type and the identifiers of the one or more skills to generate an output including an identification of a recommended job type; (Yuan[0062] Finally, the path(s) are outputted in a result of the career path query (operation 408). For example, one or more paths for attaining the member’s career goals may be outputted in recommendations, notifications, emails, messages, user-interface elements, and/or other mechanisms for communicating with the member. The output may also include mechanisms for identifying, searching for, and/or reaching out to other members who have successfully completed the paths; job listings, companies, recruiters, and/or other resources that can be used to transition to subsequent positions along the paths; and/or recommendations for developing skills or experience required to make the transitions. [0038] For example, the system may recommend positions for advancing the members’ careers along career paths that help fulfill the members’ career goals, job postings for the positions, and/or actions for attaining the positions (e.g., developing skills, attaining experience, attending courses, etc.). ) The recommendation generated by Yuan’s system includes potential recommended jobs to get to the target position, those recommended jobs are mapped to the recommended job type. - retrieve information about the recommended job type from the storage device based on a skills graph stored in the storage device;(Yuan [0057] After result 318 is generated, result 318 may be displayed within a homepage, news feed, search module, profile module, and/or other part of an online network. Result 318 may also, or instead, be delivered via email, a messaging service, one or more notifications, and/or another mechanism for communicating or interacting with the member. Result 318 may further be accompanied by additional information to facilitate carrying out of the corresponding transitions 304. For example, a path that is recommended to the member may be outputted with suggestions or advice for advancing along the path, such as skills, education, and/or work experience required to move to subsequent jobs in the path; companies, recruiters, and/or job listings that can be leveraged to transition to each job in the path; an introduction or recommendation to connect with other members that have recently made one or more of the same transitions 308; and/or courses or materials for learning skills or acquiring experience required to move to each position in the path. Consequently, result 318 and/or additional information associated with attaining result 318 may provide guidance and/or insights for developing the member's career and/or reaching the member's career goals. [0060] Initially, a knowledge graph is built from job histories of members of an online network (operation 402). For example, titles, industries seniorities, companies, schools, locations, and/or other attributes of positions in the job histories may be standardized. The positions may then be stored in nodes of the knowledge graph, and transitions of the members between pairs of consecutive positions may be stored in edges of the knowledge graph. [0022] In one or more embodiments, data (e.g., data 1 122, data x 124) related to the entities' profiles and activities on online professional network 118 is aggregated into a data repository 134 for subsequent retrieval and use…may be tracked and stored in a database, data warehouse, cloud storage, and/or other data-storage mechanism providing data repository 134.) - transmit the retrieved information to a user device;(Yuan [0037] Management apparatus 206 includes, in results 210, paths that best match the parameters of career path queries 208. Management apparatus 206 then returns results 210 in response to career path queries 208. For example, management apparatus 206 may select paths that balance the member's career objectives with the average time required to attain those objectives, the number of transitions in the paths, the likelihood of attaining those objectives along those paths, and/or other considerations. Management apparatus 206 may then generate a result that includes the selected paths and output the result to the member (e.g., in an email, message, notification, recommendation, and/or other communication). Using knowledge graphs to process career path queries is described in further detail below with respect to FIG. 3.) Email, message, notification, recommendations and other communications to a user are examples of transmitting the received/outputted information to a user device. - receive, from the user device, an indication of whether the recommendation is accepted; and (Yuan [0058] The member's response to result 318 and/or accompanying information may further be tracked and used to update knowledge graph 214 and/or the processing of subsequent career path queries using knowledge graph 214. For example, subsequent transitions 304 between positions 302 by the member may be tracked and used to update the corresponding nodes 226 and/or edges 228 of knowledge graph 214.) “Subsequent transitions” above is an indication of the recommendation being accepted, since the user has performed the recommended job transition and the result of which is tracked. - update, in response to the indication of whether the recommendation is accepted, a training of the model, the updated trained model being improved to generate recommendations.(Yuan [0058] The member's transitions 304 may further be used to determine the frequency with which paths 316 recommended to the members are followed and/or help fulfill the members' career goals or objectives. In turn, metrics or statistics associated with nodes 226 and/or edges 228 in knowledge graph 214 (e.g., transition times, transition likelihoods, average salaries, average work-life balance, etc.) may be updated to reflect the subsequent transitions 304 and used to improve the accuracy or relevance of results for subsequent career path queries. [0042] As a result, knowledge graph 214 may model the career paths of the members.) However, Yuan fails to teach: -wherein the annotated edges are annotated with skills relationship data that indicates a value for common skills - verifying, via one or more application programming interfaces (APIs) that access one or more different external sources, respectively whether a user has acquired the one or more skills associated with the job type; -identify a second node in the first skills graph that corresponds to the recommended job type via a machine learning model based on an annotated edge between the node and the second node in the graph. -the model having inputs in the execute step is a machine learning model to identify a recommended job type. - generate a skills certificate digital document that includes a listing of the one or more skills associated with the job type and, for each of the one or more skills associated with the job type, an indication of whether the skill is verified for the user; - that the model being updated in response to the indication of whether the recommendation is accepted, is specifically a machine learning model, the updated trained machine learning model being improved to generate recommendations. -in the executing step, that the skills are verified for the user. Alternatively, Varga discloses a customized career counseling system that leverages a user’s profile to train a model to provide recommendations to improve their career. Varga teaches: --one or more application programming interfaces (APIs) that access one or more different external sources. (Varga [0059] Embodiments of the data gathering module 105 may gather user data 130 describing the user from a plurality of data sources 120, 124, 128, ... For example, a user-accessed data source 128 can be a website, network accessible application or service...Sources which can provide user data 130 describing a user's activity, behaviors, interests, habits, location and experiences may include (but is not limited to) data obtained from local or network accessible applications, programs or services, web browser history, web pages, cookies, internet clients, email, messenger services, short message service (SMS), social media networks, calendar services or programs, global positioning system (GPS) hardware or navigation software, application program interfaces (API), audio or video streaming services, or any other data source that may be known to store, maintain and collect user data 130. Moreover, the data gathering module 105 may continuously monitor which user-accessed data sources 128, such as web pages, locally running or network accessible applications, programs and services are being accessed by the user. The data gathering module 105 may retrieve user data 130 from each source continuously or intermittently at scheduled retrieval times.) Varga is shown to collect data using APIs which are interconnected with external sources such as a network accessible applications. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to modify Yuan by adding Varga’s API that communicates with one or more external sources, as it allows the system to collect data about the user from external sources. One of ordinary skill in the art would have been motivated by the benefit of being able to monitor and collect user data to maximize the amount of data used to increase recommendation accuracy. (See Varga [0099]) -the model having inputs in the execute step is a machine learning model to identify a recommended job type.(Varga [0082] Rather, the knowledge base 117 may be a dynamic resource having the cognitive capacity for self-learning, using one or more data modeling techniques and/or by working in conjunction with one or more machine learning programs and predictive modeling algorithms to improve the accuracy of predicting and presenting vocational actions to the user based on user profiles, vocational data being stored by the knowledge base 117 and the ontology modeled using the collected data. [0088] Embodiments of the knowledge base 117 may determine which vocational action to present to each through the use of one or more machine learning techniques. The machine learning techniques may be used to analyze user profiles, user-data 130, vocational data and user-defined parameters to arrive at the vocational action that will be presented to the user and may include supervised learning, unsupervised learning and/or semi-supervised learning techniques. Supervised learning is a type of machine learning that may use one or more computer algorithms to train the knowledge base 117 using labeled examples during a training phase. [0089] to predict which proposed career, vocation and education options presented resonated with the interests of the user.) - that the model being updated in response to the indication of whether the recommendation is accepted, is specifically a machine learning model, the updated trained machine learning model being improved to generate recommendations.(Varga [0090] Unsupervised learning techniques on the other hand may be used when there may be a lack of historical data describing past users, recommendations and feedback received from the past users of the vocational application 103. Machine learning that is unsupervised may not be “told” the right answer the way supervised learning algorithms do. Instead, during unsupervised learning, the algorithm may explore the data to find common interests, experiences, personalities, habits, activities, defined user profiles and user-defined parameters. Embodiments of an unsupervised learning algorithm can identify common attributes and patterns between users and user feedback of the suggested careers, vocations or educational options presented to the user. Examples of unsupervised machine learning may include self-organizing maps, nearest-neighbor mapping, k-means clustering, and singular value decomposition.) Therefore, it would have been obvious to one of ordinary skill in the art to further modify Yuan by adding the machine learning model of Varga used to generate recommendations. By substituting this machine learning model into the Yuan, one would arrive at the predictable outcome of the machine learning model identifying the recommended job type based on Yuan’s data, and training the model based on whether the recommendations are accepted. One of ordinary skill in the art would have been motivated by the benefit of being able to successfully predict the proposed career which aligns with the user (Varga [0089]) However, neither Yuan nor Varga teach or even suggest: - wherein the annotated edges are annotated with skills relationship data that indicates a value for common skills - verifying, via the one or more application programming interfaces (APIs) that access one or more different external sources, respectively whether a user has acquired the one or more skills associated with the job type; -identify a second node in the first skills graph that corresponds to the recommended job type via a machine learning model based on an annotated edge between the node and the second node in the graph. - generate a skills certificate digital document that includes a listing of the one or more skills associated with the job type and, for each of the one or more skills associated with the job type, an indication of whether the skill is verified for the user; -in the executing step, that the skills are verified for the user. Alternatively, Grayevsky discloses a method of evaluating the performance of an application by having connections endorse their skills. Grayevsky teaches: - verifying, via one or more interfaces that access one or more different external sources, respectively whether a user has acquired the one or more skills associated with the job type; (Grayevsky [0059] Initially, in order to obtain the endorsements or recommendations of the endorsers, the applicant must send a request to the endorsers. In sending these requests the system can automatically pre-populate a list of people suitable for being endorsers for the applicant in each category using the applicant's network information extrapolated from the user's Facebook, LinkedIn, or other similar social network accounts. [0054] Furthermore, each endorser can also serve to verify or validate the degrees and work experiences of the applicant... [0055] As the endorser provides or vouches for the other skills of the applicants, a list of skills will be generated by the system through the endorser's input... Furthermore, these vouched-for skills will serve as validation of skills already established in the applicants profile as well as reveal a new set of skills they may have not known they have.) - generate a skills certificate digital document that includes a listing of the one or more skills associated with the job type and, for each of the one or more skills associated with the job type, an indication of whether the skill is verified for the user; (Grayevsky [0057] Similarly, the hiring party will be presented with the same list of skills, helping them validate the proclaimed skill set in the applicant's profile as well as learn more about the particular strengths of that applicant. From the list of skills, the hiring party would be able to select desired candidates from the applicant pool through indicating which skills from the list are more desirable than those of other skills. For example, a hiring party seeking a candidate for a secretarial position may find that an applicant's skill for being "organized" is far more important than an applicant's skill for being a "team-player." As such, the hiring party can sort through the applicant pool through the use of the list of skills of applicants, thereby aiding the hiring party to hire a better qualified applicant for a particular employment position. [0075] In another embodiment, in vouching for relevant skills 908, the endorser can choose from a system-generated, predetermined list of skills and traits, which are derived from three sources: ... A set of skills generated by our system that are relevant to the applicant's specific education and employment history (e.g. for a computer science major, the system would suggest skills like `CSS,` HTML,` `Object oriented programming,``technologically savvy,` etc.). Finally, upon vouching up to ten skills and/or personality traits, the endorser has the option 909 to expound upon any of the suggested strengths. The endorsers can choose any of the chosen skills/strengths in the previous step 910 and give a brief explanation 911.) See Fig. 8 for the Skill certificate digital document that includes a listing of skills. As seen in [0075] these skills are specifically associated with a job type such as a Computer system major listing skills such as a ‘CSS’... Fig. 8 801 and 802 are examples of indications of the skill sets being verified for the user. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to further modify the combination of Yuan and Varga by adding the skill certification interface of Grayevsky. By simply adding this system, and using Varga’s API to capture the data, one would arrive at the limitations above, including the executing step including skills verified for the user. One of ordinary skill in the art would have been motivated to perform this combination as it would yield the benefit of helping users find positions quicker by providing more information regarding their qualifications and credentials. (Grayevsky [0011]) However, neither Yuan, Varga, nor Grayevsky teach or suggest: - skills relationship data that indicates a value for common skills between a pair of the plurality of nodes -identify a second node in the first skills graph that corresponds to the recommended job type via a machine learning model based on an annotated edge between the node and the second node in the graph. Alternatively, Li discloses the encoding of a job posting based on a skills graph, wherein the nodes are job postings, the edges represent relationships between the job postings with attributes in between. Li teaches: - skills relationship data that indicates a value for common skills between a pair of the plurality of nodes (Li [0016] As the GNN learns the structure of the graph and the relationships between nodes during the training phase, the parameters (e.g., the weight values) of the individual neurons of the GNN are adjusted to ensure that similar job postings will have similar embeddings in the embedding space. Consequently, job postings that have similar job titles and that share various standardized job attributes in common with one another will have similar vector representations, or embeddings, in the embedding space. Similarly, job postings that are connected via the graph will have similar embeddings in the embedding space. [0020] As shown in FIG. 2, the job posting with reference 206 is a node, or vertex, in a job-to-attribute graph 202. In this instance, the node 206 is connected via several edges to other nodes representing standardized job attributes 208. For example, as shown in FIG. 2, the standardized job attributes 108 include a job title, a role, an occupation, a skill, a specialty, a parent specialty, a function, and an industry. In this context, a specialty is a pursuit, area of study, or skill to which a user has devoted much time and effort and in which they are expert. While specialties may include skills, not all skills are specialties. For example, “Accounting” may be both a skill and a specialty, but not every skill that falls within the category of or is otherwise related to “Accounting” is necessarily a specialty. In some embodiments, specialties are a subset of skills. For example, an online service may manage a list of 40,000 skills, and only 1,400 of 40,000 skills may be identified and treated by the online service as specialties. [0021] For each of these several standardized job attributes 208, one or more values for the standardized attribute is generated from the data representing and/or otherwise associated with the online job posting 206…The value of each standardized job attribute may have or be associated with an identifier by which the standardized attribute can be referenced. For example, the skill, “C++ Programming,” may be associated with a skill identifier that identifies and represents the skill in a knowledge graph, taxonomy, ontology, or some other classification scheme. In addition, the value of each standardized attribute may be represented by an embedding.) -identify a second node in the first skills graph that corresponds to the recommended job type via a machine learning model based on an annotated edge between the node and the second node in the graph.(Li [0014] By way of example, a job recommendation engine may utilize one or more of the standardized job attributes associated with a job posting as a feature for a machine learning model that has been trained to rank a set of job postings for a given user. [0032] Consistent with some embodiments, each embedding that represents an online job posting may be used as an input feature to any number of machine learning models that are used in various tasks. By way of example, with some embodiments, an embedding of a job posting may be used as an input feature with a machine learning model that has been trained to predict or otherwise identify skills associated with a job posting. Similarly, an embedding of a job posting may be used as an input feature with a machine learning model that is used in ranking job postings in the context of a search for job postings or in generating job recommendations to present to a user. [0020] As shown in FIG. 2, the job posting with reference 206 is a node, or vertex, in a job-to-attribute graph 202. In this instance, the node 206 is connected via several edges to other nodes representing standardized job attributes 208. For example, as shown in FIG. 2, the standardized job attributes 108 include a job title, a role, an occupation, a skill, a specialty, a parent specialty, a function, and an industry. In this context, a specialty is a pursuit, area of study, or skill to which a user has devoted much time and effort and in which they are expert. While specialties may include skills, not all skills are specialties. [0023] For example, a co-view is a user activity that involves a user selecting a first job posting to view, for example, as presented in a job search results interface or job recommendation interface, followed by the user selecting a second job posting to view.) Li’s edge which contains the job attributes falls within the scope of “annotated edge between the node and the second node” because it describes not just how strong the connection between the edges is, but also why they are connected. Since machine learning is used to rank job postings using “standardized job attributes” Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to further modify the combination of Yuan, Varga, and Grayevsky by adding the features of Li, particularly the mapping of skills data that indicates a value shared between common job attributes between a pair of the plurality of nodes, and identifying a second node that corresponds to the recommended job type via machine learning based on the annotated edge (the edge with the corresponding attributes of Li). One of ordinary skill in the art would have been motivated to further modify Yuan with Li’s features to arrive the claimed invention because annotating the edges with job attribute data indicates not only the strength of the connection, but the skills that are in common between the job postings. One of ordinary skill in the art would have been motivated by Li’s benefit of creating a stronger overall representation of job postings to create better recommendations. (Li [0014] To that end, job hosting services may use a variety of natural language processing and machine learning techniques to process the raw text of a job posting to derive for the job posting one or more standardized job attributes, such as, titles or job titles, skills, company names, and so forth. These standardized job attributes are then used as job-related features in a variety of machine learning tasks. By way of example, a job recommendation engine may utilize one or more of the standardized job attributes associated with a job posting as a feature for a machine learning model that has been trained to rank a set of job postings for a given user. Similarly, a job-specific search engine may use standardized job attributes as features for a machine learning model trained to rank a set of job postings in response to a user's job search query. However, one of the drawbacks of this approach is that the individual standardized attributes do not provide a holistic representation of the job posting. At best, using only standardized attributes, the overall representation of a job posting may be achieved by concatenating the individual standardized attributes.) Regarding Claims 9 and 17: Yuan teaches A method comprising: Claim 9 Preamble -storing a skills graph comprising a plurality of nodes corresponding to a plurality of job types (Yuan [0022] In one or more embodiments, data (e.g., data 1 122, data x 124) related to the entities’ profiles and activities on online professional network 118 is aggregated into a data repository 134 for subsequent retrieval and use... may be tracked and stored in a database, data warehouse, cloud storage, and/or other data-storage mechanism providing data repository 134. [0029] An analysis apparatus 204 uses job histories of the members generated from profile data 216 and/or jobs data 218 to generate a knowledge graph 214. Within knowledge graph 214, nodes 226 and edges 228 may store standardized versions of attributes (e.g., attribute 1 222, attribute x 224) in profile data 216 and job data 218. As a result, analysis apparatus 204 may use the taxonomy stored in attribute repository 234 to convert job titles, industries, seniorities, companies, schools, locations, and/or other attributes in profile data 216 and/or jobs data 218 into standardized versions of the attributes. [0030] Next, analysis apparatus 204 may populate nodes 226 in knowledge graph 214 with positions of the members in the job histories. [0031] For example, each node that is identified by a standardized job title may include additional standardized attributes such as an industry, seniority, company, school, and/or location associated with the corresponding position. [0053] For example, career path query 308 may include a target position of “Chief Technology Officer,”) The broadest reasonable interpretation (BRI) of the limitation includes any storage of a graph where the nodes represent a job type. “Chief Technology Officer” as taught by Yuan or any job title is an example of a “job type.” Claim 17 Preamble: A non-transitory computer-readable medium comprising instructions which when executed by a processor cause a computer to perform a method comprising:(Yuan [0013] The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium.) The following steps make up the body of claim 9, and are also representative of claim 17: -and annotated edges that interconnect the nodes, the edges being annotated with relationship data including a value for attributes shared between a pair of the plurality of nodes; (Yuan[0029] Within knowledge graph 214, nodes 226 and edges 228 may store standardized versions of attributes (e.g., attribute 1 222, attribute x 224) in profile data 216 and job data 218. As a result, analysis apparatus 204 may use the taxonomy stored in attribute repository 234 to convert job titles, industries, seniorities, companies, schools, locations, and/or other attributes in profile data 216 and/or jobs data 218 into standardized versions of the attributes. [0028] In one or more embodiments, attribute repository 234 stores data that represents standardized, organized, and/or classified attributes in profile data 216 and/or jobs data 218. For example, skills in profile data 216 and/or jobs data 218 may be organized into a hierarchical taxonomy that is stored in attribute repository 234 and/or another repository. The taxonomy may model relationships between skills and/or sets of related skills (e.g., “Java programming” is related to or a subset of “software engineering”) and/or standardize identical or highly related skills (e.g., “Java programming,” “Java development,” “Android development,” and “Java programming language” are standardized to “Java”). ) The BRI of “annotated edge” is any edge that contains more data embedded in the edge. In Yuan [0029], edges 228 may store standardized versions of attributes. An example of an attribute taught in [0028] store modeled relationships between skills or sets of skills, therefore Yuan teaches the limitations. -receiving a query via a software application (Yuan [0014] Furthermore, methods and processes described herein can be included in hardware modules or apparatus. These modules or apparatus may include, but are not limited to, an application-specific integrated circuit (ASIC) chip, a field-programmable gate array (FPGA), a dedicated or shared processor that executes a particular software module or a piece of code at a particular time, and/or other programmable-logic devices now known or later developed. [0051] career path query) -,wherein the query comprises an identifier of a job type (Yuan [0051] In another example, career path query 308 may include the same target position and an objective of reaching the target position along the easiest or most likely career path. Knowledge graph 214 may thus be searched for some or all paths 316 from the member’s current position to the target position. [0052] Second, parameters 312 of career path query 308 may include a target position and multiple objectives... [0053] For example, career path query 308 may include a target position of “Chief Technology Officer,” a first objective of increasing the ease or likelihood of attaining the target position, and a second, equally important objective of reducing the amount of time required to reach the target position.) [0035] The career objectives may be explicitly specified by the member...As a result, the career objectives may represent career-related goals and/or priorities of the member, such as one or more positions the member wishes to attain.) The query includes a target job, which is mapped to an identifier of the job type. Yuan’s objectives are mapped to identifiers of one or more skills since an objective can include career-related goals including particular skills. An “identifier” has the BRI of any name for a job type or skill, such as “Chief Technology Officer” or “Java Programming” (as seen below). -and a query result includes identifiers of one or more skills associated with the job type; (Yuan [0048] Member features 314 are then used to identify one or more starting nodes in knowledge graph 214 for use in processing career path query 308, and knowledge graph 214 may be searched for paths 316 from the starting nodes that satisfy other parameters 312 of career path query 308. Some or all paths 316 that match parameters 312 may then be included and/or outputted in a result 318 of career path query 308. [0044] “each node in knowledge graph 214 may be identified by a standardized title for the corresponding position.” The node may also store and/or be associated with additional attributes 306 of the position, such as a seniority, average salary, reputation score, location, company, industry, common or required skills, common or required education, common or required work experience, and/or average tenure (e.g., average number of years of employment at the position). [0060] For example, titles, industries seniorities, companies, schools, locations, and/or other attributes of positions in the job histories may be standardized. [0028] In one or more embodiments, attribute repository 234 stores data that represents standardized, organized, and/or classified attributes in profile data 216 and/or jobs data 218. For example, skills in profile data 216 and/or jobs data 218 may be organized into a hierarchical taxonomy that is stored in attribute repository 234 and/or another repository. The taxonomy may model relationships between skills and/or sets of related skills (e.g., “Java programming” is related to or a subset of “software engineering”) and/or standardize identical or highly related skills (e.g., “Java programming,” “Java development,” “Android development,” and “Java programming language” are standardized to “Java”).) It is clear in Yuan [0044] that the identifiers of skills are associated with the job type. For example “Java Programming” is a identifier for a skill associated with the job type “software engineering.” -identify a node in a first skills graph stored in the storage device that corresponds to the identifier of the job type,(Yuan [0030] Next, analysis apparatus 204 may populate nodes 226 in knowledge graph 214 with positions of the members in the job histories. Analysis apparatus 204 may also connect pairs of nodes 226 in knowledge graph 214 with edges 228 representing transitions between the corresponding positions by the members. For example, analysis apparatus 204 may create a node for each position with a standardized job title from the members' job histories. Analysis apparatus 204 may then create directed edges 228 that link the node with other nodes representing other standardized job titles to represent all transitions between the standardized job title and the other standardized job titles in the members' job histories.) - executing, in response to the query, the model having inputs of the identifier of the job type and the identifiers of the one or more skills to generate an output including an identification of a recommended job type; (Yuan[0062] Finally, the path(s) are outputted in a result of the career path query (operation 408). For example, one or more paths for attaining the member’s career goals may be outputted in recommendations, notifications, emails, messages, user-interface elements, and/or other mechanisms for communicating with the member. The output may also include mechanisms for identifying, searching for, and/or reaching out to other members who have successfully completed the paths; job listings, companies, recruiters, and/or other resources that can be used to transition to subsequent positions along the paths; and/or recommendations for developing skills or experience required to make the transitions. [0038] For example, the system may recommend positions for advancing the members’ careers along career paths that help fulfill the members’ career goals, job postings for the positions, and/or actions for attaining the positions (e.g., developing skills, attaining experience, attending courses, etc.). ) The recommendation generated by Yuan’s system includes potential recommended jobs to get to the target position, those recommended jobs are mapped to the recommended job type. - retrieving information about the recommended job type from the storage device based on a skills graph stored in the storage device; (Yuan [0057] After result 318 is generated, result 318 may be displayed within a homepage, news feed, search module, profile module, and/or other part of an online network. Result 318 may also, or instead, be delivered via email, a messaging service, one or more notifications, and/or another mechanism for communicating or interacting with the member. Result 318 may further be accompanied by additional information to facilitate carrying out of the corresponding transitions 304. For example, a path that is recommended to the member may be outputted with suggestions or advice for advancing along the path, such as skills, education, and/or work experience required to move to subsequent jobs in the path; companies, recruiters, and/or job listings that can be leveraged to transition to each job in the path; an introduction or recommendation to connect with other members that have recently made one or more of the same transitions 308; and/or courses or materials for learning skills or acquiring experience required to move to each position in the path. Consequently, result 318 and/or additional information associated with attaining result 318 may provide guidance and/or insights for developing the member's career and/or reaching the member's career goals. [0060] Initially, a knowledge graph is built from job histories of members of an online network (operation 402). For example, titles, industries seniorities, companies, schools, locations, and/or other attributes of positions in the job histories may be standardized. The positions may then be stored in nodes of the knowledge graph, and transitions of the members between pairs of consecutive positions may be stored in edges of the knowledge graph. [0022] In one or more embodiments, data (e.g., data 1 122, data x 124) related to the entities' profiles and activities on online professional network 118 is aggregated into a data repository 134 for subsequent retrieval and use…may be tracked and stored in a database, data warehouse, cloud storage, and/or other data-storage mechanism providing data repository 134.) - transmitting the retrieved information to a user device;(Yuan [0037] Management apparatus 206 includes, in results 210, paths that best match the parameters of career path queries 208. Management apparatus 206 then returns results 210 in response to career path queries 208. For example, management apparatus 206 may select paths that balance the member's career objectives with the average time required to attain those objectives, the number of transitions in the paths, the likelihood of attaining those objectives along those paths, and/or other considerations. Management apparatus 206 may then generate a result that includes the selected paths and output the result to the member (e.g., in an email, message, notification, recommendation, and/or other communication). Using knowledge graphs to process career path queries is described in further detail below with respect to FIG. 3.) Email, message, notification, recommendations and other communications to a user are examples of transmitting the received/outputted information to a user device. - receiving, from the user device, an indication of whether the recommendation is accepted; and (Yuan [0058] The member's response to result 318 and/or accompanying information may further be tracked and used to update knowledge graph 214 and/or the processing of subsequent career path queries using knowledge graph 214. For example, subsequent transitions 304 between positions 302 by the member may be tracked and used to update the corresponding nodes 226 and/or edges 228 of knowledge graph 214.) “Subsequent transitions” above is an indication of the recommendation being accepted, since the user has performed the recommended job transition and the result of which is tracked. - updating, in response to the indication of whether the recommendation is accepted, a training of the model, the updated trained model being improved to generate recommendations.(Yuan [0058] The member's transitions 304 may further be used to determine the frequency with which paths 316 recommended to the members are followed and/or help fulfill the members' career goals or objectives. In turn, metrics or statistics associated with nodes 226 and/or edges 228 in knowledge graph 214 (e.g., transition times, transition likelihoods, average salaries, average work-life balance, etc.) may be updated to reflect the subsequent transitions 304 and used to improve the accuracy or relevance of results for subsequent career path queries. [0042] As a result, knowledge graph 214 may model the career paths of the members.) However, Yuan fails to teach: -wherein the annotated edges are annotated with skills relationship data that indicates a value for common skills -the model having inputs in the execute step is a machine learning model to identify a recommended job type. -verifying, via one or more application programming interfaces (APIs) that access one or more different external sources respectively, whether a user has acquired the one or more skills associated with the job type; -identifying a second node in the graph that corresponds to the recommended job type via the machine learning model based on an annotated edge between the node and the second node in the graph; - generating a skills certificate digital document that includes a listing of the one or more skills associated with the job type and, for each of the one or more skills associated with the job type, an indication of whether the skill is verified for the user; - that the model being updated in response to the indication of whether the recommendation is accepted, is specifically a machine learning model, the updated trained machine learning model being improved to generate recommendations. Alternatively, Varga discloses a customized career counseling system that leverages a user’s profile to train a model to provide recommendations to improve their career. Varga teaches: --one or more application programming interfaces (APIs) that access one or more different external sources. (Varga [0059] Embodiments of the data gathering module 105 may gather user data 130 describing the user from a plurality of data sources 120, 124, 128, ... For example, a user-accessed data source 128 can be a website, network accessible application or service...Sources which can provide user data 130 describing a user's activity, behaviors, interests, habits, location and experiences may include (but is not limited to) data obtained from local or network accessible applications, programs or services, web browser history, web pages, cookies, internet clients, email, messenger services, short message service (SMS), social media networks, calendar services or programs, global positioning system (GPS) hardware or navigation software, application program interfaces (API), audio or video streaming services, or any other data source that may be known to store, maintain and collect user data 130. Moreover, the data gathering module 105 may continuously monitor which user-accessed data sources 128, such as web pages, locally running or network accessible applications, programs and services are being accessed by the user. The data gathering module 105 may retrieve user data 130 from each source continuously or intermittently at scheduled retrieval times.) Varga is shown to collect data using APIs which are interconnected with external sources such as a network accessible applications. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to modify Yuan by adding Varga’s API that communicates with one or more external sources, as it allows the system to collect data about the user from external sources. One of ordinary skill in the art would have been motivated by the benefit of being able to monitor and collect user data to maximize the amount of data used to increase recommendation accuracy. (See Varga [0099]) -the model having inputs in the execute step is a machine learning model to identify a recommended job type.(Varga [0082] Rather, the knowledge base 117 may be a dynamic resource having the cognitive capacity for self-learning, using one or more data modeling techniques and/or by working in conjunction with one or more machine learning programs and predictive modeling algorithms to improve the accuracy of predicting and presenting vocational actions to the user based on user profiles, vocational data being stored by the knowledge base 117 and the ontology modeled using the collected data. [0088] Embodiments of the knowledge base 117 may determine which vocational action to present to each through the use of one or more machine learning techniques. The machine learning techniques may be used to analyze user profiles, user-data 130, vocational data and user-defined parameters to arrive at the vocational action that will be presented to the user and may include supervised learning, unsupervised learning and/or semi-supervised learning techniques. Supervised learning is a type of machine learning that may use one or more computer algorithms to train the knowledge base 117 using labeled examples during a training phase. [0089] to predict which proposed career, vocation and education options presented resonated with the interests of the user.) - that the model being updated in response to the indication of whether the recommendation is accepted, is specifically a machine learning model, the updated trained machine learning model being improved to generate recommendations.(Varga [0090] Unsupervised learning techniques on the other hand may be used when there may be a lack of historical data describing past users, recommendations and feedback received from the past users of the vocational application 103. Machine learning that is unsupervised may not be “told” the right answer the way supervised learning algorithms do. Instead, during unsupervised learning, the algorithm may explore the data to find common interests, experiences, personalities, habits, activities, defined user profiles and user-defined parameters. Embodiments of an unsupervised learning algorithm can identify common attributes and patterns between users and user feedback of the suggested careers, vocations or educational options presented to the user. Examples of unsupervised machine learning may include self-organizing maps, nearest-neighbor mapping, k-means clustering, and singular value decomposition.) Therefore, it would have been obvious to one of ordinary skill in the art to further modify Yuan by adding the machine learning model of Varga used to generate recommendations. By substituting this machine learning model into the Yuan, one would arrive at the predictable outcome of the machine learning model identifying the recommended job type based on Yuan’s data, and training the model based on whether the recommendations are accepted. One of ordinary skill in the art would have been motivated by the benefit of being able to successfully predict the proposed career which aligns with the user (Varga [0089]) However, neither Yuan nor Varga teach or even suggest: - wherein the annotated edges are annotated with skills relationship data that indicates a value for common skills -verifying, via one or more application programming interfaces (APIs) that access one or more different external sources respectively, whether a user has acquired the one or more skills associated with the job type; -identifying a second node in the graph that corresponds to the recommended job type via the machine learning model based on an annotated edge between the node and the second node in the graph; - generating a skills certificate digital document that includes a listing of the one or more skills associated with the job type and, for each of the one or more skills associated with the job type, an indication of whether the skill is verified for the user; Alternatively, Grayevsky discloses a method of evaluating the performance of an application by having connections endorse their skills. Grayevsky teaches: - verifying, via one or more interfaces that access one or more different external sources, respectively whether a user has acquired the one or more skills associated with the job type; (Grayevsky [0059] Initially, in order to obtain the endorsements or recommendations of the endorsers, the applicant must send a request to the endorsers. In sending these requests the system can automatically pre-populate a list of people suitable for being endorsers for the applicant in each category using the applicant's network information extrapolated from the user's Facebook, LinkedIn, or other similar social network accounts. [0054] Furthermore, each endorser can also serve to verify or validate the degrees and work experiences of the applicant... [0055] As the endorser provides or vouches for the other skills of the applicants, a list of skills will be generated by the system through the endorser's input... Furthermore, these vouched-for skills will serve as validation of skills already established in the applicants profile as well as reveal a new set of skills they may have not known they have.) - generating a skills certificate digital document that includes a listing of the one or more skills associated with the job type and, for each of the one or more skills associated with the job type, an indication of whether the skill is verified for the user; (Grayevsky [0057] Similarly, the hiring party will be presented with the same list of skills, helping them validate the proclaimed skill set in the applicant's profile as well as learn more about the particular strengths of that applicant. From the list of skills, the hiring party would be able to select desired candidates from the applicant pool through indicating which skills from the list are more desirable than those of other skills. For example, a hiring party seeking a candidate for a secretarial position may find that an applicant's skill for being "organized" is far more important than an applicant's skill for being a "team-player." As such, the hiring party can sort through the applicant pool through the use of the list of skills of applicants, thereby aiding the hiring party to hire a better qualified applicant for a particular employment position. [0075] In another embodiment, in vouching for relevant skills 908, the endorser can choose from a system-generated, predetermined list of skills and traits, which are derived from three sources: ... A set of skills generated by our system that are relevant to the applicant's specific education and employment history (e.g. for a computer science major, the system would suggest skills like `CSS,` HTML,` `Object oriented programming,``technologically savvy,` etc.). Finally, upon vouching up to ten skills and/or personality traits, the endorser has the option 909 to expound upon any of the suggested strengths. The endorsers can choose any of the chosen skills/strengths in the previous step 910 and give a brief explanation 911.) See Fig. 8 for the Skill certificate digital document that includes a listing of skills. As seen in [0075] these skills are specifically associated with a job type such as a Computer system major listing skills such as a ‘CSS’... Fig. 8 801 and 802 are examples of indications of the skill sets being verified for the user. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to further modify the combination of Yuan and Varga by adding the skill certification interface of Grayevsky. By simply adding this system, and using Varga’s API to capture the data, one would arrive at the limitations above including the executing step having skills verified for the user. One of ordinary skill in the art would have been motivated to perform this combination as it would yield the benefit of helping users find positions quicker by providing more information regarding their qualifications and credentials. (Grayevsky [0011]) However, neither Yuan, Varga, nor Grayevsky teach or suggest: - skills relationship data that indicates a value for common skills between a pair of the plurality of nodes -identifying a second node in the graph that corresponds to the recommended job type via the machine learning model based on an annotated edge between the node and the second node in the graph; Li teaches: - skills relationship data that indicates a value for common skills between a pair of the plurality of nodes (Li [0016] As the GNN learns the structure of the graph and the relationships between nodes during the training phase, the parameters (e.g., the weight values) of the individual neurons of the GNN are adjusted to ensure that similar job postings will have similar embeddings in the embedding space. Consequently, job postings that have similar job titles and that share various standardized job attributes in common with one another will have similar vector representations, or embeddings, in the embedding space. Similarly, job postings that are connected via the graph will have similar embeddings in the embedding space. [0020] As shown in FIG. 2, the job posting with reference 206 is a node, or vertex, in a job-to-attribute graph 202. In this instance, the node 206 is connected via several edges to other nodes representing standardized job attributes 208. For example, as shown in FIG. 2, the standardized job attributes 108 include a job title, a role, an occupation, a skill, a specialty, a parent specialty, a function, and an industry. In this context, a specialty is a pursuit, area of study, or skill to which a user has devoted much time and effort and in which they are expert. While specialties may include skills, not all skills are specialties. For example, “Accounting” may be both a skill and a specialty, but not every skill that falls within the category of or is otherwise related to “Accounting” is necessarily a specialty. In some embodiments, specialties are a subset of skills. For example, an online service may manage a list of 40,000 skills, and only 1,400 of 40,000 skills may be identified and treated by the online service as specialties. [0021] For each of these several standardized job attributes 208, one or more values for the standardized attribute is generated from the data representing and/or otherwise associated with the online job posting 206…The value of each standardized job attribute may have or be associated with an identifier by which the standardized attribute can be referenced. For example, the skill, “C++ Programming,” may be associated with a skill identifier that identifies and represents the skill in a knowledge graph, taxonomy, ontology, or some other classification scheme. In addition, the value of each standardized attribute may be represented by an embedding.) -identify a second node in the first skills graph that corresponds to the recommended job type via a machine learning model based on an annotated edge between the node and the second node in the graph.(Li [0016] Consequently, job postings that have similar job titles and that share various standardized job attributes in common with one another will have similar vector representations, or embeddings, in the embedding space. Similarly, job postings that are connected via the graph will have similar embeddings in the embedding space. [0014] By way of example, a job recommendation engine may utilize one or more of the standardized job attributes associated with a job posting as a feature for a machine learning model that has been trained to rank a set of job postings for a given user. [0032] Consistent with some embodiments, each embedding that represents an online job posting may be used as an input feature to any number of machine learning models that are used in various tasks. By way of example, with some embodiments, an embedding of a job posting may be used as an input feature with a machine learning model that has been trained to predict or otherwise identify skills associated with a job posting. Similarly, an embedding of a job posting may be used as an input feature with a machine learning model that is used in ranking job postings in the context of a search for job postings or in generating job recommendations to present to a user. [0020] As shown in FIG. 2, the job posting with reference 206 is a node, or vertex, in a job-to-attribute graph 202. In this instance, the node 206 is connected via several edges to other nodes representing standardized job attributes 208. For example, as shown in FIG. 2, the standardized job attributes 108 include a job title, a role, an occupation, a skill, a specialty, a parent specialty, a function, and an industry. In this context, a specialty is a pursuit, area of study, or skill to which a user has devoted much time and effort and in which they are expert. While specialties may include skills, not all skills are specialties. [0023] For example, a co-view is a user activity that involves a user selecting a first job posting to view, for example, as presented in a job search results interface or job recommendation interface, followed by the user selecting a second job posting to view.) Li’s edge which contains the job attributes falls within the scope of “annotated edge between the node and the second node” because it describes not just how strong the connection between the edges is, but also why they are connected. Since machine learning is used to rank job postings using based on sharing various standardized job attributes, then the strength of connection between edges is based on the amount of standardized job attributes they share. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to further modify the combination of Yuan, Varga, and Grayevsky by adding the features of Li, particularly the mapping of skills data that indicates a value shared between common job attributes between a pair of the plurality of nodes, and identifying a second node that corresponds to the recommended job type via machine learning based on the annotated edge (the edge with the corresponding attributes of Li). One of ordinary skill in the art would have been motivated to further modify Yuan with Li’s features to arrive the claimed invention because annotating the edges with job attribute data indicates not only the strength of the connection, but the skills that are in common between the job postings. One of ordinary skill in the art would have been motivated by Li’s benefit of creating a stronger overall representation of job postings to create better recommendations. (Li [0014] To that end, job hosting services may use a variety of natural language processing and machine learning techniques to process the raw text of a job posting to derive for the job posting one or more standardized job attributes, such as, titles or job titles, skills, company names, and so forth. These standardized job attributes are then used as job-related features in a variety of machine learning tasks. By way of example, a job recommendation engine may utilize one or more of the standardized job attributes associated with a job posting as a feature for a machine learning model that has been trained to rank a set ofjob postings for a given user. Similarly, a job-specific search engine may use standardized job attributes as features for a machine learning model trained to rank a set of job postings in response to a user's job search query. However, one of the drawbacks of this approach is that the individual standardized attributes do not provide a holistic representation of the job posting. At best, using only standardized attributes, the overall representation of a job posting may be achieved by concatenating the individual standardized attributes.) Regarding Claims 3, 11: The combination of Yuan, Varga, Grayevsky and Li teach The computing system of claim 1, wherein the processor is configured to.../ The method of claim 9, wherein the identifying comprises... Furthermore Yuan teaches: - identify(ing) the second node based on identifiers of skills that are shared between the job type and the recommended job type (Yuan [0044] For example, each node in knowledge graph 214 may be identified by a standardized title for the corresponding position. The position may include a job, fellowship, enrollment at a school, volunteer position, group membership, leadership position, and/or another type of role occupied by one or more members. The node may also store and/or be associated with additional attributes 306 of the position, such as a seniority, average salary, reputation score, location, company, industry, common or required skills, common or required education, common or required work experience, and/or average tenure (e.g., average number of years of employment at the position.) -which are stored in annotations on the edge between the node and the second node in the graph. (Yuan [0045] Similarly, each edge in knowledge graph 214 may be a directed edge representing a transition from a starting position to an ending position by one or more members. As a result, edges 228 may be formed between consecutive positions 302 of the members in job histories 300. Each edge may further be augmented with attributes 306 of the corresponding transition,) Yuan’s augmenting with attributes of the transition, is mapped to annotated edges. We also know that the attributes can include common or shared skills. Regarding Claims 4, 12: The combination of Yuan, Varga, Grayevsky and Li teach The computing system of claim 1, wherein the processor is configured to.../ The method of claim 9 wherein the identifying comprises... wherein the identifying comprises: However, neither Yuan, Varga, nor Grayevsky teach or suggest: -Identify(ing) a plurality of second nodes and select a second node corresponding to the recommended job type based on how many skills are shared between the job type and the recommended job type. Alternatively, Li discloses: -Identify(ing) a plurality of second nodes and select a second node corresponding to the recommended job type based on how many skills are shared between the job type and the recommended job type. (Li [0016] Consequently, job postings that have similar job titles and that share various standardized job attributes in common with one another will have similar vector representations, or embeddings, in the embedding space. Similarly, job postings that are connected via the graph will have similar embeddings in the embedding space. [0014] By way of example, a job recommendation engine may utilize one or more of the standardized job attributes associated with a job posting as a feature for a machine learning model that has been trained to rank a set of job postings for a given user. [0032] Consistent with some embodiments, each embedding that represents an online job posting may be used as an input feature to any number of machine learning models that are used in various tasks. By way of example, with some embodiments, an embedding of a job posting may be used as an input feature with a machine learning model that has been trained to predict or otherwise identify skills associated with a job posting. Similarly, an embedding of a job posting may be used as an input feature with a machine learning model that is used in ranking job postings in the context of a search for job postings or in generating job recommendations to present to a user. [0020] As shown in FIG. 2, the job posting with reference 206 is a node, or vertex, in a job-to-attribute graph 202. In this instance, the node 206 is connected via several edges to other nodes representing standardized job attributes 208. For example, as shown in FIG. 2, the standardized job attributes 108 include a job title, a role, an occupation, a skill, a specialty, a parent specialty, a function, and an industry. In this context, a specialty is a pursuit, area of study, or skill to which a user has devoted much time and effort and in which they are expert. While specialties may include skills, not all skills are specialties. [0023] For example, a co-view is a user activity that involves a user selecting a first job posting to view, for example, as presented in a job search results interface or job recommendation interface, followed by the user selecting a second job posting to view.) Li’s edge which contains the job attributes falls within the scope of “annotated edge between the node and the second node” because it describes not just how strong the connection between the edges is, but also why they are connected. Since machine learning is used to rank job postings using based on sharing various standardized job attributes, then the strength of connection between edges is based on the amount of standardized job attributes they share. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to further modify the combination of Yuan, Varga, and Grayevsky by adding the features of Li, particularly the mapping of skills data that indicates a value shared between common job attributes between a pair of the plurality of nodes, and identifying a second node that corresponds to the recommended job type via machine learning based on the annotated edge (the edge with the corresponding attributes of Li). One of ordinary skill in the art would have been motivated to further modify Yuan with Li’s features to arrive the claimed invention because annotating the edges with job attribute data indicates not only the strength of the connection, but the skills that are in common between the job postings. One of ordinary skill in the art would have been motivated by Li’s benefit of creating a stronger overall representation of job postings to create better recommendations. (Li [0014] To that end, job hosting services may use a variety of natural language processing and machine learning techniques to process the raw text of a job posting to derive for the job posting one or more standardized job attributes, such as, titles or job titles, skills, company names, and so forth. These standardized job attributes are then used as job-related features in a variety of machine learning tasks. By way of example, a job recommendation engine may utilize one or more of the standardized job attributes associated with a job posting as a feature for a machine learning model that has been trained to rank a set ofjob postings for a given user. Similarly, a job-specific search engine may use standardized job attributes as features for a machine learning model trained to rank a set of job postings in response to a user's job search query. However, one of the drawbacks of this approach is that the individual standardized attributes do not provide a holistic representation of the job posting. At best, using only standardized attributes, the overall representation of a job posting may be achieved by concatenating the individual standardized attributes.) Regarding Claims 6, 14: The combination of Yuan, Varga, Grayevsky and Li teach The computing system of claim 1, wherein the processor is configured to.../ The method of claim 9, wherein the method further comprises... However, Yuan fails to teach or suggest: - receiv(ing) feedback about the recommended job type, and modifying one or more weights between nodes in the graph based on the received feedback. Alternatively, Varga teaches: - receiv(ing) feedback about the recommended job type, and modifying one or more weights between nodes in the graph based on the received feedback.( Varga[0075] The ontology created by the vocational application 103 may comprise the relationships and properties of all the existing and known vocational actions available to a user, including but not limited to careers, vocations, educational courses, educational institutions, licensing requirements, internships/volunteering etc. The ontology may be represented by a graph, and each node of the graph may contain a list of properties, skills, interests, etc. (i.e. as parameter values or parameter value ranges associated with a vocational action), that a user may have to be considered interested or associated with the vocational action (such as a career, vocation or educational opportunity) that may be associated with the node of the graph. For example, nodes of the ontology could be associated with any field, course of study, interest, hobby, educational level, etc., such as math, logic, digital circuits, animal study, biology, chemistry, robotics, or any other field. [0076] Embodiments of the nodes may be weighted more heavily than other in some embodiments to accommodate for the quality of data used to construct the node and/or user feedback from historically presented career and educational options to historical users of the vocational application 103.) Varga’s recommended vocational action which includes careers, is mapped to the recommended job type. Varga’s system receives feedback and modifies weights based on the feedback. Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date to further modify the combined invention by adding Varga’s use of feedback and optimization of the graph based on the feedback as it would result in the expected outcome of improved accuracy based on the results because of the capacity of the system for self-learning. (Varga [0082]) Regarding Claims 7, 15: The combination of Yuan, Varga, Grayevsky and Li teach The computing system of claim 1, wherein the processor is configured to.../ The method of claim 9, wherein the executing comprises... Furthermore, Yuan discloses: -executing an algorithm to identify a plurality of job types (Yuan[0062] Finally, the path(s) are outputted in a result of the career path query (operation 408). For example, one or more paths for attaining the member's career goals may be outputted in recommendations, notifications, emails, messages, user-interface elements, and/or other mechanisms for communicating with the member. The output may also include mechanisms for identifying, searching for, and/or reaching out to other members who have successfully completed the paths; job listings, companies, recruiters, and/or other resources that can be used to transition to subsequent positions along the paths; and/or recommendations for developing skills or experience required to make the transitions. [0038] For example, the system may recommend positions for advancing the members' careers along career paths that help fulfill the members' career goals, job postings for the positions, and/or actions for attaining the positions (e.g., developing skills, attaining experience, attending courses, etc.). ) The recommendation generated by Yuan’s system includes potential recommended jobs to get to the target position, those recommended jobs are mapped to the recommended job type. -displaying the retrieved information about the plurality of recommended job types. (Yuan [0057] After result 318 is generated, result 318 may be displayed within a homepage, news feed, search module, profile module, and/or other part of an online network. Result 318 may also, or instead, be delivered via email, a messaging service, one or more notifications, and/or another mechanism for communicating or interacting with the member. Result 318 may further be accompanied by additional information to facilitate carrying out of the corresponding transitions 304. For example, a path that is recommended to the member may be outputted with suggestions or advice for advancing along the path, such as skills, education, and/or work experience required to move to subsequent jobs in the path; companies, recruiters, and/or job listings that can be leveraged to transition to each job in the path; an introduction or recommendation to connect with other members that have recently made one or more of the same transitions 308; and/or courses or materials for learning skills or acquiring experience required to move to each position in the path. Consequently, result 318 and/or additional information associated with attaining result 318 may provide guidance and/or insights for developing the member's career and/or reaching the member's career goals.) However, Yuan fails to teach or suggest: - execut(ing) the machine learning model to identify a plurality of recommended job types - and ranking the plurality of recommended job types based on skills data in the graph, and the retrieving comprises retrieving information about the plurality of recommended job types and displaying the retrieved information about the plurality of recommended job types based on the ranking. Alternatively, Varga discloses: - execut(ing) the machine learning model to identify a plurality of recommended job types (Varga [0082] Rather, the knowledge base 117 may be a dynamic resource having the cognitive capacity for self-learning, using one or more data modeling techniques and/or by working in conjunction with one or more machine learning programs and predictive modeling algorithms to improve the accuracy of predicting and presenting vocational actions to the user based on user profiles, vocational data being stored by the knowledge base 117 and the ontology modeled using the collected data. [0088] Embodiments of the knowledge base 117 may determine which vocational action to present to each through the use of one or more machine learning techniques. The machine learning techniques may be used to analyze user profiles, user-data 130, vocational data and user-defined parameters to arrive at the vocational action that will be presented to the user and may include supervised learning, unsupervised learning and/or semi-supervised learning techniques. Supervised learning is a type of machine learning that may use one or more computer algorithms to train the knowledge base 117 using labeled examples during a training phase. [0089] to predict which proposed career, vocation and education options presented resonated with the interests of the user.) -ranking the plurality of recommended job types based on skills data in the graph, and (Varga [0096] The ranking module 111 may more heavily weight the newly collected data in some embodiments. As described above, using the data collected by the data gathering module 105 and the user profile, the ranking module 111 may create a ranked list of vocational action based on the defined user parameters, and taking into account the data quality. In some embodiments, the ranking module 111 may inject one or more nodes of the ontology may inject nodes having a low data quality into the recommendation list because some recommendations that may be suitable to the user may not otherwise have enough data or enough high quality data to be ranked at the top of the list of recommended careers, vocations or educational opportunities. See also [0083] and subsequent paragraphs explaining ranking module) -the retrieving comprises retrieving information about the plurality of recommended job types and (Varga [0098] Embodiments of the vocational application 103 may further comprise a reporting engine 115. The reporting engine 115 may perform the task or function of generating one or more reports from the records stored by the knowledge base 117 and presenting the knowledge base 117 information in an organized, human-readable format to the user via the vocational application user interface 112. Embodiments of the reports generated by the reporting engine 115 may include detailed information describing the vocational action ranked by the ranking module 111 and vocational data gathered by the data gathering module 105 that may be associated with each career, vocation or educational option being presented to the user.) -displaying the retrieved information about the plurality of recommended job types based on the ranking.(Varga [0114] In step 617 of the algorithm 600, the knowledge base 117 or knowledge base management module 109 may request the reporting engine 115 to generate a report comprising a detailed presentation of career, vocation and education options for consideration by the user. Embodiments of the report may organize the presentation of each option being presented to the user based on the rankings calculated by the rankings module 111 in step 615. The size of the report being presented to the user may be controlled by the user or the reporting engine 115 in some embodiments. For example, in some embodiments, the user can limit the number of options being presented to the user by limiting the options to a specified number of those at the top of the rankings. For instance, by limiting the options being presented to the top 5, top 10, top 15 ranked options, etc. In alternative embodiments of the report, the reporting engine 115 may limit the presentation of options to the user. For example, by setting a pre-programmed cutoff in the rankings wherein when an option falls below a certain score, probability or rank, the reporting engine 115 does not include the option in the report. Once the report has been generated by the reporting engine 115, in step 619, the reporting engine 115 may transmit the report to the vocational application user interface 112 which may be displayed on the human readable display 718 of the client device 110 or any other computing system 700 that may be connected to the network 150 of the computing environment 100, 200, 400.) Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date to further modify the combined invention by adding Varga’s ranking module to rank the recommended job types and provide information about them as it would result in the expected outcome of displaying a detailed report that provides the user with multiple options, and that can also be used as feedback to further train the algorithm. (Varga [0025]) Regarding Claims 8, 16: The combination of Yuan, Varga, Grayevsky, and Li teach The computing system of claim 7, wherein the processor is configured to.../ The method of claim 15, wherein the displaying comprises... Yuan further discloses: - displaying a plurality of identifiers of the plurality of recommended job types, and (Yuan [0057] After result 318 is generated, result 318 may be displayed within a homepage, news feed, search module, profile module, and/or other part of an online network. Result 318 may also, or instead, be delivered via email, a messaging service, one or more notifications, and/or another mechanism for communicating or interacting with the member. Result 318 may further be accompanied by additional information to facilitate carrying out of the corresponding transitions 304.) -skills gap data for the plurality of recommended job types via the user interface. (Yuan [0057] For example, a path that is recommended to the member may be outputted with suggestions or advice for advancing along the path, such as skills, education, and/or work experience required to move to subsequent jobs in the path; companies, recruiters, and/or job listings that can be leveraged to transition to each job in the path; an introduction or recommendation to connect with other members that have recently made one or more of the same transitions 308; and/or courses or materials for learning skills or acquiring experience required to move to each position in the path. Consequently, result 318 and/or additional information associated with attaining result 318 may provide guidance and/or insights for developing the member's career and/or reaching the member's career goals.) Yuan’s skills required to move to subsequent jobs is mapped to “skills gap data.” Regarding Claim 19: The combination of Yuan, Varga, Grayevsky and Li teach The non-transitory computer-readable medium of claim 17, wherein the identifying comprises: Furthermore Yuan teaches: - identify(ing) the second node based on identifiers of skills that are shared between the job type and the recommended job type (Yuan [0044] For example, each node in knowledge graph 214 may be identified by a standardized title for the corresponding position. The position may include a job, fellowship, enrollment at a school, volunteer position, group membership, leadership position, and/or another type of role occupied by one or more members. The node may also store and/or be associated with additional attributes 306 of the position, such as a seniority, average salary, reputation score, location, company, industry, common or required skills, common or required education, common or required work experience, and/or average tenure (e.g., average number of years of employment at the position.) -which are stored in annotations on the edge between the node and the second node in the graph. (Yuan [0045] Similarly, each edge in knowledge graph 214 may be a directed edge representing a transition from a starting position to an ending position by one or more members. As a result, edges 228 may be formed between consecutive positions 302 of the members in job histories 300. Each edge may further be augmented with attributes 306 of the corresponding transition,) Yuan’s augmenting with attributes of the transition, is mapped to annotated edges. We also know that the attributes can include common or shared skills. Regarding Claim 20: The combination of Yuan, Varga, Grayevsky and Li teach The non-transitory computer-readable medium of claim 17, wherein the identifying comprises: However, neither Yuan, Varga, nor Grayevsky teach or suggest: -Identify(ing) a plurality of second nodes and select a second node corresponding to the recommended job type based on how many skills are shared between the job type and the recommended job type. Alternatively, Li discloses: -Identify(ing) a plurality of second nodes and select a second node corresponding to the recommended job type based on how many skills are shared between the job type and the recommended job type. (Li [0016] Consequently, job postings that have similar job titles and that share various standardized job attributes in common with one another will have similar vector representations, or embeddings, in the embedding space. Similarly, job postings that are connected via the graph will have similar embeddings in the embedding space. [0014] By way of example, a job recommendation engine may utilize one or more of the standardized job attributes associated with a job posting as a feature for a machine learning model that has been trained to rank a set of job postings for a given user. [0032] Consistent with some embodiments, each embedding that represents an online job posting may be used as an input feature to any number of machine learning models that are used in various tasks. By way of example, with some embodiments, an embedding of a job posting may be used as an input feature with a machine learning model that has been trained to predict or otherwise identify skills associated with a job posting. Similarly, an embedding of a job posting may be used as an input feature with a machine learning model that is used in ranking job postings in the context of a search for job postings or in generating job recommendations to present to a user. [0020] As shown in FIG. 2, the job posting with reference 206 is a node, or vertex, in a job-to-attribute graph 202. In this instance, the node 206 is connected via several edges to other nodes representing standardized job attributes 208. For example, as shown in FIG. 2, the standardized job attributes 108 include a job title, a role, an occupation, a skill, a specialty, a parent specialty, a function, and an industry. In this context, a specialty is a pursuit, area of study, or skill to which a user has devoted much time and effort and in which they are expert. While specialties may include skills, not all skills are specialties. [0023] For example, a co-view is a user activity that involves a user selecting a first job posting to view, for example, as presented in a job search results interface or job recommendation interface, followed by the user selecting a second job posting to view.) Li’s edge which contains the job attributes falls within the scope of “annotated edge between the node and the second node” because it describes not just how strong the connection between the edges is, but also why they are connected. Since machine learning is used to rank job postings using based on sharing various standardized job attributes, then the strength of connection between edges is based on the amount of standardized job attributes they share. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to further modify the combination of Yuan, Varga, and Grayevsky by adding the features of Li, particularly the mapping of skills data that indicates a value shared between common job attributes between a pair of the plurality of nodes, and identifying a second node that corresponds to the recommended job type via machine learning based on the annotated edge (the edge with the corresponding attributes of Li). One of ordinary skill in the art would have been motivated to further modify Yuan with Li’s features to arrive the claimed invention because annotating the edges with job attribute data indicates not only the strength of the connection, but the skills that are in common between the job postings. One of ordinary skill in the art would have been motivated by Li’s benefit of creating a stronger overall representation of job postings to create better recommendations. (Li [0014] To that end, job hosting services may use a variety of natural language processing and machine learning techniques to process the raw text of a job posting to derive for the job posting one or more standardized job attributes, such as, titles or job titles, skills, company names, and so forth. These standardized job attributes are then used as job-related features in a variety of machine learning tasks. By way of example, a job recommendation engine may utilize one or more of the standardized job attributes associated with a job posting as a feature for a machine learning model that has been trained to rank a set ofjob postings for a given user. Similarly, a job-specific search engine may use standardized job attributes as features for a machine learning model trained to rank a set of job postings in response to a user's job search query. However, one of the drawbacks of this approach is that the individual standardized attributes do not provide a holistic representation of the job posting. At best, using only standardized attributes, the overall representation of a job posting may be achieved by concatenating the individual standardized attributes.) Claims 5 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Yuan (US 20190266497 A1) in view of Varga (US 20200302564 A1), further in view of Grayevsky (US 20140129463 A1), further in view of in view of Li(US 20230125711 A1) , further in view of Yoshikawa et al. (US 20220147903 A1) hereinafter Yoshikawa. Regarding Claims 5, 13: The combination of Yuan, Varga, Grayevsky and Li teach The computing system of claim 1, wherein the processor is configured to.../ The method of claim 9, wherein the receiving comprises... Yuan teaches: -receiv(ing) the query([0050] career path query) - the displaying comprises displaying a name of the recommended job type(Yuan [0062] Finally, the path(s) are outputted in a result of the career path query (operation 408). For example, one or more paths for attaining the member’s career goals may be outputted in recommendations, notifications, emails, messages, user-interface elements, and/or other mechanisms for communicating with the member. The output may also include mechanisms for identifying, searching for, and/or reaching out to other members who have successfully completed the paths; job listings, companies, recruiters, and/or other resources that can be used to transition to subsequent positions along the paths; and/or recommendations for developing skills or experience required to make the transitions. [0071] For example, the present embodiments may be implemented using a cloud computing system that recommends job and/or career path transitions for advancing the careers of a set of remote members of an online network.) However, neither Yuan, Varga, Grayevsky, or Li teach or suggest: -receiv(ing) the query via a chat session between a virtual coach and the user, and the displaying comprises displaying a name of the recommended job type via the chat session with the user. Alternatively Yoshikawa discloses mapping virtual career advisors to candidates seeking advice by storing skills data for both, and matching the skills data accordingly. After connecting, the candidates can ask questions and receive recommendations from the career advisor virtually. Yoshikawa discloses: -receiv(ing) the query via a chat session between a virtual coach and the user, and (Yoshikawa [0052] (5) The user selects one of the experts, and asks a question with whatever communication tool the user likes. A built-in video/audio/text chat may be used. Or any communication tools such as Slack, Microsoft Teams, Skype, E-mail, Phone call, Zoom, etc. may be used instead.) -the displaying comprises displaying recommendations via the chat session with the user.(Yoshikawa [0078] Consequence of the help. Can be “Solved”, “Partially solved”, “Gave a hint/Inspired”, “Introduced another advisor”, “Introduced good resources”, etc. This is decided from the advisor’s perspective.) Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date to further modify Yuan by adding a virtual coach chatting feature as taught by Yoshikawa to receive the inquiries and deliver the recommendations. This would result in the predictable outcome of the combined system being used by a virtual coach to help guide the advice, but ultimately allowing the virtual coach to deliver the advice. One of ordinary skill in the art would have been motivated to perform this combination as it would provide the benefit of connecting advice seekers to the most relevant expert that can provide effective results, creating an overall more beneficial system for job seekers to improve their career outlook. (Yoshikawa [0118]) Response to Arguments Applicant's arguments filed 03/09/2026 have been fully considered but they are not persuasive. Regarding applicant’s remarks over claim rejections under 35 U.S.C. 101, the applicant’s arguments have been fully considered but are not persuasive. The applicant asserts that the claims are not directed to “certain methods of organizing human activity,” alleging that the claims are directed to the processing of data represented by a particular type of skills graph by a machine learning model, generating a skills certificate of one or more skills associated with a job type, and an indication of whether the skills are verified for the user, and further training of the machine learning model to improve an operation thereof. However, the examiner respectfully disagrees. In view of the applicant’s arguments that the claims do not recite or even relate to “managing personal behavior or relationships or interactions between people,” the applicant asserts that the claims do not oblige a user to interact with each other in any manner. The applicant further argues that because the recommendation does not “constrain, restrict, or limit users and others to act in accordance with the recommendation” there is no recitation that users act in any specific, obligated contractual or agreed upon manner. However, in the subcategory “managing personal behavior, interactions or relationships between people,” the discussion of whether users are contractually obliged to perform any of the tasks or interactions is not part of the interactions. The fact that a recommendation to a user regarding a particular job type is provided, even without obligation to perform a particular action, is enough to at least place the claims within the subcategory of “managing personal behavior, interactions, or relationships” between people. Furthermore, the argument that users are not “interacting with each other in any particular manner” is not persuasive because MPEP 2106.04(a)(2)(II) specifically states, “Finally, the sub-groupings encompass both activity of a single person (for example, a person following a set of instructions or a person signing a contract online) and activity that involves multiple people (such as a commercial interaction), and thus, certain activity between a person and a computer (for example a method of anonymous loan shopping that a person conducts using a mobile phone) may fall within the "certain methods of organizing human activity" grouping. It is noted that the number of people involved in the activity is not dispositive as to whether a claim limitation falls within this grouping. Instead, the determination should be based on whether the activity itself falls within one of the sub-groupings.” Therefore, even though the claims do not require direct interaction with a user, the claims still fall within the subgroupings because it performs an interaction that manages personal behavior or relationships between people, in this case, the within the abstract idea of “career counseling.” Furthermore, the applicant’s arguments that the claims are devoid of any advertising, marketing or sales activities is not persuasive because the claims are denoted to fall within other categories of “Certain methods of organizing human activity,” particularly “commercial or legal interactions” such as agreements in the form of contracts, and “managing personal behavior or interactions.” For example, the generation of a skills certificate digital document with verified and authenticated skills is a legal interaction because it is a contractual agreement or legal document that certifies information. Therefore, the applicant’s arguments over step 2a Prong 1 are not persuasive. Regarding the applicant’s arguments over step 2a Prong 2, the applicant asserts that the claims are integrated into a practical application, supporting the argument with the verbatim claim language, stating that it “clearly recites the integration of the claimed features into a practical application that imposes a meaningful limit on the alleged judicial exception.” However, the examiner respectfully disagrees, because as stated previously, the additional elements are equivalent to “apply it” or mere instructions to perform the abstract idea on a generic computer. The applicant cites to paragraph [0053], which does not convince a person of ordinary skill in the art that a technical improvement has been achieved via the claims, because the generation of a skills document, albeit performed automatically on a computer, is part of the abstract idea of “commercial or legal interactions.” Nothing in the specification provides the level of detail necessary to make the improvement apparent to a person of ordinary skill in the art, nor does the specification include a discussion of the technical problem and explain the details of the unconventional technical solution. This also applies to the citation of [0054] of the specification, which implements the platform as a “virtual coach” or “chatbot” which is merely using computers as a tool to perform the abstract idea, and is thus equivalent to “apply it.” Feeding information from the user back to the model, though it may improve the model, is not the same kind of improvement that qualifies under MPEP 2106.05(a). Therefore, the applicant’s argument that the updated machine learning model is improved to generate recommendations “is a clear indication of the recited system of amended claim 1 being integrated into a practical application,” is not persuasive because improving data processing using machine learning is inherent to the field of machine learning. Considerations that would be considered an improvement over machine learning are listed in EX Parte Desjardins, for example, “xiii. An improved way of training a machine learning model that protected the model’s knowledge about previous tasks while allowing it to effectively learn new tasks; Ex Parte Desjardins, Appeal No. 2024-000567 (PTAB September 26, 2025, Appeals Review Panel Decision) (precedential); and xiv. Improvements to computer component or system performance based upon adjustments to parameters of a machine learning model associated with tasks or workstreams; Ex Parte Desjardins, Appeal No. 2024-000567 (PTAB September 26, 2025, Appeals Review Panel Decision) (precedential).” However, neither of these considerations are applicable to the present claims. There are no hardware components whose performance is being improved based on machine learning model parameter optimization, nor is there an improvement to how the machine learning model is trained. Generic use of machine learning to improve an abstract idea does not count as an improvement to technology under MPEP 2106.05(a). In fact, the MPEP 2106.05(a) specifically states, “Notably, the court did not distinguish between the types of technology when determining the invention improved technology. However, it is important to keep in mind that an improvement in the abstract idea itself (e.g. a recited fundamental economic concept) is not an improvement in technology.” Therefore, the improvement must be to the technology, not to the abstract idea. Therefore, none of the applicant’s arguments over 35 U.S.C. 101 are persuasive and the claims remain ineligible under 35 U.S.C. 101. The applicant’s arguments over claim rejections under 35 U.S.C. 103 have been fully considered but are not persuasive for the following reasons. The applicant argues that the recited combination of Yuan, Varga, Grayevsky, and Mura fails to disclose (or even suggest) the claimed aspects of a “skills graph” as “comprising a plurality of nodes corresponding to a plurality of job types and annotated edges that interconnect the nodes, the edges being annotated with skills relationship data including a value for skills shared between a pair of the plurality of nodes.” However, this argument is moot because the claims are now rejected under the combination of Yuan, Varga, Grayevksy, and Li, in which the “skills graph” as amended is satisfied by the combination. The remaining arguments regarding Mura’s distinction from the present claims for reciting “direct transitions” which don’t include a “value for skills shared between a pair of the plurality of nodes” are moot in view of the updated rejection which now includes Li. In this case, Li is shown to teach the skills wherein the edges are annotated with skills relationship data including a value for skills shared between a pair of the plurality of nodes. On figure 2C, of the present disclosure, the skills graph 240, is shown where the nodes are a plurality of job types, and the edges contain the shared skills between nodes. In Li, Fig. 2 and Fig. 3, “the unified job posting graph shows the “job postings” as nodes, with edges containing common “job attributes” between the nodes. According to [0020], and [0021] of Li, these job attributes “such as skills” are mapped to a taxonomy, ontology, or other classification scheme, and a value of the job attributes are represented by an embedding such that job attributes in common with one another have similar vector representations (Li [0016] Consequently, job postings that have similar job titles and that share various standardized job attributes in common with one another will have similar vector representations, or embeddings, in the embedding space. Similarly, job postings that are connected via the graph will have similar embeddings in the embedding space.) Therefore, the limitation “the edges being annotated with skills relationship data including a value for skills shared between a pair of the plurality of nodes,” is satisfied by the combination of Yuan, Varga, Grayevsky, and Li. Therefore, after fully considering the applicant’s arguments, the claims remain rejected under 35 U.S.C. 103. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: - Groot et al. (Maurits de Groot et al., 6 Sep 2021, Job Posting-Enriched Knowledge Graph for Skills-based Matching, RecSys in HR 2021) discloses a skill-based matching system of job postings on a knowledge graph based on shared skills. - Syrom et al. (syrom, Jan 15 2022, ONDA:Plotly Dash solution for interactive organisational knowledge network discovery, Medium) discloses a knowledge network for jobs and skills with annotated edges between hierarchy, projects, and competency nodes, where the edges and nodes hold additional information describing seniority, employment status, and ranking 1-10 of skills quantifying the competence of skills. Any inquiry concerning this communication or earlier communications from the examiner should be directed to NICO LAUREN PADUA whose telephone number is (703)756-1978. The examiner can normally be reached Mon to Fri: 8:30 to 5:00pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jessica Lemieux can be reached at (571) 270-3445. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /NICO L PADUA/ Junior Patent Examiner, Art Unit 3626 /SANGEETA BAHL/Primary Examiner, Art Unit 3626
Read full office action

Prosecution Timeline

Jun 02, 2023
Application Filed
Apr 23, 2025
Non-Final Rejection mailed — §101, §103
Jul 23, 2025
Response Filed
Sep 08, 2025
Final Rejection mailed — §101, §103
Mar 09, 2026
Request for Continued Examination
Mar 24, 2026
Response after Non-Final Action
Sep 02, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12586035
INTERACTIVE USER INTERFACE FOR SYSTEM
4y 7m to grant Granted Mar 24, 2026
Patent 12523701
METHOD FOR MANAGING BATTERY RECORD AND APPARATUS FOR PERFORMING THE METHOD
3y 2m to grant Granted Jan 13, 2026
Patent 11881521
SEMICONDUCTOR DEVICE
1y 11m to grant Granted Jan 23, 2024
Study what changed to get past this examiner. Based on 3 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
17%
Grant Probability
56%
With Interview (+38.7%)
2y 11m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 46 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month