# US 12,223,264 B2 · Multi-layer graph-based categorization

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

- Number: US 12,223,264 B2
- Document ID: US12223264B2
- Status: Granted
- Kind: B2
- Application number: 18/154,601
- Filed: 2023-01-13
- Published: 2023-06-01
- Granted: 2025-02-11
- Earliest claimed: 2020-03-31
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Anindya Misra; Cindy Liu; Milovan Milovanovic
- Web page: https://patentgrep.com/patent/US12223264B2

## CPC

- G06F 40/20: Natural language analysis (semantic analysis of natural language G06F40/30)
- G06F 40/247: Thesauruses; Synonyms
- G06F 16/345: {Summarisation for human users}
- G06F 16/367: {Ontology}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 40/216: using statistical methods
- G06F 40/30: Semantic analysis
- G06F 40/44: Statistical methods, e.g. probability models
- G06F 40/56: Natural language generation
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/048: Activation functions
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/09: Supervised learning
- G06N 3/091: Active learning
- G06N 3/096: Transfer learning
- G06N 5/02: Knowledge representation; Symbolic representation
- G06N 20/00: Machine learning
- G06F 16/36: Creation of semantic tools, e.g. ontology or thesauri
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/045: Combinations of networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A method may include a obtaining a first data model instance comprising an identifier string and. a set of attributes associated with a set of attribute name strings. The method may include obtaining an ontology graph that includes a first label, a second label, and an association between them. The method may include using a prediction model to select the first label based on the first data model instance and determining the second label based on the relationship. The method may include determining a selected set of labels that includes the first label and the second label to associate with the first data model instance. The method may include associating the selected set of labels with the first data model instance in a dataset that includes a plurality of records, where each record is associated with a different data model instance.

## Claims

### Claim 1

A system for predicting a set of associated labels, the system comprising:
one or more processors; and
a non-transitory computer-readable medium comprising instructions that when executed by the one or more processors cause operations comprising:
obtaining a data model instance comprising an identifier string, a multi-word description, a set of attribute name strings, and sets of attribute values, wherein each of the sets of attribute values is associated with an attribute name string of the set of attribute name strings;
obtaining an ontology graph comprising a first graph node associated with a first label, a second graph node associated with a second label, and a set of graph edges;
selecting the first label based on the identifier string, the multi-word description, and the set of attribute name strings using a first set of neural network layers;
selecting the second label based on a first graph edge of the set of graph edges that associates the first graph node with the second graph node;
associating the first label and the second label with the data model instance;
generating a summarization string using a second set of neural network layers, wherein the summarization string comprises the first label and the second label;
receiving a request for a record associated with the data model instance;
storing the summarization string in a memory storage; and
generating for display the summarization string in response to the request for the record.

### Claim 2 (depends on 1)

The system of claim 1, wherein the instructions further cause operations comprising:
determining a subset of graph edges from the set of graph edges, wherein each graph edge of the subset of graph edges is connected to the first graph node;
determining a set of associated graph nodes, wherein each of the set of associated graph nodes is associated with the first graph node based on the subset of graph edges;
for each respective graph node of the set of associated graph nodes, determining a respective likelihood value of the set of associated graph nodes, wherein the second graph node is one the set of associated graph nodes; and
selecting the second label based on a determination that the second graph node is associated with a likelihood value that satisfies a likelihood threshold.

### Claim 3 (depends on 1)

The system of claim 1, wherein the instructions further cause operations comprising:
determining a quality value based on whether the summarization string satisfies a quality threshold using a third set of neural network layers; and
storing the quality value in the memory storage.

### Claim 4 (depends on 3)

The system of claim 3, wherein the quality value indicates that the summarization string does not satisfy the quality threshold, and wherein the instructions further cause operations comprising:
in response to a determination that the summarization string does not satisfy the quality threshold, generating a second summarization string based on the multi-word description; and
in response to receiving a request for a record associated with the data model instance, generating for display the second summarization string.

### Claim 5

A method comprising:
obtaining, by one or more processors, a first data model instance comprising an identifier string and a set of attributes, wherein each attribute name string of a set of attribute name strings is associated with an attribute of the set of attributes;
obtaining, by one or more processors, an ontology graph comprising a first label, a second label, and a first association between the first label and the second label;
using, by one or more processors, a first prediction model to select the first label based on the first data model instance;
determining, by one or more processors, the second label based on the first association of the ontology graph;
determining, by one or more processors, a selected set of labels to associate with the first data model instance, wherein the selected set of labels comprises the first label and the second label;
associating, by one or more processors, the selected set of labels with the first data model instance in a dataset comprising a plurality of records, wherein each record is associated with a different data model instance;
generating a summarization string using a second set of neural network layers, wherein the summarization string comprises the first label and the second label;
receiving a request for a record associated with the first data model instance; and
generating for display the summarization string in response to the request for the record.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
determining a quality value based on whether the summarization string satisfies a quality threshold using a set of neural network layers, wherein the set of neural network layers are trained using previously-validated summarization strings; and
responsive to a determination that the summarization string does not satisfy the quality threshold, generating a second summarization string using a summarization model based on the identifier string, the set of attribute name strings, and a multi-word description associated with the first data model instance.

