Recruitment information analysis and matching method and system based on natural language processing

By constructing a skill network and dependency graph, the problem of insufficient job skill relationship modeling in existing recruitment information parsing is solved, and efficient job matching and talent selection are achieved.

CN120832446BActive Publication Date: 2025-11-21JIANGSU RENJIA INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511331278.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-17
Publication Date
2025-11-21
Estimated Expiration
2045-09-17

AI Technical Summary

Technical Problem

Existing recruitment information analysis methods struggle to accurately extract key elements such as job title, skills, and experience, and lack in-depth modeling of skill relationships between jobs, thus limiting the intelligentization process of recruitment systems.

Method used

By using natural language processing methods, recruitment information text is obtained, word segmentation is performed, and job information, skill information, and experience information are identified. A skill network is constructed, skill node weights are set, and a skill dependency graph is generated. Core skill groups are identified, and resumes are matched with core skill groups.

Benefits of technology

It improved the accuracy and efficiency of recruitment information processing, revealed the correlation between different skills, achieved more accurate job matching, reduced manual screening costs, and improved the quality and efficiency of talent selection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120832446B_ABST
    Figure CN120832446B_ABST
Patent Text Reader

Abstract

The application provides a recruitment information analysis and matching method and system based on natural language processing, relates to the field of human resource management, and comprises the following steps: performing word segmentation processing on a recruitment information text, and identifying position, skill and experience information; clustering the position information, calculating skill correlation strength, and constructing an initial skill network; generating a skill dependency graph based on node weight transfer; identifying a core skill group, and mapping resume skills to the core skill group to realize human position matching. The application improves the accuracy of human position matching, reduces the recruitment cost, and effectively supports talent career development planning.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to human resource management technology, and in particular to a recruitment information analysis and matching method and system based on natural language processing. BACKGROUND

[0002] In the traditional recruitment process, employers attract job seekers by publishing recruitment information, and job seekers choose to submit their resumes according to their own conditions. However, recruitment information is usually loosely structured and expressed in different ways, and manual screening is inefficient and difficult to accurately extract key elements such as positions, skills, and experience, which hinders the intelligent development of the recruitment system.

[0003] In recent years, with the development of natural language processing technology, researchers have attempted to analyze and match recruitment information and resumes based on text mining methods. For example, some systems use entity recognition, word vectors, and other methods to extract skill items from text and build knowledge graphs to assist in recommendations. However, existing methods mostly stay at the single-level skill matching level, lack in-depth modeling of skill relationships between positions, and cannot reflect the implicit dependency relationships between skills, making it difficult to achieve high-precision job matching.

[0004] In the face of fragmented recruitment information, diversified job skills, and complex skill associations, there is an urgent need for an intelligent method that can automatically analyze recruitment text, build skill network structures, and achieve accurate resume matching. Therefore, it is necessary to propose a recruitment information analysis and matching method based on natural language processing to improve the automation and matching accuracy of the recruitment process. SUMMARY

[0005] The embodiments of the present application provide a recruitment information analysis and matching method and system based on natural language processing, which can solve the problems in the prior art.

[0006] In a first aspect, the embodiments of the present application provide a recruitment information analysis and matching method based on natural language processing, comprising:

[0007] Obtaining recruitment information text, performing word segmentation processing on the recruitment information text to obtain a word segmentation sequence, and identifying position information, skill information, and experience information in the word segmentation sequence;

[0008] Clustering the position information to obtain position categories, counting the occurrence frequency of skill requirements based on the position categories, calculating the skill overlap degree between each position category, taking the skill overlap degree of the position category greater than a preset overlap degree threshold as the position association strength, calculating the transfer association strength between skills based on the position association strength, and constructing an initial skill network based on the transfer association strength;

[0009] Set the initial weight of each skill node in the initial skill network, transfer the weight value between connected nodes according to the transfer association strength, establish a directed connection between the corresponding nodes when the node weight value exceeds the preset weight threshold, and generate a skill dependency graph;

[0010] Identify a node set with a connection density higher than a preset density threshold in the skill dependency graph as a core skill group, obtain a resume to be matched, map the skill information in the resume to the core skill group, and output a person-post matching suggestion based on the distribution characteristics of the resume skills in each core skill group.

[0011] In an optional embodiment,

[0012] Obtain a recruitment information text, perform word segmentation processing on the recruitment information text to obtain a word segmentation sequence, and identify position information, skill information and experience information in the word segmentation sequence, including:

[0013] Obtain a recruitment information text, construct a professional term dictionary containing position information terms, skill information terms and experience information terms, arrange the terms in descending order of character length to form a to-be-matched sequence, and label each term with a category attribute;

[0014] Scan the recruitment information text by character, calculate the matching probability according to the occurrence position of the current character in the to-be-matched sequence, and when the matching probability exceeds a preset matching threshold, extract the text segment where the current character is located and the corresponding category attribute to generate an initial word segmentation sequence;

[0015] Calculate the association degree of adjacent text segments in the initial word segmentation sequence, calculate the character continuity degree between the segments according to the category attribute and the character distribution, and when the character continuity degree exceeds a preset association threshold, merge adjacent text segments into associated segments;

[0016] Calculate the character distribution density of each category attribute in the associated segments, classify the associated segments according to the character distribution density, generate a word segmentation sequence, and identify the information in the word segmentation sequence to obtain position information, skill information and experience information.

[0017] In an optional embodiment,

[0018] Calculate the character distribution density of each category attribute in the associated segments, classify the associated segments according to the character distribution density, generate a word segmentation sequence, including:

[0019] Calculate the category weight of each character position in the associated segment, obtain all matching terms corresponding to each character position, calculate the weight contribution value according to the length and category attribute of the matching term, and accumulate the weight contribution value according to the category attribute to obtain the category weight distribution of the character position;

[0020] The character distribution density of each category attribute in the associated segment is calculated based on a category weight distribution, the category weight distribution is normalized according to the category attribute in the length of the associated segment, and the character distribution density value of each category attribute is obtained;

[0021] The associated segment is classified according to the character distribution density value, and the distribution interval of each category attribute in the associated segment is determined. When the category attribute of the distribution interval is unique, the distribution interval is divided into the corresponding category attribute. When the distribution interval has multiple category attributes, the distribution interval is classified according to the category weight distribution;

[0022] The category classification result is combined according to the position sequence in the associated segment, and a word segmentation sequence containing position information, skill information and experience information is generated.

[0023] In an optional embodiment,

[0024] The position information is clustered to obtain a position category, the occurrence frequency of skill requirements is counted based on the position category, the skill overlap degree between each position category is calculated, and the skill overlap degree of the position category greater than a preset overlap degree threshold is taken as the position association strength.

[0025] The position information is clustered by using a hierarchical clustering algorithm, the position names in the position information are subjected to word segmentation processing to obtain position feature words, the edit distance between the position names is calculated based on the position feature words as a similarity measure, the position names are subjected to hierarchical clustering, the position names with a similarity higher than a preset clustering threshold are clustered into one category, and a position category is obtained.

[0026] The occurrence frequency of skill requirements is counted based on the position category, the skill requirements in the recruitment information corresponding to each position category are extracted, the occurrence frequency of each skill requirement is counted, a position-skill frequency matrix is generated, the frequency sum of all skill requirements in each position category is calculated, the frequency data in the position-skill frequency matrix is normalized by using the frequency sum, and a normalized position-skill matrix is obtained.

[0027] The skill overlap degree between each position category is calculated, the skill frequency vector corresponding to each position category is extracted based on the normalized position-skill matrix, the cosine similarity of the skill frequency vectors between any two position categories is calculated, the cosine similarity is taken as the skill overlap degree between the position categories, and the skill overlap degree of the position category greater than a preset overlap degree threshold is taken as the position association strength.

[0028] In an optional embodiment,

[0029] The transmission association strength between skills is calculated based on the position association strength, and an initial skill network is constructed based on the transmission association strength.

[0030] Based on the position correlation strength, the transfer correlation strength between the skills is calculated. For the skill pair appearing in two position categories respectively, the normalized frequency of the skill in the respective position category and the corresponding position correlation strength are extracted, and the product of the normalized frequency and the position correlation strength is taken as the transfer correlation strength of the skill pair. By traversing all position category pairs, the skill transfer correlation strength between each position category pair is accumulated to obtain the final transfer correlation strength between the skill pairs.

