IP Library › Granted Patent US 11,962,708
Granted Patent B2
US 11,962,708 · App. 17/331,463 · Granted Apr 16, 2024

Resume document parsing using computer vision and optical character recognition with reblocking feedback

Inventors: Lawrence Thibodeaux (Sunnyvale, CA); Gokhan Ozer (Sunnyvale, CA); Chinwei Hu (Sunnyvale, CA); Jesse Rohwer (Springhill, TN); Eugene Raether (Sunnyvale, CA)
Assignee: Indeed, Inc.
H04L9/3268G06F3/04812G06F3/0482G06F3/0485G06F11/32G06F11/3409G06F11/3438G06F16/9035G06F16/957G06F18/2155G06F18/2163G06F18/2178G06F18/40G06F40/131G06N3/09G06N20/00G06Q10/1053G06Q10/109G06V30/1456G06V30/18086G06V30/414G06V30/416H04L9/3247H04L63/0428H04L63/166H04L65/403G06F11/3452G06F2203/04803G06Q30/0243G06T2210/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,962,708
App. No.
17/331,463
Granted
Apr 16, 2024
Kind
B2
Abstract

Systems and methods are disclosed for parsing resume documents using computer vision and optical character recognition technology in combination with a user feedback interface system to facilitate user feedback to improve the overall processing quality of the resumes that are imported into computer resume processing systems. In at least one embodiment, the system and method prompt a user to upload an input resume document, which is processed with a first parsing pass to generate initial resume data by extracting a plurality of resume text blocks. Further processing identifies an initial set of bounding blocks and to visually displays the initial resume data for user review and feedback to regroup one or more of the initial set of bounding blocks into a regrouped bounding block. Additional processing consolidates into a group text block each of the resume text blocks corresponding to the regrouped one or more of the initial set of bounding blocks.

Claims (54)

1. A computer-implemented method, comprising:

prompting a user with frontend code to upload an input resume document;

performing a first parsing pass of the input resume document with backend code to generate initial resume data by extracting a plurality of resume text blocks and identifying an initial set of bounding blocks, wherein each bounding block of the initial set of bounding blocks surrounds a corresponding resume text block;

visually displaying, by frontend code, the initial resume data to a screen for user review of the initial set of bounding blocks;

processing all of a plurality of backend generated labels against the initial resume data, including:

prompting the user with frontend code to select one or more bounding blocks of the initial set of bounding blocks that correspond to a backend generated label via a screen cursor configured for user manipulation to create a bounding box surrounding the one or more bounding blocks on the screen;

regrouping the one or more bounding blocks within the bounding box into a regrouped bounding block;

consolidating, into a regrouped text block, each of the resume text blocks corresponding to the regrouped bounding block;

prompting the user with frontend code to relabel resume text blocks surrounded by one or more other bounding blocks of the initial set of bounding blocks using a new label created by the user; and

determining that all of the plurality of backend generated labels have been processed; and

based on the determination that all of the plurality of backend generated labels have been processed, storing, in memory, regrouped bounding block data identifying the regrouped bounding block, the regrouped text block, and the new label.

2. The computer-implemented method of claim 1 , wherein performing the first parsing pass comprises invoking a computer vision and optical character recognition extraction service to automatically extract structed information from the input resume document.

3. The computer-implemented method of claim 1 , wherein the resume text blocks surrounded by the one or more bounding blocks are located on different lines of the input resume document.

4. The computer-implemented method of claim 1 , wherein visually displaying the input resume document comprises generating and displaying a user interface display screen which displays, to the user, the input resume document with the initial set of bounding blocks and the corresponding resume text blocks.

5. The computer-implemented method of claim 4 , wherein prompting the user with frontend code to select the one or more bounding blocks comprises generating and displaying a display control panel which includes user control and feedback for selecting and grouping the one or more bounding blocks into the regrouped bounding block.

6. The computer-implemented method of claim 5 , wherein prompting the user with frontend code to create the new label comprises generating and displaying a display control panel which includes user control and feedback buttons and/or fields for labelling the regrouped bounding block.

7. The computer-implemented method of claim 1 , further comprising storing training data comprising the regrouped bounding block data and original bounding block data identifying the initial set of bounding blocks and the corresponding resume text blocks.

8. A computer readable storage medium comprising instructions executable by one or more processors to cause the one or more processors to perform operations, the operations comprising:

prompting a user with frontend code to upload an input resume document;

performing a first parsing pass of the input resume document with backend code to generate initial resume data by extracting a plurality of resume text blocks and identifying an initial set of bounding blocks, wherein each bounding block of the initial set of bounding blocks surrounds a corresponding resume text block;

visually displaying, by frontend code, the initial resume data to a screen for user review of the initial set of bounding blocks;

