IP Library Granted Patent US 10,127,214
Granted Patent B2
US 10,127,214 · App. 14/964,517 · Granted Nov 13, 2018

Methods for generating natural language processing systems

Inventors: Robert J. Munro (San Francisco, CA); Schuyler D. Erle (San Francisco, CA); Christopher Walker (San Francisco, CA); Sarah K. Luger (San Francisco, CA); Jason Brenier (Oakland, CA); Gary C. King (Los Altos, CA); Paul A. Tepper (San Francisco, CA); Ross Mechanic (San Francisco, CA); Andrew Gilchrist-Scott (Berkeley, CA); Jessica D. Long (San Francisco, CA); James B. Robinson (San Francisco, CA); Brendan D. Callahan (Philadelphia, PA); Michelle Casbon (San Antonio, TX); Ujjwal Sarin (San Francisco, CA); Aneesh Nair (Fremont, CA); Veena Basavaraj (San Francisco, CA); Tripti Saxena (Cupertino, CA); Edgar Nunez (Union City, CA); Martha G. Hinrichs (San Francisco, CA); Haley Most (San Francisco, CA); Tyler J. Schnoebelen (San Francisco, CA)
Assignee: Sansa Al Inc.
G06F17/241G06F3/0482G06F17/2241G06F17/272G06F17/2785G06F17/28G06F17/2809G06F17/30401G06F17/30445G06F17/30598G06F17/30604G06F17/30654G06F17/30705G06F17/30734G06F17/30864G06Q50/01
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 10,127,214
App. No.
14/964,517
Granted
Nov 13, 2018
Kind
B2
Abstract

Methods are presented for generating a natural language model. The method may comprise: ingesting training data representative of documents to be analyzed by the natural language model, generating a hierarchical data structure comprising at least two topical nodes within which the training data is to be subdivided into by the natural language model, selecting a plurality of documents among the training data to be annotated, generating an annotation prompt for each document configured to elicit an annotation about said document indicating which node among the at least two topical nodes said document is to be classified into, receiving the annotation based on the annotation prompt; and generating the natural language model using an adaptive machine learning process configured to determine patterns among the annotations for how the documents in the training data are to be subdivided according to the at least two topical nodes of the hierarchical data structure.

Claims (73)

1. A method for generating a natural language model, the method comprising:

ingesting, by a natural language platform comprising at least one processor coupled to at least one memory, training data representative of documents to be analyzed by the natural language model, wherein the training data includes at least one of a first document and a portion of the first document;

generating, by the natural language platform and based on topical content within the training data, a hierarchical data structure, the hierarchical data structure comprising at least two topical nodes, wherein the at least two topical nodes represent partitions organized by two or more topical themes among the topical content of the training data within which the training data is to be subdivided into;

selecting among the training data, by the natural language platform, a plurality of documents to be annotated;

determining, by the natural language platform, for each document among the plurality of documents, a level of ambiguity in interpreting said document that the natural language platform is trying to resolve, wherein the level of ambiguity is dependent upon information currently possessed by the natural language platform;

generating, by the natural language platform, an annotation prompt for each document among the plurality of documents to be annotated, said annotation prompt being dynamically generated as either a first level prompt corresponding to a first level of specificity or a second level prompt corresponding to a second level of specificity, wherein both the first level prompt and the second level prompt comprise a human readable textual instruction generated by the natural language platform worded according to the first level of specificity or the second level of specificity, and the first level prompt and the second level prompt are presented alternatively,

the first level of specificity and the second level of specificity corresponding to the level of ambiguity of said document,

said annotation prompt configured to elicit an annotation about said document designed to resolve said level of ambiguity and indicating which node among the at least two topical nodes of the hierarchical data structure said document is to be classified into,

wherein the first level of specificity comprises a first level of true-or-false question and the second level of specificity comprises a multiple-choice question comprising at least three options, wherein the first level of specificity corresponds to a lower level of ambiguity than the second level of specificity;

causing display of, by the natural language platform, the annotation prompt for each document among the plurality of documents to be annotated;

receiving, by the natural language platform, for each document among the plurality of documents to be annotated, the annotation in response to the displayed annotation prompt; and

generating, by the natural language platform, the natural language model using an adaptive machine learning process configured to determine, among the received annotations, patterns for how the documents in the training data are to be subdivided according to the at least two topical nodes of the hierarchical data structure.

2. The method of claim 1 , further comprising:

testing, by the natural language platform, performance of the natural language model using a subset of the documents among the training data that received annotations.

3. The method of claim 2 , further comprising:

computing, by the natural language platform, a performance metric of the natural language model, based on results of the testing; and

determining whether the natural language model satisfies at least one performance criterion based on the computed performance metric.

4. The method of claim 3 , further comprising:

performing, by the natural language platform, one or more optimization techniques configured to improve performance of the natural language platform, in response to determining that the natural language platform fails to satisfy the at least one performance criterion based on the computed performance metric.

