US 11,861,295 B2
Encoding a job posting as an embedding using a graph neural network
Shan Li, Santa Clara, CA (US); Baoxu Shi, Sunnyvale, CA (US); and Jaewon Yang, Sunnyvale, CA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Oct. 26, 2021, as Appl. No. 17/511,162.
Prior Publication US 2023/0125711 A1, Apr. 27, 2023
Int. Cl. G06F 40/16 (2020.01); G06F 40/40 (2020.01); G06N 3/04 (2023.01); G06F 18/214 (2023.01); G06F 18/2137 (2023.01)
CPC G06F 40/16 (2020.01) [G06F 18/214 (2023.01); G06F 18/21375 (2023.01); G06F 40/40 (2020.01); G06N 3/04 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A computer-implemented method for generating an embedding for an online job posting hosted at an online job hosting service, the method comprising:
applying a set of rules to data relating to a plurality of online job postings to derive from the data an input graph having edges connecting nodes of at least two different node types, the input graph comprising i) a plurality of nodes of a first node type, each node of the first node type an embedding derived from raw text of a job title of an online job posting, and ii) a plurality of nodes of a second node type, each node of the second node type an embedding representing a value of one of a plurality of standardized job attributes, wherein the plurality of nodes of the second node type comprise two or more nodes associated with different standardized job attribute types of a plurality of standardized job attribute types;
training a graph neural network (GNN) to generate a node embedding for each node in the input graph, the GNN implemented with an aggregation function that generates the node embedding of each node with information aggregated from at least a one-hop neighborhood, the GNN trained based on an edge prediction task using as training data positive examples and negative examples, the positive examples consisting of a pair of nodes in the input graph connected by an edge, and the negative examples consisting of a pair of nodes in the input graph not connected by an edge; and
subsequent to training the GNN:
processing the input graph with the trained GNN to generate for each node a node embedding;
receiving at the online job hosting service a new online job posting;
processing the raw text of a job title of the new online job posting to derive an embedding for the job title of the new online job posting;
obtaining at least one embedding for a value of a standardized job attribute having a standardized job attribute type of the plurality of standardized job attribute types, the value for a standardized job attribute associated with the new online job posting; and
with the GNN, generating an embedding for the new online job posting using as input data to the GNN the embedding for the job title and the embeddings corresponding with the values for the standardized job attributes.