processing all of a plurality of backend generated labels against the initial resume data, including:

prompting the user with frontend code to select one or more bounding blocks of the initial set of bounding blocks that correspond to a backend generated label via a screen cursor configured for user manipulation to create a bounding box surrounding the one or more bounding blocks on the screen;

regrouping the one or more bounding blocks within the bounding box into a regrouped bounding block;

consolidating, into a regrouped text block, each of the resume text blocks corresponding to the regrouped bounding block;

prompting the user with frontend code to create relabel resume text blocks surrounded by one or more other bounding blocks of the initial set of bounding blocks using a new label created by the user; and

determining that all of the plurality of backend generated labels have been processed; and

based on the determination that all of the plurality of backend generated labels have been processed, storing, in memory, regrouped bounding block data identifying the regrouped bounding block, the regrouped text block, and the new label.

9. The computer readable storage medium of claim 8 , wherein performing the first parsing pass comprises invoking a computer vision and optical character recognition extraction service to automatically extract structed information from the input resume document.

10. The computer readable storage medium of claim 8 , wherein the resume text blocks surrounded by the one or more bounding blocks are located on different lines of the input resume document.

11. The computer readable storage medium of claim 8 , wherein visually displaying the input resume document comprises generating and displaying a user interface display screen which displays, to the user, the input resume document with the initial set of bounding blocks and the corresponding resume text blocks.

12. The computer readable storage medium of claim 11 , wherein prompting the user with frontend code to select the one or more bounding blocks comprises generating and displaying a display control panel which includes user control and feedback for selecting and grouping the one or more bounding blocks into the regrouped bounding block.

13. The computer readable storage medium of claim 12 , wherein prompting the user with frontend code to create the new label comprises generating and displaying a display control panel which includes user control and feedback buttons and/or fields for labelling the regrouped bounding block.

14. The computer readable storage medium of claim 8 , further comprising executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to store training data comprising the regrouped bounding block data and original bounding block data identifying the initial set of bounding blocks and the corresponding resume text blocks.

15. A system, comprising:

one or more processors; and

a memory storing instructions executable by the at least one of the one or more processors to:

prompt a user with frontend code to upload an input document;

perform a first parsing pass of the input document with backend code to generate initial data by extracting a plurality of text blocks and identifying an initial set of bounding blocks, wherein each bounding block of the initial set of bounding blocks surrounds a corresponding text block;

visually display, by frontend code, the initial data to a screen for user review of the initial set of bounding blocks;

process all of a plurality of backend generated labels against the initial data, including:

prompting the user with frontend code to select one or more bounding blocks of the initial set of bounding blocks that correspond to a backend generated label via a screen cursor configured for user manipulation to create a bounding box surrounding the one or more bounding blocks on the screen:

regrouping the one or more bounding blocks within the bounding box into a regrouped bounding block;

consolidating, into a regrouped text block, each of the text blocks corresponding to the regrouped bounding block;

prompting the user with frontend code to relabel resume text blocks surrounded by one or more other bounding blocks of the initial set of bounding blocks using a new label created by the user; and

determining that all of the plurality of backend generated labels have been processed; and

based on the determination that all of the plurality of backend generated labels have been processed, store, in memory, regrouped bounding block data identifying the regrouped bounding block, the regrouped text block, and the new label.

16. The system of claim 15 , wherein performing the first parsing pass comprises invoking a computer vision and optical character recognition extraction service to automatically extract structed information from the input document.

17. The system of claim 15 , wherein the text blocks surrounded by the one or more bounding blocks are located on different lines of the input document.

18. The system of claim 15 , wherein visually displaying the input document comprises generating and displaying a user interface display screen which displays, to the user, the input document with the initial set of bounding blocks and the corresponding text blocks.

19. The system of claim 18 , wherein prompting the user with frontend code to select the one or more bounding blocks comprises generating and displaying a display control panel which includes user control and feedback for selecting and grouping the one or more bounding blocks into the regrouped bounding block.

20. The system of claim 19 , wherein prompting the user with frontend code to create the new label comprises generating and displaying a display control panel which includes user control and feedback buttons and/or fields for labelling the regrouped bounding block.

21. The system of claim 15 , wherein the input document comprises an input resume document submitted by the user to a job recommendation system.

22. The system of claim 15 , wherein the input document comprises an input job description document submitted to a job recommendation system by the user as an employer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2024
From: THIBODEAUX, LAWRENCE; RAETHER, EUGENE; HU, CHINWEI; ROHWER, JESSE
To: INDEED, INC.
Reel/Frame 066737/0954 →
Continuity (2)
Provisional Application 63030287 · May 26, 2020
Related Publication 20230215206A1 · Jul 6, 2023