Method and apparatus for recognizing large list of proper names in spoken dialog systems
First Claim
1. A method of optimizing the performance of speech recognition and language understanding in a natural language processing system, comprising:
- compiling a first set of full names based on usage of the names during the course of a current spoken dialog session, wherein the first set of full names is stored in a dynamic database, wherein the dynamic database is sourced from data generated by a dialog manager unit in the natural language processing system and that receives input from a natural language understanding unit to interpret input representations in context;
compiling a second set of full names based on presence in a pre-defined knowledge base that is built up from dialog sessions other than the current dialog session, wherein the second set of full names is stored in a static database, wherein the static database is sourced from data generated by a knowledge manager unit in the natural language processing system and that interfaces to one or more knowledge sources;
deriving partial names for one or more of the names of the first set of full names and the second set of full names;
combining the partial names and the first and second set of full names to generate a name model;
assigning weight values to each of the names of the name model, wherein the relative weights depend on the usage of the names in the current dialog session and the presence in the pre-defined knowledge base, and wherein name entries in the dynamic database are weighted higher than name entries in the static database; and
removing from an active vocabulary list those name entries with weight values below a defined minimum value to constrain name candidates processed by the natural language processing system.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of a name recognition process for use in dialog systems are described. In one embodiment, the name recognition process assigns weighting values to names used in a dialog based on the usage of these names. This process takes advantage of the general tendency of people to speak names, either full or partial, only after they have heard or read these names. Name input is taken in several different forms, including a static background database that contains all possible names, a background database that contains commonly used names (such as common trademarks or references), a database that contains names from a user model, and a dynamic database that constantly takes the names just mentioned. The names are then appended with proper weighting values. A high weight is given to names that have been mentioned recently, a lower weight is given to common names, and a lowest weight is given to names for the ones that have never been used or mentioned.
-
Citations
20 Claims
-
1. A method of optimizing the performance of speech recognition and language understanding in a natural language processing system, comprising:
-
compiling a first set of full names based on usage of the names during the course of a current spoken dialog session, wherein the first set of full names is stored in a dynamic database, wherein the dynamic database is sourced from data generated by a dialog manager unit in the natural language processing system and that receives input from a natural language understanding unit to interpret input representations in context; compiling a second set of full names based on presence in a pre-defined knowledge base that is built up from dialog sessions other than the current dialog session, wherein the second set of full names is stored in a static database, wherein the static database is sourced from data generated by a knowledge manager unit in the natural language processing system and that interfaces to one or more knowledge sources; deriving partial names for one or more of the names of the first set of full names and the second set of full names; combining the partial names and the first and second set of full names to generate a name model; assigning weight values to each of the names of the name model, wherein the relative weights depend on the usage of the names in the current dialog session and the presence in the pre-defined knowledge base, and wherein name entries in the dynamic database are weighted higher than name entries in the static database; and removing from an active vocabulary list those name entries with weight values below a defined minimum value to constrain name candidates processed by the natural language processing system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method implemented by a processor-based system for recognizing names in spoken dialog comprising:
-
receiving an input utterance from a user in a speech recognizer; generating a structured meaning representation of the input utterance based on a statistical model trained on linguistic data and a knowledge base in a natural language understanding unit coupled to the speech recognizer, wherein the knowledge base contains a plurality of names used in the input utterance; and generating a name model based on context information related to the input utterance and the presence of names in the knowledge base in a name model generator module coupled to the speech recognizer and natural language understanding unit;
wherein the name model is generated bycompiling a first set of full names based on usage of the names during the course of a current dialog session, wherein the first set of full names is stored in a dynamic database, wherein the dynamic database is sourced from data generated by a dialog manager unit in the natural language processing system and that receives input from a natural language understanding unit to interpret input representations in context; compiling a second set of full names based on presence in a pre-defined knowledge base that is built up from dialog sessions other than the current dialog session, wherein the second set of full names is stored in a static database, wherein the static database is sourced from data generated by a knowledge manager unit in the natural language processing system and that interfaces to one or more knowledge sources; and deriving partial names for one or more of the names of the first set of full names and the second set of full names, and combining these names to generate the name model, wherein each of the names is assigned a weight value depending on the usage of the names in the current dialog session and the presence in the pre-defined knowledge base, and further wherein name entries in the dynamic database are weighted higher than name entries in the static database, and further wherein, name entries with weight values below a defined minimum value are removed from an active vocabulary list to constrain name candidates processed by the natural language processing system. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory, machine-readable medium embodied on a physical structure, including instructions which when executed in a processing system perform the following executable steps:
-
compiling a first set of full names based on usage of the names during the course of a current spoken dialog session, wherein the first set of full names is stored in a dynamic database, wherein the dynamic database is sourced from data generated by a dialog manager unit in the natural language processing system and that receives input from a natural language understanding unit to interpret input representations in context; compiling a second set of full names based on presence in a pre-defined knowledge base that is built up from dialog sessions other than the current dialog session, wherein the second set of full names is stored in a static database wherein the static database is sourced from data generated by a knowledge manager unit in the natural language processing system and that interfaces to one or more knowledge sources; deriving partial names for one or more of the names of the first set of full names and the second set of full names; combining the partial names and the first and second set of full names to generate a name model; assigning weight values to each of the names of the name model, wherein the relative weights depend on the usage of the names in the current dialog session and the presence in the pre-defined knowledge base, and wherein name entries in the dynamic database are weighted higher than name entries in the static database; and removing from an active vocabulary list those name entries with weight values below a defined minimum value to constrain name candidates processed by the natural language processing system. - View Dependent Claims (18, 19, 20)
-
Specification