[0031] The skills are taken as network nodes, and the final transfer correlation strength between the skill pairs is taken as the edge weight to construct a candidate skill network. An edge weight filtering threshold is set, and the edges in the candidate skill network are filtered. The edges with an edge weight greater than the edge weight filtering threshold are retained as valid edges, and the edges with an edge weight less than or equal to the edge weight filtering threshold are deleted to obtain an initial skill network.

[0032] In an optional embodiment,

[0033] An initial weight of each skill node in the initial skill network is set, and the weight value is transferred between connected nodes according to the transfer correlation strength. When the node weight value exceeds a preset weight threshold, a directed connection is established between the corresponding nodes to generate a skill dependency graph.

[0034] Based on the number of times that the skill node appears in the position category in the initial skill network, the position coverage rate of each skill node is calculated, and the weight value of the skill node is logarithmically processed according to the position coverage rate to obtain an initial weight value of the skill node.

[0035] Based on the transfer correlation strength and the weight transfer attenuation factor between the nodes in the initial skill network, a weight transfer matrix is constructed, and the initial weight value is taken as the starting value of the weight transfer. Iterative weight transfer is performed in the initial skill network. The weight transfer value is calculated according to the current weight value of the source node, the transfer correlation strength and the weight transfer attenuation factor, and is transferred between connected nodes.

[0036] The current weight value of each skill node is accumulated with the received weight transfer value to obtain an updated weight value. When the weight change value of all nodes is less than a preset convergence threshold, the iteration is ended, otherwise the iteration is continued.

[0037] The weight difference value of the connected node pair is calculated. When the weight difference value is greater than a preset weight threshold, a directed connection pointing to the target node is established between the nodes. The undirected edges in the initial skill network are removed, and the established directed connection is retained to generate a skill dependency graph.

[0038] In an optional embodiment,

[0039] In the skill dependency graph, a node set with a connection density higher than a preset density threshold is identified as a core skill group, a resume to be matched is obtained, skill information in the resume is mapped to the core skill group, and a person-post matching suggestion is output based on the distribution characteristics of the resume skills in each core skill group, including:

[0040] Based on the number of connection edges between the neighbor nodes of the nodes in the skill dependency graph and the node degree, a local clustering coefficient is calculated, the weight of the connected edges of the nodes is distance attenuation processed to obtain the connection density of the nodes, and the minimum connection distance between the nodes is counted;

[0041] The product of the connection density and the minimum connection distance of the node is calculated as a density index, the nodes with a density index higher than a preset density threshold are determined as center nodes, the remaining nodes are assigned to the nearest center node set based on the connection distance, and the formed node set is determined as a core skill group;

[0042] The skill information of the resume to be matched is obtained, each skill item in the skill information is synonym expanded using a synonym dictionary, the expanded skill item and the term in the standard skill term library are subjected to text similarity calculation, the standard term with the highest similarity is determined as the mapping result of the skill, and a standardized skill list mapped to the core skill group is obtained;

[0043] The distribution number of the standardized skill list and the position requirement skill in each core skill group is counted, the number of skills in each core skill group is divided by the total number of skills in the group to obtain a distribution characteristic, and a feature vector representing the distribution of the resume and the position in the core skill group is constructed;

[0044] The similarity of the resume feature vector and the position feature vector is calculated to obtain a skill matching degree, in the core skill group, based on the connection relationship of the skill dependency graph, an uncovered skill having a dependent association with the existing skill of the resume is identified, and a person-post matching suggestion is output according to the skill matching degree and the uncovered skill.

[0045] In a second aspect of the embodiment of the application, a recruitment information analysis and matching system based on natural language processing is provided, including:

[0046] The first unit is configured to obtain a recruitment information text, perform word segmentation processing on the recruitment information text to obtain a word segmentation sequence, and identify position information, skill information and experience information in the word segmentation sequence;

[0047] The second unit is configured to cluster the position information to obtain a position category, count the occurrence frequency of skill requirements based on the position category, calculate the skill overlap degree between each position category, take the skill overlap degree of the position category greater than a preset overlap degree threshold as a position association strength, calculate the transitive association strength between the skills based on the position association strength, and construct an initial skill network based on the transitive association strength;

[0048] a third unit configured to set an initial weight of each skill node in an initial skill network, transfer the weight value between connected nodes according to the transfer association strength, establish a directed connection between corresponding nodes when the node weight value exceeds a preset weight threshold, and generate a skill dependency graph;

[0049] a fourth unit configured to identify a node set with a connection density higher than a preset density threshold as a core skill group in the skill dependency graph, obtain a resume to be matched, map skill information in the resume to the core skill group, and output a job-personnel matching suggestion based on the distribution characteristics of the resume skills in each core skill group.

[0050] In a third aspect, the embodiment of the present application provides an electronic device, comprising:

[0051] a processor;

[0052] a memory for storing processor-executable instructions;

[0053] The processor is configured to invoke the instructions stored in the memory to execute the method described above.

[0054] In a fourth aspect, the embodiment of the present application provides a computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions are executed by a processor to implement the method described above.

[0055] In the embodiment, by performing word segmentation processing and recognition on the recruitment information text, effective extraction of position information, skill information and experience information is realized, laying a data foundation for subsequent analysis and matching, and improving the accuracy and efficiency of recruitment information processing. By constructing a skill network and a skill dependency graph, the association relationship and dependency degree between different skills are revealed, making the talent skill evaluation more comprehensive and systematic, helping enterprises more accurately understand the core skill combination required by the post and their internal relationship. Based on the identification of the core skill group and the mapping of the resume skills, more accurate job-personnel matching suggestions are realized, effectively reducing the manual screening cost in the recruitment process, and improving the quality and efficiency of talent selection, establishing a more scientific matching mechanism between enterprises and job seekers. BRIEF DESCRIPTION OF DRAWINGS

[0056] Figure 1 FIG. 1 is a flowchart of a recruitment information analysis and matching method based on natural language processing according to an embodiment of the present application;

[0057] Figure 2 FIG. 2 is a flowchart of position information analysis and skill association strength calculation based on hierarchical clustering according to an embodiment of the present application;

[0058] Figure 3 FIG. 3 is a topological structure diagram of a skill dependency graph according to an embodiment of the present application. DETAILED DESCRIPTION

[0059] In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the following will be combined with the accompanying drawings for the embodiments of the present application to make a clear and complete description of the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only a part but not all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.

[0060] The technical solutions of the present application will be described in detail in the following specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes can not be described in some embodiments.

[0061] Figure 1 The flowchart of the recruitment information parsing and matching method based on natural language processing of the embodiments of the present application is shown as follows. Figure 1 The method comprises the following steps.

[0062] Obtaining recruitment information text, performing word segmentation processing on the recruitment information text to obtain a word segmentation sequence, and identifying position information, skill information and experience information in the word segmentation sequence;

[0063] Clustering the position information to obtain a position category, counting the occurrence frequency of skill requirements based on the position category, calculating the skill overlap degree between each position category, taking the skill overlap degree of the position category greater than a preset overlap degree threshold as a position association strength, calculating the transitive association strength between skills based on the position association strength, and constructing an initial skill network based on the transitive association strength;

[0064] Setting an initial weight of each skill node in the initial skill network, transmitting the weight value between connected nodes according to the transitive association strength, establishing a directed connection between the corresponding nodes when the node weight value exceeds a preset weight threshold, and generating a skill dependency graph;

[0065] Identifying a node set with a connection density higher than a preset density threshold in the skill dependency graph as a core skill group, obtaining a resume to be matched, mapping the skill information in the resume to the core skill group, and outputting a person-post matching suggestion based on the distribution characteristics of the resume skills in each core skill group.

[0066] In an optional implementation, obtaining recruitment information text, performing word segmentation processing on the recruitment information text to obtain a word segmentation sequence, and identifying position information, skill information and experience information in the word segmentation sequence comprises the following steps.

[0067] Obtaining a recruitment information text, constructing a professional term dictionary containing position information terms, skill information terms and experience information terms, arranging the terms in descending order of character length to form a to-be-matched sequence, and labeling each term with a category attribute;

[0068] Scanning the recruitment information text by characters, calculating the matching probability according to the occurrence position of the current character in the to-be-matched sequence, extracting the text segment where the current character is located and the corresponding category attribute when the matching probability exceeds a preset matching threshold, and generating an initial segmentation sequence;

[0069] Calculating the correlation degree of adjacent text segments in the initial segmentation sequence, calculating the character continuity degree between the segments according to the category attribute and the character distribution, and merging adjacent text segments into correlated segments when the character continuity degree exceeds a preset correlation threshold;

[0070] Statistical correlation of character distribution density of each category attribute in the segment, classifying the correlation segment according to the character distribution density, generating a segmentation sequence, and identifying the information in the segmentation sequence to obtain position information, skill information and experience information.

[0071] In specific implementation, first, obtain recruitment information text data. For example, the obtained recruitment information text is: "Hire senior Java development engineer, 3 years of work experience, proficient in Spring framework, familiar with MySQL database, and can independently complete system design". A professional term dictionary is constructed, containing three categories: position information terms, skill information terms and experience information terms. Position information terms include "Java development engineer", "development engineer", "engineer", etc.; skill information terms include "Spring framework", "MySQL database", "system design", etc.; experience information terms include "3 years of work experience", "work experience", etc. Each term is labeled with the corresponding category attribute, such as "Java development engineer" labeled as "position information", "Spring framework" labeled as "skill information", and "3 years of work experience" labeled as "experience information".

[0072] Arrange the terms in descending order of character length to form a to-be-matched sequence. For example: "Java development engineer" (16 characters) > "3 years of work experience" (9 characters) > "Spring framework" (8 characters) > "MySQL database" (8 characters) > "development engineer" (5 characters) > "system design" (4 characters) > "engineer" (3 characters) > "work experience" (4 characters).

[0073] Scan the recruitment information text character by character. Starting from the first character "诚", check whether this character appears at the starting position of any term in the sequence to be matched. When scanning to the character "J", the system finds that this character is the starting character of the term "Java Development Engineer", and continues to scan the subsequent characters to calculate the matching probability. The matching probability calculation method is: the number of matched characters / the total number of characters in the term. When scanning to the last character of "Java Development Engineer", the matching probability reaches 100%, exceeding the preset matching threshold (set at 80%), extract this text fragment, and label its category attribute as "Job Information".

[0074] Continue to scan according to this method. When scanning to "More than 3 years of work experience", this fragment exactly matches "More than 3 years of work experience" in the sequence to be matched, and the matching probability is 100%. The system extracts this text fragment and labels it as "Experience Information". Similarly, "Spring Framework" is identified as "Skill Information", "MySQL Database" is identified as "Skill Information", and "System Design" is identified as "Skill Information".

[0075] After the initial scan, the initial word segmentation sequence is obtained: {"诚聘" (unlabeled), "资深" (unlabeled), "Java Development Engineer" (Job Information), "," (unlabeled), "More than 3 years of work experience" (Experience Information), ",精通" (unlabeled), "Spring Framework" (Skill Information), ",熟悉" (unlabeled), "MySQL Database" (Skill Information), ",能够独立完成" (unlabeled), "System Design" (Skill Information)}.

[0076] Calculate the correlation degree of adjacent text fragments in the initial word segmentation sequence. The correlation degree calculation is based on the category attribute and character distribution. For the adjacent "资深" and "Java Development Engineer", the system finds that "资深" is often used as a job modifier and has a high correlation with "Java Development Engineer" (Job Information). The calculated value of character continuity is 0.85, exceeding the preset correlation threshold (set at 0.7), merge these two fragments into "资深Java开发工程师" and retain the "Job Information" category attribute.

[0077] Continue to check other adjacent fragments. It is found that the character continuity between "精通" and "Spring Framework", "熟悉" and "MySQL Database", and "能够独立完成" and "System Design" are 0.82, 0.79, and 0.75 respectively, all exceeding the preset correlation threshold of 0.7. Therefore, they are respectively merged into "精通Spring框架", "熟悉MySQL数据库", and "能够独立完成系统设计", and retain their respective "Skill Information" category attributes.

[0078] For the merged related fragments, calculate the character distribution density of each category attribute. The character distribution density is calculated as the proportion of the number of characters in a specific category to the total number of characters. For example, in "Mastering Spring Framework", the 8 characters of "Spring Framework" are labeled as "Skill Information", accounting for 80% of the total number of characters (10), so the distribution density of "Skill Information" in this fragment is 0.8.

[0079] Based on the character distribution density, the final word segmentation sequence category is determined as follows: {"Recruiting" (no annotation), "Senior Java Development Engineer" (job information), ", " (no annotation), "3+ years of work experience" (experience information), ", " (no annotation), "Proficient in Spring Framework" (skill information), ", " (no annotation), "Familiar with MySQL Database" (skill information), ", " (no annotation), "Able to independently complete system design" (skill information)}.

[0080] Finally, the following information was identified from the word segmentation sequence: job information is "senior Java development engineer"; skills information is "proficient in Spring framework", "familiar with MySQL database" and "able to independently complete system design"; experience information is "more than 3 years of work experience".

[0081] Based on the above technical solution, high-precision identification and structured extraction of key information such as job titles, skills, and experience from recruitment texts can be achieved. By constructing a professional terminology dictionary and employing character-level scanning and matching probability calculation, the accuracy of terminology recognition is improved, especially for recruitment texts with irregular natural language expressions or variable word order. Furthermore, by utilizing character continuity and category attributes for fragment association and classification, the problem of information fragmentation is effectively alleviated, enhancing the completeness and contextual consistency of entity extraction. The overall solution balances accuracy and fault tolerance, providing clearly structured and semantically explicit data support for subsequent job classification, talent matching, and skill graph construction.

[0082] In one optional implementation, the character distribution density of each category attribute in the associated fragment is statistically analyzed, and the associated fragment is classified according to the character distribution density to generate a word segmentation sequence, including:

[0083] For each character position in the associated segment, calculate the category weight, obtain all matching terms corresponding to each character position, calculate the weight contribution value based on the length and category attribute of the matching terms, and sum the weight contribution values ​​according to the category attribute to obtain the category weight distribution of the character position;

[0084] The character distribution density of each category attribute in the associated fragment is calculated based on the category weight distribution. The category weight distribution is then normalized according to the category attribute over the length of the associated fragment to obtain the character distribution density value of each category attribute.

[0085] According to the character distribution density value, the associated segment is classified into categories, the distribution interval of each category attribute in the associated segment is determined, when the category attribute of the distribution interval is unique, the distribution interval is divided into the corresponding category attribute; when there are multiple category attributes in the distribution interval, the distribution interval is classified into multiple categories according to the category weight distribution;

[0086] The category division result is combined according to the position order in the associated segment to generate a word segmentation sequence containing position information, skill information and experience information.

[0087] In an implementation method, by counting the character distribution density of each category attribute in the associated segment, the associated segment can be classified into categories and a word segmentation sequence can be generated. The associated segment usually contains the content of multiple category attributes such as position information, skill information and experience information, which needs to be accurately divided in order to facilitate subsequent information processing.

[0088] First, the category weight of each character position in the associated segment is calculated. Specifically, for each character position in the associated segment, all possible matching terms starting from this position are searched. For example, for the first character "high" in the associated segment "high-level software engineer with three years of experience", all terms starting with "high" in the term library are searched, such as "high-level", "high-level engineer", etc. For each matched term, a weight contribution value is calculated according to its length and category attribute. The calculation of the weight contribution value considers the importance of the term length and the category attribute. Longer terms usually have higher weights because they provide more specific semantic information. For the term "high-level engineer", if it belongs to the position category, the weight of the position category will increase the corresponding contribution value at the positions of the characters "high", "level", "work", "process", and "engineer". The contribution value can be set as a function of the length of the term, for example, for a term of length L, its contribution value can be L / 10+1. In this way, the contribution value of the term "high-level engineer" with a length of 5 is 1.5, which will increase the position category weight by 1.5 at the corresponding five character positions.

[0089] For each character position, the weight contribution values of all matching terms are accumulated to obtain the category weight distribution of the character position. For example, for the character "work", if it appears in both the term "engineer" (position category) and the term "work experience" (experience category), and the contribution values of the two terms are 1.3 and 1.2 respectively, then the position category weight of the character position is 1.3 and the experience category weight is 1.2.

[0090] Based on the category weight distribution calculated above, the character distribution density of each category attribute in the associated segment can be calculated. The category weight distribution is normalized by the category attribute over the length of the associated segment to obtain the character distribution density value of each category attribute. Specifically, for each category attribute, the weight value of each position in the associated segment is calculated, and then divided by the total length of the associated segment to obtain the normalized density value. For example, for an associated segment "Senior Software Engineer Three Years Experience" with a length of 15, if the total weight of the position category at the first 10 character positions is 20, then its distribution density is 20 / 15 = 1.33.

