IP Library Granted Patent US 11,409,963
Granted Patent B1
US 11,409,963 · App. 16/679,125 · Granted Aug 9, 2022

Generating concepts from text reports

Inventor: Pavan Kumar Nagula (Singapore, SG)
Assignee: Pivotal Software, Inc.
G06F40/30G06N5/04G06N20/00
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,409,963
App. No.
16/679,125
Granted
Aug 9, 2022
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for automatic text report concept generation. Generating concepts from text reports includes receiving a collection of text reports; performing a clustering process for a plurality of different cluster sizes; evaluating each of the plurality of different cluster sizes to select an optimal cluster size; generating, from the collection of text reports, clusters using the selected optimal cluster size; aggregating text associated with text reports in each cluster; maintaining a training dataset comprising the aggregated text; and generating a predictive model from the training dataset to generate a concept for an input text report.

Claims (77)

1. A method performed by one or more computers, the method comprising:

receiving a collection of text reports, wherein a first portion of the text reports are associated with respective concepts;

performing a clustering process for a plurality of different cluster sizes, including generating, for each cluster size of the plurality of different cluster sizes, a plurality of different clusters of text reports from a second portion of the text reports, the second portion including at least one text report that does not have an associated concept;

evaluating each of the plurality of different cluster sizes to select an optimal cluster size;

generating, from the collection of text reports, clusters using the selected optimal cluster size;

aggregating text associated with text reports in the first portion of text reports to generate respective first aggregated text for each cluster that is associated with a corresponding concept;

aggregating text associated with text reports belonging to each respective cluster to generate respective second aggregated text for each cluster of the clusters generated using the selected optimal cluster size;

maintaining a training dataset comprising the first and second aggregated text; and

generating a predictive model from the training dataset to generate a concept for an input text report.

2. The method of claim 1 , further comprising:

performing sentiment analysis on one or more text reports in the second portion of text reports,

wherein generating the clusters using the selected optimal cluster size comprises assigning text reports having similar sentiment to a same respective cluster.

3. The method of claim 1 , further comprising:

augmenting the training set with a corpus of publically available text.

4. The method of claim 1 , wherein the second portion of the text reports comprises text reports that are not associated with a concept.

5. The method of claim 1 , wherein the collection of the text reports are all associated with a same issue in an organization.

6. The method of claim 1 , further comprising:

receiving a test collection of text reports for which concepts are to be generated;

performing the clustering process for a second plurality of different cluster sizes and evaluating each of the second plurality of different cluster sizes to select a second optimal cluster size;

aggregating text associated with the test collection of text reports to generate test aggregated text for each cluster of the clusters generated using the second optimal cluster size; and

providing the test aggregated text to the predictive model to generate respective concepts for the test collection of text reports.

7. The method of claim 6 , further comprising:

augmenting the first portion of the text reports with text reports and generated concepts of the test collection of text reports; and

regenerating the model using augmented first portion of the text reports having the generated concepts for the test collection of test reports.

8. The method of claim 7 , further comprising repeatedly reaugmenting the first portion of the text reports and regenerating the model as additional test collections of text reports are received.

9. The method of claim 1 , wherein maintaining the training dataset comprises, for each aggregated text:

selecting, from the aggregated text, selected text that is most representative of the aggregated text.

10. The method of claim 9 , further comprising, for each aggregated text:

generating an undirected graph having a plurality of nodes and a plurality of edges that connect a respective pair of nodes, wherein each node corresponds to a text;

identifying, from the undirected graph, one or more subgraphs;

determining, for each identified subgraph, respective importance scores for nodes that are included in the subgraph; and

selecting, from each identified subgraph and based at least on the respective importance scores, one or more selected nodes.

11. The method of claim 10 , wherein determining respective importance scores for nodes that are included in the subgraph comprises:

determining a total number of nodes that are included in each identified subgraph.

12. The method of claim 10 , wherein determining respective importance scores for nodes that are included in the subgraph comprises:

determining respective PageRank scores for nodes that are included in each identified subgraph.

13. A system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a collection of text reports, wherein a first portion of the text reports are associated with respective concepts;

