# US 10,311,087 B1 · Systems and methods for determining topics of data artifacts

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

- Number: US 10,311,087 B1
- Document ID: US10311087B1
- Status: Granted
- Kind: B1
- Application number: 15/072,384
- Filed: 2016-03-17
- Granted: 2019-06-04
- Earliest claimed: 2016-03-17
- Assignees: Veritas Technologies LLC
- Applicants: Veritas US IP Holdings LLC
- Inventors: Ashwin Kayyoor; Henry Aloysius; Bashyam Anant
- Web page: https://patentgrep.com/patent/US10311087B1

## CPC

- G06F 16/285: {Clustering or classification}
- G06F 16/24575: {using context}
- G06F 16/24578: {using ranking}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The disclosed computer-implemented method for determining topics of data artifacts may include (1) extracting at least one initial keyword from a data artifact with an unknown topic, (2) creating a set of keywords by generating a plurality of contextually relevant keywords related to the initial keyword and combining the initial keyword with the contextually relevant keywords to form the set of keywords, (3) retrieving, from a topic processor, at least one list of topics associated with each keyword within the set of keywords, and (4) generating, based on the retrieved topic lists, an ordered list of probable topics of the data artifact. Various other methods, systems, and computer-readable media are also disclosed.

## Claims

### Claim 1

A computer-implemented method for determining topics of data artifacts, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
extracting at least one initial keyword from a data artifact with an unknown topic;
creating a set of keywords by generating a plurality of contextually relevant keywords
related to the initial keyword and combining the initial keyword with the contextually relevant keywords to form the set of keywords;
retrieving, from a topic processor, a plurality of lists of topics, wherein each list of topics describes each keyword within the set of keywords, wherein each list of topics has a corresponding frequency in a topic frequency table;
generating a frequency distribution graph from the retrieved topic lists based on the topic frequency table; and
generating, based on the frequency, an ordered list of probable topics of the data artifact by selecting topics in the topic lists falling within the middle of the graph such that the topic with the highest frequency and the topic with the lowest frequency are not included in the ordered list of probable topics.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising generating, at the topic processor, the list of topics by:
identifying a topic hierarchy for a topic;
creating a suffix index for the topic by, for each element in the topic hierarchy: designating the element as a key;
copying each element that is above the element in the topic hierarchy into a topic space indexed on the key;
retrieving a subset of the elements in the topic space of at least one key in the suffix index;
designating the retrieved subset as the list of topics.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein:
creating the suffix index comprises designating, for each element in the topic space of each key, a depth level of the element;
retrieving the subset of the elements in the topic space of the at least one key in the suffix index comprises:
receiving a requested depth level as input;
composing the subset exclusively of elements with a depth level equal to the requested depth level.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein generating the plurality of contextually relevant keywords comprises retrieving at least one keyword from at least one predetermined external source of contextually relevant keywords.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein:
the data artifact comprises a plurality of documents;
extracting the least one initial keyword from the data artifact comprises:
summarizing the plurality of documents into a concise summary that is smaller in length than the total length of the plurality of documents;
extracting the at least one initial keyword from the concise summary.

### Claim 6

A system for determining topics of data artifacts, the system comprising:
an extraction module, stored in memory, that extracts at least one initial keyword from a data artifact with an unknown topic;
a creation module, stored in memory, that creates a set of keywords by generating a plurality of contextually relevant keywords related to the initial keyword and combining the initial keyword with the contextually relevant keywords to form the set of keywords;
a retrieval module, stored in memory, that retrieves, from a topic processor, a plurality of lists of topics, wherein each list of topics describes each keyword within the set of keywords, wherein each list of topics has a corresponding frequency in a topic frequency table;
a generation module, stored in memory, that:
generates a frequency distribution graph from the retrieved topic lists based on the topic frequency table; and
generates, based on the frequency, an ordered list of probable topics of the data artifact by selecting topics in the topic lists falling within the middle of the graph such that the topic with the highest frequency and the topic with the lowest frequency are not included in the ordered list of probable topics; and
at least one physical processor configured to execute the extraction module, the creation module, the retrieval module, and the generation module.

### Claim 7 (depends on 6)

The system of claim 6, wherein the generation module generates, at the topic processor, the list of topics by:
identifying a topic hierarchy for a topic;
creating a suffix index for the topic by, for each element in the topic hierarchy:
designating the element as a key;
copying each element that is above the element in the topic hierarchy into a topic space indexed on the key;
retrieving a subset of the elements in the topic space of at least one key in the suffix index;
designating the retrieved subset as the list of topics.

### Claim 8 (depends on 7)

The system of claim 7, wherein generation module:
creates the suffix index by designating, for each element in the topic space of each key, a depth level of the element;
retrieves the subset of the elements in the topic space of the at least one key in the suffix index by:
receiving a requested depth level as input;
composing the subset exclusively of elements with a depth level equal to the requested depth level.

### Claim 9 (depends on 6)

The system of claim 6, wherein the generation module generates the plurality of contextually relevant keywords by retrieving at least one keyword from at least one predetermined external source of contextually relevant keywords.

### Claim 10 (depends on 6)

The system of claim 6, wherein:
the data artifact comprises a plurality of documents;
the extraction module extracts the least one initial keyword from the data artifact by:
summarizing the plurality of documents into a concise summary that is smaller in length than the total length of the plurality of documents;
extracting the at least one initial keyword from the concise summary.

### Claim 11

A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:
extract at least one initial keyword from a data artifact with an unknown topic;
create a set of keywords by generating a plurality of contextually relevant keywords related to the initial keyword and combine the initial keyword with the contextually relevant keywords to form the set of keywords;
retrieve, from a topic processor, a plurality of lists of topics, wherein each list of topics describes each keyword within the set of keywords, wherein each list of topics has a corresponding frequency in a topic frequency table;
generate a frequency distribution graph from the retrieved topic lists based on the topic frequency table; and
generate, based on the frequency, an ordered list of probable topics of the data artifact by selecting topics in the topic lists falling within the middle of the graph such that the topic with the highest frequency and the topic with the lowest frequency are not included in the ordered list of probable topics.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the one or more computer-readable instructions cause the computing device to generate, at the topic processor, the list of topics by:
identifying a topic hierarchy for a topic;
creating a suffix index for the topic by, for each element in the topic hierarchy:
designating the element as a key;
copying each element that is above the element in the topic hierarchy into a topic space indexed on the key;
retrieving a subset of the elements in the topic space of at least one key in the suffix index;
designating the retrieved subset as the list of topics.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the one or more computer-readable instructions cause the computing device to:
create the suffix index by designating, for each element in the topic space of each key, a depth level of the element;
retrieve the subset of the elements in the topic space of the at least one key in the suffix index by:
receiving a requested depth level as input;
composing the subset exclusively of elements with a depth level equal to the requested depth level.

### Claim 14 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the one or more computer-readable instructions cause the computing device to generate the plurality of contextually relevant keywords by retrieving at least one keyword from at least one predetermined external source of contextually relevant keywords.

### Claim 15 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein:
the data artifact comprises a plurality of documents;
extracting the least one initial keyword from the data artifact comprises:
summarizing the plurality of documents into a concise summary that is smaller in length than the total length of the plurality of documents;
extracting the at least one initial keyword from the concise summary.
