Systems and methods for natural language communication with a computer
First Claim
1. A system for knowledge representation in a computer that can enable natural language communication with a computer, the system comprising:
- at least one hardware processor;
at least one database configured to store at least one table, the at least one table configured to store associations between concepts in a body of text and associated concept identifiers; and
a builder interfaced with the database, the builder configured to, when executed by the at least one hardware processor, construct a table that represents knowledge defined by a body of text comprising words and punctuation, the construction of the table comprisingassigning a unique identifier to an observation concept defined by the body of text,building a tree comprising a plurality of sub-concepts bybreaking the observation concept into sub-concepts by identifying a subject concept, a seam concept, and a relative concept, andjoining sub-concepts into higher order sub-concepts until two or more sub-concepts join to form the concept, wherein said joining comprisesconstructing a binary concept by either joining the subject concept and the seam concept or joining the seam concept and the relative concept, andconstructing a first higher order sub-concept by joining either the relative concept or the subject concept with the binary concept,assigning unique identifiers to each of the plurality of sub-concepts including the subject concept, the seam concept, the relative concept, the binary concept, and the first higher order sub-concept, wherein the unique identifiers assigned to the observation concept and each of the plurality of sub-concepts are generated according to the same scheme, andstoring each of the concept and plurality of sub-concepts in a row in the at least one table, wherein each row comprises the concept or sub-concept, the unique identifier assigned to the concept or sub-concept, and the unique identifiers assigned to two or more lower order sub-concepts, if any, which were joined to form the concept or sub-concept;
wherein the plurality of sub-concepts comprise at least each of the words and punctuation in the body of text.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for natural language communication with a computer, comprising a database configures to store at least one table the table configured to store associations between concepts in a text string and associated concept identifiers; and a builder interfaced with the database, the builder configured to construct a concept defined by a text string by performing a process comprising the following steps: assigning a unique identifier to the concept, breaking the concept into sub-concepts, assigning a unique identifier to each sub-concept, using legal joins to join sub-concepts into higher order sub-concepts, assigning a unique identifier to the higher-order concepts, and repeating the steps until the higher order sub-concepts join to form the concept, and storing the concept, sub-concepts, higher order sub-concepts and unique identifiers in a table in the database.
14 Citations
21 Claims
-
1. A system for knowledge representation in a computer that can enable natural language communication with a computer, the system comprising:
-
at least one hardware processor; at least one database configured to store at least one table, the at least one table configured to store associations between concepts in a body of text and associated concept identifiers; and a builder interfaced with the database, the builder configured to, when executed by the at least one hardware processor, construct a table that represents knowledge defined by a body of text comprising words and punctuation, the construction of the table comprising assigning a unique identifier to an observation concept defined by the body of text, building a tree comprising a plurality of sub-concepts by breaking the observation concept into sub-concepts by identifying a subject concept, a seam concept, and a relative concept, and joining sub-concepts into higher order sub-concepts until two or more sub-concepts join to form the concept, wherein said joining comprises constructing a binary concept by either joining the subject concept and the seam concept or joining the seam concept and the relative concept, and constructing a first higher order sub-concept by joining either the relative concept or the subject concept with the binary concept, assigning unique identifiers to each of the plurality of sub-concepts including the subject concept, the seam concept, the relative concept, the binary concept, and the first higher order sub-concept, wherein the unique identifiers assigned to the observation concept and each of the plurality of sub-concepts are generated according to the same scheme, and storing each of the concept and plurality of sub-concepts in a row in the at least one table, wherein each row comprises the concept or sub-concept, the unique identifier assigned to the concept or sub-concept, and the unique identifiers assigned to two or more lower order sub-concepts, if any, which were joined to form the concept or sub-concept; wherein the plurality of sub-concepts comprise at least each of the words and punctuation in the body of text. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for knowledge representation in a computer that can enable natural language communication with a computer, the system comprising:
-
at least one hardware processor; a user interface configured to receive an input text string; at least one database including at least one table representing at least one concept tree, wherein the concept tree comprises a plurality of concepts, the plurality of concepts comprising a single root concept, a plurality of elementary concepts comprising words and punctuation, and joins between two or more of the plurality of elementary concepts, wherein the plurality of concepts further comprise a subject concept, a seam concept, a relative concept, a binary concept, and a higher-order concept, wherein the binary concept comprises a loin between either the subiect concept and the seam concept or the seam concept and the relative concept, and wherein the higher-order concept comprises a join between the binary concept and either the relative concept or the subiect concept, wherein the at least one table comprises a row for each of the plurality of concepts, each row comprising the concept, a unique identifier associated with the concept, and unique identifiers associated with two or more lower order concepts, if any, which form the concept, and wherein the unique identifiers associated with each of the plurality of concepts are according to the same scheme; and a parser interfaced with the at least one database and the user interface, the parser configured to, when executed by the at least one hardware processor, identify a concept represented by the text string, the identification of the concept comprising breaking the text string into separate elements of language, the elements including words and punctuation, using the separate elements of language to form an ordered string of concepts, and forming higher order concepts comprising two lower order concepts, by searching the at least one table for joins between concepts, until the concept represented by the text string is formed. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
Specification