[0091] According to the character distribution density value, the associated segment can be classified by category. First, based on the category weight distribution, the distribution interval of each category attribute in the associated segment is determined. The determination of the distribution interval can be performed by detecting the mutation point of the category weight or using a sliding window to calculate the local category weight. When the weight of a certain category attribute in an interval is significantly higher than that of other categories, the interval is divided into the corresponding category attribute. For example, if the average weight of the position category is 2.5 and the average weight of the skill category is 0.3 and the average weight of the experience category is 0.1 in the interval of character positions 1 to 6, then the interval is divided into the position category.

[0092] When there are multiple category attributes competing in the distribution interval, multi-category classification needs to be performed according to the category weight distribution. The specific method is to compare the cumulative weights of each category in the interval, and select the category with the highest cumulative weight as the main category of the interval, while recording other secondary categories with significant weights. If the weight difference between the main category and the secondary category is not large (for example, the difference is less than 20%), the interval can be marked as a mixed category and needs to be further subdivided. For example, in the interval 7 to 10, if the cumulative weight of the skill category is 8.5 and the cumulative weight of the experience category is 7.2, then the interval is mainly divided into the skill category, but also contains information of the experience category.

[0093] The category classification result is combined according to the position order in the associated segment to generate a word segmentation sequence containing position information, skill information and experience information. For example, for the associated segment "Senior Software Engineer Three Years Experience", after category classification, "Senior Software Engineer / Three Years Experience" can be obtained, where "Senior Software Engineer" is classified as the position category and "Three Years Experience" is classified as the experience category. Further, if more detailed word segmentation is required, the basic entries in the word library can be used for secondary segmentation to obtain a word segmentation sequence such as "Senior / Software Engineer / Three / Experience", where each word is labeled with the corresponding category label.

[0094] In practical applications, in order to improve the accuracy of category division, a pre-trained category word library containing a large number of words with category annotations can be used. For example, the position category word library contains words such as "software engineer" and "product manager", the skill category word library contains words such as "Java", "Python", and "machine learning", and the experience category word library contains words such as "three years of experience" and "fresh graduate". Through these word libraries, the system can more accurately calculate the category weight distribution of the character position, thereby improving the generation quality of the segmented sequence.

[0095] In this embodiment, fine-grained category recognition of text segments with mixed semantics or ambiguous boundaries can be achieved, thereby improving the discrimination and accuracy of position, skill, and experience information. By analyzing the category weight distribution of the character position and introducing a weight contribution mechanism determined by the length and category attributes, the category division is more context-sensitive and semantically discriminative. Normalization ensures the comparability of different length segments, effectively avoiding bias in category recognition. The finally generated segmented sequence has clear category boundaries and accurate attribute annotations, laying a high-quality data foundation for subsequent structured information extraction, semantic modeling, and intelligent recommendation.

[0096] In an optional implementation, the position information is clustered to obtain position categories, the occurrence frequencies of skill requirements are counted based on the position categories, the skill overlap degrees between the position categories are calculated, and the skill overlap degree of a position category greater than a preset overlap degree threshold is taken as a position association strength.

[0097] The position information is clustered using a hierarchical clustering algorithm, the position names in the position information are segmented to obtain position feature words, the edit distances between the position names are calculated based on the position feature words as similarity measures, the position names are hierarchically clustered, the position names with a similarity higher than a preset clustering threshold are clustered into a category, and a position category is obtained.

[0098] The occurrence frequencies of skill requirements are counted based on the position categories, the skill requirements in the recruitment information corresponding to each position category are extracted, the occurrence frequencies of each skill requirement are counted, a position-skill frequency matrix is generated, the frequency sum of all skill requirements in each position category is calculated, the frequency data in the position-skill frequency matrix is normalized using the frequency sum, and a normalized position-skill matrix is obtained.

[0099] The skill overlap degrees between the position categories are calculated, the skill frequency vectors corresponding to each position category are extracted based on the normalized position-skill matrix, the cosine similarity of the skill frequency vectors between any two position categories is calculated, the cosine similarity is taken as the skill overlap degree between the position categories, and the skill overlap degree of a position category greater than a preset overlap degree threshold is taken as a position association strength.

[0100] As Figure 2 shown, the embodiment based on hierarchical clustering of position information analysis and skill association strength calculation process is shown.

[0101] In this embodiment, first, the hierarchical clustering algorithm is used to cluster the position information. In actual application, a large amount of position information data is obtained from the recruitment platform, including position name, skill requirement and other fields. For the obtained position name, the Chinese word segmentation tool is used for word segmentation processing of the position name. For example, for the position name "senior Java development engineer", the word segmentation result may be "senior", "Java", "development", "engineer" and other position characteristic words. In a specific embodiment, the Chinese word segmentation can be realized by using tools such as Jieba word segmentation, and a position dictionary of a specific field can be loaded to improve the accuracy of word segmentation.

[0102] After word segmentation, the edit distance between different position names is calculated based on the position characteristic words as a similarity measure. The edit distance refers to the minimum number of operations required to convert one string to another, including inserting, deleting and replacing characters. In this embodiment, the characteristic word set of the position name is regarded as a string, and the edit distance between the characteristic word sets of two position names is calculated. For example, the characteristic word sets of "senior Java development engineer" and "Java backend development engineer" are {"senior", "Java", "development", "engineer"} and {"Java", "backend", "development", "engineer"} respectively, and the similarity value is obtained by calculating the edit distance between the two characteristic word sets.

[0103] The similarity between all position names is calculated, and a position similarity matrix is constructed. Then, the hierarchical clustering algorithm is used to cluster the position names according to the similarity matrix. In the hierarchical clustering process, each position name is initially regarded as an independent category, and then the most similar two categories are iteratively merged until the similarity of all categories is lower than the preset clustering threshold. For example, when the preset clustering threshold is set to 0.7, the position names with a similarity greater than 0.7 are classified into the same category. In actual application, the clustering threshold can be adjusted according to specific business requirements. A higher threshold will result in more position categories, while a lower threshold will result in fewer but more general position categories.

[0104] Through hierarchical clustering, the original thousands of different position names are summarized into several position categories. For example, "Java development engineer", "senior Java engineer", "Java backend development" and other positions may be classified into the "Java development" category; while "front-end development engineer", "Web front-end development" and other positions may be classified into the "front-end development" category. A unique position category identifier is assigned to each clustering result.

[0105] After obtaining the job category, count the occurrence frequency of skill requirements based on the job category. Extract skill requirements from each job's recruitment information, which usually includes programming languages, framework tools, professional knowledge, etc. Count the number of occurrences of each skill requirement in each job category to generate a job-skill frequency matrix.

[0106] In the job-skill frequency matrix, the row represents the job category, the column represents the skill requirement, and each element in the matrix represents the occurrence frequency of a specific skill in a specific job category. For example, the "Spring Framework" skill in the "Java Development" category may appear 120 times, while the "MySQL" skill may appear 95 times. In this way, a frequency matrix that comprehensively reflects the skill requirements of each job category is constructed.

[0107] To eliminate the influence of uneven sample size of different job categories, calculate the total frequency of all skill requirements in each job category, and use this total to normalize the frequency data in the job-skill frequency matrix. The normalization method is to divide the frequency of each skill by the total frequency of the job category. For example, if the total frequency of all skills in the "Java Development" category is 1000 times, and "Spring Framework" appears 120 times, the normalized value is 0.12. Through this normalization, a normalized job-skill matrix is obtained, and the values in this matrix reflect the relative importance of each skill in a specific job category.

[0108] According to the normalized job-skill matrix, calculate the skill overlap degree between job categories. Extract the skill frequency vector corresponding to each job category from the normalized job-skill matrix. Each skill frequency vector represents the demand degree of a job category for various skills. Calculate the cosine similarity of skill frequency vectors between different job categories as the skill overlap degree between job categories.

[0109] The cosine similarity calculation method is to divide the dot product of two vectors by the product of the module lengths of the two vectors. The value of cosine similarity is between -1 and 1, and the closer the value is to 1, the more similar the skill requirements of the two job categories. For example, the skill overlap degree between "Java Development" and "Backend Development" may be 0.85, indicating that these two job categories have high skill similarity; while the skill overlap degree between "Java Development" and "UI Design" may be only 0.15, indicating that the skill requirements of these two job categories are quite different.

[0110] The skill overlap degree between the position category pairs with a skill overlap degree greater than a preset overlap degree threshold is taken as a position association strength, and a position association network is constructed. In this network, a node represents a position category, an edge represents an association relationship between positions, and the weight of the edge is the skill overlap degree. In this way, the association strength between different positions can be intuitively displayed, helping job seekers to understand which new skills need to be mastered from the current position to the target position, or which similar positions can be used as the next step of career development.

