Method and system for building and running natural language understanding systems
First Claim
Patent Images
1. A speech interpretation system on a digital computer, said interpretation system comprising in combination:
- a first input means, said first input means for accepting as input an internal specification of application semantics, said internal specification of application semantics including a grammar format defining grammars, wherein at least one of said grammars includes one of a slot-filling command and a return command;
a second input means, said second input means for accepting as additional input speech having at least one phrase; and
a run-time interpreter, said run-time interpreter for assigning interpretations to said phrases, said run-time interpreter employing said internal specification in assigning said interpretations according to said application semantics and said grammars, said interpretations comprising slots supplied with values, wherein said run-time interpreter comprises means for assigning said interpretations such that each of said interpretations is from a corresponding first set of candidate interpretations, said first set containing candidate interpretations which use the most words from one of said input phrases.
4 Assignments
0 Petitions
Accused Products
Abstract
A computerized method for building and running natural language understanding systems, wherein a natural language understanding system takes a sentence as input and returns some representation of the possible meanings of the sentence as output (the “interpretation”) using a run-time interpreter th assigns interpretations to sentences and a compiler that produces (in a computer memory) an internal specification needed for the run-time interpreter from a user specification of the semantics of the application. The compiler builds a natural language system, while the run-time interpreter runs the system.
-
Citations
26 Claims
-
1. A speech interpretation system on a digital computer, said interpretation system comprising in combination:
-
a first input means, said first input means for accepting as input an internal specification of application semantics, said internal specification of application semantics including a grammar format defining grammars, wherein at least one of said grammars includes one of a slot-filling command and a return command;
a second input means, said second input means for accepting as additional input speech having at least one phrase; and
a run-time interpreter, said run-time interpreter for assigning interpretations to said phrases, said run-time interpreter employing said internal specification in assigning said interpretations according to said application semantics and said grammars, said interpretations comprising slots supplied with values, wherein said run-time interpreter comprises means for assigning said interpretations such that each of said interpretations is from a corresponding first set of candidate interpretations, said first set containing candidate interpretations which use the most words from one of said input phrases. - View Dependent Claims (2, 22, 23)
the at least one grammar includes a slot-filling command; and
the slot-filling command is executed if the at least one grammar is matched against the phrase and a construction attached to the slot-filling command is part of the match.
-
-
23. The system of claim 22 wherein the slot-filling command is configured to fill at least one slot with the construction that is attached to the slot-filling command.
-
3. An interpretation system on a digital computer, said interpretation system comprising in combination:
-
a first input means, said first input means for accepting as input an internal specification of application semantics, said internal specification of application semantics including a grammar format defining grammars, wherein at least one of said grammars includes one of a slot-filling command and a return command;
a second input means, said second input means for accepting as additional input at least one sentence; and
a run-time interpreter, said run-time interpreter for assigning interpretations to said sentences, said run-time interpreter employing said internal specification in assigning said interpretations according to said application semantics, said interpretations comprising slots supplied with values, wherein said run-time interpreter is operative to assign said interpretations according to grammars, and said run-time interpreter comprises;
a phrase-matching means, said phrase-matching means for producing intermediate data by matching phrases from said input sentences to said grammars, said intermediate data comprising information on all matching phrases, said matching phrases each matching at least one of said grammars; and
an interpretation assembly means coupled to said phrase-matching means, said interpretation assembly means for assigning said interpretations using said intermediate data. - View Dependent Claims (4, 5, 6)
-
-
7. A system in a digital computer for processing specifications of application semantics, said semantics describing interpretations corresponding to sentences, said interpretations comprising slots supplied with values, said system comprising:
-
an input means, said input means for accepting as input a user specification of application semantics, said user specification of application semantics including a grammar format defining grammars, wherein at least one of said grammars includes one of a slot-filling command and a return command;
a verification means, said verification means for checking said user specification and said grammars for errors according to a pre-defined user specification format; and
a signaling means, said signaling means for indicating occurrences of errors as found by said verification means in said user specification and said grammars. - View Dependent Claims (8, 9, 10, 11, 24, 25, 26)
the at least one grammar includes a return command;
and the return command is executed if the at least one grammar is matched against the phrase and a construction attached to the return command is part of the match.
-
-
25. The system of claim 24 wherein the return command is configured to fill at least one slot with the construction that is attached to the return command.
-
26. The system of claim 25 wherein:
-
the at least one slot filled by the return command is identified by a variable having a variable name that matches the at least one slot; and
the variable is assigned the construction that is attached to the return command.
-
-
12. A development method operative on a digital computer for building a natural language understanding system, said development method comprising the steps of:
-
accepting as input a user specification of application semantics, said user specification of application semantics including a grammar format defining grammars, wherein at least one of said grammars includes one of a slot-filling command and a return command;
checking said user specification and said grammars for errors according to a pre-defined user specification format; and
producing an internal specification of application semantics from said user specification, said internal specification of application semantics including said grammars in a run-time interpreter executable form, said internal specification for supplying said application semantics and said grammars to said run-time interpreter, said run-time interpreter for assigning interpretations to input sentences according to said grammars, said interpretations comprising slots supplied with values. - View Dependent Claims (13, 14, 15)
-
-
16. A method operative on a digital computer for natural language understanding, said method comprising the steps of:
-
accepting as input an internal specification of application semantics, said internal specification of application semantics including a grammar format defining grammars, wherein at least one grammar includes one of a slot-filling command and a return command;
accepting as additional input at least one sentence; and
assigning interpretations to said sentences employing said specification and said grammars, said interpretations comprising slots supplied with values, further comprising producing each one of said interpretations from a corresponding first set of candidate interpretations, said first set containing candidate interpretations which use the most words from one of said input sentences. - View Dependent Claims (17)
-
-
18. A method operative on a digital computer for natural language understanding, said method comprising the steps of:
-
accepting as input an internal specification of application semantics, said internal specification of application semantics including a grammar format defining grammars, wherein at least one grammar includes one of a slot-filling command and a return command;
accepting as additional input at least one sentence;
assigning interpretations to said sentences employing said specification and said grammars, said interpretations comprising slots supplied with values; and
matching phrases from said input sentences to at least one of said grammars to produce intermediate data, said matching step preceding said interpretations assigning step, said interpretations assigning step using said intermediate data, said intermediate data comprising information on all matching phrases, said matching phrases each matching at least one of said grammars. - View Dependent Claims (19, 20, 21)
-
Specification