# US 11,442,976 B1 · Resource selection determination using natural language processing based tiered clustering

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

- Number: US 11,442,976 B1
- Document ID: US11442976B1
- Status: Granted
- Kind: B1
- Application number: 17/353,107
- Filed: 2021-06-21
- Granted: 2022-09-13
- Earliest claimed: 2021-06-21
- Assignees: Workday, Inc.
- Applicants: Workday, Inc.
- Inventors: Montiago Xavier LaBute; Shane Clifford; Arina Bobrova; Chris Lee
- Web page: https://patentgrep.com/patent/US11442976B1

## CPC

- G06F 16/353: into predefined classes
- G06V 10/7625: {Hierarchical techniques, i.e. dividing or merging patterns to obtain a tree-like representation; Dendograms}
- G06F 16/3347: {using vector based model}
- G06F 16/338: Presentation of query results
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06F 40/20: Natural language analysis (semantic analysis of natural language G06F40/30)
- G06N 20/00: Machine learning
- G06F 40/211: Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
- G06F 40/279: Recognition of textual entities
- G06F 40/30: Semantic analysis
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A system comprises an interface configured to receive an identifier, a processor configured to determine a grouping associated with the identifier, wherein the grouping is determined using a first clustering, wherein the first clustering is based at least in part on a language processing system, determine a sub-grouping of the grouping associated with the identifier, wherein the sub-grouping is determined using a second clustering, determine a final identifier based at least in part on the identifier and the sub-grouping, determine a resource based at least in part on the final identifier, and store the final identifier associated with the resource, and a memory coupled to the processor and configured to provide the processor with instructions.

## Claims

### Claim 1

A system, comprising:
a hardware processor; and
a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the hardware processor to:
receive a received identifier;
determine a grouping associated with the received identifier, wherein the grouping is created using a first clustering, wherein the first clustering is based at least in part on vector distances between vectors generated by pre-processing identifiers in the grouping using a language processing system, wherein the language processing system comprises a neural network language processing system;
determine a sub-grouping of the grouping associated with the received identifier, wherein the sub-grouping is created using a second clustering, wherein the second clustering is based at least in part on string edit distances between the identifiers in the grouping;
determine a final identifier based at least in part on the received identifier and the sub-grouping;
determine a resource based at least in part on the final identifier, wherein the resource represents an associated channel for acquisition of a substitute item; and
provide the final identifier and the resource, wherein the final identifier and the resource are associated with the received identifier.

### Claim 2 (depends on 1)

The system of claim 1, wherein the language processing system comprises a machine learning language processing system.

### Claim 3 (depends on 1)

The system of claim 1, wherein the language processing system comprises a transformer system.

### Claim 4 (depends on 1)

The system of claim 1, wherein the set of clusters are determined using the language processing system.

### Claim 5 (depends on 4)

The system of claim 4, wherein the state vectors are generated by pre-processing a pre-determined set of identifiers.

### Claim 6 (depends on 1)

The system of claim 1, wherein the final identifier is associated with a sub-group of the grouping.

### Claim 7 (depends on 6)

The system of claim 6, wherein the sub-group is associated with the received identifier based at least in part on the string edit distance between the received identifier and members of the sub-group.

### Claim 8 (depends on 1)

The system of claim 1, wherein determining the resource is based at least in part on a resource timing parameter.

### Claim 9 (depends on 1)

The system of claim 1, wherein determining the resource is based at least in part on a resource multiplier parameter.

### Claim 10 (depends on 1)

The system of claim 1, wherein determining the resource is based at least in part on optimizing a function.

### Claim 11 (depends on 10)

The system of claim 10, wherein the function comprises a measure of acquiring a given resource from a given provider of the resource.

### Claim 12 (depends on 10)

The system of claim 10, wherein the function comprises a measure involved in acquisition of a given resource from a system associated with a requestor of the resource.

### Claim 13 (depends on 1)

The system of claim 1, wherein the final identifier is stored.

### Claim 14 (depends on 1)

The system of claim 1, wherein the final identifier is provided to a requestor.

### Claim 15 (depends on 1)

The system of claim 1, wherein the final identifier is provided to the resource associated with the final identifier.

### Claim 16 (depends on 1)

The system of claim 1, wherein the received identifier is received using a user query.

### Claim 17

A method, comprising:
receiving a received identifier;
determining, using a processor, a grouping associated with the received identifier, wherein the grouping is created using a first clustering, wherein the first clustering is based at least in part on vector distances between vectors generated by processing pre-processing identifiers in the grouping using a language processing system, wherein the language processing system comprises a neural network language processing system;
determining a sub-grouping of the grouping associated with the received identifier, wherein the sub-grouping is created using a second clustering, wherein the second clustering is based at least in part on string edit distances between the identifiers in the grouping;
determining a final identifier based at least in part on the received identifier and the subgrouping;
determining a resource based at least in part on the final identifier, wherein the resource represents an associated channel for acquisition of a substitute item; and
providing the final identifier and the resource, wherein the final identifier and the resource are associated with the received identifier.

### Claim 18

A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:
receiving a received identifier;
determining a grouping associated with the received identifier, wherein the grouping is created using a first clustering, wherein the first clustering is based at least in part on vector distances between vectors generated by pre-processing identifiers in the grouping using a language processing system, wherein the language processing system comprises a neural network language processing system;
determining a sub-grouping of the grouping associated with the received identifier, wherein the sub-grouping is created using a second clustering, wherein the second clustering is based at least in part on string edit distances between the identifiers in the grouping;
determining a final identifier based at least in part on the received identifier and the subgrouping;
determining a resource based at least in part on the final identifier, wherein the resource represents an associated channel for acquisition of a substitute item; and
providing the final identifier and the resource, wherein the final identifier and the resource are associated with the received identifier.