5. The method of claim 4 , wherein the one or more optimization techniques comprises at least one of: a feature selection process, a padding and rebalancing process of the natural language model, a pruning process of the natural language model, a feature discovery process, a smoothing process of the natural language model, or a model interpolation process.

6. The method of claim 3 , further comprising:

determining that the natural language platform fails to satisfy the at least one performance criterion based on the computed performance metric;

in response to said determining:

identifying a topical node among the two or more topical nodes of the hierarchical data structure that the natural language model fails to accurately categorize documents into;

selecting a second plurality of documents to be annotated that were not previously annotated, the second plurality comprising documents associated with said topical node that the natural language model failed to accurately categorize documents into;

generating a second set of annotation prompts comprising an annotation prompt for each document among the second plurality of documents to be annotated, said annotation prompt among the second set comprising a human readable textual communication that is configured to elicit an annotation about said document to improve the natural language model in accurately categorizing documents into said topical node;

causing display of the second set of annotation prompts for documents among the second plurality of documents to be annotated;

receiving, by the natural language platform, for documents among the second plurality of documents to be annotated, a second set of annotations in response to the second set of displayed annotation prompts; and

generating, by the natural language platform, a refined natural language model using the adaptive machine learning process and based on the hierarchical data structure, the training data and the second set of annotations.

7. The method of claim 1 , wherein generating the hierarchical data structure comprises:

performing a topic modeling process configured to identify two or more topics among the content of the training data that is configured to define the two or more topical nodes of the hierarchical data structure.

8. The method of claim 1 , further comprising accessing one or more rules configured to instruct the natural language model how to categorize one or more documents into the two or more nodes of the hierarchical data structure.

9. The method of claim 8 , wherein generating the hierarchical data structure comprises:

conducting a rules generation process configured to evaluate logical consistency among the one or more rules.

10. The method of claim 1 , wherein generating the hierarchical data structure comprises:

generating, by the natural language platform, at least one annotation prompt for each topical node among the two or more topical nodes in the hierarchical data structure, said annotation prompt configured to elicit an annotation about said topical node indicating a level of accuracy of placement of the node within the hierarchical data structure;

causing display of, by the natural language platform, the at least one annotation prompt for each topical node; and

receiving, by the natural language platform, for each topical node, the annotation in response to the displayed annotation prompt.

11. The method of claim 10 , further comprising evaluating performance of the hierarchical data structure based on the annotations.

12. The method of claim 11 , further comprising in response to the evaluating, determining that the hierarchical data structure fails to satisfy at least one performance criterion; and

modifying a logical relationship among the two or more topical nodes based on the annotations and in response to determining that the data structure fails to satisfy the at least one performance criterion.

13. The method of claim 9 , further comprising generating a training guideline based on the annotations to the nodes, the training guideline configured to provide instructions to an annotator for answering one or more annotation prompts for each document among the plurality of documents to be annotated.

14. The method of claim 1 , wherein the hierarchical data structure comprises at least a third topical node and a fourth topical node, wherein the third and fourth topical nodes both represent sub-partitions within the topical theme of the first node and organized by a third and fourth topical theme, respectively, among the topical content of the training data within which the training data is to be subdivided into.

15. A non-transitory computer readable medium comprising instructions that, when executed by a processor, cause the processor to perform operations comprising:

ingesting training data representative of documents to be analyzed by a natural language model, wherein the training data includes at least one of a first document and a portion of the first document;

generating a hierarchical data structure, the hierarchical data structure comprising at least two topical nodes, wherein the at least two topical nodes represent partitions organized by two or more topical themes among the topical content of the training data within which the training data is to be subdivided into;

selecting among the training data a plurality of documents to be annotated;

determining, for each document among the plurality of documents, a level of ambiguity in interpreting said document that the natural language platform is trying to resolve, wherein the level of ambiguity is dependent upon information currently possessed by the natural language platform;

generating an annotation prompt for each document among the plurality of documents to be annotated, said annotation prompt being dynamically generated as either a first level prompt corresponding to a first level of specificity or a second level prompt corresponding to a second level of specificity, wherein both the first level prompt and the second level prompt comprise a human readable textual instruction worded according to the first level of specificity or the second level of specificity, and the first level prompt and the second level prompt are presented alternatively,

the first level of specificity and the second level of specificity corresponding to the level of ambiguity of said document,

said annotation prompt configured to elicit an annotation about said document designed to resolve said level of ambiguity and indicating which node among the at least two topical nodes of the hierarchical data structure said document is to be classified into,

wherein the first level of specificity comprises a first level of true-or-false question and the second level of specificity comprises a multiple-choice question comprising at least three options, wherein the first level of specificity corresponds to a lower level of ambiguity than the second level of specificity;

causing display of the at least one annotation prompt for each document among the plurality of documents to be annotated;

receiving for each document among the plurality of documents to be annotated, the annotation in response to the displayed annotation prompt; and

generating the natural language model using an adaptive machine learning process configured to determine, among the received annotations, patterns for how the documents in the training data are to be subdivided according to the at least two topical nodes of the hierarchical data structure.

