A resume analysis-based post recommendation method and system

By performing natural language processing and future market prediction on job seekers' resume data, dynamic market tags are generated, solving the problem of neglecting semantic correlation in the job matching system and achieving accurate job recommendations. In particular, it improves the accuracy of recommendations and user experience by addressing the personalized needs of first-time job seekers.

CN120806901BActive Publication Date: 2026-01-23NINGBO BIG DATA INVESTMENT DEVELOPMENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511293105.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-11
Publication Date
2026-01-23
Estimated Expiration
2045-09-11

AI Technical Summary

Technical Problem

In existing technologies, job matching systems neglect the semantic relationship and constraints between job seekers and positions, resulting in insufficient accuracy in job recommendations. In particular, they cannot accurately match the job intentions and personal abilities of first-time job seekers such as recent graduates.

Method used

By acquiring resume data from job seekers, natural language processing is used to extract skill keywords and job intention keywords. Combined with deep learning models and mapping tables, job search fields are determined, future market recruitment information and demand are predicted, dynamic market tags are generated, the expected match between job seekers and positions is calculated, and a customized job recommendation strategy is developed.

Benefits of technology

It improves the accuracy of job recommendations, can predict future market changes, helps job seekers, especially recent graduates, find suitable positions, stimulates their career potential, and realizes the transformation from batch push to personalized sorting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120806901B_ABST
    Figure CN120806901B_ABST
Patent Text Reader

Abstract

The application provides a resume analysis-based post recommendation method and system, and relates to the technical field of big data analysis. The method comprises the following steps: obtaining resume data of a job seeker; performing natural language processing on the resume data to obtain a plurality of keywords, wherein the keywords comprise skill keywords and job intention keywords; determining a job-seeking field of the job seeker according to the keywords; predicting future market recruitment information and future market demand; generating a dynamic market label; determining an expected matching degree according to the skill keywords, the job intention keywords and the dynamic market label; and generating a post recommendation strategy for the job seeker according to the expected matching degree of each post. The application calculates the expected matching degree through skill keywords + job intention keywords + dynamic market label, effectively overcomes the defects of traditional methods that ignore the semantic association of labels and only rely on static data, and significantly improves the accuracy of person-post matching.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of big data analysis, in particular to a post recommendation method and system based on resume analysis. BACKGROUND

[0002] In recent years, with the focus on talent attraction by enterprises in various places, the human resource matching system has developed rapidly. Usually, by collecting the static information of the recruitment party and the job seeker, such as job requirements, education, major and work experience, etc., using rule matching or simple text similarity algorithm, a batch of jobs is calculated and pushed to the job seeker regularly, realizing the human resource matching service.

[0003] In the related art, when matching the job seeker with the post, the job seeker and the post are usually regarded as a collection of isolated tags, so that the semantic association and constraint between the tags are ignored; at the same time, the existing matching mechanism only takes the static information of the recruitment party and the job seeker (such as the fixed education background of the job seeker and the pre-set job requirements of the recruitment party) as the core basis, searches and matches the post according to the pre-set rules, and for some job seekers with ambiguous intentions or insufficient understanding of their own abilities, such as fresh graduates and other first-time job seekers, the above method cannot determine the different job intentions and personal abilities of each job seeker according to their fixed background, thereby affecting the adaptability of the job seeker's ability and the post demand, and ultimately leading to insufficient accuracy of post recommendation. SUMMARY

[0004] The problem solved by the present application is how to improve the accuracy of post recommendation.

[0005] To solve the above problems, the present application provides a post recommendation method and system based on resume analysis.

[0006] In a first aspect, the post recommendation method based on resume analysis of the present application comprises:

[0007] obtaining resume data of a job seeker;

[0008] performing natural language processing on the resume data to obtain a plurality of keywords in the resume data, the keywords including skill keywords and job intention keywords;

[0009] determining a job-seeking field of the job seeker according to the skill keywords and the job intention keywords;

[0010] predicting the future market recruitment information and the future market demand of the job-seeking field in a pre-set future time period according to the current market recruitment information and the current market demand of the job-seeking field;

[0011] generate a dynamic market label of all positions in the job-seeking field in the preset future time period in combination with the future market recruitment information and the future market demand of the job-seeking field;

[0012] determine an expected matching degree of the job seeker with each position in the job-seeking field in the preset future time period in combination with the dynamic market label according to the skill keyword and the job-seeking intention keyword;

[0013] generate a position recommendation strategy of the job seeker according to the expected matching degree of each position.

[0014] Optionally, the natural language processing on the resume data to obtain a plurality of keywords in the resume data comprises:

[0015] performing sentence segmentation, word segmentation and part-of-speech tagging on the text information in the resume data to obtain a plurality of candidate words of the resume data;

[0016] extracting skill entities and job-seeking intention entities in the candidate words from the candidate words by using a named entity recognition model;

[0017] mapping the skill entities to a preset skill dictionary to obtain the skill keyword;

[0018] mapping the job-seeking intention entities to a preset intention dictionary to obtain the job-seeking intention keyword.

[0019] Optionally, the determination of the job-seeking field of the job seeker according to the skill keyword and the job-seeking intention keyword comprises:

[0020] matching the skill keyword with a field-skill mapping table to obtain at least one candidate field and a skill matching degree of the candidate field corresponding to the job seeker;

[0021] matching the job-seeking intention keyword with a field-intention mapping table to obtain at least one candidate field and an intention matching degree of the candidate field corresponding to the job seeker;

[0022] performing weighted fusion on the skill matching degree and the intention matching degree of the same candidate field to generate a comprehensive score of the candidate field;

[0023] taking at least one candidate field with the highest comprehensive score as the job-seeking field of the job seeker.

[0024] Optionally, the prediction according to the current market recruitment information and the current market demand of the job-seeking field to obtain the future market recruitment information and the future market demand of the job-seeking field in the preset future time period comprises:

[0025] obtaining original recruitment data of the job-hunting field in multiple recruitment platforms, and constructing a current recruitment information dataset of the job-hunting field according to the original recruitment data;

[0026] performing data extraction according to the current recruitment information dataset to obtain a post publishing time, a post quantity, a salary distribution, a skill requirement and a regional distribution in the job-hunting field;

[0027] obtaining a time sequence feature vector of the job-hunting field according to the post publishing time, the post quantity, the salary distribution, the skill requirement and the regional distribution;

[0028] predicting the time sequence feature vector through a time sequence prediction model to obtain a post quantity change trend, a salary change trend and a skill demand change trend of the job-hunting field in the preset future time period, and taking the post quantity change trend, the salary change trend and the skill demand change trend as the future market recruitment information;

[0029] obtaining current market research information of the job-hunting field, and generating an external influence factor according to the current market research information;

[0030] fusing and correcting the external influence factor and the future market recruitment information to obtain the future market demand of the job-hunting field in the preset future time period.

[0031] Optionally, the future market recruitment information and the future market demand of the job-hunting field are combined to generate a dynamic market label of all posts in the job-hunting field in the preset future time period, including:

[0032] constructing a three-dimensional tensor of post-time according to the future market recruitment information and the future market demand;

[0033] performing normalization processing on the three-dimensional tensor to obtain a relative weight vector of each skill keyword corresponding to each post in the preset future time period;

[0034] element-by-element weighting the relative weight vector and the external influence factor to obtain a skill heat vector;

[0035] determining a demand heat, a competition intensity and a skill weight distribution of each post in the preset future time period according to the skill heat vector;

[0036] encapsulating the demand heat, the competition intensity and the skill weight distribution as the dynamic market label of the post.

[0037] Optionally, the determining, according to the skill keywords and the job-seeking intention keywords, in combination with the dynamic market label, of the expected matching degree of the job seeker with each of the positions in the job-seeking field within the preset future time period comprises:

[0038] determining, according to the skill weight distribution of each of the positions within the preset future time period, of a weighted matching score of the skill keywords and each of the positions;

[0039] determining, according to the demand heat of each of the positions within the preset future time period, of a weighted matching score of the job-seeking intention keywords and each of the positions;

[0040] obtaining, according to the weighted matching scores of the skill keywords and the job-seeking intention keywords, in combination with the competition intensity, of the expected matching degree of the job seeker with each of the positions in the job-seeking field within the preset future time period.

[0041] Optionally, the generating, according to the expected matching degree of each of the positions, of a position recommendation strategy for the job seeker comprises:

[0042] sorting all the positions according to the expected matching degree from high to low to obtain a candidate position sequence;

[0043] generating, according to the candidate position sequence, of a position recommendation strategy for the job seeker.

[0044] Optionally, after the obtaining of the resume data of the job seeker, the method further comprises:

[0045] if the chart information exists in the resume data, performing multi-modal analysis on the chart information of the resume data to obtain multi-modal information of the resume data;

[0046] converting the multi-modal information into supplementary text information of the resume data.

[0047] Optionally, the performing of the multi-modal analysis on the chart information of the resume data to obtain the multi-modal information of the resume data comprises:

[0048] performing character recognition and layout segmentation on the chart information to obtain image data of the chart information;

[0049] performing cell semantic analysis on the chart information to extract column titles, row titles and cross-cell contents to obtain table data of the chart information;

[0050] performing entity linking on the image data and the table data, respectively, with a preset skill graph to obtain implicit skill descriptions corresponding to the image data and the table data, respectively.

