IP Library Granted Patent US 10,719,542
Granted Patent B1
US 10,719,542 · App. 15/897,373 · Granted Jul 21, 2020

Applied artificial intelligence technology for ontology building to support natural language generation (NLG) using composable communication goals

Inventors: Andrew R. Paley (Chicago, IL); Nathan Drew Nichols (Chicago, IL); Matthew Lloyd Trahan (Chicago, IL); Maia Jane Lewis Meza (Chicago, IL); Lawrence A. Birnbaum (Evanston, IL); Kristian J. Hammond (Chicago, IL)
Assignee: NARRATIVE SCIENCE INC.
G06F16/367G06F40/295G06F40/56G06Q10/10
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,719,542
App. No.
15/897,373
Filed
Feb 15, 2018
Granted
Jul 21, 2020
Kind
B1
Art Unit
2677
USPC
704/9
Abstract

Artificial intelligence (AI) technology can be used in combination with composable communication goal statements and an ontology to facilitate a user's ability to quickly structure story outlines in a manner usable by an NLG narrative generation system without any need for the user to directly author computer code. This AI technology permits NLG systems to determine the appropriate content for inclusion in a narrative story about a data set in a manner that will satisfy a desired communication goal. The AI NLG computer system can also build and update the ontology concurrently with a user's composition of communication goal statements.

Claims (106)

1. A method comprising:

within an artificial intelligence (AI) natural language generation (NLG) system that automatically generates a narrative story about a data set from a communication goal statement, a processor building an ontology for use by the AI NLG system concurrently with a process through which a user composes a communication goal statement for use by the AI NLG system.

2. The method of claim 1 further comprising:

the AI NLG system generating the narrative story about the data set based on the user-composed communication goal statement and the ontology.

3. The method of claim 1 further comprising:

the processor receiving at least a portion of a communication goal statement from the user, the portion comprising a word; and

the processor creating an ontological object within the ontology based on the word.

4. The method of claim 3 wherein the creating is performed in response to input from the user.

5. The method of claim 3 further comprising:

the processor creating metadata for the created ontological object based on inputs from the user received through a user interface.

6. The method of claim 5 wherein the metadata comprises at least one of a type for the ontological object, an expression for the ontological object, a computational framework for the ontological object, and/or an association with another ontological object within the ontology.

7. The method of claim 3 wherein the word comprises a noun, and wherein the created ontological object comprises an entity type corresponding to the noun.

8. The method of claim 7 further comprising:

the processor receiving input from the user that identifies a type for the entity type; and

the processor updating the ontology to associate the entity type with the identified type.

9. The method of claim 7 further comprising:

the processor receiving input from the user that identifies a word or phrase to use as an expression for the entity type; and

the processor updating the ontology to associate the entity type with an expression corresponding to the identified word or phrase.

10. The method of claim 9 further comprising:

the AI NLG system generating the narrative story about the data set based on the user-composed communication goal statement and the ontology; and

wherein the generating step comprises the AI NLG system selecting an expression from among one or more of the expressions associated with the entity type for referring to the entity type in the narrative story.

11. The method of claim 7 wherein the portion comprises a plurality of words, the words comprising a first word and a second word, the first word corresponding to the entity type, and wherein the method further comprises:

the processor creating another ontological object within the ontology based on the second word.

12. The method of claim 11 wherein the created another ontological object comprises an attribute corresponding to the second word, wherein the attribute ontological object corresponding to the second word is associated with the entity type ontological object corresponding to the first word.

13. The method of claim 12 further comprising:

the processor receiving input from the user that identifies a type for the attribute; and

the processor updating the ontology to associate the attribute with the identified type.

14. The method of claim 13 wherein the attribute type comprises a static value.

15. The method of claim 13 wherein the attribute type comprises a computed value, and wherein the method further comprises:

the processor receiving input from the user that specifies a framework for computing the attribute; and

the processor updating the ontology to associate the attribute with the specified framework.

16. The method of claim 12 further comprising:

the processor receiving input from the user that identifies a word or phrase to use as an expression for the attribute; and

the processor updating the ontology to associate the attribute with an expression corresponding to the identified word or phrase.

17. The method of claim 16 further comprising:

