Resume information extraction method and computing device

By identifying and segmenting the resume layout structure and using a large model to extract key information, the problem of time-consuming and labor-intensive manual resume screening and inaccurate text extraction has been solved, achieving efficient and accurate resume information extraction and management.

CN120597873BActive Publication Date: 2026-07-21HENAN QINWEI DIGITAL TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HENAN QINWEI DIGITAL TECHNOLOGY CO LTD
Filing Date
2025-05-22
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

In the recruitment process, manual resume screening is time-consuming, labor-intensive, and prone to omissions and biases. Text extraction methods produce results that deviate significantly from the actual information, making it difficult to efficiently and accurately extract key information from massive amounts of resumes.

Method used

By identifying the layout structure of resumes, multi-part resumes are identified, and they are arranged and segmented according to the different information regions to which the text blocks belong. Key information is extracted using a large model, and OCR technology and regular expression matching are combined to process resumes of different formats to ensure information continuity and accuracy.

Benefits of technology

It enables efficient and accurate extraction of key information from complex resumes, improves the automation of resume screening and management, and supports the efficient operation of enterprises and recruitment platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120597873B_ABST
    Figure CN120597873B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of information extraction, in particular to a resume information extraction method and a computing device. The method comprises the following steps: determining whether a to-be-recognized resume is a multi-union resume; wherein the multi-union resume refers to a to-be-recognized resume comprising at least two information area blocks arranged side by side, each information area block comprising a plurality of text blocks determined by character recognition on the text content in the to-be-recognized resume; in the case that the to-be-recognized resume is a multi-union resume, the text content corresponding to the text blocks is arranged in sequence according to the different information area blocks to which the text blocks belong, so as to obtain resume text; and after the resume text is divided into resume subtexts, the resume subtexts are respectively input into different large models, so that the different large models extract key information in the corresponding resume subtexts. In this way, not only complex resume formats can be processed, but also key information can be efficiently extracted and sorted, and the automation degree of resume screening and management is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of information extraction technology, and in particular to a resume information extraction method and computing device. Background Technology

[0002] With the rapid development of information technology and the widespread use of the internet, the recruitment process is gradually evolving towards digitalization. Companies need to process a large number of resumes during the recruitment process, and these resumes are often very detailed and have flexible formatting options.

[0003] Manually screening resumes is not only time-consuming and labor-intensive, but also prone to omissions and inaccuracies. Furthermore, due to the variety of formats, processing resumes using text extraction methods can result in discrepancies between the processed information and the actual content of the resume, leading to poor readability.

[0004] Therefore, how to efficiently and accurately extract key information from a massive amount of resumes has become an urgent problem to be solved. Summary of the Invention

[0005] This application provides a resume information extraction method and computing device to efficiently and accurately extract key information from massive resumes.

[0006] In a first aspect, embodiments of this application provide a method for extracting resume information. The method includes: determining whether the resume to be identified is a multi-part resume; wherein, a multi-part resume refers to a resume to be identified that includes at least two information area blocks arranged side by side, each information area block including multiple text blocks, the text blocks being determined by character recognition of the text content in the resume to be identified; in the case that the resume to be identified is a multi-part resume, arranging the text content corresponding to the text blocks in order according to the different information area blocks to which the text blocks belong, to obtain the resume text; and after the resume text is segmented into resume sub-texts, inputting them into different large models so that different large models can extract the key information in the corresponding resume sub-texts.

[0007] Based on this solution, the layout structure of a resume can be identified, and the text content can be extracted and rearranged to obtain the resume text. This resume text can then be segmented and input into different large models for key information analysis. This not only handles complex resume formats but also efficiently extracts and organizes key information, improving the automation of resume screening and management, and providing strong support for enterprises and recruitment platforms.

[0008] In one possible implementation, multiple text blocks are divided into lines based on their block coordinates; wherein the difference in line coordinates of text blocks in the same line is less than a preset threshold; the gap region between adjacent text blocks in each line is determined; the gap region of each line is traversed, and if the gap regions of adjacent lines are vertically continuous, the vertically continuous gap region is determined as a vertical segmentation region; based on the vertical segmentation region, it is determined whether the resume to be identified is a multi-part resume.

[0009] This allows us to determine whether the resume to be identified is a multi-part resume.

[0010] In one possible implementation, determining whether the resume to be identified is a multi-part resume based on vertical segmentation includes: determining the middle dividing line of the vertical segmentation based on the coordinates of the vertical segmentation, as a candidate page segmentation line; traversing each candidate page segmentation line to determine whether there is a candidate page segmentation line that meets the filtering rules; wherein, the filtering rules include the distance between the candidate page segmentation line and its adjacent text block being greater than a distance threshold, the height of the candidate page segmentation line in the resume to be identified being greater than a height threshold, and / or the number of fields in the page obtained by segmenting based on the candidate page segmentation line being greater than a field threshold; if there is a candidate page segmentation line that meets the filtering rules, the resume to be identified is determined to be a multi-part resume; if there is no candidate page segmentation line that meets the filtering rules, the resume to be identified is determined not to be a multi-part resume.

[0011] This allows for precise identification of the resumes to be reviewed.

[0012] In one possible implementation, before dividing multiple text blocks by line based on their block coordinates, the method further includes: determining whether the resume to be recognized is in image format; if the resume is not in image format, converting it to image format; adjusting the size of the image-format resume to the specified dimensions; and performing optical character recognition (OCR) on the resume to obtain the text blocks and their corresponding block coordinates. Based on this solution, the size of the image-format resume to be recognized can be adjusted to the specified dimensions, ensuring the accuracy of the OCR processing results and thus enabling accurate extraction of information from the resume.

[0013] In one possible implementation, before the resume text is segmented into resume sub-texts and input into different large models, the method further includes: if the resume to be identified is not a multi-part resume and is not in image format, reading the text in the resume to be identified as the resume text; if the resume to be identified is not a multi-part resume and is in image format, determining the text obtained by character recognition of the resume to be identified as the resume text.

[0014] As can be seen, compared to multi-part resumes, the embodiments of this application can directly extract text from non-multi-part resumes to be identified, and the extracted text content can be directly used as resume text without the need for rearrangement.

[0015] In one possible implementation, the method further includes: identifying the text titles in the resume to be identified based on an object detection algorithm; performing regular expression matching on the text titles to determine the information category corresponding to the text titles; and segmenting the resume text based on the text titles to obtain the resume sub-text corresponding to each information category.

[0016] In this way, through visual models and regular expression matching, the content of the resume can be efficiently and accurately divided, ensuring the continuity of the content of the resume subtext.

[0017] In one possible implementation, the resume text is segmented into resume subtexts and then input into different large models, including: inputting multiple resume subtexts into large models corresponding to their respective information categories; inputting corresponding prompt words into each large model so that each large model can extract key information from the resume subtexts based on the prompt words.

[0018] This allows the task complexity to be distributed across different large models, ensuring the quality of information extraction.

[0019] In one possible implementation, after the resume text is segmented into resume sub-texts and input into different large models, the following steps are taken: mapping the key information output by each large model to the target format to obtain the resume information file.

[0020] Based on this solution, a formatted resume information file can be obtained.

[0021] In one possible implementation, the method further includes: using a large model to modify the time data in key information to a preset time format. Based on the normalization process of this solution, time data from different sources and formats are standardized, improving the overall data quality.

