NATURAL LANGUAGE QUERYING WITH CASCADED CONDITIONAL RANDOM FIELDS
First Claim
1. A computer-implemented method comprising:
- receiving natural language input at a computing device;
processing the natural language input in a first conditional random field to obtain a first output from the first conditional random field, the processing in the first conditional random field comprising extracting at least a first entity and a second entity from the natural language input, labeling the first entity as a column value, and labeling the second entity as a column name, the first output comprising a column value label associated with the first entity and a column name label associated with the second entity;
processing the natural language input and the first output in a second conditional random field to obtain a second output from the second conditional random field, the processing in the second conditional random field comprising identifying at least one relationship between the first entity and the second entity, the second output comprising information that represents the at least one relationship.
2 Assignments
0 Petitions
Accused Products
Abstract
A natural language query tool comprising cascaded conditional random fields (CRFs) (e.g., a linear-chain CRF and a skip-chain CRF applied sequentially) processes natural language input to produce output that can be used in database searches. For example, cascaded CRFs extract entities from natural language input that correspond to column names or column values in a database, and identify relationships between the extracted entities. A search engine can execute queries based on output from the cascaded CRFs over an inverted index of a database, which can be based on one or more materialized views of the database. Results can be sorted (e.g., according to relevance scores) and presented in a user interface.
-
Citations
30 Claims
-
1. A computer-implemented method comprising:
-
receiving natural language input at a computing device; processing the natural language input in a first conditional random field to obtain a first output from the first conditional random field, the processing in the first conditional random field comprising extracting at least a first entity and a second entity from the natural language input, labeling the first entity as a column value, and labeling the second entity as a column name, the first output comprising a column value label associated with the first entity and a column name label associated with the second entity; processing the natural language input and the first output in a second conditional random field to obtain a second output from the second conditional random field, the processing in the second conditional random field comprising identifying at least one relationship between the first entity and the second entity, the second output comprising information that represents the at least one relationship. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25)
-
-
24. One or more computer-readable storage media having stored thereon computer-executable instructions which when executed by a computer cause the computer to perform a method, the method comprising:
-
receiving natural language input at a computing device; processing the natural language input in cascaded conditional random fields comprising a linear-chain conditional random field and a skip-chain conditional random field to obtain an output from the cascaded conditional random fields; and based on the output from the cascaded conditional random fields, forming a database query. - View Dependent Claims (26, 27, 28, 29)
-
-
30. A computing device comprising one or more processors, one or more output devices, and one or more computer readable storage media having stored therein computer-executable instructions for performing a method, the method comprising:
-
receiving natural language input at the computing device via a user interface, the natural language input comprising plural terms; assigning a part-of-speech tag to each of the plural terms in the natural language input; processing the natural language input and the part-of-speech tags in a linear-chain conditional random field to obtain first output from the linear-chain conditional random field, the first output comprising a column value label and a column name label, each label associated with one of the plural terms in the natural language input; processing the natural language input and the first output in a skip-chain conditional random field to obtain second output from the skip-chain conditional random field, the second output comprising relationship information that associates the term associated with the column value label and the term associated with the column name label; forming a search string based at least in part on the first output; sending the search string to a search engine; receiving database search results from the search engine based at least in part on the search string; ordering the database search results based on relevance scores for the respective database search results, the relevance scores based at least in part on the first output and the second output; and presenting the ordered database search results in the user interface.
-
Specification