[0051] the implicit skill description as the multi-modal information of the resume data.

[0052] In a second aspect, a post recommendation system based on resume analysis includes:

[0053] a obtaining unit configured to obtain resume data of a job seeker;

[0054] a language processing unit configured to perform natural language processing on the resume data to obtain a plurality of keywords in the resume data, the keywords including skill keywords and job-seeking intention keywords;

[0055] a field analysis unit configured to determine a job-seeking field of the job seeker according to the skill keywords and the job-seeking intention keywords;

[0056] a prediction unit configured to predict, according to current market recruitment information and current market demand of the job-seeking field, future market recruitment information and future market demand of the job-seeking field in a preset future time period;

[0057] a label generation unit configured to generate dynamic market labels of all posts in the job-seeking field in the preset future time period in combination with the future market recruitment information and the future market demand of the job-seeking field;

[0058] a matching unit configured to determine an expected matching degree of the job seeker with each post in the job-seeking field in the preset future time period in combination with the dynamic market labels according to the skill keywords and the job-seeking intention keywords;

[0059] a strategy generation unit configured to generate a post recommendation strategy of the job seeker according to the expected matching degree of each post.

[0060] The resume analysis-based post recommendation method and system of the present application accurately extracts the skills and job-seeking intention keywords in the resume through natural language processing technology, deeply analyzes the semantic association thereof, determines the job-seeking field of the job seeker, and converts the originally isolated and static labels into dynamic features with semantic association. In combination with the current market recruitment information and demand prediction, the dynamic market labels of the future market recruitment information and demand are generated, and the dynamic labels are attached to all posts in the job-seeking field. According to the matching degree of the job seeker keywords and the dynamic market labels, the post recommendation strategy is customized for the job seeker. The post recommendation is no longer limited to the current static information, but can predict the market changes in the future period. Finally, through the three-dimensional calculation of the expected matching degree of the skill keywords + job-seeking intention keywords + dynamic market labels, the defects of the traditional method of ignoring the semantic association of the labels and relying only on static data are effectively overcome. The technical scheme can effectively solve the problem of the traditional person-post matching system relying only on static information and ignoring semantic association and constraints, especially for the first-time job seekers such as college graduates, the job-seeking intention and personal ability of the job seekers can be more accurately matched, the post recommendation accuracy is significantly improved, the job seekers can find suitable posts in the rapidly changing job market, and the professional potential of the job seekers is stimulated.

[0061] In the traditional method, due to the adoption of periodic batch calculation, the rapid changes of the recruitment market cannot be responded, especially for the college graduates with lack of work experience. The present application predicts the future market recruitment information and demand, generates dynamic market labels, and adjusts the expected matching degree in real time, so that the recommendation result can reflect the market trend in advance. For example, when the demand of a certain job-seeking field increases sharply in the future, the system can immediately increase the recommendation weight of the related post, help the job seekers (especially the college graduates) to lock the potential post in advance, and solve the problem of "static information lag leading to matching failure".

[0062] The present application generates the post recommendation strategy based on the expected matching degree of each post, realizes the transformation from batch pushing to individual sorting. Since the dynamic market labels integrate the future supply-demand relationship, skill trend and other dimensions, the recommendation strategy can not only match the current ability of the job seeker, but also guide the job seeker to develop in the direction of the market demand (such as recommending the post of strengthening a new emerging skill), thereby solving the problem of the mismatch between the matching result and the long-term career development of the job seeker. BRIEF DESCRIPTION OF DRAWINGS

[0063] Figure 1 The flowchart of the resume analysis-based post recommendation method of the embodiment of the present application;

[0064] Figure 2 The structural schematic diagram of the resume analysis-based post recommendation system of the embodiment of the present application. DETAILED DESCRIPTION

[0065] In order to make the above objectives, characteristics and advantages of the present application more apparent, concrete embodiments of the present application will be described in detail below with reference to the drawings. Although some embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms, and should not be interpreted as being limited to the embodiments set forth herein, but rather, these embodiments are provided so as to more thoroughly and completely understand the present application. It should be understood that the drawings and embodiments of the present application are merely for illustrative purposes, and are not intended to limit the scope of protection of the present application.

[0066] It should be understood that each of the steps described in the method embodiments of the present application can be performed in different orders, and / or in parallel. In addition, the method embodiments can include additional steps and / or omit the steps shown. The scope of the present application is not limited in this respect.

[0067] The term "comprising" and variations thereof as used herein are open-ended, that is "including but not limited to"; the term "based on" is "based, at least in part, on"; the term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments"; the term "optional" means "optional in at least some embodiments". Related definitions are given throughout the description. It should be noted that the concepts mentioned in the present application are merely for distinguishing different devices, modules or units, and are not intended to limit the functions of the devices, modules or units.

[0068] It should be noted that the terms "one" and "a" and "multiple" are illustrative and not limiting, and those skilled in the art will understand that, unless the context clearly indicates otherwise, "one" or "a" should be understood as "one or more".

[0069] The names of the messages or information exchanged between the devices in the embodiments of the present application are merely for illustrative purposes, and are not intended to limit the scope of the messages or information.

[0070] In the related art, when matching job seekers with positions, the prior art often regards the two as isolated sets of labels, and only relies on direct matching of keywords. This way ignores the semantic association between labels, such as skill implicit dependence, and the constraint conditions of job requirements and the ability of job seekers. Therefore, the recommendation result is difficult to accurately reflect the dynamic relationship between the two parties, and cannot meet the personalized needs of job seekers, especially first-time job seekers.

[0071] Furthermore, first-time job seekers often lack clear intentions or sufficient understanding of their own abilities, especially recent graduates. Because their educational backgrounds and experiences are similar, simply recommending jobs based on academic qualifications and pre-defined job requirements easily falls into a fixed pattern, ignoring individual differences and growth potential. This results in the inability of the aforementioned job recommendation methods to accurately match each job seeker's unique job intentions and abilities with suitable positions for each individual. The difficulty in precisely matching individual needs limits the accuracy of job recommendations and hinders the process of helping job seekers find truly suitable positions.

[0072] To address the aforementioned issues, this invention provides a job recommendation method and system based on resume analysis.

[0073] Combination Figure 1 As shown, the job recommendation method based on resume analysis provided in this embodiment of the invention includes:

[0074] Obtain job seekers' resume data.

[0075] Specifically, when acquiring job seekers' resume data, the system retrieves original PDF, DOCX, or HTML format electronic resumes from job seekers' clients, recruitment website backends, or enterprise talent pools via RESTful API or SFTP. On the server side, it performs binary stream parsing to extract complete content including text, table, and metadata layers, forming a structured set of original fields. The fields include at least: education experience, work experience, project experience, skills list, self-evaluation, and job intention.

[0076] The system employs two parallel and switchable communication methods: RESTful API and SFTP. The first method, RESTful API, involves the server publishing a standardized HTTPS interface with a fixed address. After obtaining an OAuth2 authorization token, the client can send a request to this address with the token's header information to download or receive resume files in PDF, Word, or JSON formats. The interface also provides rate limiting, pagination, and error code feedback to ensure stable transmission under high concurrency. The second method, SFTP, involves deploying an SFTP file server on the public network using the standard SSH port 22. Each business unit is assigned an independent account and a restricted root directory. After authentication using a pre-set public key or a strong password, the client can batch upload resume files to a specified directory or retrieve the latest resumes from that directory. Both methods use LS / SSH encrypted channels to ensure the confidentiality and integrity of resume data during transmission. The difference lies in that RESTful API is more suitable for real-time single-file retrieval, while SFTP is more suitable for nighttime batch synchronization. They complement each other, meeting the speed, concurrency, and stability requirements of different business scenarios.

[0077] Natural language processing is performed on the resume data to obtain multiple keywords in the resume data, including skill keywords and job intention keywords.

[0078] Specifically, during the natural language processing (NLP) stage of resume data, the system incorporates a deep learning model fine-tuned from a large recruitment corpus. For example, the built-in deep learning model is a "BERT-CRF joint model": using Google's 12-layer BERT-base-Chinese as the backbone network to capture the contextual semantics of the resume text; a linear mapping layer and a Conditional Random Field (CRF) decoding layer are added on top of the BERT layer for BIO sequence labeling of skill keywords and job intention keywords. The model first performs word segmentation and part-of-speech tagging on the entire text, then identifies two types of keywords: one type reflects professional abilities, such as "Python" and "finite element analysis"; the other type reflects job intentions, such as "Shenzhen," "product manager," and "internship." To ensure accuracy, the system performs double verification of the recognition results: on the one hand, it performs standardized mapping against national occupational classification standards and industry skill dictionaries; on the other hand, it filters out ambiguous or invalid information through regular expression templates and entity rules, ultimately outputting a clean and standardized set of keywords.

[0079] Based on the skill keywords and job intention keywords, the job seeker's job search field is determined.

[0080] Specifically, during the stage of determining a job seeker's job search field, the system maintains a real-time updated mapping table of keywords to job fields. This table uses subcategories from the National Occupational Classification as columns and standardized skill keywords as rows, with the intersection of rows and columns storing the correlation strength. The system simply searches the extracted keywords in the mapping table, sums the correlation strengths of the corresponding columns, and identifies the subcategory with the highest score as the job seeker's job search field. A unique identifier is then generated in the database to ensure that all subsequent job data is accurately aligned with this field.