[0022] Secondly, embodiments of this application provide a resume information extraction device, which includes: an identification module configured to: determine whether the resume to be identified is a multi-part resume; wherein, a multi-part resume refers to a resume to be identified that includes at least two information area blocks arranged side by side, each information area block including multiple text blocks, and the text blocks are determined by character recognition of the text content in the resume to be identified; a resume text determination module configured to: when the resume to be identified is a multi-part resume, arrange the text content corresponding to the text blocks in order according to the different information area blocks to which the text blocks belong, to obtain the resume text information extraction module configured to: segment the resume text into resume sub-texts and input them into different large models, so that different large models can extract the key information in the corresponding resume sub-texts respectively.

[0023] In one possible implementation, the recognition module is further configured to: divide multiple text blocks into lines based on the block coordinates of the text blocks; wherein the difference in line coordinates of text blocks located in the same line is less than a preset threshold; determine the gap region between adjacent text blocks in each line; traverse the gap region of each line, and if the gap region of adjacent lines is vertically continuous, determine the vertically continuous gap region as a vertical segmentation region; and determine whether the resume to be recognized is a multi-part resume based on the vertical segmentation region.

[0024] In one possible implementation, the recognition module is further configured to: determine the middle dividing line of the vertically segmented region based on the coordinates of the vertically segmented region, as a candidate page dividing line; traverse each candidate page dividing line to determine whether there is a candidate page dividing line that meets the filtering rules; wherein, the filtering rules include the distance between the candidate page dividing line and its adjacent text block being greater than a distance threshold, the height of the candidate page dividing line in the resume to be recognized being greater than a height threshold, and / or the number of fields in the page obtained by segmenting based on the candidate page dividing line being greater than a field threshold; if there is a candidate page dividing line that meets the filtering rules, determine that the resume to be recognized is a multi-part resume; if there is no candidate page dividing line that meets the filtering rules, determine that the resume to be recognized is not a multi-part resume.

[0025] In one possible implementation, the recognition module is further configured to: determine whether the resume to be recognized is in image format; if the resume to be recognized is not in image format, convert the resume to be recognized into image format; adjust the size of the image format resume to be recognized to the specified size; and perform optical character recognition (OCR) on the resume to be recognized to obtain text blocks and their corresponding block coordinates.

[0026] In one possible implementation, the device further includes a segmentation module, specifically configured to: identify the text titles in the resume to be identified based on an object detection algorithm; perform regular expression matching on the text titles to determine the information categories corresponding to the text titles; and segment the resume text based on the titles to obtain resume sub-texts corresponding to each information category.

[0027] In one possible implementation, the information extraction module is specifically configured to: input multiple resume sub-texts into a large model corresponding to their respective information categories; input corresponding prompt words into each large model so that each large model can extract key information from the resume sub-texts based on the prompt words.

[0028] In one possible implementation, the information extraction module is also configured to map the key information output by each large model to a target format to obtain a resume information file.

[0029] In one possible implementation, the information extraction module is also configured to: use a large model to modify the time data in the key information to a preset time format.

[0030] Thirdly, embodiments of this application also provide a computing device, including: one or more processors; and a memory configured to store one or more programs; wherein, when the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any of the first aspects above.

[0031] Fourthly, embodiments of this application provide a chip for performing the methods described in any of the first aspects above.

[0032] Fifthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a computer, implement the method as described in any of the first aspects.

[0033] In a sixth aspect, embodiments of this application provide a program product including a computer program that, when executed by a processor, implements the method as described in any of the first aspects. Attached Figure Description

[0034] Figure 1 This is a schematic diagram of the first flowchart of the resume information extraction method provided in the embodiments of this application;

[0035] Figure 2 A schematic diagram of the resume to be identified provided for an embodiment of this application;

[0036] Figure 3 A schematic diagram illustrating the rearrangement of the resume to be identified, provided as an embodiment of this application;

[0037] Figure 4 A schematic diagram of the OCR recognition process provided in the embodiments of this application;

[0038] Figure 5 A schematic diagram illustrating the identification of non-multiple resumes provided in an embodiment of this application;

[0039] Figure 6 A schematic diagram illustrating the identification of multi-part resumes provided in an embodiment of this application;

[0040] Figure 7 A schematic diagram illustrating the process of segmenting resume text provided in an embodiment of this application;

[0041] Figure 8 A schematic diagram illustrating title recognition for a non-multipart resume provided in an embodiment of this application;

[0042] Figure 9 This is a schematic diagram of a second flowchart of the resume information extraction method provided in the embodiments of this application;

[0043] Figure 10 This is a schematic diagram of the resume information extraction device provided in the embodiments of this application;

[0044] Figure 11 This is a schematic diagram of a computing device provided in an embodiment of this application. Detailed Implementation

[0045] The technical solutions of the embodiments of this application will now be described with reference to the accompanying drawings. To facilitate a clear description of the technical solutions of the embodiments of this application, the use of terms such as "first," "second," etc., in the embodiments of this application is for illustrative purposes and to distinguish the objects being described. There is no particular order between them, nor does it indicate a specific limitation on the number of devices in the embodiments of this application, and they do not constitute any limitation on the embodiments of this application.

[0046] To efficiently and accurately extract key information from massive amounts of resumes, this application provides a resume information extraction method. This method can be applied to computing devices, which can be servers or terminal devices. Taking a server as an example, in terms of form, the server can be a rack server or a full-rack server; in terms of performance, it can be a general-purpose server, a GPU (graphics processing unit) server, or an artificial intelligence (AI) server.

[0047] Figure 1 This is a schematic diagram of the first flowchart of the resume information extraction method provided in the embodiments of this application.

[0048] like Figure 1As shown, the resume information extraction method provided in this application embodiment may include the following steps S100-S400.

[0049] S100: Determine whether the resume to be identified is a multi-part resume; wherein, a multi-part resume refers to a resume to be identified that includes at least two information area blocks arranged side by side, each information area block including multiple text blocks, and the text blocks are determined by character recognition of the text content in the resume to be identified.

[0050] In practical applications, job seekers can submit their resumes through the front-end interface of a company's information technology (IT) system. An IT system is an integrated system composed of computer hardware, software, and networks, used to support information processing and management within an organization, such as storing massive amounts of resumes submitted by job seekers. Furthermore, embodiments of this application can access the IT system to obtain the resume to be identified.

[0051] In this embodiment of the application, the resume to be identified can be in different formats, such as PDF, Word, txt, images (png, jpg), etc. This embodiment of the application can receive resumes in different formats for identification.

[0052] Furthermore, the resumes to be identified generally have flexible layout formats, such as top-bottom layout, left-right layout, table layout (also known as grid layout), etc.

[0053] Figure 2 Image (a) shows a vertically formatted resume to be recognized. Since the text content of a vertically formatted resume is arranged from top to bottom, it is easy to understand the meaning of the text. Therefore, text recognition can be performed directly on it to extract key information.

[0054] Figure 2 Figure (b) illustrates a horizontally arranged resume to be recognized. It can be understood that a horizontally arranged resume can also be called a multi-part resume, specifically referring to a resume file containing multiple side-by-side layouts, each containing different types or categories of resume information. Directly performing text recognition on such a resume can easily lead to a loss of information continuity, resulting in incomplete or disordered information extraction, thus affecting the quality and accuracy of resume recognition. Specifically, this application embodiment can determine whether a resume to be recognized is a multi-part resume based on whether it includes at least two side-by-side information areas. Here, side-by-side arrangement refers to horizontal arrangement. Furthermore, in the case of a multi-part resume, this application embodiment can sort the text content of the resume to ensure the continuity, accuracy, and completeness of information extraction.

[0055] Furthermore, embodiments of this application can employ optical character recognition (OCR) technology to recognize the resume to be identified, obtaining the layout content. The layout content includes at least multiple text blocks and the block coordinates of each text block. OCR is a technology that converts text in an image into editable text. Based on OCR technology, features such as the layout, font, and character spacing of the resume to be identified can be analyzed, and the resume to be identified can be divided into several information blocks with independent meaning, i.e., text blocks. Moreover, based on OCR technology, a rectangular box (or bounding box) enclosing the resume information can be used to represent the text block.

[0056] Furthermore, for each text block, OCR technology can also determine the position coordinates of the text block in the resume, i.e., the block coordinates. Specifically, the block coordinates can be represented by the coordinates of the top left and bottom right corners of the text block.

[0057] Furthermore, OCR technology can also extract the text content of each text block. In this way, the text content corresponding to different text blocks each has a positional representation; that is, block coordinates can be used to represent the position of different text content.

[0058] S201: When the resume to be identified is a multi-part resume, the text content corresponding to the text block is arranged in order according to the different information area blocks to which the text block belongs, so as to obtain the resume text.

[0059] Figure 3 The illustration shows a schematic diagram of rearranging a resume to be identified. Embodiments of this application can sort text blocks according to their respective information region blocks (layouts). Specifically, the information region block to which a text block belongs can be determined according to its corresponding block coordinates, and the left-right order of that information region block can be determined, thereby determining its vertical order within the resume text. For multiple text blocks within the same information region block, the text content corresponding to each text block can be sorted by first determining the left-right order of text blocks in the same line, and then determining the vertical order of text blocks in different lines.

[0060] This avoids the text disorder problem that can occur when directly extracting multiple copies of a resume. For example... Figure 3 As shown, following the left-to-right order of the resume, this embodiment of the application can vertically arrange the text content in the first information area block at the beginning, and vertically arrange the text content in the second information area block after the text content in the first information area block, and so on, to complete the arrangement of the text content. In this way, the text content can be arranged into human-understandable resume text, so as to extract key information from the resume text and reduce the difficulty of subsequent processing.

[0061] It should also be noted that if the resume to be recognized is not a multi-part resume, then the resume to be recognized does not include side-by-side information region blocks. For example, during the OCR recognition process, text regions can be detected in an image (the resume to be recognized in image format). If a complete text region consisting of multiple text blocks arranged in rows is recognized, then based on OCR, this text region can be segmented from the image to obtain an information region block. In this case, the number of information region blocks is one, there is no column division, and the resume to be recognized is not a multi-part resume.

[0062] Understandably, the number of text blocks and their distribution are determined by the style of the resume layout.

[0063] Furthermore, compared to multi-part resumes, the embodiments of this application can directly extract text from non-multi-part resumes to be identified, and the extracted text content can be directly used as resume text without the need for rearrangement.

[0064] Specifically, the resumes to be identified can include image formats and non-image formats. This application embodiment can also extract text from image-formatted non-multiple-part resumes and non-image-formatted non-multiple-part resumes. This can specifically include the following steps S202 and S203.

[0065] S202: If the resume to be identified is not a multi-part resume and is not in image format, read the text in the resume to be identified as the resume text.

[0066] In practical applications, this embodiment of the application can use a text recognition module to extract text from non-image format, non-multi-part resumes to obtain the resume text. This is because the text in the non-image format resume directly contains text, so no additional image processing is required to obtain the text. It does not require OCR technology processing or sorting steps, resulting in high extraction efficiency and accuracy. The text extraction module can be implemented based on a document parsing library, such as Apache POI, python-docx, or pdfminer. Alternatively, the text extraction module can be implemented based on Natural Language Processing (NLP) technology. Specifically, the text extraction module can perform text feature engineering, which refers to the process in NLP tasks of converting raw text data into numerical features that a machine learning model can understand and process.

[0067] S203: If the resume to be identified is not a multi-part resume, and if the resume to be identified is in image format, the text obtained by character recognition of the resume to be identified shall be determined as the resume text.

[0068] As can be seen, for non-multiple-part resumes in image format, there is no need to perform the rearrangement step.

[0069] It should be noted that since the OCR recognition step in step S100 can directly obtain the text content, the resume text does not need to be determined repeatedly in this step.

[0070] In some implementations, image formats may include PNG, JPG, and image-based PDFs (composed of scanned images), while non-image formats may include text-based PDFs (text embedded in the PDF file), Word, and TXT. It should be noted that PDF documents can be of two types: text-based PDFs and image-based PDFs (composed of scanned images). This application's embodiments can perform different extraction processes for text-based and image-based PDFs.

[0071] S300: After the resume text is segmented into resume subtexts, they are input into different large models so that the different large models can extract the key information from the corresponding resume subtexts.

[0072] The large model can be a large language model. In this embodiment, the large model is trained to extract key information from resumes. Furthermore, this embodiment can deploy multiple different large models and train them specifically, enabling each model to understand and extract key information from resume subtexts of different information categories.

[0073] It should be noted that this embodiment of the application can segment the resume text according to different information categories, thus avoiding the problem of segmentation disrupting the continuity of the text. Information categories include, for example, "basic information," "educational background," "work experience," and "project experience," etc., which are not limited in this embodiment of the application. The specific segmentation steps will be detailed below and will not be repeated here.

[0074] Understandably, a resume can contain one or more sub-texts.

[0075] In the actual training phase, this embodiment of the application can utilize four types of training data—basic information, educational background, work experience, and project experience—to train four large models. This enables each of the four models to extract key information from the basic information, educational background, work experience, and project experience, respectively. In this way, the task complexity can be distributed across different large models, ensuring the quality of information extraction.

[0076] Understandably, in practical applications, different large models can be trained based on actual needs to extract different types of key information from resume texts.

[0077] S400: Outputs key information as a resume information file in the target format.

[0078] The target format can be JSON, XML, or CSV, etc., and this application embodiment does not specifically limit it. In this way, a formatted resume information file can be obtained.

[0079] In practical applications, embodiments of this application can deploy the resume information extraction method on a computing device and open an API interface, allowing IT systems or other applications to call the method to process resumes and obtain formatted resume information files. Subsequently, the IT system can display the formatted resume information files on its front-end interface for users (e.g., HR personnel) to view.

[0080] As described above, this application provides a method for extracting resume information. The method includes: determining whether the resume to be identified is a multi-part resume; wherein, a multi-part resume refers to a resume to be identified containing at least two information area blocks arranged side-by-side, each information area block containing multiple text blocks, the text blocks being determined by character recognition of the text content in the resume to be identified; in the case of a multi-part resume, arranging the text content corresponding to the text blocks in sequence according to their respective information area blocks to obtain the resume text; and then segmenting the resume text into resume sub-texts and inputting them into different large models so that different large models can extract key information from the corresponding resume sub-texts. This method can identify the layout structure of the resume, extract and rearrange the text content, then use large models to analyze key information, and finally output a resume information file conforming to the target format. It can not only handle complex resume formats (such as multi-part resumes) but also efficiently extract and organize key information, improving the automation level of resume screening and management, and providing strong support for enterprises and recruitment platforms.

[0081] The resume information extraction method provided in this application embodiment will be further described in detail below with reference to the accompanying drawings.