performing a clustering process for a plurality of different cluster sizes, including generating, for each cluster size of the plurality of different cluster sizes, a plurality of different clusters of text reports from a second portion of the text reports, the second portion including at least one text report that does not have an associated concept;

evaluating each of the plurality of different cluster sizes to select an optimal cluster size;

generating, from the collection of text reports, clusters using the selected optimal cluster size;

aggregating text associated with text reports in the first portion of text reports to generate respective first aggregated text for each cluster that is associated with a corresponding concept;

aggregating text associated with text reports belonging to each respective cluster to generate respective second aggregated text for each cluster of the clusters generated using the selected optimal cluster size;

maintaining a training dataset comprising the first and second aggregated text; and

generating a predictive model from the training dataset to generate a concept for an input text report.

14. The system of claim 13 , wherein the operations further comprise:

performing sentiment analysis on one or more text reports in the second portion of text reports,

wherein generating the clusters using the selected optimal cluster size comprises assigning text reports having similar sentiment to a same respective cluster.

15. The system of claim 13 , wherein the operations further comprise:

receiving a test collection of text reports for which concepts are to be generated;

performing the clustering process for a second plurality of different cluster sizes and evaluating each of the second plurality of different cluster sizes to select a second optimal cluster size;

aggregating text associated with the test collection of text reports to generate test aggregated text for each cluster of the clusters generated using the second optimal cluster size; and

providing the test aggregated text to the predictive model to generate respective concepts for the test collection of text reports.

16. The system of claim 13 , wherein maintaining the training dataset comprises, for each aggregated text:

selecting, from the aggregated text, selected text that is most representative of the aggregated text.

17. The system of claim 16 , wherein the operations further comprise, for each aggregated text:

generating an undirected graph having a plurality of nodes and a plurality of edges that connect a respective pair of nodes, wherein each node corresponds to a text;

identifying, from the undirected graph, one or more subgraphs;

determining, for each identified subgraph, respective importance scores for nodes that are included in the subgraph; and

selecting, from each identified subgraph and based at least on the respective importance scores, one or more selected nodes.

18. A non-transitory computer storage medium encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

receiving a collection of text reports, wherein a first portion of the text reports are associated with respective concepts;

performing a clustering process for a plurality of different cluster sizes, including generating, for each cluster size of the plurality of different cluster sizes, a plurality of different clusters of text reports from a second portion of the text reports, the second portion including at least one text report that does not have an associated concept;

evaluating each of the plurality of different cluster sizes to select an optimal cluster size;

generating, from the collection of text reports, clusters using the selected optimal cluster size;

aggregating text associated with text reports in the first portion of text reports to generate respective first aggregated text for each cluster that is associated with a corresponding concept;

aggregating text associated with text reports belonging to each respective cluster to generate respective second aggregated text for each cluster of the clusters generated using the selected optimal cluster size;

maintaining a training dataset comprising the first and second aggregated text; and

generating a predictive model from the training dataset to generate a concept for an input text report.

19. The non-transitory computer storage medium of claim 18 , wherein the operations further comprise:

performing sentiment analysis on one or more text reports in the second portion of text reports,

wherein generating the clusters using the selected optimal cluster size comprises assigning text reports having similar sentiment to a same respective cluster.

20. The non-transitory computer storage medium of claim 18 , wherein the operations further comprise:

receiving a test collection of text reports for which concepts are to be generated;

performing the clustering process for a second plurality of different cluster sizes and evaluating each of the second plurality of different cluster sizes to select a second optimal cluster size;

aggregating text associated with the test collection of text reports to generate test aggregated text for each cluster of the clusters generated using the second optimal cluster size; and

providing the test aggregated text to the predictive model to generate respective concepts for the test collection of text reports.

Assignments (2)
MERGER Recorded May 20, 2026
From: PIVOTAL SOFTWARE, INC.
To: VMWARE LLC
Reel/Frame 075613/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2020
From: NAGULA, PAVAN KUMAR
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 051777/0702 →
Cited By (1)
US 12,406,591