[0111] Based on the above technical solutions, the relationship between positions and skills in the recruitment information can be quantitatively modeled and structured. The positions are grouped by hierarchical clustering, and the similar positions are automatically classified by combining the position characteristic words and the edit distance, thereby improving the accuracy and generalization ability of position classification. Further, by using the normalized position-skill matrix, the skill requirements in different position categories are standardized and compared to ensure the comparability of the skill frequencies between different categories. The skill overlap degree is calculated by using the cosine similarity, which effectively captures the similarity between different positions in terms of ability requirements, and then quantifies the position association strength. The technical solutions provide a solid structural foundation and accurate association judgment basis for constructing a position evolution path, a skill migration model, and an intelligent career recommendation system.

[0112] In an optional implementation, the transfer association strength between skills is calculated based on the position association strength, and the initial skill network is constructed based on the transfer association strength, including:

[0113] Based on the position association strength, the transfer association strength between skills is calculated. For a skill pair that appears in two position categories respectively, the normalized frequency of the skill in the respective position category and the corresponding position association strength are extracted, and the product of the normalized frequency and the position association strength is taken as the transfer association strength of the skill pair. By traversing all position category pairs, the skill transfer association strength between each position category pair is accumulated to obtain the final transfer association strength between the skill pairs.

[0114] The skill is taken as a network node, and the final transfer association strength between the skill pairs is taken as an edge weight to construct a candidate skill network. An edge weight filtering threshold is set, and the edges in the candidate skill network are filtered. The edges with an edge weight greater than the edge weight filtering threshold are retained as valid edges, and the edges with an edge weight less than or equal to the edge weight filtering threshold are deleted to obtain an initial skill network.

[0115] In this embodiment, first, position category data and skill data under each position category are obtained. The position category data can include multiple categories such as software development, data analysis, marketing, etc., and each position category includes multiple related skills. For example, the software development position category can include Java, Python, data structure, algorithm, etc.; the data analysis position category can include Python, SQL, data visualization, etc.

[0116] For each skill under a position category, its occurrence frequency is calculated. Taking the software development position as an example, in 1000 position descriptions, the Java skill appears 800 times, the Python skill appears 600 times, the data structure appears 500 times, and the algorithm appears 450 times. The skill occurrence frequency is normalized to obtain the normalized frequency of the skill in the position category. Normalization can be achieved by dividing the skill occurrence frequency by the sum of the occurrence frequencies of all skills in the position category. Taking the software development position as an example, the total skill occurrence frequency is 2350, so the normalized frequency of the Java skill is 800 / 2350=0.34, the normalized frequency of the Python skill is 600 / 2350=0.26, the normalized frequency of the data structure is 500 / 2350=0.21, and the normalized frequency of the algorithm is 450 / 2350=0.19.

[0117] The association strength between position categories is calculated. The association strength between position categories can be determined by analyzing the skills commonly required by different position categories. For example, by counting the proportion of skills commonly required by the software development and data analysis position categories (such as Python), the association strength between the two position categories can be calculated. Specifically, assuming that the software development and data analysis position categories have 5 common skills, the software development position category has a total of 20 skills, and the data analysis position category has a total of 15 skills, then the association strength between the two position categories can be calculated as the number of common skills divided by the average of the total number of skills of the two position categories, i.e. 5 / ((20+15) / 2)=0.29.

[0118] The transfer association strength between skills is calculated based on the position association strength. For a skill pair that appears in two position categories respectively, the normalized frequency of each skill in the corresponding position category and the association strength between the two position categories are extracted. The transfer association strength of the skill pair is calculated as the product of the normalized frequency of each skill and the association strength of the corresponding position category. For example, the normalized frequency of Java skill in the software development position category is 0.34, the normalized frequency of SQL skill in the data analysis position category is 0.30, and the association strength between the software development and data analysis position categories is 0.29. Therefore, the transfer association strength of the Java and SQL skill pair through the software development and data analysis position categories is 0.34×0.30×0.29=0.030.

[0119] The final transfer association strength between skill pairs is obtained by accumulating the transfer association strength between skills through all position category pairs. For example, the Java and SQL skill pair may not only produce a transfer association through the software development and data analysis position categories, but also through the software development and business intelligence position categories. Assuming that the transfer association strength through the software development and business intelligence position categories is 0.015, the final transfer association strength of the Java and SQL skill pair is 0.030+0.015=0.045.

[0120] When constructing the candidate skill network, the skills are taken as network nodes, and the final transfer association strength between skill pairs is taken as edge weight. For example, there are Java, Python, SQL, data visualization, etc. nodes in the network, there is an edge between Java and SQL with an edge weight of 0.045, there is an edge between Java and Python with an edge weight of 0.065, etc. A edge weight filtering threshold is set to filter the edges in the candidate skill network. For example, the edge weight filtering threshold is set to 0.02, all edges with an edge weight greater than 0.02 are retained as valid edges, and all edges with an edge weight less than or equal to 0.02 are deleted. In the above example, the edge between Java and SQL (with a weight of 0.045) will be retained, and if there is an edge between Java and network security with a weight of 0.015, the edge will be deleted. In this way, weakly associated skill relationships can be filtered out, and the complexity of the network can be reduced.

[0121] The final initial skill network has high sparsity and strong semantic relevance. In this network, the connections between strongly associated skills are maintained, and the connections between weakly associated skills are removed. For example, in the initial skill network, there are connections between Java and Python (weight 0.065), Java and SQL (weight 0.045), Python and data visualization (weight 0.038), etc. skill pairs, and there are no connections between skill pairs with an association strength lower than the threshold.

[0122] Based on the initial skill network, the hierarchical relationship, similarity and skill development path between skills can be further analyzed to provide data support and decision basis for talent cultivation, career planning and job skill demand analysis. For example, skill clusters such as programming language cluster (including Java, Python, C++, etc.), data processing cluster (including SQL, data mining, data cleaning, etc.), and front-end development cluster (including HTML, CSS, JavaScript, etc.) can be identified. These clusters reflect the internal relationship between skills and help understand the core skill combination required in different career fields.

[0123] Based on the above technical solution, the indirect association between skills can be mined from the skill co-occurrence relationship between positions, and a skill network with more semantic depth and industry adaptability can be constructed. By multiplying the position association strength and the normalized skill frequency to calculate the transfer association strength between skills, not only the representativeness of skills in position categories is considered, but also the similarity between positions is integrated, so that the connection between skills has stronger context rationality. By traversing and accumulating all position category pairs, the skill association across position categories can be systematically mined, and the completeness and coverage of the network can be improved. Further, through the edge weight filtering mechanism, noise association is filtered, and an initial skill network with clear structure and reliable semantics is generated, which provides solid support for skill graph construction, talent modeling and personalized learning path recommendation.

[0124] In an optional implementation, an initial weight of each skill node in the initial skill network is set, the weight value is transferred between connected nodes according to the transfer association strength, and when the node weight value exceeds a preset weight threshold, a directed connection is established between the corresponding nodes to generate a skill dependency graph, including:

[0125] Based on the number of occurrences of the skill node in the position category in the initial skill network, the position coverage rate of each skill node is calculated, and the weight value of the skill node is logarithmically processed according to the position coverage rate to obtain the initial weight value of the skill node;

[0126] Based on the transfer association strength and the weight transfer decay factor between nodes in the initial skill network, a weight transfer matrix is constructed, the initial weight value is taken as the starting value of weight transfer, and iterative weight transfer is performed in the initial skill network, the weight transfer value is calculated according to the current weight value of the source node, the transfer association strength and the weight transfer decay factor, and the weight transfer value is transferred between connected nodes;

[0127] The current weight value of each skill node and the received weight transfer value are accumulated to obtain an updated weight value, and when the weight change value of all nodes is less than a preset convergence threshold, the iteration is ended, otherwise the iteration is continued;

[0128] The weight difference of the connected node pair is calculated, and when the weight difference is greater than a preset weight threshold, a directed connection pointing to the target node is established between the nodes, the undirected edge in the initial skill network is removed, the established directed connection is retained, and a skill dependency graph is generated.

[0129] In the embodiment, first, the position coverage rate of each skill node is calculated based on the number of occurrences of the skill node in the initial skill network in the position category. The position coverage rate refers to the proportion of the occurrence of a specific skill in all recruitment information of a certain position category. For skill node i, if it occurs m times in n recruitment information of a certain position category, the position coverage rate of the skill node i is m / n. In order to balance the weight difference of different skill nodes, the position coverage rate is logarithmically processed, and the initial weight value of the skill node i is set as the calculation result of the logarithmic function. Specifically, if the position coverage rate of the skill node i is p, the initial weight value of the skill node i is the calculation result of the logarithmic function log(1+p*10). For example, the occurrence frequency of the skill "Java" in the software development position is 80%, and the initial weight value is log(1+0.8*10) about 0.86; the occurrence frequency of the skill "Python" is 70%, and the initial weight value is log(1+0.7*10) about 0.83.