### Claim 7 (depends on 5)

The method of claim 5, wherein the set of attributes is a first set of attributes, further comprising:
obtaining a second data model instance comprising a second identifier string and a second set of attributes, wherein a first attribute from the first set of attributes shares an attribute name with a second attribute from the second set of attributes; and
selecting the first label and the second label to be part of a second selected set of labels based on an association between the second data model instance and the first data model instance, wherein the second selected set of labels is associated with the second data model instance.

### Claim 8 (depends on 5)

The method of claim 5, wherein the ontology graph is a first ontology graph, wherein the first data model instance is associated with a text descriptor comprising a plurality of words, and wherein the method further comprises:
selecting a second ontology graph based on the first label or the second label, wherein the second ontology graph comprises a third label, a fourth label, and an association between the third label and the fourth label; and
using a summarization model to generate a summarization string based on the text descriptor, the third label, and the fourth label.

### Claim 9 (depends on 8)

The method of claim 8, wherein using the summarization model comprises:
using a transformer model that takes the text descriptor as an input;
determining a set of embedding vectors as word scores for words in the text descriptor; and selecting a first word associated with a word score based on a comparison of the word scores with each other, wherein the summarization string comprises the first word.

### Claim 10 (depends on 5)

The method of claim 5, wherein:
the first data model instance comprises a set of attribute descriptors;
each attribute descriptor of the set of attribute descriptors is associated with one of the set of attribute name strings; and
using the first prediction model to select the first label comprises using the set of attribute descriptors as inputs for the first prediction model.

### Claim 11 (depends on 5)

The method of claim 5, further comprising:
obtaining a set of usage values, wherein each respective usage value of the set of usage values corresponds with a respective attribute of the set of attributes, and wherein, for each respective usage value of the set of usage values, a respective usage value correlates with a count of times that the respective attribute is accessed within a duration; and
determining a set of attribute prioritization values based on the set of usage values, wherein each attribute prioritization value of the set of attribute prioritization values is associated with one of the set of attributes, and wherein using the first prediction model comprises selecting the first label based on the set of attribute prioritization values.

### Claim 12 (depends on 5)

The method of claim 5, further comprising:
selecting a summarization template based on the first label; and
generating a summarization string based on the summarization template.

### Claim 13 (depends on 5)

The method of claim 5, wherein the first data model instance is associated with a preset label, the method further comprising:
determining whether the selected set of labels includes the preset label; and
in response to a determination that the selected set of labels does not include the preset label, generating a tag to indicate that the preset label is not in the selected set of labels.

### Claim 14 (depends on 5)

The method of claim 5, wherein using the first prediction model to select the first label comprises using an ensemble learning model, wherein using the ensemble learning model comprises:
determining a first value using a first learning model based on the first data model instance;
determining a first weighted value based on the first value and a first weight associated with the first learning model;
determining a second value using a second learning model based on the first data model instance;
determining a second weighted value based on the second value and a second weight associated with the second learning model; and
selecting the first label based on the first weighted value and the second weighted value.

### Claim 15 (depends on 5)

The method of claim 5, further comprising:
generating a first summarization string based on values of the first data model instance using a summarization model;
generating for display the first summarization string on an electronic device;
receiving a second summarization string from the electronic device, wherein the second summarization string is associated with the first data model instance; and
responsive to receiving the second summarization string, training the summarization model using the second summarization string as a training objective.

### Claim 16 (depends on 5)

The method of claim 5, further comprising:
generating for display the selected set of labels on an electronic device;
receiving a value corresponding with a third label, wherein the third label is not in the selected set of labels; and
training the first prediction model using the first data model instance as a training input, wherein a training objective associated with the first data model instance comprises the third label.

### Claim 17 (depends on 5)

The method of claim 5, further comprising:
updating a label associated with the first data model instance with an update via an application program interface,
determining whether the label is associated with a set of training inputs used during training of the first prediction model; and
in response to a determination that the label is associated with the set of training inputs, training the first prediction model based on the label.

### Claim 18

A non-transitory computer-readable media comprising instructions that, when executed by one or more processors, cause operations comprising:
obtaining a first data model instance comprising an identifier string and a set of attributes;
obtaining an ontology graph comprising a first label, a second label, and an association between the first label and the second label;
using a first prediction model to select the first label based on the first data model instance;
selecting the second label based on the association between the first label and the second label in the ontology graph;
storing an association between the second label and the first data model instance in a memory storage;
generating a summarization string using a second set of neural network layers, wherein the summarization string comprises the first label and the second label; and
generating for display the summarization string.

### Claim 19 (depends on 18)

The non-transitory computer-readable media of claim 18, the operations further comprising:
obtaining a set of previously-labeled data model instances and a set of training labels, wherein each previously-labeled data model instance of the set of previously-labeled data model instances is associated with a label of the set of training labels, and
training the first prediction model using values from the set of previously-labeled data model instances as training inputs and the set of training labels as training objectives.

### Claim 20 (depends on 18)

The non-transitory computer-readable media of claim 18, the operations further comprising:
obtaining a corpus of previously-written text descriptors;
computing a set of word scores based on the corpus of previously-written text descriptors; and
generating the ontology graph based on the set of word scores.