[0082] Figure 4 This is a schematic diagram of the OCR recognition process provided in the embodiments of this application.

[0083] like Figure 4 As shown in the embodiment of this application, after obtaining the resume to be identified, the first step of format recognition can be performed to determine whether the resume to be identified is in image format or non-image format.

[0084] After determining the format, the non-image format resume to be recognized can be converted into an image format. Then, OCR recognition can be performed on the resume to determine whether it is a multi-part resume. Specifically, step S100 may include the following steps S101-S103.

[0085] S101: Determine whether the resume to be identified is in image format.

[0086] Understandably, OCR recognition mainly relies on pixel information in an image to recognize text. Therefore, before performing OCR recognition, it should be determined whether the resume to be recognized is in image format.

[0087] S102: If the resume to be identified is not in image format, convert the resume to be identified into image format.

[0088] The image format is, for example, PNG format, which can be converted using document conversion tools or libraries (such as ImageMagick, PDF2Image, etc.). This application does not specifically limit this.

[0089] S103: Adjust the size of the image-format resume to be recognized to the specified size.

[0090] To meet the standardized image size requirements in subsequent processing stages, the image size needs to be adjusted. This embodiment of the application can pre-set the labeled dimensions (e.g., width 1000 pixels, height 1400 pixels) and adjust the size of the resume image to be recognized to the labeled dimensions, ensuring the accuracy of the OCR processing results.

[0091] Furthermore, after standardizing the resumes to be recognized into image format and ensuring the dimensions match the specifications, OCR recognition can be performed on the resumes to determine whether they are multi-part resumes. Specifically, step S103 can be followed by step S104.

[0092] S104: Perform optical character recognition (OCR) on the resume to be recognized to obtain text blocks and their corresponding block coordinates.

[0093] It should be noted here that during the OCR recognition process, an image coordinate system can be constructed in the resume to be recognized. The x-axis represents the horizontal coordinate, corresponding to the horizontal direction of the resume, and the y-axis represents the vertical coordinate, corresponding to the vertical direction of the resume. Based on this, the specific coordinate values ​​of the block coordinates can be determined.

[0094] Figure 5 This is a schematic diagram illustrating the identification of non-multiple resumes provided in an embodiment of this application.

[0095] Figure 6 This is a schematic diagram illustrating the identification of multiple resumes provided in an embodiment of this application.

[0096] like Figure 5 and Figure 6As shown, after OCR recognition, the content in the resume to be recognized can be divided into multiple text blocks. For example, the size of the entire resume page is 1000*1400 pixels. The resume to be recognized may include the following basic information: "Name: Zhang San, Contact Information: 138-xxxx-5678". After the resume content is recognized by the OCR system, "Name: Zhang San" can be divided into one text block, and the corresponding block coordinates can be (x1:50, y1:100, x2:80, y2:120); the contact information "138-xxxx-5678" can be divided into another text block, and the corresponding block coordinates can be (x1:150, y1:160, x2:200, y2:150).

[0097] Furthermore, after OCR recognition, this embodiment of the application can further determine whether the resume to be recognized is a multi-part resume. Specifically, step S104 may be followed by the following steps S105-S108.

[0098] S105: Based on the block coordinates of the text blocks, divide multiple text blocks into lines; wherein the difference in line coordinates of text blocks located in the same line is less than a preset threshold.

[0099] This application embodiment can perform line division operations based on block coordinates. Block coordinates can include the top-left and bottom-right coordinates of a text block. The top-left coordinate can include both horizontal and vertical coordinates, and the bottom-right coordinate also includes both horizontal and vertical coordinates. Specifically, by comparing the line coordinates (equivalent to horizontal coordinates) of each text block, text blocks whose line coordinate differences are less than a preset threshold are determined to be located on the same line. The preset threshold can be, for example, 5 pixels, 10 pixels, or 20 pixels, and this application embodiment does not specifically limit this.

[0100] It's important to clarify here that when determining whether two text blocks belong to the same line, a consistent comparison benchmark is required: the top-left coordinates or the bottom-right coordinates of the two text blocks should be compared consistently, rather than mixing coordinate values ​​from different benchmarks. This consistent comparison method ensures the consistency of line segmentation logic and avoids errors in determining the line classification of text blocks due to inconsistent coordinate benchmarks.

[0101] In this way, after traversing all the text blocks and classifying them, a collection of text blocks can be constructed, organized by line.

[0102] S106: Determine the gap area between adjacent text blocks in each line.

[0103] After dividing the text blocks into lines, for each line, this embodiment of the application can further analyze the blank areas between adjacent text blocks in the line to determine the gap regions. Furthermore, by comparing the coordinate values ​​of adjacent text blocks, the location and range of the gap regions are determined.

[0104] For example, in Figure 5 In the text, the m-th line contains text block A1 and the adjacent text block B1. The x-coordinate of the right boundary of A1 is x. a The x-coordinate of the left boundary of B1 is x. b Then x b -x a This refers to the width of the gap region I1 between these two adjacent regions. The x-coordinate of the gap region I1 can be represented as (x1:x...). a ,x2:x b ).