[0081] Based on the current market recruitment information and current market demand in the job-seeking field, the future market recruitment information and future market demand in the job-seeking field within a preset future time period are predicted.

[0082] Specifically, in the stage of predicting future market recruitment information and market demand, the system automatically crawls raw information such as job postings, applications, salary ranges, and skill demand frequency from multiple sources daily, including major recruitment platforms, employment websites, and industry association reports. The crawled data undergoes deduplication, anonymization, and standardization before being input into a hybrid prediction model that integrates time series analysis and machine learning. The model outputs job demand curves, talent gap curves, and salary change trends for the next three months, forming quantifiable and traceable future market information and providing real-time basis for dynamic tag generation.

[0083] In a preferred embodiment of the present invention, the hybrid prediction model integrating time series and machine learning adopts a two-layer architecture of Prophet-XGBoost: the first layer is the Facebook Prophet time series model, which is dedicated to capturing the periodicity, holiday effect, and overall trend of job postings, applications, and median salaries over time; the second layer is the XGBoost gradient boosting decision tree model, which uses the trend component, holiday component, historical gap ratio, and skill demand frequency change rate output by Prophet as multi-dimensional features to further learn nonlinear residuals and sudden market disturbances. During daily rolling training, Prophet is first used to generate a baseline curve for the next 90 days, and then XGBoost is used to correct the baseline deviation, finally outputting quantitative prediction results of job demand curves, talent gap curves, and salary change trends for real-time use by dynamic market labels.

[0084] By combining the future market recruitment information and future market demand in the job search field, dynamic market tags are generated for all positions in the job search field within the preset future time period.

[0085] Specifically, in the dynamic market tag generation stage, the system transforms the predicted future demand, talent scarcity, and salary premium into easily understandable market tags. For example, if the model shows that demand for a certain position will increase, the talent gap will widen, and salaries will rise significantly in the next three months, the system will tag that position with the dynamic tags "high demand, talent scarcity, and high premium." These tags are bound to the unique identifier of each position and written into the position tag library, and are updated daily to ensure that each position information always carries the latest market dynamics.

[0086] Based on the skill keywords and job intention keywords, combined with the dynamic market tags, the expected match between the job seeker and each of the job positions in the job field within the preset future time period is determined.

[0087] Specifically, in the stage of determining the expected match, the system jointly evaluates the job seeker's extracted skill keywords, job intention keywords, and the dynamic market tags of the position. First, the system compares the overlap between the job seeker's skills and the job requirements; second, it verifies whether the job intentions, such as work location and job type, match the job requirements; finally, it introduces scarcity and salary expectations from the dynamic market tags as weighting factors to comprehensively calculate a match score between zero and one. The higher the score, the more the position matches the job seeker's current abilities and personal expectations, and the better the future development prospects.

[0088] Based on the expected matching degree for each job position, a job recommendation strategy is generated for the job seeker.

[0089] Specifically, in the job recommendation strategy generation stage, the system first sorts all candidate jobs in descending order by matching score. Then, it performs a second filtering based on business rules: automatically removing jobs that highly overlap with the job seeker's application history, filtering out jobs with commuting distances exceeding the job seeker's set threshold, and conducting safety screening based on factors such as company reputation and job stability. Finally, the system packages the filtered highly matched jobs into a personalized recommendation list, presenting it to job seekers through a visual interface. This list includes explanations for each recommendation, future salary trends, and suggested additional skills, achieving truly explainable and actionable accurate recommendations.

[0090] This embodiment presents a job recommendation method and system based on resume analysis. It utilizes natural language processing technology to accurately extract skills and job intention keywords from resumes, deeply analyzes their semantic relationships, and determines the job seeker's target field, transforming previously isolated, static tags into dynamic features with semantic connections. Combining current market recruitment information and demand forecasts, it generates dynamic market tags representing future market recruitment information and demands, affixing dynamic tags to all positions within the target job field. Based on the matching degree between the job seeker's keywords and dynamic market tags, it tailors job recommendation strategies for each job seeker. This allows job recommendations to move beyond current static information and predict market changes over a period of time. Finally, by calculating the expected matching degree using a three-dimensional approach of skill keywords + job intention keywords + dynamic market tags, it effectively overcomes the shortcomings of traditional methods that ignore semantic relationships and rely solely on static data. This technical solution effectively addresses the problems of traditional job matching systems that rely solely on static information and neglect semantic relationships and constraints. Especially for first-time job seekers such as recent graduates, it can more accurately match their job intentions and personal abilities, significantly improving the accuracy of job recommendations and helping job seekers find suitable positions in a rapidly changing job market, thus stimulating their career potential.

[0091] Traditional methods, relying on periodic batch calculations, cannot respond to the rapid changes in the job market, especially resulting in poor matching for recent graduates lacking work experience. This embodiment addresses this by predicting future job market information and demand, generating dynamic market tags, and adjusting expected matching levels in real time, enabling recommendation results to proactively reflect market trends. For example, when demand in a particular job-seeking field surges, the system can immediately increase the recommendation weight of related positions, helping job seekers (especially recent graduates) lock in potential positions in advance and solving the problem of "matching failure due to lag in static information."

[0092] This embodiment generates a job recommendation strategy based on the expected match degree of each job, realizing the transformation from batch push to personalized sorting. Because dynamic market tags integrate dimensions such as future supply and demand and skill trends, the recommendation strategy can not only match job seekers' current abilities, but also guide them towards directions with strong market demand (such as recommending positions that require strengthening a certain emerging skill), thereby solving the problem of the matching results being out of touch with the job seeker's long-term career development.

[0093] Optionally, the step of performing natural language processing on the resume data to obtain multiple keywords from the resume data includes:

[0094] The text information in the resume data is segmented into sentences, words, and parts of speech, resulting in multiple candidate words for the resume data.

[0095] The named entity recognition model is used to extract skill entities and job intention entities from the candidate words;

[0096] The skill entities are mapped to a preset skill dictionary to obtain the skill keywords;

[0097] The job-seeking intention entities are mapped to a preset intention dictionary to obtain the job-seeking intention keywords.

[0098] Specifically, when performing sentence segmentation, word segmentation, and part-of-speech tagging on the text information in the resume data, the sentence segmentation engine based on the combination of maximum positive matching and bidirectional long short-term memory network (Bi-LSTM) is first called: the entire text is first segmented into several sentences according to Chinese periods, question marks, exclamation marks, and line breaks, and then each sentence is fed into the Bi-LSTM-CRF word segmentation model that has been incrementally trained on a large-scale recruitment corpus, and outputs a candidate word sequence with part-of-speech tags; the part-of-speech tags include at least four categories: nouns, verbs, adjectives, and English proper nouns, so that professional terms and action descriptions can be directly located in the subsequent entity recognition stage.

[0099] When extracting from the candidate words using the Named Entity Recognition (BIO) model, the system adopts a three-stage architecture of "BERT-CRF-Span": First, a 12-layer Chinese BERT model performs context encoding on the candidate word sequence; then, a Conditional Random Field (CRF) layer outputs the BIO annotation results; finally, a pointer network (Span Detector) refines the boundaries to obtain skill entities (such as "React" and "Lithium-ion Battery Thermal Management Simulation") and job intention entities (such as "Shenzhen Nanshan," "Algorithm Engineer," and "Internship"). Skill entities are further subdivided into four categories: "Programming Language, Framework, Tool, and Industry-Specific Technology," while job intention entities are subdivided into four categories: "City, Job Title, Job Nature, and Desired Industry," to ensure the accuracy of subsequent mappings. When mapping the skill entities to a preset skill dictionary, the system maintains a skill dictionary centered on the "Occupational Classification of the People's Republic of China" and industry skill trees, and automatically expanded monthly by recruitment big data. Each skill entity undergoes prefix matching using a double-array Trie tree. If a unique term is matched, a standard skill ID is directly assigned. If ambiguity exists, a second cosine similarity score is performed using the entity context and synonym vectors in the dictionary. The term with the highest score is taken as the final skill keyword, ensuring that skill names are standardized and unambiguous. The combination of fast prefix matching using Trie trees and second vector disambiguation reduces the complexity of the keyword standardization step from O(N×M) to close to O(N) (where N is the number of entities and M is the dictionary size), enabling large-scale online processing without relying on GPU clusters.

[0100] When mapping the job intention entities to the preset intention dictionary, the system has a built-in multi-level intention dictionary containing national county-level and above administrative divisions, job categories, and job nature enumeration values. City entities are mapped using the standard administrative division code table, job name entities are mapped by referring to the fourth-level code of the National Occupational Classification, and job nature entities are directly normalized into four categories: "full-time, part-time, internship, and remote" using regular expression templates. All mapping results are written into structured fields in key-value pair form, and finally a clean and standardized set of job intention keywords is output.

[0101] In this optional embodiment, since the skill entity and job intention entity are immediately mapped to the National Occupational Classification and industry authoritative dictionaries after extraction, the descriptions of the same skill or the same city in different resumes are forced to be unified to a unique standard code, eliminating semantic drift caused by synonyms, abbreviations, and colloquial differences, and ensuring the consistency and comparability of input features in subsequent prediction and matching stages.