16. The computer readable medium of claim 15 , wherein the operations further comprise:

testing performance of the natural language model using a subset of the documents among the training data that received annotations.

17. The computer readable medium of claim 16 , wherein the operations further comprise:

computing a performance metric of the natural language model, based on results of the testing; and

determining whether the natural language model satisfies at least one performance criterion based on the computed performance metric.

18. The computer readable medium of claim 17 , wherein the operations further comprise:

determining that the natural language platform fails to satisfy the at least one performance criterion based on the computed performance metric;

in response to said determining:

identifying a topical node among the two or more topical nodes of the hierarchical data structure that the natural language model fails to accurately categorize documents into;

selecting a second plurality of documents to be annotated that were not previously annotated, the second plurality comprising documents associated with said topical node that the natural language model failed to accurately categorize documents into;

generating a second set of annotation prompts comprising an annotation prompt for each document among the second plurality of documents to be annotated, said annotation prompt among the second set comprising a human readable textual communication that is configured to elicit an annotation about said document to improve the natural language model in accurately categorizing documents into said topical node;

causing display of the second set of annotation prompts for documents among the second plurality of documents to be annotated;

receiving, by the natural language platform, for documents among the second plurality of documents to be annotated, a second set of annotations in response to the second set of displayed annotation prompts; and

generating, by the natural language platform, a refined natural language model using the adaptive machine learning process and based on the hierarchical data structure, the training data and the second set of annotations.

19. The computer readable medium of claim 15 , wherein generating the hierarchical data structure comprises:

generating at least one annotation prompt for each topical node among the two or more topical nodes in the hierarchical data structure, said annotation prompt configured to elicit an annotation about said topical node indicating a level of accuracy of placement of the node within the hierarchical data structure;

causing display of the at least one annotation prompt for each topical node; and

receiving for each topical node, the annotation in response to the displayed annotation prompt.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2024
From: 100.CO GLOBAL HOLDINGS, LLC
To: AI IP INVESTMENTS LTD.
Reel/Frame 066636/0583 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2023
From: DAASH INTELLIGENCE, INC.
To: 100.CO GLOBAL HOLDINGS, LLC
Reel/Frame 064420/0108 →
CHANGE OF NAME Recorded Mar 7, 2023
From: 100.CO TECHNOLOGIES, INC.
To: DAASH INTELLIGENCE, INC.
Reel/Frame 062992/0333 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 16, 2022
From: 100.CO, LLC
To: 100.CO TECHNOLOGIES, INC.
Reel/Frame 062131/0714 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE CITY PREVIOUSLY RECORDED AT REEL: 055929 FRAME: 0975. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 5, 2021
From: AI IP INVESTMENTS LTD.
To: 100.CO, LLC
Reel/Frame 056151/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2021
From: AI IP INVESTMENTS LTD.
To: 100.CO, LLC
Reel/Frame 055929/0975 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVENANT INFORMATION TO BE UPDATED FROM AIRPARC HOLDING PTE. LTD. AND REPLACED WITH TREVOR HEALY (SEE MARKED ASSIGNMENT) PREVIOUSLY RECORDED ON REEL 047110 FRAME 0510. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 24, 2021
From: HEALY, TREVOR
To: AIPARC HOLDINGS PTE. LTD.
Reel/Frame 055404/0561 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2021
From: AIPARC HOLDINGS PTE. LTD.
To: AI IP INVESTMENTS LTD
Reel/Frame 055377/0995 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2018
From: IDIBON, INC.
To: IDIBON (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 047110/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2018
From: IDIBON (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: HEALY, TREVOR
Reel/Frame 047110/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2018
From: HEALY, TREVOR
To: AIPARC HOLDINGS PTE. LTD.
Reel/Frame 047110/0510 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2016
From: MUNRO, ROBERT J.; ERLE, SCHUYLER D.; WALKER, CHRISTOPHER; LUGER, SARAH K.; BRENIER, JASON; KING, GARY C.; TEPPER, PAUL A.; MECHANIC, ROSS; GILCHRIST-SCOTT, ANDREW; LONG, JESSICA D.; ROBINSON, JAMES B.; CALLAHAN, BRENDAN D.; CASBON, MICHELLE; SARIN, UJJWAL; NAIR, ANEESH; BASAVARAJ, VEENA; SAXENA, TRIPTI; NUNEZ, EDGAR; HINRICHS, MARTHA G.; MOST, HALEY; SCHNOEBELEN, TYLER J.
To: IDIBON, INC.
Reel/Frame 038609/0583 →
Continuity (5)
Provisional Application 62089736 · Dec 9, 2014
Provisional Application 62089742 · Dec 9, 2014
Provisional Application 62089745 · Dec 9, 2014
Provisional Application 62089747 · Dec 9, 2014
Related Publication 20160162456A1 · Jun 9, 2016
Cited By (3)
US 12,243,624 US 12,566,739 US 12,657,381