Natural language processing system and method
Abstract
A natural language processing system is disclosed herein. Embodiments of the NLP system perform hand-written rule-based operations that do not rely on a trained corpus. Rules can be added or modified at any time to improve accuracy of the system, and to allow the same system to operate on unstructured plain text from many disparate contexts (e.g. articles as well as twitter contexts as well as medical articles) without harming accuracy for any one context. Embodiments also include a language decoder (LD) that generates information which is stored in a three-level framework (word, clause, phrase). The LD output is easily leveraged b various software applications to analyze large quantities of text from any source in a more sophisticated and flexible manner than previously possible. A query language (LDQL) for information extraction from NLP parsers' output is disclosed, with emphasis on on its embodiment implemented for LD. It is also presented, how to use LDQL for knowledge extraction on the example of application named Knowledge Browser.
Claims
exact text as granted — not AI-modified1 . (canceled)
2 . A system for natural language processing (NLP) comprising:
at least one processor configured to execute a process comprising extracting and structuring information from output of an NLP parser, the process further comprising, receiving input comprising output from the NLP parser; receiving a description of conditions characterizing fragments of the NLP parser output, wherein the fragments correspond to information to be extracted; and receiving a description of a form in which the extracted information is to be structured, wherein the description of conditions and the description of a form are provided as one or more queries, wherein each query comprises,
a target section describing the form in which the extracted information is to be structured; and
a conditions section describing conditions characterizing the fragments of the NLP parser output to be extracted.
3 . The system of claim 2 , wherein:
the conditions section comprises one or more atomic formulas connected with zero or more logical connectives, and wherein a set of possible atomic formulas comprises:
relation of identity;
relation of membership;
relation of inclusion;
relations capturing properties of character strings;
relations capturing the structure of NLP parser output; and
the set of possible logical connectives comprises,
negation;
conjunction; and
alternative.
4 . The system of claim 3 , wherein:
the description of conditions and the description of a form are provided in a form of one or more queries, and zero or more user-defined predicate definitions; a conditions section of each query, and each user-defined predicate definition comprises a first order logic formula with variables ranging over fragments of the NLP parser output: and the set of possible atomic formulas comprises,
first order predicate of identity;
first order predicate of membership;
first order predicate of inclusion;
first order predicates capturing properties of character strings;
first order predicates capturing the structure of NLP parser output; and
each of the user-defined predicates; and
each group of two or more queries may comprise a same user-defined predicate.
5 . The system of claim 2 , further comprising a compiler, wherein the process further comprises converting description of conditions and the description of a form into a program, wherein input of the program comprises the NLP parser output.
6 . The system of claim 5 , wherein:
the program comprises a sequence of one or more operations to be performed on the NLP parser output in order to extract and structure the information; and the compiler comprises,
a parser for converting the description of conditions and the description of a form, into an abstract syntax tree;
a proper compiler, for converting the abstract syntax tree into the sequence of the operations to be performed on the NLP parser output.
7 . The system of claim 6 , wherein the compiler further comprises an optimizer configured to modify the abstract syntax tree and the sequence of the operations.
8 . The system of claim 6 , wherein the proper compiler produces a standalone executable.
9 . The system of claim 6 , wherein the system further comprises a virtual machine, and wherein input of the virtual machine comprises the NLP parser output.
10 . The system of claim 9 , wherein input of the virtual machine further comprises the sequence of the operations to be performed on the NLP parser output.
11 . The system of claim 10 , wherein the proper compiler produces the bytecode for the virtual machine.
12 . A computer-implemented method for natural language queries of textual data, the method comprising:
at least one processor executing a process comprising extracting and structuring information from output of an NLP parser, the process further comprising,
receiving input comprising output from the NLP parser;
receiving a description of conditions characterizing fragments of the NLP parser output, wherein the fragments correspond to information to be extracted; and
receiving a description of a form in which the extracted information is to be structured, wherein the description of conditions and the description of a form are provided as one or more queries, wherein each query comprises,
a target section describing the form in which the extracted information is to be structured; and
a conditions section describing conditions characterizing the fragments of the NLP parser output to be extracted.
13 . The method of claim 12 , wherein:
the conditions section comprises one or more atomic formulas connected with zero or more logical connectives, and wherein a set of possible atomic formulas comprises:
relation of identity;
relation of membership;
relation of inclusion;
relations capturing properties of character strings;
relations capturing the structure of NLP parser output; and
wherein the set of possible logical connectives comprises,
negation;
conjunction; and
alternative.
14 . The method of claim 13 , wherein:
the description of conditions and the description of a form are provided in a form of one or more queries, and zero or more user-defined predicate definitions; a conditions section of each query, and each user-defined predicate definition comprises a first order logic formula with variables ranging over fragments of the NLP parser output: and the set of possible atomic formulas comprises,
first order predicate of identity;
first order predicate of membership;
first order predicate of inclusion;
first order predicates capturing properties of character strings;
first order predicates capturing the structure of NLP parser output; and
each of the user-defined predicates; and
each group of two or more queries may comprise a same user-defined predicate.
15 . The method of claim 12 , further comprising a compiler, wherein the process further comprises converting description of conditions and the description of a form into a program, wherein input of the program comprises the NLP parser output.
16 . The method of claim 15 , wherein:
the program comprises a sequence of one or more operations to be performed on the NLP parser output in order to extract and structure the information; and the compiler comprises,
a parser for converting the description of conditions and the description of a form into an abstract syntax tree;
a proper compiler, for converting the abstract syntax tree into the sequence of the operations to be performed on the NLP parser output.
17 . The method of claim 16 , wherein the compiler further comprises an optimizer configured to modify the abstract syntax tree and the sequence of the operations.
18 . The method of claim 16 , wherein the proper compiler produces a standalone executable.
19 . The method of claim 16 , wherein the system further comprises a virtual machine, and wherein input of the virtual machine comprises the NLP parser output.
20 . The method of claim 19 , wherein input of the virtual machine further comprises the sequence of the operations to be performed on the NLP parser output.
21 . The method of claim 20 , wherein the proper compiler produces the bytecode for the virtual machine.Join the waitlist — get patent alerts
Track US2016062982A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.