[0105] The vertical coordinate of the gap area can be represented using the vertical coordinate of the text block. For example... Figure 5 In the text block A1, the y-coordinate of the right boundary is y. a The left boundary y-coordinate of text block B1 is... b Then the ordinate of the gap region I1 can be (y1:y b ,y2:y a Furthermore, the height of the gap area is the difference y between the vertical coordinate of this line of text. b -y a Consistent. In summary, the coordinates of the gap region can be (x... a y b x b y a ).

[0106] For example, if the coordinates of two adjacent text blocks are (x11, y11, x12, y12) and (x21, y21, x22, y22), where (x11, y11) and (x12, y12) are the top-left and bottom-right corner coordinates of the previous text block, and (x21, y21) and (x22, y22) are the top-left and bottom-right corner coordinates of the next text block, then the coordinates of the gap region between them can be determined as (x12, y11, x21, y22). That is, the top-left corner coordinate (x12, y11) of the gap region is the x-coordinate of the bottom-right corner and the y-coordinate of the top-left corner of the previous text block, and the bottom-right corner coordinate (x21, y22) is the x-coordinate of the top-left corner and the y-coordinate of the bottom-right corner of the next text block. Alternatively, the coordinates of the gap region can be determined as (x12, y21, x21, y12), that is, the upper left corner coordinate (x12, y21) of the gap region is the x-coordinate of the lower right corner of the previous text block and the y-coordinate of the upper left corner of the next text block, and the lower right corner coordinate (x21, y12) is the x-coordinate of the upper left corner of the next text block and the y-coordinate of the lower right corner of the previous text block.

[0107] Understandably, the horizontal axis can be used to determine the position and range of the gap area in the horizontal direction, and the vertical axis can be used to determine its position and range in the vertical direction.

[0108] S107: Traverse the gap region of each row. If the gap regions of adjacent rows are vertically continuous, determine the vertically continuous gap regions as vertically segmented regions.

[0109] In this embodiment of the application, the gap area determined by each row is traversed. For the gap areas of adjacent rows, if they are connected to each other in the vertical direction to form a continuous blank area band, then this vertically continuous gap area can be determined as a vertical segmentation area.

[0110] When determining vertical continuity, this embodiment of the application can compare whether the difference in the ordinates of the gaps between adjacent rows meets a preset condition. The preset condition is, for example, that the absolute value of the difference in ordinates is less than a preset continuity threshold. The preset continuity threshold is, for example, 10 pixels, 15 pixels, 20 pixels, or 30 pixels; this embodiment of the application does not specifically limit this. If the condition is met, the gaps between these adjacent rows are merged into a single vertically segmented region. In this way, this embodiment of the application can identify vertical blank areas in a resume that may be used to divide different page layouts.

[0111] For example, for a gap region in the i-th row, its coordinates are (x1_i, y1_i, x2_i, y2_i), and for a gap region in the (i+1)-th row, its coordinates are (x1_i+1, y1_i+1, x2_i+1, y2_i+1). Then, in this embodiment, the difference between the maximum ordinate y2_i of the gap region in the i-th row and the minimum ordinate y1_i+1 of the gap region in the (i+1)-th row can be calculated. If y2_i - y1_i+1 ≤ a preset continuity threshold (e.g., 10 pixels), it is determined that the gap regions of these two adjacent rows have vertical continuity.

[0112] like Figure 5 As shown, there is a gap region I1 between text block A1 and text block B1 in the m-th row, while text block C1 in the (m+1)-th row does not have a region connected to the gap region I1 in the vertical direction. Therefore, there is no vertical segmentation region in the resume to be identified.

[0113] like Figure 6 As shown, there is a gap region I2 between text block A2 and text block B2 in the nth row, and a gap region I3 between text block A3 and text block B3 in the (n+1)th row. The gap regions I2 and I3 are vertically continuous, and so on, which can form a vertically segmented region Q.

[0114] S108: Based on vertical segmentation, determine whether the resume to be identified is a multi-part resume.

[0115] Specifically, step S108 includes the following steps S1081-S1084.

[0116] S1081: Determine the middle dividing line of the vertically divided region based on the coordinates of the vertically divided region, and use it as the candidate page dividing line.

[0117] Figure 6 The example illustrates schematic diagrams of the dividing lines for each candidate page. For instance, taking the left boundary x_left and right boundary x_right, and the left boundary y_left and right boundary y_right of a vertically divided region as examples, the x-coordinate of the middle dividing line is (x_left + x_right) / 2, and the height of the middle dividing line is (y_right - y_left) / 2. This middle dividing line is the candidate page dividing line, representing the potential segmentation position that may divide the resume into different pages. The left boundary x-coordinate of the vertically divided region can refer to the upper left corner x-coordinate of the first gap region forming the vertically divided region, and the left boundary y-coordinate refers to the upper left corner y-coordinate of the first gap region forming the vertically divided region. The right boundary x-coordinate can refer to the lower right corner x-coordinate of the last gap region forming the vertically divided region, and the right boundary y-coordinate refers to the lower right corner y-coordinate of the last gap region forming the vertically divided region. This application does not specifically limit this.

[0118] S1082: Traverse each candidate page dividing line and determine whether there is a candidate page dividing line that meets the filtering rules; wherein, the filtering rules include the distance between the candidate page dividing line and its adjacent text block being greater than a distance threshold, the height of the candidate page dividing line in the resume to be identified being greater than a height threshold, and / or the number of fields in the page obtained by dividing based on the candidate page dividing line being greater than a field threshold.

[0119] The embodiments of this application can traverse each candidate page dividing line and determine whether it meets the characteristics of a page dividing line according to the set filtering rules.

[0120] Specifically, the distance threshold is used to ensure that the candidate page dividing line has sufficient spacing from the surrounding text blocks to avoid accidentally dividing the area within the same page. For example, the distance threshold can be set to 15 pixels, which requires that the minimum distance between the candidate page dividing line and the adjacent text block is greater than 15 pixels.

[0121] The height of the candidate layout dividing line can refer to the effective extension length of the candidate layout dividing line (or its corresponding vertical dividing area) in the vertical direction, or the span of the candidate layout dividing line in the Y-axis direction. In practice, the vertical dividing area of ​​a multi-part resume typically extends from near the top to near the bottom. For example, for an A4-sized multi-part resume with a height of approximately 279mm, its vertical dividing area can extend from the 20mm mark to the 270mm mark, and the height of the layout dividing line corresponding to this vertical dividing area is 250mm. The height threshold is used to ensure that the dividing line has a certain length, reflecting the possible layout division to some extent. For example, the height threshold can be set to 1 / 3 of the total resume height. In this embodiment, text blocks are determined by character recognition of the text content in the resume to be identified. Each text block can be a relatively independent text unit, such as a word, a number, a phrase, or a sentence. The number of text blocks can refer to the number of such smallest text units identified in the resume. The specific number of text blocks depends on factors such as the number of characters in the resume and the text layout format.

[0122] A field is a logical unit categorized according to the semantics and structure of a resume. It can also refer to the smallest unit of information in the resume that has specific meaning and is independent. Field categorization is based on a predefined resume structure template. Common fields include "Name," "Gender," "Age," "Education Background," and "Work Experience." Each field represents a type of information with specific semantics and purpose. The number of fields refers to the number of such semantically and purposefully defined information categories contained in the resume.

[0123] In this embodiment of the application, one text block can correspond to one field. When the text block itself can completely represent a specific field information, for example, the text block "Zhang San" corresponds to the "Name" field, the text block "Male" corresponds to the "Gender" field, etc., in this case, the number of text blocks and the number of fields are equal.

[0124] In some implementations, multiple text blocks can correspond to one field. Some fields require multiple text blocks to be combined to fully express their information. For example, the "Education Background" field can be composed of multiple text blocks such as "School Name", "Major", "Degree", and "Graduation Time". In this case, one field can correspond to multiple text blocks, and the number of fields is less than the number of text blocks.

[0125] In some implementations, a text block can involve multiple fields. For example, a text block that reads "Zhang San graduated from Peking University with a bachelor's degree in Computer Science in June 2020" may include multiple fields such as "name" and "educational background".

[0126] The field threshold is determined by counting the number of information fields in the pages obtained after dividing the candidate pages based on the dividing line. If the number of fields in the divided pages is large and exceeds the preset field threshold (e.g., the field threshold is 50 fields), it means that the dividing line may correspond to the page division of the resume to be identified.

[0127] Alternatively, the number of text blocks in the page obtained by dividing the page by the candidate page dividing line can be used to determine whether the candidate page dividing line corresponds to the page division of the resume to be identified. In this case, the filtering rules may include the number of text blocks in the page obtained by dividing the page by the candidate page dividing line being greater than the number threshold, such as 20. This application embodiment does not specifically limit this.

[0128] S1083: If there are candidate page dividing lines that meet the screening rules, determine that the resume to be identified is a multi-part resume.

[0129] During the process of traversing the candidate page dividing lines, if at least one candidate page dividing line meets the screening rules, it means that there are obvious vertical page dividing lines in the resume to be identified, dividing it into multiple columns, which meets the characteristics of a multi-column resume.

[0130] It should be further noted that, in this embodiment of the application, the candidate page dividing line can be determined to meet the requirements when it meets one or more of the filtering rules, or the candidate page dividing line can be determined to meet the requirements when it meets all the filtering rules. The specific method can be adjusted based on the actual situation, and this embodiment of the application does not make any specific limitations on it.

[0131] In some implementations, embodiments of this application can partition the resume to be identified based on candidate layout dividing lines that conform to the screening rules. For example, the areas formed after being divided by the candidate layout dividing lines are determined as first information area blocks, second information area blocks, etc., arranged side by side, while the areas not divided by the candidate layout dividing lines are uniformly determined as one information area block. In this way, the text content can be rearranged based on the partitioning results.

[0132] S1084: If there is no candidate page dividing line that meets the screening rules, determine that the resume to be identified is not a multi-part resume.

[0133] After traversing the candidate page dividing lines, if there are no candidate page dividing lines that meet the filtering rules, it can be determined that there are no obvious vertical page lines that divide the resume to be identified into at least two side-by-side information area blocks. Therefore, the resume to be identified is not a multi-part resume.

[0134] Furthermore, as described above, if the resume to be identified is not a multi-part resume and is not in image format, this embodiment can directly read the text from the resume as the resume text. If the resume to be identified is not a multi-part resume and is in image format, character recognition can be performed based on OCR technology to obtain the resume text. If the resume to be identified is a multi-part resume, character recognition and rearrangement can be performed based on OCR technology to obtain the resume text. Furthermore, after extracting the resume text from the resume to be identified, this embodiment can segment the resume text to input the segmented resume sub-texts into different large models.

[0135] Figure 7 This is a schematic diagram illustrating the process of segmenting resume text as provided in an embodiment of this application.

[0136] like Figure 7 As shown, before step S300, the following steps S501-S503 may also be included.

[0137] S501: Based on the object detection algorithm, it identifies the text title in the resume to be identified.

[0138] Among these, object detection algorithms are visual algorithms used to locate the position of a specified target in an image; an example of an object detection algorithm is the YOLO algorithm. In this step, to improve recognition accuracy, key elements in the resume to be identified can be processed. These key elements include titles, body text, and tables. Figure 8 The example shown illustrates the recognition results for non-multiple-part resumes.

[0139] It is understandable that in step S102, the non-image format resume to be identified can be converted into an image format to obtain an image format resume to be identified. Therefore, in step S501, the image format resume to be identified can be directly identified based on the object detection algorithm without having to perform the format conversion step again.

[0140] S502: Use regular expressions to perform regular expression matching on the extracted text titles to determine the information category to which the text titles belong.

[0141] Different text titles correspond to different information categories, which can include basic information, education experience, work experience, and project experience. For example, the text titles for the "Basic Information" category could be "Personal Information," "Basic Data," or "Personal Overview," and the corresponding regular expression could be: ^(Personal Information|Basic Data|Personal Overview|Basic Information)$. Similarly, the text titles for the "Education Experience" category could be "Educational Background," "Learning Experience," "Educational Degree," or "Educational Experience," and the corresponding regular expression could be: ^(Educational Background|Learning Experience|Educational Degree|Educational Experience)$. The text titles for the "Work Experience" category could be "Work Experience," "Professional Experience," "Work Resume," or "Work Experience," and the corresponding regular expression could be: ^(Work Experience|Professional Experience|Work Resume|Work Experience)$. Finally, the text titles for the "Project Experience" category could be "Project Experience," "Project Resume," "Project Practice," or "Project Experience," and the corresponding regular expression could be: ^(Project Experience|Project Resume|Project Practice|Project Experience)$.

[0142] It is understood that the above regular expressions are only illustrative examples, and in practical applications, the regular expressions can be adjusted according to the requirements.

[0143] S503: Segment the resume text based on the text title to obtain the resume sub-text corresponding to each information category.

[0144] In other words, resume subtexts are obtained by segmenting resume text, and different resume subtexts correspond to different information categories.

[0145] After determining the text titles and their corresponding information categories, since the resume text has already been extracted from the resume to be identified in this embodiment, the resume text can be segmented based on the text titles to obtain resume sub-texts. Specifically, the resume text can be traversed, starting from the position where the text title appears and searching backwards until the next text title is encountered; this segment of resume text is the resume sub-text corresponding to that text title. For example, if the title "Education Background" is identified in the resume text, all text from that title until the next text title (such as "Work Experience") is the resume sub-text corresponding to the "Education Background" information category. For the last text title of the resume to be identified, its corresponding resume sub-text is the text from the beginning of that title to the end of the resume text. In this way, the entire resume text can be segmented into multiple resume sub-texts, each corresponding to a specific information category, preparing for subsequent input of different resume sub-texts into different large models for processing.

[0146] As can be seen, the embodiments of this application can efficiently and accurately divide resume content through visual models and regular expression matching, which can ensure the continuity of resume subtext content.

[0147] Furthermore, step S300 may include S301: inputting each resume subtext into the large model corresponding to its information category.

[0148] For example, input the resume subtext for "Personal Information" into the larger model that processes personal information. Input the resume subtext for "Education" into the larger model that processes education. Input the resume subtext for "Work Experience" into the larger model that processes work experience. Input the resume subtext for "Project Experience" into the larger model that processes project experience.

[0149] In this embodiment of the application, in order to improve the performance of the large language model in resume information extraction, a two-stage fine-tuning scheme can be adopted.

[0150] Phase 1: Fine-tuning of semantic understanding ability.

[0151] Objective: To improve the semantic understanding ability of large models in resume scenarios, enabling them to accurately identify and extract specific information (such as company name, position, job responsibilities, time period, etc.).

[0152] Data preparation: Collect a large amount of labeled resume data and assign clear semantic labels to each piece of information.

[0153] Fine-tuning process: Use a pre-trained large model (such as Qwen, GLM, etc.) as the base model, and fine-tune it to enable the model to better understand and extract key information from the resume.

[0154] Phase Two: Fine-tuning of end-to-end information extraction.

[0155] Objective: To further improve the ability of large models to automatically extract all relevant information from resume text.

[0156] Data preparation: Use labeled resume data, which includes resume text and ideal output results with manual annotation.

[0157] Fine-tuning process: Based on the fine-tuning in the first stage, the model is trained again to optimize its understanding of complex text structures, enabling it to accurately extract various types of information.

[0158] Based on this, the split resume sub-information can be input into different large models, which can ensure the efficiency of information extraction, reduce the task complexity of a single large model, and ensure the quality of information extraction.

[0159] Step S301 may be followed by step S302: inputting prompts corresponding to information categories into each large model so that each large model can extract key information from the resume subtext based on the prompts.

[0160] Understandably, resume text can contain a wealth of information, and whether each piece of information is key information that the large model should focus on can be determined based on prompts.

[0161] In this embodiment, the prompt words can indicate the category of key information to be extracted. For example, the prompt words for the "Personal Information" model are: "Please extract personal information, including name, age, contact information, and email address"; the prompt words for the "Work Experience" model are: "Please extract work experience, including company name, position, start time, and end time"; the prompt words for the "Education Experience" model are: "Please extract educational background, including school name, major, degree, and major courses"; and the prompt words for the "Project Experience" model are: "Please extract project experience, including project name, project description, and project timeline".

[0162] For example, targeting Figure 5 The output of the "Personal Information" model in the resume shown can be "Zhang San, Male, 28, 138-xxxx-5678, zhangsan@example.com".

[0163] Furthermore, in order to concatenate the key information from each resume sub-text to obtain the final resume information file, this embodiment of the application can also use prompt words to standardize the format of the output content of the large model, for example, standardize it into JSON format, so as to improve the stability of the large model in formatted output.

[0164] Specifically, step S400 may include the following step S401: mapping the key information output by each large model to a target format to obtain a resume information file.

[0165] Based on this step, the extracted key information can be structured and output as structured data suitable for further processing. Specifically, this step can be implemented using a formatted large model, which can be deployed after the large model corresponding to the information category to receive the output of that large model. The target format can be JSON, but this embodiment does not specifically limit this.

[0166] Furthermore, in order to map the key information output by each large model to the target format, prompt words can be input into the formatted large model. Example of prompt words:

[0167] Please convert the following resume content into a structured JSON format. The output JSON format should include the following fields: Personal Information (Name, Age, Contact Information, Email), Work Experience (Company Name, Position, Start Date, End Date), Project Experience (Project Name, Project Description, Start Date, End Date), and Education Background (School Name, Major, Degree). Please map the fields according to these rules and ensure that the output JSON format is correct.

[0168] Thus, for Figure 5 The resumes to be identified in the database, and the final identified resume information file may include the following:

[0169]

[0170]

[0171]

[0172] As can be seen, based on prompt words, the formatted large model can map the key information extracted from the large model for each information category to the corresponding fields in the target format. For example, the formatted large model can map the school names extracted from the "Education Experience" large model to the "School Name" field in the JSON structure.

[0173] Furthermore, before outputting the key information as a structured resume file, this embodiment of the application may also perform a time data normalization step to ensure the normalization of time information extracted from time data in different formats. This step may specifically include: using a large model to modify the time data in the key information to a preset time format.

[0174] The large model in this step can be executed using the aforementioned formatted large model. Furthermore, this step can be executed simultaneously with step S401, or it can be executed after step S401; the specific execution order can be flexibly adjusted by changing the prompt words. Example prompt words:

[0175] Please pay special attention to the time data in the resume information file and standardize it according to the following rules:

[0176] Unified date format: If month-year information appears in different formats such as "March 2022", "2022.03", "3 / 2022", etc., it will be uniformly converted to "YYYY-MM" format, such as "2022-03"; if a specific date appears, such as "March 15, 2022", "15 / 03 / 2022", "2022.03.15", it will be uniformly converted to "YYYY-MM-DD" format, i.e. "2022-03-15".

[0177] Handling vague time dates: If vague expressions such as "last year" or "last month" appear, they need to be converted to specific dates based on the current date (the current date is [specific year, month, and day]). For example, if the current date is April 7, 2025, "last year" will be converted to "2024-04-07" and "last month" will be converted to "2025-03-07".

[0178] Handling without a specific date: If only the year is mentioned, such as "2022", it will be uniformly converted to the format "YYYY-01-01", i.e., "2022-01-01"; if only the month and year are mentioned, such as "March 2022", it will be uniformly converted to the format "YYYY-MM-01", i.e., "2022-03-01".

[0179] In some implementations, steps S302, S401, and the time data normalization step can also be executed separately by the large models corresponding to different information categories. Afterwards, the JSON outputs of the various large models can be concatenated to obtain the final resume information file. Here's an example of the prompt for the "Project Engineering" large model:

[0180] Project Experience Section: Each project experience is represented as a JSON object, which contains the following fields: "Start Time" (format YYYY-MM), "End Time" (format YYYY-MM, if the project has not ended, it can be written as "today"), "Project Name", "Project Description" (listing key information such as project goals, process, and results in bullet points), "Project Responsibilities" (listing the individual's specific work in the project in bullet points), "Position in the Project", "Affiliated Organization", and "Project Achievements" (listing the project's results and benefits in bullet points).

[0181] As can be seen from the above, the resume information extraction method provided in this application embodiment can have the following technical effects.

[0182] 1. Extract resume content based on direct file parsing and layout analysis combined with OCR technology.

[0183] This improves the accuracy and completeness of resume content extraction. By combining document parsing and OCR technologies, and selecting the optimal parsing scheme based on different layout methods, original information can be preserved.

[0184] 2. Resume document segmentation based on title detection and regular expression matching using object detection.

[0185] Improved efficiency in resume content extraction. Through visual models and regular expression matching, resume content is efficiently segmented, and the task complexity is distributed across different large language models, ensuring the quality of information extraction.

[0186] 3. Two-stage fine-tuning of the large language model.

[0187] This significantly improves the capabilities of large language models in the domain of key information in resumes. Through two-stage fine-tuning, the model gains stronger semantic understanding and end-to-end information extraction capabilities, ensuring that no key information is missed.

[0188] 4. A method for time data normalization based on prompt word engineering and large language model.

[0189] The standardization of time formats improved data consistency and readability, laying a solid foundation for subsequent data analysis. Through normalization, time data from different sources and formats were standardized, improving overall data quality.

[0190] Figure 9 This is a schematic diagram of a second flowchart of the resume information extraction method provided in the embodiments of this application.

[0191] like Figure 9 As shown, the resume information extraction method provided in this application embodiment may include the following steps S601-S603.

[0192] S601: Determine whether the resume to be identified is a multi-part resume; wherein, a multi-part resume refers to a resume to be identified that includes at least two information area blocks arranged side by side, each information area block including multiple text blocks, and the text blocks are determined by character recognition of the text content in the resume to be identified;

[0193] S602: When the resume to be identified is a multi-part resume, the text content corresponding to the text block is arranged in order according to the different information area blocks to which the text block belongs, so as to obtain the resume text;

[0194] S603: After the resume text is segmented into resume subtexts, they are input into different large models so that the different large models can extract the key information from the corresponding resume subtexts.

[0195] Figure 10 This is a schematic diagram of the resume information extraction device provided in an embodiment of this application.

[0196] like Figure 10 As shown in the figure, this application embodiment provides a resume information extraction device 1100, which includes:

[0197] The recognition module 1101 is configured to: determine whether the resume to be recognized is a multi-part resume; wherein, a multi-part resume refers to a resume to be recognized that includes at least two information area blocks arranged side by side, each information area block including multiple text blocks, and the text blocks are determined by character recognition of the text content in the resume to be recognized;

[0198] The resume text determination module 1102 is configured to: when the resume to be identified is a multi-part resume, arrange the text content corresponding to the text block in order according to the different information area blocks to which the text block belongs, and obtain the resume text;

[0199] The information extraction module 1103 is configured to: divide the resume text into resume sub-texts and input them into different large models, so that the different large models can extract the key information in the corresponding resume sub-texts.

[0200] In one possible implementation, the recognition module 1101 is further configured to: divide multiple text blocks into rows based on the block coordinates of the text blocks; wherein the difference in row coordinates of text blocks located in the same row is less than a preset threshold; determine the gap region between adjacent text blocks in each row; traverse the gap region of each row, and if the gap regions of adjacent rows are vertically continuous, determine the vertically continuous gap region as a vertical segmentation region; and determine whether the resume to be recognized is a multi-part resume based on the vertical segmentation region.

[0201] In one possible implementation, the recognition module 1101 is further configured to: determine the middle dividing line of the vertically segmented region based on the coordinates of the vertically segmented region, as a candidate page dividing line; traverse each candidate page dividing line to determine whether there is a candidate page dividing line that meets the filtering rules; wherein, the filtering rules include the distance between the candidate page dividing line and its adjacent text block being greater than a distance threshold, the height of the candidate page dividing line in the resume to be recognized being greater than a height threshold, and / or the number of fields in the page obtained by segmenting based on the candidate page dividing line being greater than a field threshold; if there is a candidate page dividing line that meets the filtering rules, determine that the resume to be recognized is a multi-part resume; if there is no candidate page dividing line that meets the filtering rules, determine that the resume to be recognized is not a multi-part resume.

[0202] In one possible implementation, the recognition module 1101 is further configured to: determine whether the resume to be recognized is in image format; if the resume to be recognized is not in image format, convert the resume to be recognized into image format; adjust the size of the image format resume to be recognized to the specified size; and perform optical character recognition (OCR) on the resume to be recognized to obtain text blocks and their corresponding block coordinates.

[0203] In one possible implementation, the resume text determination module 1102 is further configured to: read the text in the resume to be identified as the resume text when the resume to be identified is not a multi-part resume and is not in image format; and determine the text obtained by character recognition of the resume to be identified as the resume text when the resume to be identified is not a multi-part resume and is in image format.

[0204] In one possible implementation, the resume information extraction device 1100 further includes a segmentation module 1104, which is specifically configured to: identify the text title in the resume to be identified based on an object detection algorithm; perform regular expression matching on the text title to determine the information category corresponding to the text title; and segment the resume text based on the text title to obtain the resume sub-text corresponding to each information category.

[0205] In one possible implementation, the information extraction module 1103 is specifically configured to: input multiple resume sub-texts into a large model corresponding to their respective information categories; input corresponding prompt words into each large model so that each large model can extract key information from the resume sub-texts based on the prompt words.

[0206] In one possible implementation, the information extraction module 1103 is further configured to map the key information output by each large model to a target format to obtain a resume information file.

[0207] In one possible implementation, the information extraction module 1103 is also configured to: use a large model to modify the time data in the key information to a preset time format.

[0208] Figure 11 This is a schematic diagram of a computing device provided in an embodiment of this application.

[0209] like Figure 11 As shown, the computing device may include devices such as servers and terminals; the computing device includes one or more processors 1201 and a memory 1202. The memory 1202 is configured to store one or more programs. When the one or more programs are executed by the one or more processors 1201, the one or more processors 1201 implement the resume information extraction method in the above embodiments.

[0210] See also Figure 10 The computing device 1200 may also include a communications interface 1203 and a communications bus 1204.

[0211] The processor 1201, memory 1202, and communication interface 1203 communicate with each other via communication bus 1204. Communication interface 1203 is used to communicate with other network elements such as clients or other servers.

[0212] In some embodiments, one or more processors 1201 are used to execute one or more programs 1205, specifically performing the relevant steps in the above-described embodiments of the resume information extraction method. Specifically, program 1205 may include program code, which includes computer-executable instructions.

[0213] For example, processor 1201 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement some embodiments of this application. Computing device 1200 may include one or more processors, which may be processors of the same type, such as one or more CPUs; or they may be processors of different types, such as one or more CPUs and one or more ASICs.

[0214] In some embodiments, memory 1202 is used to store one or more programs 1205. Memory 1202 may include high-speed RAM memory and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0215] Specifically, program 1205 can be called by processor 1201 to cause computing device 1200 to perform the resume information extraction method operation.

