Post recommendation method and system based on resume analysis
By using resume analysis to extract skills and intention keywords from job seekers' resumes and combining them with market forecasts to generate dynamic tags, the problem of semantic association and static data in the job matching system is solved, enabling accurate job recommendations, especially personalized matching for recent graduates.
Patent Information
- Application Number
- CN202511293105.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-11
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2045-09-11
AI Technical Summary
In the existing technology, the person-job matching system ignores the semantic associations and constraints between job seekers and jobs, resulting in insufficient accuracy in job recommendations, especially for first-time job seekers such as fresh graduates, whose job search intentions and personal abilities cannot be accurately matched.
By using resume analysis to obtain job seekers' resume data, natural language processing is used to extract keywords related to skills and job intentions. Combined with current market recruitment information and demand forecasts, dynamic market tags are generated, the expected match between job seekers and positions is calculated, and a customized job recommendation strategy is developed.
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.
Smart Images

Figure CN120806901A_ABST
Abstract
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 background, 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. For some job seekers with vague 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, which affects the adaptability of the job seeker's ability and the post demand, and finally leads 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 the first aspect, the post recommendation method based on resume analysis of the present application comprises: obtaining resume data of a job seeker; 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; determining the job seeker's job field according to the skill keywords and the job intention keywords; predicting the future market recruitment information and the future market demand of the job field in a pre-set future time period according to the current market recruitment information and the current market demand of the job field; combining the future market recruitment information and the future market demand of the job field, generating dynamic market labels of all posts in the job field in the pre-set future time period; determine an expected matching degree of the job seeker with each of the positions in the job field within a preset future time period according to the skill keywords and the job intention keywords in combination with the dynamic market label; generate a position recommendation strategy for the job seeker according to the expected matching degree of each of the positions.
[0007] Optionally, the natural language processing on the resume data to obtain a plurality of keywords in the resume data comprises: 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; extracting skill entities and job intention entities in the candidate words from the candidate words by using a named entity recognition model; mapping the skill entities to a preset skill dictionary to obtain the skill keywords; mapping the job intention entities to a preset intention dictionary to obtain the job intention keywords.
[0008] Optionally, the determination of the job field of the job seeker according to the skill keywords and the job intention keywords comprises: matching the skill keywords 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; matching the job intention keywords with a field-intention mapping table to obtain at least one of the candidate fields and an intention matching degree of the candidate field corresponding to the job seeker; 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; taking at least one of the candidate fields with the highest comprehensive score as the job field of the job seeker.
[0009] Optionally, the prediction of the future market recruitment information and the future market demand of the job field within a preset future time period according to the current market recruitment information and the current market demand of the job field comprises: obtaining original recruitment data of the job field on a plurality of recruitment platforms, and constructing a current recruitment information dataset of the job field according to the original recruitment data; performing data extraction according to the current recruitment information dataset to obtain a position release time, a position quantity, a salary distribution, a skill requirement and a regional distribution in the job field; obtaining a time sequence feature vector of the job field according to the position release time, the position quantity, the salary distribution, the skill requirement and the regional distribution; predicting the time series feature vector by a time series prediction model to obtain a job post demand quantity change trend, a salary change trend and a skill demand change trend of the job seeking field in the preset future time period, and taking the job post demand quantity change trend, the salary change trend and the skill demand change trend as the future market recruitment information; obtaining current market research information of the job seeking field, and generating an external influence factor according to the current market research information; fusing and correcting the external influence factor and the future market recruitment information to obtain the future market demand of the job seeking field in the preset future time period.
[0010] Optionally, the future market recruitment information and the future market demand of the job seeking field are combined to generate a dynamic market label of all posts in the job seeking field in the preset future time period, including: constructing a three-dimensional tensor of post-time according to the future market recruitment information and the future market demand; normalizing the three-dimensional tensor to obtain a relative weight vector of each skill keyword corresponding to each post in the preset future time period; element-wise weighting the relative weight vector and the external influence factor to obtain a skill heat vector; 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; encapsulating the demand heat, the competition intensity and the skill weight distribution as the dynamic market label of the post.
[0011] Optionally, the expected matching degree of the job seeker to each post in the job seeking field in the preset future time period is determined according to the dynamic market label, the skill keyword and the job seeking intention keyword, including: determining a weighted matching score of the skill keyword and each post according to the skill weight distribution of each post in the preset future time period; determining a weighted matching score of the job seeking intention keyword and each post according to the demand heat of each post in the preset future time period; obtaining the expected matching degree of the job seeker to each post in the job seeking field in the preset future time period according to the weighted matching scores of the skill keyword and the job seeking intention keyword, and combining the competition intensity.
[0012] Optionally, the generating of the job recommendation strategy for the job seeker according to the expected matching degree of each of the jobs comprises: sorting all the jobs according to the expected matching degree from high to low to obtain a candidate job sequence; generating the job recommendation strategy for the job seeker according to the candidate job sequence.
[0013] Optionally, after the resume data of the job seeker is obtained, the method further comprises: 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; converting the multi-modal information into supplementary text information of the resume data.
[0014] Optionally, the multi-modal analysis on the chart information of the resume data to obtain the multi-modal information of the resume data comprises: performing character recognition and layout segmentation on the chart information to obtain image data of the chart information; 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; performing entity linking on the image data and the table data with a preset skill graph respectively to obtain implicit skill descriptions corresponding to the image data and the table data respectively; taking the implicit skill descriptions as the multi-modal information of the resume data.
[0015] In a second aspect, a job recommendation system based on resume analysis is provided, comprising: an acquisition unit configured to acquire resume data of a job seeker; 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 comprising skill keywords and job intention keywords; a domain analysis unit configured to determine a job-seeking domain of the job seeker according to the skill keywords and the job intention keywords; a prediction unit configured to predict future market recruitment information and future market demand of the job-seeking domain in a preset future time period according to current market recruitment information and current market demand of the job-seeking domain; a label generation unit configured to generate dynamic market labels of all jobs in the job-seeking domain in the preset future time period in combination with the future market recruitment information and the future market demand of the job-seeking domain; The matching unit is configured to determine an expected matching degree of the job seeker with each of the positions in the job field within the preset future time period according to the skill keywords, the job intention keywords and the dynamic market label. The strategy generating unit is configured to generate a position recommendation strategy for the job seeker according to the expected matching degree of each of the positions.
[0016] The resume analysis-based position recommendation method and system can accurately extract skill keywords and job intention keywords from a resume by using natural language processing technology, deeply analyze semantic associations, determine a job field of a job seeker, and convert originally isolated and static labels into dynamic features with semantic associations. The dynamic market label of future market recruitment information and demand is generated by combining current market recruitment information and demand prediction, and all positions in the job field are labeled dynamically. According to the matching degree of the job seeker keywords and the dynamic market label, a position recommendation strategy is customized for the job seeker. The position recommendation is no longer limited to current static information, but can predict market changes in the future. Finally, the expected matching degree is calculated by using skill keywords + job intention keywords + dynamic market label, which effectively overcomes the defects of traditional methods that ignore label semantic associations and rely only on static data. The technical solution can effectively solve the problem that traditional person-job matching systems rely only on static information and ignore semantic associations and constraints. Especially for first-time job seekers such as graduates, the job intention and personal ability of the job seekers can be more accurately matched, the accuracy of position recommendation is significantly improved, the job seekers can find suitable positions in the rapidly changing job market, and the professional potential of the job seekers is stimulated.
[0017] In the traditional method, periodic batch calculation is adopted, and the rapid changes in the recruitment market cannot be responded, especially for graduates who lack work experience. The technical path of predicting future market recruitment information and demand, generating a dynamic market label and adjusting the expected matching degree in real time makes the recommendation result reflect the market trend in advance. For example, when the demand for a certain job field increases rapidly in the future, the system can immediately increase the recommendation weight of the related position, help the job seekers (especially the graduates) to lock the potential position in advance, and solve the problem of “static information lag leading to matching failure”.
[0018] The position recommendation strategy is generated according to the expected matching degree of each position, which realizes the transformation from batch pushing to personalized sorting. Since the dynamic market label integrates future supply and 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 strong market demand (such as recommending a position that needs to strengthen a new emerging skill), thereby solving the problem that the matching result is disconnected with the long-term career development of the job seeker. BRIEF DESCRIPTION OF DRAWINGS
[0019] Figure 1A flow chart of a resume analysis based job recommendation method according to an embodiment of the present application; Figure 2 A structural diagram of a resume analysis based job recommendation system according to an embodiment of the present application. DETAILED DESCRIPTION
[0020] In order to make the above objectives, features and advantages of the present application more apparent, specific embodiments of the present application will be described in detail below with reference to the accompanying 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 construed 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 for illustrative purposes only, and are not intended to limit the scope of the present application.
[0021] It should be understood that the various steps recited 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 performing the steps shown. The scope of the present application is not limited in this respect.
[0022] As used herein, the term "includes" and its variants are open-ended, meaning "includes but is not limited to"; the term "based on" means "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 "optionally" means "optional in some embodiments". Related definitions are given throughout the description. It should be noted that the concepts mentioned in the present application are merely used to distinguish different apparatuses, modules or units, and are not intended to limit the functions performed by these apparatuses, modules or units, or the order or interdependence of these functions.
[0023] It should be noted that the modification of "one" or "multiple" mentioned in the present application is illustrative rather than limiting, and those skilled in the art should understand that, unless otherwise explicitly indicated in the context, it should be understood as "one or more".
[0024] The names of the messages or information exchanged between the multiple apparatuses in the embodiments of the present application are merely used for illustrative purposes, and are not intended to limit the scope of the messages or information.
[0025] In the related art, when matching job seekers with positions, the prior art often regards the two as isolated label sets 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 job seeker capabilities. Therefore, the recommendation result is difficult to accurately reflect the dynamic relationship between the two, and cannot meet the personalized needs of job seekers, especially first-time job seekers.
[0026] In addition, for first-time job seekers, there is often a situation of unclear intentions or insufficient understanding of their own abilities, especially for graduates. Since graduates have similar educational backgrounds and experiences, simply recommending positions based on education and preset job requirements is prone to fixed patterns, ignoring individual differences and growth potential, which makes the above-mentioned position recommendation method unable to accurately recommend positions suitable for each individual job seeker based on their different job intentions and personal abilities. It is difficult to accurately match individual needs, limiting the accuracy of position recommendation, and making it difficult to help job seekers find positions that are truly suitable for them.
[0027] To solve the above related problems, the present application provides a position recommendation method and system based on resume analysis.
[0028] In combination Figure 1 The position recommendation method based on resume analysis provided by the embodiments of the present application comprises: Obtaining resume data of a job seeker.
[0029] Specifically, when obtaining the resume data of the job seeker, the system pulls the original PDF, DOCX, HTML format electronic resume from the job seeker client, the recruitment website background or the enterprise talent pool through the RESTful API or SFTP mode, and performs binary stream analysis on the server side to extract the complete content including the text layer, table layer and metadata layer, forming a structured original field set, and the fields at least include: education experience, work experience, project experience, skill list, self-evaluation, job intention.
[0030] Among them, RESTful API or SFTP is two parallel and switchable communication means. The first is RESTful API: the server publishes a standardized HTTPS interface, the interface address is fixed, and the client can download or receive the resume file in PDF, Word or JSON format by sending a request to the address with the token header after obtaining the OAuth2 authorization token; the interface provides rate limiting, paging and error code feedback at the same time, ensuring stable transmission in high concurrency scenarios. The second is SFTP: the system deploys an SFTP file server on the public network, uses the standard SSH port 22, and allocates independent accounts and restricted root directories for each business party; after the client completes identity verification through the pre-set public key or high-strength password, it can upload the resume file to the specified directory in batches or pull the latest resume from the specified directory. The common point of the two methods is that both use LS / SSH encrypted channels to ensure the confidentiality and integrity of the resume data during transmission; the difference is that RESTful API is more suitable for real-time single acquisition, and SFTP is more suitable for night batch synchronization, and the two complement each other to meet the speed, concurrency and stability requirements in different business scenarios.
[0031] Performing natural language processing on the resume data obtains a plurality of keywords in the resume data, the keywords including skill keywords and job intention keywords.
[0032] Specifically, in the natural language processing stage of the resume data, the system is built-in with a deep learning model fine-tuned by a large amount of recruitment corpus. For example, the deep learning model built-in the system is a "BERT-CRF combined model": a 12-layer BERT-base-Chinese released by Google is used as the main network to capture the context semantics of the resume text; a linear mapping layer and a conditional random field (CRF) decoding layer are added on the top of BERT to perform BIO sequence labeling on skill keywords and job intention keywords. The model first performs word segmentation and part-of-speech tagging on the entire text, and then identifies two types of keywords: one is the skill keyword that can reflect professional ability, such as "Python" and "finite element analysis"; the other is the job intention keyword that reflects personal expectations, such as "Shenzhen", "product manager" and "internship". In order to ensure accuracy, the system will perform double verification on the identification results: on the one hand, it will be standardized mapped against the national occupation classification standard and industry skill dictionary, and on the other hand, it will filter out ambiguous or invalid information through regular templates and entity rules, and finally output a clean and standardized keyword set.
[0033] According to the skill keywords and the job intention keywords, a job-seeking field of the job seeker is determined.
[0034] Specifically, in the stage of determining the job seeker's job field, the system maintains a real-time updated keyword-to-professional field mapping table. The table takes the sub-categories in the national professional classification as columns, takes standardized skill keywords as rows, and stores the association strength at the intersection of rows and columns. The system only needs to find the extracted keywords in the mapping table, accumulate the association strength of the corresponding column, and obtain the highest score of the sub-category to determine the job field of the job seeker, and generate a unique identifier in the database to ensure that all subsequent job data can be accurately aligned with the field.
[0035] According to the current market recruitment information and the current market demand of the job field, the future market recruitment information and the future market demand of the job field in a preset future time period are predicted.
[0036] Specifically, in the stage of predicting future market recruitment information and market demand, the system automatically crawls raw information such as job posting volume, delivery volume, salary range, and skill demand frequency from various recruitment platforms, employment networks, industry association reports, and other multi-source channels every day. The crawled data is first de-duplicated, desensitized, and standardized, and then input into a hybrid prediction model that combines time series and machine learning. The model outputs the job demand curve, talent gap curve, and salary change trend for the next three months, forming quantifiable and traceable future market information to provide real-time basis for dynamic label generation.
[0037] In a preferred embodiment of the application, the hybrid prediction model that combines time series and machine learning adopts a Prophet-XGBoost double-layer architecture: the first layer is a Facebook Prophet time series model, which is responsible for capturing the periodicity, holiday effect, and overall trend of job posting volume, delivery volume, and median salary changes over time; the second layer is an XGBoost gradient boosting decision tree model, which takes the trend component, holiday component, historical same-period gap ratio, and skill demand frequency change rate output by Prophet as multi-dimensional features to further learn non-linear residuals and sudden market disturbances. When performing daily rolling training, first generate a baseline curve for the next 90 days using Prophet, then use XGBoost to correct the baseline deviation, and finally output the quantitative prediction results of the job demand curve, talent gap curve, and salary change trend for real-time calling of dynamic market labels.
[0038] In combination with the future market recruitment information and the future market demand of the job field, dynamic market labels for all jobs in the job field in the preset future time period are generated.
[0039] Specifically, in the dynamic market label generation stage, the system converts the predicted future demand, talent scarcity, and salary premium into market labels that are easy to understand. For example, when the model shows that a certain position has rising demand, a larger talent gap, and a significant salary increase in the next three months, the system will label the position as "high demand, talent scarcity, and high premium". These labels are bound to the unique identification of the position and written into the position label library, and support daily rolling updates to ensure that each position information always carries the latest market dynamics.
[0040] According to the skill keywords and the job intention keywords, and in combination with the dynamic market label, the expected matching degree of the job seeker with each position in the job field within the preset future time period is determined.
[0041] Specifically, in the expected matching degree determination stage, the system jointly evaluates the skill keywords and job intention keywords extracted by the job seeker with the dynamic market label of the position. First, the system compares the degree of coincidence between the job seeker's skills and the job requirements; second, it checks whether the job location, job type, and other job intentions meet the job requirements; finally, it introduces the scarcity and salary expectations in the dynamic market label as weighted factors to comprehensively calculate a matching degree score between zero and one. The higher the score, the more suitable the position is for the job seeker's current abilities, personal expectations, and future development prospects.
[0042] According to the expected matching degree of each position, a job recommendation strategy for the job seeker is generated.
[0043] Specifically, in the job recommendation strategy generation stage, the system first sorts all candidate positions in descending order of matching degree score, and then performs secondary filtering according to business rules: automatically removes positions that are highly repetitive with the job seeker's delivery records, filters out positions with a commuting distance exceeding the job seeker's set threshold, and conducts security screening in combination with enterprise reputation, job stability, and other dimensions. Finally, the system encapsulates the filtered high-matching positions into a personalized recommendation list and presents it to the job seeker in a visual interface, along with the reason for each recommendation, future salary trends, and suggested additional skill points, achieving truly explainable and implementable precision recommendation.
[0044] The resume analysis-based post recommendation method and system of the embodiment accurately extracts 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 label into a dynamic feature with semantic association. Combined with current market recruitment information and demand prediction, dynamic market labels of future market recruitment information and demand are generated, and dynamic labels are attached to all posts in the job-seeking field. According to the matching degree of the keywords of the job seeker and the dynamic market labels, a 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. Finally, through three-dimensional calculation of the expected matching degree of the skill keywords + job-seeking intention keywords + dynamic market labels, the defects of traditional methods of ignoring the semantic association of labels and relying only on static data are effectively overcome. The technical solution can effectively solve the problem of traditional job matching systems relying only on static information and ignoring semantic association and constraints. Especially for first-time job seekers such as college graduates, the job-seeking intention and personal ability can be more accurately matched, the accuracy of post recommendation is significantly improved, and the job seekers can find suitable posts in the rapidly changing job market and stimulate their professional potential.
[0045] In the traditional method, periodic batch calculation is adopted, and the rapid changes in the recruitment market cannot be responded, especially for college graduates with lack of work experience. The technical path of predicting future market recruitment information and demand, generating dynamic market labels, and adjusting the expected matching degree in real time in the embodiment makes the recommendation results reflect the market trends in a forward-looking manner. For example, when the demand for 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".
[0046] The embodiment generates a post recommendation strategy based on the expected matching degree of each post, realizing the transformation from batch pushing to personalized sorting. Since the dynamic market label integrates the future supply and 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 strong market demand (such as recommending a post that needs to strengthen a new emerging skill), thereby solving the problem of disconnection between the matching result and the long-term career development of the job seeker.
[0047] Optionally, the natural language processing on the resume data to obtain a plurality of keywords in the resume data comprises: 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; extracting skill entities and job-seeking intention entities in the candidate words from the candidate words by using a named entity recognition model; map the skill entity to a preset skill dictionary to obtain the skill keyword; map the job-seeking intention entity to a preset intention dictionary to obtain the job-seeking intention keyword.
[0048] Specifically, when performing sentence segmentation, word segmentation, and part-of-speech tagging on the textual information in the resume data, first, a sentence segmentation engine based on a combination of maximum forward matching and bidirectional long short-term memory network (Bi-LSTM) is called: the entire text is first segmented into several sentences according to Chinese full stop, question mark, exclamation mark, and line feed, and then each sentence is input into a Bi-LSTM-CRF word segmentation model that has been incrementally trained on a large-scale recruitment corpus, to output a candidate word sequence with part-of-speech tags; the part-of-speech tags at least include noun, verb, adjective, and English proper noun, so as to directly locate professional terms and action descriptions in the subsequent entity recognition stage.
[0049] When extracting from the candidate words using a named entity recognition model, the system adopts a “BERT-CRF-Span” three-stage architecture: first, a 12-layer Chinese BERT model is used to encode the context of the candidate word sequence, then a conditional random field (CRF) layer is used to output BIO tagging results, and finally a pointer network (Span Detector) is used to refine the boundaries, to obtain skill entities (such as “React” and “lithium-ion battery thermal management simulation”) and job-seeking intention entities (such as “Shenzhen Nanshan”, “algorithm engineer”, and “internship position”). Among them, the skill entity category is subdivided into “programming language, framework, tool, and industry-specific technology” four categories, and the job-seeking intention entity is subdivided into “city, position name, work nature, and expected industry” four categories, to ensure the accuracy of subsequent mapping. When mapping the skill entity to the preset skill dictionary, the system maintains a skill dictionary that is centered on the “Dictionary of National Occupational Classification of the People’s Republic of China” and industry skill tree, and is automatically expanded by recruitment big data every month; each skill entity is matched by prefix matching through a double-array Trie tree, and if a unique word is hit, a standard skill ID is directly assigned; if there is ambiguity, the cosine similarity of the entity context and the synonym vector in the dictionary is used for secondary scoring, and the highest scoring word is taken as the final skill keyword, to ensure that the skill name is standardized and unambiguous. The combination of Trie tree fast prefix matching and vector secondary disambiguation reduces the complexity of the keyword standardization step from O(N×M) to close to O(N) (N is the number of entities, and M is the size of the dictionary), which can support large-scale online processing without relying on GPU clusters.
[0050] When mapping the job-seeking intention entity to a preset intention dictionary, the system is built-in with a multi-level intention dictionary containing national county-level and above administrative divisions, position categories, and working nature enumerated values. City entities are mapped through a standard administrative division code table, position name entities are mapped by comparing with the fourth-level code of the national occupation classification dictionary, and working nature entities are directly normalized to the four categories of "full-time, part-time, internship, and remote" through a regular template. All mapping results are written in a structured field in the form of key-value pairs, and a clean and standardized job-seeking intention keyword set is finally output.
[0051] In this optional embodiment, since the skill entity and the job-seeking intention entity are immediately mapped to the national occupation classification dictionary and the industry authority dictionary after extraction, the same skill or the same city in different resumes is forced to be standardized to a unique standard code, eliminating semantic drift caused by synonyms, abbreviations, and colloquial differences, and ensuring consistency and comparability of input features in subsequent prediction and matching links.
[0052] Moreover, the job-seeking field determined by the keywords directly limits the input data subset of the prediction model, so that the model only needs to learn the time series in this field, without training on the full amount of chaotic data. This progressive filtering of "keywords → field → data subset" significantly reduces noise samples and improves the response speed of the prediction model to real market fluctuations. At the same time, once the future market information is updated, the system can inject new demand, gap, and premium information into the dynamic market label, and the label is bound to the job instance one by one, so that the job recommendation logic can directly use the latest market signals without retraining, achieving "zero delay" refresh. Since the mapping process of keywords to the dictionary preserves the standard code, the system can show the user recommended jobs while giving the corresponding relationship of "skill keyword - standard skill code - job demand curve", so that the user can clearly understand the reasons for the recommendation and meet the requirement of algorithm transparency.
[0053] In summary, the above-mentioned technical features work together to make the recommendation system consistent at the semantic level, targeted at the prediction level, immediate at the update level, interpretable at the user level, and efficient at the resource level, thereby improving the quality of job matching and user experience as a whole.
[0054] Optionally, the determining of the job-seeking field of the job seeker according to the skill keyword and the job-seeking intention keyword comprises: 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; 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; The skill matching degree and the intention matching degree of the same candidate field are weighted and fused to generate a comprehensive score of the candidate field; At least one candidate field with the highest comprehensive score is taken as the job field of the job seeker.
[0055] Specifically, before matching the skill keywords with the field-skill mapping table, the system pre-constructs and incrementally maintains a field-skill mapping table every day. The table takes the “fine class occupation code” in the national occupation classification as the row, takes the normalized standard skill keyword as the column, and stores an associated weight between 0 and 1 at the intersection of the row and the column. The weight is obtained by compressing the TF-IDF value of the skill appearing in the post description of the same field in the past 12 months by Sigmoid. At runtime, the system compares all skill keywords extracted from the current resume with the columns of the mapping table one by one. If a skill keyword is identical to a keyword in the mapping table or reaches a preset similarity threshold of 0.9 through synonym judgment, the corresponding weight is added to the candidate field, and finally the skill matching degree of the candidate field to the job seeker is obtained, which is written into the cache in the form of a floating-point number.
[0056] Before matching the job intention keywords with the field-intention mapping table, the system pre-constructs and updates the field-intention mapping table once a month. The table also takes the fine class occupation code as the row, and the columns include “expected city, work nature, industry category, and position level”. A binary flag or a 0 / 1 weight is stored at the intersection of the row and the column. The flag is set according to whether the corresponding intention appears in the post information of the same field in the past 6 months more than a statistical threshold. At runtime, the system splits the job intention keywords extracted from the resume by category and compares them with the columns of the mapping table one by one. Each hit adds the corresponding flag weight to the candidate field, and thus the intention matching degree of the candidate field to the job seeker is obtained, which is written into the same cache record in the form of a floating-point number.
[0057] In this embodiment, the mapping table is stored in the memory hash structure. The complete process of single matching, accumulation, weighting, and taking the maximum value only involves several table lookups and floating-point additions, and the time complexity is close to O(N) (N is the number of candidate fields). A single machine can complete hundreds of thousands of record processing in milliseconds without additional GPU or distributed resources, significantly reducing deployment and operation costs.
[0058] When the skill matching degree and the intention matching degree of the same candidate field are weighted and fused, the two matching degree values in the cache are read, and a preset weight vector [α, β] is called for linear weighting, where α + β = 1, the default value of α is 0.65, the default value of β is 0.35, and the system administrator can adjust it in real time in the configuration center. The comprehensive score obtained after weighting is kept to four decimal places, and is stored in the field score table with the candidate field code as the key, ensuring that subsequent queries can be completed in constant time.
[0059] In this embodiment, the alpha and beta weights can be activated by configuring the center hot update, without the need to restart the service or retrain the model. When there is a sudden demand in a certain industry, the operator can temporarily increase the alpha to highlight the skill scarcity; in the recruitment season of new graduates, the beta can be increased to strengthen the intention factors such as region and work nature. The whole adjustment process is transparent and has no effect on the downstream prediction and matching logic, ensuring that the system can quickly respond to market changes.
[0060] When the candidate field with the highest comprehensive score is selected as the job field of the job seeker, the system performs a single traversal on the field score table, compares the comprehensive scores of all candidate fields, and selects the maximum value corresponding to the sub-category occupation code. If there is a tie for the highest value, the field with a higher skill matching degree is selected. If there is still a tie, the field corresponding to the larger proportion in the weight vector alpha is selected. The final determined job field code is written into the primary key field of the job seeker portrait table, and is continuously referenced in the subsequent prediction, label generation and matching degree calculation links, thereby ensuring the consistency and stability of the field identification of the same job seeker within a single session cycle.
[0061] In this optional embodiment, by mapping the skill keywords and job intention keywords to the same set of mapping table based on the National Occupational Classification, the field code obtained by the same job seeker in different times and different batches of resumes is always consistent, eliminating the drift problem caused by manual or arbitrary rule designation, and ensuring that the same field is used as the anchor point in the subsequent prediction, label and matching process, thereby avoiding the loss of focus caused by field jumping.
[0062] The skill matching degree reflects "whether you can do it", and the intention matching degree reflects "whether you want to do it". After the two are fused by adjustable weights, the extreme values in a single dimension are suppressed, and the overall distribution is more reasonable. In actual operation, only the candidate field with high skill but low intention will be automatically lowered in comprehensive score, and vice versa, thereby significantly reducing the misfit situation such as "skill matching but location not matching" or "want to go to a certain place but no relevant skills".
[0063] In summary, the present embodiment uses four technical means of mapping table standardization, double-dimension weighting, weight hot plug and efficient table lookup to make the job field identification accurate and flexible, ensure semantic consistency, and take into account real-time market, thereby improving the credibility and user experience of subsequent job recommendation as a whole.
[0064] Optionally, the prediction according to the current market recruitment information and the current market demand of the job field to obtain the future market recruitment information and the future market demand of the job field in a preset future time period comprises: Obtain the original recruitment data of the job field on multiple recruitment platforms, and construct a current recruitment information dataset of the job field according to the original recruitment data. According to the current recruitment information data set, the post publishing time, the number of posts, the salary distribution, the skill requirement and the regional distribution in the job-seeking field are obtained; According to the post publishing time, the number of posts, the salary distribution, the skill requirement and the regional distribution, the time sequence feature vector of the job-seeking field is obtained; The time sequence feature vector is predicted by a time series prediction model to obtain the number of job post changes, salary changes and skill demand changes in the job-seeking field in the preset future time period, and the number of job post changes, the salary changes and the skill demand changes are taken as the future market recruitment information; Obtain the current market research information of the job-seeking field, and generate external influence factors according to the current market research information; The external influence factors and the future market recruitment information are fused and corrected to obtain the future market demand of the job-seeking field in the preset future time period.
[0065] Specifically, when obtaining the original recruitment data of the job-seeking field in multiple recruitment platforms, the system starts the distributed crawler node at a daily preset time period, such as between 0 o'clock and 2 o'clock in the morning, and according to the robots protocol, the frequency of page by page crawling of job details page source code is limited for the signed mainstream recruitment platform, employment network and industry association portal. The fields of the scraped include the position name, company information, publishing time, salary interval, skill label, work location and original HTML text in the page, all of which are written into a distributed message queue, and then the de-duplication service removes duplicate records according to the joint key value of the post ID and URL to form a non-redundant original recruitment data set and persist to a time series database.
[0066] When data extraction is performed according to the current recruitment information data set, the system calls the pre-set parsing template and regular rules to perform structured disassembly on each original record: the publishing time is parsed into "YYYY-MM-DD" accurate date; the number of posts is directly counted; the salary distribution is divided by interval, and the median is taken and converted to monthly salary in RMB; the skill requirement is obtained by dictionary matching and cosine clustering to obtain the de-duplicated skill item list; the regional distribution is mapped to the city level according to the administrative division code; all fields are stored in a wide table with "job-seeking field code + date" as the row key to form the current recruitment information data set.
[0067] When obtaining the time sequence feature vector of the job field according to the post release time, the number of posts, the salary distribution, the skill requirement and the regional distribution, the system aggregates the data in the wide table by natural week: the number of posts takes the total amount of the week, the salary distribution takes the median of the week, the skill requirement takes the top twenty items with the highest frequency of occurrence in the week and is coded into a one-hot vector, and the regional distribution takes the top five cities with the highest proportion of the number of posts and is also coded; the above numerical values are spliced into a fixed dimension float vector, that is, the time sequence feature vector of the job field in the week, and are sequentially arranged to form a time series.
[0068] When predicting the time sequence feature vector by the time series prediction model, the system adopts a Prophet-XGBoost double-layer architecture: first, the Prophet models the two univariate sequences of the number of posts and the median salary respectively to capture the cycle, holidays and long-term trends; then the trend component and the residual component output by the Prophet are input into the XGBoost together with the skill vector and the regional proportion as features, and the output is the trend of the number of posts, the trend of the salary and the trend of the skill demand in the next twelve weeks, which are collectively referred to as future market recruitment information and written into the cache in JSON format.
[0069] When obtaining the current market research information of the job field and generating external influence factors, the system regularly accesses the quarterly research reports released by industry associations, the employment climate index of statistical departments, macroeconomic policy news and major industry event announcements every day; through the text classification and sentiment scoring model, three types of indicators are extracted, including policy support intensity, capital investment heat and sudden event impact, and after maximum and minimum normalization, external influence factors in the 0-1 interval are generated and pushed to the message bus in real time.
[0070] When the external influence factors are fused and corrected with the future market recruitment information, the system reads the future market recruitment information in the cache by week, and takes the policy support factor, the capital heat factor and the event impact factor as multiplicative correction coefficients, which are respectively applied to the predicted values of the number of posts, the salary change amplitude and the skill demand intensity; the results of multiplicative correction are smoothed to eliminate extreme jumps, and finally the future market demand of the job field in the next twelve weeks is formed, and is updated to the dynamic market label generation module at the same time, which is used for subsequent post recommendation.
[0071] In a preferred embodiment of the present application, the text classification and sentiment scoring model uses an ERNIE-Sentiment model cascade framework, wherein the first layer is a Baidu open source ERNIE 3.0 Base (Chinese pre-training language model) for converting industry association reports, news, policy announcements and other long texts into high-dimensional semantic vectors; the second layer is a lightweight fully connected sentiment classification head, outputting the probability distribution of three labels of "policy support intensity", "capital investment heat", and "sudden event impact"; the third layer further performs fine-grained sentiment scoring (positive, neutral, negative) on the text segments corresponding to each label, and maps the sentiment polarity score to an external influence factor between 0 and 1.
[0072] For example, when the system crawls the news "Release the New Energy Storage Development Implementation Plan, give a subsidy of 0.1 yuan per kilowatt hour to lithium battery energy storage projects", ERNIE-Sentiment first classifies it as "policy support intensity", and then the sentiment head gives "positive" with a confidence of 0.92, so the "policy support factor" in the external influence factor of this week is set to 0.92, and is directly used to amplify the demand prediction value of lithium battery energy storage related positions.
[0073] In this optional embodiment, the macro job demand, salary, and skill demand curves are divided into fine-grained indicators updated by week, so that the subsequent dynamic market labels can capture short-term fluctuations such as "up next week" or "skill demand mutation this month", solving the problem of lagging behind of traditional quarterly or semi-annual reports. By capturing holidays, seasonality and long-term trends first with Prophet, and then performing nonlinear fitting on the residuals with XGBoost, the double-layer structure complements the advantages of pure time series methods and machine learning; then superimposing the real-time sentiment quantification correction of ERNIE-Sentiment on the three types of external texts of policy, capital, and sudden events, the overall prediction error in the "demand quantity" direction is controlled within the acceptable range of the industry, without the need for manual post-calibration, it can be directly used for production.
[0074] In this embodiment, the prediction period is shortened to the next twelve weeks, which is a relatively short time span in which recruitment demand usually exhibits strong continuity and predictability. The operational rhythm, project advancement plan, and market layout strategy of an enterprise will not undergo a revolutionary change in the short term, but will develop in a relatively stable and gradual manner. For example, many enterprises follow annual business planning to conduct business, and their recruitment needs are often centered around the phased goals of established projects. In the next twelve weeks, the number of people and types of positions required by the project are likely to maintain a predictable development trend. At the same time, historical data shows that recruitment demand in various industries has similar patterns of change in the short term. For example, the Internet industry conducts product iteration in specific periods of each year, thereby creating a peak demand for positions such as technical development and product design. This regularity helps the system make reasonable inferences about recruitment demand in the short term based on past trends.
[0075] Even if a sudden event causes demand to change, the prediction system constructed in this embodiment has a strong correction mechanism. The system accesses multiple sources of information daily, including quarterly research reports published by industry associations, employment climate indexes from government statistical departments, macroeconomic policy news, and announcements of major industry events. With the help of the ERNIE-Sentiment model cascade framework, the system can quickly analyze these information in depth, accurately extract three key indicators of policy support intensity, capital investment intensity, and sudden event impact, and convert them into external influence factors in the 0-1 interval. Once a sudden event occurs, such as a public health event in a certain region, which causes a surge in demand for remote office software and the urgent expansion of R&D and operations teams by related enterprises. At this time, the system can capture this event information within minutes, quickly classify and sentiment score it through the model, identify it as a "sudden event impact" that causes a sudden change in demand for related industry positions, and immediately incorporate the corresponding external influence factor into the prediction value for the current week and the next twelve weeks in the form of a multiplicative coefficient to accurately correct the original prediction result. This real-time correction mechanism ensures that the prediction result can keep up with market dynamics, even in the face of unexpected situations. It can provide reliable data support that meets actual demand for subsequent job recommendations, effectively avoiding prediction bias caused by unexpected events, and ensuring the efficient operation of the entire recruitment demand prediction system.
[0076] In addition, when the three types of text of policy support, capital heat or unexpected events appear, ERNIE-Sentiment completes classification and sentiment scoring at the minute level, and the system immediately acts on the prediction values of the current week and the next twelve weeks in a multiplicative coefficient manner; thus, unexpected good news or bad news can be reflected in the job recommendation ranking in the next refresh cycle, avoiding the embarrassing situation of "good news has been released for two weeks, but the recommendation list still does not reflect it". Both the double-layer model can be inferred in the CPU environment, and ERNIE-Sentiment uses the 12-layer Base version and is quantized by INT8, with an average time consumption of 15 ms for a single news; the overall link does not rely on GPU and distributed training, and is suitable for small and medium-sized recruitment platforms and university employment centers to directly land, significantly reducing the operation and maintenance threshold.
[0077] In summary, by deeply coupling the sentiment quantization of public texts and the double-layer time series prediction, the embodiment realizes the "fine granularity, high accuracy, fast response, and low cost" of future market demand prediction, and provides a reliable, real-time, and interpretable data foundation for subsequent dynamic market labels and personalized job recommendations.
[0078] Optionally, the future market recruitment information and the future market demand in the job-seeking field are combined to generate dynamic market labels of all jobs in the job-seeking field within the preset future time period, including: According to the future market recruitment information and the future market demand, a three-dimensional tensor of jobs-time is constructed; The three-dimensional tensor is normalized to obtain a relative weight vector of each skill keyword corresponding to each job within the preset future time period; The relative weight vector is element-wise weighted with the external influence factor to obtain a skill heat vector; According to the skill heat vector, the demand heat, competition intensity, and skill weight distribution of each job within the preset future time period are determined; The demand heat, competition intensity, and skill weight distribution are encapsulated as the dynamic market label of the job.
[0079] Specifically, when constructing a three-dimensional tensor of jobs-time according to future market recruitment information and future market demand, the system first creates a three-dimensional dense tensor with dimensions (number of jobs x 12 weeks x number of skills) using the unique identification of the job as the row index, the natural weeks of the next twelve weeks as the column index, and the normalized encoding of the skill keyword as the depth index; the original value of each element of the tensor is taken from the product of "job quantity" and "skill demand frequency" in the future market recruitment information, and zero padding is used to ensure that missing week-skill combinations do not appear empty, thereby completely recording the demand intensity of each job for each skill in each week in the future.
[0080] In the normalization process of the three-dimensional tensor to obtain the relative weight vector, the system adopts the Min-Max normalization strategy of the week-skill two dimensions: first, linearly scale all the job demand values of the same skill in the week dimension, so that the total demand of the skill in each week is 1; then, linearly scale the twelve-week demand values of the same post in the skill dimension for the second time, so that the sum of the relative demand of the post for all skills in the next twelve weeks is 1; after two scaling, each post obtains a relative weight between 0 and 1 for each skill in each week in the future, forming a flattened relative weight vector with a length of "skill number x 12" and caching. When the relative weight vector is weighted with external influence factors to obtain the skill heat vector, the system reads the policy support factor, capital heat factor, and sudden event impact factor output by the ERNIE-Sentiment model in real time, all of which are 0-1 interval scalars; the system multiplies all the relative weight values in the same week with the three types of factors in the same week, and then generates a comprehensive correction coefficient through fixed weight linear combination (policy factor weight 0.5, capital factor weight 0.3, sudden event factor weight 0.2), and finally multiplies it with the relative weight element by element to obtain the skill heat vector after external impact correction, which is also cached in memory for millisecond-level calling.
[0081] In determining the demand heat, competition intensity, and skill weight distribution according to the skill heat vector, the system performs three statistics on the skill heat vector: first, sum the heat values of the same skill in twelve weeks to obtain the cumulative demand of the skill in the preset future period; second, divide the total demand by the active job seeker estimate value in the same period to obtain the demand-supply ratio, and then map it to the 0-1 interval demand heat; third, calculate the competition intensity with the ratio of total demand to delivery prediction value; finally, normalize the cumulative demand of each skill by the sum to obtain the skill weight distribution; all three indicators are kept as floating point numbers with four decimal places of precision and written into the post metadata table. In packaging the demand heat, competition intensity, and skill weight distribution as a dynamic market label, the system uses a key-value pair structure for packaging: the key is "demandHeat" "competeIntensity" "skillDist", and the value is the demand heat floating point number, the competition intensity floating point number, and the weight list sorted by skill ID, respectively; the entire label is written in the form of a JSON string into the post label library, and is indexed by the post unique identifier and version timestamp, ensuring that the subsequent post recommendation module can pull and parse within milliseconds, realizing real-time updating and efficient calling of dynamic market labels.
[0082] In this optional embodiment, the policy, capital, and emergency texts are classified and scored simultaneously in the same model by ERNIE-Sentiment, generating a continuous factor in the interval [0, 1]. Without manual rules, a newly published policy document can be converted into a calculable "policy support factor" within seconds, enabling the dynamic market label to respond to external environments in real time.
[0083] After Min-Max normalization in the week-skill two-dimensional space, the original indicators such as job demand and skill frequency are compressed to a unified scale, avoiding weight imbalance caused by different numerical ranges of indicators, ensuring that the subsequent weighting steps are performed in the same dimension, and improving the correction accuracy. The relative weight vector after normalization is multiplied element by element with the three types of external factors, and then linearly combined according to the fixed weight, so that extreme values of a single factor do not overwhelm other information; when the capital heat factor suddenly rises while the policy factor remains stable, the system can still maintain smooth transition of the overall heat, significantly reducing the prediction jitter caused by unexpected events. By packaging the demand heat, competition intensity, and skill weight distribution into a JSON key-value pair and persisting it to the job label library, the recommendation engine can pull and deserialize it by job ID within milliseconds, without the need for secondary calculation, achieving low-latency calls in high-concurrency scenarios.
[0084] In summary, without additional dedicated hardware, the application converts unstructured macro texts into calculable factors in real time, and through tensor normalization and weighted fusion mechanism, the dynamic market label has external real-time, internal robustness, and interface efficiency, significantly improving the adaptability of the job recommendation system to future market changes.
[0085] Optionally, the method further comprises: determining a weighted matching score of the skill keyword and each of the jobs according to the skill weight distribution of each of the jobs in the preset future time period; determining a weighted matching score of the job intention keyword and each of the jobs according to the demand heat of each of the jobs in the preset future time period; obtaining the expected matching degree of the job seeker to each of the jobs in the preset future time period in the job field according to the weighted matching scores of the skill keyword and the job intention keyword, and combining the competition intensity.
[0086] Specifically, in determining the weighted matching score of the skill keywords and the post according to the skill weight distribution of each post in the preset future time period, the system first reads the skill weight distribution list corresponding to the post from the dynamic market label; then all skill keywords extracted from the resume of the job seeker are matched one by one with the skill ID in the list, the hit item directly takes its weight value, and the missed item weight is zero; finally, the weighted matching score of the post to the job seeker's skill is obtained by summing all the hit weights, and is written in the form of floating point number in the memory cache.
[0087] In determining the weighted matching score of the job intention keywords and the post according to the demand heat of each post in the preset future time period, the system reads the demand heat value in the dynamic market label, and reads the expected city, position category and work nature three job intention keywords in the resume of the job seeker; if the city, position category and work nature of the post are completely consistent with the job intention, the demand heat value is directly taken as the weighted matching score; if only part of them are consistent, they are reduced by the preset proportion coefficient one by one; when all of them are inconsistent, the score is zero; the calculation result is also stored in the cache in the form of floating point number.
[0088] In determining the expected matching degree according to the weighted matching scores of the skill keywords and the job intention keywords and combining the competition intensity, the system first reads the skill weighted matching score and the intention weighted matching score, and adds them according to the preset weight to form a preliminary matching score; then reads the competition intensity value in the dynamic market label, the larger the value, the more intense the competition; the system uses one minus the competition intensity as the inhibition factor, and multiplies it with the preliminary matching score to obtain the final expected matching degree; the value is kept to four decimal places and is bound with the unique identification of the post after being written into the matching degree result table for subsequent post recommendation strategy to directly call.
[0089] Exemplarily, the resume of the job seeker A only contains two valid information, (1) skill keywords: Python, machine learning, (2) job intention keywords: Beijing, algorithm engineer, full-time, the dynamic market label (future 12 weeks) of the post B, skill weight distribution: {Python: 0.40, machine learning: 0.35, other: 0.25}, demand heat: 0.85, and competition intensity: 0.30. The skill weighted matching score is obtained by adding the hit weight of Python 0.40 and the hit weight of machine learning 0.35, that is, 0.75. The intention weighted matching score is calculated, if the post city, position category and work nature are all consistent with the intention of the job seeker, the demand heat 0.85 can be directly taken as the score. The preliminary score is calculated, that is, 0.75*0.6+0.85*0.4=0.79, the inhibition factor is 1-0.30=0.70, and then the final expected matching degree is 0.79*0.70≈0.553. Finally, the system writes the expected matching degree 0.553 of the post B into the result table, and preferentially displays in the recommendation list, and prompts in the recommendation reason that “the skill matching degree is high, the demand in Beijing is strong, and the competition is moderate”.
[0090] In the optional embodiment, the expected matching degree is calculated by coupling “skill weight distribution-demand heat-competition intensity” three-dimensionally, the skill weight distribution directly quantifies the emphasis of the post on future skills, and the demand heat quantifies the real opportunity of the post in the future period. After weighting, the system no longer only makes static matching according to the current JD, but compares “what the post needs in the future” and “what the job seeker has” in the same time dimension, avoiding mismatching such as “skill matching but post saturated” or “post scarce but skill not matching”. Moreover, the competition intensity acts as an inhibition factor and affects the matching degree in real time, once the delivery of a post is too high, the final score is automatically lowered. The job seeker thus preferentially sees the post with high demand and low competition, and the platform also avoids leading the user to the high-risk position of “thousands of people competing for one position”, thereby improving the delivery success rate as a whole. The ratio of skill weight and intention weight can be modified online through the configuration center, without retraining the model, so that the emphasis dimension can be quickly switched in the recruitment season or the school recruitment season; the operator can temporarily adjust the skill weight in the background to highlight the scarce skills, or adjust the intention weight to highlight the regional matching, so as to realize zero downtime update of business strategy. All operations only involve three table lookups, two additions and one multiplication, and the processing time of a single record is stable at the millisecond level; in a high concurrency scenario, the system can complete the matching degree calculation of hundreds of thousands of posts without expanding the server, thereby significantly reducing the hardware cost and operation and maintenance complexity.
[0091] In summary, the application makes the expected matching degree have the three attributes of “skill matching, real opportunity and controllable competition” under the premise of keeping the computing resources unchanged, thereby improving the accuracy and user experience of post recommendation as a whole.
[0092] Optionally, generating a job recommendation strategy for the job seeker based on the expected matching degree of each job position includes: Sort all the positions according to the expected matching degree from high to low to obtain a candidate position sequence; A job recommendation strategy for the job seeker is generated based on the candidate job sequence.
[0093] Specifically, all the positions are sorted from high to low according to the expected matching degree to obtain a candidate position sequence; the behavioral indicators of the job seeker in the most recent preset period are obtained in real time, and the behavioral indicators include effective browsing time, delivery conversion rate and read-undelivered ratio; according to 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 from the head of the candidate position sequence in sequence, and the entries whose expected matching degree difference between adjacent positions is less than a preset threshold are deduplicated and scattered to form a streamlined position list; the streamlined position list is encapsulated together with the personalized recommendation capacity N, sorting basis and deduplication and scattered mark generated this time, and the position recommendation strategy is generated and returned to the job seeker.
[0094] Specifically, when sorting all positions from high to low according to the expected matching degree and obtaining the candidate position sequence, the system first reads all positions of the same job seeker in the current batch and their corresponding expected matching degrees into memory at one time; then calls the stable sorting algorithm based on TimSort, uses the expected matching degree as the primary key and the position release time as the secondary key, and performs descending order; after the sorting is completed, the system persists the sequence as a read-only ordered list, and writes it to the Redis ordered set with the position unique 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 the subsequent steps can be read by interval or randomly accessed within milliseconds.
[0095] When obtaining job seekers' behavioral indicators in real time within the most recent preset period, the system uses the current request time as the end point and the previous 7 days as the preset period to query the tracking log and user behavior table in real time and extract three indicators: (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) delivery conversion rate, which refers to the ratio of the number of completed deliveries within 24 hours after browsing to the number of views; and (3) read-but-undelivered ratio, which refers to the proportion of read push notifications that did not result in delivery. All three indicators are recorded as floating-point numbers, and missing values are filled with the most recent available value or the global mean. Single-day abnormal fluctuations are eliminated through sliding average.
[0096] In determining the personalized recommendation capacity N according to the behavior indicators, the system first normalizes the three behavior indicators of the user in the last 7 days, converts the effective browsing time into "browsing activity", converts the delivery conversion rate into "action willingness", and converts the read-un-delivered ratio into "cautiousness". Each of the three indicators falls within the 0-100 percentile scale. Subsequently, the system has a mapping curve that can be updated online: the horizontal axis is the comprehensive activity of the three indicators with a weight of 5:3:2, and the vertical axis is the number of recommendations. The starting point of the curve is fixed at 10, and the end point is fixed at 50, with a smooth upward shape. The higher the comprehensive activity, the closer the number of returned curves to 50; the lower the activity, the closer the number to 10. The mapping process is completely driven by a monotonically increasing curve table in the configuration center. The system requests real-time table lookup every time, which does not need to be restarted and does not need to be trained offline, and can return the personalized recommendation capacity N in milliseconds. In selecting no more than N positions from the head of the candidate position sequence and performing de-duplication and scattering rearrangement on adjacent positions, the system first traverses the candidate position sequence in order, and intercepts the first N entries; then the adjacent difference detection is performed on the intercepted results: if the difference between the expected matching degrees of the adjacent two positions is less than 0.01, the "de-duplication and scattering" sub-strategy is triggered, that is, first rearranged in descending order of post publishing time, and then scattered according to enterprise size or industry category, to ensure that similar positions do not appear on the same screen; after rearrangement, a simplified position list is formed and its order index is cached.
[0097] In encapsulating and returning the simplified position list together with the personalized recommendation capacity N, the sorting basis and the de-duplication and scattering flag, the system constructs a JSON object, the key values of which include: list (simplified position list containing position unique identifier, position name, enterprise name, expected matching degree), capacity (dynamic N value this time), sortKey (sorting basis field name and direction, such as "match_score desc"), shuffleFlag (Boolean value, indicating whether to trigger de-duplication and scattering); the JSON object is returned to the front end through the HTTPS response body, and at the same time, the server side writes an audit log, recording user ID, timestamp, N value and rearrangement flag, for subsequent effect tracking and model iteration.
[0098] In this optional embodiment, the personalized recommendation capacity of 10-50 is calculated in real time according to the browsing activity, action intention and cautious degree of each user in the last 7 days. High-active and high-conversion users can obtain more opportunities, and low-active or cautious users can reduce information overload, thereby improving the overall browsing time and delivery conversion rate. The mapping curve is hosted in the configuration center in the form of a profile. In actual application, the operation personnel only need to modify the curve node value, which can take effect immediately without restarting the service or retraining the model, so as to realize the online of business strategy in minutes. Moreover, the curve adopts a smooth and monotonic design, which avoids the dramatic change of the number of recommended items caused by the slight fluctuation of the index, and ensures that the user obtains similar number and consistent experience of recommended results in different access periods. The whole mapping process only involves one table lookup and one rounding operation, and the CPU time consumption is stable within 1 ms, without GPU or distributed computing, which significantly reduces the server load and operation and maintenance cost.
[0099] Optionally, after obtaining the resume data of the job seeker, the method further comprises: If the resume data contains chart information, performing multi-modal analysis on the chart information of the resume data to obtain multi-modal information of the resume data; Converting the multi-modal information into supplementary text information of the resume data.
[0100] Specifically, after obtaining the resume data of the job seeker, the system first performs format recognition on the resume file. If the recognition result indicates that the file contains chart information, a multi-modal analysis process is triggered immediately: the resume file is input into a deployed multi-modal analysis engine, which is composed of an image segmentation submodule, an optical character recognition submodule, and a chart structure understanding submodule in cascade, for synchronously extracting the image area, text area, and data relationship in the chart, and finally outputting structured multi-modal information, which at least contains the chart type, coordinate axis meaning, key data points, and corresponding text description.
[0101] When converting the multi-modal information into supplementary text information of the resume data, the system calls a natural language generation template library: according to the chart type, a corresponding template is selected, the key data points and their values in the chart are filled into the template placeholders, and a coherent sentence-level description is generated; then, the generated text description is appended to the "supplementary text" field of the resume data, and is fused with the original resume text at the paragraph level, so that the content carried by the chart can be read without difference in subsequent keyword extraction, field determination and matching degree calculation, thereby improving the completeness and analyzability of the resume information.
[0102] In this optional embodiment, through the cascade processing of "chart detection-multimodal analysis-template text completion", traditional pure text analysis cannot utilize the visual content such as line graphs, bar charts, and certificate scans in the resume. This embodiment unifies the key values in the chart with the textual description into retrievable supplementary text, so that the originally missing data entries can be completed, thereby expanding the range of information that can be utilized by subsequent algorithms. After the chart data is generated into natural language through templating, it is output in a standardized sentence, eliminating the format differences caused by manual filling or OCR misreading; the same skill or achievement is presented with the same keyword in different resumes, providing a unified input for subsequent skill weight calculation and field determination.
[0103] Moreover, the supplementary text information is directly attached to the end of the original resume text, and the subsequent steps such as original text analysis, keyword extraction, and field determination can seamlessly utilize the new content without any modification, achieving "zero configuration" upgrade, and neither the user nor the system needs additional operation. The multimodal analysis engine can complete chart segmentation, OCR, and template filling in a single-core CPU environment, and the processing time grows linearly with the complexity of the chart, without GPU dependency, and can be directly embedded in high-concurrency online processes.
[0104] Optionally, the multimodal analysis of the chart information of the resume data obtains multimodal information of the resume data, including: character recognition and layout segmentation of the chart information to obtain image data of the chart information; cell semantic analysis of the chart information to extract column titles, row titles, and cross-cell content to obtain table data of the chart information; entity linking of the image data and the table data with a preset skill graph respectively to obtain implicit skill descriptions corresponding to the image data and the table data respectively; the implicit skill descriptions as the multimodal information of the resume data.
[0105] Specifically, when performing character recognition and layout segmentation on the chart information to obtain image data, the system first calls a PaddleOCR text detection model fine-tuned for the recruitment scene to perform binaryzation and forward inference on the chart as a whole, identifying all text blocks and bounding box coordinates; then it uses connected component analysis and projection segmentation algorithm to split the chart area into three types of subgraphs: title area, coordinate axis area, and data point area, and keeps a 5-pixel external expansion margin around each subgraph, thereby outputting a set of image slices with coordinate information as image data required for subsequent processing.
[0106] In a preferred embodiment of the present application, the PaddleOCR text detection model uses the lightweight detection branch in PP-OCRv3_pipeline. The network structure is as follows: backbone network: MobileNetV3-large, depth multiplier 0.5, output 5-level features {C1, C2, C3, C4, C5}; neck: FPN (Feature Pyramid Network) + FPEM (Feature Pyramid Enhancement Module) two-level feature fusion, generating 4-level enhanced features {P2, P3, P4, P5}; detection head: DB-Head (Differentiable Binarization Head), output 1-channel probability map and 1-channel threshold map, after binarization, the text region binary mask is obtained, and finally the polygon boundary box is output through the contour extraction algorithm; the model input is a 3x640x640 RGB table image, and the output is an Nx4x2 polygon coordinate matrix (N is the number of detected text boxes).
[0107] In this embodiment, the model has been trained for 3 epochs on a synthetic dataset containing 120,000 recruitment scene tables (initial weights are official Chinese general weights), and random rotation, perspective, brightness disturbance and random occlusion are used as data augmentation strategies during training; in the inference stage, the ONNX format is deployed in a 4 vCPU, 8 GB RAM container instance, and the detection time of a single table is about 45-55 ms, with a peak CPU occupancy of less than 60% of a single core, meeting the online high-concurrency requirements.
[0108] In the cell semantic analysis of the chart information to obtain the table data, the horizontal and vertical line segments are detected by the row-column projection method, the intersection points thereof are taken as the cell vertices, the complete grid is restored by performing the minimum spanning tree algorithm after the undirected graph is constructed; then the column title, the row title and the cross cell content are extracted according to the cell coordinates, and the numerical type cell is normalized by using the regular expression and the industry dictionary, and finally the table data organized in the form of 'row title-column title-cell value' triplets is output. In the entity linking of the image data and the table data with the preset skill graph to obtain the implicit skill description, the RDF skill graph fused by the national occupation classification and the industry skill tree is loaded; then the key words in the image data are aligned with the skill nodes in the graph by using the double strategy of string exact matching and word vector cosine similarity; for the table data, the Jaccard similarity threshold of 0.85 is used to complete the linking between the cell text and the graph node label; after the linking is successful, the system extracts the hypernyms and related words of the node and its parent nodes to generate the implicit skill description in the form of natural language. In the multi-modal information of the implicit skill description as the resume data, the system appends the foregoing natural language description to the structured field'supplement_text' of the resume and merges it with the original text paragraph; the appended content uses the same UTF-8 encoding as the main text, and the '[chart derived]' identifier is automatically inserted before each implicit skill description, so that the subsequent keyword extraction and domain determination modules can be parsed without difference, so that the chart semantics is completely integrated into the overall information of the resume.
[0109] In the optional embodiment, through continuous training, the model forms a targeted representation for the common format features in the recruitment scene chart, can stably cover all the text areas in the chart; in cooperation with the lightweight backbone network, the inference can be completed in the ordinary CPU environment without additional acceleration hardware; the ONNX encapsulation supports containerized deployment, and only instances need to be copied during horizontal expansion; the geometric information of the detection output is directly connected to the subsequent cell analysis and entity linking, avoiding secondary coordinate conversion and ensuring the consistency of the end-to-end link.
[0110] In combination with Figure 2 The application further provides a post recommendation system based on resume analysis, comprising: An acquisition unit configured to acquire resume data of a job seeker; 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 intention keywords; A domain analysis unit configured to determine a job domain of the job seeker according to the skill keywords and the job intention keywords; A prediction unit is configured to predict, according to current market recruitment information and current market demand of the job-hunting field, future market recruitment information and future market demand of the job-hunting field in a preset future time period; A label generation unit is configured to generate dynamic market labels of all positions in the job-hunting field in the preset future time period, in combination with the future market recruitment information and the future market demand of the job-hunting field; A matching unit is configured to determine an expected matching degree of the job-seeker with each position in the job-hunting field in the preset future time period, in combination with the dynamic market labels, according to the skill keywords and the job-hunting intention keywords. A strategy generation unit is configured to generate a position recommendation strategy of the job-seeker, according to the expected matching degree of each position.
[0111] The job recommendation system based on resume analysis has the same advantages as the job recommendation method based on resume analysis compared with the prior art, and thus will not be described herein again.
[0112] Although the present disclosure is as above, the protection scope of the present disclosure is not limited to this. Those skilled in the art can make various modifications and changes without departing from the spirit and scope of the present disclosure, and these modifications and changes shall fall within the protection scope of the present disclosure.
Claims
1. A job recommendation method based on resume analysis, characterized in that: include: Obtaining resume data of job seekers; Performing natural language processing on the resume data to obtain a plurality of keywords in the resume data, wherein the keywords include skill keywords and job-seeking intention keywords; Determining the job-seeking field of the job seeker based on the skill keywords and the job-seeking intention keywords; Predicting the current market recruitment information and current market demand for the job-seeking field to obtain the future market recruitment information and future market demand for the job-seeking field within a preset future time period; Combining the future market recruitment information and the future market demand in the job-seeking field, generating dynamic market labels for all positions in the job-seeking field within the preset future time period; Determining the expected matching degree of the job seeker with each of the positions in the job search field within the preset future time period based on the skill keywords and the job search intention keywords in combination with the dynamic market tags; A job recommendation strategy for the job seeker is generated based on the expected matching degree of each job.
2. The job recommendation method based on resume analysis according to claim 1, characterized in that: The natural language processing of the resume data is performed to obtain multiple keywords in the resume data, including: Sentence segmentation, word segmentation, and part-of-speech tagging are performed on the text information in the resume data to obtain a plurality of candidate words for the resume data; Extracting from the candidate vocabulary using a named entity recognition model to obtain skill entities and job-seeking intention entities in the candidate vocabulary; Mapping the skill entity to a preset skill dictionary to obtain the skill keyword; The job-seeking intention entity is mapped to a preset intention dictionary to obtain the job-seeking intention keyword.
3. The job recommendation method based on resume analysis according to claim 1, characterized in that: Determining the job-seeking field of the job seeker based on the skill keywords and the job-seeking intention keywords includes: Matching the skill keywords with a field-skill mapping table to obtain at least one candidate field and a matching degree between the candidate field and the job seeker's skills; Matching the job-seeking intention keywords with a field-intention mapping table to obtain at least one candidate field and a matching degree between the candidate field and the job seeker's intention; Performing a weighted fusion of the skill matching degree and the intention matching degree of the same candidate field to generate a comprehensive score for the candidate field; At least one candidate field with the highest comprehensive score is used as the job-seeking field of the job seeker.
4. The job recommendation method based on resume analysis according to claim 1, characterized in that: The method of performing a forecast based on the current market recruitment information and current market demand of the job-seeking field to obtain future market recruitment information and future market demand of the job-seeking field within a preset future time period includes: Obtaining original recruitment data of the job-seeking field on multiple recruitment platforms, and constructing a current recruitment information dataset of the job-seeking field based on the original recruitment data; Extract data from the current recruitment information dataset to obtain the job posting time, number of jobs, salary distribution, skill requirements, and geographical distribution of jobs in the job search field; Obtaining a time series feature vector of the job search field based on the job posting time, the number of jobs, the salary distribution, the skill requirements, and the regional distribution; Predicting the time series feature vector using a time series prediction model to obtain a trend in the number of job requirements, a trend in salary requirements, and a trend in the number of skill requirements for the job search field within a preset future time period, and using the trend in the number of job requirements, the trend in salary requirements, and the trend in the number of skill requirements as the future market recruitment information; Obtaining current market research information on the job-seeking field, and generating external influencing factors based on the current market research information; The external influencing factors are integrated and corrected with the future market recruitment information to obtain the future market demand for the job-seeking field within the preset future time period.
5. The job recommendation method based on resume analysis according to claim 4, characterized in that: The step of combining the future market recruitment information and the future market demand in the job-seeking field to generate dynamic market labels for all positions in the job-seeking field within the preset future time period includes: Constructing a three-dimensional position-time tensor based on the future market recruitment information and the future market demand; Normalizing the three-dimensional tensor to obtain a relative weight vector corresponding to each skill keyword for each position in the preset future time period; Performing element-by-element weighting on the relative weight vector and the external influencing factor to obtain a skill heat vector; Determining, based on the skill heat vector, the demand heat, competition intensity, and skill weight distribution of each position in the preset future time period; The demand heat, competition intensity, and skill weight distribution are encapsulated as the dynamic market label of the position.
6. The job recommendation method based on resume analysis according to claim 5, characterized in that: The step of determining the expected matching degree between the job seeker and each position in the job search field within the preset future time period based on the skill keywords and the job search intention keywords in combination with the dynamic market tags includes: Determining a weighted matching score between the skill keyword and each of the positions according to the skill weight distribution of each of the positions in the preset future time period; Determining a weighted matching score between the job-seeking intention keyword and each of the positions according to the demand popularity of each position in the preset future time period; According to the weighted matching scores corresponding to the skill keywords and the job intention keywords, combined with the competition intensity, the expected matching degree of the job seeker with each of the positions in the job search field within the preset future time period is obtained.
7. The job recommendation method based on resume analysis according to claim 1, characterized in that: Generating a job recommendation strategy for the job seeker based on the expected matching degree of each job position includes: Sort all the positions according to the expected matching degree from high to low to obtain a candidate position sequence; A job recommendation strategy for the job seeker is generated based on the candidate job sequence.
8. The job recommendation method based on resume analysis according to claim 1, characterized in that: After obtaining the resume data of the job seeker, the following steps are also included: If the resume data contains chart information, performing multimodal analysis on the chart information in the resume data to obtain multimodal information of the resume data; The multimodal information is converted into supplementary text information of the resume data.
9. The job recommendation method based on resume analysis according to claim 8, characterized in that: The multimodal analysis of the chart information of the resume data to obtain the multimodal information of the resume data includes: Performing character recognition and page segmentation on the chart information to obtain image data of the chart information; Performing cell semantic analysis on the chart information, extracting column headers, row headers, and cross-cell contents, and obtaining tabular data of the chart information; Perform entity linking of the image data and the table data with a preset skill map to obtain implicit skill descriptions corresponding to the image data and the table data respectively; The implicit skills description is used as the multimodal information of the resume data.
10. A job recommendation system based on resume analysis, characterized in that: include: An acquisition unit, used to acquire resume data of job seekers; a language processing unit, configured to perform natural language processing on the resume data to obtain a plurality of keywords in the resume data, wherein the keywords include skill keywords and job-seeking intention keywords; A field analysis unit, configured to determine the job-seeking field of the job seeker based on the skill keywords and the job-seeking intention keywords; A prediction unit, configured to make a prediction based on the current market recruitment information and current market demand of the job-seeking field, and obtain the future market recruitment information and future market demand of the job-seeking field within a preset future time period; A label generating unit, configured to generate dynamic market labels for all positions in the job-seeking field within the preset future time period, based on the future market recruitment information and the future market demand in the job-seeking field; a matching unit, configured to determine, based on the skill keywords and the job-seeking intention keywords, and in combination with the dynamic market tags, an expected matching degree between the job seeker and each of the positions in the job-seeking field within the preset future time period; A strategy generating unit is used to generate a job recommendation strategy for the job seeker based on the expected matching degree of each job.
Citation Information
Patent Citations
Word vector-based post recommendation method and device and computer equipment
CN116028722A
Information processing method and device, electronic equipment and storage medium
CN117349516A
Automatic job seeking letter generation method and device based on large language model
CN118586362A
Post matching method and device, computer equipment and storage medium
CN118656659A
Dynamic skill evolution prediction and post matching method and system based on big data
CN118917812A
Cited By
Large model-based resume matching method and device and storage medium
CN121579709A