the AI NLG system generating the narrative story about the data set based on the user-composed communication goal statement and the ontology; and

wherein the generating step comprises the AI NLG system selecting an expression from among one or more of the expressions associated with the attribute for referring to the attribute in the narrative story.

18. The method of claim 11 wherein the created another ontological object comprises a characterization corresponding to the second word, wherein the characterization ontological object corresponding to the second word is associated with the entity type ontological object corresponding to the first word.

19. The method of claim 18 further comprising:

the processor receiving input from the user that specifies a framework for computing the characterization; and

the processor updating the ontology to associate the characterization with the specified framework.

20. The method of claim 19 wherein the characterization comprises a plurality of outcomes, and wherein the framework includes a plurality of qualifications for the outcomes.

21. The method of claim 20 further comprising:

the processor receiving input from the user that identifies a plurality of words or phrases to use as expressions for the outcomes; and

the processor updating the ontology to associate the characterization with the outcome expressions for the identified words or phrases.

22. The method of claim 21 further comprising:

the AI NLG system generating the narrative story about the data set based on the user-composed communication goal statement and the ontology; and

wherein the generating step comprises the AI NLG system selecting an outcome expression from among one or more of the outcome expressions associated with the characterization for referring to the characterization in the narrative story.

23. The method of claim 11 wherein the created another ontological object comprises a relationship corresponding to the second word, wherein the relationship ontological object corresponding to the second word is associated with the entity type ontological object corresponding to the first word.

24. The method of claim 23 wherein the relationship ontological object associates the entity type ontological object corresponding to the first word with another entity type in the ontology.

25. The method of claim 24 further comprising:

the processor receiving input from the user that identifies a type for the relationship; and

the processor updating the ontology to associate the relationship with the identified type.

26. The method of claim 24 further comprising:

the processor receiving input from the user that identifies a word or phrase to use as an expression for the relationship; and

the processor updating the ontology to associate the relationship with an expression corresponding to the identified word or phrase.

27. The method of claim 26 further comprising:

the AI NLG system generating the narrative story about the data set based on the user-composed communication goal statement and the ontology; and

wherein the generating step comprises the AI NLG system selecting an expression from among one or more of the expressions associated with the relationship for referring to the relationship in the narrative story.

28. The method of claim 11 wherein the created another ontological object comprises a timeframe corresponding to the second word.

29. The method of claim 28 further comprising:

the processor receiving input from the user that identifies a type for the timeframe; and

the processor updating the ontology to associate the timeframe with the identified type.

30. The method of claim 28 further comprising:

the processor receiving input from the user that identifies a word or phrase to use as an expression for the timeframe; and

the processor updating the ontology to associate the timeframe with an expression corresponding to the identified word or phrase.

31. The method of claim 30 further comprising:

the AI NLG system generating the narrative story about the data set based on the user-composed communication goal statement and the ontology; and

wherein the generating step comprises the AI NLG system selecting an expression from among one or more of the expressions associated with the timeframe for referring to the timeframe in the narrative story.

32. The method of claim 3 wherein the word comprises a noun or a verb, and wherein the created ontological object comprises an attribute corresponding to the noun or verb.

33. The method of claim 3 wherein the word comprises a noun or an adjective, and wherein the created ontological object comprises a characterization corresponding to the noun or adjective.

34. The method of claim 3 wherein the word comprises a preposition, and wherein the created ontological object comprises a relationship corresponding to the preposition.

35. An artificial intelligence (AI) natural language generation (NLG) computer system, the system comprising:

a memory configured to store an ontology; and

a processor configured to build the ontology for use by the AI NLG computer system concurrently with a process through which a user composes a communication goal statement for use by the AI NLG computer system to generate a narrative story about a data set.

36. A computer program product for an artificial intelligence (AI) natural language generation (NLG) computer system, the computer program product comprising:

a plurality of instructions resident on a non-transitory computer-readable storage medium, wherein the instructions are executable by a processor to cause a processor to build an ontology in a memory for use by the AI NLG computer system concurrently with a process through which a user composes a communication goal statement for use by the AI NLG computer system to generate a narrative story about a data set.

37. The system of claim 35 wherein the processor is further configured to generate the narrative story about the data set based on the user-composed communication goal statement and the ontology.