[0102] Furthermore, the job search fields identified by keywords directly limit the input data subset of the prediction model, allowing the model to learn only from time series data within that field, rather than training on the entire dataset of disordered data. This progressive filtering approach of "keywords → field → data subset" significantly reduces noisy samples and improves the prediction model's response speed to real market fluctuations. Simultaneously, once future market information is updated, the system can inject new demand, gap, and premium information into dynamic market tags, with each tag bound to a specific job instance. Therefore, the job recommendation logic can directly utilize the latest market signals without retraining, achieving "zero-latency" updates. Because the keyword-to-dictionary mapping process retains standard codes, the system can simultaneously provide the correspondence between "skill keywords—standard skill codes—job demand curves" when displaying recommended jobs to users, allowing them to clearly understand the reasons for the recommendations and meeting the algorithm's transparency requirements.

[0103] In summary, this embodiment, through the synergy of the aforementioned technical features, enables the recommendation system to possess consistency at the semantic level, targeting at the prediction level, immediacy at the update level, interpretability at the user level, and efficiency at the resource level, thereby comprehensively improving the quality of person-job matching and user experience.

[0104] Optionally, determining the job seeker's job search field based on the skill keywords and the job intention keywords includes:

[0105] The skill keywords are matched with the domain-skill mapping table to obtain at least one candidate domain and the skill matching degree between the candidate domain and the job seeker.

[0106] The job search intention keywords are matched with the field-intention mapping table to obtain at least one candidate field and the degree of matching between the candidate field and the job seeker's intention.

[0107] The skill matching degree and intention matching degree of the same candidate domain are weighted and fused to generate a comprehensive score for the candidate domain;

[0108] The candidate field with the highest overall score will be selected as the job application field for the job seeker.

[0109] Specifically, before matching skill keywords with the domain-skill mapping table, the system pre-builds and incrementally maintains a new domain-skill mapping table daily. This table uses "detailed occupational codes" from the National Occupational Classification as rows and normalized standard skill terms as columns. At the intersection of rows and columns, a correlation weight between 0 and 1 is stored. This weight is obtained by compressing the TF-IDF values ​​of the skill in job descriptions within the same domain over the past 12 months using a sigmoid function. During runtime, the system compares all skill keywords extracted from the current resume with each column of the mapping table. If a skill term is completely identical to an term in the mapping table or reaches a preset similarity threshold of 0.9 based on synonym determination, the corresponding weight is added to that candidate domain. Finally, the skill matching degree of that candidate domain for the job seeker is obtained and written to the cache as a floating-point number.

[0110] Before matching job intention keywords with the domain-intention mapping table, the system pre-builds and updates the domain-intention mapping table monthly. This table also uses sub-category job codes as rows, with columns including four categories of intention terms: "desired city, job nature, industry category, and job level." A binary flag or 0 / 1 weight is stored at the intersection of rows and columns. The flag is set based on whether the frequency of the corresponding intention in job postings within that domain exceeds a statistical threshold in the past six months. During runtime, the system splits the job intention keywords extracted from resumes by category and compares them one by one with the columns of the mapping table. Each match adds the corresponding flag weight to the candidate domain, thus obtaining the degree of match between the candidate domain and the job seeker's intention, and writes this as a floating-point number to the same cache record.

[0111] In this embodiment, the mapping table is stored in an in-memory hash structure. The complete process of single matching, accumulation, weighting, and taking the maximum value only involves a few table lookups and floating-point additions, with a time complexity close to O(N) (N is the number of candidate domains). A single machine can complete the processing of hundreds of thousands of records in milliseconds without the need for additional GPUs or distributed resources, significantly reducing deployment and maintenance costs.

[0112] When weighted fusion of skill matching and intention matching for the same candidate domain, the system reads the two matching scores from the cache and performs linear weighting using a preset weight vector [α, β], where α + β = 1, α has a default value of 0.65, and β has a default value of 0.35. System administrators can adjust these values ​​in real-time in the configuration center. The resulting comprehensive score is rounded to four decimal places and stored in the domain score table using the candidate domain code as the key, ensuring that subsequent queries can be completed in constant time.

[0113] In this embodiment, the weights α and β can be updated hot through the configuration center without restarting the service or retraining the model. When a sudden demand arises in a certain industry, the operator can temporarily increase α to highlight the scarcity of skills; during the peak season for recruiting fresh graduates, β can be increased to strengthen factors such as region and job nature. The entire adjustment process is transparent and imperceptible to the downstream prediction and matching logic, ensuring that the system can respond quickly to market changes.

[0114] When selecting the candidate field with the highest overall score as the job seeker's job field, the system performs a single pass through the field score table, comparing the overall scores of all candidate fields and selecting the sub-category occupation code corresponding to the maximum value. If there is a tie for the highest score, the field with the higher skill matching degree is selected first. If they are still tied, the field corresponding to the one with the larger weight in the weight vector α is selected. The final determined job field code is written into the primary key field of the job seeker profile table and is continuously referenced in subsequent prediction, tag generation, and matching degree calculation stages, thereby ensuring the consistency and stability of field identification for the same job seeker within a single session.

[0115] In this optional embodiment, by mapping skill keywords and job intention keywords to the same mapping table based on the National Occupational Classification, the domain code obtained by the same job seeker in different times and different batches of resumes remains consistent. This eliminates the drift problem caused by manual or rule-based arbitrary assignment and ensures that the entire process of subsequent prediction, tagging, and matching is anchored to the same domain, avoiding recommendation defocus caused by domain jumps.

[0116] Skill matching reflects "ability to do the job," while intention matching reflects "willingness to do the job." By merging these two metrics with adjustable weights, extreme values ​​in a single dimension are suppressed, resulting in a more reasonable overall distribution. In practice, candidate fields with high skills but low intentions will have their overall scores automatically lowered, and vice versa, thus significantly reducing mismatches such as "skills match but location doesn't" or "wanting to go to a certain place but lacking the relevant skills."

[0117] In summary, this embodiment utilizes four complementary technical means—mapped table standardization, dual-dimensional weighting, hot-swappable weights, and efficient table lookup—to ensure both accurate and flexible job search domain identification, guaranteeing semantic consistency while also considering real-time market conditions. This, in turn, enhances the overall credibility of subsequent job recommendations and improves the user experience.

[0118] Optionally, the step of predicting the future market recruitment information and future market demand for the job-seeking field within a preset future time period based on the current market recruitment information and current market demand in the job-seeking field includes:

[0119] Obtain the original recruitment data of the job search field from multiple recruitment platforms, and construct the current recruitment information dataset of the job search field based on the original recruitment data;

[0120] Data is extracted from the current recruitment information dataset to obtain the job posting time, number of jobs, salary distribution, skill requirements, and geographical distribution in the job search field;

[0121] Based on the job posting time, the number of jobs, the salary distribution, the skill requirements, and the geographical distribution, a temporal feature vector of the job search field is obtained;

[0122] The time series feature vector is predicted by a time series prediction model to obtain the trend of job demand quantity, salary change trend and skill demand change trend in the job search field within the preset future time period, and the trend of job demand quantity, salary change trend and skill demand change trend are used as the future market recruitment information.

[0123] Obtain current market research information for the job search field, and generate external influencing factors based on the current market research information;

[0124] By integrating and correcting the external influencing factors with the future market recruitment information, the future market demand for the job-seeking field within the preset future time period is obtained.

[0125] Specifically, when acquiring raw recruitment data from multiple recruitment platforms in the job search field, the system starts distributed crawler nodes during a preset time period each day, such as between midnight and 2 a.m. Targeting mainstream recruitment platforms, employment websites, and industry association portals that have been signed up, the system crawls the source code of job detail pages page by page according to the frequency limited by the robots protocol. The crawled fields include job titles, company information, posting time, salary range, skill tags, work location, and raw HTML text from the page. All of these are written to a distributed message queue, and then a deduplication service removes duplicate records based on the combined key-value pair of job ID and URL, forming a non-redundant raw recruitment dataset that is persisted to a time-series database.

[0126] When extracting data from the current recruitment information dataset, the system calls a pre-set parsing template and regular expression rules to perform a structured decomposition on each original record: the posting time is parsed into a precise date of "YYYY-MM-DD"; the number of positions is directly counted; the salary distribution is divided into intervals, the median is taken, and the salary is uniformly converted into monthly salary in RMB; the skill requirements are obtained by dictionary matching and cosine clustering to obtain a deduplicated list of skill terms; the geographical distribution is mapped to the city level according to the administrative division code; all fields are stored in a wide table with "job application field code + date" as the row key, forming the current recruitment information dataset.

[0127] When obtaining the time-series feature vector of the job search field based on job posting time, number of jobs, salary distribution, skill requirements, and geographical distribution, the system aggregates data from the wide table by natural week: the number of jobs is the total for the week, the salary distribution is the median for the week, the skill requirements are the top 20 most frequent items for the week and encoded as a one-hot vector, and the geographical distribution is the top five cities with the highest percentage of job postings and encoded in the same way. The above values ​​are concatenated into a fixed-dimensional floating-point vector, which constitutes the time-series feature vector of the job search field for the week, and arranged sequentially to form a time series.

[0128] When predicting time-series feature vectors using a time-series prediction model, the system adopts a two-layer architecture of Prophet-XGBoost: First, Prophet models the univariate sequences of job demand quantity and median salary separately, capturing the period, holidays, and long-term trends; then, the trend component and residual component output by Prophet, together with the skill vector and regional proportion, are used as feature inputs to XGBoost, which outputs the weekly trends of job demand quantity, salary, and skill demand for the next twelve weeks. These three are collectively referred to as future market recruitment information and are written to the cache in JSON format.

