Methods and systems for generating natural language descriptions from data
First Claim
1. A method for generating a natural language description of a user-selected item comparing the user-selected item to at least one comparison item, wherein the characteristics of both the user-selected item and the comparison item are defined by a plurality of specifications, the method comprising:
- selecting the user-selected item from a list of items stored at a computer-readable storage medium and available for text generation;
selecting the at least one comparison item from the list of items;
retrieving the specifications for the user-selected item and the at least one comparison item from a computer-readable storage medium, each specification including a comparison function that compares the specification for the user-selected item to the specification for the comparison item and a plurality of sentence templates each having a recursive phrase structure including a plurality of coded phrases using one or more of the specification for the user-selected item or the specification for the comparison item;
comparing the specifications for the user-selected item to the specifications for the at least one comparison item at a processing unit operatively coupled to the computer-readable storage medium by evaluating each comparison function to determine a comparison function result;
assigning a textual representation to each comparison function result;
evaluating the plurality of sentence templates to generate at the processing unit a plurality of natural language sentences describing the user-selected item by recursively expanding the recursive phrase structure, wherein the natural language sentences include each assigned textual representation and a recursive expansion result explains the outcome of the comparisons in natural language;
combining at the processing unit the generated natural language sentences into a natural language document describing the user-selected item; and
at least one of outputting the natural language document to an output device operatively coupled to the processing unit and storing the natural language document to one of the computer-readable storage medium and a further computer-readable storage medium operatively coupled to the processing unit.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention is directed to a natural language generation (NLG) software system that generates rich, content-sensitive human language descriptions based on unparsed raw domain-specific data. In one embodiment, the NLG software system may include a data parser/normalizer, a comparator, a language engine, and a document generator. The data parser/normalizer may be configured to retrieve specification information for items to be described by the NLG software system, to extract pertinent information from the raw specification information, and to convert and normalize the extracted information so that the items may be compared specification by specification. The comparator may be configured to use the normalized data from the data parser/normalizer to compare the specifications of the items using comparison functions and interpretation rules to determine outcomes of the comparisons. The language engine may be configured to cycle through all or a subset of the normalized specification information, to retrieve all sentence templates associated with each of the item specifications, to call the comparator to compute or retrieve the results of the comparisons between the item specifications, and to recursively generate every possible syntactically legal sentence associated with the specifications based on the retrieved sentence templates. The document generator may be configured to select one or more discourse models having instructions regarding the selection, organization and modification of the generated sentences, and to apply the instructions of the discourse model to the generated sentences to generate a natural language description of the selected items.
113 Citations
19 Claims
-
1. A method for generating a natural language description of a user-selected item comparing the user-selected item to at least one comparison item, wherein the characteristics of both the user-selected item and the comparison item are defined by a plurality of specifications, the method comprising:
-
selecting the user-selected item from a list of items stored at a computer-readable storage medium and available for text generation; selecting the at least one comparison item from the list of items; retrieving the specifications for the user-selected item and the at least one comparison item from a computer-readable storage medium, each specification including a comparison function that compares the specification for the user-selected item to the specification for the comparison item and a plurality of sentence templates each having a recursive phrase structure including a plurality of coded phrases using one or more of the specification for the user-selected item or the specification for the comparison item; comparing the specifications for the user-selected item to the specifications for the at least one comparison item at a processing unit operatively coupled to the computer-readable storage medium by evaluating each comparison function to determine a comparison function result; assigning a textual representation to each comparison function result; evaluating the plurality of sentence templates to generate at the processing unit a plurality of natural language sentences describing the user-selected item by recursively expanding the recursive phrase structure, wherein the natural language sentences include each assigned textual representation and a recursive expansion result explains the outcome of the comparisons in natural language; combining at the processing unit the generated natural language sentences into a natural language document describing the user-selected item; and at least one of outputting the natural language document to an output device operatively coupled to the processing unit and storing the natural language document to one of the computer-readable storage medium and a further computer-readable storage medium operatively coupled to the processing unit. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus structured to generate a natural language description of a user-selected item comparing the user-selected item to at least one comparison item, wherein the characteristics of both the user-selected item and the comparison item are defined by a plurality of specifications, the apparatus comprising:
-
a processing unit; and a memory device operatively coupled to the processing unit, the memory device storing a software program structured to cause the processing unit to; retrieve the specifications for the user-selected item and the at least one comparison item from one of the memory device and a storage medium operatively coupled to the processing unit, each specification including a comparison function that compares the specification for the user-selected item to the specification for the comparison item and a plurality of sentence templates each having a recursive phrase structure including a plurality of coded phrases using one or more of the specification for the user-selected item or the specification for the comparison item, compare the specifications for the user-selected item to the specifications for the at least one comparison item by evaluating each comparison function to determine a comparison function result, assign a textual representation to each comparison function result; evaluate the plurality of sentence templates to generate a plurality of natural language sentences describing the user-selected item by recursively expanding the recursive phrase structure, wherein the natural language sentences include each assigned textual representation and a recursive expansion result explains the outcome of the comparisons in natural language, and combine the generated natural language sentences into a natural language document describing the user-selected item. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable medium storing a software program structured to cause a server to:
-
retrieve a plurality of specifications for a user-selected item and for at least one comparison item from a storage medium, each specification including a comparison function that compares the specification for the user-selected item to the specification for the comparison item and a plurality of sentence templates each having a recursive phrase structure including a plurality of coded phrases using one or more of the specification for the user-selected item or the specification for the comparison item; compare the specifications for the user-selected item to the specifications for the at least one comparison item by evaluating each comparison function to determine a comparison function result; assign a textual representation to each comparison function result; evaluate the plurality of sentence templates to generate a plurality of natural language sentences describing the user-selected item by recursively expanding the recursive phrase structure, wherein the natural language sentences include each assigned textual representation and a recursive expansion result explains the outcome of the comparisons in natural language, and combine the generated natural language sentences into a natural language document having a natural language description of the user-selected item comparing the user-selected item to the at least one comparison item.
-
-
14. A natural language generation system for generating a natural language description of a user-selected item comparing the user-selected item to at least one comparison item, wherein the characteristics of each item are defined by a plurality of specifications, the system comprising:
-
a natural language generator server including a central processing unit, a non-transitory memory device, and an interface circuit, wherein the non-transitory memory device stores a plurality of modules executing on the central processing unit, the modules including; a data parser/normalizer retrieving the specifications for the user-selected item and the at least one comparison item from a storage medium via the interface unit, each specification including a comparison function that compares the specification for the user-selected item to the specification for the comparison item and a plurality of sentence templates each having a recursive phrase structure including a plurality of coded phrases using one or more of the specification for the user-selected item or the specification for the comparison item; a comparator comparing the specifications for the user-selected item to the specifications for the at least one comparison item by evaluating each comparison function to determine a comparison function result and assigning a textual representation to each comparison function result; a language engine evaluating the plurality of sentence templates to generate a plurality of natural language sentences describing the user-selected item by recursively expanding the recursive phrase structure, wherein the natural language sentences include each assigned textual representation and a recursive expansion result explains the outcome of the comparisons in natural language; and a document generator combining the natural language sentences generated by the language engine into a natural language document describing the user-selected item. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification