DE69622565T2 - Verfahren und vorrichtung zur dynamischen anpassung eines spracherkennungssystems mit grossem wortschatz und zur verwendung von einschränkungen aus einer datenbank in einem spracherkennungssystem mit grossem wortschatz - Google Patents
Verfahren und vorrichtung zur dynamischen anpassung eines spracherkennungssystems mit grossem wortschatz und zur verwendung von einschränkungen aus einer datenbank in einem spracherkennungssystem mit grossem wortschatzInfo
- Publication number
- DE69622565T2 DE69622565T2 DE69622565T DE69622565T DE69622565T2 DE 69622565 T2 DE69622565 T2 DE 69622565T2 DE 69622565 T DE69622565 T DE 69622565T DE 69622565 T DE69622565 T DE 69622565T DE 69622565 T2 DE69622565 T2 DE 69622565T2
- Authority
- DE
- Germany
- Prior art keywords
- word
- nodes
- phonetic
- words
- constraint
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/187—Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Description
- Die Erfindung betrifft Spracherkennungssysteme und insbesondere Spracherkennungssysteme mit einem großen Wortschatz. Das hier beschriebene System ist geeignet für die Verwendung in Systemen, die eine interaktive Unterhaltung in natürlicher Sprache erlauben.
- Spracherkennungssysteme wandeln die gesprochene Sprache in eine Form um, die von einem Computer verarbeitet werden kann. Die sich ergebende Datenfolge kann dazu verwendet werden, ein physikalisches System zu steuern, sie kann vom Computer in Textform ausgegeben werden oder auf eine andere Art verwendet werden.
- Eine zunehmend populäre Verwendung von Spracherkennungssystemen dient der Automatisierung von Transaktionen, die eine interaktive Wechselwirkung erfordern. Ein Beispiel für ein System mit beschränkter Interaktion ist ein Telephonauskunftsystem, bei dem der Nutzer Informationen eingeschränkter Art übermittelt, etwa den Namen und die Adresse eines Telefonteilnehmers, und daraufhin die Telefonnummer des Teilnehmers mitgeteilt erhält. Ein Beispiel für ein wesentlich komplexeres System ist ein Katalog- Verkaufssystem, bei dem der Nutzer ihn selbst betreffende Informationen (z. B. den Namen, die Adresse, die Telefonnummer, eine spezielle Identifikationsnummer, die Kreditkartennummer usw.) sowie weitere Informationen (z. B. die Art des gewünschten Produkts, Größe, Farbe usw.) übermittelt und das System daraufhin an den Nutzer Informationen über die gewünschte Transaktion (z. B. Preis, Verfügbarkeit, Versanddatum usw.) ausgibt.
- Das Erkennen der natürlichen, keinen Beschränkungen unterliegenden Sprache ist sehr schwierig. Die Schwierigkeit steigt an, wenn Hintergrundgeräusche vorhanden sind oder die Übertragung Rauschen erzeugt (z. B. eine Telefonleitung). Computer-Spracherkennungssysteme machen es daher in der Regel erforderlich, daß die Aufgabe auf verschiedene Arten vereinfacht wird. Zum Beispiel kann es erforderlich sein, daß die Sprache rauschfrei ist (etwa durch die Verwendung eines guten Mikrophons), es kann erforderlich sein, daß der Sprecher zwischen den einzelnen Wörtern eine Pause einlegt, und es kann das Vokabular auf eine kleine Anzahl von Wörtern begrenzt sein. Auch in Systemen mit einem großen Vokabular wird das Vokabular in der Regel vorher festgelegt. Die Möglichkeit des Hinzufügens von Wörtern zum Vokabular auf dynamische Weise (d. h. während einer Unterhaltung) in meist eingeschränkt oder überhaupt nicht vorhanden, da eine erhebliche Rechenleistung nötig ist, diese Aufgabe in Echtzeit durchzuführen. Die Schwierigkeit der Echtzeit-Spracherkennung steigt bei Anwendungen mit sehr großem Vokabular (mit z. B. zehntausenden von Wörtern und mehr) drastisch an.
- Ein Beispiel für ein interaktives Spracherkennungssystem, das gerade entwickelt wird, ist das Spracherkennungssystem SUMMIT, an dem bei M.I.T. gearbeitet wird. Dieses System wird unter anderem von Zue, V., Seneff, S., Polifroni, J., Phillips, M., Pao, C., Goddeau, D., Glass, J. und Brill, E. in "The MIT ATIS System: December 1993 Progress Report", Proc. ARPA Human Language Technology Workshop, Princeton, NJ, März 1994, beschrieben. Im Gegensatz zu den meisten anderen Systemen, die auf Blöcken basierende Systeme sind (wobei ein Einheitsblock in der Regel ein 10 ms-Anteil der Rede ist), ist das Summit-Spracherkennungssystem ein auf Segmenten basierendes System, wobei das Segment typisch ein Laut oder ein Ton der Sprache ist.
- Bei dem SUMMIT-System wird das akustische Signal, das die Äußerungen des Sprechers wiedergibt, zuerst zur Signalverarbeitung in ein elektrisches Signal umgewandelt. Die Signalverarbeitung kann ein Filtern zur besseren Erkennung des Signals umfassen, das Entfernen von unerwünschtem Rauschen usw. Das Signal wird dann in eine spektrale Darstellung umgewandelt und in Segmente aufgeteilt, die den hypothetischen Grenzen der individuellen Sprachlaute (Segmente) entsprechen. Das Netzwerk der hypothetischen Segmente wird dann einer phonetischen Klassifikationseinrichtung eingegeben, deren Zweck es ist, jedes Segment mit einem bekannten "Laut" oder einer Sprachlautidentität zu assoziieren. Wegen der Unsicherheiten im Erkennungsprozeß wird jedes Segment in der Regel mit einer Liste von mehreren Lauten assoziiert, wobei jedem Laut eine Wahrscheinlichkeit zugeordnet wird. Sowohl die Segmentierung als auch die Klassifizierung erfolgen gemäß akustischen Modellen für die möglichen Sprachlaute.
- Das Endprodukt der phonetischen Klassifikation ist ein "Gitter" von Lauten, wobei jedem Laut eine Wahrscheinlichkeit zugeordnet ist. Die am Eingang der Erkennungsvorrichtung tatsächlich gesprochenen Worte sollten einen Pfad durch dieses Gitter bilden. Wegen der Unsicherheiten im Prozeß gibt es gewöhnlich mehrere Millionen von möglichen Pfaden, die zu berücksichtigen sind, von denen jeder eine andere Gesamtwahrscheinlichkeit besitzt. Die Hauptaufgabe der Spracherkennungsvorrichtung ist es, die Segmente längs der Pfade im phonetischen Gitter mit Wörtern im Vokabular der Erkennungsvorrichtung zu verbinden, um den besten Pfad herauszufinden.
- Bei den bekannten Systemen wie dem SUMMIT-System bildet die vokabulare oder lexikalische Darstellung ein "Netzwerk", das alle möglichen Wörter umfaßt, die die Erkennungsvorrichtung identifizieren kann, alle möglichen Aussprachen dieser Wörter und alle möglichen Verbindungen zwischen diesen Wörtern. Dieses Vokabular wird gewöhnlich vorab festgelegt, das heißt bevor versucht wird, eine vorliegende Äußerung zu erkennen, und es steht während des Erkennungsprozesses gewöhnlich fest. Wenn während einer Erkennungssitzung daher ein Wort ausgesprochen wird, das nicht bereits im Vokabular des Systems enthalten ist, wird das Wort nicht richtig erkannt.
- Die Struktur der gegenwärtigen lexikalischen Darstellungsnetzwerke erleichtert bei einem großen Wortschatz ein schnelles Aktualisieren nicht gerade, auch wenn es "offline" erfolgt, das heißt bei Abwesenheit einer Spracheingabe. Insbesondere bildet bei den lexikalischen Darstellungen der Art, wie sie dem SUMMIT-Erkennungssystem entsprechen, das lexikalische Netzwerk zusammen mit den Links für die möglichen Verbindungen zwischen Wörtern eine Anzahl von separaten Aussprachenetzwerken für jedes Wort im Vokabular. Die Links beruhen auf phonetischen Regeln. Um ein Wort zu dem Netzwerk hinzuzufügen, müssen alle Wörter, die bereits im Vokabular drin sind, geprüft werden, um die phonetische Kompatibilität zwischen den jeweiligen Knoten auszubilden, bevor die Links erzeugt werden. Dies ist ein rechenintensives Problem, dessen Schwierigkeit mit der Größe des Vokabulars ansteigt. Das Hinzufügen von Wörtern stellt daher bei phonetisch basierten Spracherkennungssystemen ein erheblichen Problem dar.
- Bei dem bekannten Spracherkennungssystemen wird bei der Suche durch das lexikalische Netzwerk ein vorberechnetes Sprachmodell verwendet, das Wortsequenzen bevorzugt, die in der gesprochenen Sprache möglicherweise auftreten. Das Sprachmodell kann die Einschränkung darstellen, das ein großes Vokabular bearbeitbar macht. Dieses Sprachmodell wird in der Regel auf der Basis des vorgegebenen Vokabulars vorberechnet und ist daher nicht dafür geeignet, verwendet zu werden, nachdem Wörter zum Vokabular hinzugefügt wurden.
- Entsprechend ist es wünschenswert, ein verbessertes Spracherkennungssystem zu schaffen.
- Es ist auch wünschenswert, ein Spracherkennungssystem zu schaffen, das ein schnelles Hinzufügen von Wörtern zum Vokabular des Systems erlaubt.
- Es ist auch wünschenswert, ein verbessertes Spracherkennungssystem zu schaffen, das eine Vokabularerweiterung während des Spracherkennungsprozesses erlaubt, ohne daß der Spracherkennungsprozeß erkennbar langsamer oder die Verwendung eines Sprachmodells unmöglich wird.
- Es ist auch wünschenswert, ein Spracherkennungssystem zu schaffen, das besonders für ein großes Vokabular mit Tausenden von Wörtern und mehr und einem Gesamtvokabular von Millionen von Wörtern und mehr geeignet ist.
- Es ist auch wünschenswert, ein Spracherkennungssystem zu schaffen, das Einschränkungen von großen Datenbanken verwenden kann, ohne daß der Spracherkennungsprozeß erkennbar langsamer wird.
- Die Erfindung umfaßt das im Patentanspruch 1 angegebene Spracherkennungssystem.
- Die Erfindung umfaßt auch das im Patentanspruch 5 angegebene Spracherkennungssystem.
- Die Erfindung umfaßt des weiteren das im Patentanspruch 12 angegebene Verfahren für ein Spracherkennungssystem, das mittels eines Computers ausgeführt werden kann.
- Die Erfindung umfaßt auch die im Patentanspruch 13 angegebene Speichervorrichtung zum Speichern von computerlesbaren Anweisungen.
- Die Erfindung umfaßt auch den im Patentanspruch 14 angegebenen Datenträger für Computerprogramme.
- Die Erfindung umfaßt des weiteren das im Patentanspruch 18 angegebene Verfahren für ein Spracherkennungssystem, das mittels eines Computers ausgeführt werden kann.
- Im folgenden werden Merkmale von Ausführungsformen der Erfindung beschrieben.
- Das lexikalische Netzwerk, das das Vokabular enthält, das das System erkennen kann, umfaßt zusätzlich zu den Wortanfangs- und Wortendeknoten, die Spracherkennungssysteme gewöhnlich enthalten, eine Anzahl von Konstrukten (die hier als "Wortklassenknoten", "phonetische Beschränkungsknoten" und "Verbindungsknoten" bezeichnet werden). (Ein Knoten ist ein Verbindungspunkt im lexikalischen Netzwerk. Knoten können durch Bogen verbunden werden, um Pfade durch das Netzwerk auszubilden. Einige der Bögen zwischen Knoten entsprechen Sprachsegmenten, d. h. Lauten.) Diese Konstrukte vorkompilieren und organisieren sowohl phonetische als auch syntaktische/semantische Informationen und speichern sie in leicht zugreifbarer Form im Erkennungsnetzwerk. Dies ermöglicht ein schnelles und effektives Hinzufügen von Worten zum Vokabular auch bei Systemen mit einem großen Vokabular (d. h. mit tausenden von aktiven Wörtern) auch in Echtzeit, d. h. während der Interaktion mit dem Nutzer. Die Fähigkeit, mit phonetischen Beschränkungen zwischen Wörtern umzugehen und beim Durchsuchen des Netzwerks ein Sprachmodell zu verwenden bleibt erhalten, wodurch sich die Erkennungsgenauigkeit erhöht. Es läßt sich daher ein interaktives System mit großem Vokabular aufbauen (d. h. eines, bei dem Eingaben durch einen Sprecher Reaktionen des Systems auslösen, die wiederum weitere Eingaben vom Sprecher auslösen), etwa ein Katalog-Verkaufssystem. Das effektive Vokabular kann sehr groß sein (d. h. Millionen von Wörter umfassen), ohne daß ein entsprechend großer aktiver (Direktzugriffs-)Speicher erforderlich ist, da nicht alle Wörter im Vokabular auf einmal "aktiv" (d. h. in das lexikalische Erkennungsnetzwerk eingebunden) sein müssen.
- Das Vokabular wird in drei Klassen eingeteilt. Die am häufigsten verwendeten Wörter werden in das lexikalische Netzwerk vorkompiliert; in der Regel gibt es einige Hundert solcher Wörter, die mit ihren phonetisch erlaubten Variationen in das lexikalische Netzwerk eingebunden werden. Wörter mit geringerer Häufigkeit werden als phonetische Grundformen gespeichert. Eine Grundform stellt eine idealisierte Aussprache eines Worts ohne die Variationen dar, die bei verschiedenen Sprechern und unterschiedlichen Zusammenhängen auftreten. Die vorliegende Erfindung kann einige Hunderttausend solcher Grundformen umfassen, aus denen sich leicht ein Wortnetzwerk aufbauen läßt. Wenig verwendete Wörter werden als Schreibweisen gespeichert. Neue Wörter werden als Schreibweisen in das System eingegeben (z. B. aus einer elektronischen Datenbank, die periodisch erneuert wird). Um ein wenig benutztes Wort oder ein vollständig neues Wort zu aktivieren, erzeugt das System zuerst aus der Schreibweise eine phonetische Grundform. Es baut dann aus den phonetischen Grundformen ein Aussprachenetzwerk auf.
- Die phonetischen Beschränkungsknoten (die im folgenden als PB-Knoten oder PBK bezeichnet werden) organisieren die phonetische Interwortinformation im Netzwerk. Ein PB-Knoten ist ein Tupel PB (x, y, z, ...), bei dem x, y, z die Beschränkungen an den Wörtern sind, die mit dem jeweiligen Knoten verbunden sind oder verbunden sein können. Zum Beispiel kann x den Endlaut des Wortes angeben; y den Anfangslaut eines Worts, mit dem es gemäß festgelegter phonetischer Beschränkungen verbunden werden kann; und z einen Spannungspegel, der für die folgende Silbe erforderlich ist. Es können zwar Tupel jeder gewünschten Ordnung (wobei die Ordnung die Anzahl der Beschränkungen für den jeweiligen PBK ist) verwendet werden, die Erfindung wird jedoch am einfachsten durch Tupel der Ordnung zwei beschrieben, z. B. durch PBK(x, y). Mit PBK(Null, n) kann daher ein PBK bezeichnet werden, mit dem ein Wort mit einer "Null"-Endung (z. B. das wegge lassene "ne" im Wort "phone") verbunden ist und mit dem schließlich Wörter verbunden werden, die mit dem Phonem /n/ beginnen.
- Wortklassenknoten (die im folgenden als WK-Knoten oder WKK bezeichnet werden) organisieren die syntaktische/semantische Information im lexikalischen Netzwerk und erleichtern das Hinzufügen von Wörtern zum System-Vokabular. Beispiele für Wortklassenknoten sich Sprachteile (z. B. Substantive, Pronomen, Verben) oder semantische Klassen (z. B. "Nachname", "Straße" oder "Postleitzahl"). Sowohl die Wörter, die das Grundvokabular des Spracherkennungssystems bilden (und die daher in das lexikalische Netzwerk eingebunden sind und die das Vokabular bilden, das das System erkennen kann) als auch die Wörter, die zu diesem Vokabular hinzugefügt werden, werden mit vordefinierten Wortklassen verbunden.
- Wörter werden dadurch in das lexikalische Netzwerk eingebunden, daß ihre Anfangs- und Endeknoten mit WK-Knoten verbunden werden. Die WKKs teilen einen Satz von Wörtern, die eine bestimmte PBK-Beschränkung erfüllen, in Wortklassen auf. Es kann einen allgemeinen Satz von Wortklassen geben, die für eine Verbindung mit den verschiedenen PBKs zur Verfügung stehen, z. B. Substantive, Pronomen, Verben, "Nachnamen", "Straßennamen" und "Postleitzahlen". Beim Verbinden eines bestimmten Falls der Satzelemente (z. B. "Substantiv") mit einem PBK wird durch Zuordnen einer weiteren, spezielleren Eigenschaft dazu differenziert, z. B. "Substantiv mit der Endung /n/", "Substantiv mit der Endung "Null"" ete. Jeder spezielle Fall eines WKK verbindet sich mit nur einem bestimmten PBK. Es gibt zum Beispiel einen "Substantiv"-WKK, der mit dem (Null, n)-PBK verbunden ist und der getrennt ist von einem "Substantiv"-WKK, der mit dem (Vokal, n)-PBK verbunden ist. Um sich für die Verbindung mit einem gegebenen WK-Knoten zu qualifizieren, muß ein Wort nicht nur aus der gleichen Wortklasse sein wie der WK-Knoten, mit dem es verbunden werden soll, sondern es muß auch durch die gleiche phonetische Beschränkung gekennzeichnet sein wie der PB-Knoten, mit dem der WK- Knoten verbunden ist, z. B. der Substantivendung "Null".
- Die PB-Knoten werden miteinander durch Wortverbindungsknoten (im folgenden als VERB-Knoten bezeichnet) verbunden, die einen erlaubten Pfad zwischen dem Endeknoten eines Worts und dem Anfangsknoten eines nachfolgenden Wortes angeben. Im Endeffekt dienen die VERB-Knoten als Konzentratoren, das heißt sie verknüpfen diejenigen PB-Knoten, die ein Wort abschließen, mit den PB-Knoten für den Anfang eines nachfolgenden Worts, das unter den jeweils anwendbaren phonetischen Beschränkungen auf das vorhergehende Wort folgen kann. Die Beschränkungen sind in die WK-Knoten, die PB-Knoten, die VERB-Knoten und deren Verbindungen untereinander eingebettet.
- Um ein Wort zu dem lexikalischen Netzwerk hinzuzufügen, ist es erforderlich, zuerst ein Aussprachenetzwerk für dieses Wort zu erstellen. Ein gegebenes Wort ist in der Regel der Gegenstand einer Anzahl von verschiedenen Aussprachen, zum Teil aufgrund des phonetischen Kontextes, in dem es erscheint (z. B. kann das Endphonem /n/ im Wort "phone" weggelassen werden, wenn das folgende Wort mit einem /n/ beginnt, z. B. "number"), und zum Teil aufgrund anderer Faktoren wie einem Dialekt des Sprechers etc. Variationen in der Aussprache aufgrund von verschiedenen phonetischen Kontexten werden üblicherweise durch Standardregeln nachgebildet, die für jedes Phonem die Arten festlegen, in denen es in Abhängigkeit vom umgebenden Kontext ausgesprochen werden kann. Bei der vorliegenden Erfindung werden der Operation dieser Regeln entsprechende Netzwerkfragmente für jedes Phonem in der Binärform vorkompiliert und im System durch die Phoneme indexiert gespeichert. Die vorkompilierten Netzwerkfragmente umfassen Kennzeichnungen, die die erlaubten Verbindungen mit anderen Fragmenten und die Zuordnungen zu den PBKs angeben. Es gibt zwei Arten von solchen Kennzeichnungen: Die erste betrifft die Phonemindexe anderer Aussprachenetzwerke und die zweite die jeweiligen Zweige in den Aussprachenetzwerken, mit denen eine Verbindung zu dem ersten Aussprachenetzwerk hergestellt werden kann. Nach diesem Verfahren vorkompilierte Aussprachenetzwerke für Phoneme ermöglichen eine schnelle Erzeugung von Aussprachen für neue Wörter, wodurch das dynamische Hinzufügen von Wörtern erleichtert wird, d. h. das Hinzufügen von Wörtern während des Spracherkennungssystemprozesses selbst.
- Beim Hinzufügen eines Wortes zu dem lexikalischen Netzwerk wird das Wort einer phonetischen Grundform und einer Wortklasse zugeordnet. Das Aussprachenetzwerk für das Wort wird durch Auswahl der Netzwerkfragmente für die Phoneme in der phonetischen Grundform des Wortes und dem anschließenden Verbinden der Fragmente untereinander gemäß den Beschränkungen an deren Endeknoten erstellt. Die sich ergebende Struktur ist ein Aussprachenetzwerk, das in der Regel eine Vielzahl von Wordanfangs- und Wortendeknoten umfaßt, um Variationen in den Wörtern zu erlauben, die vorangehen und folgen. Das resultierende Aussprachenetzwerk wird auf die oben beschriebene Weise mit den Wortklassenknoten verknüpft.
- Die Wörter werden durch die Wortklasse organisiert, und jedes hinzugefügte Wort muß einer vorgegebenen Wortklasse zugeordnet werden, damit beim Durchsuchen des lexikalischen Netzwerks auch mit hinzugefügten Wörtern ein auf Wortklassen basierendes Sprachmodell verwendet werden kann. Vorgegebene Wörter müssen nicht einer Wortklasse angehören; sie können individuell behandelt werden. Das Sprachmodell umfaßt Funktionen, die das Inkrement in der Punktzahl eines Pfades beim Verlassen eines be stimmten Wortklassenknotens oder Wortendeknotens oder beim Erreichen eines bestimmten Wortklassenknotens oder Wortanfangsknotens festlegen. Die Funktionen können sowohl vom Quellknoten als auch vom Zielknoten abhängen.
- Es werden Beschränkungen aus elektronischen Datenbanken verwendet, um die Aufgabe mit dem Sprachvokabular behandelbar zu machen. Der Verlauf eines Gesprächs ergibt häufig auch nützliche Informationen hinsichtlich der möglichen Identifikation von Wörtern, die erst noch ausgesprochen werden. Der Gesprächsverlauf wird in Verbindung mit einer Datenbank verwendet, um verschiedene Sprachmodelle und verschiedene Vokabularien auf verschiedene Teile des Gesprächs anwenden zu können. Bei vielen Anwendungen stellt das System zuerst dem Nutzer eine Frage mit Wörtern aus einem Bereich mit einem kleinen Vokabular. Die Antwort des Nutzers auf die Frage wird dann dazu benutzt, das Vokabular einzuschränken, das für das folgende Gespräch mit einem großen Bereichsvokabular zu durchsuchen ist. Bei einem Katalog-Verkaufssystem soll das System zum Beispiel die Adresse des Nutzers bestimmen. Das System wird dazu zuerst fragen: "Wie lautet Ihre Postleitzahl?" und dann die Antwort dazu verwenden, die "Straßennamen"- Wortklasse mit den Straßennamen aufzufüllen, die in der Datenbank für die gleiche Postleitzahl wie bei der angegebenen Adresse enthalten sind. Die so bestimmten Straßennamen werden schnell zum System-Vokabular hinzugefügt, und die vorher im Vokabular enthaltenen Straßennamen werden entfernt, um im aktiven Speicher den erforderlichen Platz Dir die hinzuzufügenden Straßennamen zu schaffen und um die Größe des zu durchsuchenden Netzwerks zu verringern. Das Sprachmodell, d. h. die den verschiedenen, so ausgewählten Straßennamen zugeordneten Wahrscheinlichkeiten, können vorher festgelegt werden oder anhand von anderen Daten in der System-Datenbank bestimmt werden, z. B. aus der Anzahl von Haushalten in jeder Straße, oder eine Kombination dieser und anderer Informationen. Gleichermaßen kann das System zuerst nach der Telefonnummer des Anrufers fragen und dann die Antwort und eine elektronische Telefonbuch-Datenbank dazu verwenden, zu dem Vokabular die Namen und Adressen hinzuzufügen, die den hypothetischen Telefonnummern entsprechen.
- Die intensive Verwendung von großen elektronischen Datenbanken bei der Interaktion mit dem Nutzer erfordert eine effiziente Suchstrategie für die Datenbanken, damit der Erkennungsprozeß nicht erkennbar langsamer wird. Zum Indizieren der Aufzeichnungen in der Datenbank werden Hash-Tabellen verwendet, wobei nur die Informationen in den Hash-Tabellen gespeichert werden, die für die gerade bearbeitete Aufgabe benötigt werden.
- Die folgende genaue Beschreibung einer Ausführungsform der Erfindung dient in Verbindung mit den beiliegenden Zeichnungen einem besseren Verstehen der Art und der Ziele der Erfindung. Es zeigen:
- Fig. 1 ein Block- und ein Liniendiagramm für eine herkömmliche Form eines Spracherkennungssystems;
- Fig. 2 ein Diagramm für einen Teil des lexikalischen Netzwerks, das gegenwärtig bei Spracherkennungssystemen verwendet wird;
- Fig. 3 ein Diagramm für den Wortverbindungsabschnitt für ein lexikalisches Netzwerk gemäß der vorliegenden Ausführungsform;
- Fig. 4 die Erstellung des Aussprachenetzwerks für ein Wort gemäß der vorliegenden Ausführungsform;
- Fig. 5 ein Flußdiagramm für die Art, wie Wörter zu dem System-Vokabular hinzugefügt werden; und
- Fig. 6 ein Flußdiagramm für eine Suche im lexikalischen Netzwerk gemäß der vorliegenden Ausführungsform.
- Fig. 7 zeigt eine Aufzeichnung mit den zugehörigen Feldern.
- Das Spracherkennungssystem 10 der Fig. 1 umfaßt einen Signalprozessor 12, der das akustische Eingangssignal von einem Sprecher in eine Form umwandelt, die für eine Computerverarbeitung geeignet ist, z. B. in eine Folge von Vektoren, von denen jeder das Frequenzspektrum eines Teils der Sprache darstellt. Die sich ergebenden Signale werden dann in einem Segmenter 14 analysiert, um Grenzen zwischen den Sub-Bestandteilen (mit "Segment" bezeichnet) des Eingangssignals annehmen zu können. Diese Grenzen bezeichnen hypothetische "Laute", die Phonemen entsprechen. (Ein Phonem ist ein Symbol, das einen Basislaut der Sprache bezeichnet, z. B. der Laut des Buchstabens "n"; es wird zwischen Schrägstiriche gestellt: /n/. Ein Laut ist ein Symbol, das die Aussprache eines Phonems darstellt; es wird zwischen eckige Klammer gestellt, z. B. [n]. Es wird im folgenden das ARPABET-Bezeichnungssystem für die Laute und Phoneme verwendet.) Für jeden Laut können mehrere Anfangs- und Endzeiten angenommen werden, mit dem Ergebnis von sich überlappenden hypothetischen Bereichen. Die Segmentierung erfolgt gemäß Akustikmodellen 16 des Systems.
- Das Ausgangssignal des Segmenters wird einer phonetischen Klassifikationseinrichtung 18 zugeführt, die für das akustische Eingangssignal eine phonetische Gitterdarstellung erzeugt. Dieses Gitter beschreibt die verschiedenen Laute entsprechend den hypothetischen Segmenten und die diesen jeweils zugeordneten Wahrscheinlichkeiten. Die Pfade durch dieses Gitter, von denen jeder eine Hypothese für eine Folge von dem akustischen Eingangssignal entsprechenden Lauten darstellt, werden mit den möglichen Pfaden in einem entsprechenden Erkennungsnetzwerk 20 in einer Suchstufe 22 verglichen. Sprachmodelle 24 leiten die Suche nach der besten Übereinstimmung zwischen den phonetischen Pfaden, die von der Klassifikationseinrichtung 18 erzeugt wurden, und den Pfaden, die durch das Erkennungsnetzwerk 20 entworfen wurden. Das Ergebnis ist ein Ausgangssignal 26, das eine erkannte Kommunikation darstellt, z. B. einen Satz.
- Die Fig. 2 zeigt einen Teil eines typischen lexikalischen Erkennungsnetzwerks, wie es bei phonetisch basierten Spracherkennungssystemen meist verwendet wird, sie zeigt, wie vor der vorliegenden Erfindung Worte in einem lexikalischen Netzwerk verbunden wurden. Die Abbildung zeigt zur Unterstützung der Erläuterung der vorliegenden Erfindung typische erlaubte Kombinationen zwischen den Worten "phone", "number" und "and". Jeder Laut des jeweiligen Worts wird als Bogen (z. B. Bogen 30) zwischen zwei Knoten (z. B. den Knoten 32 und 34) dargestellt. Die Laute werden aufeinanderfolgend verbunden, um ein Wort zu bilden. Zum Beispiel wird das Wort "and" aus den Lauten /ae/ (Bogen 36), /n/ (Bogen 38) und /d/ (Bogen 40) gebildet. Bestimmte Phoneme in einem Wort können alternative Aussprachen besitzen. Zum Beispiel kann das Endphonem im Wort "number" /er/ (Bogen 42) oder /ah/ (Bogen 44) sein. Ein Phonem kann manchmal entfallen. Zum Beispiel wird das abschließende /n/ (Bogen 50) im Wort "phone" manchmal beim Reden weggelassen; dies wird durch das alternative Beenden des Wortes mit dem "Null"-Laut (Bogen 52) angezeigt.
- Die erlaubten Verbindungen zwischen Wörtern werden durch Links angezeigt, die die Endeknoten des einen Worts mit den Anfangsknoten anderer Worte verbinden. Zum Beispiel verbindet der Link 60 den Endeknoten 54 des Worts "phone" mit dem Anfangsknoten 62 des Worts "number", während der Link 64 den Endeknoten 54 des Worts "phone" mit dem Anfangsknoten 66 des Worts "and" verbindet.
- Es ist ersichtlich, daß der Null-Endeknoten 56 des Worts "phone" über den Link 68 eine Verbindung mit dem Anfangsknoten 62 des Worts "number" besitzt, jedoch keine Verbindung mit dem Anfangsknoten 66 des Worts "and". Dies zeigt an, daß eine Aussprache, bei der das Endphonem (/n/) in "phone" bei der Aussprache der aufeinander folgenden Worte "pho(ne)" und "and" weggelassen wird, nicht erlaubt ist, eine solche Aussprache ist jedoch bei der Aussprache der Folge "pho(ne) number" erlaubt.
- Die Fig. 2 ist zur besseren Verständlichkeit in einer erweiterten Form dargestellt, das heißt, daß die Wörter wiederholt werden, um die möglichen Verbindungen zwischen ihnen deutlicher zeigen zu können. Bei einer tatsächlichen Ausführung brauchen die Wörter nicht wiederholt zu werden. Es ist des weiteren anzumerken, daß in der Fig. 2 eine Folge wie "phone phone" als mögliche Sequenz dargestellt ist, da sie phonetisch erlaubt ist, auch wenn sie syntaktisch und semantisch unwahrscheinlich ist.
- Um Wörter zu einem Vokabular hinzuzufügen, das wie in der Fig. 2 gezeigt aufgebaut ist, ist es erforderlich, die Kompatibilität der Anfangs- und Endeknoten der Wörter gegen die Anfangs- und Endeknoten aller anderen Wörter zu prüfen, um die erlaubten Verbindungen zwischen den Wörtern festzustellen. Bei einem großen Vokabular ist dazu eine erhebliche Rechenleistung erforderlich, und das Verfahren ist unakzeptabel langsam, wenn eine "online"-Erweiterung des Vokabulars versucht wird, das heißt wenn versucht wird, während eines Dialogs mit dem System Wörter zum Vokabular hinzuzufügen. Es war dies ein Haupthindernis für den Aufbau eines interaktiven Spracherkennungssystems mit einem großen Vokabular.
- Die Fig. 3 zeigt die Struktur des Wortverbindungsabschnitts eines lexikalischen Repräsentationsnetzwerks gemäß der vorliegenden Ausführungsform, die dieses Problem beseitigt. In der Fig. 3 werden die Knoten 80, 82 und 84 verbunden, um die Endphoneme einer bestimmten Aussprache jedes der Wörter "sewn", "phone" und "crayon" aufzunehmen. Der Knoten 86 ist so verbunden, daß er das Endphonem des Wortes "can" aufnimmt. Die Knoten 80-86 werden als "Endeknoten" bezeichnet, da sie das Wort beenden, das mit ihnen verbunden ist. Der Knoten 80 ist über einen Bogen 90 mit einem Wortklassenknoten 92 verbunden; Wortklassenknoten organisieren die Aussprache von Wörtern nach phonetischen sowie syntaktischen und/oder semantischen Informationen. Die mit dem Knoten 92 verbundene Klasse von Wortaussprachen kann zum Beispiel "Partizip Perfekt mit der Endung /n/, wobei das /n/ nicht ausgesprochen wird" sein. Gleichermaßen ist der Knoten 82 über einen Link 94 mit dem Wortklassenknoten 96 verbunden, mit dem auch der Knoten 84 über den Link 98 verbunden ist. Der Wortklassenknoten 96 kann zum Beispiel die Klasse "Substantiv mit der Endung /n/, wobei das /n/ nicht ausgesprochen wird" umfassen.
- Die Wortklassenknoten 92 und 96 sind wiederum über Bögen 102, 104 mit einem phonetischen Beschränkungsknoten 100 verbunden. Phonetische Beschränkungsknoten verkörpern phonetische Beschränkungen. Zum Beispiel kann der phonetische Beschränkungsknoten 100 das Beschränkungspaar (Null, n) umfassen, das anzeigt, daß die damit von links verbundenen Knoten durch das Endphonem "Null" charakterisiert sind, während jene, die damit von rechts verbunden sind, durch das Initial /n/ charakterisiert sind. In den meisten Fällen sind die Wortendeknoten mit den phonetischen Beschränkungsknoten über Wortklassenknoten verbunden. Manche Wärter im lexikalischen Netzwerk können jedoch auch ihre eigene Wortklasse bilden. Solche Wörter sind direkt mit einem phonetischen Beschränkungsknoten verbunden. Dies ist der Fall bei dem Wort "can", dessen Endeknoten 86 direkt über den Link 108 mit dem phonetischen Beschränkungsknoten 106 verbunden ist.
- Über Links 122, 124 führen die phonetischen Beschränkungsknoten 100 und 110 zum Wortverbindungsknoten 120. Gleichermaßen führt der Knoten 106 über den Bogen 128 zum Verbindungsknoten 126. Das Muster außerhalb der Verbindungsknoten ist umgekehrt zu dem Muster innerhalb der Knoten, das heißt der Verbindungsknoten 120 erweitert sich über die Links 136, 138 bzw. 140 zu den phonetischen Beschränkungsknoten 130, 132, 134. Gleichermaßen erweitert sich der Verbindungsknoten 126 über einen Link 144 zum phonetischen Verbindungsknoten 142 und über die Links 147 bzw. 149 zu den Knoten 143, 145. Der phonetische Beschränkungsknoten 130 ist über einen Link 152 mit einem Wortklassenknoten 150 verbunden und dann über einen Link 156 mit dem Anfangsknoten 154 einer qualifizierten Wortaussprache (z. B. einer typischen Aussprache des Wortes "number"). Das Wort "qualifiziert" zeigt an, daß der Anfangsknoten, zu dem ein Verbindungsknoten führt, die phonetischen Beschränkungen erfüllt, die mit den Endeknoten verbunden sind, die in diesen Verbindungsknoten führen. In der Fig. 3 ist zum Beispiel der Verbindungsknoten 120 mit Wörtern verbunden, die normalerweise mit "n" enden, wobei das abschließende "n" weggelassen werden kann, wenn das folgende Wort mit einem "n" beginnt. So kann das abschließende "n" im Wort "phone" weggelassen werden, wenn auf das Wort "phone" das Wort "number" folgt. Auf die gleiche Weise ist der phonetische Verbindungsknoten 132 über den Bogen 160 mit dem Wortklassenknoten 162 verbunden und dann über den Bogen 164 mit dem Wortanfangsknoten 166. Der Knoten 132 ist auch über den Bogen 168 mit dem Wortklassenknoten 170 und dann über den Bogen 172 mit dem Wortanfangsknoten 174 verbunden. Schließlich ist der phonetische Beschränkungsknoten 142 über den Bogen 178 direkt mit dem Wortanfangsknoten 176 verbunden, ohne daß die Verbindung über einen dazwischenliegenden Wortklassenknoten läuft.
- Die Struktur des lexikalischen Netzwerks der Fig. 3 erleichtert das dynamische Hinzufügen von Wörtern zu dem lexikalischen Netzwerk ganz erheblich, das heißt das Hinzufügen solcher Wörter während des Verlaufs eines Gesprächs und gleichzeitig mit der Spracherkennung. Insbesondere werden erlaubte Wortklassen und phonetische Beschrän kungen vorher festgelegt, und die Verbindungen zwischen den Wortklassenknoten, den phonetischen Beschränkungsknoten und den Verbindungsknoten werden vorkompiliert und vor der Spracherkennung im lexikalischen Netzwerk des Systems gespeichert. Die Endeknoten und die Anfangsknoten eines festgelegten "Grundvokabulars" werden in den Fällen, in denen diese Wörter zu den definierten Wortklassen gehören, auf die in der Fig. 3 gezeigte Weise mit den Wortklassenknoten verbunden, anderenfalls werden sie direkt mit den phonetischen Beschränkungsknoten verbunden (z. B. wenn das Wort ausreichend häufig ist, um eine eigene Wortklasse zu bilden).
- Wörter, die in der Grundform des lexikalischen Netzwerks nicht vorkompiliert sind, werden dadurch dynamisch zu dem Netzwerk hinzugefügt, daß zuerst das Aussprachenetzwerk für das jeweilige Wort gebildet wird (in Verbindung mit der Fig. 4 wird dies näher beschrieben) und dann die Endeknoten und die Anfangsknoten der Wörter entsprechend den Wortklassen und den phonetischen Beschränkungen für die jeweiligen Knoten mit den geeigneten Wortklassenknoten verbunden werden. Zum Beispiel wird die Aussprache eines Substantivs, das mit "n" endet, wobei das abschließende "n" wegfallen kann, wenn das folgende Wort mit "n" beginnt, mit einem Substantiv-Wortklassenknoten verbunden, der selbst mit einem phonetischen Beschränkungsknoten mit der Beschränkung (Null, n) verbunden ist, der die Beschränkungen für ein Wort angibt, das mit einem "Null"- Laut endet und dem ein Wort folgen muß, das mit "n" beginnt.
- Jeder Wortendeknoten und jeder Wortanfangsknoten enthält den Index des PBKs, mit dem er (über einen WKK) verbunden ist. Bei der vorliegenden Ausführungsform erfolgt einfach ein Nachschlagen (wodurch keine Berechnungen im laufenden Betrieb erforderlich sind), um die phonetische Kompatibilität zwischen den Endeknoten und den Anfangsknoten der Wörter auszubilden, die zu dem System-Vokabular hinzugefügt werden, wodurch das Hinzufügen der Wörter in "Echtzeit" möglich ist, das heißt gleichzeitig mit der Interaktion mit dem Nutzer des Systems. Dadurch wiederum läßt sich die Größe des Vokabulars drastisch verringern, das vorkompiliert und im aktiven (Direktzugriffs-) Speicher gespeichert werden muß, wodurch eine Erweiterung des effektiven Bereichs des Vokabulars für ein gegebenes System möglich ist, da das erforderliche Vokabular laufend aus den Wortschreibungen oder aus den phonetischen Grundformen heraus erstellt werden kann, wodurch in Vergleich zu dem Speicherplatz, der für ein Vokabular erforderlich ist, das vollständig vorkompiliert und in das lexikalische Netzwerk integriert ist, ein wesentlich geringerer Speicherplatz erforderlich ist.
- Die Fig. 4A zeigt die Art, wie Aussprachenetzwerke aus phonetischen Grundformen erzeugt und gemäß der vorliegenden Ausführungsform gespeichert werden. Insbe sondere weist das Wort "phone" die phonetische Grundform /f ow n/ auf. Die phonetische Grundform ist die "ideale" Aussprache des Worts, d. h. ohne das Verwischen, das beim schnellen oder flüchtigen Sprechen auftritt. Das Netzwerkfragment für jedes Phonem des Worts wird durch das Anlegen von Regeln erzeugt, die die phonetischen Beschränkungen enthalten, die vom Kontext der Phoneme abhängen, das heißt von den umgebenden Phonemen. Wie in der Fig. 4A gezeigt, wird das Phonem /f/ als [f] ausgesprochen oder als [f Pause], wenn ein Vokal folgt, es wird als [f] ausgesprochen oder entfällt (Null-Aussprache), wenn ein /f/ folgt, und es wird als [f] ausgesprochen, wenn ein anderes Phonem außer einem weiteren /f/ oder einem Vokal folgt. Gleichermaßen wird das Phonem /ow/- ausgesprochen als [ow] oder als [ow w], wenn ein Vokal folgt, und es wird in allen anderen Fällen als [ow] ausgesprochen. Schließlich wird das Phonem /n/ ausgesprochen als [n] oder entfällt (Null-Aussprache), wenn ein /n/ folgt, und es wird in allen anderen Fällen wie [n] ausgesprochen. Die den einzelnen Phonemen des Worts "phone" entsprechenden phonetischen Fragmente sowie das sich ergebende Wort, das beim Verbinden der Fragmente miteinander gemäß den darin enthaltenen phonetischen Beschränkungen gebildet wird, ist in der Fig. 4A gezeigt.
- Bei der vorliegenden Ausführungsform werden die phonetischen Fragmente vorkompiliert (das heißt vor der Spracherkennung kompiliert) und in binärer Form gespeichert. Zum schnellen Wiederauffinden werden sie mit den Phonemen indexiert. Ausgehend von der Grundform eines Phonems werden die geeigneten phonetischen Fragmente zusammengesetzt, um Wörter zu bilden. Aus der Fig. 4A ist ersichtlich, daß die so geformten Wörter eine Vielzahl von Verbindungen haben können; diese können am Anfang des Worts, am Ende des Worts oder beide Male auftreten und werden als "ausgefranste Ränder" bezeichnet. Jeder Knoten an einem ausgefransten Rand entspricht einem Wortanfangs- oder einem Wortendeknoten einer bestimmten Aussprache des Worts. Jeder Wortanfangs- und Wortendeknoten ist mit genau einem PBK verbunden (im Falle von dynamisch hinzugefügen Wörtern über einen WKK).
- Die phonetischen Beschränkungen, nach denen die Fragmente miteinander und (über WKKs) mit PBKs verbunden werden, werden in Form der Phonemindizes ausgedrückt. In einigen Fällen können weitere Einschränkungen für die Verbindungen des Worts mit dem lexikalischen Netzwerk erforderlich sein. Zum Beispiel kann das Phonem /ax/ ("schwa" in der ARPABET-Notation) manchmal wie der Laut [ax] ausgesprochen werden und in anderen Fällen wie der Laut [Null]. Gleichermaßen kann das Phonem /l/ manchmal wie der Laut [l] ausgesprochen werden und in anderen Fällen wie der Laut [el] (Silben-/l/). (Ein Beispiel sind die verschiedenen Aussprachen des Worts "vowel" als [v aw ax l] oder alternativ als [v aw el].) Die Bedingungen, unter denen die jeweiligen Aussprachen erlaubt sind, sind in der Fig. 4B gezeigt. Für die englische Standardaussprache von /ax l/ ist die Kombination [ax][l] erlaubt und die Kombination [Null][el], die Kombinationen [ax][el] und [Null][l] sind jedoch nicht erlaubt. Bei der vorliegenden Ausführungsform können die erlaubten Kombinationen dadurch ausgebildet und die unerlaubten Kombinationen dadurch verhindert werden, daß die "Enden" einen gegebenen Fragments mit einem Anhang versehen werden und die Verbindung eines Fragmentendes mit solchen Knoten eingeschränkt wird, die nicht die erlaubten phonetischen Beschränkungen, aber den gleichen Anhang wie das Fragmentende aufweisen, mit dem sie verbunden werden sollen.
- Dies ist genauer in der Fig. 4B dargestellt, die die phonetischen Fragmente für das Phonem /ax/ zeigt, wenn ihm ein anderes Phonem außer dem Phonem /l/ folgt und wenn ihm ein /l/ folgt. Die Fig. 4B zeigt auch das phonetische Fragment für das Phonem /l/für die beiden Fälle, wenn ihm das Phonem /ax/ vorangeht und anderenfalls. Das Fragment, das dem Phonem /ax/ gefolgt von dem Phonem /l/ entspricht, weist die Anhängsel "a" und "b" auf, die mit den alternativen Aussprachen der Laute [ax] und [Null] verbunden sind. Gleichermaßen weist das Fragment, das dem Phonem /l/ entspricht, dem das Phonem /ax/vorangeht, die Anhängsel "a" und "b" auf, die mit den alternativen Aussprachen [l] bzw. [el] verbunden sind. Bei der Verbindung der Fragmente zu der Folge /ax/ /l/ kann ein Knoten mit dem Anhängsel "a" im Phonem lax/ nur mit einem Knoten verbunden werden, der im Phonem /l/ gleichermaßen das Anhängsel "a" besitzt; dasselbe gilt für die Knoten mit den Anhängseln "b" in diesen Phonemen. Diese Struktur wird sowohl zwischen den Wörtern als auch in den Wörtern verwendet, das heißt diese Struktur wird gegebenenfalls auch bei der Verbindung von Wörtern im lexikalischen Netzwerk verwendet. Die Einbindung in das Netzwerk kann somit auf der Basis der Übereinstimmung der phonetischen Beschränkungen (auf der Basis der Phonemindizes) an den Anfangs- und Endeknoten eines Worts mit den phonetischen Beschränkungen einer Wortklasse oder eines phonetischen Beschränkungsknotens erfolgen, während gleichzeitig die anderen Beschränkungen erhalten bleiben, die für die jeweilige Verbindung zutreffen. Dies erleichtert das schnelle Hinzufügen von Wörtern zu dem lexikalischen Vokabular.
- Bei der Spracherkennung durchsucht das System das lexikalische Netzwerk nach Übereinstimmungen zwischen den vom Sprecher abgegebenen Lauten und den im System gespeicherten Worten. Wie in der Fig. 5 gezeigt, fährt das System mit dem Erkennungsprozeß fort (Schritt 192), wenn zum Zeitpunkt der Erkennung ein im System zu speichernder Kandidat gefunden wird (Schritt 190). Wenn kein Kandidat gefunden wird, prüft das System, ob im System die Grundform des Worts gespeichert ist (Schritt 194).
- Wenn ja, bildet das System das Wort aus der Grundform so, wie es in Verbindung mit der Fig. 4 beschrieben ist, bindet es in das lexikalische Netzwerk ein, wie es in Verbindung mit der Fig. 3 beschrieben ist, und fährt dann mit dem Erkennungsprozeß fort. Wenn die gesuchte Grundform des Worts nicht im System gespeichert ist, wird zuerst die Grundform entsprechend festgelegten Text-zu-Phonem-Regeln erzeugt (Schritt 198).
- In der Fig. 6 ist ein Flußdiagramm für den Suchprozeß durch das lexikalische Netzwerk gezeigt. Die Form der Gesamtsuche ist von der Art, die von Viterbi beschrieben wurde, jedoch erweitert, um die Möglichkeiten der vorliegenden Ausführungsform auszunutzen. Das Ziel der Suche ist es, in jeder Stufe des Netzwerks (d. h. an jedem Knoten des Netzwerks) den wahrscheinlichsten Pfad durch das lexikalische Netzwerk zu finden. Dabei wird die kumulative Wahrscheinlichkeit des Auftretens der linguistischen Bedingung für einen gegebenen Knoten aufgezeichnet und für den späteren Gebrauch gespeichert.
- Für ein Beispiel siehe die Fig. 3. Den Endeknoten 80, 82, 84 und 88 sind "Punkte" -75, -50, -100 bzw. -80 zugeordnet. Diese Zahlen sind proportional dem Logarithmus der Wahrscheinlichkeit an den jeweiligen Knoten für den wahrscheinlichsten Pfad in diese Knoten. Die Aufgabe ist, diese Wahrscheinlichkeiten durch das lexikalische Netzwerk bis zu den "Anfangsknoten" 154, 166 etc. fortzusetzen. Dies wird wie folgt erreicht:
- Im ersten Schritt (Fig. 6, Schritt 200) wird die Punktzahl von den verschiedenen Endeknoten in die linksseitigen Wortklassenknoten maximiert. Dies wird dadurch erreicht, daß an jedem Wortklassenknoten aus den Punktzahlen der Endeknoten, die mit dem jeweiligen Wortklassenknoten verbunden sind, die maximale Punktzahl ausgewählt wird. In der Fig. 3 ist der Knoten 96 sowohl mit dem Knoten 82 (mit einer Punktzahl von -50) als auch mit dem Knoten 84 (mit einer Punktzahl von -100) verbunden. An der größeren dieser Punktzahlen (-50) wird daher zum Knoten 96 weitergegangen. Der Knoten 92 mit nur einem einzigen Endeknoten verbunden, dem Knoten 80, der eine Punktzahl von -75 aufweist. Die Punktzahl -75 wird daher zum Knoten 92 weitergeleitet.
- Dann werden (Fig. 6, Schritt 202) die Punktzahlen in den linksseitigen phonetischen Beschränkungsknoten maximiert. Im Algorithmus zum Berechnen der Punktzahlen werden die allgemeinen Funktionen fl(), fr(), g() und h() verwendet. Die Funktionen enthalten als Argumente einen Knoten (das heißt, das Wort oder die Wortklasse, die mit dem Knoten verbunden ist) oder ein Paar von Knoten. Bei der Angabe dieser Funktionen können verschiedene Sprachmodelle eingeführt werden. Die Punktzahl in ein linksseitiges phonetisches Beschränkungspaar umfaßt die linksseitige Eingangs-Punktzahl sl plus eine Funktion fl(u), wobei sl in dem Fall, daß der Quellknoten (das heißt der Knoten, der dem phonetischen Beschränkungsknoten vorangeht), ein Endeknoten ist, die Endeknoten-Punkt zahl ist, und sl ist die Punktzahl des Wortklassenknoten, wenn der Quellknoten ein Wortklassenknoten ist. Gleichermaßen ist t(u) eine Funktion, die an dem Endeknoten u in dem Fall definiert ist, daß der Quellknoten ein Endeknoten ist, und fl(u) ist eine Funktion, die an dem Wortklassenknoten u definiert ist, wenn der Quellknoten ein Wortklassenknoten ist.
- Typischerweise ist fl(u) eine Wahrscheinlichkeit, d. h. die Funktion definiert die Wahrscheinlichkeit des Auftretens der Bedingung, die zu dem jeweiligen Knoten gehört. Zum Beispiel kann sie die Wahrscheinlichkeit einer bestimmten Wortklasse im System-Vokabular festlegen. Der Maximalwert der Punktzahl, der so für jeden linksseitigen phonetischen Beschränkungsknoten berechnet wird, wird dann bestimmt und dem jeweiligen phonetischen Beschränkungsknoten zugeordnet. Zum Beispiel ist der Knoten 100 mit dem Knoten 92 verbunden, der eine Punktzahl von -75 aufweist, und auch mit dem Knoten 96, der eine Punktzahl von -50 aufweist. Die dem Knoten 100 zugeordnete Punktzahl wird dann durch Auswahl des Maximums aus -75 + fl(92) (der Gesamt-Punktzahl des Knotens 92) und -50 + fl(96) (der Gesamt-Punktzahl des Knotens 96) bestimmt. Zur Vereinfachung ist in diesem Beispiel fl() gleich Null, und dem PBK wird die Punktzahl -50 zugeordnet.
- Dann werden die maximalen Punktzahlen für die phonetischen Beschränkungsknoten bestimmt (Fig. 6, Schritt 204). In der Fig. 3 weist der Knoten 100 eine Punktzahl von -50 auf, was größer ist als die Punktzahl jedes anderen Knotens, der zum Verbindungsknoten 120 führt. Entsprechend wird dem Knoten 120 die Punktzahl -50 zugeordnet. Die Punktzahlen für die anderen Verbindungsknoten werden auf die gleiche Weise berechnet.
- Der nächste Schritt (Fig. 6, Schritt 206) ist die Fortsetzung der Punktzahlen für die Verbindungsknoten zu den rechtsseitigen phonetischen Beschränkungsknoten. Die Punktzahl -50 für den Knoten 120 wird daher zu den Knoten 130, 132 und 134 weitergeführt, die mit dem Knoten 120 verbunden sind. Die Punktzahlen von den anderen Verbindungsknoten im Netzwerk werden gleichermaßen zu den phonetischen Beschränkungsknoten weitergeführt, mit denen sie jeweils verbunden sind.
- Es werden dann für den Fall, daß die phonetischen Beschränkungsknoten über Wortklassenknoten mit den Anfangsknoten verbunden sind, die Punktzahlen in die rechtsseitigen Wortklassenknoten maximiert (Fig. 6, Schritt 208); wenn die phonetischen Beschränkungspaare direkt und ohne Durchlaufen von dazwischenliegenden Wortklassenknoten mit den Anfangsknoten verbunden sind, werden die Punktzahlen in die Anfangsknoten maximiert. Zum Beispiel ist in der Fig. 3 der phonetische Beschränkungsknoten 130 über den Wortklassenknoten 150 mit dem Anfangsknoten 154 verbunden. Umgekehrt ist der phonetische Beschränkungsknoten 134 direkt mit dem Knoten 120 verbunden, ohne über einen Wortklassenknoten zu laufen.
- Die Punktzahl, die maximiert wird, kann als sr + fr(u) ausgedrückt werden, wobei sr die Punktzahl des rechtsseitigen phonetischen Beschränkungsknotens ist, der entweder mit dem Wortklassenknoten oder dem Anfangsknoten verbunden ist, und fr(u) eine Funktion ist, die das Punktzahlinkrement (typischerweise eine logarithmische Wahrscheinlichkeit) für den Knoten u (entweder einem Wortklassenknoten oder einem Anfangsknoten) angibt, mit dem der fragliche phonetische Beschränkungsknoten verbunden ist. Zum Beispiel kann die Funktion fr(u) als log (C(u)/N) definiert sein, wobei C(u) die Wortzahl in einem repräsentativen Text des Worts oder der Wortklasse ist, die mit dem jeweiligen Knoten u verbunden ist, und N die Gesamtzahl von Wörtern im repräsentativen Text ist.
- Zum Zwecke der Erläuterung nehmen wir an, daß der Wortklassenknoten 150 die Klasse der Singular-Substantive umfaßt, die mit dem Buchstaben "n" beginnen, und daß sich in einem Auswahltext von einer Million Wörtern zehntausend solcher Substantive befinden. Die Funktion fr(u) = fr(150) ergibt dann in Zahlen fr(150) = log (10.000/1.000.000) = -2. Entsprechend ist die Punktzahl an diesem Knoten gleich sr + fr(u) = -50 + (-2) = -52. Diese Punktzahl ist in der Fig. 3 am Knoten 150 gezeigt, sie wird jedoch aus Gründen, die gleich erläutert werden, "ausgestrichen".
- Der phonetische Beschränkungsknoten 142 ist direkt mit dem Anfangsknoten 176 verknüpft und läuft nicht über irgendwelche dazwischenliegenden Wortklassenknoten. Entsprechend wird die Punktzahl des Anfangsknotens 176 über die Funktion sr + fr(u) bestimmt. Wie in der Fig. 3 gezeigt, ist der Wert von sr hinsichtlich des Knotens 176 der Wert des Knotens 142, das heißt -25. In der Fig. 3 ist der Knoten 176 als der Anfang des Wortes "the" gezeigt. In einem Text von einer Million Wörtern trete das Wort "the" zehntausendmal auf. Die Funktion fr(176) ergibt dann einen Wert fr(176) = log [10.000/1.000.000] = -2, und die Punktzahl am Knoten 176 ist somit -25 -2 = -27.
- Nachdem die maximalen Punktzahlen von allen PBK in die Anfangsknoten oder Wortklassenknoten bestimmt sind, stellt das System fest, ob es für die fraglichen Wortpaare im Sprachmodell eine Bigram-Statistik gibt. Gemäß der vorliegenden Erfindung wird die maximale Punktzahl für jedes Bigrampaar (f, t) zu sf + g(f, t) bestimmt, wobei sf die Punktzahl eines "von"-Knotens (d. h. eines Wortklassenknoten, wenn ein Endeknoten über einen Wortklassenknoten angeschlossen ist, und eines Endeknotens in allen anderen Fällen) auf der linken Seite eines Verbindungsknotens ist (siehe Fig. 3), und g(f, t) ist eine Funktion, die gemeinsam an einem "von"-Knoten (d. h. einem Wortklassenknoten, wenn ein Endeknoten über einen Wortklassenknoten angeschlossen ist, und einem Endeknotens in allen anderen Fällen) und an einem "zu"-Knoten (d. h. einem Wortklassenknoten, wenn ein Anfangsknoten über einen Wortklassenknoten angeschlossen ist, und einem Anfangsknotens in allen anderen Fällen) auf der rechten Seite eines Verbindungsknotens festgelegt wird, der den jeweiligen "von"-Knoten mit dem jeweiligen "zu"-Knoten verbindet.
- Als spezielles Beispiel dafür betrachte man die Beziehung zwischen dem "von"-Knoten 96 (d. h. der Wortklasse von "Substantiven, die mit "n" enden, wobei beim Sprechen jedoch das n weggelassen wird") und dem "zu"-Knoten 150 (der Wortklasse von "Singular-Substantiven, die mit "n" beginnen"). g(f, t) kann als log [C(f, t)/C(f)] definiert werden, wobei C(f, t) die Anzahl der Wortklassenpaare f, t ist und C(f) die Anzahl der Wortklassen f in einem repräsentativen Text. Es sei g(96, 150) = log [C(96, 150)/C(96)] = -1. Der Wert von sf am Knoten 96 ist wie gezeigt -50. Die Funktion ergibt dann sf + g(f, t) = -50 + (-1) = -51. Da dies größer ist als der vorherige Wert -52 für den Knoten 150, nimmt der Knoten 150 den neuen Wert -51 an. Wenn alle anderen Pfade zum Knoten 150 durch den VERB-Knoten 120 zu niedrigeren Punktzahlen führen, ist -51 der endgültige Wert für den Knoten 150.
- Wenn die Anfangsknoten durch rechtsseitige Wortklassenknoten erreicht werden und nicht direkt von rechtsseitigen phonetischen Beschränkungsknoten, erfolgt eine abschließende Einstellung der Punktzahl (Fig. 6, Schritt 212). Diese Einstellung umfaßt die Bestimmung der Funktion sw + h(b, w), wobei sw die Punktzahl des Wortklassenknotens ist, die bisher bestimmt wurde, und h(b, w) eine Funktion, die vom Quell-Wortklassenknoten und dem Ziel-Wortanfangsknoten abhängt. Beim vorliegenden Beispiel kann h(b, w) die Häufigkeit des Auftretens des Worts am Anfangsknoten geteilt durch die Häufigkeit des Auftretens des fraglichen Wortklassenknotens sein. Zum Beispiel ist für den Wortklassenknoten 150 und den Anfangsknoten 154 die vorher berechnete Punktzahl sw gleich -51. Es ist h(b, w) = h(154, 150) = log [C(154, 150)/C(150)], wobei C(154, 150) die Anzahl des Auftretens des Worts 154 ist, wenn es zur Wortklasse 150 gehört. Wenn das Wort "Nummer" als Substantiv in einem gegebenen Text 1000 mal auftaucht und die Wortklasse "Singular-Substantiv, das mit "n" beginnt", 10.000 mal, hat die Funktion h(154, 150) den Wert -1. Die endgültige Punktzahl am Anfangsknoten 154 ist dann -51 + (-1) = -52. Für die anderen Knoten werden entsprechende Berechnungen durchgeführt.
- Nach der Bestimmung der maximalen Punktzahlen an den Anfangsknoten werden die Pfade festgelegt, deren Punktzahlen die wahrscheinlichste Verbindung zwischen den Wortendungen an den Endeknoten und den folgenden Wortanfängen an den Anfangsknoten ergeben. Der Suchprozeß wird dann auf die gleiche Weise fortgeführt, bis der vollständige Pfad durch das lexikalische Netzwerk bestimmt ist.
- Durch die Fähigkeit, Wörter dynamisch (d. h. gleichzeitig mit der Spracherkennung) zum System-Vokabular hinzuzufügen, ist das System in der Lage, vorteilhaft von verschiedenen Beschränkungen Gebrauch zu machen, die immer in einer domänenspezifischen Datenbank vorliegen, wodurch das Erkennen der eingegebenen Sprache wesentlich erleichtert wird. Zum Beispiel werde der Fall eines interaktiven Verkaufssystems betrachtet, bei dem das vorliegende System verwendet wird. Bei einer solchen Datenbank enthält das Vokabular zumindest teilweise Aufzeichnungen in Feldern mit Informationselementen über den Nutzer. Beim Gespräch mit dem Nutzer veranlaßt das System diesen, verschiedene Spracheingaben auszuführen, und es erzeugt beim Erkennen der Eingaben Informationen oder veranlaßt den Nutzer weiter zur Eingabe, um eine Bestellung aufzunehmen. Wegen der großen Anzahl von Elementen (z. B. "Kundennamen"), die in das Vokabular aufzunehmen sind, um erkannt zu werden, kann es unpraktisch sein, immer alle potentiellen Elemente eines Felds zu "aktivieren" (d. h. zur Erkennung bereitzuhalten). Dieses Problem wird bei der vorliegenden Erfindung dadurch gelöst, daß ein verwandtes Feld in der Aufzeichnung verwendet wird, um die Wörter zu beschränken, die zu dem aktiven lexikalischen Netzwerk hinzugefügt werden müssen, damit die erforderliche Erkennung der gesprochenen Wörter erfolgen kann.
- Zum Beispiel kann, wie in der Fig. 7 gezeigt, eine Aufzeichnung 300 die Postleitzahl 302 für einen Nutzer, seine oder ihre Adresse 304, den Nachnamen 306 des Nutzers und dessen Vornahmen 308 umfassen. Die Felder 302, 304, 306 und 308 sind verwandt oder "gehören" dadurch zusammen, daß sie den gleichen Nutzer betreffen. Die Postleitzahl besteht aus einem Vokabular mit zehn Wörtern (den zehn Ziffern). Die Anzahl von Nutzern, die zu einer Postleitzahl oder zu mehreren hypothetischen Postleitzahlen gehören, ist kleiner als die Gesamtzahl der Nutzer. Erfindungsgemäß wird der Nutzer zuerst nach seiner Postleitzahl gefragt. Das Spracherkennungssystem stellt dann die Postleitzahlen fest, die am wahrscheinlichsten der tatsächlichen, vom Nutzer ausgesprochenen Postleitzahl entsprechen, und fügt dem lexikalischen Erkennungsnetzwerk diejenigen Nachnamen hinzu, die den so bestimmten Postleitzahlen entsprechen. Dadurch verringert sich die Anzahl der Namen, die zu einem bestimmten Zeitpunkt zum Erkennungsnetzwerk hinzugefügt werden müssen, drastisch, wodurch die Erkennung des Nachnamens wesentlich erleichtert wird. Es wird daher angenommen, daß diese Fähigkeit von großem Nutzen ist.
Claims (21)
1. Spracherkennungssystem zum dynamischen Hinzufügen eines Wortes zu
einem Grundvokabular, wobei Wortverbindungen zwischen Wortpaaren des Vokabulars
durch ein lexikalisches Netzwerk definiert sind, wobei das Spracherkennungssystem
aufweist:
mehrere Knoten, die Wortverbindungen zwischen benachbarten Wörtern
entsprechen, wobei die Wortverbindungen gemäß einer vordefinierten Kongruenz zwischen
phonetischen Beschränkungen der Wörter gebildet sind, wobei die Knoten aufweisen
A. mehrere phonetische Beschränkungsknoten (100, 106, 110, 130, 132, 134),
deren jeder durch einen phonetischen Beschränkungstupel (x, y, z, ...) der zweiten oder
einer größeren Ordnung gekennzeichnet ist, wobei x, y, z, ... phonetische
Beschränkungen bei benachbarten Wörtern sind; und
B. mehrere Verbindungsknoten (120, 126), wobei jedem phonetischen
Beschränkungsknoten ein Satz von Verbindungsknoten entspricht, um benachbarte Wörter aus
dem Grundvokabular zu identifizieren, die die phonetischen Beschränkungen des
phonetischen Beschränkungsknoten erfüllen; und
eine Einrichtung zum Hinzufügen eines Wortes zu dem Grundvokabular, wobei
das Wort mindestens Anfangs- und End-Phoneme aufweist, und wobei die Einrichtung das
Wort dadurch hinzufügt, daß phonetische Beschränkungsknoten für das Wort entsprechend
seinen Phonemen bestimmt und Wortverbindungen für das Wort aufgrund der den
bestimmten phonetischen Beschränkungsknoten entsprechenden Verbindungsknoten
bestimmt werden.
2. Spracherkennungssystem nach Anspruch 1, wobei die phonetischen
Beschränkungstupel mindestens eine erste phonetische Beschränkung bei dem Wort und mindestens
eine zweite phonetische Beschränkung bei einem benachbarten Wort in einem Pfad durch
das lexikalische Netzwerk definieren.
3. Spracherkennungssystem nach Anspruch 1, wobei die Wortverbindungen
zwischen benachbarten Wörtern entsprechenden Knoten ferner aufweisen:
C. mehrere Wortklassenknoten (92, 96, 150, 170), deren jeder durch eine
Wortklasse charakterisiert ist, wobei jeder phonetische Beschränkungsknoten Null oder
mehreren Wortklassenknoten entspricht und der Satz von einem phonetischen
Beschränkungsknoten entsprechenden Verbindungsknoten Wörter aus dem
Grundvoka
bular identifiziert, die die phonetischen Beschränkungen bei den den phonetischen
Beschränkungsknoten charakterisierenden Wortklassen erfüllen;
wobei dann, wenn das dem Grundvokabular hinzuzufügende Wort mindestens
eine Wortklasse aufweist, die Einrichtung zum Hinzufügen des Wortes zu dem
Grundvokabular die den Wortklassen des hinzuzufügenden Wortes entsprechenden Klassenknoten
bestimmt und die Wortverbindungen für das Wort durch die Verbindungsknoten
entsprechend vorbestimmten phonetischen Beschränkungsknoten und den Massenknoten für das
Wort bestimmt werden.
4. Spracherkennungssystem nach Anspruch 1, wobei die phonetischen
Beschränkungstupel mindestens das letzte Phonem eines ersten Wortes, das in dem lexikalischen
Netzwerk enthalten oder ihm hinzuzufügen ist, und das erste Phonem eines zweiten
Wortes, das in dem lexikalischen Netzwerk in einem dem ersten Wort benachbarten Pfad
enthalten oder ihm hinzuzufügen ist, definieren.
5. Spracherkennungssystem zum dynamischen Erweitern eines Grundvokabulars
mit
A. einem lexikalischen Netzwerk, das Wörter des Grundvokabulars definierende
Phonemsequenzen enthält;
B. Beschränkungsknoten (100, 106, 130, 132, 92, 150), die Beschränkungen bei
zulässigen Verbindungen zwischen ausgewählten Phonemsequenzen der Wörter des
Grundvokabulars definieren; und
C. einer Einrichtung zum Herstellen von Verknüpfungen zwischen Wörtern in
dem Grundvokabular über die Beschränkungsknoten.
6. Spracherkennungssystem nach Anspruch 5, wobei zu den Beschränkungen
solche gehören, die aus einem phonetische, syntaktische und semantische Beschränkungen
enthaltenden Satz ausgewählt sind.
7. Spracherkennungssystem nach Anspruch 6, wobei zu den phonetischen
Beschränkungen segmentelle oder supersegmentelle phonetische Beschränkungen gehören.
8. Spracherkennungssystem nach Anspruch 6, wobei zu den
Beschränkungsknoten mindestens
A. phonetische Beschränkungsknoten (100, 130), die durch mindestens ein
Phonem aus jedem Paar von Wörtern gekennzeichnet sind und eine zulässige
Wortpaarsequenz definieren; und
B. Wortklassenknoten (92, 150) zum Einfügen von syntaktischen oder
semantischen Informationen in das lexikalische Netzwerk, wobei ein Wortklassenknoten
einem phonetischen Beschränkungsknoten entspricht, gehören, und
wobei die Beschränkungsknoten ferner Verbindungsknoten zum Verbinden
von kongruenten phonetischen Beschränkungsknoten aufweisen.
9. Spracherkennungssystem nach Anspruch 8, wobei die Verbindung zwischen
den phonetischen Beschränkungsknoten und den Verbindungsknoten vor der
Spracherkennung gebildet wird.
10. Spracherkennungssystem nach Anspruch 8, mit ferner einer Einrichtung zum
dynamischen Hinzufügen von Wörtern zu dem Erkennungsvokabular durch Zuordnen der
Wörter zu phonetischen Beschränkungsknoten.
11. Spracherkennungssystem nach Anspruch 4, wobei ein neues Wort Anfangs-
und Endeknoten (154; 80) zum Verknüpfen des neuen Wortes mit Beschränkungsknoten
aufweist.
12. Mittels Computer ausführbares Verfahren für ein Spracherkennungssystem
zum dynamischen Hinzufügen eines neuen Wortes zu einem lexikalischen Netzwerk, das
Wortverbindungen zwischen Wörtern eines Grundvokabulars definiert, wobei in dem
Verfahren
mindestens Phoneme für Anfang und Ende des neuen Wortes bestimmt werden
und
das neue Wort dem lexikalischen Netzwerk dadurch hinzugefügt wird, daß den
bestimmten Phonemen entsprechende phonetische Beschränkungsknoten (100) für das
neue Wort ausgewählt werden, wobei die phonetischen Beschränkungsknoten
vorbestimmte Wortverbindungen zu Wörtern des Grundvokabulars entsprechend den Phonemen des
neuen Wortes und des Grundvokabulars aufweisen,
wobei die Beschränkungsknoten ferner Verbindungsknoten (120) zum
Verbinden kongruenter phonetischer Beschränkungsknoten aufweisen.
13. Speichervorrichtung mit computerlesbaren Befehlen, die ein
Spracherkennungssystem befähigen, einem lexikalischen Netzwerk, das Wortverbindungen zwischen
Wörtern eines Grundvokabulars definiert, ein neues Wort dynamisch hinzuzufügen, wobei
zu den Befehlen gehören:
Befehle zum Bestimmen von Phonemen mindestens am Beginn und am Ende
des neuen Wortes; und
Befehle zum Hinzufügen des neuen Wortes zu dem lexikalischen Netzwerk
durch Auswahl von den bestimmten Phonemen für das neue Wort entsprechenden
phonetischen Beschränkungsknoten (100), die vorbestimmte Wortverbindungen zu Wörtern des
Grundvokabulars aufweisen, die den Phonemen des neuen Wortes und Wörtern des
Grundvokabulars entsprechen;
wobei die Beschränkungsknoten ferner Verbindungsknoten (120) zum
Verbinden von kongruenten phonetischen Beschränkungsknoten aufweisen.
14. Computerprogramm-Datenträger für ein Spracherkennungssystem zum
dynamischen Hinzufügen von Wörtern zu einem existierenden Erkennungsvokabular, wobei
Wortverbindungen zwischen Wortpaaren des Vokabulars in einem lexikalischen Netzwerk
definiert sind, wobei die Wortverbindungen entsprechend einer vorbestimmten Kongruenz
zwischen den phonetischen Beschränkungen der Wörter gebildet sind, und wobei der
Computerprogramm-Datenträger aufweist:
Befehle zum Bestimmen mehrerer phonetischer Beschränkungsknoten (100),
deren jeder durch einen phonetischen Beschränkungstupel (x, y, z, ...) der zweiten oder
einer größeren Ordnung charakterisiert ist, wobei x, y, z, ... phonetische Beschränkungen
bei benachbarten Wörtern sind; und
Befehle zum Definieren mehrerer Verbindungsknoten (120), wobei jedem
phonetischen Beschränkungsknoten ein Satz von Verbindungsknoten zum Identifizieren
benachbarter Wörter aus dem Grundvokabular entspricht, die die phonetischen
Beschränkungen des phonetischen Beschränkungsknotens erfüllen; und
Befehle zum Hinzufügen eines Wortes zu dem Grundvokabular, wobei das
Wort mindestens Anfangs- und Endphoneme aufweist, wobei die Einrichtung das Wort
dadurch hinzufügt, daß phonetische Beschränkungsknoten für das Wort entsprechend
seinen Phonemen bestimmt sowie Wortverbindungen für das Wort aufgrund der den
vorbestimmten phonetischen Beschränkungsknoten entsprechenden Verbindungsknoten
bestimmt werden.
15. Computerprogramm-Datenträger nach Anspruch 14, wobei die phonetischen
Beschränkungstupel mindestens eine erste phonetische Beschränkung bei einem Wort und
mindestens eine zweite phonetische Beschränkung bei einem benachbarten Wort in einem
Pfad durch das lexikalische Netzwerk bestimmen.
16. Computerprogramm-Datenträger nach Anspruch 14, wobei die
Wortverbindungen zwischen benachbarten Wörtern entsprechenden Knoten ferner aufweisen:
C. mehrere Wortklassenknoten (92, 150), deren jeder durch eine Wortklasse
charakterisiert ist, wobei jeder phonetische Beschränkungsknoten Null oder mehreren
Wortklassenknoten entspricht und der Satz von einem phonetischen
Beschränkungsknoten entsprechenden Verbindungsknoten Wörter aus dem Grundvokabular
identifiziert, die die phonetischen Beschränkungen bei den den phonetischen
Beschränkungsknoten charakterisierenden Wortklassen erfüllen;
wobei dann, wenn das dem Grundvokabular hinzuzufügende Wort mindestens
eine Wortklasse aufweist, die Einrichtung zum Hinzufügen des Wortes zu dem
Grundvokabular die den Wortklassen des hinzuzufügenden Wortes entsprechenden Klassenknoten
bestimmt und die Wortverbindungen für das Wort durch die Verbindungsknoten
entsprechend vorbestimmten phonetischen Beschränkungsknoten und den Klassenknoten für das
Wort bestimmt werden.
17. Computerprogramm-Datenträger nach Anspruch 14, wobei die phonetischen
Beschränkungstupel mindestens das letzte Phonem eines ersten Wortes, das in dem
lexikalischen Netzwerk enthalten oder ihm hinzuzufügen ist, und das erste Phonem eines zweiten
Wortes, das in dem lexikalischen Netzwerk in einem dem ersten Wort benachbarten Pfad
enthalten oder ihm hinzuzufügen ist, definieren.
18. Auf einem Computer ausführbares Programm für ein Spracherkennungssystem
zum dynamischen Hinzufügen von Wörtern zu einem existierenden Erkennungsvokabular,
wobei Wortverbindungen zwischen Wortpaaren des Vokabulars durch ein lexikalisches
Netzwerk definiert sind, wobei die Wortverbindungen entsprechend einer vordefinierten
Kongruenz zwischen den phonetischen Beschränkungen der Wörter gebildet sind, wobei in
dem Verfahren
mehrere phonetische Beschränkungsknoten (100, 130) definiert werden, deren
jeder von einem phonetischen Beschränkungstupel (x, y, z, ...) der zweiten oder einer
größeren Ordnung charakterisiert ist, wobei x, y, z, ... phonetische Beschränkungen bei
benachbarten Wörtern sind;
mehrere Verbindungsknoten (100, 126) definiert werden, wobei jedem
phonetischen Beschränkungsknoten ein Satz von Verbindungsknoten entspricht, um benachbarte
Wörter aus dem Grundvokabular zu identifizieren, die die phonetischen Beschränkungen
des phonetischen Beschränkungsknoten erfüllen; und
zu dem Grundvokabular ein Wort hinzugefügt wird, das mindestens Anfangs-
und Endphoneme aufweist, wobei die Einrichtung das Wort dadurch hinzufügt, daß
phonetische Beschränkungsknoten für das Wort entsprechend seinen Phonemen bestimmt
sowie Wortverbindungen für das Wort aufgrund der Verbindungsknoten entsprechend dem
vorbestimmten phonetischen Beschränkungsknoten bestimmt werden.
19. Verfahren nach Anspruch 18, wobei die phonetischen Beschränkungstupel
mindestens eine erste phonetische Beschränkung bei dem Wort und mindestens eine zweite
phonetische Beschränkung bei einem benachbarten Wort in einem Pfad durch das
lexikalische Netzwerk definieren.
20. Verfahren nach Anspruch 18, wobei die Wortverbindungen zwischen
benachbarten Wörtern entsprechenden Knoten ferner aufweisen:
C. mehrere Wortklassenknoten (92, 150), deren jeder durch eine Wortklasse
charakterisiert ist, wobei jeder phonetische Beschränkungsknoten Null oder mehreren
Wortklassenknoten entspricht und der Satz von einem phonetischen
Beschränkungsknoten entsprechenden Verbindungsknoten Wörter aus dem Grundvokabular
identifiziert, die die phonetischen Beschränkungen bei den den phonetischen
Beschränkungsknoten charakterisierenden Wortklassen erfüllen;
wobei dann, wenn das dem Grundvokabular hinzuzufügende Wort mindestens
eine Wortklasse aufweist, der Schritt des Hinzufügens des Wortes zu dem Grundvokabular
die den Wortklassen des hinzuzufügenden Wortes entsprechenden Klassenknoten bestimmt
und die Wortverbindungen für das Wort durch die Verbindungsknoten entsprechend
vorbestimmten phonetischen Beschränkungsknoten und den Klassenknoten für das Wort
bestimmt werden.
21. Verfahren nach Anspruch 18, wobei die phonetischen Beschränkungstupel
mindestens das letzte Phonem eines ersten Wortes, das in dem lexikalischen Netzwerk
enthalten oder ihm hinzuzufügen ist, und das erste Phonem eines zweiten Wortes, das in
dem lexikalischen Netzwerk in einem dem ersten Wort benachbarten Pfad enthalten oder
ihm hinzuzufügen ist, definieren.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45144895A | 1995-05-26 | 1995-05-26 | |
PCT/US1996/006634 WO1996037881A2 (en) | 1995-05-26 | 1996-05-09 | Method and apparatus for dynamic adaptation of a large vocabulary speech recognition system and for use of constraints from a database in a large vocabulary speech recognition system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69622565D1 DE69622565D1 (de) | 2002-08-29 |
DE69622565T2 true DE69622565T2 (de) | 2003-04-03 |
Family
ID=23792258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69622565T Expired - Lifetime DE69622565T2 (de) | 1995-05-26 | 1996-05-09 | Verfahren und vorrichtung zur dynamischen anpassung eines spracherkennungssystems mit grossem wortschatz und zur verwendung von einschränkungen aus einer datenbank in einem spracherkennungssystem mit grossem wortschatz |
Country Status (7)
Country | Link |
---|---|
US (1) | US6501833B2 (de) |
EP (2) | EP0838073B1 (de) |
AU (1) | AU5738296A (de) |
CA (1) | CA2220004A1 (de) |
DE (1) | DE69622565T2 (de) |
HK (1) | HK1010597A1 (de) |
WO (1) | WO1996037881A2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10359624A1 (de) * | 2003-12-18 | 2005-07-21 | Daimlerchrysler Ag | Spracherkennung mit sprecherunabhängiger Vokabularerweiterung |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003460B1 (en) * | 1998-05-11 | 2006-02-21 | Siemens Aktiengesellschaft | Method and apparatus for an adaptive speech recognition system utilizing HMM models |
US6519562B1 (en) * | 1999-02-25 | 2003-02-11 | Speechworks International, Inc. | Dynamic semantic control of a speech recognition system |
DE19942869A1 (de) * | 1999-09-08 | 2001-03-15 | Volkswagen Ag | Verfahren und Einrichtung zum Betrieb einer sprachgesteuerten Einrichtung bei Kraftfahrzeugen |
US6687689B1 (en) | 2000-06-16 | 2004-02-03 | Nusuara Technologies Sdn. Bhd. | System and methods for document retrieval using natural language-based queries |
ES2288897T3 (es) * | 2000-07-14 | 2008-02-01 | Siemens Aktiengesellschaft | Adaptacion especifica al orador de las transcripciones foneticas de un diccionario de pronunciacion. |
WO2002029783A1 (en) * | 2000-09-30 | 2002-04-11 | Intel Corporation | Method and system for using rule-based knowledge to build a class-based domain specific statistical language model |
US20040190688A1 (en) * | 2003-03-31 | 2004-09-30 | Timmins Timothy A. | Communications methods and systems using voiceprints |
US7103533B2 (en) * | 2001-02-21 | 2006-09-05 | International Business Machines Corporation | Method for preserving contextual accuracy in an extendible speech recognition language model |
US7698228B2 (en) | 2001-04-27 | 2010-04-13 | Accenture Llp | Tracking purchases in a location-based services system |
US7970648B2 (en) | 2001-04-27 | 2011-06-28 | Accenture Global Services Limited | Advertising campaign and business listing management for a location-based services system |
US7437295B2 (en) * | 2001-04-27 | 2008-10-14 | Accenture Llp | Natural language processing for a location-based services system |
US6848542B2 (en) | 2001-04-27 | 2005-02-01 | Accenture Llp | Method for passive mining of usage information in a location-based services system |
US6944447B2 (en) * | 2001-04-27 | 2005-09-13 | Accenture Llp | Location-based services |
US20030037053A1 (en) * | 2001-08-09 | 2003-02-20 | Zhong-Hua Wang | Method and apparatus for automatically updating stock and mutual fund grammars in speech recognition systems |
EP1306768A1 (de) * | 2001-10-26 | 2003-05-02 | Sensoria Technology Limited | Verfahren und System zum adaptiven Lernen und zur Mustererkennung |
EP1363271A1 (de) | 2002-05-08 | 2003-11-19 | Sap Ag | Verfahren und System zur Verarbeitung und Speicherung von Sprachinformationen eines Dialogs |
DE10220524B4 (de) | 2002-05-08 | 2006-08-10 | Sap Ag | Verfahren und System zur Verarbeitung von Sprachdaten und zur Erkennung einer Sprache |
US7398209B2 (en) | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7693720B2 (en) | 2002-07-15 | 2010-04-06 | Voicebox Technologies, Inc. | Mobile systems and methods for responding to natural language speech utterance |
US20040167892A1 (en) * | 2003-02-25 | 2004-08-26 | Evan Kirshenbaum | Apparatus and method for translating between different role-based vocabularies for multiple users |
US7146319B2 (en) * | 2003-03-31 | 2006-12-05 | Novauris Technologies Ltd. | Phonetically based speech recognition system and method |
JP2004303148A (ja) * | 2003-04-01 | 2004-10-28 | Canon Inc | 情報処理装置 |
GB2404040A (en) * | 2003-07-16 | 2005-01-19 | Canon Kk | Lattice matching |
US20050055197A1 (en) * | 2003-08-14 | 2005-03-10 | Sviatoslav Karavansky | Linguographic method of compiling word dictionaries and lexicons for the memories of electronic speech-recognition devices |
US7403941B2 (en) * | 2004-04-23 | 2008-07-22 | Novauris Technologies Ltd. | System, method and technique for searching structured databases |
US20060009974A1 (en) * | 2004-07-09 | 2006-01-12 | Matsushita Electric Industrial Co., Ltd. | Hands-free voice dialing for portable and remote devices |
US20060036438A1 (en) * | 2004-07-13 | 2006-02-16 | Microsoft Corporation | Efficient multimodal method to provide input to a computing device |
US7742911B2 (en) * | 2004-10-12 | 2010-06-22 | At&T Intellectual Property Ii, L.P. | Apparatus and method for spoken language understanding by using semantic role labeling |
WO2006042943A1 (fr) * | 2004-10-19 | 2006-04-27 | France Telecom | Procede de reconnaissance vocale comprenant une etape d ' insertion de marqueurs temporels et systeme correspondant |
US8942985B2 (en) * | 2004-11-16 | 2015-01-27 | Microsoft Corporation | Centralized method and system for clarifying voice commands |
US7778821B2 (en) * | 2004-11-24 | 2010-08-17 | Microsoft Corporation | Controlled manipulation of characters |
GB2428853A (en) * | 2005-07-22 | 2007-02-07 | Novauris Technologies Ltd | Speech recognition application specific dictionary |
US7640160B2 (en) | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7620549B2 (en) | 2005-08-10 | 2009-11-17 | Voicebox Technologies, Inc. | System and method of supporting adaptive misrecognition in conversational speech |
US7949529B2 (en) | 2005-08-29 | 2011-05-24 | Voicebox Technologies, Inc. | Mobile systems and methods of supporting natural language human-machine interactions |
US7634409B2 (en) | 2005-08-31 | 2009-12-15 | Voicebox Technologies, Inc. | Dynamic speech sharpening |
US20070106685A1 (en) * | 2005-11-09 | 2007-05-10 | Podzinger Corp. | Method and apparatus for updating speech recognition databases and reindexing audio and video content using the same |
US20070106646A1 (en) * | 2005-11-09 | 2007-05-10 | Bbnt Solutions Llc | User-directed navigation of multimedia search results |
US7801910B2 (en) * | 2005-11-09 | 2010-09-21 | Ramp Holdings, Inc. | Method and apparatus for timed tagging of media content |
US9697230B2 (en) | 2005-11-09 | 2017-07-04 | Cxense Asa | Methods and apparatus for dynamic presentation of advertising, factual, and informational content using enhanced metadata in search-driven media applications |
US9697231B2 (en) * | 2005-11-09 | 2017-07-04 | Cxense Asa | Methods and apparatus for providing virtual media channels based on media search |
US20070118873A1 (en) * | 2005-11-09 | 2007-05-24 | Bbnt Solutions Llc | Methods and apparatus for merging media content |
US7734460B2 (en) * | 2005-12-20 | 2010-06-08 | Microsoft Corporation | Time asynchronous decoding for long-span trajectory model |
US7877256B2 (en) * | 2006-02-17 | 2011-01-25 | Microsoft Corporation | Time synchronous decoding for long-span hidden trajectory model |
US7925975B2 (en) | 2006-03-10 | 2011-04-12 | Microsoft Corporation | Searching for commands to execute in applications |
US20070239444A1 (en) * | 2006-03-29 | 2007-10-11 | Motorola, Inc. | Voice signal perturbation for speech recognition |
US8214213B1 (en) | 2006-04-27 | 2012-07-03 | At&T Intellectual Property Ii, L.P. | Speech recognition based on pronunciation modeling |
US7890328B1 (en) * | 2006-09-07 | 2011-02-15 | At&T Intellectual Property Ii, L.P. | Enhanced accuracy for speech recognition grammars |
US8073681B2 (en) | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US7831431B2 (en) * | 2006-10-31 | 2010-11-09 | Honda Motor Co., Ltd. | Voice recognition updates via remote broadcast signal |
US7818176B2 (en) | 2007-02-06 | 2010-10-19 | Voicebox Technologies, Inc. | System and method for selecting and presenting advertisements based on natural language processing of voice-based input |
US7983913B2 (en) * | 2007-07-31 | 2011-07-19 | Microsoft Corporation | Understanding spoken location information based on intersections |
US7788095B2 (en) * | 2007-11-18 | 2010-08-31 | Nice Systems, Ltd. | Method and apparatus for fast search in call-center monitoring |
US8140335B2 (en) | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
KR20090065102A (ko) * | 2007-12-17 | 2009-06-22 | 한국전자통신연구원 | 어휘 디코딩 방법 및 장치 |
US8312022B2 (en) | 2008-03-21 | 2012-11-13 | Ramp Holdings, Inc. | Search engine optimization |
US20090245646A1 (en) * | 2008-03-28 | 2009-10-01 | Microsoft Corporation | Online Handwriting Expression Recognition |
US8185646B2 (en) * | 2008-11-03 | 2012-05-22 | Veritrix, Inc. | User authentication for social networks |
US8536976B2 (en) * | 2008-06-11 | 2013-09-17 | Veritrix, Inc. | Single-channel multi-factor authentication |
US9305548B2 (en) | 2008-05-27 | 2016-04-05 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8589161B2 (en) | 2008-05-27 | 2013-11-19 | Voicebox Technologies, Inc. | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8166297B2 (en) | 2008-07-02 | 2012-04-24 | Veritrix, Inc. | Systems and methods for controlling access to encrypted data stored on a mobile device |
US20100166314A1 (en) * | 2008-12-30 | 2010-07-01 | Microsoft Corporation | Segment Sequence-Based Handwritten Expression Recognition |
US8326637B2 (en) | 2009-02-20 | 2012-12-04 | Voicebox Technologies, Inc. | System and method for processing multi-modal device interactions in a natural language voice services environment |
US9171541B2 (en) | 2009-11-10 | 2015-10-27 | Voicebox Technologies Corporation | System and method for hybrid processing in a natural language voice services environment |
US9502025B2 (en) | 2009-11-10 | 2016-11-22 | Voicebox Technologies Corporation | System and method for providing a natural language content dedication service |
US9045098B2 (en) * | 2009-12-01 | 2015-06-02 | Honda Motor Co., Ltd. | Vocabulary dictionary recompile for in-vehicle audio system |
US20110131040A1 (en) * | 2009-12-01 | 2011-06-02 | Honda Motor Co., Ltd | Multi-mode speech recognition |
US9263045B2 (en) * | 2011-05-17 | 2016-02-16 | Microsoft Technology Licensing, Llc | Multi-mode text input |
US20120330880A1 (en) * | 2011-06-23 | 2012-12-27 | Microsoft Corporation | Synthetic data generation |
KR20130014893A (ko) * | 2011-08-01 | 2013-02-12 | 한국전자통신연구원 | 음성 인식 장치 및 방법 |
US9640175B2 (en) * | 2011-10-07 | 2017-05-02 | Microsoft Technology Licensing, Llc | Pronunciation learning from user correction |
US9620111B1 (en) * | 2012-05-01 | 2017-04-11 | Amazon Technologies, Inc. | Generation and maintenance of language model |
US10957310B1 (en) | 2012-07-23 | 2021-03-23 | Soundhound, Inc. | Integrated programming framework for speech and text understanding with meaning parsing |
US11295730B1 (en) | 2014-02-27 | 2022-04-05 | Soundhound, Inc. | Using phonetic variants in a local context to improve natural language understanding |
CN107003996A (zh) | 2014-09-16 | 2017-08-01 | 声钰科技 | 语音商务 |
US9898459B2 (en) | 2014-09-16 | 2018-02-20 | Voicebox Technologies Corporation | Integration of domain information into state transitions of a finite state transducer for natural language processing |
WO2016061309A1 (en) | 2014-10-15 | 2016-04-21 | Voicebox Technologies Corporation | System and method for providing follow-up responses to prior natural language inputs of a user |
US10614799B2 (en) | 2014-11-26 | 2020-04-07 | Voicebox Technologies Corporation | System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance |
US10431214B2 (en) | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
US9384188B1 (en) * | 2015-01-27 | 2016-07-05 | Microsoft Technology Licensing, Llc | Transcription correction using multi-token structures |
US9799327B1 (en) * | 2016-02-26 | 2017-10-24 | Google Inc. | Speech recognition with attention-based recurrent neural networks |
JP6744025B2 (ja) * | 2016-06-21 | 2020-08-19 | 日本電気株式会社 | 作業支援システム、管理サーバ、携帯端末、作業支援方法およびプログラム |
US10331784B2 (en) | 2016-07-29 | 2019-06-25 | Voicebox Technologies Corporation | System and method of disambiguating natural language processing requests |
CN108346073B (zh) * | 2017-01-23 | 2021-11-02 | 北京京东尚科信息技术有限公司 | 一种语音购物方法和装置 |
US11568007B2 (en) * | 2018-10-03 | 2023-01-31 | Walmart Apollo, Llc | Method and apparatus for parsing and representation of digital inquiry related natural language |
US11282512B2 (en) | 2018-10-27 | 2022-03-22 | Qualcomm Incorporated | Automatic grammar augmentation for robust voice command recognition |
US11227065B2 (en) | 2018-11-06 | 2022-01-18 | Microsoft Technology Licensing, Llc | Static data masking |
US11954719B2 (en) * | 2019-05-30 | 2024-04-09 | Ncr Voyix Corporation | Personalized voice-based assistance |
CN115859975B (zh) * | 2023-02-07 | 2023-05-09 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置及设备 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4156868A (en) * | 1977-05-05 | 1979-05-29 | Bell Telephone Laboratories, Incorporated | Syntactic word recognizer |
US4333152A (en) * | 1979-02-05 | 1982-06-01 | Best Robert M | TV Movies that talk back |
US4481593A (en) * | 1981-10-05 | 1984-11-06 | Exxon Corporation | Continuous speech recognition |
US4489434A (en) * | 1981-10-05 | 1984-12-18 | Exxon Corporation | Speech recognition method and apparatus |
US4956865A (en) * | 1985-01-30 | 1990-09-11 | Northern Telecom Limited | Speech recognition |
JPS61252596A (ja) * | 1985-05-02 | 1986-11-10 | 株式会社日立製作所 | 文字音声通信方式及び装置 |
US4980918A (en) * | 1985-05-09 | 1990-12-25 | International Business Machines Corporation | Speech recognition system with efficient storage and rapid assembly of phonological graphs |
US4783803A (en) * | 1985-11-12 | 1988-11-08 | Dragon Systems, Inc. | Speech recognition apparatus and method |
ES2019628B3 (es) * | 1986-02-15 | 1991-07-01 | Smiths Ind Public Ltd Company | Procesador de textos hablados y metodo.. |
US4837831A (en) * | 1986-10-15 | 1989-06-06 | Dragon Systems, Inc. | Method for creating and using multiple-word sound models in speech recognition |
US4829576A (en) * | 1986-10-21 | 1989-05-09 | Dragon Systems, Inc. | Voice recognition system |
JPH02195400A (ja) * | 1989-01-24 | 1990-08-01 | Canon Inc | 音声認識装置 |
US5263117A (en) * | 1989-10-26 | 1993-11-16 | International Business Machines Corporation | Method and apparatus for finding the best splits in a decision tree for a language model for a speech recognizer |
US5202952A (en) * | 1990-06-22 | 1993-04-13 | Dragon Systems, Inc. | Large-vocabulary continuous speech prefiltering and processing system |
AU665521B2 (en) * | 1990-10-03 | 1996-01-11 | Thinking Machines Corporation | Parallel computer system |
JP2768561B2 (ja) * | 1990-12-19 | 1998-06-25 | 富士通株式会社 | ネットワーク変形装置および作成装置 |
US5268990A (en) * | 1991-01-31 | 1993-12-07 | Sri International | Method for recognizing speech using linguistically-motivated hidden Markov models |
US5212730A (en) * | 1991-07-01 | 1993-05-18 | Texas Instruments Incorporated | Voice recognition of proper names using text-derived recognition models |
US5283833A (en) * | 1991-09-19 | 1994-02-01 | At&T Bell Laboratories | Method and apparatus for speech processing using morphology and rhyming |
US5390278A (en) * | 1991-10-08 | 1995-02-14 | Bell Canada | Phoneme based speech recognition |
US5267345A (en) * | 1992-02-10 | 1993-11-30 | International Business Machines Corporation | Speech recognition apparatus which predicts word classes from context and words from word classes |
US5333275A (en) * | 1992-06-23 | 1994-07-26 | Wheatley Barbara J | System and method for time aligning speech |
US5325421A (en) * | 1992-08-24 | 1994-06-28 | At&T Bell Laboratories | Voice directed communications system platform |
US5428707A (en) * | 1992-11-13 | 1995-06-27 | Dragon Systems, Inc. | Apparatus and methods for training speech recognition systems and their users and otherwise improving speech recognition performance |
AU6080094A (en) * | 1992-12-31 | 1994-08-15 | Apple Computer, Inc. | Recursive finite state grammar |
US5457770A (en) * | 1993-08-19 | 1995-10-10 | Kabushiki Kaisha Meidensha | Speaker independent speech recognition system and method using neural network and/or DP matching technique |
US6125347A (en) * | 1993-09-29 | 2000-09-26 | L&H Applications Usa, Inc. | System for controlling multiple user application programs by spoken input |
US5799276A (en) * | 1995-11-07 | 1998-08-25 | Accent Incorporated | Knowledge-based speech recognition system and methods having frame length computed based upon estimated pitch period of vocalic intervals |
-
1996
- 1996-05-09 DE DE69622565T patent/DE69622565T2/de not_active Expired - Lifetime
- 1996-05-09 CA CA002220004A patent/CA2220004A1/en not_active Abandoned
- 1996-05-09 AU AU57382/96A patent/AU5738296A/en not_active Abandoned
- 1996-05-09 WO PCT/US1996/006634 patent/WO1996037881A2/en active IP Right Grant
- 1996-05-09 EP EP96915664A patent/EP0838073B1/de not_active Expired - Lifetime
- 1996-05-09 EP EP01130040A patent/EP1199707A3/de not_active Withdrawn
-
1997
- 1997-10-03 US US08/943,557 patent/US6501833B2/en not_active Expired - Lifetime
-
1998
- 1998-10-29 HK HK98111612A patent/HK1010597A1/xx not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10359624A1 (de) * | 2003-12-18 | 2005-07-21 | Daimlerchrysler Ag | Spracherkennung mit sprecherunabhängiger Vokabularerweiterung |
Also Published As
Publication number | Publication date |
---|---|
EP0838073A2 (de) | 1998-04-29 |
US20020048350A1 (en) | 2002-04-25 |
EP0838073B1 (de) | 2002-07-24 |
AU5738296A (en) | 1996-12-11 |
US6501833B2 (en) | 2002-12-31 |
DE69622565D1 (de) | 2002-08-29 |
CA2220004A1 (en) | 1996-11-28 |
EP1199707A2 (de) | 2002-04-24 |
WO1996037881A2 (en) | 1996-11-28 |
EP1199707A3 (de) | 2002-05-02 |
HK1010597A1 (en) | 1999-06-25 |
WO1996037881A3 (en) | 1997-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69622565T2 (de) | Verfahren und vorrichtung zur dynamischen anpassung eines spracherkennungssystems mit grossem wortschatz und zur verwendung von einschränkungen aus einer datenbank in einem spracherkennungssystem mit grossem wortschatz | |
DE69937176T2 (de) | Segmentierungsverfahren zur Erweiterung des aktiven Vokabulars von Spracherkennern | |
DE3878541T2 (de) | Verfahren und einrichtung, um ein markov-modell-referenzmuster von woertern zu erzeugen. | |
EP0925578B1 (de) | Sprachverarbeitungssystem und verfahren zur sprachverarbeitung | |
DE69330427T2 (de) | Spracherkennungssystem für sprachen mit zusammengesetzten wörtern | |
DE69923191T2 (de) | Interaktive anwenderschnittstelle mit spracherkennung und natursprachenverarbeitungssystem | |
DE60111329T2 (de) | Anpassung des phonetischen Kontextes zur Verbesserung der Spracherkennung | |
DE69829235T2 (de) | Registrierung für die Spracherkennung | |
DE69315374T2 (de) | Spracherkennungssystem zur naturgetreuen Sprachübersetzung | |
DE3337353C2 (de) | Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells | |
DE69908047T2 (de) | Verfahren und System zur automatischen Bestimmung von phonetischen Transkriptionen in Verbindung mit buchstabierten Wörtern | |
DE102008017993B4 (de) | Sprachsuchvorrichtung | |
DE4397100C2 (de) | Verfahren zum Erkennen von Sprachsignalen und Spracherkennungssystem mit rekursiver Grammatik mit endlicher Zustandsanzahl | |
DE60016722T2 (de) | Spracherkennung in zwei Durchgängen mit Restriktion des aktiven Vokabulars | |
EP0925579B1 (de) | Verfahren zur anpassung eines hidden-markov-lautmodelles in einem spracherkennungssystem | |
DE69818231T2 (de) | Verfahren zum diskriminativen training von spracherkennungsmodellen | |
DE69519297T2 (de) | Verfahren und vorrichtung zur spracherkennung mittels optimierter partieller buendelung von wahrscheinlichkeitsmischungen | |
DE69827988T2 (de) | Sprachmodelle für die Spracherkennung | |
DE69414752T2 (de) | Sprecherunabhängiges Erkennungssystem für isolierte Wörter unter Verwendung eines neuronalen Netzes | |
DE2212472A1 (de) | Verfahren und Anordnung zur Sprachsynthese gedruckter Nachrichtentexte | |
EP1273003B1 (de) | Verfahren und vorrichtung zum bestimmen prosodischer markierungen | |
EP1417678A1 (de) | Verfahren und vorrichtung zum erkennen einer phonetischen lautfolge oder zeichenfolge | |
EP1950672A1 (de) | Verfahren und Datenverarbeitungssystem zum gesteuerten Abfragen strukturiert gespeicherter Informationen | |
EP1058235B1 (de) | Wiedergabeverfahren für sprachgesteuerte Systeme mit text-basierter Sprachsynthese | |
DE10040063A1 (de) | Verfahren zur Zuordnung von Phonemen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee | ||
8370 | Indication related to discontinuation of the patent is to be deleted |