[0216] Some embodiments of this application provide a computer-readable storage medium storing at least one executable instruction that, when executed on a computing device 1200, causes the computing device 1200 to perform the resume information extraction method described in the above embodiments.

[0217] The executable instructions can be used to enable the computing device 1200 to perform the resume information extraction method operation.

[0218] For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.

[0219] The beneficial effects that the readable storage medium provided in some embodiments of this application can achieve can be referred to the beneficial effects in the corresponding resume information extraction method provided above, and will not be repeated here.

[0220] It should be noted that in this application, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.

[0221] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0222] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).

[0223] For the purposes of this specification, "computer-readable medium" can mean any means that can contain, store, communicate, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0224] More specific examples (a non-exhaustive list) of computer-readable media include the following: electrical connections having one or more wires (electronic devices), portable computer disks (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM).

[0225] Furthermore, the computer-readable medium can even be paper or other suitable media on which the program can be printed, because the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory. It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof.

[0226] In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0227] The embodiments described above are merely specific embodiments of this application and are not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made based on the technical solution of this application should be included within the scope of protection of this application.

Claims

1. A method for extracting resume information, characterized in that, include: Based on the block coordinates of the text blocks, the multiple text blocks are divided into lines; wherein the difference in the line coordinates of the text blocks located in the same line is less than a preset threshold. Determine the gap region between adjacent text blocks in each line; Traverse the gap region of each row, and if the gap regions of adjacent rows are vertically continuous, determine the vertically continuous gap regions as vertically segmented regions; The middle dividing line of the vertically divided region is determined based on the coordinates of the vertically divided region and used as the candidate layout dividing line. Traverse each of the candidate page dividing lines to determine whether there are any candidate page dividing lines that meet the filtering rules; wherein, the filtering rules include the distance between the candidate page dividing line and its adjacent text block being greater than a distance threshold, the height of the candidate page dividing line in the resume to be identified being greater than a height threshold, and / or the number of fields in the page obtained by dividing based on the candidate page dividing line being greater than a field threshold; If a candidate page dividing line that meets the filtering rules exists, the resume to be identified is determined to be a multi-part resume. If no candidate layout dividing line that meets the filtering rules exists, the resume to be identified is determined not to be a multi-part resume; wherein, the multi-part resume refers to the resume to be identified which includes at least two information area blocks arranged side by side, each of the information area blocks including multiple text blocks, and the text blocks are determined by character recognition of the text content in the resume to be identified; When the resume to be identified is the multi-part resume, the text content corresponding to the text block is arranged in order according to the different information area blocks to which the text block belongs, to obtain the resume text; The resume text is segmented into resume sub-texts and then input into different large models so that the different large models can extract the key information from the corresponding resume sub-texts.