[0130] The weight transfer matrix is constructed according to the transfer association strength between the nodes in the initial skill network and a preset weight transfer attenuation factor. The transfer association strength is derived from the association strength between the skills calculated in the skill co-occurrence analysis, and the weight transfer attenuation factor is used to control the attenuation degree of the weight in the transfer process, and is usually set to a value between 0.6 and 0.9. For each pair of connected nodes i and j in the initial skill network, the weight transfer matrix element value is calculated, which is equal to the transfer association strength between nodes i and j multiplied by the weight transfer attenuation factor. For example, if the transfer association strength between "Java" and "Spring Framework" is 0.08, and the weight transfer attenuation factor is set to 0.8, the corresponding element value in the weight transfer matrix is 0.08*0.8=0.064.

[0131] The iterative weight transfer process starts from the initial weight value and performs multiple rounds of iterative calculation in the initial skill network. In each round of iteration, each skill node transfers weight to the connected nodes based on the current weight value and the weight transfer matrix. For node i, the weight value transferred to the connected node j is equal to the current weight value of node i multiplied by the corresponding element value in the weight transfer matrix. For example, if the current weight value of "Java" is 0.86, the weight value transferred to "Spring Framework" is 0.86*0.064=0.055. In each round of iteration, each node receives the weight transfer value from all connected nodes and accumulates it with the current weight value to form an updated weight value.

[0132] Convergence is determined by comparing the change in node weights after each iteration. The absolute value of the difference between the weight values before and after each node update is calculated. If the weight change value of all nodes is less than the preset convergence threshold (usually set to 0.001 to 0.005), it is considered that the iteration process has converged, and the iteration is terminated; otherwise, the next iteration is continued. For example, if the "Java" node weight changes from 0.86 to 0.862 and the "Spring Framework" node weight changes from 0.75 to 0.752 after a certain iteration, and the weight change value of all nodes is less than 0.005, the iteration process is terminated.

[0133] The directed connection is established based on the maximum weight value of each node after iteration convergence. The weight difference between each pair of connected nodes i and j in the initial skill network is calculated, which is equal to the weight value of node j minus the weight value of node i. If the weight difference is greater than the preset weight threshold (usually set to 0.1 to 0.3), a directed connection from i to j is established between nodes i and j, indicating that skill i is the basis or prerequisite for skill j. For example, if the "Java" maximum weight value is 0.92 and the "Enterprise Application Development" maximum weight value is 0.65, the weight difference between them is 0.27, which is greater than the preset weight threshold of 0.2, so a directed connection from "Java" to "Enterprise Application Development" is established.

[0134] The skill dependency graph is constructed by removing the undirected edges in the initial skill network and retaining the directed connections established above. The nodes represent skills and the directed edges represent the direction and strength of the dependency relationship. For example, in the constructed skill dependency graph, there may be a directed edge from "Python" to "Machine Learning", indicating that "Python" is a basic skill for learning "Machine Learning"; a directed edge from "SQL" to "Data Analysis", indicating that "SQL" is a prerequisite skill for mastering "Data Analysis".

[0135] The skill dependency graph can be used in various scenarios in talent training and recruitment matching. The recruitment system can plan a skill improvement path for job seekers based on this graph, such as recommending job seekers who have mastered the basics of "Front-end Development" to learn "Responsive Design" and "Front-end Framework"; provide job skill demand analysis for enterprises, identify the hierarchical relationship between core skills and auxiliary skills, and optimize the description of job skill requirements; achieve more accurate job matching by analyzing the position of the skills the job seeker has mastered in the dependency graph to assess their suitability and potential for the target job. In practical applications, a software engineer job skill dependency graph shows that "Algorithm Design" depends on "Data Structure", and the recruitment system will preferentially recommend candidates who have mastered both skills, or candidates who have mastered "Data Structure" and have the potential to learn "Algorithm Design".

[0136] In existing technologies, skill relationship modeling typically relies on static co-occurrence frequencies or simple similarity calculations, lacking the ability to dynamically model hierarchical dependencies between skills and failing to reveal skill migration paths and capability enhancement chains across different positions. This application introduces job coverage to assign weights to skill nodes and performs logarithmic processing on these weights, enhancing the distinctiveness of weight distribution and reflecting the breadth of skill coverage within the job system. Furthermore, a weight transfer matrix is ​​constructed by combining the strength of transmission associations and the weight transfer attenuation factor to simulate the weight transfer process between skills in the skill network, dynamically characterizing the potential dependencies between skills. Through multiple rounds of iterative calculations, the influence of skills is fully propagated, and directed connections are established between node pairs with significant weight differences, realizing the transformation from an undirected skill network to a directed skill dependency graph. This directed graph reflects the sequence and direction of skills in the career development path, overcoming the problems of missing dependency structures or severe redundant connections in traditional methods. High-precision modeling of skill dependencies is achieved, providing a more accurate and efficient support for personalized skill path planning and job skill advancement analysis.

[0137] Figure 3 This is a schematic diagram of the skill dependency graph topology in an embodiment of the present invention, such as... Figure 3 As shown, this diagram illustrates the network structure of skill dependencies. It contains 15 key skill nodes, clearly arranged in a three-tiered structure from left to right: the left side represents basic programming languages, the middle represents framework tools, and the right side represents domain skills, forming a clear skill progression path. The node size precisely reflects the weight of each skill; for example, basic programming languages ​​such as Python (weight 0.92), Java (weight 0.89), and JavaScript (weight 0.85) have the largest node sizes, indicating their core position and high job coverage in the skill network. The 19 directed edges clearly represent the dependencies between skills, with the edge values ​​precisely quantifying the dependency strength. The three categories of nodes (programming languages, framework tools, and domain skills) distinguished by different colors demonstrate the hierarchical classification of skills, making the skill system more systematic, effectively avoiding node overlap and edge intersections, ensuring the readability of the diagram, and providing an intuitive and accurate reference for skill dependency relationships for talent development path planning and recruitment matching.

[0138] In one optional implementation, a set of nodes with a connection density higher than a preset density threshold is identified in the skill dependency graph as a core skill group. Resumes to be matched are obtained, and the skill information in the resumes is mapped to the core skill groups. Based on the distribution characteristics of resume skills in each core skill group, job matching suggestions are output, including:

[0139] A local clustering coefficient of a node in the skill dependency graph is calculated based on the number of connection edges between neighbor nodes of the node and the degree of the node, and a connection density of the node is obtained by performing distance decay processing on the weight of the connected edges of the node, and the minimum connection distance between nodes is counted.

[0140] The product of the connection density and the minimum connection distance of the node is calculated as a density index, and the nodes with a density index higher than a preset density threshold are determined as center nodes, and the remaining nodes are assigned to the nearest center node set based on the connection distance, and the formed node set is determined as a core skill group.

[0141] The skill information of the resume to be matched is obtained, each skill item in the skill information is expanded by synonym dictionary, the expanded skill item and the term in the standard skill term library are calculated by text similarity, the standard term with the highest similarity is determined as the mapping result of the skill, and the standardized skill list mapped to the core skill group is obtained.

[0142] The distribution number of the standardized skill list and the position requirement skill in each core skill group is counted, the number of skills in each core skill group is divided by the total number of skills in the group to obtain the distribution characteristics, and the feature vector representing the distribution of the resume and the position in the core skill group is constructed.

[0143] The similarity of the resume feature vector and the position feature vector is calculated to obtain the skill matching degree, in the core skill group, based on the connection relationship of the skill dependency graph, the uncovered skills with dependent association with the existing skills of the resume are identified, and the skill matching degree and the uncovered skills are output to obtain the person-post matching suggestion.