[0129] When acquiring current market research information in the job search field and generating external influencing factors, the system regularly accesses quarterly research reports released by industry associations, employment prosperity indices from statistical departments, macroeconomic policy news, and announcements of major industry events. It extracts three types of indicators—policy support intensity, capital investment enthusiasm, and impact of sudden events—through text classification and sentiment scoring models. After maximum and minimum normalization, it generates external influencing factors in the 0-1 range and pushes them to the message bus in real time.

[0130] When integrating and correcting external influencing factors with future market recruitment information, the system reads cached future market recruitment information on a weekly basis. Policy support factors, capital enthusiasm factors, and event impact factors are used as multiplicative correction coefficients, which are applied to the predicted values ​​of job demand quantity, salary change range, and skill demand intensity, respectively. The results after multiplicative correction are smoothed to eliminate extreme jumps, and finally form the future market demand for this job search field in the next twelve weeks. This information is then updated to the dynamic market tag generation module for subsequent job recommendations.

[0131] In a preferred embodiment of the present invention, the text classification and sentiment scoring model adopts the ERNIE-Sentiment model cascade framework. The first layer is the ERNIE 3.0 Base (Chinese pre-trained language model) open sourced by Baidu, which is used to convert long texts such as industry association reports, news, and policy announcements into high-dimensional semantic vectors. The second layer is a lightweight fully connected sentiment classification head that outputs the probability distribution of three types of labels: "policy support strength," "capital investment enthusiasm," and "impact of sudden events." The third layer performs fine-grained sentiment scoring (positive, neutral, and negative) on the text fragments corresponding to each type of label, and maps the sentiment polarity score to an external influence factor between 0 and 1.

[0132] For example, when the system retrieves the news that "the 'Implementation Plan for the Development of New Energy Storage' was released, providing a subsidy of 0.1 yuan per kilowatt-hour for lithium battery energy storage projects," ERNIE-Sentiment first classifies it as "policy support strength," then gives it a "positive" sentiment index with a confidence level of 0.92. As a result, the "policy support factor" in the external influence factors for that week is set to 0.92 and is directly used to amplify the demand forecast value for lithium battery energy storage-related positions.

[0133] In this optional embodiment, the macro-level job demand, salary, and skill demand curves are broken down into fine-grained indicators updated weekly. This allows subsequent dynamic market tags to capture short-cycle fluctuations such as "price increases next week" or "sudden changes in skill demand this month," solving the problem of lag in traditional quarterly or semi-annual reports. Prophet first captures holidays, seasonality, and long-term trends, and XGBoost then performs non-linear fitting on the residuals. This two-layer structure complements the advantages of pure time series methods and machine learning. Furthermore, ERNIE-Sentiment provides real-time sentiment quantification correction for three types of external texts: policy, capital, and unexpected events. Overall, the prediction error in the "demand quantity" direction is controlled within an industry-acceptable range, allowing for direct application to production without the need for manual post-calibration.

[0134] In this embodiment, the forecast period is shortened to the next twelve weeks. This strategy, within a shorter time span, typically demonstrates strong continuity and predictability in recruitment demand. A company's operational rhythm, project progress plans, and market layout strategies are unlikely to undergo disruptive changes in the short term, but rather develop in a relatively stable and gradual manner. For example, many companies operate according to their annual business plans, and their recruitment needs often revolve around the phased goals of established projects. In the next twelve weeks, the required workforce and job types for these projects are highly likely to maintain a predictable development trend. Furthermore, historical data shows that recruitment demand across industries exhibits similar patterns of change in the short term. For instance, the internet industry concentrates product iterations at specific times each year, leading to peak demand for technical development and product design positions. This pattern helps the system reasonably infer recruitment demand in the near future based on past trends.

[0135] Even in the event of a sudden surge in demand caused by unforeseen events, the prediction system constructed in this embodiment possesses a robust correction mechanism. The system regularly accesses multi-source information daily, covering quarterly survey reports released by industry associations, employment sentiment indices from government statistical departments, macroeconomic policy news, and announcements of major industry events. Utilizing the ERNIE-Sentiment model cascade framework, the system can rapidly analyze this information in depth, accurately extracting three key indicators: policy support strength, capital investment intensity, and the impact of unforeseen events, and transforming them into external influencing factors ranging from 0 to 1. Once an unforeseen event occurs, such as a sudden public health emergency in a region leading to a surge in demand for remote work software and related companies urgently expanding their R&D and operations teams, the system can capture this event information within minutes. Through the model, it quickly completes classification and sentiment scoring, identifying it as an "unforeseen event impact" causing a sudden surge in demand for related industry positions. The system then immediately incorporates the corresponding external influencing factors into the prediction values ​​for the current week and the next twelve weeks using a multiplicative coefficient, accurately correcting the original prediction results. This real-time correction mechanism ensures that the forecast results keep pace with market dynamics. Even in the face of unforeseen circumstances, it can provide reliable data support for subsequent job recommendations that are in line with actual needs, effectively avoid forecast deviations caused by unforeseen events, and ensure the efficient operation of the entire recruitment demand forecasting system.

[0136] Furthermore, when texts related to policy support, capital investment, or unexpected events appear, ERNIE-Sentiment completes classification and sentiment scoring within minutes. The system immediately applies this multiplicative effect to the predicted values ​​for the current week and the next twelve weeks. Thus, any sudden positive or negative news can be reflected in the job recommendation ranking in the next update cycle, avoiding the awkward situation where "favorable policies have been released for two weeks, but they are still not reflected in the recommendation list." Both layers of the model can infer on a CPU environment. ERNIE-Sentiment uses a 12-layer Base version and is quantized with INT8, with an average processing time of 15 ms per news item. The entire process requires no GPU and has no distributed training dependency, making it suitable for direct implementation by small and medium-sized recruitment platforms and university career centers, significantly reducing the operational and maintenance threshold.

[0137] In summary, this embodiment achieves "fine-grained, highly accurate, fast-response, and low-cost" future market demand forecasting by deeply coupling public text sentiment quantification with two-layer time series prediction, providing a reliable, real-time, and interpretable data foundation for subsequent dynamic market tagging and personalized job recommendations.

[0138] Optionally, the step of combining the future market recruitment information and the future market demand in the job search field to generate dynamic market tags for all positions in the job search field within the preset future time period includes:

[0139] Based on the future market recruitment information and the future market demand, construct a three-dimensional tensor of job-time;

[0140] The three-dimensional tensor is normalized to obtain the relative weight vector of each job position corresponding to each skill keyword in the preset future time period;

[0141] The relative weight vector is weighted element-wise with the external influencing factor to obtain the skill popularity vector;

[0142] Based on the skill popularity vector, determine the demand popularity, competition intensity, and skill weight distribution of each job position within the preset future time period;

[0143] The demand intensity, competition intensity, and skill weight distribution are encapsulated as the dynamic market label for the job position.

[0144] Specifically, when constructing a three-dimensional tensor of job-time based on future market recruitment information and future market demand, the system first uses the unique job identifier as the row index, the natural weeks of the next twelve consecutive weeks as the column index, and the normalized encoding of skill keywords as the depth index to create a three-dimensional dense tensor with dimensions of (number of jobs × 12 weeks × number of skills). The original value of each element of the tensor is taken from the product of the "number of job requirements" and the "frequency of skill requirements" in the future market recruitment information, and zero-padding is used to ensure that the missing week-skill combination does not produce null values, thereby completely recording the demand intensity of each job for each skill in each future week.

[0145] When normalizing the three-dimensional tensor to obtain the relative weight vector, the system adopts a Min-Max normalization strategy with a two-dimensional structure of week and skill: First, linearly scale the demand values ​​of all positions for the same skill in the week dimension so that the sum of the weekly skill demand is 1; then, linearly scale the demand values ​​of the same position for twelve weeks in the skill dimension so that the sum of the relative demand for all skills for that position in the next twelve weeks is 1; after the two scaling operations, each position obtains a relative weight between 0 and 1 for each skill in each week in the future, forming a flattened relative weight vector of length "number of skills × 12" and caching it. When calculating the skill popularity vector by weighting the relative weight vector with external influencing factors element by element, the system reads in real time the three types of external influencing factors output by the ERNIE-Sentiment model: policy support factor, capital popularity factor, and sudden event impact factor. All three types of factors are scalars in the range of 0-1. On a weekly basis, the system multiplies all the relative weight values ​​of the same week with the three types of factors for that week, and then generates a comprehensive correction coefficient through a linear combination of fixed weights (policy factor weight 0.5, capital factor weight 0.3, and sudden event factor weight 0.2). Finally, it multiplies the coefficient element by element with the relative weights to obtain the skill popularity vector corrected for external shocks. This vector is also cached in memory for millisecond-level access.

