A position knowledge graph generation method and system
Patent Information
- Application Number
- CN202111220412.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-20
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2041-10-20
AI Technical Summary
然而,由于求职者在其简历或相关求职需求等文件中和招聘者在其招聘信息中对职位、技能等关键信息的描述多种多样,同样的意思可能采用不同的词汇、不同的语式,这为职位的搜索和匹配增加了难度
[0006] This invention utilizes user-uploaded data on a platform, such as job descriptions, resumes, and public encyclopedia data, to obtain job-related nouns or noun phrases as entities. Each entity has one or more attributes. Based on business needs such as job search and recommendation, the relationships between entities are set as inclusion and similarity relationships. Encyclopedia data can automatically retrieve these inclusion or similarity relationships between entities regarding a certain attribute. When an entity is known, multiple entities with the same attribute can be found through that entity's attributes. These entities, based on inclusion relationships, can express semantics ranging from detailed to abstract. Moreover, the graph matches a job classification table. Therefore, through the graph of this invention, using job seekers' resumes and recruiters' job descriptions as basic information, keywords of the basic information are extracted semantically, and these keywords are matched with entities in the graph provided by this invention. This allows for a deeper understanding of user needs and the acquisition of implicit information within those needs.
Smart Images

Figure CN113886604B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to knowledge graphs, and more particularly to a method and system for generating job knowledge graphs for recruitment platforms. Background Technology
[0002] Recruitment platforms are widely used information platforms in modern information society. On the one hand, job seekers can use the search engines on recruitment platforms to search for positions that match their expectations. Typically, search engines offer one or more options to define search criteria. These search options are usually those that job seekers are most concerned with, such as "industry," "job function," "salary range," "company type," and "work location." However, in reality, the search criteria defined by these predefined search options are too broad for the vast amount of information available. First, they may yield a large number of job postings, requiring job seekers to manually filter them or conduct further searches. Second, the limited number of existing search options does not accurately reflect the true intentions of job seekers, thus the search results do not meet their search objectives. To allow job seekers to input their specific search terms, a keyword option is usually included in the search results. Due to individual differences in expression among job seekers, the keywords they enter for the same meaning may vary widely, making it difficult for search engines to correctly understand the keywords and leading to search bias. On the other hand, most recruitment platforms have job recommendation functions, matching job seekers and recruiters based on their resumes and job postings to find positions that meet the job seeker's needs. However, because job seekers describe key information such as job requirements and skills in their resumes or related job application documents, and recruiters describe the same meaning in their job postings in a variety of ways, using different words and phrases, this increases the difficulty of job searching and matching. Summary of the Invention
[0003] To address the technical problems existing in the prior art, this invention proposes a method and system for generating a job knowledge graph, which provides multiple pieces of content with different levels of detail on the same dimension related to a job.
[0004] To address the aforementioned technical problems, according to one aspect of the present invention, a method for generating a job knowledge graph is provided, comprising the following steps: establishing a corpus based on a job description dataset, a resume dataset, and an encyclopedia knowledge dataset; retrieving entities from the corpus using an entity recall model to obtain graph entities, wherein the entities are nouns or noun phrases; extracting relationships between entities from the encyclopedia knowledge dataset using a relation extraction model, wherein the relationships between the entities are inclusion or similarity; and establishing mapping relationships between entities based on the relationships between entities.
[0005] According to another aspect of the present invention, a job knowledge graph generation system is also provided, including a corpus module, an entity recall module, a relation extraction module, and a graph generation module; wherein, the corpus module is configured to establish a corpus based on a job description dataset, a resume dataset, and an encyclopedia knowledge dataset; the entity recall module is configured to recall entities from the corpus through an entity recall model to obtain graph entities, wherein the entities are nouns or noun phrases; the relation extraction module is connected to the entity recall module and is configured to extract relationships between entities from the encyclopedia knowledge dataset through a relation extraction model, wherein the relationships between entities are inclusion or similarity; the graph generation module is connected to the entity recall module and the relation extraction module, and is configured to use entities as nodes to establish connections between nodes based on the relationships between entities, thereby generating a job knowledge graph.
[0006] This invention utilizes user-uploaded data on a platform, such as job descriptions, resumes, and public encyclopedia data, to obtain job-related nouns or noun phrases as entities. Each entity has one or more attributes. Based on business needs such as job search and recommendation, the relationships between entities are set as inclusion and similarity relationships. Encyclopedia data can automatically retrieve these inclusion or similarity relationships between entities regarding a certain attribute. When an entity is known, multiple entities with the same attribute can be found through that entity's attributes. These entities, based on inclusion relationships, can express semantics ranging from detailed to abstract. Moreover, the graph matches a job classification table. Therefore, through the graph of this invention, using job seekers' resumes and recruiters' job descriptions as basic information, keywords of the basic information are extracted semantically, and these keywords are matched with entities in the graph provided by this invention. This allows for a deeper understanding of user needs and the acquisition of implicit information within those needs. Attached Figure Description
[0007] The preferred embodiments of the present invention will now be described in further detail with reference to the accompanying drawings, wherein:
[0008] Figure 1 This is a flowchart of a method for generating a job knowledge graph according to an embodiment of the present invention;
[0009] Figure 2 This is a flowchart of an entity recall method according to an embodiment of the present invention;
[0010] Figure 3 This is a flowchart of a method for obtaining a dataset for entity recall according to an embodiment of the present invention;
[0011] Figure 4 This is a data display diagram based on an embodiment of the present invention, using single cells in Excel for labeling;
[0012] Figure 5 This is a flowchart of an entity relationship extraction method according to an embodiment of the present invention;
[0013] Figure 6 This is a block diagram illustrating the principle of a job knowledge graph generation system according to an embodiment of the present invention.
[0014] Figure 7 This is a block diagram of a corpus module according to an embodiment of the present invention;
[0015] Figure 8 This is a block diagram of an entity recall module according to an embodiment of the present invention;
[0016] Figure 9 This is a principle block diagram of a relation extraction module according to an embodiment of the present invention;
[0017] Figure 10 This is a diagram showing some entities and their relationships in a knowledge graph according to an embodiment of the present invention;
[0018] Figure 11 This is a flowchart of a job recommendation method according to an application embodiment of the present invention; and
[0019] Figure 12 This is a flowchart of generating a first tag for a job seeker according to an application embodiment of the present invention. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0021] In the following detailed description, reference can be made to the accompanying drawings, which form part of this application and illustrate specific embodiments of the present application. In the drawings, similar reference numerals describe substantially similar components in different figures. Specific embodiments of the present application are described in sufficient detail below to enable those skilled in the art to implement the technical solutions of the present application. It should be understood that other embodiments may also be utilized, or structural, logical, or electrical changes may be made to the embodiments of the present application.
[0022] A knowledge graph is a semantic network that reveals the relationships between entities. Each piece of knowledge is represented as a Subject-Predicate-Object (SPO) triple, which is closer to human cognitive thinking and provides an effective way to express, organize, manage, and utilize the massive, heterogeneous, and dynamic data on the Internet. The knowledge graph system for recruitment platforms provided by this invention retrieves entities from recruitment information, resumes, and job listings and resumes in public databases within the recruitment platform. It then extracts the relationships between entities using a general encyclopedia knowledge base composed of encyclopedia entries crawled from the Internet, thereby establishing a job knowledge graph in the job search and recruitment field. The process of generating the job knowledge graph is as follows: Figure 1 As shown, the method includes the following steps:
[0023] Step S1: Establish a corpus.
[0024] Step S2, Entity Recall.
[0025] Step S3: Extract entity relationships.
[0026] Step S4, map maintenance.
[0027] In step S1, the data sources are first determined. This invention uses data from recruitment information and resumes within recruitment platforms, as well as data from job listings and resumes in some public databases, and wiki data (including corpora crawled from Chinese Wikipedia pages, triplet corpora crawled from non-hidden Baidu Encyclopedia pages, triplet corpora crawled from the entire internet in version 7 of Lore (2015), and complete Baidu Encyclopedia corpora crawled based on 30k concatenated words). The corpus is mainly divided into job description datasets posted by recruiters, resume datasets, and wiki datasets. The data from these three datasets are processed to obtain a standard-formatted, easy-to-use corpus. Specifically, the following steps are included:
[0028] First, the three types of corpus data identified above were screened and cleaned. This mainly included: deleting unnecessary information that would affect subsequent analysis of the corpus, such as long foreign language passages, telephone numbers, email addresses, or physical addresses; standardizing the data format to minimize heterogeneity between different corpora caused by external factors such as format, symbols, and encoding; and statistically analyzing the content of the entries and fields, making a preliminary judgment on the legality of the fields, and deleting entries that were too long, too short, had overflow, or were obviously illogical.
[0029] Then, the corpus data is merged and split. In this invention, the data in the three datasets is split, and based on different subsequent needs for the corpus, the final split results are divided into five states of datasets:
[0030] 1) Raw dataset: The original dataset that has not been cleaned;
[0031] 2) The clean dataset, which is the dataset after the aforementioned data cleaning process;
[0032] 3) Paragrah dataset, a dataset deduplicated by item and paragraph scale;
[0033] 4) The sentence dataset is a pre-defined dataset consisting of sentences, which is formed by further segmenting, deduplicating, and sorting the paragraphs.
[0034] 5) Generate a title dataset for the WIKI dataset. This is a vocabulary list generated by selecting representative WIKI entries that meet the specified goals. It is mainly used for subsequent filtering and statistics.
[0035] In this step, using the aforementioned corpus cleaning results as a framework, the job description dataset, resume dataset, and WIKI dataset are split at the item and sentence levels, respectively. Specifically, based on the filtered and cleaned clean files, item and paragraph-level deduplication is performed, effectively addressing the impact of objective factors such as duplicate job postings, duplicate resume submissions, and cross-segment duplication in the WIKI dataset on the diversity of the corpus. To achieve more reliable deduplication results, methods such as sorting and calculating Levenshtein similarity ratios for merging can be employed.
[0036] In one embodiment, each line in the corpus stores only one entry, and the format of each entry is defined as follows:
[0037] <Primary Key>|<Description>|...|<Description>|<Description>
[0038] The "|" symbol serves as a field separator (without spaces on either side). <Primary Key> and <Description> represent different field contents. A valid entry may not contain any description field, but each entry must contain a primary key as an index. Any field can contain only Traditional and Simplified Chinese characters, lowercase English letters, numbers, and specified English symbols [,.; ! ? / +-#@]. Specifically, spaces are used as illegal symbol replacements. No consecutive symbols are allowed in any field. The first field must be a unique identifier for the job title or resume as the key value, and the last field must be the job title or resume description (i.e., the core field used for semantic analysis). It is worth noting that resume entries include multiple description fields such as work experience, project experience, and self-introduction. Description fields do not begin with any form of numeral (1, II, III., etc.). Sentences are separated by the five symbols [,;.; ! ? ], and parallel sentences within a sentence are separated by the symbol [ / ] (the comma and / are used to indicate parallel sentences). The various datasets in the corpus are stored in the form of files. As a specific example, the corpus files are stored in UTF-8 encoding format without signatures, and the last entry in the file is ended with a newline character (\n) without content to facilitate concatenation.
[0039] In the knowledge graph generation task of this system, basic entity recall is one of the most critical steps. The quantity and quality of entities in the graph directly determine the quality of the final knowledge graph itself and the subsequent business processes using it. In this invention, entities are defined as nouns or noun phrases, which not only reflects various information from the recruitment platform but also facilitates searching and matching when subsequent business processes use the graph. The entity recall steps are as follows: Figure 2 As shown, it includes:
[0040] Step S21 involves initially filtering sentences based on feature sentence patterns composed of specific words or patterns and various dictionaries to obtain a dataset for entity recall. Since different application environments focus on different information—for example, for a job recommendation system, useful information typically conforms to certain specific sentence patterns, such as verb-object sentences beginning with verbs like "familiar," "proficient," "understand," or "responsible," followed by a noun—this type of sentence pattern is used as a feature sentence pattern. Sentences containing this pattern are filtered from the corpus to form the first preliminary dataset. Additionally, in some embodiments, an entity dictionary accumulated through business operations is also included. This dictionary records commonly used phrases in job searches, such as job titles, skill names, and level names, which can be directly used for entities in this graph. Sentences containing entities from the entity dictionary are extracted from the corpus based on this entity dictionary to form the second preliminary dataset. In one embodiment of the invention, tags from a tag dictionary used in the recommendation system are also used to split the tags, obtain new words, and then sentences containing these new words are extracted from the corpus to form the third preliminary dataset. In one embodiment, the Aho-Corasick (AC) automaton is used to map entities and decomposed tag morphemes from the entity dictionary to a corpus, obtaining sentences containing entities and tag morphemes. The three initial selection datasets are then merged to form the initial screening dataset. The specific process is as follows: Figure 3 As shown, it includes:
[0041] Step S211: Use the feature sentence patterns to filter out sentences containing such sentence patterns from the corpus to form the first preliminary dataset.
[0042] Step S212: For the existing entity dictionary, the AC automaton is used to map the entities in the entity dictionary to the corpus, thereby obtaining sentences that include dictionary entities, which is the second preliminary dataset.
[0043] Step S213 involves splitting the tags in the tag dictionary to obtain a tag morpheme set. This step utilizes existing data, such as data from the tag dictionary. Morphemes can form new words or phrases from the bottom up, thus serving as an important source of knowledge graph entities. The tag dictionary contains tags accumulated in the recommendation system, and these tags consist of prefix and suffix morphemes, which are typically two- or three-character words. To obtain more knowledge graph entities, this embodiment further expands the tag dictionary.
[0044] Step S214: Use the AC automaton to map the content of the tag morpheme set to the corpus and extract sentences containing tag morphemes.
[0045] Step S215 involves extracting new vocabulary from the sentences containing tagged morphemes. This is achieved by segmenting each sentence, analyzing its grammatical structure, and identifying morphemes that can be combined with the tagged morphemes, thus obtaining new words that include the original tagged morphemes. When new words are obtained based on tagged morphemes, their frequency is queried, and words with a frequency less than 10 are filtered out. To improve the quality of new words, the length of new words is limited in this invention; words shorter than the morpheme's length (two characters) or excessively long (ten characters) are deleted.
[0046] Step S216: Extract sentences containing suitable new words from the corpus to form the third preliminary dataset.
[0047] Step S217: Merge the aforementioned first preliminary selection dataset, second preliminary selection dataset, and third preliminary selection dataset to obtain the initial screening dataset.
[0048] Step S218: Label the initial screening dataset. In one embodiment, Excel's single-character cells are used to display the data to be labeled, i.e., one sentence per row and one character per column; different types of labels use different background colors. This operation can be quickly completed using the format painter, greatly facilitating labelers and improving labeling speed. Figure 4 As shown. After annotation, the original labeled data from multiple sources was synthesized using Excel, and then Python was used to convert the data into the BIOE format that the model can use.
[0049] Step S219, Corpus Adjustment. This mainly involves adjusting and correcting the initially screened dataset after annotation. The goal is to expand phrases that were not fully recalled, reduce over-recalled phrases, and add some missing phrases, thereby obtaining a corpus dataset for entity recall.
[0050] Step S22: Based on the annotated corpus database, using sentences as the processing unit, a Named Entity Recognition (NER) model is used as the entity recall model to retrieve candidate entities. Generally, the task of Named Entity Recognition is to identify three main categories (entity, time, and number) and seven subcategories (person names, organization names, place names, time, date, currency, and percentage) of named entities in the text to be processed. From the recognition process, it usually includes two parts: 1) entity boundary recognition; 2) determining the entity category. In this invention, entity extraction from knowledge graphs places greater emphasis on entity boundary recognition.
[0051] For various algorithms, the position of a word in a sentence and the types or other features of surrounding words are crucial criteria for determining whether a word is a valid entity phrase. In particular, compared to the superior performance of Hidden Markov Models (HMMs) in Chinese word segmentation, Conditional Random Fields (CRFs) are more commonly used in named entity recognition tasks, effectively performing sequence labeling. The objective function of CRF considers not only the input state feature function but also the label transition feature function, and various gradient descent methods (SGD, quasi-Newton methods, etc.) are used to optimize the model parameters during training. After training, the model can predict the optimal sequence that maximizes the objective function from the input sequence, and this sequence can be decoded using the Viterbi algorithm to obtain the optimal label sequence. Therefore, the advantage of CRF lies in its ability to utilize rich internal and contextual feature information during the labeling process for a given position.
[0052] Within the CRF algorithm framework, sequence granularity, encoding initialization, and encoding method are the main factors affecting the accuracy and correctness of named entity recognition models. Therefore, for graph entity recall, this invention selects the following:
[0053] Firstly, regarding the sequence granularity, since the words or phrases that this invention aims to recall have good scalability and are sensitive to the uncertainties brought about by word segmentation, coupled with the possible multilingual environments and the influence of some special labels, this invention chooses word-granular sequence representation.
[0054] In terms of encoding initialization, the recall of knowledge graphs focuses on more general word meanings, which requires more complex encoding structures to store information. Therefore, you can choose general fixed word vector encoding (Word2Vec, FastText, 100d dimension) or variable vector representation. For example, the BERT model provides high-quality 768d pre-trained word vectors, which have excellent semantic pre-training features and character coverage.
[0055] Regarding encoding algorithms, knowledge graph retrieval tasks require higher recall rates and can run offline with less stringent timeliness requirements. Therefore, this invention chooses to use two deep network models, BiLSTM and IDCNN, to more completely extract word, sequence, word segmentation, and even part-of-speech information. Furthermore, this invention uses the Adam algorithm with a variable learning rate as a gradient descent algorithm to simultaneously optimize the neural network and the CRF state transition matrix.
[0056] In summary, this invention addresses the three stages of the named entity recognition model—distributed representation of input, semantic encoding, and label decoding—as follows: In the distributed representation stage, a word-granular sequence is used, employing a model with fixed word vector encoding (e.g., Word2Vec, FastText, 100d dimension) or variable word vector encoding (e.g., BERT model, 768d dimension) to convert the input sentence into a word vector representation. In the semantic encoding stage, since this model aims to recall entities from a knowledge graph, requiring high recall and offline operation with less stringent timeliness requirements, this invention uses two deep network models, BiLSTM and IDCNN, to extract words, generate sequences, segment words, and even provide part-of-speech information from the input word vector representation, thereby converting it into a context-sensitive representation. In the label decoding stage, a Conditional Random Field (CRF) algorithm is used, taking the context-sensitive representation as input, to predict the corresponding label sequence from the entire model's input. Specifically, the Adam algorithm with a variable learning rate is used as the gradient descent algorithm to simultaneously optimize the neural network and the CRF state transition matrix.
[0057] This invention divides the labeled and adjusted corpus into two parts: a small portion is used as model training data, and the remainder is used as entity prediction data. The entity recall model is trained using the aforementioned training data, and the model and the training dataset are trained and optimized through iterative model-data interaction until the entity recall model meets the requirements, resulting in an ideal entity recall model.
[0058] The trained entity recall model is used to predict entities based on the prediction data, thereby obtaining a candidate entity list. The trained entity recall model predicts the prediction data at a sentence scale, and the resulting candidate entities are nouns or noun phrases.
[0059] Step S23 involves filtering the candidate entities to obtain an entity set. During filtering, irrelevant names such as person names, place names, book titles, game names, and celestial body names are identified and removed from the candidate entity set. Similarly, candidate entities consisting solely of numbers (e.g., 110, 119), symbols (e.g., @, ¥), or containing invalid symbols (e.g., C※development) are removed. Furthermore, the length of candidate entities cannot be too large or too small; for example, it cannot be less than two characters or more than ten characters. Candidate entities with fewer than 2-10 characters are removed. If an entity already exists in the knowledge graph, it is compared with existing entities, and entities that duplicate existing entities are removed. In a preferred embodiment, after performing the above filtering operations, the existing candidate entities are searched for titles in an encyclopedia corpus to filter out candidate entities with no search results or ambiguous search results, thereby ensuring the authenticity and universality of the entities.
[0060] In a better embodiment, step S24 is further included, whereby the entities in the obtained entity set are further filtered using a classification table. In one embodiment, the classification table is, for example, a job classification table in a recruitment platform, such as industry classification, job function classification, etc. For example, each classification table includes multiple different major categories, and each major category includes subcategories, such as the industry classification table including "Computer / Internet / Telecommunications / Electronics", "Accounting / Finance / Banking / Insurance", etc. The "Computer / Internet / Telecommunications / Electronics" category further includes multiple subcategories such as "Computer Software", "Computer Hardware", "Online Games", etc. In order for the graph to provide high-quality services for job search and matching during application, the entities in the graph should conform to the job classification table in the actual application. Therefore, in this step, it is determined whether the entities obtained in step S24 belong to the categories in the classification table. For example, for the entity "Java", according to the job classification table, it can be matched with "Java R&D Engineer" in the function classification table, and it belongs to the "Computer / Internet / Communication / Electronics" industry, thus it is a valid candidate entity. For the entity "USB flash drive", although it does not match a corresponding function classification or a direct industry classification, since it is a type of computer hardware, it can be matched with the "Computer Hardware" subcategory in the industry classification table. In order to make the entities in the knowledge graph widely recognized and accepted, and to provide business with inference information that is both professional and not lacking in common sense, the entities in the knowledge graph should have sufficient popularity in the corpus, but should not be common words that appear in every document. In one embodiment, in order to meet this requirement, the present invention sets a popularity threshold for entities, which is represented by a threshold for the number of times it appears in the corpus. When an entity is determined to be a valid candidate entity, such as "Java" or "USB flash drive", the valid candidate entity is searched in the candidate entity set, and the number of times the valid candidate entity appears when it conforms to the classification table is counted. For example, when the number of times "Java" appears in the function classification table is greater than the number of times it appears is greater than the threshold, "Java" is confirmed to be an entity and is included in the entity set. As for "USB flash drive", since the number of times it appears in the functional classification table is less than the threshold, it is confirmed that "USB flash drive" does not belong to the entity referred to in this invention and cannot be included in the entity set.
[0061] Step S25: Label the entities with classification dimensions. To determine the relationships between entities, this invention sets corresponding classification dimensions for entities based on the perspectives required in the recruitment platform. These classification dimensions include, for example, industry, function, skills, language, education, job level, and job type. By setting these classification dimensions, entities can reflect information from one or more perspectives. Each entity includes one or more classification dimensions; for example, the entity "Entertainment Management" includes both industry information and function information.
[0062] In step S3, based on the needs of job recommendation, the entity relationships in this invention are divided into two categories: one is a similarity relationship (is_similar); the other is an inclusion relationship (is_included). When it is an inclusion relationship, the inclusion relationship between two entities has a directionality: one is forward inclusion (forward_included), where the later entity includes the earlier entity; the other is backward inclusion (backward_included), where the earlier entity includes the later entity. Based on the forward or backward inclusion relationship, the directional relationship between the two entities can be determined. The data used to extract entity relationships is the aforementioned uncleaned encyclopedia (WIKI) data, which is an encyclopedia knowledge base composed of encyclopedia entries crawled from the internet, including Baidu Encyclopedia, Hudong Encyclopedia, and Chinese Wikipedia. The crawled content includes entry titles, first paragraph descriptions, entry tags, and links between entries. The specific extraction process is as follows... Figure 5 As shown, it includes the following steps:
[0063] Step S31: Annotate the entities in the entity set in the encyclopedia data. In one embodiment, location identifiers are used to annotate the entities from the encyclopedia data.
[0064] Step S32 involves filtering sentences containing two entities using specific rules. These specific rules include, for example, sentences containing words indicating inclusion relationships such as "contains" or "includes," and sentences containing these words containing two or more entities with a parallel relationship; or sentences where two entities are connected by words such as "is," "that is," or "also known as." After filtering the corpus according to step S32, a relation extraction dataset is obtained. In this dataset, each data entry includes entity one, entity two, and a sentence containing both entity one and entity two. An example is shown in Table-1 below:
[0065] Table 1
[0066]
[0067] Step S33: The relation extraction model is used to predict the relationship between two entities in the sentence-scale relation extraction dataset. Specifically, this invention uses a relation extraction model to obtain entity relationships. First, this embodiment employs a supervised classification deep learning algorithm to solve the problem of entity relation extraction. Position identifiers are used to represent the positions of the two entities. A BiGRU model (a variant of RNN) is used to perform word-scale vector mapping on the training data sentences. Simultaneously, a single-head attention mechanism is introduced to correct the weights of the sequence vectors at the word scale, ultimately transforming the relation extraction problem into a sequence classification problem.
[0068] Take out a small portion of data from the data set screened in step S32, for example, 10000 sentences each comprising two entities. Generate training corpus format from these sentences:
[0069] x (first entity) y (second entity) relation (entity relation) sentence comprising entities and relations.
[0070] The entity relationships described are inclusion relationship and similarity relationship. When two entities coexist but there is no inclusion or similarity entity relationship between them, they are marked as unknown relationship.
[0071] A method of mutual iteration between model and training data is adopted to continuously optimize the quality of training data and the entity relation extraction model until the entity relation extraction model meets the requirements.
[0072] The relation extraction model is used to predict the relation between two entities in each sentence sentence by sentence at sentence scale for the remaining data screened in step S32.
[0073] Wherein, in a sentence, the first entity and the second entity have an inclusion relationship or a similarity relationship on a common classification dimension; if it is an inclusion relationship, a forward inclusion or backward inclusion relationship is further determined; if it is not determined to be an inclusion or similarity relationship at present, it is temporarily classified as an unknown relationship (unknown). As shown in Table-2 below:
[0074] Table-2
[0075] Liquor Moutai liquor Included (backward_included) Douhua tofu pudding resemblance natural gas pipeline unknown computer Office equipment Included (forward_included) app Mobile software resemblance Liver disease hepatitis Included (backward_included)
[0076] For two entities having an inclusion relationship, according to the forward or backward direction, the two entities can have directivity: the node from which the direction starts is a parent node, and the node where the direction arrives is a child node, thus the parent node includes the child node. As in the example in Table-2, "liquor" backwardly includes "Maotai liquor", the "liquor" is the parent node, "Maotai liquor" is the child node, and the pointing relationship between the two is from "liquor" to "Maotai liquor". Two nodes having a similarity relationship have no pointing relationship.
[0077] Based on the entities and relationships obtained in steps S2 and S3, a knowledge graph is constructed, with each entity as a node and the relationships between entities as edges. The knowledge graph includes multiple related nodes, each with a node label and one or more corresponding classification dimensions (or attributes). Nodes are connected to nodes with mapping relationships such as inclusion or similarity based on different attributes. The same attribute of each knowledge node in the knowledge graph can be connected to both parent and child nodes according to inclusion relationships; therefore, the mapping relationship of an attribute is a multi-level chain. The nodes in this multi-level chain, starting from the root node, express meanings from abstract to concrete.
[0078] In one embodiment, the mapping relationship between entities is stored as a configuration file. To facilitate querying and matching operations, an index is set for each entity and an index is set for each category dimension. By indexing entities, search efficiency can be improved.
[0079] To ensure the graph can meet increasing business demands, it needs to be maintained in real-time or periodically. Specifically, when new data is added to the corpus, new entities are retrieved from the newly added data according to step S2, and then entity relations are extracted. In this step, to establish relationships with entities in the original graph, in one embodiment, the new entities are first labeled back into the corpus according to step S31. Then, according to S32, a new sentence with two entities is obtained, where at least one entity is a new entity, thus obtaining a new relation extraction data set. Following step S33, the entity relations of the new entity and the relations between the new entity and existing entities are obtained from the new relation extraction data set, and these new entities and new relations are added to the original graph.
[0080] Figure 6 This is a block diagram illustrating the principle of a job knowledge graph generation system according to an embodiment of the present invention. In this embodiment, the job knowledge graph generation system includes a corpus module 1, an entity recall module 2, a relation extraction module 3, and a graph generation module 4. The corpus module 1 is used to build a corpus with different data states based on a job description dataset, a resume dataset, and an encyclopedia knowledge dataset. The original corpus data in this embodiment comes from three types of data: a job description dataset and a resume dataset from the platform database, and an encyclopedia knowledge dataset obtained through a web crawler module 6.
[0081] like Figure 7As shown, the corpus module 1 includes at least a data cleaning unit 11 and a data merging and splitting unit 12. The data cleaning unit 11 filters and cleans the three original datasets, including: deleting unnecessary data such as phone numbers, emails, or addresses; standardizing data formats; and statistically analyzing the content of entry fields and deleting entries that are too long, too short, have overflow, or are obviously illogical. The data merging and splitting unit 12 merges and splits the three cleaned datasets respectively. In one embodiment, according to the needs of entity recall and relation extraction, the dataset is divided into four states: the original dataset, the cleaned dataset, the dataset after deduplication at the entry and paragraph scales, and the expected dataset formed by further segmenting, deduplicating, and sorting sentences based on the paragraph. Each dataset includes data in these four states to meet subsequent usage requirements.
[0082] like Figure 8 As shown, the entity recall module 2 includes a first data preparation unit 21, an entity acquisition unit 22, and an entity filtering unit 23. In one embodiment, the first data preparation unit 21 selects entities from three datasets according to... Figure 3 The illustrated process filters datasets from the corpus that can be used for entity recall, including prediction datasets for entity recall models to predict entities. Entity acquisition unit 22 uses a named entity recognition model as the entity recall model to predict entities based on the prediction dataset to obtain candidate entities. Entity filtering unit 23 is connected to entity acquisition unit 22 and filters the candidate entities according to filtering rules to obtain a candidate entity list (also called a candidate entity set) consisting of multiple candidate entities. The filtering rules include filtering out nouns or phrases from other domains, such as personal names and place names; filtering out purely numerical or purely symbolic entities; and filtering out nouns or phrases with fewer than two but more than ten characters. Additionally, when a knowledge graph already exists and the currently obtained entity is from a new corpus, it is compared with existing entities to filter out existing entities.
[0083] To better adapt the obtained entities to job search needs, a preferred embodiment further includes an entity filtering unit 24. This unit uses a job classification table to filter entities in the obtained entity set, removing entities that do not conform to the job classification table and / or whose occurrence in the corpus of the job classification table is less than a threshold. The job classification table is, for example, a job database storing all job data in the platform. The entity filtering unit 24 uses entities in the candidate entity list as search targets and searches the job database system. If a candidate entity is found, and the number of found is greater than a certain threshold (e.g., 10), the candidate entity is considered to be retained; otherwise, the candidate entity is deemed meaningless and is deleted from the candidate entity list. After this filtering, the entity set of the graph is obtained. To determine the relationship between entities and other entities, it is also necessary to determine the classification dimension of each entity. In one embodiment, based on the characteristics of the job, the system stores a classification dimension configuration file, which defines various aspects of interest to the job, such as industry, skills, functions, job level, education, job type, etc. Each entity has at least one classification dimension. Therefore, the entity recall module 2 also includes a classification dimension labeling unit 25. After the entity filtering unit 24 has finished filtering, a notification is sent to the classification dimension labeling unit 25. The classification dimension labeling unit 25 labels the classification dimensions of the entities in the entity set.
[0084] This invention can use an existing pre-trained named entity recognition model as an entity recall model for entity retrieval. When no pre-trained named entity recognition model is available, the entity recall module 2 further includes an entity recall model unit 26, which separates a certain amount of data from the dataset as the model's training set. The entity recall model unit 26 trains and optimizes the entity recall model and the training dataset using a model-data iterative approach until the entity recall model meets the requirements. For details regarding the entity recall model and its training, please refer to the relevant descriptions in the foregoing method; they will not be repeated here.
[0085] Figure 9This is a block diagram illustrating the principle of the relation extraction module according to an embodiment of the present invention. The relation extraction module 3 is connected to the entity recall module 2 and the corpus 1, and is configured to extract relationships between entities from an encyclopedia knowledge dataset using a relation extraction model, wherein the relationships between the entities are inclusion or similarity. The relation extraction module 3 includes: an entity annotation unit 31, a second data preparation unit 32, and a relation extraction unit 33. The entity annotation unit 31 is connected to the entity recall module 2 and annotates entities in the entity set within the encyclopedia knowledge dataset in the corpus 10. The second data preparation unit 32 uses specific rules to select sentences with two entities from the encyclopedia knowledge dataset to constitute a relation extraction dataset. When the system is currently in the graph maintenance phase, the entity recall module 2 recalls new entities; therefore, the entity annotation unit 31 also needs to annotate the new entities in the encyclopedia knowledge dataset, and the second data preparation unit 32 needs to select new sentences from the encyclopedia knowledge dataset as a new relation extraction dataset, wherein at least one of the two entities in the new sentence is a new entity.
[0086] The relation extraction unit 33 is connected to the second data preparation unit 32 and is configured to predict the relationship between two entities from the relation extraction dataset using a relation extraction model. If no pre-trained model exists, the relation extraction module 3 further includes a training corpus generation unit 34 and a relation extraction model unit 35. The training corpus generation unit 34 extracts a preset number of sentences from the relation extraction dataset and converts them into a training corpus format. The relation extraction model unit 35 trains and optimizes the relation extraction model and training corpus based on the training corpus using a model-data iterative approach until the relation extraction model meets the requirements. When the system is in the graph maintenance phase, the relation extraction unit 33 extracts the relationship between two new entities from the new relation extraction dataset, as well as the relationship between the new entity and existing entities. After obtaining the new relationship, it notifies the graph generation module 4 to add the new entity and the new entity relationship to the original graph. Regular or real-time graph maintenance allows the graph to include more and more knowledge nodes and their relationships, thereby covering a wider range of knowledge.
[0087] The knowledge graph generation module 4 uses entities as nodes and the relationships between entities as the basis for connection, thereby establishing a knowledge graph. For example... Figure 10 The diagram shown illustrates the connections between some nodes in the graph. The graph can be presented in tabular or textual form, or as a graphical representation using a visual interface.
[0088] Application Examples
[0089] Because recruitment platforms aggregate a vast amount of information, relying solely on manual searches by job seekers and recruiters to find suitable positions or individuals from this massive amount of data would be both time-consuming and extremely difficult. Therefore, to increase the success rate of job seeking or recruitment on recruitment platforms and help both job seekers and recruiters improve efficiency, recruitment platforms can automatically recommend positions to job seekers or recommend talent to recruiters. In this embodiment, job seekers are the target users for user recommendations. Typically, job seekers upload their resumes to recruitment platforms, or fill out resumes according to the platform's format requirements, and then search and view information on the platform. Similarly, recruiters send recruitment information to recruitment platforms, or fill out recruitment information according to the platform's format requirements and search and view job information. The platform obtains the job seeker's needs based on the resume uploaded or filled out by the job seeker; and obtains the recruiter's needs based on the recruitment information uploaded or filled out by the recruiter. This embodiment recommends recruiters to job seekers based on the respective needs of recruiters and job seekers, as well as their search and viewing behavior data on the recruitment platform. See also Figure 11 This is the recommended flowchart.
[0090] Step S1a: Obtain the job seeker's first tag and the recruiter's second tag. This is done by using the job seeker's resume and the recruiter's job posting as their respective requirements information, from which the job seeker's first tag and the recruiter's second tag are obtained. The process for obtaining the first tag is as follows: Figure 12 As shown:
[0091] Step S11a involves extracting multiple keywords from the target user's demand information and obtaining corresponding semantic tags. For example, reading all the text content in a job seeker's resume and performing semantic recognition to obtain multiple keywords, such as "Java engineer," "software development," "proficient in Java," "C++ development," etc., or "Chinese teacher," "teaching elementary school Chinese," "Chinese tutoring," "part-time essay writing tutor," or "clothing sales," "women's clothing salesperson," etc. These keywords consist of prefixes and suffixes. The system has prefix and suffix lists, and each prefix and suffix has a corresponding standard word. Semantic tags are formed by replacing the prefixes and suffixes with the corresponding standard words.
[0092] Step S12a involves using a knowledge graph library to match corresponding knowledge nodes for each semantic tag. By using the knowledge graph library, multiple nodes are determined for each semantic tag. For example, outputting the keyword "Hibernate development" to the knowledge graph library yields the "engineer" node for the job attribute; the "Hibernate" and "Java" nodes for the skill attributes; and the "software" node for the industry attribute.
[0093] Step S13a: Generate one or more first tags based on the matched nodes. Specifically, the tags include prefixes and suffixes, where the prefix attribute is industry or skill, and the suffix attribute is function. Therefore, nodes with attributes such as industry or skill are combined pairwise with nodes with the attribute of function to obtain a tag. For example, when the keyword "Java development" yields the function node "engineer," the skill node "Java," and the industry node "software," they can be combined pairwise to obtain two tags: {Career Direction: "Software Engineer"} and {Career Direction: "Java Engineer"}. Since the two tags belong to the same category, merging them yields the more precise tag {Career Direction: "Java Engineer"}. As another example, the nodes matched with the semantic tags corresponding to the keywords "software development" and "proficient in C++" are combined to obtain the tag {"Career Direction": "C++ Engineer"}.
[0094] Similarly, multiple secondary tags can be obtained from recruiters.
[0095] Step S2a involves filtering multiple recruiters. This involves matching the first tag of the target recommended user (a specific job seeker) with the second tags of multiple recruiters, thus filtering out recruiters who do not match the first tag. The remaining recruiters are those who match the first tag of the target recommended user.
[0096] Step S3a: Sort the multiple recruiters. The recruiters are sorted according to preset dimensions, with each recruiter receiving a ranking for that dimension. In one embodiment, the dimensions correspond to tag types, and each tag type is used as a dimension to sort the recruiters, resulting in a ranking value Vi. For example, after filtering, 20 recruiters are obtained. Corresponding to the "salary" dimension, the value in the "salary" tag is used as the base value, and compared with the salaries offered by each of the 20 recruiters. The recruiters are then sorted in ascending order of the difference, and each recruiter receives a ranking value V in the "salary" dimension. m When sorting by the dimension of "distance from home (D)", the distance D from each recruiter to the job seeker's address is calculated using the job seeker's address as the coordinate. The 20 recruiters are then sorted in ascending order of distance D, and each recruiter receives a ranking value V in the dimension of "distance from home (D)". D The final ranking V of each recruiter is calculated based on the weight of the target recommended user in each dimension and the ranking value of each recruiter in each dimension. Among them, v i Let q be the sort value for the i-th dimension. i The weight of the target user in the i-th dimension is determined.
[0097] Step S4a: Generate recommendation information based on a pre-set number of recruiters ranked first and push it to the target recommended users. This recommendation information includes the recruiting company name, job title, link to the recruiter's job posting page, job location, and salary range. It is then sent to job seekers via pop-up windows or email.
[0098] In this embodiment, after obtaining keywords from user demand information, a knowledge graph is used for matching to obtain tags that are similar in type to but different from the keyword information. This allows for the extraction of implicit information from user demand information, resulting in high recommendation accuracy and a good match between recommended positions and user needs. This can save time for job seekers and / or recruiters, and increase the job search success rate for job seekers and the recruitment success rate for recruiters.
[0099] The above embodiments are for illustrative purposes only and are not intended to limit the invention. Those skilled in the art can make various changes and modifications without departing from the scope of the invention. Therefore, all equivalent technical solutions should also fall within the scope of the invention.
Claims
1. A method for generating a job knowledge graph, comprising: A corpus is built based on a job description dataset, a resume dataset, and an encyclopedia knowledge dataset. The corpus includes multiple entries. The first field of the sentence corresponding to each entry is the job number or the resume number, and the last field is the job description or the resume description. The sentence corresponding to the resume entry includes at least the fields of work experience, project experience, and self-introduction. Based on verb-object sentence patterns and job titles, skill names, and level names recorded in an entity dictionary based on business accumulation, sentences reflecting information about the recruitment platform are extracted from the corpus to obtain a preliminary screening dataset. This preliminary screening dataset includes sentences containing new vocabulary. The steps for obtaining sentences containing new vocabulary include: splitting the tags in the tag dictionary to obtain a tag morpheme set, where the tags include prefix and suffix morphemes; mapping the morphemes in the tag morpheme set to the corpus; extracting sentences containing tag morphemes from the mapped morphemes; extracting new vocabulary from sentences containing tag morphemes based on word frequency and length; and constructing a third preliminary screening dataset from sentences containing new vocabulary extracted from the corpus. The entities and tag morphemes in the initial screening dataset are labeled; the labeled initial screening dataset is expanded to include phrases that are not fully recalled, phrases that are over-recalled are reduced, and some missing phrases are added to obtain the entity recall dataset. The method further includes: separating a predetermined number of data points from the entity recall dataset as a training dataset, and using the remaining data as a prediction dataset; constructing an entity recall model; training and optimizing the entity recall model and the training dataset in a model-data iteration manner until the entity recall model meets the requirements; using the entity recall model to predict entities based on the prediction dataset to obtain candidate entities; and filtering candidate nouns or noun combinations according to filtering rules to obtain an entity set including multiple entities, wherein filtering candidate nouns or noun combinations according to filtering rules includes: identifying and deleting candidate entities with irrelevant domain content from the candidate entities; and after performing the above filtering operations, performing a title search on the existing candidate entities in the encyclopedia corpus to filter out candidate entities with no search results or ambiguous search results; Label each entity in the entity set with at least one classification dimension corresponding to the job characteristics; The entities included in the entity set are labeled in the encyclopedia knowledge dataset; sentences with two entities are selected from the encyclopedia knowledge dataset using specific rules to form a relation extraction dataset; and the relation extraction model is used to predict the inclusion relationship or similarity relationship between the two entities in terms of job characteristics from the relation extraction dataset at the sentence scale. The job knowledge graph is generated by establishing mapping relationships between entities based on the relationships between entities.
2. The method according to claim 1, wherein, The steps to generate the initial screening dataset include: Sentences conforming to the feature sentence patterns are extracted from the corpus to form the first preliminary dataset. The feature sentence patterns include: verb-object sentence patterns consisting of a verb beginning with a noun. The second preliminary dataset is constructed by extracting sentences containing entities from the entity dictionary from the corpus. The first preliminary selection dataset, the second preliminary selection dataset, and the third preliminary selection dataset are merged into the initial screening dataset.
3. The method of claim 1, further comprising: The entities in the obtained entity set are filtered using a job classification table, and entities that do not conform to the job classification table and / or those that conform to the job classification table but appear less than a threshold number of times in the corpus are removed.
4. The method of claim 1, further comprising: A predetermined number of sentences are extracted from the relation extraction dataset as the training dataset; The sentences in the training dataset are converted into a training corpus format; the training corpus format is: x, y, relation, which contains statements of entities and relations; Where x is entity one, y is entity two, and relation is the entity relationship between entity one and entity two, which can be an inclusion relationship, a similarity relationship, or an unknown relationship; as well as The relation extraction model and training dataset are trained and optimized in an iterative manner using the model and data to meet the requirements until the relation extraction model meets the requirements.
5. The method according to claim 1, wherein, When a new corpus is obtained after the graph is generated, the following steps are also included: New entities are recalled from the new corpus using an entity recall model; Relationship extraction models are used to extract relationships between new entities and between new entities and existing entities from encyclopedic knowledge datasets; and Add new entities to the existing graph and establish mapping relationships between new entities and between new entities and existing entities.
6. A job knowledge graph generation system, comprising: The corpus module is configured to build a corpus based on a job description dataset, a personal resume dataset, and an encyclopedia knowledge dataset. The corpus includes multiple rows of entries. The first field of the sentence corresponding to each entry is the job number or the resume number, and the last field is the job description or the resume description. The sentence corresponding to the resume entry includes at least the fields of work experience, project experience, and self-introduction. The entity recall module, configured with sentences based on verb-object sentence structures and job titles, skill names, and level names recorded in an entity dictionary accumulated through business operations, extracts sentences reflecting information about the recruitment platform from the corpus to obtain a preliminary screening dataset. This preliminary screening dataset includes sentences containing new vocabulary. The steps for obtaining sentences containing new vocabulary include: splitting the tags in the tag dictionary to obtain a tag morpheme set, where the tags include prefix and suffix morphemes; mapping the morphemes in the tag morpheme set to the corpus, and extracting sentences containing tag morphemes from the mapped corpus; extracting new vocabulary from sentences containing tag morphemes based on word frequency and length; constructing a third preliminary screening dataset from sentences containing new vocabulary extracted from the corpus; labeling the entities and tag morphemes in the preliminary screening dataset; and expanding incompletely recalled phrases, reducing over-recalled phrases, and adding some missing phrases to the labeled preliminary screening dataset to obtain the entity recall dataset. The entity recall module includes: a first data preparation unit, an entity recall model unit, and an entity filtering unit; The first data preparation unit is configured to separate a preset amount of data from the entity recall dataset as a training dataset, and the remaining data as a prediction dataset; The entity recall model unit is configured to build an entity recall model; the entity recall model and the training dataset are trained and optimized in a model-data iteration manner until the entity recall model meets the requirements; the entity recall model is used to predict entities based on the prediction dataset to obtain candidate entities; The entity filtering unit is configured to filter candidate nouns or noun combinations according to filtering rules to obtain an entity set including multiple entities. The filtering of candidate nouns or noun combinations according to filtering rules includes: identifying and deleting candidate entities with irrelevant domain content from the candidate entities; and after performing the above filtering operation, searching the titles of the existing candidate entities in the encyclopedia corpus to filter out candidate entities with no search results or ambiguous search results. A relation extraction module, which is connected to the entity recall module, is configured to extract relationships between entities from the encyclopedia knowledge dataset through a relation extraction model, wherein the relationships between the entities are inclusion or similar. The relation extraction module includes an entity annotation unit and a relation extraction unit; The entity annotation unit is configured to annotate at least one classification dimension corresponding to the job characteristics of the entities in the entity set; and to annotate the entities included in the entity set in the encyclopedia knowledge dataset; and to use specific rules to filter sentences with two entities from the encyclopedia knowledge dataset to form a relation extraction dataset. The relation extraction unit is configured to use a relation extraction model to predict, at the sentence scale, the inclusion or similarity relationship between two entities in terms of job characteristics from the relation extraction dataset. The graph generation module is connected to the entity recall module and the relationship extraction module. It is configured to establish mapping relationships between entities based on the relationships between entities to generate a job knowledge graph.
7. The system according to claim 6, further comprising an entity filtering unit configured to be connected to the entity filtering unit, for filtering entities in the obtained entity set using a job classification table, and filtering out entities that do not conform to the job classification table and / or conform to the job classification table but appear less than a threshold number of times in the corpus.
8. The system according to claim 6, wherein when obtaining new entities based on new corpus, at least one of the two entities in the sentence selected by the second data preparation unit is a new entity; the relation extraction unit predicts the relationship between the two entities as the relationship between the two new entities and the relationship between the new entity and the old entity.
9. The system according to claim 8, wherein the relation extraction module further comprises: The training corpus generation unit, together with the second data preparation unit, is configured to extract a preset number of sentences from the relation extraction dataset and convert them into training corpus format. as well as The relation extraction model unit is configured to generate a relation extraction model. Based on the training corpus, the relation extraction model and the training corpus are trained and optimized in a model-data iterative manner until the relation extraction model meets the requirements.
Citation Information
Patent Citations
Personalized position recommendation method based on knowledge graph
CN108920544A