[0144] For example, for each node in the skill dependency graph, the number of connection edges between its neighbor nodes is counted, and divided by the square of the degree of the node minus the value of the degree to obtain the local clustering coefficient of the node. The local clustering coefficient reflects the tightness of the network structure around the node. For example, the neighbor nodes of the skill "Java" include "Spring Framework", "microservices", "object-oriented programming", etc. If there are 5 connection edges between these neighbor nodes, and the degree of "Java" is 6, then the local clustering coefficient is 5 / (6*5)=0.167. The weight of the connected edge of the node is processed by distance decay, and the decay processing adopts an exponential decreasing function, that is, the weight value decreases with the increase of distance. For two nodes with a distance of d, the decayed weight value is the product of the original weight and the calculation result of the exponential function, and d is the coefficient of the negative exponential in the exponential function. After distance decay processing, the decayed weight values of all connected edges of the node are summarized to obtain the connection density of the node. The minimum connection distance between any two nodes in the skill dependency graph is calculated by the breadth-first search algorithm, which represents the shortest path length between the two nodes.

[0145] The determination of the core skill group is based on the density index of the nodes. The connection density of the node is multiplied by the inverse of the average minimum connection distance of the node to other nodes to obtain the density index of the node. The density index comprehensively considers the connection tightness and centrality of the node. A preset density threshold is set, which is usually the average value of the density indexes of all nodes plus the standard deviation. Nodes with a density index higher than the preset density threshold are determined as central nodes. For example, if the connection density of the "data analysis" node in the skill dependency graph is 0.85, and the inverse of the average minimum connection distance is 0.3, then the density index of the "data analysis" node is 0.85 x 0.3 = 0.255, and if the preset density threshold is 0.2, then the "data analysis" node is determined as a central node. For the remaining non-central nodes, the connection distance to each central node is calculated, and the non-central node is assigned to the set of central nodes with the smallest connection distance. In this way, the skill dependency graph is divided into multiple node sets with central nodes as the core, and each set is a core skill group. For example, core skill groups such as "programming language group", "data processing group", "front-end development group", "software engineering group", etc. can be formed.

[0146] The standardization processing of the resume skill information ensures the consistency of the skill description. The skill information is extracted from the resume to be matched, including skill name, proficiency level, and experience, etc. Synonym expansion is performed on each extracted skill item, and the synonym dictionary is used to find the synonymous expressions of the skill. For example, the synonyms of "Java programming" can include "Java development", "J2EE", etc. The expanded skill items are compared with the standard skill terms in the standard skill term library for text similarity calculation. The text similarity calculation uses a combination of character-level edit distance and word embedding model. For short text, edit distance is used, and for long text, word embedding model is used to calculate semantic similarity. The standard term with the highest similarity is determined as the mapping result of the skill. For example, "master Java Web development" in the resume can be mapped to the standard terms "Java" and "Web development". In this way, all skill items in the resume are mapped to a standardized skill list, and further mapped to the corresponding core skill group.

[0147] The skill distribution feature vector construction reflects the skill distribution of the resume and the position in the core skill group. The distribution of the skills in the statistical standardization skill list in each core skill group is counted. Similarly, the distribution of the position required skills in each core skill group is counted. Divide the number of skills in each core skill group by the total number of skills in the group to get the distribution proportion of the skills in each group. These distribution proportions constitute the feature vector representing the resume and the position. For example, if the distribution proportions of the skills in the resume in the "programming language group", "data processing group", "front-end development group", "software engineering group" are 0.4, 0.3, 0.2, and 0.1 respectively, the feature vector of the resume is [0.4, 0.3, 0.2, 0.1]; if the distribution proportions of the position required skills in the four core skill groups are [0.3, 0.4, 0.2, 0.1], the feature vector of the position is [0.3, 0.4, 0.2, 0.1].

[0148] The person-job matching suggestion generation is based on skill matching degree and skill dependency analysis. The similarity between the resume feature vector and the position feature vector is calculated, and the cosine similarity calculation method is used to obtain the skill matching degree. The cosine similarity calculation result is between 0 and 1, and the larger the value, the higher the matching degree. For example, the cosine similarity of the above-mentioned resume and position feature vectors is about 0.97, indicating a high matching degree. In the core skill group, based on the connection relationship of the skill dependency graph, the uncovered skills that have a dependency association with the existing skills in the resume are identified. Specifically, for the skills required by the position but not covered by the resume, check whether they have a dependency association with the existing skills in the resume in the skill dependency graph. If there is a dependency association, mark the skill as a potential learnable skill. For example, if the resume contains the "Python" skill, the position requires the "machine learning" skill but the resume does not cover it, and "machine learning" depends on "Python" in the skill dependency graph, then "machine learning" is marked as a potential learnable skill. According to the skill matching degree and the uncovered skill situation, the person-job matching suggestion is generated. The suggestion content includes the overall matching score, the matched core skill group, the missing key skill, and the potential learnable skill. These suggestions help the job seeker understand the matching situation between themselves and the position, and provide direction for further skill improvement.

[0149] In the embodiment, on the basis of the skill dependency graph, a locally highly correlated skill group is identified through clustering coefficient and connection density calculation, and a core skill group is divided based on connection distance, which significantly improves the structural and semantic consistency of skill organization. Through mapping of resume skills and standard terms and synonym expansion, the adaptability to the diversity of user skill expressions is enhanced. Further, a feature vector is constructed based on the distribution characteristics of the core skill group, and a matching degree is calculated, which not only reflects the coverage of the number of skills, but also considers the matching degree in the structural distribution. At the same time, based on the skill dependency relationship, the potential key skills not covered are identified, which can provide personalized suggestions from the perspective of knowledge structure completion. The matching judgment with more hierarchy and direction is realized, and the accuracy, explainability and recommendation value of the person-post matching are effectively improved.

[0150] In a second aspect of the embodiment of the present application, a recruitment information analysis and matching system based on natural language processing is provided, and the system comprises:

[0151] A first unit is configured to obtain recruitment information text, perform word segmentation processing on the recruitment information text to obtain a word segmentation sequence, and identify position information, skill information and experience information in the word segmentation sequence.

[0152] A second unit is configured to cluster the position information to obtain a position category, count the occurrence frequency of skill requirements based on the position category, calculate the skill overlap degree between each position category, take the skill overlap degree of the position category greater than a preset overlap degree threshold as a position correlation strength, calculate the transitive correlation strength between skills based on the position correlation strength, and construct an initial skill network based on the transitive correlation strength.

[0153] A third unit is configured to set an initial weight of each skill node in the initial skill network, transfer the weight value between connected nodes according to the transitive correlation strength, establish a directed connection between the corresponding nodes when the node weight value exceeds a preset weight threshold, and generate a skill dependency graph.

[0154] A fourth unit is configured to identify a node set with a connection density higher than a preset density threshold in the skill dependency graph as a core skill group, obtain a resume to be matched, map the skill information in the resume to the core skill group, and output a person-post matching suggestion based on the distribution characteristics of the resume skills in each core skill group.

[0155] In a third aspect of the embodiment of the present application, an electronic device is provided, which comprises:

[0156] A processor;

[0157] A memory for storing processor-executable instructions;

[0158] The processor is configured to invoke the instructions stored in the memory to execute the method described above.

[0159] In a fourth aspect, the present application provides a computer readable storage medium, having stored thereon computer program instructions, which when executed by a processor, implement the method described above.

[0160] The present application can be a method, an apparatus, a system, and / or a computer program product. The computer program product can include a computer readable storage medium (or media) having computer readable program instructions thereon for performing various aspects of the present application.