2. The resume information extraction method according to claim 1, characterized in that, Before dividing the multiple text blocks by line based on the block coordinates of the text blocks, the method further includes: Determine whether the resume to be identified is in image format; If the resume to be identified is not in image format, convert the resume to image format. Adjust the size of the resume to be recognized in image format to the specified size; The resume to be identified is subjected to optical character recognition (OCR) to obtain the text block and its corresponding block coordinates.

3. The resume information extraction method according to claim 1, characterized in that, Before the process of segmenting the resume text into resume sub-texts and inputting them into different large models, the method further includes: If the resume to be identified is not a multi-part resume and is not in image format, the text in the resume to be identified is read as the resume text. If the resume to be identified is not a multi-part resume and is in image format, the text obtained by character recognition of the resume to be identified will be determined as the resume text.

4. The resume information extraction method according to claim 1, characterized in that, The method further includes: Based on the object detection algorithm, the text title in the resume to be identified is identified; Regular expressions are used to perform regular expression matching on the text title to determine the information category corresponding to the text title; The resume text is segmented based on the text title to obtain the resume sub-text corresponding to each information category.

5. The resume information extraction method according to claim 4, characterized in that, The step of segmenting the resume text into resume sub-texts and inputting them into different large models includes: Each of the aforementioned resume subtexts is input into the large model corresponding to its respective information category; Each of the large models is input with corresponding prompt words, so that each of the large models can extract the key information from the resume subtext based on the prompt words.

6. The resume information extraction method according to claim 1, characterized in that, The process of segmenting the resume text into resume sub-texts and inputting them into different large models includes: The key information output by each of the large models is mapped to the target format to obtain a resume information file.

7. The resume information extraction method according to any one of claims 1-6, characterized in that, The method further includes: Using the large model, the time data in the key information is modified to a preset time format.

8. A computing device, characterized in that, include: One or more processors; as well as, The memory is configured to store one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the resume information extraction method according to any one of claims 1-7.