38. The system of claim 37 wherein the processor is further configured to:

receive at least a portion of a communication goal statement from the user, the portion comprising a word; and

create an ontological object within the ontology based on the word.

39. The system of claim 38 wherein the processor is further configured to create metadata for the created ontological object based on inputs from the user received through a user interface.

40. The system of claim 38 wherein the word comprises a noun, and wherein the created ontological object comprises an entity type corresponding to the noun.

41. The system of claim 40 wherein the processor is further configured to:

receive input from the user that identifies a type for the entity type; and

update the ontology to associate the entity type with the identified type.

42. The system of claim 40 wherein the processor is further configured to:

receive input from the user that identifies a word or phrase to use as an expression for the entity type; and

update the ontology to associate the entity type with an expression corresponding to the identified word or phrase.

43. The system of claim 42 wherein the processor is further configured to select an expression from among one or more of the expressions associated with the entity type for referring to the entity type in the narrative story.

44. The system of claim 40 wherein the portion comprises a plurality of words, the words comprising a first word and a second word, the first word corresponding to the entity type; and

wherein the processor is further configured to create another ontological object within the ontology based on the second word.

45. The system of claim 44 wherein the created another ontological object comprises an attribute corresponding to the second word, wherein the attribute ontological object corresponding to the second word is associated with the entity type ontological object corresponding to the first word.

46. The system of claim 44 wherein the created another ontological object comprises a characterization corresponding to the second word, wherein the characterization ontological object corresponding to the second word is associated with the entity type ontological object corresponding to the first word.

47. The system of claim 46 wherein the processor is further configured to:

receive input from the user that specifies a framework for computing the characterization; and

update the ontology to associate the characterization with the specified framework.

48. The system of claim 44 wherein the created another ontological object comprises a relationship corresponding to the second word, wherein the relationship ontological object corresponding to the second word is associated with the entity type ontological object corresponding to the first word.

49. The system of claim 48 wherein the relationship ontological object associates the entity type ontological object corresponding to the first word with another entity type in the ontology.

50. The system of claim 44 wherein the created another ontological object comprises a timeframe corresponding to the second word.

51. The system of claim 38 wherein the word comprises a noun or a verb, and wherein the created ontological object comprises an attribute corresponding to the noun or verb.

52. The system of claim 38 wherein the word comprises a noun or an adjective, and wherein the created ontological object comprises a characterization corresponding to the noun or adjective.

53. The system of claim 38 wherein the word comprises a preposition, and wherein the created ontological object comprises a relationship corresponding to the preposition.

54. The system of claim 35 wherein the processor comprises a plurality of processors.

55. The computer program product of claim 36 wherein the instructions are further executable by a processor to cause the processor to generate the narrative story about the data set based on the user-composed communication goal statement and the ontology.

56. The method of claim 1 wherein the processor comprises a plurality of processors.

Assignments (5)
CHANGE OF NAME Recorded Mar 25, 2024
From: NARRATIVE SCIENCE INC.
To: NARRATIVE SCIENCE LLC
Reel/Frame 066884/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2024
From: NARRATIVE SCIENCE LLC
To: SALESFORCE, INC.
Reel/Frame 067218/0449 →
RELEASE OF SECURITY INTEREST Recorded Mar 1, 2022
From: CIBC BANK USA
To: NARRATIVE SCIENCE INC
Reel/Frame 059640/0008 →
SECURITY INTEREST Recorded Aug 30, 2019
From: NARRATIVE SCIENCE INC.
To: CIBC BANK USA
Reel/Frame 050237/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2018
From: PALEY, ANDREW R.; NICHOLS, NATHAN DREW; TRAHAN, MATTHEW LLOYD; LEWIS MEZA, MAIA JANE; BIRNBAUM, LAWRENCE A.; HAMMOND, KRISTIAN J.
To: NARRATIVE SCIENCE INC.
Reel/Frame 045881/0060 →
Continuity (1)
Provisional Application 62460349 · Feb 17, 2017
Cited By (10)
US 12,248,461 US 12,288,039 US 12,423,525 US 12,462,114 US 12,468,694 US 12,505,093 US 12,608,416 US 12,614,042 US 12,632,445 US 12,681,997