[0146] When determining demand intensity, competition intensity, and skill weight distribution based on the skill heat vector, the system performs three statistical operations on the skill heat vector: First, it sums the heat values ​​of the same skill over twelve weeks to obtain the cumulative demand for that skill in a preset future time period; second, it divides the total job demand by the estimated number of active job seekers in the same field during the same period to obtain the demand-supply ratio, which is then mapped to the demand intensity in the 0-1 range; third, it calculates the competition intensity by the ratio of the total job demand to the predicted number of applications; finally, it normalizes the cumulative demand for each skill by the sum to obtain the skill weight distribution; all three indicators are written to the job metadata table with four decimal places in floating-point form. When encapsulating demand heat, competition intensity, and skill weight distribution into dynamic market tags, the system adopts a key-value pair structured encapsulation: the keys are "demandHeat", "competeIntensity", and "skillDist", and the values ​​are floating-point numbers for demand heat, competition intensity, and a list of weights sorted by skill ID, respectively. The entire tag is written to the job tag library in JSON string format and indexed by the job's unique identifier and version timestamp to ensure that the subsequent job recommendation module can retrieve and parse it within milliseconds, realizing real-time updates and efficient calls to dynamic market tags.

[0147] In this optional embodiment, ERNIE-Sentiment is used to simultaneously classify and score the three types of text—policy, capital, and emergencies—within the same model, generating continuous factors in the 0-1 range. This allows a newly released policy document to be converted into a calculable "policy support factor" in seconds without the need for manual rules, enabling dynamic market tags to truly have the ability to respond instantly to the external environment.

[0148] By utilizing a two-dimensional Min-Max normalization process (week-skill dual-dimensional), original indicators such as job demand and skill frequency are compressed to a uniform scale, avoiding weight imbalances caused by differences in the numerical ranges of different indicators. This ensures that subsequent weighting steps are performed on the same scale, improving correction accuracy. The normalized relative weight vector is multiplied element-wise by the three types of external factors and then linearly combined with fixed weights, ensuring that extreme values ​​of a single factor do not overwhelm other information. When the capital heat factor suddenly increases while the policy factor remains stable, the system can still maintain a smooth transition in overall heat, significantly reducing prediction jitter caused by sudden events. By encapsulating demand heat, competition intensity, and skill weight distribution into JSON key-value pairs and persisting them to the job tag library, the recommendation engine can retrieve and deserialize them by job ID in milliseconds without secondary calculations, achieving low-latency calls in high-concurrency scenarios.

[0149] In summary, this application transforms unstructured macro-text into computable factors in real time without requiring additional dedicated hardware. Through tensor normalization and weighted fusion mechanisms, dynamic market tags possess external real-time performance, internal robustness, and interface efficiency, significantly improving the job recommendation system's adaptability to future market changes.

[0150] Optionally, determining the expected match between the job seeker and each of the job positions in the job search field within the preset future time period, based on the skill keywords and job intention keywords, and in conjunction with the dynamic market tags, includes:

[0151] Based on the skill weight distribution of each job position within the preset future time period, determine the weighted matching score between the skill keywords and each job position;

[0152] Based on the demand popularity of each job position within the preset future time period, determine the weighted matching score between the job intention keywords and each job position;

[0153] Based on the weighted matching scores corresponding to the skill keywords and job intention keywords, and combined with the competition intensity, the expected matching degree between the job seeker and each of the job positions in the job search field within the preset future time period is obtained.

[0154] Specifically, when determining the weighted matching score between skill keywords and positions based on the skill weight distribution of each position within a preset future time period, the system first reads the skill weight distribution list corresponding to the position from the dynamic market tags; then, it precisely matches all the skill keywords extracted from the job seeker's resume with the skill IDs in the list, taking the weight value of the matched items directly, and recording the weight of the unmatched items as zero; finally, it sums all the matched weights to obtain the weighted matching score of the position for the job seeker's skills, and writes it to the memory cache in the form of a floating-point number.

[0155] When determining the weighted matching score between job intention keywords and job positions based on the demand popularity of each position within a preset future time period, the system reads the demand popularity value from the dynamic market tags, and simultaneously reads the three job intention keywords from the job seeker's resume: desired city, job category, and job nature. If the city, job category, and job nature of the position are completely consistent with the job intention, the demand popularity value is directly used as the weighted matching score. If only partially consistent, the score is reduced item by item according to a preset ratio coefficient. If all are inconsistent, the score is recorded as zero. The calculation results are also stored in the cache in floating-point form.

[0156] When determining the expected match degree based on the weighted matching scores corresponding to skill keywords and job intention keywords, combined with the competition intensity, the system first reads the skill-weighted matching score and the intention-weighted matching score, and adds them together according to preset weights to form a preliminary matching score. Then, it reads the competition intensity value from the dynamic market tag, where a larger value indicates more intense competition. The system uses one minus the competition intensity as a suppression factor and multiplies it by the preliminary matching score to obtain the final expected match degree. This value is rounded to four decimal places and bound to the unique job identifier before being written into the match degree result table for direct use by subsequent job recommendation strategies.

[0157] For example, job seeker A's resume contains only two valid pieces of information: (1) skill keywords: Python, machine learning; (2) job intention keywords: Beijing, algorithm engineer, full-time. Job B's dynamic market tags (for the next 12 weeks) have the following skill weight distribution: {Python: 0.40, machine learning: 0.35, others: 0.25}, demand intensity: 0.85, and competition intensity: 0.30. The skill-weighted matching score is calculated, with Python having a hit weight of 0.40 and machine learning having a hit weight of 0.35, resulting in a combined score of 0.75. The intention-weighted matching score is then calculated. If the job city, job category, and job nature are all completely consistent with the job seeker's intentions, then the demand intensity of 0.85 can be directly used as the score. Next, the expected matching degree is calculated. The initial score is 0.75×0.6 +0.85×0.4 = 0.79, and the inhibition factor is 1-0.30 = 0.70. Therefore, the final expected matching degree is 0.79×0.70≈0.553. Finally, the system writes the expected matching degree of 0.553 for job B into the results table and displays it in the recommendation list with priority. At the same time, the recommendation reason is indicated as "high skill matching degree, strong demand in Beijing area, and moderate competition".

[0158] In this optional embodiment, the expected matching degree is calculated through a three-dimensional coupling of "skill weight distribution, demand intensity, and competition intensity." Skill weight distribution directly quantifies the job's emphasis on future skills, while demand intensity quantifies the actual opportunity for the job in the future. After weighting both, the system no longer performs static matching based solely on the current job description, but compares "what the job will need in the future" with "what the job seeker possesses" on the same time dimension, avoiding mismatches such as "skills match but the job is saturated" or "jobs are scarce but skills don't match." Furthermore, competition intensity acts as a suppressive factor on the matching degree in real time. If the application ratio for a certain job is too high, its final score is automatically lowered. Job seekers thus prioritize seeing "high demand, low competition" jobs, and the platform avoids directing users to high-risk positions with "thousands vying for one spot," thereby improving the overall application success rate. The ratio of skill weight to intention weight can be modified online through the configuration center, allowing for quick switching of emphasis dimensions during peak recruitment seasons or campus recruitment seasons without model retraining. Operators can temporarily increase skill weight in the backend to highlight in-demand skills, or increase intention weight to emphasize regional matching, achieving zero-downtime updates to business strategies. All calculations involve only three table lookups, two additions, and one multiplication, with single-record processing time consistently in the millisecond range. In high-concurrency scenarios, the system can instantly complete hundreds of thousands of job matching degree calculations without expanding server capacity, significantly reducing hardware costs and operational complexity.

[0159] In summary, this application, while maintaining the same computing resources, enables the expected matching degree to simultaneously possess the three attributes of "skill matching, real opportunity, and controllable competition," thereby improving the overall accuracy of job recommendations and user experience.

[0160] Optionally, generating a job recommendation strategy for job seekers based on the expected matching degree for each job position includes:

[0161] All the positions are sorted from high to low according to the expected matching degree to obtain a candidate position sequence;

[0162] Based on the candidate job sequence, a job recommendation strategy is generated for the job seeker.

[0163] Specifically, all the job positions are sorted from high to low according to the expected matching degree to obtain a candidate job position sequence; the behavioral indicators of job seekers in the most recent preset period are obtained in real time, including effective browsing time, application conversion rate, and read-but-not-applied ratio; based on the behavioral indicators, the personalized recommendation capacity N is dynamically calculated through a preset mapping function, where N fluctuates between 10 and 50 with the behavioral indicators; no more than N positions are selected sequentially from the head of the candidate job position sequence, and entries with expected matching degree differences between adjacent positions less than a preset threshold are deduplicated and rearranged to form a simplified job position list; the simplified job position list, along with the personalized recommendation capacity N, sorting criteria, and deduplication / reshuffling markers generated in this process, are encapsulated together to generate and return the job recommendation strategy to the job seeker.

[0164] Specifically, when sorting all positions from highest to lowest according to the expected matching degree to obtain the candidate position sequence, the system first reads all positions for the same job seeker in the current batch and their corresponding expected matching degrees into memory at once; then it calls the stable sorting algorithm based on TimSort, using the expected matching degree as the primary key and the job posting time as the secondary key, to perform descending sorting; after sorting, the system persists the sequence as a read-only ordered list, and writes it to an ordered set in Redis with the unique job identifier as the key and the matching degree as the score. The key name format is candidate:{user_id}, and the expiration time is set to 24 hours to ensure that subsequent steps can be read or randomly accessed within a range in milliseconds.

