# US 2021/0240737 A1 · Identifying anonymized resume corpus data pertaining to the same individual

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240737 A1
- Document ID: US20210240737A1
- Status: Published application
- Kind: A1
- Application number: 16/777,350
- Filed: 2020-01-30
- Published: 2021-08-05
- Earliest claimed: 2020-01-30
- Assignees: Hg Insights, Inc.
- Applicants: HG Insights, Inc.
- Inventors: Robert J. Fox; Samuel B. Chapin; Jonathan C. Frey; Christopher R. Fredregill
- Web page: https://patentgrep.com/patent/US20210240737A1

## CPC

- G06F 16/285: {Clustering or classification}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/24558: {Binary matching operations}
- G06F 16/2468: {Fuzzy queries}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Resume data identification implementations are described that identify anonymized resume corpus data pertaining to the same individual. In one implementation, identifying this data in the anonymized resume corpus involves segmenting the corpus into resume snippets and clustering the resume snippets into groups. Within each group the resume snippets potentially pertain to the same individual. In addition, one or more optional filtering operations can be performed to remove snippets from a group that are less likely to be associated with the same person. This filtering is especially useful when the resume corpus is large.

## Claims

### Claim 1

A system for identifying data in the anonymized resume corpus that pertains to the same individual, comprising:
an anonymized resume corpus data identifier comprising one or more computing devices, and an anonymized resume corpus data identification computer program having a plurality of sub-programs executable by said computing device or devices, wherein the sub-programs configure said computing device or devices to,
access an anonymized resume corpus,
segment the corpus into resume snippets, and
cluster the resume snippets into groups, wherein within each group the resume snippets potentially pertain to the same individual.

### Claim 2 (depends on 1)

The system of claim 1, wherein the sub-program for segmenting the corpus into resume snippets comprises, on a per-resume basis, sub-programs for:
extracting summary-level information from the resume;
segmenting the resume into snippets; and
assigning the extracted summary-level information to each snippet segmented from the resume.

### Claim 3 (depends on 2)

The system of claim 2, wherein the summary-level information comprises at least one of:
an entity that the individual who is the subject of the resume works for or is associated with; or
a business location of the entity that the individual who is the subject of the resume works for or is associated with, wherein the business location comprises at least one of a city, or state, or country; or
at least one calendar date associated with the resume; or
a current job title associated with the individual who is the subject of the resume.

### Claim 4 (depends on 3)

The system of claim 3, wherein the entity that the individual who is the subject of the resume works for is associated with is a business entity identified by its uniform resource locator.

### Claim 5 (depends on 3)

The system of claim 3, wherein each extracted calendar date associated with the resume comprises a date the author of the resume put on the resume itself, or a date the resume was published, or a date the resume was submitted, or a date the resume was received, or a date the resume was entered into a resume database.

### Claim 6 (depends on 3)

The system of claim 3, wherein one of the extracted calendar dates is assigned as the baseline date of the resume.

### Claim 7 (depends on 3)

The system of claim 3, wherein the sub-program for clustering the resume snippets into groups, comprises sub-programs for:
first using at least some of the summary-level information assigned to each snippet to cluster snippets that potentially pertain to the same individual; and
then employing a textual similarity measuring technique to eliminate snippets for each group not likely to be associated with the same individual as the other snippets in the group.

### Claim 8 (depends on 7)

The system of claim 7, wherein the sub-program for using the summary-level information assigned to each snippet to cluster snippets that potentially pertain to the same individual, comprises clustering snippets having the same entity assigned to them into the same group.

### Claim 9 (depends on 7)

The system of claim 7, wherein the sub-program for using the summary-level information assigned to each snippet to cluster snippets that potentially pertain to the same individual, comprises clustering snippets having at least one of a same city, or same state, or same country location assigned to them into the same group.

### Claim 10 (depends on 7)

The system of claim 7, wherein the sub-program for using the summary-level information assigned to each snippet to cluster snippets that potentially pertain to the same individual, comprises clustering snippets having both the same entity and the same location assigned to them into the same group.

### Claim 11 (depends on 7)

The system of claim 7, wherein the sub-program for using the summary-level information assigned to each snippet to cluster snippets that potentially pertain to the same individual, comprises:
first clustering snippets having the same entity assigned to them into the same group,
determining if any snippet not already assigned to the group is lacking an entity designation, and
then assigning to the group, snippets lacking an entity designation, but having a location assigned to them that matches the location of other snippets in the group.

### Claim 12 (depends on 7)

The system of claim 7, wherein the sub-program for employing a textual similarity measuring technique to eliminate snippets for each group, comprises sub-programs for:
establishing a length of each snippet in a group under consideration;
for each snippet in the group, determining if the length of the snippet falls with a prescribed comparable length range based on the length of all the snippets in the group; and
whenever the length of a snippet in the group falls outside the prescribed comparable length range, removing it from the group.