[0161] Finally, it should be noted that the above-mentioned embodiments are merely used to illustrate the technical solutions of the present application, rather than limit the present application; although the present application has been described in detail with reference to the above-mentioned embodiments, those skilled in the art should understand that the technical solutions recorded in the above-mentioned embodiments can be modified, or some or all of the technical features thereof can be replaced equivalently; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for parsing and matching recruitment information based on natural language processing, characterized in that, include: The recruitment information text is obtained, and the text is segmented to obtain a segmented sequence. The job information, skill information and experience information in the segmented sequence are then identified. Job information is clustered to obtain job categories. The frequency of occurrence of skill requirements is counted based on job categories. The degree of skill overlap between job categories is calculated. The degree of skill overlap of job categories that exceeds a preset overlap threshold is taken as the job association strength. The transitive association strength between skills is calculated based on the job association strength. An initial skill network is constructed based on the transitive association strength. In the initial skill network, an initial weight is set for each skill node. The weight value is passed between connected nodes according to the strength of the transmission association. When the weight value of a node exceeds the preset weight threshold, a directed connection is established between the corresponding nodes to generate a skill dependency graph. In the skill dependency graph, the set of nodes with connection density higher than a preset density threshold is identified as the core skill group. The resumes to be matched are obtained, the skill information in the resumes is mapped to the core skill groups, and the job matching suggestions are output based on the distribution characteristics of the resume skills in each core skill group. Calculating the transitive correlation strength between skills based on job correlation strength, and constructing an initial skill network based on the transitive correlation strength, includes: The transitive correlation strength between skills is calculated based on the job association strength. For skill pairs that appear in two different job categories, the normalized frequency of the skill in each job category and the corresponding job association strength are extracted. The product of the normalized frequency and the job association strength is taken as the transitive correlation strength of the skill pair. By traversing all job category pairs and accumulating the transitive correlation strength between each job category pair, the final transitive correlation strength between skill pairs is obtained. Using skills as network nodes and the final transmission correlation strength between skill pairs as edge weights, a candidate skill network is constructed. An edge weight screening threshold is set, and the edges in the candidate skill network are screened. Edges with edge weights greater than the edge weight screening threshold are retained as valid edges, and edges with edge weights less than or equal to the edge weight screening threshold are deleted to obtain the initial skill network. In the initial skill network, an initial weight is set for each skill node. Weight values ​​are passed between connected nodes based on the strength of the association. When a node's weight exceeds a preset weight threshold, a directed connection is established between the corresponding nodes, generating a skill dependency graph including: Based on the number of times skill nodes appear in job categories in the initial skill network, the job coverage rate of each skill node is calculated. The weight value of the skill node is then logarithmically processed according to the job coverage rate to obtain the initial weight value of the skill node. Based on the transmission association strength and weight transmission attenuation factor between nodes in the initial skill network, a weight transmission matrix is ​​constructed. The initial weight value is used as the starting value for weight transmission. Iterative weight transmission is carried out in the initial skill network. The weight transmission value is calculated according to the current weight value of the source node, the transmission association strength and the weight transmission attenuation factor, and the weight transmission is transmitted between connected nodes. The current weight value of each skill node is added to the received weight transfer value to obtain the updated weight value. The iteration ends when the weight change value of all nodes is less than the preset convergence threshold; otherwise, the iteration continues. Calculate the weight difference between connected node pairs. When the weight difference is greater than a preset weight threshold, establish a directed connection between the nodes pointing to the target node, remove the undirected edges in the initial skill network, retain the established directed connections, and generate a skill dependency graph.

2. The method according to claim 1, characterized in that, The recruitment information text is obtained, and word segmentation is performed on the text to obtain a word segmentation sequence. Job information, skill information, and experience information within the word segmentation sequence are then identified. Obtain the recruitment information text, construct a professional terminology dictionary containing job information terms, skill information terms, and experience information terms, arrange the terms in descending order of character length to form a sequence to be matched, and label each term with a category attribute; The recruitment information text is scanned character by character. The matching probability is calculated based on the position of the current character in the sequence to be matched. When the matching probability exceeds the preset matching threshold, the text segment containing the current character and its corresponding category attribute are extracted to generate the initial word segmentation sequence. The correlation degree of adjacent text segments in the initial word segmentation sequence is calculated. The character continuity between segments is calculated based on category attributes and character distribution. When the character continuity exceeds a preset correlation threshold, adjacent text segments are merged into related segments. The character distribution density of each category attribute in the statistically related fragments is used to classify the related fragments according to the character distribution density, generate word segmentation sequences, and identify the information in the word segmentation sequences to obtain job information, skill information, and experience information.

3. The method according to claim 2, characterized in that, The character distribution density of each category attribute in the associated fragments is statistically analyzed. Based on the character distribution density, the associated fragments are classified into categories, and word segmentation sequences are generated, including: For each character position in the associated segment, calculate the category weight, obtain all matching terms corresponding to each character position, calculate the weight contribution value based on the length and category attribute of the matching terms, and sum the weight contribution values ​​according to the category attribute to obtain the category weight distribution of the character position; The character distribution density of each category attribute in the associated fragment is calculated based on the category weight distribution. The category weight distribution is then normalized according to the category attribute over the length of the associated fragment to obtain the character distribution density value of each category attribute. The associated fragments are categorized based on the character distribution density value to determine the distribution range of each category attribute in the associated fragments. When the category attribute of the distribution range is unique, the distribution range is divided into the corresponding category attribute. When the distribution range has multiple category attributes, the distribution range is divided into multiple categories based on the category weight distribution. The category classification results are combined according to their position order in the associated segments to generate a word segment sequence containing job information, skill information, and experience information.

4. The method according to claim 1, characterized in that, Job information is clustered to obtain job categories. Based on the frequency of occurrence of skill requirements within each job category, the degree of skill overlap between job categories is calculated. The skill overlap of job categories exceeding a preset overlap threshold is used as the job association strength. Hierarchical clustering algorithm is used to cluster job information. The job names in the job information are segmented to obtain job feature words. The edit distance between job names is calculated based on the job feature words as a similarity measure. Hierarchical clustering is performed on the job names. Job names with similarity higher than a preset clustering threshold are clustered into one category to obtain job categories. Based on the frequency of occurrence of skill requirements in job categories, the skill requirements in the recruitment information corresponding to each job category are extracted, the frequency of occurrence of each skill requirement is counted, a job-skill frequency matrix is ​​generated, the sum of the frequencies of all skill requirements in each job category is calculated, and the frequency data in the job-skill frequency matrix is ​​normalized using the sum of the frequencies to obtain a normalized job-skill matrix. Calculate the degree of skill overlap between job categories, extract the skill frequency vector corresponding to each job category based on the normalized job-skill matrix, calculate the cosine similarity between the skill frequency vectors of any two job categories, use the cosine similarity as the degree of skill overlap between job categories, and use the degree of skill overlap of job categories that is greater than a preset overlap threshold as the job association strength.

5. The method according to claim 1, characterized in that, In the skill dependency graph, a set of nodes with a connection density higher than a preset density threshold is identified as a core skill group. Resumes to be matched are obtained, and the skill information in the resumes is mapped to the core skill groups. Based on the distribution characteristics of resume skills in each core skill group, job-person matching suggestions are output, including: The local clustering coefficient is calculated based on the number of connecting edges between neighboring nodes and the degree of the nodes in the skill dependency graph. The connection density of the nodes is obtained by applying distance decay to the weights of the connecting edges of the nodes, and the minimum connection distance between each node is calculated. The product of the node's connection density and the minimum connection distance is used as the density index. Nodes with a density index higher than a preset density threshold are identified as center nodes. The remaining nodes are assigned to the set of the nearest center node based on their connection distance. The resulting set of nodes is identified as the core skill group. The skill information of the resume to be matched is obtained. Each skill item in the skill information is expanded with synonyms using a thesaurus. The expanded skill items are compared with the terms in the standard skill terminology library. The standard term with the highest similarity is determined as the mapping result of the skill, and a standardized skill list mapped to the core skill group is obtained. The distribution of standardized skills and job requirements in each core skill group is statistically analyzed. The number of skills in each core skill group is divided by the total number of skills in the group to obtain the distribution characteristics. A feature vector representing the distribution of resumes and job positions in the core skill groups is then constructed. Calculate the similarity between the resume feature vector and the job feature vector to obtain the skill matching degree. In the core skill group, based on the connection relationship of the skill dependency graph, identify the uncovered skills that have a dependency relationship with the existing skills in the resume. Output the person-job matching suggestions based on the skill matching degree and the uncovered skills.

6. A recruitment information parsing and matching system based on natural language processing, used to implement the method of any one of claims 1-5, characterized in that, include: The first unit is used to obtain the recruitment information text, perform word segmentation on the recruitment information text to obtain a word segmentation sequence, and identify the job information, skill information and experience information in the word segmentation sequence. The second unit is used to cluster job information to obtain job categories, count the frequency of occurrence of skill requirements based on job categories, calculate the degree of skill overlap between job categories, take the degree of skill overlap of job categories that is greater than a preset overlap threshold as job association strength, calculate the transitive association strength between skills based on job association strength, and construct an initial skill network based on transitive association strength. The third unit is used to set the initial weight of each skill node in the initial skill network, pass the weight value between connected nodes according to the transmission association strength, and establish a directed connection between the corresponding nodes when the node weight value exceeds the preset weight threshold, thereby generating a skill dependency graph. The fourth unit is used to identify the set of nodes with a connection density higher than a preset density threshold in the skill dependency graph as core skill groups, obtain resumes to be matched, map the skill information in the resumes to the core skill groups, and output job matching suggestions based on the distribution characteristics of resume skills in each core skill group.

7. An electronic device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to invoke instructions stored in the memory to execute the method according to any one of claims 1 to 5.

8. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When the computer program instructions are executed by the processor, they implement the method described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Post function identification method based on natural language processing classification technology

    CN116595973A

  • Human resource detection method and system based on data analysis

    CN120031527A