[0165] When acquiring job seekers' behavioral metrics in real time within the most recent preset period, the system uses the current request time as the endpoint and backscales back 7 days as the preset period. It queries the event tracking logs and user behavior table in real time to extract three metrics: (1) effective browsing time, which refers to the cumulative number of seconds that users stay on the front-end page for more than 5 seconds; (2) application conversion rate, which refers to the ratio of the number of applications completed within 24 hours after browsing to the number of browsing sessions; and (3) read-but-not-applied ratio, which refers to the proportion of read pushes that have not resulted in applications. All three metrics are recorded as floating-point numbers. Missing values ​​are filled in with the most recent available value or the global average, and abnormal fluctuations on a single day are eliminated by using a sliding average.

[0166] When determining the personalized recommendation capacity N based on behavioral metrics, the system first normalizes three behavioral metrics for the user over the past 7 days: effective browsing time is converted into "browsing activity," delivery conversion rate into "action intention," and read-but-not-delivered ratio into "caution level." Each of the three metrics falls on a 0-100 percentile scale. Subsequently, the system incorporates a mapping curve that can be updated online: the horizontal axis represents the overall activity level synthesized from the three metrics with a weight of 5:3:2, and the vertical axis represents the number of recommendations. The curve starts at 10 and ends at 50, exhibiting a smooth upward trend. The higher the overall activity level, the closer the curve returns the number of recommendations to 50; the lower the activity level, the closer the number of recommendations is to 10. The mapping process is entirely driven by a monotonically increasing curve table in the configuration center. Each system request involves real-time table lookup and rounding, requiring neither restarts nor offline training, and returns the personalized recommendation capacity N for the current session within milliseconds. When selecting no more than N positions from the head of the candidate job sequence and performing deduplication and reshuffling on adjacent positions, the system first sequentially traverses the candidate job sequence and extracts the first N entries. Then, it performs adjacent difference detection on the extracted results: if the expected matching degree difference between two adjacent positions is less than 0.01, the "deduplication and reshuffling" sub-strategy is triggered, that is, first reshuffling according to the reverse order of job posting time, and then reshuffling according to company size or industry sub-category to ensure that highly similar positions do not appear on the same screen. After the reshuffling is completed, a simplified job list is formed and its sequential index is cached.

[0167] When encapsulating and returning the streamlined job list along with the personalized recommendation capacity N, sorting criteria, and deduplication / shuffling flags, the system constructs a JSON object with the following key-value pairs: list (streamlined job list, including job unique identifier, job name, company name, and expected match score), capacity (dynamic N value for this task), sortKey (sorting criteria field name and direction, such as "match_scoredesc"), and shuffleFlag (boolean value indicating whether to trigger past deduplication / shuffling). This JSON object is returned to the front end via an HTTPS response body, and simultaneously, an audit log is written to the server, recording the user ID, timestamp, N value, and rearrangement flag for subsequent effect tracking and model iteration.

[0168] In this optional embodiment, a personalized recommendation capacity of 10-50 items is calculated in real time based on each user's browsing activity, willingness to act, and level of caution over the past 7 days. Highly active, high-conversion users receive more opportunities, while low-active or cautious users experience less information overload, resulting in improved overall browsing time and delivery conversion rates. The mapping curve is hosted in a configuration center as a configuration file. In practical applications, operators only need to modify the curve node values ​​for immediate effect, without restarting the service or retraining the model, enabling business strategies to be deployed within minutes. Furthermore, the curve employs a smooth, monotonic design, avoiding drastic jumps in the number of recommendations due to minor fluctuations in metrics, ensuring users receive a similar number of recommendations with a consistent experience across different access periods. The entire mapping process involves only one table lookup and one rounding operation, with CPU time consistently below 1ms, eliminating the need for GPUs or distributed computing, significantly reducing server load and operational costs.

[0169] Optionally, after obtaining the job seeker's resume data, the method further includes:

[0170] If the resume data contains chart information, then the chart information in the resume data is subjected to multimodal parsing to obtain the multimodal information of the resume data;

[0171] The multimodal information is converted into supplementary text information for the resume data.

[0172] Specifically, after obtaining the resume data of job seekers, the system first performs format recognition on the resume file; if the recognition result indicates that the file contains chart information, the multimodal parsing process is immediately triggered: the resume file is input into the deployed multimodal parsing engine, which is composed of an image segmentation submodule, an optical character recognition submodule, and a chart structure understanding submodule cascaded together, used to simultaneously extract the image area, text area, and data relationship in the chart, and finally output structured multimodal information, which at least includes the chart type, the meaning of the coordinate axis, key data points and their corresponding text descriptions.

[0173] When converting multimodal information into supplementary text information for resume data, the system calls the natural language generation template library: selects the corresponding template according to the chart type, fills the template placeholders with the key data points and their values ​​in the chart, and generates a coherent sentence-level description; then, the generated text description is appended to the "supplementary text" field of the resume data and merged with the original resume text at the paragraph level to ensure that subsequent keyword extraction, domain determination and matching degree calculation can read the content carried by the chart without difference, thereby improving the completeness and parsability of the resume information.

[0174] In this optional embodiment, through the cascaded processing of "chart detection—multimodal parsing—template-based text completion," traditional plain text parsing cannot utilize visual content such as line charts, bar charts, and scanned certificates in resumes. This embodiment transforms key numerical values ​​and text descriptions in charts into searchable supplementary text, thus completing the originally missing data entries and expanding the range of information that can be utilized by subsequent algorithms. After the chart data is generated using templated natural language, it is output in standardized sentence patterns, eliminating format differences caused by manual filling or OCR misreading. The same skill or achievement is presented with the same keywords in different resumes, providing a unified input for subsequent skill weight calculation and domain determination.

[0175] Furthermore, the supplementary text information can be directly appended to the end of the original resume text. Subsequent steps such as original text parsing, keyword extraction, and domain determination can seamlessly utilize the new content without any modifications, achieving a "zero-configuration" upgrade. Neither users nor the system require any additional operations. The multimodal parsing engine can complete chart segmentation, OCR, and template filling in a single-core CPU environment. The processing time increases linearly with the chart complexity, with no GPU dependency, and can be directly embedded into high-concurrency online workflows.

[0176] Optionally, the step of performing multimodal parsing on the chart information of the resume data to obtain the multimodal information of the resume data includes:

[0177] The chart information is subjected to character recognition and layout segmentation to obtain the image data of the chart information;

[0178] Perform cell semantic parsing on the chart information to extract column headers, row headers, and cross cell content to obtain the table data of the chart information;

[0179] The image data and the table data are linked to a preset skill map to obtain implicit skill descriptions corresponding to the image data and the table data, respectively.

[0180] The implicit skill descriptions are used as the multimodal information in the resume data.

[0181] Specifically, when performing character recognition and layout segmentation on chart information to obtain image data, the system first calls the PaddleOCR text detection model, which has been fine-tuned for the recruitment scenario, to perform binarization and forward inference on the entire chart, recognizing all text blocks and bounding box coordinates. Then, it uses connected component analysis and projection segmentation algorithms to split the chart area into three types of sub-images: title area, coordinate axis area, and data point area, and retains a 5-pixel outer margin around each sub-image, thereby outputting a set of image slices with coordinate information as the image data required for subsequent processing.

[0182] In a preferred embodiment of the present invention, the PaddleOCR text detection model adopts the lightweight detection branch in the PP-OCRv3_pipeline. The network structure is as follows: backbone network: MobileNetV3-large, depth multiplier 0.5, outputting 5-level features {C1,C2,C3,C4,C5}; neck: two-level feature fusion of FPN (Feature Pyramid Network) + FPEM (Feature Pyramid Enhancement Module) to generate 4-level enhancement features {P2,P3,P4,P5}; detection head: DB-Head (Differentiable Binarization Head), outputting a 1-channel probability map and a 1-channel threshold map. After differentiable binarization, a binary mask of the text region is obtained, and finally, a polygonal bounding box is output through a contour extraction algorithm. The model input is a 3×640×640 RGB chart image, and the output is an N×4×2 polygonal coordinate matrix (N is the number of detected text boxes).

[0183] In this embodiment, the model has been trained for 3 epochs on a synthetic dataset containing 120,000 recruitment scene charts (with the initial weights being the official Chinese general weights). During training, random rotation, perspective, brightness perturbation, and random occlusion are used as data augmentation strategies. During the inference phase, the model is deployed in ONNX format on a container instance with 4 vCPUs and 8 GB RAM. The detection time for a single chart is approximately 45–55 ms, and the peak CPU usage is less than 60% of a single core, meeting the requirements for online high concurrency.

[0184] When performing cell semantic parsing on chart information to obtain table data, the system first detects horizontal and vertical line segments using row and column projection, takes their intersections as cell vertices, constructs an undirected graph, and then executes the minimum spanning tree algorithm to restore the complete grid. Subsequently, it extracts column headers, row headers, and content of intersecting cells based on cell coordinates, and uses regular expressions and an industry dictionary to normalize the type of numerical cells, finally outputting table data organized in the form of "row header-column header-cell value" triplets. When linking image data and table data with a preset skill graph to obtain implicit skill descriptions, the system first loads an RDF skill graph fused from the National Occupational Classification and industry skill trees. Then, it uses a dual strategy of exact string matching and word vector cosine similarity to align keywords in the image data with skill nodes in the graph. For table data, the link is completed using a Jaccard similarity threshold of 0.85 between cell text and graph node labels. After successful linking, the system extracts the hypernyms and related words of the node and its parent node to generate implicit skill descriptions in natural language. When implicit skill descriptions are used as multimodal information in resume data, the system appends the aforementioned natural language descriptions to the resume's structured field "supplement_text" and merges them with the original text paragraphs. The appended content uses the same UTF-8 encoding as the main text, and the "[Chart Derivation]" identifier is automatically inserted before each implicit skill description to ensure that subsequent keyword extraction and domain determination modules can parse them without difference, thereby fully incorporating the chart semantics into the overall resume information.