### Claim 13 (depends on 12)

The system of claim 12, wherein the sub-program for establishing a length of each snippet in a group, comprises:
tokenizing each snippet in the group under consideration; and
establishing the length of each tokenized snippet as its character count.

### Claim 14 (depends on 7)

The system of claim 7, wherein the anonymized resume corpus data identification computer program further comprises a sub-program for filtering each group after employing the textual similarity measuring technique to remove additional resume snippets, said filtering comprising for each group,
identifying snippets in the group that do not have a specified part of the summary-level information assigned thereto, which was not employed to cluster the snippets, in common with the other snippets; and
removing the snippets from the group that do not have the specified part of the summary-level information assigned thereto.

### Claim 15 (depends on 14)

The system of claim 14, wherein the specified part of the summary-level information which was not employed to cluster the snippets comprises a current job title associated with the individual who is the subject of the resume.

### Claim 16 (depends on 2)

The system of claim 2, wherein the anonymized resume corpus data identification computer program further comprises a sub-program for filtering each group to remove resume snippets not likely to be associated with the same individual as other resume snippets in the group, said filtering comprising for each group, executing sub-programs for:
identifying all possible pairs of snippets in the group;
measuring the similarity of the snippets in each pair of snippets in the group;
removing from the group, pairs of snippets found to have a measured degree of similarity below a prescribed minimum similarity threshold.

### Claim 17 (depends on 16)

The system of claim 16, wherein the sub-program for measuring the similarity of the snippets in each pair of snippets in the group, comprises sub-programs for:
tokenizing each snippet in each pair of snippets in the group that has not already been tokenized;
removing extraneous words and symbols from the tokenized snippets;
vectorizing and normalizing each of the tokenized snippets; and
applying a cosine similarity measurement technique to the vectorized snippets in each snippet pair in the group.

### Claim 18 (depends on 17)

The system of claim 17, wherein the sub-program for measuring the similarity of the snippets in each pair of snippets in the group, further comprises additional sub-programs executed after applying the cosine similarity measurement technique and removing pairs of snippets found to have a measured degree of similarity below a prescribed minimum cosine similarity threshold, said additional sub-programs comprising:
applying a fuzzy string-matching technique to the tokenized snippets in each remaining snippet pair in the group to calculate the difference between the snippets in each snippet pair and produce a score; and
removing pairs of snippets found to have a score below a prescribed minimum score threshold.

### Claim 19 (depends on 18)

The system of claim 18, wherein the sub-program for measuring the similarity of the snippets in each pair of snippets in the group, further comprises other sub-programs executed after applying a fuzzy string-matching technique and removing pairs of snippets found to have a score below a prescribed minimum score threshold, said additional sub-programs comprising:
identifying snippets in the group that do not have a specified part of the summary-level information assigned thereto, which was not employed to cluster the snippets, in common with the other snippets; and
removing the snippets from the group that do not have the specified part of the summary-level information assigned thereto.

### Claim 20 (depends on 19)

The system of claim 19, wherein the specified part of the summary-level information which was not employed to cluster the snippets comprises a current job title associated with the individual who is the subject of the resume.

### Claim 21 (depends on 16)

The system of claim 16, wherein the sub-program for measuring the similarity of the snippets in each pair of snippets in the group, comprises sub-programs for:
tokenizing each snippet in each pair of snippets in the group that has not already been tokenized;
applying a fuzzy string-matching technique to the tokenized snippets in each remaining snippet pair in the group to calculate the difference between the snippets in each snippet pair and produce a score.

### Claim 22

A system for identifying data in the anonymized resume corpus that pertains to the same individual, comprising:
an anonymized resume corpus data identifier comprising one or more computing devices, and an anonymized resume corpus data identification computer program having a plurality of sub-programs executable by said computing device or devices, wherein the sub-programs configure said computing device or devices to,
access an anonymized resume corpus,
for each resume in the corpus,
extract summary-level information from the resume,
segment the resume into snippets, and
assign the extracted summary-level information to each snippet segmented from the resume, and
cluster the resume snippets into groups, wherein within each group the resume snippets potentially pertain to the same individual, said clustering comprising,
first employing a textual similarity measuring technique to cluster the snippets into groups that potentially pertain to the same individual, and
then, for each group using at least some of the summary-level information assigned to each snippet in the group to eliminate snippets not likely to be associated with the same individual as the other snippets in the group.

### Claim 23

A computer-implemented process for identifying data in the anonymized resume corpus that pertains to the same individual, the process comprising the actions of:
using one or more computing devices to perform the following process actions, the computing devices being in communication with each other via a computer network whenever a plurality of computing devices is used:
accessing an anonymized resume corpus,
segmenting the corpus into resume snippets, and
clustering the resume snippets into groups, wherein within each group the resume snippets potentially pertain to the same individual.
