Resume processing method and device, electronic equipment and readable storage medium
By acquiring resume feature vectors and performing clustering, combined with a job feature lexicon and machine learning algorithms, the problem of low efficiency and low accuracy in resume screening in existing technologies is solved. This enables efficient and accurate determination of resume job categories, supporting automated resume screening and talent discovery.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2021-09-08
- Publication Date
- 2026-05-22
AI Technical Summary
Existing resume screening methods require manual intervention, which is inefficient and inaccurate, making it difficult to efficiently and accurately determine the corresponding job category for resumes with unknown job categories.
By obtaining the resume feature vectors of the resume set to be processed, clustering is performed based on the similarity between the resume feature vectors to determine the cluster category. The job category of the unknown resume is determined according to the proportion of each job category in the cluster category. The resume is then classified using a job feature lexicon and machine learning algorithms.
It enables efficient and accurate identification of job categories for resumes with unknown job categories without human intervention, improving the automation efficiency and accuracy of resume screening and meeting practical application needs.
Smart Images

Figure CN115774778B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of computer, big data, cloud technology, machine learning, artificial intelligence and other technical fields. Specifically, this application relates to a resume processing method, apparatus, electronic device and readable storage medium. Background Technology
[0002] Talent plays a crucial role in a company's development, and recruiting suitable candidates is a vital aspect that every company values highly. Establishing a precise and efficient automated resume screening system can significantly improve the efficiency of selecting outstanding talent. Furthermore, screening candidates before the interview stage reduces the introduction of unsuitable candidates, increases interview success rates, and enables intelligent decision-making. Therefore, building an intelligent, efficient, and precise resume screening system is of great significance in practical applications.
[0003] Currently, various resume screening methods exist in existing technologies, but most require experienced human intervention, resulting in poor efficiency and versatility. While some methods can eliminate the need for human intervention, the screening effectiveness is still not ideal. Therefore, existing resume processing methods still need improvement. Summary of the Invention
[0004] The purpose of this application is to provide a resume processing method, apparatus, electronic device, and readable storage medium, based on which the method can accurately and efficiently determine the job category corresponding to the resume.
[0005] On the one hand, embodiments of this application provide a resume processing method, the method comprising:
[0006] Obtain the set of resumes to be processed, which includes first resumes with multiple known job categories and at least one second resume with an unknown job category.
[0007] Obtain the resume feature vector for each resume in the resume set to be processed;
[0008] Based on the similarity between the resume feature vectors of each resume in the resume set to be processed, the resumes in the resume set to be processed are clustered to obtain multiple cluster categories.
[0009] For each cluster category, the target job category corresponding to that cluster category is determined based on the proportion of the first resumes of each job category in the resumes belonging to that cluster category.
[0010] For each second resume, the target job category corresponding to the cluster category to which the second resume belongs is determined as the job category corresponding to the second resume, so that each second resume is processed based on the job category of each second resume.
[0011] Optionally, for each cluster, the target job category corresponding to that cluster is determined based on the proportion of the first resume in each job category among the resumes belonging to that cluster, including:
[0012] Determine the percentage of first resumes in each job category among the resumes belonging to this cluster category;
[0013] For the largest percentage among all percentages, if the largest percentage is not less than the set threshold, then the job category corresponding to the largest percentage is determined as the target job category corresponding to that cluster category.
[0014] On the other hand, embodiments of this application provide a resume processing apparatus, which includes:
[0015] The resume acquisition module is used to acquire a set of resumes to be processed. The set of resumes to be processed includes first resumes with multiple known job categories and at least one second resume with an unknown job category.
[0016] The resume clustering module is used to obtain the resume feature vector of each resume in the resume set to be processed. Based on the similarity between the resume feature vectors of each resume in the resume set to be processed, the resumes in the resume set to be processed are clustered to obtain multiple cluster categories.
[0017] The job category determination module is used to determine the target job category corresponding to each cluster category based on the proportion of first resumes belonging to each job category in the resumes belonging to each cluster category. The target job category corresponding to the cluster category to which each second resume belongs is determined as the job category of each second resume, so that each second resume can be processed based on the job category of each second resume.
[0018] Optionally, the resume clustering module can be used to obtain the resume feature vector of each resume in the resume set to be processed for:
[0019] Obtain a job category feature word library, which includes job feature words for multiple job categories; for each resume in the resume set to be processed, determine the job feature words contained in the resume based on the job category feature word library, and obtain the resume feature vector based on the job feature words contained in the resume.
[0020] Optionally, for each resume in the set of resumes to be processed, the resume clustering module can use the following when obtaining the resume feature vector:
[0021] The resume feature vector is obtained by analyzing the mixed feature vector of each character in the job-related keywords contained in the resume.
[0022] The mixed feature vector of each character in each job feature word is obtained in the following way:
[0023] Obtain the word feature vectors of the job-related feature words, and the character feature vectors of each character in the job-related feature words;
[0024] For each character of the job feature word, a mixed feature vector of the character is obtained by fusing the character feature vector of the character and the word feature vector of the job feature word.
[0025] Optionally, the job category feature word library is extracted from the positive sample resume set of each job category among multiple job categories. The positive sample resume set of each job category includes multiple positive sample resumes; the job feature words of each job category include at least one of the job category's subject words, keywords, or named entities.
[0026] Optionally, the keywords for each job category in the job category feature term library are obtained by the keyword acquisition module in the following ways:
[0027] Extract the resume data of each positive sample resume, and perform word segmentation on the resume data to obtain the words contained in each positive sample resume;
[0028] Based on the first word frequency of each word in the resume data of positive sample resumes for each job category, candidate topic words for each job category are determined from each word segment;
[0029] For each candidate keyword, the topic importance of the candidate keyword is determined based on the second word frequency of the candidate keyword in the resume data of positive sample resumes across all job categories, and the document frequency of the candidate keyword in the resume data of positive sample resumes across all job categories.
[0030] For each job category, the keywords for that job category are determined from the candidate keywords based on their topic importance.
[0031] Optionally, for each candidate keyword, the keyword acquisition module can use the following to determine the topic importance of that candidate keyword:
[0032] Based on the second term frequency and document frequency corresponding to the candidate keyword, determine the initial importance of the candidate keyword; determine the part-of-speech of the candidate keyword; and determine the topic importance of the candidate keyword based on the part-of-speech and initial importance.
[0033] Optionally, for each candidate keyword, the keyword acquisition module, when determining the keyword's topic importance based on its part-of-speech and initial importance, can use the following methods:
[0034] If the part of speech of the candidate keyword is a noun, determine the noun type of the candidate keyword, which is either a proper noun or a common noun. Based on the noun type of the candidate keyword, increase the initial importance of the candidate keyword to obtain the subject importance of the candidate keyword. Among them, the increase in the initial importance of proper nouns is greater than the increase in the initial importance of common nouns.
[0035] Optionally, the candidate keywords for each job category include at least one of the domain terms or general terms for the job category, and the initial importance of any domain term is not less than the maximum value of the initial importance of all general terms.
[0036] Optionally, the candidate keywords for each job category include at least one of the following: domain terms or general terms related to the job category. For each candidate keyword, the keyword acquisition module can use the following to determine the topic importance of that candidate keyword:
[0037] For each domain term, the topic importance of the domain term is determined based on the second term frequency and document frequency corresponding to the domain term, as well as the first maximum document frequency. The first maximum document frequency is the maximum value among the document frequencies corresponding to domain terms of all job categories.
[0038] For each common word, the topic importance of the common word is determined based on the second word frequency, document frequency, and second maximum document frequency corresponding to the common word. The second maximum document frequency is the maximum value among the document frequencies corresponding to common words in all job categories.
[0039] Optionally, the keywords for each job category in the job category feature thesaurus are obtained by the keyword acquisition module in the following ways:
[0040] Extract the resume data of each positive sample resume, and perform word segmentation on the resume data to obtain the words contained in each positive sample resume;
[0041] Determine the third word frequency of each word in the resume data of positive sample resumes for each job category;
[0042] For each word segment and each job category, determine the number of resumes with that word appearing in the resume data of positive sample resumes across all job categories, and the ratio of the number of resumes with that word appearing in the resume data of positive sample resumes in other job categories besides that job category;
[0043] For each job category, the category discrimination ability of a word for that job category is determined by the ratio of the third word frequency of each word corresponding to that job category to the word frequency of that job category.
[0044] Based on the ability of each word segment to distinguish different job categories, keywords for each job category are determined from each word segment.
[0045] Optionally, the resume clustering module can be used to cluster resumes in the resume set to be processed for the following purposes:
[0046] Based on the resume feature vectors of each resume, the similarity between resumes is determined.
[0047] Based on each resume and the similarity between resumes, a graph is constructed, where each resume is a node in the graph. If the similarity between two nodes is greater than or equal to a set threshold, then there is an edge between the two nodes, and the similarity between the two nodes is used as the weight of the edge.
[0048] Based on the weights of each edge in the graph, the transition probabilities between nodes with edges are determined; based on the transition probabilities between nodes in the graph, a clustering method based on random walks is used to divide the nodes in the graph into multiple cluster categories.
[0049] Optionally, the resume retrieval module is also used for:
[0050] Get at least one new resume to be processed for an unknown job category;
[0051] The job category determination module is also used for:
[0052] Determine the number of at least one new resume to be processed. If the number of resumes is less than a set number, obtain the resume feature vector and the category feature vector of each cluster for each new resume to be processed. For each new resume to be processed, determine the cluster to which the new resume belongs based on the similarity between the new resume and the feature vectors of each category. Determine the target cluster to which the new resume belongs as the job category of the new resume to be processed. If the number of resumes is greater than or equal to the set number, construct a new set of resumes to be processed based on at least one new resume to be processed. Cluster the resumes in the new set of resumes to be processed to obtain multiple cluster categories. Determine the target job category of each cluster category based on the proportion of resumes belonging to each known job category in each cluster category. Determine the target job category of each cluster category as the job category of the new resume to be processed.
[0053] Optionally, the job category determination module can be used for:
[0054] Determine the percentage of first resumes in each job category among the resumes belonging to this cluster category; for the largest percentage among all percentages, if the largest percentage is not less than a set threshold, then the job category corresponding to the largest percentage is determined as the target job category corresponding to this cluster category.
[0055] In another aspect, embodiments of this application provide an electronic device including a memory and a processor; the memory is configured to store a computer program; and the processor, when running the computer program, executes the method provided in any optional embodiment of this application.
[0056] On the other hand, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the methods provided in any optional embodiment of this application.
[0057] In another aspect, embodiments of this application provide a computer product that includes a computer program that, when executed by a processor or computer device, implements the steps of the method provided in embodiments of this application.
[0058] In another aspect, embodiments of this application provide a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the resume processing method provided in any of the optional embodiments of this application described above.
[0059] The beneficial effects of the technical solution provided in this application are as follows:
[0060] The resume processing method provided in this application embodiment achieves clustering of resumes containing unknown job categories based on the similarity between a large number of resumes with known and unknown job categories in the resume set to be processed. Since multiple cluster categories are determined based on the similarity between resumes, and the target job category corresponding to each cluster category is determined based on the proportion of resumes with known job categories in each job category among the resumes belonging to this cluster category, the target job category corresponding to this cluster category can well represent the job category of the resumes classified into this category. Based on the solution provided in this application embodiment, the job category of resumes with unknown job categories can be determined efficiently and conveniently, which has great practical value and better meets the needs of actual applications. Attached Figure Description
[0061] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below.
[0062] Figure 1 A flowchart illustrating a resume processing method provided in an embodiment of this application;
[0063] Figure 2A schematic diagram illustrating the principle of obtaining a hybrid feature vector of a character, provided in an embodiment of this application;
[0064] Figure 3 A schematic diagram illustrating a resume processing method provided in an embodiment of this application;
[0065] Figure 4 This is a schematic diagram of a process for obtaining a hybrid feature vector provided in an embodiment of this application;
[0066] Figure 5 This is a schematic diagram of the clustering results of a graph provided in one example of this application;
[0067] Figure 6 This is a schematic diagram of the structure of a resume processing system applicable to the embodiments of this application;
[0068] Figure 7 A flowchart illustrating a resume processing method in a specific application scenario provided in this application;
[0069] Figure 8 This is a schematic diagram of the structure of a resume processing device provided in an embodiment of this application;
[0070] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0071] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain this application, and should not be construed as limiting the invention.
[0072] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the term “comprising” as used in this application means the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. It should be understood that when we say an element is “connected” or “coupled” to another element, it can be directly connected or coupled to the other element, or there may be intermediate elements. Furthermore, “connected” or “coupled” as used herein can include wireless connections or wireless coupling. The term “and / or” as used herein includes all or any units and all combinations of one or more associated listed items.
[0073] Automated resume screening systems have wide applications in job matching, talent screening, and headhunting. Currently, methods for resume screening mainly include matching candidate profiles with job competency tags, matching resumes to jobs based on keywords, and scoring using career scoring models. While these methods can automate resume screening to some extent, the inventors have found at least the following problems:
[0074] Matching resume profiles with job competency tags requires manually creating a competency tag library and then matching the resume's competency profile with the competency tags corresponding to the target job in the library. This method relies on a prior knowledge base of manually created resumes, resulting in low universality. Different job knowledge bases need to be rebuilt, which is very time-consuming and labor-intensive. Keyword-based resume-job matching determines whether a resume meets the job requirements by calculating the match value between the resume and the target job's key criteria and whether the match value reaches a set threshold. This method relies heavily on keywords, leading to inconsistent resume screening accuracy and unsatisfactory results. Furthermore, using a career scoring model for scoring is time-consuming to train and is difficult to meet the timeliness requirements of current resume screening processes in industrial applications.
[0075] Therefore, to address at least one of the problems existing in current resume screening systems and better meet the needs of automated resume processing, this application provides a resume processing method. This method can efficiently and accurately determine the job category corresponding to resumes with unknown job categories. The solution provided in this application can be widely applied to various application scenarios such as human resource system construction, talent targeting, and headhunting of target groups. It has high industrial application value and guiding significance. For example, based on the solution provided in this application, the job categories of a large number of resumes with unknown job categories can be quickly and accurately determined. Then, based on the determined job categories, resumes corresponding to the desired target positions can be selected from a large number of resumes, achieving talent targeting or headhunting.
[0076] Optionally, the resume processing method provided in this application embodiment can be applied to big data processing, such as by implementing cloud technology. The data computation involved in this application embodiment can be performed using cloud computing. For example, the calculation of steps such as clustering large numbers of resumes and calculating the similarity between feature vectors of resumes can be performed using cloud computing. The storage of resumes in this application embodiment can be done using cloud storage; for example, the set of resumes to be processed and the set of positive sample resumes can be stored in the cloud.
[0077] Big data refers to data sets that cannot be captured, managed, and processed within a certain timeframe using conventional software tools. It represents massive, rapidly growing, and diverse information assets that require new processing models to achieve stronger decision-making, insightful discovery, and process optimization capabilities. With the advent of the cloud era, big data has attracted increasing attention. Big data requires specialized technologies to effectively process large amounts of data within a tolerable timeframe. Technologies suitable for big data include massively parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the internet, and scalable storage systems. Among these, cloud technology, based on the cloud computing business model, encompasses network technologies, information technologies, integration technologies, management platform technologies, and application technologies. It can form resource pools, providing on-demand, flexible, and convenient access. Cloud computing technology will become a crucial support.
[0078] Optionally, the solutions provided in this application embodiment can also be implemented based on Artificial Intelligence (AI) technology. For example, the acquisition of word feature vectors for job-related characteristic words and the acquisition of feature vectors for each character in a word can be obtained through feature extraction using a trained neural network. Resume clustering can also be achieved through classification models or by using machine learning methods for resume clustering. Artificial intelligence technology is a comprehensive discipline involving a wide range of fields, including both hardware and software technologies. Basic AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing technology, operating / interactive systems, mechatronics, and other technologies. AI software technologies mainly include computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0079] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0080] Figure 1This illustration shows a flowchart of a resume processing method provided in an embodiment of this application. The method can be executed by any electronic device, such as a terminal device. By executing this method, the terminal device can determine the job category of unknown job categories from a large number of resumes containing both known and unknown job categories, thus achieving automated identification of the job category in the resumes. Subsequent processing can then be performed based on the resumes with determined job categories, such as selecting all resumes of a specific job category as candidate candidates or applying it to recruitment. The method can also be executed by a server, optionally a cloud server. The method can be implemented as a resume processing program or as a plugin or functional module of an existing resume processing program. For example, it can be a new functional module of a recruitment application. By executing the method of this embodiment, the job category of a massive number of resumes can be confirmed, thereby better recommending more suitable candidates to recruiters using the program.
[0081] like Figure 1 As shown in the figure, the resume processing method provided in this application embodiment may include the following steps S110-S140.
[0082] Step S110: Obtain the set of resumes to be processed, which includes first resumes with multiple known job categories and at least one second resume with an unknown job category.
[0083] This application does not limit the specific method of classifying job categories; it can be determined according to actual needs. A job category can correspond to a single specific job, or it can correspond to multiple different jobs, which are grouped into one category according to certain job classification rules. In other words, the granularity of job category classification can be set according to actual application needs. For example, intellectual property engineer can be a job category, and jobs belonging to this category can include domestic patent attorneys, foreign patent attorneys, trademark engineers, and other positions. If a more granular classification is made, each of the above different jobs can be a job category, such as domestic patent attorneys being an independent job category. Optionally, each job can be considered a job category.
[0084] The aforementioned first resumes for multiple known job categories include multiple first resumes for each of the multiple job categories. Optionally, each first resume can have a tag, which represents the job category corresponding to that resume. For example, the resume set to be processed includes 50 resumes with tag 1 and 60 resumes with tag 2. Tag 1 corresponds to job category A, and tag 2 corresponds to job category B. That is, the resume set includes 50 resumes for job category A and 60 resumes for job category B. The second resumes with unknown job categories are those for which the job category needs to be determined.
[0085] Optionally, the first resume in this embodiment is a resume that meets preset requirements, specifically a qualified resume. The method for screening the first resume is not limited in this embodiment and can be configured according to actual needs. Optionally, for each job category, positive and negative sample sets can be divided according to preset rules based on the resumes of historical and current employees of that job category. The rules for screening positive and negative samples can be flexibly set according to the scenario requirements, and the resumes in the positive sample set are used as the first resume for that job category.
[0086] As an example, suppose the preset rules for filtering positive and negative sample sets are as follows:
[0087] Resumes of employees who have been employed in a position for more than the preset number of years (e.g., 3 years) and whose performance evaluations during their employment meet the requirements are considered positive samples for the job category to which the position belongs, i.e., qualified resumes.
[0088] Resumes of employees who leave the position within a specified period (which can be set to 2 years) or whose performance evaluations during their tenure do not meet the requirements are considered negative samples for the position category, i.e., unqualified resumes.
[0089] The criteria for determining whether the assessment results meet the requirements can be configured according to needs. For example, if the percentage of qualified assessments during employment is higher than or equal to the preset assessment threshold (e.g., 0.9 or 1), the assessment results are considered to meet the requirements. If the percentage of unqualified assessments during employment is higher than or equal to the preset assessment threshold (e.g., 0.5), the assessment results are considered to not meet the requirements.
[0090] By acquiring multiple qualified resumes from various job categories to construct a resume set to be processed, in subsequent processing, better resume clustering results can be obtained based on the basic data that better meets the application requirements (i.e., the first resume with known job categories). This allows for a better determination of the job category of resumes with unknown job categories based on the clustering results.
[0091] Step S120: Obtain the resume feature vector of each resume in the resume set to be processed; based on the similarity between the resume feature vectors of each resume in the resume set to be processed, cluster the resumes in the resume set to be processed to obtain multiple cluster categories;
[0092] The resume feature vector, also known as resume features, is mentioned here. The specific method for obtaining these resume features is not limited in this embodiment. Optionally, each resume feature can be extracted using a trained neural network model, such as a trained convolutional neural network model or a long short-term memory network.
[0093] In an optional embodiment of this application, for each resume (first resume or second resume) in the resume set to be processed, obtaining the resume feature vector of that resume may include:
[0094] Based on the modular information structure of the resume, extract resume data for at least one target information module from the resume;
[0095] Based on the resume data of each target information module extracted from the resume, the resume feature vector of the resume is obtained.
[0096] In practical applications, the significant difference between resume text and other texts lies in its hierarchical and modular structure. Resumes typically include multiple information modules, such as basic personal information, job objective, education, work experience (project experience), self-evaluation, professional skills, awards, etc. However, some modules contain information that is not significantly relevant to the job category. Therefore, to reduce data processing volume and improve the expressive power of resume feature vectors, resume data can be filtered to remove modules that are not significantly relevant to the job category (i.e., non-target information modules). In other words, only the specific content of the target information modules (modules significantly relevant to the job category) can be extracted (i.e., resume data). Further processing based on this content yields the resume's feature vector.
[0097] Specifically, the modules that can be filtered out can be set based on one or more of the following: experience, experimental data, or actual needs. Optionally, non-target information modules can include: basic information modules (name, gender, date of birth, address, mobile phone number, email, etc.), job intentions (desired position, expected salary, etc.), etc.
[0098] Optionally, after extracting the resume data from each target information module, this data can be preprocessed to further remove data that has little or no impact on determining the job category. Then, the feature vector of the resume can be determined based on the preprocessed data. Preprocessing methods can include various approaches. For example, regular expressions can be used to filter time information in the resume data from each target information module. For instance, in the work experience module, resume data might include information such as holding position b at company a from 2018 to 2020. This time information has no impact on determining the job category and can be removed.
[0099] For each first resume and each second resume, the resume data corresponding to each resume can be obtained through the above processing method. Then, the feature vector of each resume can be obtained based on the resume data of each resume.
[0100] After obtaining the feature vector of each resume, these resumes can be classified based on the similarity between their feature vectors, resulting in multiple different cluster categories (also known as clusters, communities, etc.). Since the feature vector of a resume is obtained based on its content, resumes with similar content can be grouped into a single cluster category. This clustering method categorizes resumes according to their content, providing a foundation for subsequently determining the job category of resumes with unknown job positions.
[0101] The specific method used for clustering is not limited in this application embodiment; any existing clustering method can be used, such as classification models for resumes or other clustering algorithms. For example, a graph can be constructed based on the similarity between resumes and the feature vectors of each resume, with each resume corresponding to a node in the graph. The similarity is used to determine whether there are edges between nodes. Then, based on the constructed graph and the resume feature vectors corresponding to each node, a neural network model can be used to classify the nodes and obtain multiple cluster categories.
[0102] Step S130: For each cluster category, determine the target job category corresponding to the cluster category based on the proportion of the first resumes of each job category in the resumes belonging to that cluster category.
[0103] Step S140: For each second resume, determine the target job category corresponding to the cluster category to which the second resume belongs as the job category corresponding to the second resume.
[0104] In step S120, the large number of resumes in the resume set to be processed are divided into multiple different clusters. Each cluster contains at least one resume, meaning that there is at least one resume belonging to each category. Since the content similarity between resumes belonging to the same cluster should be relatively high, if the proportion of the first resume of a certain job category in a cluster is large, it means that the resumes of that job category are more likely to belong to that cluster. Therefore, based on the proportion of the first resume of each job category in all resumes belonging to this cluster, the job category with the large proportion can be determined as the target job category corresponding to this cluster. In other words, the job category of the resumes assigned to this cluster is very likely to be the job category with the large proportion.
[0105] Therefore, after clustering, the target job category corresponding to the cluster can be determined based on the proportion of first-level resumes belonging to each job category within that cluster. For second-level resumes with unknown job categories, the corresponding job category can be determined as the target job category of the cluster to which that resume belongs.
[0106] For example, for a cluster, after determining the proportion of first-resume entries for each job category in the resumes of that cluster, the job category corresponding to the largest proportion can be identified as the target job category for that cluster. If a resume with an unknown job category belongs to this cluster, then the job category of that resume can be identified as the target job category for that cluster. As an example, suppose a cluster contains 8 first-resume entries for job category 'a', 1 first-resume entry for job category 'b', and 1 second-resume entry for an unknown job category. In this case, the resumes for job category 'a' have the largest proportion, so the target job category for this cluster is job category 'a', and the job category of the second resume is identified as job category 'a'.
[0107] Optionally, for each cluster category, the target job category corresponding to that cluster category is determined based on the proportion of the first resumes of each job category among the resumes belonging to that cluster category. This can include:
[0108] Determine the percentage of first resumes in each job category among the resumes belonging to this cluster category;
[0109] For the largest percentage among all percentages, if the largest percentage is not less than the set threshold, then the job category corresponding to the largest percentage is determined as the target job category corresponding to that cluster category.
[0110] To improve the accuracy of resume job category identification, certain requirements can be used to determine the target job category for each cluster. If the proportion of resumes in a particular job category is the largest within a cluster, and this proportion is not less than a set threshold, then that job category can be used as the target job category for that cluster. The threshold value can be set according to needs. A higher threshold results in higher accuracy in identifying the job category for resumes with unknown job categories. However, an excessively high threshold may prevent a cluster from having a corresponding target job category, thus making it impossible to determine the job category for resumes belonging to that cluster with unknown job categories. Therefore, the threshold can be configured based on one or more of the following: actual needs, empirical values, or experimental values.
[0111] Of course, in practical applications, if there is no percentage greater than or equal to a set threshold among the various percentages corresponding to a certain cluster category, that is, if the corresponding target job category cannot be determined, other methods can be used to determine the job category of the resumes belonging to the unknown job category that are classified into this cluster category. For example, the feature vector of the job category can be determined based on the resume feature vector of the first resume of each job category (such as the mean of the resume feature vectors of all first resumes belonging to this job category). By calculating the similarity between the feature vector of the resume of the unknown job category and the feature vectors of each job category, the job category corresponding to the maximum similarity is determined as the job category of the resume of the unknown job category.
[0112] As an optional approach, the threshold can be set to 60%. If a cluster contains 8 first resumes for job category a, 1 first resume for job category b, and 1 second resume for an unknown job category, then the proportion of resumes for job category a is at most 80%, and 80% > 65%. Therefore, the target job category corresponding to this cluster is job category a.
[0113] Optionally, after determining the job category of each second resume, each second resume can be processed according to the job category. The specific processing method can be configured according to actual needs. For example, it can be to classify each second resume according to job category, or to filter out resumes of specific job categories from each second resume, etc.
[0114] The resume processing method provided in this application can cluster a large number of resumes into multiple clusters based on the similarity between resumes with known and unknown job categories in a resume set. Based on the proportion of resumes belonging to each cluster that fall within the known job categories of each job category, the target job category corresponding to each cluster is determined. This allows for the determination of the job category of resumes belonging to the unknown job categories within each cluster. This approach enables the classification of a large number of resumes containing resumes with unknown job categories based on the similarity between resumes. Since multiple clusters are determined based on the similarity between resumes, and the target job category corresponding to each cluster is determined based on the proportion of resumes belonging to the known job categories of each job category within that cluster, the target job category corresponding to that cluster can effectively represent the job category of the resumes classified into that category. This allows for convenient and quick determination of the job category of resumes with unknown job categories.
[0115] Furthermore, in the method of this application embodiment, when performing clustering based on the similarity between resumes, since the resume set contains both resumes with known job categories and resumes with unknown job categories, that is, when determining the job category of resumes with unknown job categories, this scheme considers the correlation between resumes with known job categories and the correlation between resumes with known job categories and resumes with unknown job categories. Therefore, the accuracy of the job category determined for resumes with unknown job categories is also well guaranteed.
[0116] Furthermore, based on the method provided in this application embodiment, it is possible to quickly determine the job categories corresponding to a large number of resumes with unknown job categories without the need for manual / expert construction of a prior knowledge base. This provides excellent technical support for further processing of the resumes and enables automated resume screening without manual intervention. For example, based on the job categories corresponding to all the determined second resumes, these second resumes can be classified and processed according to job categories. Resumes of the required job categories can be obtained according to the needs of the company, or the server can push resumes of the corresponding job categories to different companies according to the needs of the hiring company.
[0117] In an optional embodiment of this application, obtaining the resume feature vector of each resume in the resume set to be processed may include:
[0118] Obtain a job category feature word library, which includes job feature words for multiple job categories;
[0119] For each resume in the set of resumes to be processed, the job feature words contained in the resume are determined according to the job category feature word library, and the resume feature vector of the resume is obtained based on the job feature words contained in the resume.
[0120] Among them, job characteristic words of a job category can be understood as words that can be used to distinguish this job category from other job categories. In other words, they are representative words for this job category, words that are relatively likely to appear in resumes of this job category, or proprietary words in the establishment of this job category.
[0121] Optionally, the job descriptions for each job category may include at least one of the following: job category keywords, key terms, or named entities.
[0122] In this context, for a text, keywords can be understood as words that represent the main content of the text, or at least a portion thereof, i.e., words representing the central idea / main content / theme of the text. Correspondingly, in this embodiment, a keyword for a job category refers to words that represent that job category, i.e., words with strong job category differentiation capabilities. This may include commonly referred to job keywords, and may also include non-keywords. Determining whether a word is a keyword for a job category can be based on its importance to that job category (the extent to which the word contributes to determining whether a resume belongs to that job category). Specific measurement criteria can be determined based on needs or experience. Keywords typically need to satisfy one or more of the following principles: practicality (meeting the requirements of indexed and retrieved texts), accuracy (accurately expressing the meaning of concepts), and universality (generally accepted terms).
[0123] Keywords can be simply understood as important words. In this application embodiment, keywords refer to job category keywords, that is, words that have the ability to distinguish job categories. For example, a word that frequently appears in resumes of one job category but less frequently appears in resumes of other job categories can be used as a keyword for that job category.
[0124] Named entities refer to entities identified by names; more broadly, they can include numbers, addresses, and so on. In this embodiment, a named entity for a job category refers to the named entities appearing in resumes for that job category, such as company names. Named entity terms appearing in resume text often play an important role in job screening and differentiation. Therefore, a Named Entity Recognition (NER) algorithm can be used to perform named entity recognition on sample resumes for each job category, thereby obtaining the named entities corresponding to each resume category.
[0125] For each resume in the dataset, we can determine which job-related keywords are present in the resume based on the job category feature word library. Then, we can obtain the resume's feature vector based on these keywords. For example, we can extract the feature vector using a neural network model based on these job-related keywords. Since the job category feature word library contains representative words that distinguish different job categories, the feature vector obtained in this way can effectively represent the characteristics of resume text within that category. Therefore, after clustering based on the feature vectors of a large number of resumes, the target job category corresponding to each cluster can effectively represent the job category of resumes belonging to that cluster.
[0126] In an optional embodiment of this application, the job category feature word library can be extracted based on the positive sample resume set of each job category among multiple job categories, and the positive sample resume set of each job category includes multiple positive sample resumes.
[0127] In this context, the positive sample resumes in each job category's positive sample resume set refer to resumes that meet the job requirements for that job category. These requirements can be configured according to actual needs. Optionally, the positive sample resumes for a job category refer to the qualified resumes for that job category, that is, the qualified resumes among those belonging to this job category. The explanation of qualified resumes can be found in the previous text and will not be repeated here.
[0128] By obtaining job feature words for each job category from a set of positive sample resumes across multiple job categories, we can avoid the problem of job feature words containing non-job feature words, which may be included in unqualified resumes. This ensures that the job feature words in the job category feature word library have good job category discrimination capabilities, providing a better foundation for determining the resume feature vector of each resume in the resume set to be processed based on this feature word library.
[0129] In this embodiment of the application, the positive sample resumes in the positive sample resume set and the first resumes of known job categories in the resume set to be processed can be the same or different. That is to say, multiple first resumes in the resume set to be processed can be resumes from positive sample resume sets of multiple job categories.
[0130] In an optional embodiment of this application, the keywords for each job category in the job category feature term library can be obtained in the following ways:
[0131] Extract the resume data of each positive sample resume, and perform word segmentation on the resume data to obtain the words contained in each positive sample resume;
[0132] Based on the first word frequency of each word in the resume data of positive sample resumes for each job category, candidate topic words for each job category are determined from each word segment;
[0133] For each candidate keyword, the topic importance of the candidate keyword is determined based on the second word frequency of the candidate keyword in the resume data of positive sample resumes across all job categories, and the document frequency of the candidate keyword in the resume data of positive sample resumes across all job categories.
[0134] For each job category, the keywords for that job category are determined from the candidate keywords based on their topic importance.
[0135] For each positive sample resume, the resume data can be all the resume data in the resume, i.e., the content of the entire text, or it can be preprocessed resume data. Optionally, the resume data of each positive sample resume can be the resume data in the target information module of the resume extracted using the method described above, or it can be the data after further processing of the resume data in the extracted target information module.
[0136] Term frequency refers to the number of times a given word appears in a document / document set. It can be used to assess the degree of repetition of a word in a document or a domain document set in a corpus. To prevent it from being biased towards long documents, this number is usually normalized.
[0137] In this embodiment of the application, for a word segment, the first word frequency refers to the number of times the word appears in the resume data of positive sample resumes for each job category. The second word frequency refers to the number of times the word appears in the resume data of positive sample resumes across all job categories. For a job category, the first word frequency of a word segment in the resume data of positive sample resumes for that category can be represented as follows:
[0138]
[0139] The second word frequency of a segmented word in the resume data of positive sample resumes across all job categories can be represented as follows:
[0140]
[0141] In the above two expressions, "category" refers to job category, "resume" refers to positive sample resume, and "total number of all word segments" is the total number of word segments that appear.
[0142] The document frequency of a word represents the number of documents in which that word appears in a given set of documents. In this embodiment of the application, the document frequency of a candidate keyword appearing in the resume data of positive sample resumes across all job categories represents the number of texts in all positive sample resumes across all job categories that contain the candidate keyword. Optionally, the document frequency can be determined based on the ratio of the number of positive sample resumes containing the candidate keyword to the total number of positive sample resumes; for example, this ratio can be directly used as the document frequency.
[0143] For each word segment, its importance to different job categories can be determined by comparing its frequency across these categories. If the word has a high frequency (first word frequency) in one job category but a low frequency in others, it is more likely to be a keyword for that job category. Therefore, based on the first word frequency of each word segment corresponding to different job categories, candidate keyword terms for each job category can be determined. The second word frequency reflects the frequency of a word appearing in resumes across all job categories, while document frequency measures the general importance of a word across all resume categories. A high second word frequency indicates the word might be important, but a high document frequency suggests it appears frequently in every resume across all categories, making it less effective at differentiating job categories. Therefore, after identifying candidate keyword terms for each job category, the keyword importance can be further determined based on its second word frequency and document frequency. This indicates the likelihood of the word being a keyword for that resume category, representing its ability to differentiate job categories.
[0144] The specific method for determining the topic importance of a candidate topic term based on its second term frequency and document frequency can be configured according to requirements. For example, the topic importance can be represented by the ratio of the second term frequency to the document frequency.
[0145] Optionally, candidate keywords for each job category may include at least one of the following: domain terms or general terms related to the job category.
[0146] In this context, "domain terms" refer to proprietary vocabulary within a specific field. In this embodiment, domain terms can be understood as proprietary vocabulary specific to a particular job category in a resume—words that are likely to appear in a resume for that job category but rarely appear in resumes for other job categories. "Common terms" refer to words that appear less frequently than domain terms, but whose frequency in resumes for that job category is still higher than their frequency in resumes for other job categories. By distinguishing between domain terms and common terms, a more granular classification of word types can be achieved, allowing for more targeted selection of keywords for each job category.
[0147] In practical applications, each word segment can be categorized based on its thematic importance. Optionally, words can be divided into three types: domain words, general words, and irrelevant words. Specifically, if a word segment has a high frequency in a certain job category but a low frequency in other job categories, it can be considered a domain word for that job category. If the frequency of a word segment varies little across job categories, it can be identified as an irrelevant word; otherwise, it is identified as a general word. Specifically, the type of a word can be determined by setting a frequency threshold (i.e., a word frequency threshold). For example, a first threshold and a second threshold can be set. If the difference between the first word frequency of a word corresponding to a job category and the first word frequency of the word corresponding to all other job categories outside of that job category is not less than the first threshold, then the word is considered to belong to the domain of that job category. If the difference between the first word frequencies of a word corresponding to each job category is less than the second threshold, then the word is considered to be an irrelevant word. If the difference between the first word frequency of a word corresponding to a job category and the first word frequency of the word corresponding to each other job categories outside of that job category is greater than the third threshold but less than the first threshold, then the word is considered to belong to the common word of that job category.
[0148] Optionally, when candidate keywords can be further subdivided into domain terms and general terms, the determination of the topic importance of each candidate keyword based on its second word frequency in positive sample resumes across all job categories and its document frequency in positive sample resumes across all job categories may include:
[0149] For each domain term, the topic importance of the domain term is determined based on the second term frequency and document frequency corresponding to the domain term, as well as the first maximum document frequency. The first maximum document frequency is the maximum value among the document frequencies corresponding to domain terms of all job categories.
[0150] For each common word, the topic importance of the common word is determined based on the second word frequency and document frequency corresponding to the common word, as well as the second maximum document frequency, where the second maximum document frequency is the maximum value among the document frequencies corresponding to common words in all job categories.
[0151] In other words, for different types of candidate keywords, the topic importance of the keyword can be determined using corresponding methods based on whether it is a domain term or a general term. The first and second maximum frequencies can serve as benchmark parameters / reference values for determining the topic importance of candidate keywords of a given type. This scheme can be understood as a normalization process for the document frequencies corresponding to candidate keywords; for example, the ratio of the maximum document frequency to the document frequency corresponding to the candidate keyword can be used as a normalized document frequency for that candidate keyword.
[0152] In an optional embodiment of this application, for each candidate keyword, determining the topic importance of the candidate keyword based on the second word frequency of the candidate keyword in positive sample resumes across all job categories and the document frequency of the candidate keyword in positive sample resumes across all job categories may include:
[0153] The initial importance of the candidate keyword is determined based on the second term frequency and document frequency corresponding to the candidate keyword.
[0154] Determine the part of speech of the candidate keyword;
[0155] The topic importance of the candidate keyword is determined based on its part of speech and initial importance.
[0156] In practical applications, words with different parts of speech typically have different probabilities of being considered topic terms. In most cases, nouns are more likely to represent a topic than verbs. To better determine the topic importance of candidate topic terms in the segmentation results, the part of speech of the candidate topic terms can be further considered. For example, the initial importance of a candidate topic term can be determined based on its second word frequency and document frequency, and this initial importance can be adjusted up or down according to its part of speech to obtain the topic importance of the candidate topic term. Optionally, if the candidate topic term is a noun, the initial importance can be increased; for example, a weight greater than 1 can be pre-configured, and if it is a noun, this weight can be applied to the initial importance to obtain the topic importance. Of course, the initial importance of candidate topic terms with non-noun parts of speech can also be decreased to achieve the purpose of adjusting the topic importance of candidate topic terms according to their part of speech.
[0157] Optionally, for a candidate keyword, determining its topic importance based on its part-of-speech tag and initial importance may include:
[0158] If the part of speech of the candidate keyword is a noun, determine the noun type of the candidate keyword, wherein the noun type is a proper noun or a common noun;
[0159] Based on the noun type of the candidate keyword, the initial importance of the candidate keyword is increased to obtain the subject importance of the candidate keyword. Among them, the initial importance of proper nouns is increased to a greater extent than that of common nouns.
[0160] In this alternative approach, considering that in practical applications, proper nouns are more likely to represent topics than common nouns, and nouns are more likely to represent topics than verbs, this alternative approach further differentiates the types of nouns to achieve more targeted and practical adjustments to the importance of candidate topic terms in order to better rank the topic representation of the segmentation results. For example, a weight can be assigned to proper nouns and common nouns respectively, with the weight of proper nouns being greater than that of common nouns. The initial importance can be adjusted by weighting the initial importance using these weights. Alternatively, a first weight can be assigned to a noun and a second weight to a proper noun. If a candidate topic term is a noun, its initial importance can be weighted using the first weight; if the candidate topic term is a proper noun, its initial importance can be weighted again using the second weight.
[0161] In addition, as described above, candidate keywords for a job category can include at least one of domain terms or general terms. Domain terms appear more frequently in resumes for a job category than general terms. Therefore, as an option, in practical applications, the initial importance of any domain term can be no less than the maximum initial importance of all general terms.
[0162] After determining the topic importance of each candidate keyword for each job category, keywords for each job category can be selected from the candidate keywords according to their topic importance, in descending order. For example, for each job category, a certain number of candidate keywords ranked highest in terms of topic importance can be selected as the keywords for that job category, or candidate keywords with a topic importance greater than a certain threshold can be selected as the keywords for that job category.
[0163] In an optional embodiment of this application, the keywords for each job category in the job category feature term library can be obtained through the following methods:
[0164] Extract the resume data of each positive sample resume, and perform word segmentation on the resume data to obtain the words contained in each positive sample resume;
[0165] Determine the third word frequency of each word in the resume data of positive sample resumes for each job category;
[0166] For each word segment and each job category, determine the number of resumes with that word appearing in the resume data of positive sample resumes across all job categories, and the ratio of the number of resumes with that word appearing in the resume data of positive sample resumes in other job categories besides that job category;
[0167] For each job category, the category discrimination ability of a word for that job category is determined by the ratio of the third word frequency of each word corresponding to that job category to the word frequency of that job category.
[0168] Based on the ability of each word segment to distinguish different job categories, keywords for each job category are determined from each word segment.
[0169] Optionally, for each job category, a word segment corresponding to the category discrimination ability of that job category can be the product of the third word frequency of the word segment corresponding to that job category and the ratio of the word segment to that job category. In this optional scheme, the third word frequency is the same as the first word frequency in the other optional embodiments described above, that is, the frequency of a word appearing in positive sample resumes of a certain job category.
[0170] Alternatively, the TF-IDF (termfrequency-inverse document frequency) of a word in a set of positive sample resumes for a specific job category can be used to characterize the word's ability to distinguish that job category. The optional scheme provided in this application improves the existing IDF calculation method to more accurately measure the word's ability to distinguish a job category. Instead of directly calculating the IDF in the existing method, it no longer considers the number of resumes containing that word in the job category when determining the IDF. That is, it doesn't consider how many resumes in the positive sample resumes of that job category contain that word. Through this improvement, the fewer resumes in other job categories that contain that word, and the more resumes in all job categories that contain that word, the more frequently the word appears in the resumes of that job category, and the better it appears in other job categories. Based on this optional scheme, the larger the ratio of these numbers, the greater the likelihood that the word has a good ability to distinguish the job category. Therefore...
[0171] Based on the solution provided in this application embodiment, the category differentiation ability of a word segment for each job category can be determined more accurately, thereby allowing the selection of keywords for each job category based on the differentiation ability of each word segment for each category.
[0172] Optionally, after determining the category discrimination ability of each word segment corresponding to each job category, for each job category, a certain number of words ranked first can be used as keywords for that job category, in descending order of their category discrimination ability. Alternatively, words with category discrimination ability greater than a certain threshold can be used as keywords for that job category.
[0173] Understandably, in practical applications, the execution order of determining keywords and terms can be arbitrary, or one step can be executed before the next. If a sequential execution method is adopted, such as determining keywords first and then terms, then after determining the keywords for each job category, the keywords for each job category can be determined from the word segments other than the keywords for each job category, thus reducing the amount of data processing. Furthermore, when different optional embodiments are used in combination, if the different embodiments contain the same processing method, they only need to be executed once. For example, if determining keywords and terms requires word segmentation and determining the word frequency of each word corresponding to each job category, then this step only needs to be executed once.
[0174] In an optional embodiment of this application, for each job feature word, the method further includes:
[0175] Obtain the word feature vector of the job title's feature words, and the character feature vector of each character in the job title's feature words;
[0176] For each character of the job title feature word, the character feature vector of the character and the word feature vector of the job title feature word are fused to obtain the character's hybrid feature vector;
[0177] For each resume in the set of resumes to be processed, the step of obtaining the resume feature vector based on the job-related keywords contained in the resume includes:
[0178] The resume feature vector is obtained by analyzing the mixed feature vector of each character in the job-related keywords contained in the resume.
[0179] The meaning of a character can vary depending on the language. For example, in Chinese, a character can refer to a word, while in English, a character can refer to the letter in an English word.
[0180] In this embodiment of the application, for each job feature word in the job category feature word library, features can be extracted from the granularity of "character" and "word" respectively to obtain two feature representations of different granularities corresponding to the word, namely the character feature vector of each character in the job feature word and the word feature vector of the feature word. Then, for each character, the character feature vector of the character and the word feature vector of the feature word to which the character belongs can be concatenated to obtain a hybrid feature vector of the character with better feature expression ability.
[0181] Correspondingly, when obtaining the resume feature vector based on the job feature words contained in each resume, a resume feature vector with better feature expression ability can be obtained based on the mixed feature vector of each character in each job feature word contained in the resume.
[0182] In practical applications, the specific method for fusing the character feature vector of each character with the word feature vector of its corresponding job term is not limited in this embodiment. For example, it can be done by adding the character feature vector of the character and the corresponding word feature vector (add, adding the feature values / element values at corresponding positions in the character feature vector and the word feature vector) or by concatenating them to obtain the mixed feature vector of the character. When using the addition method, the dimensions of the character feature vector of each character and the word feature vector of the feature word should be the same, that is, the lengths of the two vector sequences should be the same. When using the concatenation method, the dimensions of the character feature vector of each character and the word feature vector of the feature word can be the same or different.
[0183] In practical applications, as an optional approach, one can train a character vector model (character-centric) and a word vector model (word-centric) based on the training corpus using Word2vec (a model used to generate word vectors). After obtaining the trained character vector model and word vector model, for a resume, the corresponding character vector and word feature vector for each job-related feature word can be obtained through these two models, and then concatenated to obtain the mixed feature vector for each character.
[0184] As an example, Figure 2The figure shows a schematic diagram of a method for obtaining a mixed feature vector of characters provided by an embodiment of the present application. In this example, the word is "resume". When the word is segmented into characters, the two characters "jian" and "li" included in the word can be obtained. The word feature vector of "resume" (the word vector shown in the figure) can be obtained through a word vector model, and the character feature vectors of "jian" and "li" (the character vectors shown in the figure) can be obtained through a character vector model. By concatenating (⊕ shown in the figure) the word vector of "resume" and the character vector of "jian", the mixed feature vector of "jian" can be obtained. By concatenating the word vector of "resume" and the character vector of "li", the mixed feature vector of "li" can be obtained.
[0185] During implementation, in order to obtain word feature vectors that are aligned with the number of character feature vectors, each word needs to be repeatedly encoded (which can also be understood as reused), and the number of repetitions is the number of characters that make up the word. For example, in the above example, the word vector of "resume" needs to be used twice, and is respectively fused with the character vectors of "jian" and "li".
[0186] After obtaining the mixed feature vectors of each character of each job feature word, the specific method for obtaining the resume feature vector of a resume based on the mixed feature vectors of each character in each job feature word included in a resume is not limited in the embodiments of the present application. For example, for each job feature word included in the resume, the word feature vector of the job feature word can be obtained by fusing the mixed feature vectors of each character in the job feature word, and then the resume feature vector of the resume can be obtained by fusing the word feature vectors of each job feature word. Among them, the above fusion can include but is not limited to addition (add, adding the feature words at the corresponding positions in multiple word feature vectors), averaging after addition, etc. Optionally, it can also be that after obtaining the word feature vectors of each job feature word by fusing the mixed feature vectors, further feature extraction is performed based on these word feature vectors of the job feature words to obtain the resume feature vector.
[0187] After obtaining the resume feature vector of each resume, the similarity between resumes can be obtained by calculating the similarity between the resume feature vectors of different resumes, and based on the calculated similarity between different resumes, clustering processing of all resumes in the to-be-processed resume set can be realized.
[0188] In an optional example of the present application, clustering the resumes in the to-be-processed resume set based on the similarity between the resume feature vectors of each resume in the to-be-processed resume set to obtain multiple clustering categories may include:
[0189] Based on the resume feature vectors of each resume, determine the similarity between each resume;
[0190] Based on each resume and the similarity between them, a graph is constructed, wherein each resume is a node in the graph. If the similarity between two nodes is greater than or equal to a set threshold, then there is an edge between the two nodes, and the similarity between the two nodes is used as the weight of the edge.
[0191] Based on the weights of each edge in the graph, the transition probabilities between nodes with connected edges are determined.
[0192] Based on the transition probabilities between nodes in the graph, a random walk-based clustering method is used to divide the nodes in the graph into multiple cluster categories.
[0193] This optional embodiment of the application provides a graph-based clustering scheme that uses resumes as nodes in the graph and determines whether there are edges between nodes based on the similarity between resumes. The transition probability between two nodes in the graph can be understood as the probability of transitioning from one node to both nodes. The weight of the edge between two nodes is the similarity; the larger the weight, the stronger the relationship between the two nodes, i.e., the closer they are, and the higher the transition probability between the nodes. Specifically, for two nodes a and b with an edge, the transition probability of nodes a and b can be determined based on the weight w1 of the edge between nodes a and b, and the sum w2 of the weights of all edges corresponding to node b, which can be the ratio of the two.
[0194] After determining the transition probabilities between nodes, a random walk-based clustering method can be used to divide the nodes in the graph into multiple clusters. Nodes belonging to the same cluster have a higher correlation, while nodes belonging to different clusters have a weaker correlation. In practice, this application does not limit the specific random walk-based clustering method used. For example, an InfoMap-based clustering method (also known as map equation) can be used. This algorithm can construct a graph network model to divide each resume (i.e., each node in the graph) in the resume set to be processed into communities.
[0195] In an optional embodiment of this application, the method may further include:
[0196] Get at least one new resume to be processed for an unknown job category;
[0197] Determine the number of resumes to be processed at least once new;
[0198] If the number of resumes is less than the set number, the resume feature vector and the category feature vector of each cluster category are obtained for each new resume to be processed. For each new resume to be processed, the cluster category to which the new resume belongs is determined based on the similarity between the new resume to be processed and the category feature vector of each category. The target cluster category corresponding to the cluster category to which the new resume belongs is determined as the job category of the new resume to be processed.
[0199] If the number of resumes is greater than or equal to the set number, a new set of resumes to be processed is constructed based on at least one new resume to be processed. The resumes in the new set of resumes to be processed are clustered to obtain multiple cluster categories. Based on the proportion of resumes belonging to each cluster category in the known job categories, the target job category of each cluster category is determined. The target job category corresponding to the cluster category to which each new resume to be processed belongs is determined as the job category of the new resume to be processed.
[0200] Based on this scheme, after performing resume clustering at least once on the set of resumes to be processed and determining the target job category corresponding to each cluster, if new resumes with unknown job categories are subsequently obtained, different processing methods can be adopted according to the number of resumes that need to be processed at this time. If the number is large, the process can be repeated to ensure the effect. Figure 1 The method shown here, at this time, the new set of resumes to be processed contains these new resumes that need to be processed and resumes of multiple known job categories (which may include other resumes mentioned above). If the number is small, the cluster category to which the resume belongs can be determined based on the distance between the resume and the cluster center of each cluster category (i.e., the similarity mentioned above). Based on the category to which the resume belongs, the corresponding job category of the resume can be predicted. This method can achieve a good balance between saving computing resources and ensuring processing results.
[0201] Based on the resume processing method provided in this application embodiment, the efficiency of resume processing can be effectively improved, better meeting the needs of practical applications. This method can be applied to scenarios related to resume screening and talent matching system construction, including but not limited to human resource system construction, target position / job talent screening, and target position headhunting. For example, in human resource system construction, establishing an intelligent resume screening system based on the method provided in this application embodiment can greatly improve company recruitment efficiency and reduce human resource screening input and interview costs; in headhunting applications for identifying target job groups, the method provided in this application embodiment can identify suitable candidates for target positions and conduct targeted headhunting, maximizing cost-effectiveness.
[0202] In practical applications, the original set of resumes to be processed can be updated periodically or when a certain number of resumes with known job categories and resumes with unknown job categories are obtained, based on actual needs. The target job category corresponding to each cluster center can be re-determined through re-clustering, and the job category of resumes with unknown job categories can be determined based on the results at this time.
[0203] The solution provided in this application embodiment has at least the following advantages compared with the prior art:
[0204] (1) In this embodiment of the application, by establishing the relationship between the known qualified sample library (i.e., resumes with known job analogies) and the unknown sample (i.e., resumes with unknown job categories), the job category of the unknown sample can be determined according to the preset rules and the known qualified sample library, thereby providing technical support for the screening of job categories based on resumes.
[0205] (2) The method of constructing the job category feature word library provided in this application embodiment can increase the accuracy of extracting job feature words of different job categories. Based on this word library, a resume feature vector with better feature expression ability can be obtained, which provides a good foundation for subsequent resume clustering and further processing.
[0206] (3) In the optional scheme provided in this application, a sequence can be generated by constructing a graph and constructing the transition probability between nodes in the graph. Then, the sequence can be hierarchically encoded to minimize the information entropy and optimize the average encoding length. This scheme can achieve automatic resume screening / classification by constructing the association between resumes and learning the resume relationship network. Optionally, a job / job category-resume distribution graph model based on the InfoMap algorithm can be constructed to achieve automatic resume classification and further realize the automatic identification of job categories of unknown samples.
[0207] (4) The method provided in this application does not require the construction of an expert prior knowledge base. The system can build an automated resume intelligent screening system that does not require human intervention, and has good operability in industry.
[0208] To illustrate the solution provided in this application more systematically, a specific embodiment of this application will be described in detail below with reference to a specific example.
[0209] Figure 3 The diagram below illustrates a flowchart of the resume processing method provided in this embodiment. Figure 3As shown, this embodiment mainly includes several parts: dividing the resumes into positive and negative sample sets according to preset rules, constructing a scoring database, extracting and vectorizing resume text features, constructing a job-resume distribution map based on the InfoMap algorithm, and screening resumes based on the positive sample library and preset rules. These parts will be explained in detail below.
[0210] Step 1. Divide the job positions into positive and negative samples according to preset rules.
[0211] Optionally, each job position can be defined as a category. Based on the resumes of past and current employees holding that position, positive and negative sample sets can be created for that category according to preset rules. These rules can be flexibly set to filter positive and negative samples as needed. Positive samples are the resumes mentioned earlier, also known as qualified resumes or qualified resume text, while negative samples are unqualified resumes. The methods for obtaining positive and negative samples for each job category are described above and will not be repeated here.
[0212] Step 2. Build a rating database
[0213] The positive samples of each job category obtained in step 1 above are used as qualified resumes for that job category. A scoring database / high score database of <job category, qualified resume> is constructed, which is the set of positive sample resumes for each job category described above.
[0214] Optionally, each job category is labeled with a category identifier, i.e., category ID, such as 0, 1, 2, etc. Qualified resumes constitute the high-scoring database for each job category, while negative samples are not included in the scoring database. As an example, a <Job Category, Qualified Resumes> scoring database can be constructed with the structure shown in Table 1 below:
[0215]
[0216] Table 1
[0217] As shown in Table 1, samples 1 to 3 are positive sample resumes under the job category with job category label 1, while samples 5 to 7 are positive sample resumes under the job category with job category label 2.
[0218] Step 3. Resume Text Feature Extraction and Vectorization
[0219] The resume text features are the job feature words mentioned above. This step can extract the job feature words for each job category based on the positive samples of each job category obtained in step 2, including topic words, keywords and named entities, and obtain the mixed feature vector of each character in the job feature words through a hybrid encoding method. Figure 4 The diagram shows a flowchart of one possible implementation of this step, such as... Figure 4 As shown, this step may include the following steps:
[0220] Step 31: Divide each positive sample in the rating database into blocks to obtain the information modules in each resume;
[0221] A significant difference between resume text and other texts is that resume text has a hierarchical and modular structure. These modules generally include: basic personal information, job objective, education background, work experience (project experience), self-evaluation, professional skills, awards, etc. Resumes can be divided into blocks by using regular expression matching based on the names of each module in the resume and the above keywords, so as to obtain the information modules in each resume.
[0222] Step 32: Obtain resume data for the target information module of each resume;
[0223] Optionally, data for information modules that are not significantly related to the factors affecting the job matching degree model can be filtered to obtain resume data for each target information module in each resume. Among them, the modules that are not significantly related may include: basic information modules (name, gender, date of birth, address, mobile phone number, email, etc.), job intentions (desired position, expected salary, etc.), etc.
[0224] Step 33: Filter the time information of each module based on regular expression matching;
[0225] Step 34: Extract keywords for each job category based on the positive samples in the rating database;
[0226] This involves extracting and ranking keywords based on global features. Resume texts typically include proper nouns, common nouns, verbs, and adjectives. In topic mining, proper nouns have a higher probability of representing a topic than common nouns, and nouns have a higher probability of representing a topic than verbs. To better rank the importance of topic representation in the word segmentation results, this implementation can use lexical classification to rank the topic importance of words.
[0227] First, words, or word segments, are divided into three types: domain words, ordinary words, and irrelevant words.
[0228] The resume database (also known as the rating database) contains qualified samples belonging to different job categories. Job category feature statistics and new word discovery are then performed on each category to obtain a domain dictionary. The domain dictionary acquisition primarily involves comparing frequency differences between different job categories. If a word has a high frequency in one job category but a low frequency in others, it is defined as a domain word. If the frequency difference between job categories is small, the word is defined as irrelevant; otherwise, it is defined as a common word.
[0229] Specifically, based on the scoring database, the resume data of each qualified sample (i.e., qualified resume) obtained in the previous step can be segmented into words to obtain the words contained in each resume. By analyzing the frequency differences of each word among qualified samples in different job categories, irrelevant words, as well as domain words and common words for each job category, which are candidate topic words, can be identified.
[0230] After identifying the keywords for each job type, you can assign topic importance weights (i.e., initial importance) to each keyword. Optionally, the calculation method is as follows:
[0231] The importance of irrelevant words is 0.
[0232] The topic importance weight of ordinary words can be expressed as:
[0233]
[0234] in, Indicates any ordinary word, For ordinary words Frequency of occurrence in all job category texts in the standard library (second term frequency). This refers to the document frequency with the highest frequency of each common word appearing in all job category texts in the standard library (i.e., the second highest document frequency mentioned above). For ordinary words The document frequency of occurrence in all job category texts in the standard library.
[0235] The topic importance weight of domain terms can be expressed as:
[0236]
[0237] in, Indicates any domain term, This is the highest importance weight among all common words. Domain words The frequency of occurrence of the term in all job category texts in the standard library (i.e., the second term frequency). This refers to the document frequency with the highest frequency among all job category texts in the standard library for each domain term (i.e., the first highest document frequency mentioned earlier). Domain words The document frequency of occurrence in all job category texts in the standard library.
[0238] Optionally, the importance weight of the topic can be weighted according to the different parts of speech.
[0239] In this embodiment, the weighted proper nouns are... , It is a positive number greater than 1, if it is a domain word or a common word. This is a proper noun; the topic importance weight will be multiplied by this coefficient. Weighted noun part-of-speech , A positive number greater than 1 < If the word If the part of speech is a noun, the weight will be multiplied by that coefficient. Therefore, the overall topic weight of a word, i.e., the topic importance formula, can be expressed as:
[0240]
[0241] in, for or Of course, if a domain term or a common word is not a noun, .
[0242] Based on the importance of the words, the top 1 most important candidate keywords for each job category can be obtained as the topic tags for that job category, which are the topic words for that job category.
[0243] Step 35: Extract keywords for each job category based on the positive samples in the rating database;
[0244] Based on the word segmentation results of qualified resume samples, keywords for different job categories can be mined using TF-IDF to build a job category keyword library. The purpose of using TF-IDF to build category keywords is that if a word appears frequently in texts of a certain category but rarely in texts of other categories, it indicates that the word has the ability to distinguish between categories.
[0245] In this embodiment, TF-IDF represents the discriminative power of job category feature words in various classification categories. This application provides an improved method for calculating TF-IDF, and the calculation formula is as follows:
[0246]
[0247]
[0248]
[0249] The TF-IDF of a word corresponding to a job category represents its ability to differentiate within that category. If a word appears frequently in resumes for a particular job category but rarely in resumes for other job categories, then that word is a differentiating keyword for that category. For each job category, based on the TF-IDF of each word corresponding to that job category, the top two words (TOPK2) can be selected as keyword tags for that job category, in descending order of TF-IDF.
[0250] Step S36: Named entity recognition for each job category
[0251] Named entity nouns appearing in resume text often play an important role in job screening and differentiation. Therefore, entity recognition (NER) tools can be used to perform entity recognition on the resume data in qualified samples for each job category to obtain the named entities in the resume text.
[0252] As an example, suppose a resume is categorized as a machine learning-related job. The keywords, terms, and named entities extracted based on the above-mentioned solution provided in this application include: artificial intelligence, machine learning, data mining, AI, big data, data analysis, deep learning, neural networks, language models, Python, SCI papers, top conferences, etc.
[0253] Step 37: Vectorize the preprocessed text features (i.e., job feature words, i.e., the extracted topic words, keywords and named entities of each job category) to obtain the mixed feature vector of each character contained in each text feature.
[0254] For the specific implementation of obtaining the mixed feature vector of each character contained in the feature words of each job position, please refer to the description above, which will not be repeated here.
[0255] Step 4. Construct a job-resume distribution map model based on the InfoMap algorithm.
[0256] Based on the qualified resume sample library for each job category constructed in step 2 and the job feature words constructed in step 3, each resume is mapped to a point in space.
[0257] In this step, the input to the model is the feature vector of the resume. Optionally, it can be the feature vector of the job feature words contained in each resume. Specifically, it can be obtained by fusing the mixed feature vectors of each character contained in the job feature words. For example, the feature vector of the feature word can be obtained by adding the mixed feature vectors of each character contained in the job feature word, and then the feature vector of the resume can be obtained by fusing the feature vectors of each job feature word contained in the resume.
[0258] As an example, suppose a resume contains job-related keywords including "artificial intelligence" and "machine learning". Based on the mixed feature vector of each character in "artificial intelligence" obtained in step 3, we can obtain the encoding vector for "artificial intelligence". Similarly, based on the mixed feature vector of each character in "machine learning" obtained in step 3, we can obtain the encoding vector for "machine learning". For example, the encoding for "artificial intelligence" is [0.255, -1.41, ...]; and the encoding for "machine learning" is [5.472, 6.2109, ...]. Based on the encoding vectors of these two keywords, we can obtain the resume's encoding vector, i.e., the resume's feature vector.
[0259] After obtaining the feature vector of each resume, a graph network model can be constructed based on the InfoMap algorithm to perform community division, i.e., clustering, for each resume. Here, nodes represent resumes, edges represent the relationship between resumes, and the strength (or closeness) of the relationship can be determined by assigning a weight to each edge. The larger the weight, the stronger the relationship, i.e., the closer the relationship.
[0260] The InfoMap algorithm constructs a graph structure based on the transition probabilities between nodes. Based on these transition probabilities and the probability of each node appearing in the graph (and iteratively optimizes the objective function), it performs a random walk on the graph, starting from a given point. (i.e., the nodes in the diagram) begin to jump to the next node according to the transition probabilities between that node and other nodes. , and then from Starting from a point, the system jumps to the next point based on the transition probability, repeating this process. Huffman coding is constructed based on the probability of random walks to generate sequences. Then, hierarchical coding is performed on the sequences. The hierarchical coding method is as follows: a category label is inserted before the resume features (i.e., nodes) of the same job category, and a termination label is inserted at the end of the category. The category label is represented by a separate set of codes, such as 000, 001, 002. The resume features within the category and the termination label are represented by another set of codes. Since the category label is considered, the resume features of different job categories are also represented by the same set of codes, such as 000, 001, 010, 011, 100. Resume clustering is performed by minimizing the total shortest average code length.
[0261] The following describes the process of constructing a resume-job-related graph network model based on the InfoMap algorithm to achieve resume clustering, as provided in this optional embodiment of the application. The process may include the following steps:
[0262] Step 41: Calculate the transition probabilities between features in the resume text;
[0263] Calculate the similarity between each node and other nodes, that is, calculate the similarity between each resume. Set the relationship similarity threshold to S (let's assume it's 0.7). Connect the nodes corresponding to the text features of two resumes that are higher than this threshold with an edge, and normalize the weight of the edge as the transition probability.
[0264] Step 42: Initialize the occurrence probability of each node;
[0265] Step 43: During initialization, each node is treated as an independent cluster category. Based on the transition probability between nodes and the occurrence probability of each node at initialization, with the goal of minimizing the total shortest average coding length corresponding to each node in the graph, the clustering of all nodes in the graph is completed through continuous iterative optimization while meeting the set technical conditions, resulting in several clusters (a cluster is a cluster category), and each category includes several nodes.
[0266] As an example, suppose the feature vectors of two resumes are the resume text features, respectively. and resume text features If the resume text features and resume text features If the similarity between the two resumes is greater than a threshold S, then there is an edge connecting the nodes corresponding to these two resumes. By normalizing the similarity of this edge, the transition probability between the nodes corresponding to these two resumes can be obtained. During initialization, all nodes can have a uniform access probability, i.e., an occurrence probability. Assume the resume text features... The probability of its occurrence is Resume text features The probability of its occurrence is The probability of crossing (also known as the jump probability) is τ, where τ is an additional hyperparameter, a value less than 1, which can be set empirically. If the probability of crossing is considered, the following relationship exists:
[0267]
[0268] If we consider the probability of crossing, then the following relationship exists: Where n represents the total number of nodes.
[0269] Assuming resume text features The job category to which it belongs is category ,category The class probability (i.e., the probability of the random walk from the class) The probability of jumping to another category can be expressed as: (replaced with...)
[0270]
[0271] If we consider the probability of crossing, then we need to... Change to
[0272] Hierarchical coding is used, with different codes for categories and objects within categories (i.e., nodes / resumes). Therefore, it is necessary to calculate the shortest average code length for both. Specifically, the shortest average code length for each category... It is expressed as follows:
[0273] in, .
[0274] Each category (by category) (For example) the shortest average code length of objects within a class It is expressed as follows:
[0275]
[0276] in, .
[0277] The total shortest average code length is obtained by weighting the shortest average code length of the category and the shortest average code length of objects within each category. , means as follows:
[0278]
[0279] Will As the objective function, to minimize With the goal of continuous iteration and optimization, until... It can no longer be optimized, and the clustering of all nodes is completed, dividing all nodes into several clusters.
[0280] In step 4, qualified resumes for each job category are clustered into clusters, with each cluster representing a different job category.
[0281] As an example, Figure 5 The image shows a simplified clustering result diagram. In this example, we can... Figure 5 All nodes in the graph structure shown are divided into three clusters, as indicated by the three dashed boxes in the figure. The nodes in each dashed box belong to that cluster, and the resumes of nodes belonging to the same cluster are classified into a cluster category.
[0282] Understandably, in practical applications, other clustering methods can also be used to divide the resume. The nodes in different clusters obtained from clustering can overlap (i.e., a node may belong to multiple clusters simultaneously) or they can have non-overlapping nodes (e.g., ...). Figure 5 (As shown).
[0283] Step 5. Screen resumes based on the positive sample library and preset rules.
[0284] A positive sample library is constructed based on qualified samples of each job category (i.e., the first resume in the resume set to be processed; in this embodiment, the first resume in the resume set to be processed can be a positive sample in the above-mentioned scoring database). Based on the distribution of qualified resumes of each job category in each community (i.e., cluster / aggregation category), the proportion of resumes of each known job category in each community is calculated. If the proportion of qualified resumes of a certain job category in a community exceeds a preset threshold, then resumes belonging to unknown categories in that community are predicted as qualified resumes of that job category.
[0285] As an example, the distribution of qualified resumes for known job categories in each cluster in step 4 is statistically analyzed. For instance, if qualified resumes for the job category "data analysis" account for 80% in a certain cluster, and the preset threshold is 65%, then the target job category corresponding to this cluster is "data analysis," and resumes for other unknown categories in this cluster are predicted to be qualified resumes for the job "data analysis."
[0286] Furthermore, if different clusters have overlapping nodes, and the node corresponding to a resume with an unknown job category is an overlapping node of at least two clusters, the similarity between the resume and its respective clusters can be further analyzed. For example, the cluster that best matches the resume can be determined based on the distance between the resume's feature vector and the cluster centers of its various clusters. The target job category corresponding to that cluster can then be identified as the resume's job category. Alternatively, multiple job category labels can be set for the resume simultaneously, meaning the resume's job category can include the target job categories corresponding to multiple clusters it belongs to.
[0287] To better illustrate the application value of the solution provided in this application, a specific application scenario is described below. The solution provided in this application can be applied to talent screening and recommendation scenarios. This solution can be implemented as an application or a plugin for an application. Through this application, job seekers can fill in personal information and post their resumes on their client side, while recruiters (such as companies) can post their talent recruitment needs on their client side. The server can then screen suitable resumes for the recruiter based on their needs and recommend them to the recruiter.
[0288] Figure 6 A schematic diagram of the structure of a resume processing system to which this application applies is shown, such as... Figure 6 As shown, the system may include a server 10, a job seeker's terminal device 21, and a recruiter's terminal device 22. Terminal devices 21 and 22 are connected to the server 10 via a network 30. The following description, in conjunction with this system, illustrates optional embodiments of the proposed solution. Figure 7 The resume processing flow shown in this scenario embodiment may include the following steps:
[0289] Step 11: Based on the job seeker's operations on the client, the terminal device 21 sends the job seeker's resume (the resume shown in the figure) to the server 10;
[0290] Step 12: Server 10 receives a large number of job seekers' resumes sent from their terminal devices 21 and saves them to the resume database 11;
[0291] Step 13: Terminal device 22 sends its recruitment requirements to server 10 based on the recruiter's operation on the client. The recruitment requirements include the recruiter's job category (which can be a specific job or a category).
[0292] Step 14: Server 11 constructs a set of resumes to be processed based on the large number of resumes stored in resume database 11 according to the received recruitment requirements. This set of resumes contains a large number of qualified resumes with known job categories (hereinafter referred to as known resumes) and resumes with unknown job categories (hereinafter referred to as unknown resumes).
[0293] The resume database 11 on the server 10 includes qualified resumes. The source of qualified resumes is not limited in this application. Optionally, in practical applications, qualified resumes can be obtained by the server 10 based on feedback from the recruiter. For example, the recruiter can send a sample of qualified resumes to the server 10 through the client of their terminal device.
[0294] Step 15: Server 10 determines the job category of unknown resumes in the resume set to be processed. Specifically, it can perform clustering processing on the resume set to be processed by executing the method of any optional embodiment of this application, divide the resumes in the resume set to be processed into multiple cluster categories, and determine the target job category corresponding to each cluster category. For unknown resumes, the target job category corresponding to the cluster category to which they belong is determined as the job category corresponding to the unknown resume.
[0295] Step 16: Server 10 sends resumes for the job category in the recruitment requirements to terminal device 22.
[0296] Of course, in practical applications, in addition to the specified job category, recruitment requirements usually include other requirements, such as the applicant's age range and years of work experience. Accordingly, after identifying resumes that meet the specified job category, resumes that meet the requirements can be further filtered based on the resume data and sent to the terminal device 22.
[0297] Based on the same principle as the resume processing method provided in the embodiments of this application, the embodiments of this application also provide a resume processing device, such as... Figure 8 As shown, the resume processing device 100 may include a resume acquisition module 110, a resume clustering module 120, and a job category determination module 130, wherein:
[0298] The pending resume acquisition module 110 is used to acquire a set of pending resumes, which includes multiple first resumes with known job categories and at least one second resume with unknown job categories.
[0299] The resume clustering module 120 is used to obtain the resume feature vector of each resume in the resume set to be processed. Based on the similarity between the resume feature vectors of each resume in the resume set to be processed, the resumes in the resume set to be processed are clustered to obtain multiple cluster categories.
[0300] The job category determination module 130 is used to determine the target job category corresponding to each cluster category based on the proportion of first resumes in each job category among the resumes belonging to each cluster category, and to determine the target job category corresponding to the cluster category to which each second resume belongs as the job category of each second resume, so as to process each second resume based on the job category of each second resume.
[0301] Optionally, the resume clustering module can be used to obtain the resume feature vector of each resume in the resume set to be processed for:
[0302] Obtain a job category feature word library, which includes job feature words for multiple job categories; for each resume in the resume set to be processed, determine the job feature words contained in the resume based on the job category feature word library, and obtain the resume feature vector based on the job feature words contained in the resume.
[0303] Optionally, for each resume in the set to be processed, the resume clustering module can be used to:
[0304] The resume feature vector is obtained by analyzing the mixed feature vector of each character in the job description keywords contained in the resume. The mixed feature vector of each character in each job description keyword is obtained in the following way:
[0305] Obtain the word feature vector of the job feature words and the character feature vector of each character in the job feature words; for each character of the job feature words, obtain the character's mixed feature vector by fusing the character's character feature vector and the job feature words' word feature vector.
[0306] Optionally, the job category feature word library is extracted from the positive sample resume set of each job category among multiple job categories. The positive sample resume set of each job category includes multiple positive sample resumes; the job feature words of each job category include at least one of the job category's subject words, keywords, or named entities.
[0307] Optionally, the keywords for each job category in the job category feature term library are obtained by the keyword acquisition module in the following ways:
[0308] Extract the resume data of each positive sample resume, and perform word segmentation on the resume data to obtain the words contained in each positive sample resume;
[0309] Based on the first word frequency of each word in the resume data of positive sample resumes for each job category, candidate topic words for each job category are determined from each word segment;
[0310] For each candidate keyword, the topic importance of the candidate keyword is determined based on the second word frequency of the candidate keyword in the resume data of positive sample resumes across all job categories, and the document frequency of the candidate keyword in the resume data of positive sample resumes across all job categories.
[0311] For each job category, the keywords for that job category are determined from the candidate keywords based on their topic importance.
[0312] The keyword acquisition module can be a module included in the resume processing device or a module in other devices. The other devices perform the action of acquiring keywords and can provide the acquired keywords to the resume processing device.
[0313] Optionally, for each candidate keyword, the keyword acquisition module can use the following to determine the topic importance of that candidate keyword:
[0314] Based on the second term frequency and document frequency corresponding to the candidate keyword, determine the initial importance of the candidate keyword; determine the part-of-speech of the candidate keyword; and determine the topic importance of the candidate keyword based on the part-of-speech and initial importance.
[0315] Optionally, for each candidate keyword, the keyword acquisition module, when determining the keyword's topic importance based on its part-of-speech and initial importance, can use the following methods:
[0316] If the part of speech of the candidate keyword is a noun, determine the noun type of the candidate keyword, which is either a proper noun or a common noun. Based on the noun type of the candidate keyword, increase the initial importance of the candidate keyword to obtain the subject importance of the candidate keyword. Among them, the increase in the initial importance of proper nouns is greater than the increase in the initial importance of common nouns.
[0317] Optionally, the candidate keywords for each job category include at least one of the domain terms or general terms for the job category, and the initial importance of any domain term is not less than the maximum value of the initial importance of all general terms.
[0318] Optionally, the candidate keywords for each job category include at least one of the following: domain terms or general terms related to the job category. For each candidate keyword, the keyword acquisition module can use the following to determine the topic importance of that candidate keyword:
[0319] For each domain term, the topic importance of the domain term is determined based on the second term frequency and document frequency corresponding to the domain term, as well as the first maximum document frequency. The first maximum document frequency is the maximum value among the document frequencies corresponding to domain terms of all job categories.
[0320] For each common word, the topic importance of the common word is determined based on the second word frequency, document frequency, and second maximum document frequency corresponding to the common word. The second maximum document frequency is the maximum value among the document frequencies corresponding to common words in all job categories.
[0321] Optionally, the keywords for each job category in the job category feature thesaurus are obtained by the keyword acquisition module in the following ways:
[0322] Extract resume data from each positive sample resume and perform word segmentation on the resume data to obtain each word contained in each positive sample resume; determine the third word frequency of each word in the resume data of positive sample resumes for each job category;
[0323] For each word segment and each job category, determine the number of resumes with that word appearing in the resume data of positive sample resumes across all job categories, and the ratio of the number of resumes with that word appearing in the resume data of positive sample resumes in other job categories besides that job category;
[0324] For each job category, the category discrimination ability of a word for that job category is determined by the ratio of the third word frequency of each word corresponding to that job category to the word frequency of that job category.
[0325] Based on the ability of each word segment to distinguish different job categories, keywords for each job category are determined from each word segment.
[0326] Similarly, the keyword acquisition module can be a module included in the resume processing device or a module in other devices. Other devices can perform the action of acquiring keywords and provide the acquired keywords to the resume processing device.
[0327] Optionally, the resume clustering module can be used to cluster resumes in the resume set to be processed for the following purposes:
[0328] Based on the resume feature vectors of each resume, the similarity between resumes is determined.
[0329] Based on each resume and the similarity between resumes, a graph is constructed, where each resume is a node in the graph. If the similarity between two nodes is greater than or equal to a set threshold, then there is an edge between the two nodes, and the similarity between the two nodes is used as the weight of the edge.
[0330] Based on the weights of each edge in the graph, the transition probabilities between nodes with edges are determined; based on the transition probabilities between nodes in the graph, a clustering method based on random walks is used to divide the nodes in the graph into multiple cluster categories.
[0331] Optionally, the pending resume acquisition module is also used to: acquire at least one new pending resume from an unknown job category;
[0332] The job category determination module is also used for:
[0333] The number of resumes to be processed is determined. If the number of resumes is less than a set number, the resume feature vector of each new resume to be processed and the category feature vector of each cluster category are obtained. For each new resume to be processed, the cluster category to which the new resume belongs is determined based on the similarity between the new resume to be processed and each category feature vector. The target cluster category corresponding to the cluster category to which the new resume belongs is determined as the job category of the new resume to be processed. If the number of resumes is greater than or equal to the set number, a new set of resumes to be processed is constructed based on the at least one new resume to be processed. The resumes in the new set of resumes to be processed are clustered to obtain multiple cluster categories. The target job category of each cluster category is determined based on the proportion of resumes belonging to each job category in the known job categories. The target job category corresponding to the cluster category to which each new resume belongs is determined as the job category of the new resume to be processed.
[0334] Optionally, the job category determination module can be used for:
[0335] Determine the percentage of first resumes in each job category among the resumes belonging to this cluster category; for the largest percentage among all percentages, if the largest percentage is not less than a set threshold, then the job category corresponding to the largest percentage is determined as the target job category corresponding to this cluster category.
[0336] Based on the same principles as the resume processing method and resume processing device provided in the embodiments of this application, the embodiments of this application also provide an electronic device, which may include a memory and a processor. The memory stores a computer program, and the processor, when running the computer program, is used to execute the resume processing method provided in any optional embodiment of this application, or to execute the actions performed by the device provided in any optional embodiment of this application.
[0337] As an optional embodiment, Figure 9 The diagram illustrates the structure of an electronic device according to an embodiment of this application. This electronic device can execute the data query method provided in any optional embodiment of this application. Figure 9 As shown, the electronic device 4000 may include a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, for example, via a bus 4002. Optionally, the electronic device 4000 may also include a transceiver 4004, which can be used for data interaction between the electronic device and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver 4004 is not limited to one type, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of this application.
[0338] Processor 4001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 4001 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0339] Bus 4002 may include a pathway for transmitting information between the aforementioned components. Bus 4002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 4002 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 9 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0340] The memory 4003 may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto.
[0341] The memory 4003 stores application code (computer program) that executes the solution of this application, and its execution is controlled by the processor 4001. The processor 4001 executes the application code stored in the memory 4003 to implement the content shown in the foregoing method embodiments.
[0342] This application provides a computer-readable storage medium storing a computer program that, when run on a computer, enables the computer to execute the corresponding content in the aforementioned method embodiments.
[0343] This application also provides a computer product, which includes a computer program that, when executed by a processor, implements the steps of the method provided in this application.
[0344] Based on the same principles as the methods provided in the embodiments of this application, the embodiments of this application also provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in any of the optional embodiments of this application described above.
[0345] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0346] The above description is only a partial embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A resume processing method, characterized in that, include: Obtain a set of resumes to be processed, which includes a first set of resumes with multiple known job categories and a second set of resumes with at least one unknown job category. For each resume in the set of resumes to be processed, a resume feature vector is obtained based on the job category feature word library; the job category feature library includes job feature words for multiple job categories, and the job feature words include topic words; Based on the similarity between the resume feature vectors of each resume in the resume set to be processed, the resumes in the resume set to be processed are clustered to obtain multiple cluster categories. For each cluster category, the target job category corresponding to the cluster category is determined based on the proportion of the first resumes of each job category in the resumes belonging to that cluster category. For each second resume, the target job category corresponding to the cluster category to which the second resume belongs is determined as the job category corresponding to the second resume, so as to process the second resume based on the job category of the second resume; For each job category, the keywords for that job category are obtained in the following way: Obtain each word segment contained in the positive sample resumes of the job category; determine candidate topic words for the job category from each word segment based on the first word frequency of each word segment in the resume data of the positive sample resumes of the job category; for each candidate topic word, determine the topic importance of the candidate topic word based on the second word frequency of the candidate topic word in the resume data of all positive sample resumes of the job category and the document frequency of the candidate topic word in the resume data of all positive sample resumes of the job category. Based on the topic importance of each candidate keyword for the job category, the keywords for that job category are determined from the candidate keywords.
2. The method according to claim 1, characterized in that, The process of obtaining the resume feature vector based on the job category feature lexicon includes: Obtain the keyword database for the job category features; For each resume in the set of resumes to be processed, the job feature words contained in the resume are determined according to the job category feature word library, and the resume feature vector of the resume is obtained based on the job feature words contained in the resume.
3. The method according to claim 2, characterized in that, For each of the aforementioned job-related characteristic terms, the following are also included: Obtain the word feature vector of the job feature words, and the character feature vector of each character in the job feature words; For each character of the job feature word, a mixed feature vector of the character is obtained by fusing the character feature vector of the character and the word feature vector of the job feature word; For each resume in the set of resumes to be processed, the step of obtaining the resume feature vector based on the job-related keyword contained in the resume includes: The resume feature vector is obtained by analyzing the mixed feature vector of each character in the job-related keywords contained in the resume.
4. The method according to any one of claims 1 to 3, characterized in that, Each job category's job description also includes at least one of the job category keywords or named entities.
5. The method according to claim 4, characterized in that, The word segments included in obtaining the positive sample resumes for the job category include: Extract the resume data of each positive sample resume and perform word segmentation on the resume data to obtain the words contained in each positive sample resume.
6. The method according to claim 1, characterized in that, For each candidate keyword, determining the topic importance of the candidate keyword based on its second word frequency in the resume data of positive sample resumes across all job categories and the document frequency of the candidate keyword in the resume data of positive sample resumes across all job categories includes: The initial importance of the candidate keyword is determined based on the second term frequency and document frequency corresponding to the candidate keyword. Determine the part of speech of the candidate keyword; The topic importance of the candidate keyword is determined based on its part of speech and initial importance.
7. The method according to claim 6, characterized in that, The step of determining the topic importance of a candidate topic term based on its part-of-speech and initial importance includes: If the part of speech of the candidate keyword is a noun, determine the noun type of the candidate keyword, wherein the noun type is a proper noun or a common noun; Based on the noun type of the candidate keyword, the initial importance of the candidate keyword is increased to obtain the subject importance of the candidate keyword. Among them, the initial importance of proper nouns is increased to a greater extent than that of common nouns.
8. The method according to claim 6, characterized in that, The candidate keywords for each job category include at least one of the domain terms or general terms of the job category, and the initial importance of any domain term is not less than the maximum value of the initial importance of all general terms.
9. The method according to claim 5, characterized in that, The candidate keywords for each job category include at least one of the domain-specific keywords or general keywords for that job category; For each candidate keyword, the topic importance of the candidate keyword is determined based on its second word frequency in the resume data of positive sample resumes across all job categories, and the document frequency of the candidate keyword in the resume data of positive sample resumes across all job categories. This includes: For each domain term, the topic importance of the domain term is determined based on the second term frequency and document frequency corresponding to the domain term, as well as the first maximum document frequency, wherein the first maximum document frequency is the maximum value among the document frequencies corresponding to domain terms of all job categories; For each common word, the topic importance of the common word is determined based on the second word frequency, document frequency, and second maximum document frequency corresponding to the common word, wherein the second maximum document frequency is the maximum value among the document frequencies corresponding to common words of all job categories.
10. The method according to claim 4, characterized in that, The keywords for each job category in the job category feature term library were obtained through the following methods: Extract the resume data of each positive sample resume, and perform word segmentation on the resume data to obtain the words contained in each positive sample resume; Determine the third word frequency of each segmented word in the resume data of positive sample resumes for each job category; For each of the stated words and each of the stated job categories, determine the number of resumes in the resume data of positive sample resumes across all job categories that contain that word, and the ratio of the number of resumes in the resume data of positive sample resumes in other job categories that contain that word. For each job category, the category discrimination ability of the word segment for that job category is determined based on the ratio of the third word frequency of each word segment corresponding to that job category to the word segment corresponding to that job category; Based on the ability of each word segment to distinguish different job categories, keywords for each job category are determined from each word segment.
11. The method according to any one of claims 1 to 3, characterized in that, The resumes in the set of resumes to be processed are clustered based on the similarity between the resume feature vectors of each resume in the set of resumes to be processed, resulting in multiple cluster categories, including: Based on the resume feature vectors of each resume, the similarity between the resumes is determined. Based on each resume and the similarity between them, a graph is constructed, wherein each resume is a node in the graph. If the similarity between two nodes is greater than or equal to a set threshold, then there is an edge between the two nodes, and the similarity between the two nodes is used as the weight of the edge. Based on the weight of each edge in the graph, the transition probability between nodes with edges is determined; Based on the transition probabilities between nodes in the graph, a random walk-based clustering method is used to divide the nodes in the graph into multiple cluster categories.
12. The method according to any one of claims 1 to 3, characterized in that, Also includes: Obtain at least one new resume to be processed from an unknown job category, and determine the number of said at least one new resume to be processed; If the number of resumes is less than the set number, then the resume feature vector of each new resume to be processed and the category feature vector of each cluster category are obtained; for each new resume to be processed, the cluster category to which the new resume to be processed belongs is determined according to the similarity between the new resume to be processed and each category feature vector, and the target cluster category corresponding to the cluster category to which the new resume to be processed belongs is determined as the job category of the new resume to be processed. If the number of resumes is greater than or equal to the set number, a new set of resumes to be processed is constructed based on the at least one new resume to be processed. The resumes in the new set of resumes to be processed are clustered to obtain multiple cluster categories. The target job category of each cluster category is determined based on the proportion of resumes belonging to each job category in the known job categories. The target job category corresponding to the cluster category to which each new resume to be processed belongs is determined as the job category of the new resume to be processed.
13. A resume processing device, characterized in that, include: The resume acquisition module is used to acquire a set of resumes to be processed, which includes a first set of resumes with multiple known job categories and a second set of resumes with at least one unknown job category. The resume clustering module is used to obtain the resume feature vector of each resume in the resume set to be processed, based on the job category feature word library; the job category feature library includes job feature words of multiple job categories, and the job feature words include topic words; based on the similarity between the resume feature vectors of each resume in the resume set to be processed, the resumes in the resume set to be processed are clustered to obtain multiple clustering categories. The job category determination module is used to determine the target job category corresponding to each cluster category based on the proportion of the first resumes of each job category in the resumes belonging to each cluster category. The target job category corresponding to the cluster category to which each second resume belongs is determined as the job category corresponding to each second resume, so as to process each second resume based on the job category of each second resume. The keyword acquisition module is used to acquire each word segment contained in the positive sample resumes of the job category; determine candidate keywords for the job category from each word segment based on the first word frequency of each word segment in the resume data of the positive sample resumes of the job category; and determine the topic importance of each candidate keyword based on the second word frequency of the candidate keyword in the resume data of all positive sample resumes of the job category and the document frequency of the candidate keyword in the resume data of all positive sample resumes of the job category. Based on the topic importance of each candidate keyword for the job category, the keywords for that job category are determined from the candidate keywords.
14. The apparatus according to claim 13, characterized in that, When the resume clustering module is used to obtain the resume feature vector based on the job category feature lexicon, it is specifically used for: Obtain the keyword database for the job category; For each resume in the set of resumes to be processed, the job feature words contained in the resume are determined according to the job category feature word library, and the resume feature vector of the resume is obtained based on the job feature words contained in the resume.
15. The apparatus according to claim 14, characterized in that, For each of the aforementioned job feature words, the resume clustering module is further used for: Obtain the word feature vector of the job feature words, and the character feature vector of each character in the job feature words; For each character of the job feature word, a mixed feature vector of the character is obtained by fusing the character feature vector of the character and the word feature vector of the job feature word; For each resume in the set of resumes to be processed, when the resume clustering module obtains the resume feature vector based on the job-related feature words contained in the resume, it is specifically used for: The resume feature vector is obtained by analyzing the mixed feature vector of each character in the job-related keywords contained in the resume.
16. The apparatus according to any one of claims 13-15, characterized in that, Each job category's job description also includes at least one of the job category keywords or named entities.
17. The apparatus according to claim 16, characterized in that, When retrieving the word segments contained in positive sample resumes for the job category, the keyword acquisition module is specifically used for: Extract the resume data of each positive sample resume and perform word segmentation on the resume data to obtain the words contained in each positive sample resume.
18. The apparatus according to claim 13, characterized in that, For each candidate keyword, the keyword acquisition module, when determining the keyword importance based on the second word frequency of the candidate keyword in the resume data of positive sample resumes across all job categories and the document frequency of the candidate keyword in the resume data of positive sample resumes across all job categories, specifically uses the following methods: The initial importance of the candidate keyword is determined based on the second term frequency and document frequency corresponding to the candidate keyword. Determine the part of speech of the candidate keyword; The topic importance of the candidate keyword is determined based on its part of speech and initial importance.
19. The apparatus according to claim 18, characterized in that, When determining the topic importance of a candidate topic term based on its part-of-speech and initial importance, the topic term acquisition module is specifically used for: If the part of speech of the candidate keyword is a noun, determine the noun type of the candidate keyword, wherein the noun type is a proper noun or a common noun; Based on the noun type of the candidate keyword, the initial importance of the candidate keyword is increased to obtain the subject importance of the candidate keyword. Among them, the initial importance of proper nouns is increased to a greater extent than that of common nouns.
20. The apparatus according to claim 18, characterized in that, The candidate keywords for each job category include at least one of the domain terms or general terms of the job category, and the initial importance of any domain term is not less than the maximum value of the initial importance of all general terms.
21. The apparatus according to claim 17, characterized in that, The candidate keywords for each job category include at least one of the domain-specific keywords or general keywords for that job category; For each candidate keyword, the keyword acquisition module, when determining the keyword importance based on the second word frequency of the candidate keyword in the resume data of positive sample resumes across all job categories and the document frequency of the candidate keyword in the resume data of positive sample resumes across all job categories, specifically uses the following methods: For each domain term, the topic importance of the domain term is determined based on the second term frequency and document frequency corresponding to the domain term, as well as the first maximum document frequency, wherein the first maximum document frequency is the maximum value among the document frequencies corresponding to domain terms of all job categories; For each common word, the topic importance of the common word is determined based on the second word frequency, document frequency, and second maximum document frequency corresponding to the common word, wherein the second maximum document frequency is the maximum value among the document frequencies corresponding to common words of all job categories.
22. The apparatus according to claim 16, characterized in that, The keywords for each job category in the job category feature term library are obtained by the keyword acquisition module through the following methods: Extract the resume data of each positive sample resume, and perform word segmentation on the resume data to obtain the words contained in each positive sample resume; Determine the third word frequency of each segmented word in the resume data of positive sample resumes for each job category; For each of the stated words and each of the stated job categories, determine the number of resumes in the resume data of positive sample resumes across all job categories that contain that word, and the ratio of the number of resumes in the resume data of positive sample resumes in other job categories that contain that word. For each job category, the category discrimination ability of the word segment for that job category is determined based on the ratio of the third word frequency of each word segment corresponding to that job category to the word segment corresponding to that job category; Based on the ability of each word segment to distinguish different job categories, keywords for each job category are determined from each word segment.
23. The apparatus according to any one of claims 13-15, characterized in that, When the resume clustering module clusters the resumes in the set of resumes to be processed based on the similarity between the resume feature vectors of each resume in the set of resumes to be processed, and obtains multiple clustering categories, it is specifically used for: Based on the resume feature vectors of each resume, the similarity between the resumes is determined. Based on each resume and the similarity between them, a graph is constructed, wherein each resume is a node in the graph. If the similarity between two nodes is greater than or equal to a set threshold, then there is an edge between the two nodes, and the similarity between the two nodes is used as the weight of the edge. Based on the weight of each edge in the graph, the transition probability between nodes with edges is determined; Based on the transition probabilities between nodes in the graph, a random walk-based clustering method is used to divide the nodes in the graph into multiple cluster categories.
24. The apparatus according to any one of claims 13-15, characterized in that, The resume acquisition module is also used for: Obtain at least one new resume to be processed from an unknown job category, and determine the number of said at least one new resume to be processed; If the number of resumes is less than the set number, then the resume feature vector of each new resume to be processed and the category feature vector of each cluster category are obtained; for each new resume to be processed, the cluster category to which the new resume to be processed belongs is determined according to the similarity between the new resume to be processed and each category feature vector, and the target cluster category corresponding to the cluster category to which the new resume to be processed belongs is determined as the job category of the new resume to be processed. If the number of resumes is greater than or equal to the set number, a new set of resumes to be processed is constructed based on the at least one new resume to be processed. The resumes in the new set of resumes to be processed are clustered to obtain multiple cluster categories. The target job category of each cluster category is determined based on the proportion of resumes belonging to each job category in the known job categories. The target job category corresponding to the cluster category to which each new resume to be processed belongs is determined as the job category of the new resume to be processed.
25. An electronic device, characterized in that, The electronic device includes a memory and a processor; The memory is configured to store computer programs; When the processor runs the computer program, it performs the method according to any one of claims 1 to 12.
26. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method of any one of claims 1 to 12.
27. A computer product, characterized in that, The computer product includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 12.