[0185] In this optional embodiment, through continued training, the model forms targeted representations of common layout features in recruitment scenario charts, and can stably cover all text areas within the chart; with a lightweight backbone network, inference can be completed in a normal CPU environment without additional acceleration hardware; the ONNX encapsulation supports containerized deployment, and only instance copying is required for horizontal scaling; the geometric information of the detection output directly connects to subsequent cell parsing and entity linking, avoiding secondary coordinate transformation and ensuring a simple and consistent end-to-end link.

[0186] Combination Figure 2 As shown, the present invention also provides a job recommendation system based on resume analysis, comprising:

[0187] The acquisition unit is used to acquire resume data from job seekers.

[0188] A language processing unit is used to perform natural language processing on the resume data to obtain multiple keywords in the resume data, including skill keywords and job intention keywords;

[0189] The domain analysis unit is used to determine the job search domain of the job seeker based on the skill keywords and the job intention keywords;

[0190] The prediction unit is used to predict, based on the current market recruitment information and current market demand in the job search field, to obtain the future market recruitment information and future market demand in the job search field within a preset future time period.

[0191] The tag generation unit is used to combine the future market recruitment information and the future market demand in the job search field to generate dynamic market tags for all positions in the job search field within the preset future time period.

[0192] The matching unit is used to determine the expected matching degree between the job seeker and each of the job positions in the job search field within the preset future time period, based on the skill keywords and the job intention keywords, combined with the dynamic market tags.

[0193] The strategy generation unit is used to generate a job recommendation strategy for the job seeker based on the expected matching degree of each job position.

[0194] The job recommendation system based on resume analysis of the present invention has the same advantages over the prior art as the job recommendation method based on resume analysis described above, and will not be repeated here.

[0195] While the present invention has been disclosed above, its scope of protection is not limited thereto. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention, and all such changes and modifications will fall within the scope of protection of the present invention.

Claims

1. A job recommendation method based on resume analysis, characterized in that, include: Obtain job seekers' resume data; Natural language processing is performed on the resume data to obtain multiple keywords in the resume data, including skill keywords and job intention keywords; Based on the skill keywords and job intention keywords, the job seeker's job search field is determined; Based on the current market recruitment information and current market demand in the job-seeking field, the future market recruitment information and future market demand in the job-seeking field within a preset future time period are predicted. By combining the future market recruitment information and future market demand in the job search field, dynamic market tags are generated for all positions in the job search field within the preset future time period; Specifically, this includes: constructing a three-dimensional tensor of job positions and time based on the future market recruitment information and the future market demand; The three-dimensional tensor is normalized to obtain the relative weight vector of each job position corresponding to each skill keyword in the preset future time period; The relative weight vector is weighted element-wise with the external influencing factors to obtain the skill popularity vector. Based on the skill popularity vector, determine the demand popularity, competition intensity, and skill weight distribution of each job position within the preset future time period; The demand intensity, competition intensity, and skill weight distribution are encapsulated as the dynamic market tags for the job position; Based on the skill keywords and job intention keywords, combined with the dynamic market tags, determine the expected match between the job seeker and each of the job positions in the job field within the preset future time period; specifically, this includes: determining the weighted match score between the skill keywords and each job position based on the skill weight distribution of each job position within the preset future time period; Based on the demand popularity of each job position within the preset future time period, determine the weighted matching score between the job intention keywords and each job position; Based on the weighted matching scores corresponding to the skill keywords and the job intention keywords, and combined with the competition intensity, the expected matching degree between the job seeker and each of the job positions in the job search field within the preset future time period is obtained; Based on the expected matching degree for each job position, a job recommendation strategy is generated for the job seeker.

2. The job recommendation method based on resume analysis according to claim 1, characterized in that, The natural language processing of the resume data yields multiple keywords, including: The text information in the resume data is segmented into sentences, words, and parts of speech, resulting in multiple candidate words for the resume data. The named entity recognition model is used to extract skill entities and job intention entities from the candidate words; The skill entities are mapped to a preset skill dictionary to obtain the skill keywords; The job-seeking intention entities are mapped to a preset intention dictionary to obtain the job-seeking intention keywords.

3. The job recommendation method based on resume analysis according to claim 1, characterized in that, The step of determining the job seeker's job search field based on the skill keywords and the job intention keywords includes: The skill keywords are matched with the domain-skill mapping table to obtain at least one candidate domain and the skill matching degree between the candidate domain and the job seeker. The job search intention keywords are matched with the field-intention mapping table to obtain at least one candidate field and the degree of matching between the candidate field and the job seeker's intention. The skill matching degree and intention matching degree of the same candidate domain are weighted and fused to generate a comprehensive score for the candidate domain; The candidate field with the highest overall score will be selected as the job application field for the job seeker.

4. The job recommendation method based on resume analysis according to claim 1, characterized in that, The step of predicting future market recruitment information and future market demand for the job-seeking field within a preset future time period based on current market recruitment information and current market demand includes: Obtain the original recruitment data of the job search field from multiple recruitment platforms, and construct the current recruitment information dataset of the job search field based on the original recruitment data; Data is extracted from the current recruitment information dataset to obtain the job posting time, number of jobs, salary distribution, skill requirements, and geographical distribution in the job search field; Based on the job posting time, the number of jobs, the salary distribution, the skill requirements, and the geographical distribution, a temporal feature vector of the job search field is obtained; The time series feature vector is predicted by a time series prediction model to obtain the trend of job demand quantity, salary change trend and skill demand change trend in the job search field within the preset future time period, and the trend of job demand quantity, salary change trend and skill demand change trend are used as the future market recruitment information. Obtain current market research information for the job search field, and generate external influencing factors based on the current market research information; By integrating and correcting the external influencing factors with the future market recruitment information, the future market demand for the job-seeking field within the preset future time period is obtained.

5. The job recommendation method based on resume analysis according to claim 1, characterized in that, The step of generating a job recommendation strategy for job seekers based on the expected matching degree of each job position includes: All the job positions are sorted from high to low according to the expected matching degree to obtain a candidate job position sequence; Based on the candidate job sequence, a job recommendation strategy is generated for the job seeker.

6. The job recommendation method based on resume analysis according to claim 1, characterized in that, After obtaining the job seeker's resume data, the following is also included: If the resume data contains chart information, then the chart information in the resume data is subjected to multimodal parsing to obtain the multimodal information of the resume data; The multimodal information is converted into supplementary text information for the resume data.

7. The job recommendation method based on resume analysis according to claim 6, characterized in that, The step of performing multimodal parsing on the chart information of the resume data to obtain the multimodal information of the resume data includes: The chart information is subjected to character recognition and layout segmentation to obtain the image data of the chart information; Perform cell semantic parsing on the chart information to extract column headers, row headers, and cross cell content to obtain the table data of the chart information; The image data and the table data are linked to a preset skill map to obtain implicit skill descriptions corresponding to the image data and the table data, respectively. The implicit skill descriptions are used as the multimodal information in the resume data.

8. A job recommendation system based on resume analysis, characterized in that, include: The acquisition unit is used to acquire resume data from job seekers. A language processing unit is used to perform natural language processing on the resume data to obtain multiple keywords in the resume data, including skill keywords and job intention keywords; The domain analysis unit is used to determine the job search domain of the job seeker based on the skill keywords and the job intention keywords; The prediction unit is used to predict, based on the current market recruitment information and current market demand in the job search field, to obtain the future market recruitment information and future market demand in the job search field within a preset future time period. The tag generation unit is used to combine the future market recruitment information and the future market demand in the job search field to generate dynamic market tags for all positions in the job search field within the preset future time period. Specifically, this includes: constructing a three-dimensional tensor of job positions and time based on the future market recruitment information and the future market demand; The three-dimensional tensor is normalized to obtain the relative weight vector of each job position corresponding to each skill keyword in the preset future time period; The relative weight vector is weighted element-wise with the external influencing factors to obtain the skill popularity vector. Based on the skill popularity vector, determine the demand popularity, competition intensity, and skill weight distribution of each job position within the preset future time period; The demand intensity, competition intensity, and skill weight distribution are encapsulated as the dynamic market tags for the job position; The matching unit is used to determine the expected matching degree between the job seeker and each of the job positions in the job field within the preset future time period, based on the skill keywords and the job intention keywords, combined with the dynamic market tags; specifically, it includes: determining the weighted matching score between the skill keywords and each of the job positions based on the skill weight distribution of each job position within the preset future time period; Based on the demand popularity of each job position within the preset future time period, determine the weighted matching score between the job intention keywords and each job position; Based on the weighted matching scores corresponding to the skill keywords and the job intention keywords, and combined with the competition intensity, the expected matching degree between the job seeker and each of the job positions in the job search field within the preset future time period is obtained; The strategy generation unit is used to generate a job recommendation strategy for the job seeker based on the expected matching degree of each job position.

Citation Information

Patent Citations

  • Word vector-based post recommendation method and device and computer equipment

    CN116028722A

  • Dynamic skill evolution prediction and post matching method and system based on big data

    CN118917812A