DE602004004310T2 - System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen - Google Patents

System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen Download PDF

Info

Publication number
DE602004004310T2
DE602004004310T2 DE602004004310T DE602004004310T DE602004004310T2 DE 602004004310 T2 DE602004004310 T2 DE 602004004310T2 DE 602004004310 T DE602004004310 T DE 602004004310T DE 602004004310 T DE602004004310 T DE 602004004310T DE 602004004310 T2 DE602004004310 T2 DE 602004004310T2
Authority
DE
Germany
Prior art keywords
model
word
gram
rule
statistical
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
Application number
DE602004004310T
Other languages
English (en)
Other versions
DE602004004310D1 (de
Inventor
Ye-Yi Redmond WANG
Alejandro Bellevue Acero
Ciprian Seattle Chelba
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US10/427,604 external-priority patent/US7603267B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of DE602004004310D1 publication Critical patent/DE602004004310D1/de
Application granted granted Critical
Publication of DE602004004310T2 publication Critical patent/DE602004004310T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D39/00Filtering material for liquid or gaseous fluids
    • B01D39/08Filter cloth, i.e. woven, knitted or interlaced material
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F1/00Treatment of water, waste water, or sewage
    • C02F1/44Treatment of water, waste water, or sewage by dialysis, osmosis or reverse osmosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2239/00Aspects relating to filtering material for liquid or gaseous fluids
    • B01D2239/06Filter cloth, e.g. knitted, woven non-woven; self-supported material
    • B01D2239/0604Arrangement of the fibres in the filtering material
    • B01D2239/0618Non-woven
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F2103/00Nature of the water, waste water, sewage or sludge to be treated
    • C02F2103/007Contaminated open waterways, rivers, lakes or ponds

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Die vorliegende Erfindung betrifft Spracherkennung und Verständnis von natürlicher Sprache. Insbesondere betrifft die vorliegende Erfindung die Verwendung eines zusammengesetzten Modells, das aus einem statistischen Modellteil und einem regelbasierten Grammatikteil besteht, als einem Sprachmodell beim gleichzeitigen Durchführen von Spracherkennung und Verständnis von natürlicher Sprache.
  • Erkennung und Verständnis von gesprochener menschlicher Sprache wird für wesentlich für künftige Rechenumgebungen gehalten. Bisher wurden die Aufgaben von Erkennung und Verständnis von gesprochener Sprache von zwei verschiedenen Systemen abgewickelt. Das erste ist ein Spracherkennungssystem, und das zweite ist ein System zum Verständnis von natürlicher Sprache.
  • Herkömmliche Spracherkennungssysteme empfangen ein Sprachsignal, das für eine Eingabe von gesprochener Sprache indikativ ist. Akustische Merkmale werden in dem Sprachsignal identifiziert, und das Sprachsignal wird unter Verwendung eines akustischen Modells und eines Sprachmodells decodiert, um eine Ausgabe bereitzustellen, die für Wörter indikativ ist, die vom Eingabe-Sprachsignal dargestellt werden.
  • Um des Weiteren die Entwicklung von sprachaktivierten Anwendungen und Diensten zu erleichtern, werden derzeit semantikbasierte Verständnissysteme entwickelt. Solche Systeme werden weit verbreitet in dialogorientierten Forschungssystemen verwendet. Sie sind jedoch nicht besonders praktisch, um von herkömmlichen Entwicklern bei der Implementierung eines dialogorientierten Systems verwendet zu werden. Solche Implementierung beruhen in einem hohen Maß auf der manuellen Entwicklung von domänenspezifischen Grammatiken. Diese Aufgabe ist zeitaufwändig, fehleranfällig und erfordert eine beträchtliche Erfahrung auf dem Gebiet.
  • Um die Entwicklung von sprachaktivierten Anwendungen und Diensten voranzutreiben, wurde ein beispielbasiertes Grammatik-Autorenwerkzeug eingeführt. Das Werkzeug ist als SGStudio bekannt und wird ferner in Y. Wang und A. Acero, GRAMMAR LEARNING FOR SPOKEN LANGUAGE UNDERSTANDING, IEEE Workshop on Automatic Speech Recognition and Understanding, Madonna di Campiglio, Italien, 2001, und Y. Wang und A. Acero, EVALUATION OF SPOKEN LANGUAGE GRAMMAR LEARNING IN ATIS DOMAIN, Proceedings of ICASSP, Orlando, Florida, 2002 erörtert. Dieses Werkzeug vereinfacht die Grammatikentwicklung, indem man sich verschiedene Quellen früherer Informationen zu Nutze macht. Es gestattet einem normalen Entwickler mit geringen linguistischen Kenntnissen des Weiteren, eine semantische Grammatik für das Verständnis von gesprochener Sprache aufzubauen. Das System erleichtert die halbautomatische Generierung von semantischen Grammatiken von relativ hoher Qualität mit einer kleinen Datenmenge. Des Weiteren reduziert das Werkzeug nicht nur den Aufwand beträchtlich, der mit der Entwicklung einer Grammatik verbunden ist, sondern verbessert auch die Verständnisgenauigkeit über verschiedene Domänen.
  • Allerdings kann es einer rein regelbasierten Grammatik in einem NLU-System immer noch an Robustheit fehlen, und sie kann Unflexibilität (brittleness) aufweisen.
  • Außerdem behandeln alle früheren Ansätze, wenn nicht sogar alle, das Verständnis als ein separates Problem, das von der Spracherkennung unabhängig ist. Oft wird ein Ansatzweg mit zwei Durchgängen eingeschlagen, bei dem ein domänenspezifisches N-Gram-Sprachmodell konstruiert und für die Spracherkennung in dem ersten Durchgang verwendet wird, und ein Verständnismodell, das mit verschiedenen Lern-Algorithmen erhalten wird, in dem zweiten Durchgang angewendet wird, um die Ausgabe aus der Spracherkennungseinrichtung zu "verstehen".
  • Ferner ist aus WO 01/93249 ein einheitliches Sprachmodell bekannt, das eine kontextfreie Grammatik umfasst, die semantische oder syntaktische Konzepte mit Nicht-Terminals und ein N-Gram-Modell mit darin eingebetteten Nicht-Terminals spezifiziert. Das Modell enthält eine Kombination aus einem N-Gram-Sprachmodell und eine Vielzahl von kontextfreien Grammatiken. Das N-Gram-Sprachmodell wird verwendet, um Wörter und Nicht-Terminals vorauszuberechnen. Wenn ein Nicht-Terminal vorausberechnet worden ist, wird eine Vielzahl von kontextfreien Grammatiken verwendet, um Terminals als eine Funktion des Nicht-Terminals vorauszuberechnen. Ferner wird dargelegt, dass das beschriebene Spracherkennungssystem angeben kann, welche kontextfreien Grammati ken verwendet werden, und eine Angabe in Bezug auf die im gesprochenen Satz vorhandenen Schlitze bereitstellen kann. Schließlich kann der N-Gram-Algorithmus die Technik von Katz oder binomische nachgeschaltete Verteilungs-Backoff-Techniken verwenden. Beim Verwenden dieser Techniken schätzt der Algorithmus die Probabilität, dass ein Wort auf eine Reihung von Wörtern folgt.
  • Wie im Fachbuch "Spoken Language Processing" von Huang X und anderen, Prentice Hall 2001, Seite 565–567 und 612–619 erläutert, umfasst die Technik von Katz die Bezugnahme auf ein separates Backoff-Modell für eine Wort-Hypothese, wenn die Wort-Hypothese einem Wort entspricht, das während des Training eines N-Gram-Modells nicht gesehen wurde.
  • Daher ist es die Aufgabe der Erfindung, verbesserte Systeme und Verfahren für die Sprachverarbeitung bereitzustellen.
  • Die Aufgabe wird durch den Gegenstand der selbstständigen Ansprüche gelöst, welche die Erfindung definieren.
  • Bevorzugte Ausführungsformen sind der Gegenstand der Unteransprüche.
  • Man geht davon aus, dass bisherige Systeme, die Verständnis und Spracherkennung als zwei separate, unabhängige Aufgaben behandelten, eine Reihe von Nachteilen aufweisen. Erstens ist die Zielfunktion, die optimiert wird, wenn ein N-Gram-Sprachmodell für eine Spracherkennungseinrichtung aufgebaut wird, die Reduzierung der Testdaten-Verworrenheit, die mit der Reduzierung der Spracherkennungs-Wortfehlerquote zusammenhängt. Dies muss nicht notwendigerweise zu einer Reduzierung der gesamten Verständnis-Fehlerquote führen. Zweitens ist eine große Menge von Trainingsdaten für die Entwicklung von vielen Sprachanwendungen selten verfügbar. Ein an einer kleinen Datenmenge trainiertes N-Gram führt oft zu einer schlechten Erkennungsgenauigkeit.
  • Die vorliegende Erfindung verwendet daher ein zusammengesetztes statistisches Modell und regelbasiertes Grammatik-Sprachmodell, um sowohl die Aufgabe der Spracherkennung als auch die Aufgabe zum Verständnis von natürlicher Sprache durchzuführen.
  • Eine Ausführungsform der Erfindung umfasst auch die Strukturierung einer Zustandsmaschine, die dem zusammengesetzten Modell in kompakter Weise entspricht, indem alle nicht gesehenen Wörter für jedes N-Gram verarbeitet werden, indem auf eine gemeinsame Verteilung über einen Backoff-Zustand Bezug genommen wird, statt für jedes nicht gesehene Wort eine Schleife in jedes N-Gram aufzunehmen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockschaltbild einer beispielhaften Umgebung, in der die vorliegende Erfindung verwendet werden kann.
  • 2A ist ein Blockschaltbild eines Beispiels einer Modell-Autorenkomponente.
  • 2B veranschaulicht ein Beispielschema.
  • 2C veranschaulicht ein Beispiel-Set von Regeln, die für das Beispielschema generiert wurden.
  • 2D veranschaulicht ein Beispiel eines kommentierten Satzes.
  • 2E veranschaulicht einen Beispiel-Syntaxbaum.
  • 2F veranschaulicht eine Tabelle von möglichen Präterminals für Wörter in Beispielen.
  • 2G ist eine Tabelle von Überschreib-Regeln mit dazugehörigen Zählwerten und Probabilitäten.
  • 3A ist ein Blockschaltbild, das eine Grammatik-Autorenkomponente in größerem Detail zeigt.
  • 3B ist ein Ablaufdiagramm, das die Funktion der in 3A gezeigten Grammatik-Autorenkomponente veranschaulicht.
  • 4 veranschaulicht eine Modell-Autorenkomponente in Übereinstimmung mit einem anderen Beispiel,
  • 5 zeigt ein Beispiel von nummerierten Segmentierungen.
  • 6 veranschaulicht ein statistisches Modell in größerem Detail in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
  • 7 ist ein Beispiel eines vereinfachten Schemas.
  • 8 ist ein Beispiel eines Regel-Sets, das aus dem Schema in 7 generiert worden ist.
  • 9 ist ein Beispiel eines kommentierten Satzes.
  • 10 zeigt generierte Regeln.
  • 11 zeigt ein Zustandsdiagramm für ein zusammengesetztes Modell.
  • 12 zeigt Pseudo-Code, der eine Trainingstechnik beschreibt.
  • 13 ist ein Blockschaltbild, das ein Ablaufsystem zum Verwenden eines in Übereinstimmung mit dem Beispiel generierten Modells veranschaulicht.
  • 14 veranschaulicht ein Beispiel eines Decodiereinrichtungsgitters (decoder trellis).
  • 15 ist ein vereinfachtes Blockschaltbild eines Spracherkennungssystems.
  • 16 veranschaulicht ein weiteres vereinfachtes Anwendungsschema, das in dem in
  • 17A18B gezeigten Beispiel verwendet wird.
  • 17A veranschaulicht eine Hidden-Markov-Modell-(HMM) Struktur, die einer Grammatik der obersten Ebene entspricht, die aus dem in 16 gezeigten Schema generiert worden ist.
  • 17B veranschaulicht die HMM-Struktur für das "ShowFlight"-Modell aus 17A in größerem Detail.
  • 17C veranschaulicht die Verwendung der in 17B gezeigten HMM-Struktur.
  • 18A veranschaulicht eine Endzustands-Darstellung eines Bigram-Sprachmodells mit zwei betrachteten Wörtern (a, b).
  • 18B veranschaulicht eine Endzustands-Darstellung eines Modells, das eine einheitliche Verteilung über den in 18A gezeigten Backoff-Zustand modelliert.
  • 18C zeigt einen Endzustands-Darstellung eines Bigram-Sprachmodells mit zwei betrachteten Wörtern (c, d).
  • AUSFÜHRLICHE BESCHREIBUNG DER DARGESTELLTEN AUSFÜHRUNGSFORMEN
  • Die vorliegende Erfindung betrifft ein System zur Spracherkennung und zum Verständnis von natürlicher Sprache. Insbesondere betrifft die vorliegende Erfindung ein zusammengesetztes regelbasiertes Grammatik- und statistisches Modell, das zum Durchführen sowohl von Spracherkennung als auch Verständnis von natürlicher Sprache verwendet wird.
  • Vor der ausführlicheren Erörterung der vorliegenden Erfindung wird jedoch eine beispielhafte Umgebung erörtert, in der die vorliegende Erfindung sich befinden kann.
  • 1 veranschaulicht ein Beispiel einer geeigneten Rechensystemumgebung 100, auf der die Erfindung implementiert werden kann. Die Rechensystemumgebung 100 ist nur ein Beispiel für eine geeignete Rechenumgebung und soll keinesfalls irgendeine Einschränkung hinsichtlich des Umfangs der Verwendung oder Funktionalität der Erfindung andeuten. Auch soll die Rechenumgebung 100 nicht so interpretiert werden, als würde sie irgendeine Abhängigkeit oder Anforderung in Bezug auf irgendeine Komponente o der eine Kombination von Komponenten aufweisen, die in der beispielhaften Betriebsumgebung 100 veranschaulicht sind.
  • Die Erfindung ist betriebsfähig mit zahlreichen anderen Mehrzweck- oder Sonderzweck-Rechensystemumgebungen oder Konfigurationen. Beispiele für bekannte Rechensysteme, Umgebungen und/oder Konfigurationen, die zur Verwendung mit der Erfindung geeignet sind, umfassen Arbeitsplatzrechner, Server-Rechner, Taschencomputer oder Laptop-Geräte, Mehrprozessorsysteme, mikroprozessorbasierte Systeme, Set-Top-Boxen, programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputer, Mainframe-Computer, verteilte Rechenumgebungen mit beliebigen der oben genannten Systeme oder Geräte und dergleichen, sind aber nicht darauf beschränkt.
  • Die Erfindung kann im allgemeinen Kontext von computerausführbaren Anweisungen beschrieben werden, wie beispielsweise Programm-Module, die von einem Computer ausgeführt werden. Im Allgemeinen umfassen Programm-Module Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Die Erfindung kann auch in verteilten Rechenumgebungen ausgeübt werden, in denen Aufgaben durch entfernte Verarbeitungsvorrichtungen durchgeführt werden, die über ein Kommunikationsnetz verbunden sind. In einer verteilten Rechenumgebung können sich Programm-Module sowohl in lokalen als auch entfernten Rechnerspeichermedien befinden, einschließlich Speicher-Archivierungs-Vorrichtungen (memory storage devices).
  • Unter Bezugnahme auf 1 umfasst ein beispielhaftes System zum Implementieren der Erfindung eine Mehrzweck-Rechenvorrichtung in Form eines Computers 110. Komponenten des Computers 110 können eine Verarbeitungseinheit 120, einen Systemspeicher 130 und einen Systembus 121 umfassen, der verschiedene Systemkomponenten, einschließlich des Systemspeichers, mit der Verarbeitungseinheit 120 verkoppelt, sind aber nicht darauf beschränkt. Der Systembus 121 kann jeder beliebige von mehreren Typen von Busstrukturen sein, einschließlich eines Speicherbusses oder einer Speicher-Steuereinrichtung, eines Peripheriebusses und eines lokalen Busses, wobei eine beliebige aus einer Reihe von Busarchitekturen verwendet wird. Als Beispiel und nicht einschränkend umfassen solche Architekturen einen Industry Standard Architecture-(ISA) Bus, einen Micro Channel Architecture-(MCA) Bus, einen Enhanced ISA-(EISA) Bus, einen lokalen Video Electronics Standards Association-(VESA) Bus und einen Peripheral Component Interconnect-(PCI) Bus, der auch als Mezzanine-Bus bekannt ist.
  • Der Computer 110 umfasst typischerweise eine Reihe computerlesbarer Medien. Computerlesbare Medien können beliebige verfügbare Medien sein, auf die vom Computer 110 aus zugegriffen werden kann, und umfassen sowohl flüchtige als auch nicht-flüchtige Medien, entfernbare und nicht-entfernbare Medien. Als Beispiel und nicht einschränkend können computerlesbare Medien Computer-Speichermedien und Kommunikationsmedien umfassen. Computer-Speichermedien umfassen sowohl flüchtige als auch nicht-flüchtige Medien, entfernbare und nicht-entfernbare Medien, die in einem beliebigen Verfahren bzw. beliebiger Technologie zur Speicherung von Informationen implementiert sind, wie beispielsweise computerlesbare Anweisungen, Datenstrukturen, Programm-Module und andere Daten. Computer-Speichermedien umfassen RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologie, CD-ROM, DVDs (Digital Versatile Disks) oder andere Bildplattenspeicher, Magnetbandkassette, Magnetband, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder irgendein anderes Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das vom Computer 110 zugegriffen werden kann, sind jedoch nicht darauf beschränkt. Kommunikationsmedien verkörpern typischerweise computerlesbare Anweisungen, Datenstrukturen, Programm-Module oder andere Daten in einem modulierten Datensignal, wie beispielsweise eine Trägerschwingung WAV oder ein anderer Transportmechanismus, und umfasst beliebige Informations-Übergabemedien. Der Begriff "moduliertes Datensignal" bedeutet ein Signal, bei dem eines oder mehrere seiner Merkmale so eingestellt oder geändert sind, dass Informationen in dem Signal codiert werden. Als Beispiel umfassen Kommunikationsmedien verkabelte Medien, wie beispielsweise ein verkabeltes Netz oder eine direktverkabelte Verbindung, und drahtlose Medien, wie beispielsweise akustische, FR-, Infrarot- und andere drahtlose Medien, sind aber nicht darauf beschränkt. Beliebige Kombinationen des oben Genannten sollen ebenfalls im Umfang der computerlesbaren Medien enthalten sein.
  • Der Systemspeicher 130 umfasst Computer-Speichermedien in Form eines flüchtigen und/oder nicht-flüchtigen Speichers, wie beispielsweise Festwertspeicher (ROM) 131 und Direktzugriffsspeicher (RAM) 132. Ein grundlegendes Eingabe/Ausgabe-System 133 (BIOS), das die Hauptroutinen enthält, welche die Übertragung von Informationen zwischen Elementen im Computer 110 unterstützen, wie beispielsweise beim Hochfahren, ist normalerweise im ROM 131 gespeichert. Der RAM 132 enthält normalerweise Daten und/oder Programm-Module, auf die unmittelbar zugegriffen werden kann und/oder die gegenwärtig von der Verarbeitungseinheit 120 betrieben werden. Als Beispiel, nicht als Einschränkung, veranschaulicht 1 das Betriebssystem 134, Anwendungsprogramme 135, weitere Programm-Module 136 und Programmdaten 137, Der Computer 110 kann auch weitere entfernbare/nicht-entfernbare, flüchtige/nicht-flüchtige Computer-Speichermedien umfassen. So veranschaulicht 1 nur als Beispiel ein Festplattenlaufwerk 141, das von nicht-entfernbaren, nicht-flüchtigen Magnet-Medien liest oder auf diese schreibt, ein Magnetplattenlaufwerk 151, das von einer entfernbaren, nicht-flüchtigen Magnetplatte 152 liest oder auf diese schreibt, und ein Bildplattenlaufwerk 155, das von einer entfernbaren, nicht-flüchtigen Bildplatte 156 liest oder auf diese schreibt, wie zum Beispiel eine CD-ROM oder andere optische Medien. Weitere entfernbare/nicht-entfernbare, flüchtige/nicht-flüchtige Computer-Speichermedien, die in der beispielhaften Betriebsumgebung verwendet werden können, umfassen Magnetbandkassetten, Flash-Speicherkarten, DVDs, digitales Videoband, Halbleiter-RAM und dergleichen. Das Festplattenlaufwerk 141 ist typischerweise mit dem Systembus 121 über eine nicht-entfernbare Speicherschnittstelle verbunden, wie beispielsweise die Schnittstelle 140, und das Magnetplattenlaufwerk 151 und das Bildplattenlaufwerk 155 sind typischerweise mit dem Systembus 121 über eine entfernbare Speicherschnittstelle verbunden, wie beispielsweise die Schnittstelle 150.
  • Die oben erörterten und in 1 veranschaulichten Laufwerke und ihre dazugehörigen Computer-Speichermedien sorgen für die Speicherung von computerlesbaren Anweisungen, Datenstrukturen, Programm-Modulen und anderen Daten für den Computer 110. In 1 ist das Festplattenlaufwerk 141 zum Beispiel so dargestellt, dass es das Betriebssystem 144, Anwendungsprogramme 145, andere Programm-Module 146 und Programmdaten 147 speichert. Es ist zu beachten, dass diese Komponenten entweder die gleichen wie das Betriebssystem 134, Anwendungsprogramme 135, weitere Programm-Module 136 und Programmdaten 137 sein können oder sich von diesen unterscheiden können. Das Betriebssystem 144, Anwendungsprogramme 145, weitere Programm-Module 146 und Programmdaten 147 werden hier mit anderen Bezugszeichen bezeichnet, um zumindest zu veranschaulichen, dass sie unterschiedliche Kopien sind.
  • Ein Benutzer kann Befehle und Informationen in den Computer 110 über Vorrichtungen eingeben, wie beispielsweise eine Tastatur 162, ein Mikrofon 163 und eine Zeigevorrichtung 161, wie beispielsweise eine Maus, eine Rollkugel oder ein Berührungsfeld. Weitere (nicht gezeigte) Eingabevorrichtungen können einen Joystick, ein Gamepad, eine Satellitenschüssel, einen Scanner oder dergleichen umfassen. Diese und andere Eingabevorrichtungen sind oft mit der Verarbeitungseinheit 120 über eine Benutzer-Eingabeschnittstelle 160 verbunden, die an den Systembus gekoppelt ist, aber über andere Schnittstellen- und Busstrukturen, wie beispielsweise einen Parallel-Port, Game-Port oder einen Universal-Serial-Bus (USB) verbunden sein können. Ein Monitor 191 oder ein anderer Typ von Anzeigevorrichtung ist ebenfalls mit dem Systembus 121 über eine Schnittstelle verbunden, wie beispielsweise eine Video-Schnittstelle 190. Zusätzlich zum Monitor können Computer auch andere Peripherie-Ausgabevorrichtungen umfassen, wie beispielsweise Lautsprecher 197 und Drucker 196, die über eine Ausgabe-Peripherieschnittstelle 190 verbunden sein können.
  • Der Computer 110 kann in einer vernetzten Umgebung unter Verwendung von logischen Verbindungen zu einem oder mehreren entfernten Computern, wie beispielsweise einem entfernten Computer 180, betrieben werden. Der entfernte Computer 180 kann ein Arbeitsplatzrechner, ein Taschencomputer, ein Server, ein Router, eine Netzwerk-PC, eine gleichrangige Vorrichtung oder ein anderer gemeinsamer Netzwerkknoten sein und umfasst typischerweise viele oder alle der oben in Bezug auf den Computer 110 beschriebenen Elemente. Die logischen in 1 dargestellten Verbindungen umfassen ein lokales Netzwerk (LAN) 171 und ein Weitverkehrsnetz (WAN) 73, können aber auch andere Netzwerke umfassen. Solche vernetzten Umgebungen sind allgemein üblich in Büros, unternehmensübergreifenden Computer-Netzwerken, Intranetzen und dem Internet.
  • Wenn er in einer LAN-vernetzten Umgebung eingesetzt wird, ist der Computer 110 mit dem LAN 171 über eine Netzwerkschnittstelle bzw. einen Adapter 170 verbunden. Wenn er in einer WAN-vernetzten Umgebung verwendet wird, umfasst der Computer 110 typischerweise ein Modem 172 oder andere Mittel zum Aufbauen von Kommunikationen über das WAN 172, wie beispielsweise das Internet. Das Modem 172, das itern oder extern sein kann, kann mit dem Systembus 121 über die Benutzer-Eingabeschnittstelle 160 oder einen anderen sachdienlichen Mechanismus verbunden sein. In einer vernetz ten Umgebung können in Bezug auf den Computer 110 bzw. Teile davon dargestellte Programm-Module in der entfernten Speicher-Archivierungs-Vorrichtung gespeichert werden. Als Beispiel und nicht einschränkend veranschaulicht 1 entfernte Anwendungsprogramme 185 so, dass sie sich auf dem entfernten Computer 180 befinden. Es ist klar, dass die gezeigten Netzwerkverbindungen beispielhaft sind, und andere Mittel zum Aufbauen einer Kommunikationsverbindung zwischen den Computern verwendet werden können.
  • Es ist anzumerken, dass die vorliegende Erfindung auf einem Computersystem wie demjenigen, das unter Bezugnahme auf 1 beschrieben worden ist, ausgeführt werden kann. Die vorliegende Erfindung kann jedoch auf einem Server, einem für Nachrichtenvermittlung verwendeten Computer oder auf einem verteilten System ausgeführt werden, in dem verschiedene Teile der vorliegenden Erfindung auf verschiedenen Teilen des verteilen Rechensystems ausgeführt werden.
  • 2A ist ein Blockschaltbild eines Modell-Autorensystems 200. Das Modell-Autorensystem 200 umfasst die Modell-Autorenkomponente 202 und eine optionale Benutzerschnittstelle 204. 2A zeigt auch, dass die Modell-Autorenkomponente 202 als Eingabe ein Schema 206, ein Set von Trainingsbeispiel-Textzeichenfolgen 208, eine optionale Grammatik-Bibliothek 209 empfängt und eine regelbasierte Grammatik, (wie beispielsweise eine kontextfreie Grammatik oder CFG) 210 ausgibt. Die optionale Grammatik-Bibliothek 209 enthält Definitionen für domänenunabhängige Konzepte, wie beispielsweise Datum und Uhrzeit, sowie domänenabhängige Konzepte, wie beispielsweise Ortsnamen, Luftfahrtgesellschaften usw., die aus einer Anwendungsdatenbank erhalten werden können.
  • Der detaillierte Betrieb des Systems 200 wird im Folgenden ausführlicher beschrieben. Jedoch kurz zusammengefasst stellt ein Benutzer die Modell-Autorenkomponente 202 mit dem Schema 206 und den Trainingsbeispiel-Textzeichenfolgen 208 bereit. Dies kann entweder über die optionale Benutzerschnittstelle 204 oder über irgendeinen anderen Benutzer-Eingabemechanismus oder über automatisierte Mittel erfolgen. Die Modell-Autorenkomponente 202 empfängt die Eingaben und generiert eine regelbasierte Grammatik 210 auf Basis der Eingaben. Ein Beispiel einer regelbasierten Grammatik ist eine kontextfreie Grammatik (oder CFG), die es einem Computer gestattet, eine Eingabe auf eine semantische Darstellung von Text abzubilden.
  • Das Schema 206 ist eine veranschaulichende Darstellung einer semantischen Beschreibung der modellierten Domäne. Eine Veranschaulichung eines Schemas ist in 2B gezeigt. 2B veranschaulicht ein in hohem Maß vereinfachtes Schema 212, das von einem Entwickler in das System 200 eingegeben werden kann. Das Schema 212 ist ein Schema, das die Bedeutung von verschiedenen Textzeichenfolgen für eine Eingabe von einem Benutzer darstellt, um Flüge darzustellen, die von verschiedenen Orten abfliegen und dort landen und unterschiedliche Abflug- und Ankunftszeiten aufweisen. Das Schema 212 gibt an, das der Fluganzeigebefehl (ShowFlight) eine semantische Klasse für Flight als einen Schlitz enthält. Schema 212 veranschaulicht des Weiteren die semantische Klasse für Flight in größerem Detail, wobei angegeben wird, dass sie vier Schlitze enthält, die einer Abflugzeit, einer Ankunftszeit, einem Abflugort und einem Ankunftsort entsprechen.
  • Aus Schema 212 kann die Modell-Autorenkomponente 202 ein Regel-Set generieren, das in 2C veranschaulicht ist. Die erste Regel zeigt, dass ein ShowFlight-Satz immer einen Befehlsteil ShowFlightCmd aufweist, auf den ein Eigenschaften-Teil ShowFlightProperties folgt.
  • Die zweite Regel gibt an, das der Teil ShowFlightProperties eine oder mehrere Eigenschaften darin aufweisen kann. Zum Beispiel gibt die zweite Regel an, dass der Teil ShowFlightProperties wenigstens eine ShowFlightProperty aufweist, auf die ein optionaler ShowFlightProperties-Teil folgen kann. Diese rekursive Definition von ShowFlightProperties vereinfacht ihren Ausdruck und gestattet, dass sie eine oder mehrere Eigenschaften aufweisen kann.
  • Die dritte Regel zeigt, dass der ShowFlightProperty-Teil einen ShowFlightPreFlight-Teil, einen Flight-Teil und einen ShowFlightPostFlight-Teil umfasst. Dies gibt an, dass der Schlitz Flight in dem Schema sowohl eine Präambel als auch eine Postambel aufweisen kann.
  • Die vierte Regel gibt an, dass das Objekt Flight in dem Schema keinen Befehlsteil, sondern nur einen Eigenschaftenteil (FlightProperties) aufweist, weil Flight in dem Schema ein Objekt ist, wogegen ShowFlight ein Befehl ist. Die fünfte Regel zeigt, dass der FlightProperties-Teil wiederum rekursiv definiert ist, um wenigstens eine FlightProperty zu enthalten, auf die ein optionales FlightProperties folgt.
  • Die Regeln sechs bis neun entsprechen den vier Schlitzen des in 2B gezeigten Schemas 212. Die sechste Regel definiert die erste Eigenschaft so, dass sie einen Abflugort-Schlitz aufweist, dem eine Präambel (FlightPreDepartureCity) vorausgeht und eine Postambel (FlightPostDepartureCity folgt. Die siebte Regel definiert den Ankunftsort auf die gleiche Weise, und die achte und neunte Regel definieren die Abflugzeit und Ankunftszeit jeweils auf ähnliche Weise.
  • Selbst in Anbetracht der Tatsache, dass alle der in 2C identifizierten Regeln automatisch aus dem Schema 212 durch die Modell-Autorenkomponente 202 generiert werden können, gibt es immer noch keine Überschreibregeln (rewrite rules), die angeben, welche spezifischen Wörter den spezifischen Präterminals (Befehl für eine befehlssemantische Klasse sowie Präambeln und Postambeln für Schlitze) tatsächlich zugeordnet sind. Zum Beispiel gibt es keine Regel, die angeben würde, dass der Satz "Please show me the flights ..." auf dem ShowFlightCmd abgebildet ist. Desgleichen gibt es keine Überschreibregel, die angibt, welche Wörter spezifischerweise zum Beispiel auf der Präambel FlightPreArrivalCity abgebildet würden usw. Daher gibt der Entwickler Trainingsbeispiel-Textzeichenfolgen und Kommentare 208 so ein, dass die Modell-Autorenkomponente 202 diese Überschreibregeln ebenfalls lernen kann.
  • 2D veranschaulicht ein Beispiel einer Beispiel-Textzeichenfolge 213 "Flight from Seattle to Boston" zusammen mit einem semantischen Kommentar 214, welcher der Textzeichenfolge 213 entspricht. Der semantische Kommentar 214 wird vom Entwickler bereitgestellt und gibt die semantische Bedeutung der Zeichenfolge 213 an. Der semantische Kommentar 214 zeigt zum Beispiel, dass die eingegebene Textzeichenfolge 213 einem ShowFlight-Befehl entspricht, der selbst zwei Schlitze aufweist, von denen beide Orte sind. Die Unterscheidung zwischen den zwei Schlitzen im Flight-Schlitz erfolgt nur durch die Bezeichnung des Schlitzes. Einer wird als der "Arrival"-Ort bezeichnet, und der andere wird als der "Departure"-Ort bezeichnet. Der semantische Kommentar 214 bildet das Wort "Boston" ebenfalls auf dem Schlitz "Arrival"-Ort und das Wort "Seattle" auf dem Schlitz "Departure"-Ort ab. Daher weiß die Modell-Autorenkomponente 202 auf Basis des Kommentars 214, welche Schlitze zu den Wörtern "Seattle" und "Boston" gehören.
  • Aus dem mit Kommentar versehenen Beispiel und den in 2C gezeigten Schablonen-Grammatikregeln (template grammar rules) kann die Modell-Autorenkomponente 202 einen regelbasierten Grammatik-(oder CFG) Syntaxbaum generieren, wie beispielsweise den Syntaxbaum 216, der in 2E dargestellt ist. Die erste Ebene 218 des Syntaxbaums 216, (der Teil, der zeigt, das ShowFlight aus ShowFlightCmd gefolgt von ShowFlightProperties gebildet wird), wird aus Regel 1 in 2C gebildet.
  • Die zweite Ebene 220, (der Teil, der angibt, das ShowFlightProperties aus ShowFlightProperty) gebildet wird), wird aus Regel 2 generiert, wobei der optionale ShowFlightProperties-Teil nicht verwendet wird.
  • Die nächste Ebene 222, (der Teil, der angibt, dass ShowFlightProperty aus ShowFlightPreFlight gefolgt von Flight gefolgt von ShowFlightPostFlight gebildet wird), wird aus Regel 2 in 2C generiert.
  • Die nächste Ebene 224, (die angibt, dass das Flight-Objekt aus einem FlightProperties-Abschnitt gebildet wird), wird aus Regel 4 in 2C gebildet.
  • Die nächste Ebene 226. (der Teil, der angibt, dass der FlightProperties-Teil aus einem FlightProperty-Teil gefolgt von einem FlightProperties-Teil gebildet wird), wird aus Regel 5 in 2C gebildet.
  • Die nächste Ebene 228, (die Ebene, die angibt, dass der FlightProperty-Teil aus einem FlightPreDepartureCity-Teil gefolgt von einem City-Schlitz gefolgt von einer FlightPostDepartureCity-Postambel gebildet wird), wird aus Regel 6 generiert, und die nächste Ebene 230, (die Ebene, die zeigt dass FlightProperties aus einer FlightPreArrivalCity-Präambel, einem City-Schlitz und einer FlightPostArrivalCity-Postambel gebildet wird), wird aus Regel 7 generiert.
  • Schließlich wird die Ebene, die angibt, dass das Wort "Seattle" auf dem City-Schlitz unter der Ebene 228 abgebildet ist, und dass das Wort "Boston" auf dem City-Schlitz unter der Ebene 230 abgebildet ist, aus dem semantischen Kommentar 214 generiert, der ebenfalls vom Benutzer eingegeben wird. Somit kann die Modell-Autorenkomponente 202 lernen, wie aus den Wörtern "Seattle" und "Boston" in dem eingegebenen Satz in den CFG-Syntaxbaum und in die in 2C generierten Regeln abgebildet werden soll. Es ist anzumerken, dass die Orts-Regeln auch aus einer Bibliotheks-Grammatik, (die wiederum konstruiert werden kann, indem die Daten aus der domänenspezifischen Datenbank entnommen werden), statt aus kommentierten Daten erhalten werden können.
  • Es gibt jedoch immer noch eine Reihe von Wörtern in dem eingegebenen Satz, die noch nicht auf den Baum abgebildet sind. Zu diesen Wörtern gehören "Flight", "from" und "to". Da die Wörter "Flight" und "from" dem Wort "Seattle" vorangehen, können sie auf eine Reihe von Präterminals im Syntaxbaum 216 abgebildet werden, einschließlich Flight-Cmd, ShowFlightPreFlight und FlightPreDepartureCity. Desgleichen, da das Wort "to" in der eingegebenen Textzeichenfolge 213 zwischen den Wörtern "Seattle" und "Boston" steht, kann das Wort "to" entweder auf FlightPostDepartureCity oder FlightPreArrivalCity abgebildet werden.
  • Da bekannt ist, dass das Wort "to" eine Präposition ist, muss es modifizieren, was danach kommt. Daher kann bestimmt werden, dass das Wort "to" zum FlightPreArrivalCity-Präterminal im Syntaxbaum 216 gehört.
  • Es ist jedoch immer noch nicht bekannt, wo sich die Wörter "Flight" und "from" im Syntaxbaum 216 befinden sollen. Des Weiteren ist die spezielle Segmentierung für die zwei Wörter unbekannt. Zum Beispiel kann in einer Alternative das Wort "Flight" auf Show-FlightCmd abgebildet werden, während das Wort "from" auf "ShowFlightPreFlight abgebildet wird. In diesem Fall wird das Präterminal FlightPreDepartureCity auf ein leeres Set abgebildet.
  • In Übereinstimmung mit einer anderen Alternative werden beide Wörter "Flight" und "from" auf ShowFlightCmd abgebildet, während die anderen Präterminals ShowFlight-PreFlight und FlightPreDepartureCity beide auf leere Sets abgebildet werden.
  • In einer weiteren Alternative wird "Flight" auf ShowFlightCmd abgebildet, und "from" wird auf FlightPreDepartureCity abgebildet, während das restliche Präterminal ShowFlight-PreFlight auf ein leeres Set abgebildet wird.
  • Dies stellt eine Segmentierungs-Uneindeutigkeit dar, die in Ermangelung von zusätzlichen Informationen vom Entwickler historisch nicht gelöst worden ist. In einigen bisherigen Systemen wurde jede der möglichen Segmentierungen dem Benutzer einfach angezeigt, und dem Benutzer wurde gestattet, eine dieser Segmentierungen zu wählen.
  • Dies führte jedoch zu einer Reihe von Problemen. Erstens ist dieser Typ von Interaktion mit dem Benutzer intrusiv und zeitaufwändig. Des Weiteren, wenn mehrere mögliche Präterminals und mehrere abgeglichene Wörter in der eingegebenen Textzeichenfolge vorhanden sind, erhöht sich die Anzahl der Möglichkeiten drastisch, die dem Benutzer vorgelegt werden müssen. Es ist sehr schwierig, wenn nicht unmöglich, alle derartigen Kandidaten-Segmentierungen für die Auswahl durch den Benutzer effektiv anzuzeigen. Außerdem, auch wenn die Segmentierung für die Auswahl durch den Benutzer angemessen angezeigt wurden, machen Benutzer oft Fehler bei der Segmentierung oder segmentieren ähnliche Textzeichenfolgen auf inkonsistente Weise.
  • In Übereinstimmung mit einer Ausführungsform wird der Erwartungsmaximierungs-(EM) Algorithmus auf Segmentierungs-Uneindeutigkeiten in der Modell-Autorenkomponente 202 angewendet, um den Segmentierungs-Auswahlmöglichkeiten die Uneindeutigkeit zu nehmen. Der EM-Algorithmus ist im Allgemeinen ein Algorithmus zum Schätzen von Modell-Parametern mit Schätzfunktion einer höchsten Wahrscheinlichkeit (maximum likelihood estimator), wenn das Modell nicht beobachtbare verborgene Variablen enthält.
  • 3A zeigt ein Blockschaltbild, das die Modell-Autorenkomponente 202 in größerem Detail veranschaulicht. 3A zeigt, dass die Modell-Autorenkomponente 202 veranschaulichend den Schablonen-Grammatikgenerator 300, die Segmentierungs-EM-Anwendungskomponente 302 und die Einschränkungskomponente 304 (pruning component) umfasst. Der Schablonen-Grammatikgenerator 300 empfängt das Schema 206 und alle Regeln in der optionalen Grammatik-Bibliothek 209, auf die (durch geeignete Typ-Vereinheitlichung) durch semantische Klassen im Schema 206 Bezug genommen wird, und generiert eine Schablonen-Grammatik, die alle Regeln enthält, die aus dem Schema 206 und der optionalen Grammatik-Bibliothek erlernt oder gesammelt werden können. Die Schablonen-Grammatik wird dann von der EM-Segmentierungskomponente zusammen mit den Trainingsbeispielen (Textzeichenfolgen und ihren Kommentaren) als Eingabe genommen. Die EM-Segmentierungskomponente verwendet die Schablonen-Grammatik, um die Segmentierungs-Uneindeutigkeiten in den Trainingsbeispielen zu suchen. Dann ist die Komponente 302 tätig, um jeglichen Segmentierungs-Uneindeutigkeiten die Uneindeutigkeit zu nehmen. Basierend auf diesem Eliminieren der Uneindeutigkeit können Überschreibregeln unter Verwendung der Einschränkungskomponente 304 aus der Grammatik eingeschränkt werden, um die regelbasierte Grammatik 210 bereitzustellen.
  • Zur weiteren Veranschaulichung des Arbeitsablaufs der EM-Segmentierungskomponente 302 stellen 2F und 2G Beispieltabellen bereit. 2F zeigt eine Tabelle, die ein Set von Beispielen enthält. Das erste von ihnen zeigt, dass das Wort "from" möglicherweise entweder auf das Präterminal ShowFlightCmd oder das Präterminal FlightPreDepartureCity abgebildet werden kann. Das Beispiel kann von der Komponente 302 aus einem Beispielsatz wie "from Seattle to Boston" entnommen werden. Das zweite Beispiel gibt an, dass die Wörter "Flight from" auf die Präterminals ShowFlightCmd und FlightPreDepartureCity abgebildet werden können. Das Beispiel kann von der Komponente 302 aus einem Beispielsatz wie "Flight from Seattle to Boston" entnommen werden. Das dritte Beispiel veranschaulicht, dass die Wörter "Flight to", die auf ähnliche Weise von der Komponente 302 aus einem Beispiel wie "Flight to Boston on Tuesday" erhalten werden, auf die Präterminals ShowFlightCmd und FlightPreArrivalCity angebildet werden können. Die Segmentierung der Beispiele ist jedoch uneindeutig. Mit anderen Worten, es ist noch nicht bekannt, ob das Wort "from" aus dem ersten Beispiel auf das Präterminal ShowFlightCmd oder das Präterminal FlightPreDepartureCity abgebildet werden soll. Desgleichen ist nicht bekannt, wie die Wörter "Flight from" auf eines der Präterminals ShowFlightCmd und FlightPreDepartureCity abgebildet werden sollen. Außerdem ist natürlich nicht bekannt, wie die Wörter "Flight to" auf die möglichen Präterminals ShowFlightCmd und FlightPreArrivalCity abgebildet werden sollen.
  • 2G ist eine Tabelle, welche den Arbeitsablauf der EM-Algorithmus-Anwendungskomponente 203 weiter veranschaulicht. 3B ist ein Ablaufdiagramm, das den Ar beitsablauf der Komponente 203 veranschaulicht, und wird zusammen mit 2F und 2G beschrieben.
  • Zuerst zählt die Komponente 302 alle möglichen Segmentierungen auf. Dies wird in der linken Spalte von 2G gezeigt, die mit Mögliche Überschreibregeln bezeichnet ist. In den in 2G gezeigten Überschreibregeln sind einige der Wörter, welche die Präterminal-Namen bilden, abgekürzt. So gibt zum Beispiel die Überschreibregel SFCmd → ε die Segmentierung an, in der das Präterminal ShowFlightCmd (abgekürzt SFCmd) auf ein leeres Set abgebildet ist. In ähnlicher Weise stellt die Überschreibregeln SFCmd → from die Segmentierung dar, in der das Wort "from" auf das Präterminal ShowFlightCmd abgebildet ist. Des Weiteren stellt FPDCity → ε die Segmentierung dar, in der das Präterminal FlightPreDepartureCity (abgekürzt FPDCity) auf ein leeres Set abgebildet ist, und FPACity → ε stellt die Segmentierung dar, in der das Präterminal FlightPreArrivalCity (abgekürzt FPACity) auf ein leeres Set abgebildet ist. Ausgehend von diesen Beispielen erklären sich die Schreibweisen in dem Überschreibregel-Teil der in 2G gezeigten Tabelle von selbst. Es genügt zu sagen, dass jede mögliche Segmentierung für die in 2F gezeigten Beispiele aufgezählt ist.
  • In dem ersten Beispiel in 2G gibt eine Segmentierung an, dass das Wort "from" auf ShowFlightCmd abgebildet ist, und eine andere Segmentierung gibt an, dass das Wort "from" auf FlightPreDepartureCity abgebildet ist.
  • Das zweite Beispiel in 2F unterstützt auch eine Reihe von unterschiedlichen Segmentierungs-Alternativen. Zum Beispiel werden in Übereinstimmung mit einer Segmentierungs-Alternative die Wörter "Flight from" beide auf das Präterminal ShowFlightCmd abgebildet, und das Präterminal FlightPreDepartureCity wird auf ε abgebildet. In einer anderen Segmentierungs-Alternative werden die Wörter "Flight from" beide auf das Präterminal FlightPreDepartureCity abgebildet, und das Präterminal ShowFlightCmd wird auf ε abgebildet. In einer weiteren Alternative werden die Wörter "Flight" und "from" so aufgeteilt, dass das Wort "Flight" auf das Präterminal ShowFlightCmd abgebildet wird, und das Wort "from" auf das Präterminal ShowPreDepartureCity abgebildet wird. Jede dieser Segmentierungen wird auch in den Überschreibregeln gezeigt, die in 2G aufgezählt sind.
  • Das dritte Beispiel kann in ähnlicher Weise wie das zweite Beispiel segmentiert werden, indem die Wörter "Flight to" entweder auf das Präterminal ShowFlightCmd oder das Präterminal FlightPreArrivalCity abgebildet werden, während das andere Präterminal auf ε abgebildet wird, oder die Wörter "Flight to" können zwischen den Präterminals Show-FlightCmd und FlightPreArrivalCity aufgeteilt werden. Wiederum ist jede dieser Segmentierungen in den in 2G gezeigten Überschreibregeln dargestellt.
  • Die Aufzählung aller möglichen Segmentierungen wird von Block 306 im Ablaufdiagramm von 3B angegeben.
  • Sobald die Überschreibregeln aufgezählt sind, welche die Segmentierungen unterstützen, wird jeder von Ihnen eine Probabilität zugeordnet. Zuerst wird allen Segmentierungen, die in 2G dargestellt sind, die gleiche Probabilität zugeordnet. Diese wird von Block 308 in 3B angegeben.
  • Als Nächstes ordnet die Komponente 302 neue erwartete Zählwerte zu den aufgezählten Überschreibregeln zu, die auf dem möglichen Auftreten dieser Zählwerte in den in 2F gezeigten Beispielen basieren. Dies wird von Block 310 angegeben. Zum Beispiel sind aus dem ersten Beispiel zwei möglich Segmentierungen vorhanden, von denen eine das Wort "from" auf ShowFlightCmd abbildet und das Präterminal FlightPreDepartureCity auf ε abbildet, und von denen die andere ShowFlightCmd auf ε abbildet und das Wort "from" auf das Präterminal FlightPreDepartureCity abbildet. Die erste Überschreibregel besagt, dass das ShowFlightCmd-Präterminal auf ε (das leere Set) abbildet. Daher unterstützt die Hälfte der Segmentierungen in Beispiel 1 die in der Tabelle von 2G gezeigte erste Überschreibregel. Somit wird der ersten Überschreibregel (ShowFlightCmd → ε) ein Zählwert von ein halb zugeordnet.
  • Wie oben erörtert, unterstützt das zweite Beispiel drei verschiedene Segmentierungen, von denen eine beide Wörter "Flight from" auf das Präterminal ShowFlightCmd und das Präterminal FlightPreDepartureCity auf ε abbildet, eine weitere das Wort "Flight" auf das Präterminal ShowFlightCmd und das Wort "from" auf das Präterminal FlightPreDepartureCity abbildet, und die letzte das Präterminal ShowFlightCmd auf ε und beide Wörter "Flight from" auf das Präterminal FlightPreDepartureCity abbildet. Von diesen drei Segmentierungen unterstützt eine die erste Überschreibregel (ShowFlightCmd → ε). Daher wird aus dem zweiten Beispiel der ersten Überschreibregel ein Zählwert von einem Drittel zugeordnet.
  • Auf die gleiche Weise weist das dritte Beispiel drei mögliche Segmentierungen auf, von denen eine das Präterminal ShowFlightCmd auf ε abbildet. Daher wird aus dem dritten Beispiel der in 2G gezeigten ersten Überschreibregel wiederum ein Zählwert von einem Drittel zugeordnet.
  • Unter Verwendung dieses Analysetyps wird ersichtlich, dass die zweite Überschreibregel (SFCmd → from) nur vom ersten Beispiel unterstützt wird. Da es zwei mögliche Segmentierungen für das erste Beispiel gibt, und eine davon die zweite Überschreibregel unterstützt, wird der zweiten Überschreibregel (SFCmd → from) daher ein Zählwert von ein halb zugeordnet.
  • Die dritte Überschreibregel (SFCmd → Flight) wird von einer der Segmentierungen von jedem des in 2G gezeigten zweiten und dritten Beispiels unterstützt. Da jedes dieser Beispiele drei mögliche Segmentierungen aufweist, wird der dritten Überschreibregel (SFCmd → Flight) daher ein Zählwert von einem Drittel von jedem Beispiel zugeordnet.
  • Die Komponente 302 ordnet auf diese Weise jeder der aufgezählten Überschreibregeln in 2G Zählwerte zu, und diese Zählwerte werden in der zweiten Spalte der in 2G gezeigten Tabelle dargestellt. Alle Zählwerte werden so umgewandelt, dass sie einen gemeinsamen Nenner aufweisen, und dann werden sie für jedes Präterminal normalisiert, um die Probabilität zu erhalten. Mit anderen Worten, die gesamte Probabilitätsmasse für das ShowFlightCmd-Terminal muss zu einer addiert werden. Daher werden die Zählwerte für jede Überschreibregel mit einem Normalisierungsfaktor multipliziert, um eine Probabilität zu erhalten, die mit dieser Überschreibregel verknüpft ist.
  • Zum Beispiel ist ersichtlich, dass die Gesamtanzahl von Zählwerten für das Präterminal ShowFlightCmd 3 ist. Daher beträgt die Probabilität für die erste Überschreibregel (SFCmd → ε) 7/18. Desgleichen beträgt die Probabilität für die zweite Überschreibregel (SFCmd → from) 3/18 usw. Die Komponente 302 verarbeitet die Zählwerte für jede Überschreibregel und jedes Präterminal, um diese Probabilität zu erhalten.
  • Es ist daher ersichtlich, dass für das Präterminal FPDCity die Summe der Zählwerte über alle verschiedenen Regeln 2 beträgt, daher ist der Normalisierungsfaktor 1/2. Für das letzte Präterminal FPACity ist nur ein Zählwert vorhanden (3·1/3 = 1), und daher ist der Normalisierungsfaktor Eins. Es ist somit ersichtlich, dass die Komponente 302 die mit jeder Überschreibregel verknüpfte Probabilität auf Eins zurücksetzt, was das Auftreten der von den Beispielen unterstützten Überschreibregel genauer wiedergibt. Die Normalisierung der Zählwerte zum Erhalten der neuen Probabilität wird von Block 312 in 3B angegeben.
  • Die Komponente 302 wiederholt diesen Prozess, (unter erneutem Schätzen der Zählwerte und Erhalten der neuen Probabilitäten), bis die Zählwerte und Probabilitäten sich annähern. Dies wird von Block 314 angegeben. Um zum Beispiel einen neuen Zählwert C für die erste Überschreibregel zu erhalten, implementiert die Komponente 302 die Gleichung 1, die zuerst die Gesamtwahrscheinlichkeit der Beobachtung des Worts "from" unter Vorgabe der Nicht-Terminal-Reihung ShowFlightCmd und FPDCity wie folgt findet: P(from|ShowFlightCmd FPDCity) = P(ε|ShowFlightCmd)·P(from|FPDCity) + P(from|ShowFlightCmd)·P(ε|FPDCity) = [(7/18) × (5/12)] + [(3/18 × (5/12)] = 50/216 Gleichung 1
  • Aus diesem Betrag wird die Proportion für die Segmentierung, welche die leere Zeichenfolge zu ShowFlightCmd und "from" zu FPDCity zuweist, der neue erwartete Zählwert C:
    Figure 00210001
  • Desgleichen wird der neue Zählwert C für die zweite Überschreibregel (SFCmd → from) wie folgt berechnet:
    Figure 00220001
  • Dieser Prozess wird für jede der Überschreibregeln fortgesetzt, um die Zählwerte C aus jedem Beispiel zu sammeln. Dann werden die neuen Zählwerte mit dem Normalisierungsfaktor multipliziert, um die neuen Probabilitäten zu erhalten. Wie in 3B gezeigt, wiederholt die Komponente 302 diesen Prozess unter erneuter Schätzung der neuen Zählwerte und der neuen Probabilitäten, bis die Probabilitäten sich annähern.
  • Sobald die Wiederholung abgeschlossen ist, hat die Komponente 302 einen neuen Zählwert und eine neue Probabilität berechnet, die mit jeder der aufgezählten Überschreibregeln verknüpft sind. Obwohl dies an und für sich sehr hilfreich ist, weil sie jeder der Segmentierungen eine Probabilität zu den Regeln zugeordnet hat, die den verschiedenen, während des Trainings erhaltenen Segmentierungen entsprechen, kann es eventuell kein gewünschtes Endergebnis sein. Zum Beispiel sind einige Syntaxanalysatoren nicht in der Lage, die Probabilitäten zu nutzen. In einigen Syntaxanalyse-Komponenten kann eine große Anzahl von Regeln den Syntaxanalysator auch weniger effektiv machen.
  • Daher stellt die Komponente 302 die Regeln und damit verknüpften Probabilitäten für die Einschränkungskomponente 304 bereit, in der die Regeln eingeschränkt werden können. Dies wird von den Blöcken 316 und 318 in 3B angegeben. Die Einschränkungskomponente 304 kann die Regeln in einer von einer Reihe verschiedener Möglichkeiten einschränken (wie von Block 320 angegeben). Zum Beispiel kann die Einschränkungskomponente 304 einfach Regeln herausnehmen, die eine Probabilität auf weisen, die unter einem gewünschten Schwellenwert liegt. Die Komponente 304 nimmt die restlichen Regeln dann in die regelbasierte Grammatik 210 auf.
  • In Übereinstimmung mit einem weiteren veranschaulichenden Beispiel eliminiert die Einschränkungskomponente 304 alle bis auf eine vorbestimmte Anzahl von Segmentierungen mit hoher Wahrscheinlichkeit, die jedem Beispiel entsprechen, und nimmt nur Überschreibregeln in die Grammatik auf, die den restlichen Segmentierungen entsprechen. Zum Beispiel kann die Komponente 304 alle Segmentierungen, die jedem Beispiel entsprechen, bis auf die eine eliminieren, die die höchste Probabilität aufweist. Also angenommen, dass für Beispiel 1 die Segmentierung, die das Wort "from" auf das Präterminal FlightPreDepartureCity abgebildet hat, eine höhere Probabilität aufwies als die Segmentierung, die das Wort "from" dem Präterminal ShowFlightCmd zugeordnet hat. In diesem Beispiel wird die zweite Segmentierung, (die "from" auf ShowFlightCmd abgebildet hat), eliminiert. In diesem Fall werden die zwei Überschreibregeln, welche die gewählte Segmentierung unterstützen, zu der Grammatik hinzugefügt. Daher werden die Überschreibregel " SFCmd → ε" und die Überschreibregel "FPDCity → from" beide zu der Grammatik hinzugefügt.
  • Desgleichen können Regeln, die nicht mehr von der besten Segmentierung irgendwelcher Beispiele unterstützt werden, aus den in 2G gezeigten aufgezählten Regeln entfernt werden. Somit kann die Regel "FPDCity → from" entfernt werden, da sie nur von der Segmentierung für Beispiel 1 unterstützt worden ist, die eliminiert worden ist.
  • Die Anwendung des EM-Algorithmus auf diese Weise wird im Folgenden in formaleren mathematischen Begriffen beschrieben. Die Auflösung der Segmentierungs-Uneindeutigkeit kann als das Problem formalisiert werden, eine m-Block-Partition n = α1, α2, ..., αm für die Wortreihung w = w1, w2, ..., wn zu finden, so dass jeder Block mit einem Präterminal in der Reihung N = NT1, NT2, ..., NTm abgeglichen wird. Ein Block kann 0 oder mehr Wörter von w enthalten.
  • Wird die gemeinsame Probabilität von π, N und w modelliert mit
    Figure 00230001
    dann kann unter Vorgabe von N und w die wahrscheinlichste Segmentierung erhalten werden als:
    Figure 00240001
  • Eine solche Partition kann mittels Viterbi-Suche gefunden werden. Somit bleibt als einziges Problem, den Modell-Parameter P(NT → α) für jedes Präterminal (oder Konzept) NT und jede Wortreihung α zu schätzen. Dies könnte über die Schätzung der höchsten Wahrscheinlichkeit (maximum likelihood) (ML) erfolgen, wenn die Trainingsdaten eine Liste von Präterminals sind, wobei jedes Präterminal mit einer Wortreihung gepaart ist. Die vom Benutzer über das Autorenwerkzeug erhaltenen Trainingsbeispiele sind veranschaulichende Paare von Präterminal-Reihungen und Terminal-Reihungen. Die Partition oder Segmentierung ist eine verborgene Variable und dem Werkzeug unbekannt.
  • Der EM-Algorithmus setzt zuerst die Parameter PΦ für das Modell und modifiziert die Parameter wiederholt zu PΦ', so dass sich die Wahrscheinlichkeit der Beobachtung D erhöht.
  • Um ein solches PΦ' zu finden, wird die Hilfsfunktion Q in (6) definiert:
    Figure 00240002
  • Die logarithmische Wahrscheinlichkeits-Differenz (log-likelihood difference) der Trainingsdaten zwischen den zwei Modell-Parametrierungen ist eine untere Grenze von L(D|PΦ') – L(D|PΦ). Der EM-Algorithmus setzt die Parameter PΦ' gierig zurück, indem Q maximiert wird, um die Erhöhung der Trainingsbeispiel-Wahrscheinlichkeit durch die neue Parametrisierung zu maximieren, die den Bedingungen unterliegt, dass die Probabilitäten aller möglichen Überschreibregeln für ein Präterminal sich zu 1 summieren müssen. Daher kann für jede Reget NT → α ihre neue Probabilität durch Lösen der folgenden Gleichung erhalten werden:
    Figure 00250001
  • Daher sollte die Probabilität auf den erwarteten Zählwert mal dem Normalisierungsfaktor –1/λ zurückgesetzt werden:
    Figure 00250002
  • Zum Berechnen der erwarteten Zählwerte ist zu beachten, dass
    Figure 00250003
    daher
    Figure 00260001
  • Angenommen, Ekij = N ⇒ w1, ..., wn) ist das Ereignis, dass in dem Prozess des Überschreibens der Präterminal-Reihung N auf der Wortreihung w die Regel NT → α für das k-te Präterminal in N verwendet wird, um die untergeordnete Reihung α = wi, ..., wj zu generieren, und angenommen, λts (p, q) ist die Probabilität, dass die Präterminals von Position s bis t in der Reihung N die Terminal-Wörter wp, ..., wq=1 abdecken. Dann
    Figure 00260002
  • Wenn wir also λts (p, q) berechnen können, können wir die Gleichungen (9), (11) und (13) kombinieren, um die erwarteten Zählwerte zu erhalten und die Modell-Parameter zurückzusetzen. Tatsächlich lässt sich λts (p, q) mit dynamischer Programmierung gemäß (14) berechnen, wobei ε die Null-Zeichenfolge ist:
    Figure 00260003
  • Es ist zu beachten, dass Pϕ(N, w) = λml (l, n + 1) in Gleichung (11) verwendet werden kann.
  • 4 veranschaulicht eine weitere Ausführungsform einer Modell-Autorenkomponente 350 in Übereinstimmung mit einem anderen Gesichtspunkt der Erfindung. Die regelbasierte Grammatik 210 kann immer noch weniger robust und unflexibler sein als gewünscht. Zum Beispiel angenommen, während des Trainings werden die folgenden Regeln generiert, um die folgenden Präterminals zu modellieren:
    FlightPreArrivalCity → to
    ShowFlightCmd → Show me the flight
  • Des Weiteren angenommen, dass während des Ablaufs die Satzeingabe "Show flight to Boston" lautet. Der eingegebene Satz wird nicht verstanden, weil keine Regel vorhanden ist, die besagt, das "Show Flight" ein ShowFlightCmd ist.
  • Eine CFG funktioniert gut für hochauflösendes Verständnis. Hochauflösendes Verständnis stellt Grammatiken dar, die Sätze in eine große Anzahl von Schlitzen gliedern. Je größer die Anzahl von Schlitzen, um so höher ist die Auflösung des Verständnisses, das die Grammatik aufweist. CFGs verallgemeinern gut in Situationen mit hoher Auflösung.
  • Viele Anwendungen, in denen keine große Anzahl von Schlitzen vorhanden ist, die zu füllen sind, erfordern jedoch ein niedrigauflösendes Verständnis. Eine solche Anwendung ist Befehl und Steuerung. In einer Befehls- und Steuerungs-Anwendung enthalten einige Befehle, die erkannt werden müssen, zum Beispiel "ChangePassword", "ChangeBackground" und "ChangeLoginPicture". In diesen Fällen sind keine zu füllenden Schlitze vorhanden, und die gesamten Sätze müssen als die Befehle erkannt werden. Während des Trainings kann dies wohl zu einer Regel führen wie beispielsweise:
    ChangeLoginPictureCmd → Please change my login icon.
  • Weil "ChangeLoginPicture" ein Befehl ist, ist kein Eigenschafts-Teil für die Regel vorhanden. Daher wird von der Grammatik-Lernvorrichtung einfach der vollständige Satz in der Regel, die sie sich angeeignet hat, "im Gedächtnis behalten". Um einen vom Benutzer ausgegebenen Befehl zu erkennen und aufzurufen, muss der Befehl mit einem vollständigen Satz in den Trainingsdaten übereinstimmen. Es gibt überhaupt keine Verallgemeinerung.
  • Ein Beispiel bezieht sich darauf, statt Präterminals, (wie beispielsweise Befehle, Präambeln, und Postambeln), mit Regeln in der Schablonen-Grammatik zu modellieren, ein statistisches Modell, (wie beispielsweise ein N-Gram), zum Modellieren der Präterminals zu verwenden. In einem Beispiel wird der Text, der für die aufgezählten Segmentierungen generiert wurde, die den Präterminals in der Schablonen-Grammatik entsprechen, als Trainingsdaten für das N-Gram (oder ein anderes statistisches Modell) verwendet. Daher wird in dem oben genannten Beispiel die Textzeichenfolge, die aufgezählten Segmentierungen für die Präterminals entspricht, zusammen mit ihrem in dem Erwartungs-Schritt des EM-Algorithmus gesammelten erwarteten Zählwert zum Trainieren eines N-Grams für die Präterminals verwendet. Somit wird der Text "Show me the flight" als Trainingsdaten verwendet, um ein N-Gram zum Modellieren der ShowFlightCmd-Präterminals zu trainieren. Daher kann die Probabilität, dass ein Satz mit "Show flight" darin als ein ShowFlightCmd erkannt wird, wie folgt berechnet werden: Pr(<s>showflight</s>|ShowFlightCmd) = Pr(show|<s>; ShowFlightCmd)· Pr(flight|show;ShowFlightCmd)· Pr(</s>|flight; ShowFlightCmd) Gleichung 15
  • Obwohl die Regeln "show flight" nicht als einen ShowFlightCmd identifiziert hätten, ist die oben genannte N-Gram-Probabilität nicht Null. Der erste Faktor und der dritte Faktor in Gleichung 15 sind nicht Null, weil sie Bigramen entsprechen, die tatsächlich in den Trainingsdaten vorhanden sind, (d.h. [<s> show] und [flight </s>]. Der zweite Faktor entspricht keinem Bigram, das in den Trainingsdaten erscheint, weist aber auf Grund der Glättungstechniken, wie beispielsweise Backoff (im Folgenden beschrieben), eine Probabilität von nicht Null auf und kann wie folgt dargestellt werden: Pr(flight|show;ShowFlightCmd) = backoff_weight·PR(flight|ShowFlightCmd) Gleichung 16
  • Die Backoff-Gewichtung (backoff weight) kann empirisch oder auf andere Weise wie gewünscht eingestellt werden, und die Unigram-Probabilität PR(flight|ShowFlightCmd) ist nicht Null, weil "flight" ein Wort in den Trainingsdaten ist.
  • Da Pr(show flight</s>|ShowFlightCmd) > 0 ist, betrachtet der Syntaxanalysator den eingegebenen Satz als einen ShowFlight-Kandidaten. Die endgültige Interpretation des eingegebenen Satzes hängt von einem Vergleich mit anderen Interpretationskandidaten ab.
  • 4 zeigt somit eine weitere Ausführungsform der Modell-Autorenkomponente 350, die ein zusammengesetztes Modell 351 erstellt, das einen Grammatik-Teil 210, (wie beispielsweise eine CFG), der Regeln zum Modellieren der Schlitze enthält, und einen statistischen Modell-Teil 236, (wie beispielsweise ein N-Gram), zum Identifizieren von Präterminals, (wie beispielsweise Befehle, Präambeln und Postambeln), enthält. Somit werden eingegebene Sätze mit dem statistischen Modell-Teil 326 ausgewertet, um Präterminals zu identifizieren, und mit dem regelbasierten Grammatik-Teil 210, um Schlitze zu füllen.
  • Die Komponente 350 trainiert das zusammengesetzte Modell 351 unter teilweiser Verwendung der oben erläuterten EM-Algorithmus-Techniken. Zum Beispiel angenommen, dass 5 alle aufgezählten Regeln für den ShowFlightCmd enthält, die verschiedenen Beispiel-Segmentierungen entsprechen.
  • Für das oben unter Bezugnahme auf 23B erläuterte Modell werden während des E-Schritts des EM-Algorithmus die erwarteten Zählwerte für jede der aufgezählten Regeln gesammelt, die in 5 gezeigt sind. Während des M-Schritts werden die Zählwerte normalisiert. Für das zusammengesetzte Modell 351 werden jedoch statt der Normalisierung der Zählwerte während des M-Schritts des Algorithmus die Textzeichenfolgen auf der rechten Seite der aufgezählten Regeln und die damit verknüpften erwarteten Zählwerte, die diesen Regeln entsprechen, als Trainingsdaten verwendet, um ein N-Gram für das ShowFlightCmd-Präterminal zu trainieren und zu glätten.
  • Mit anderen Worten, beim Trainieren des N-Grams muss kein vollständiger Zählwert für jedes Auftreten einer Wortreihung hinzugefügt werden. Stattdessen werden die Bruchzahl-Daten, die dem erwarteten Zählwert für die Regel entsprechen, die mit den Trainingssätzen verknüpft sind, (die von der in 3A veranschaulichten EM-Anwendungskomponente 302 generiert werden), für jedes Auftreten der Wortreihung hinzugefügt.
  • Ein weiterer Unterschied zu dem Beispiel, das zur Auflösung der Segmentierungs-Uneindeutigkeit unter Bezugnahme auf 23B beschrieben worden ist, umfasst den E-Schritt des EM-Algorithmus. Statt eine Probabilität mit jeder der aufgezählten Regeln zu verknüpfen, ist die Probabilität einer Regel das Produkt aller N-Grame in der Regel.
  • Zum Beispiel weist in der oben erläuterten regelbasierten Grammatik die Regel:
    ShowFlightCmd → Show me the flight
    eine damit verknüpfte elementare Probabilität auf. Im zusammengesetzten Modell 351 kann die Probabilität für die Regel jedoch wie folgt berechnet werden: Pr(ShowFlightCmd → show me the flight) = Pr(show|<s>; ShowFlightCmd)· Pr(me|show; ShowFlightCmd)· Pr(the|me; ShowFlightCmd) + Pr(flight|the; ShowFlightCmd)· Pr(</s>|flight; ShowFlightCmd) Gleichung 17
  • Ferner umfasst in Übereinstimmung mit einem Beispiel das Training des statistischen Modells für die Präterminals das Anwenden eines Glättungsalgorithmus. Zum Beispiel können die Trainingsdaten für das Training des statistischen Modells für Präterminals relativ spärlich sein, da sie nur die Textzeichenfolgen enthalten, die für die Segmentierung aufgezählt sind, die mit dem vorgegebenen Präterminal verknüpft sind. Dies würde eine relativ große Menge von Sprachausdrücken vom statistischen Modell unabgedeckt lassen und würde das statistische Modell daher relativ unflexibel machen. Daher werden die Modell-Probabilitäten unter Verwendung von N-Gramen einer niedrigeren Ebene und mit einer einheitlichen Verteilung geglättet. Mit anderen Worten, wenn das statistische Modell ein Bigram umfasst, wird es mit Unigramen geglättet, die Probabilitäten für die modellierten Wörter ohne Berücksichtigung des Kontexts bereitstellen. Außerdem wird das statistische Modell mit einer einheitlichen Verteilung geglättet, welche die gleiche Probabilität jedem Wort in dem Vokabular zuordnet. Wenn das Wort daher im Vokabular ist, wird es durch das statistische Modell nicht mit Null-Probabilität modelliert. Eine ge löschte Interpolation (deleted interpolation) wird im Glättungsvorgang zum Finden der Gewichtung für jedes Modell und zum linearen Interpolieren der Modelle verschiedener Ordnungen verwendet.
  • Die Komponente 350 kann auch zusätzliche statistische Modellkomponenten in Übereinstimmung mit verschiedenen Ausführungsformen der vorliegenden Erfindung trainieren. Dies wird in größerem Detail in dem in 6 gezeigten Ablaufdiagramm gezeigt. Zum Beispiel wird der statistische Modell-Teil 326 in diesem Blockschaltbild so gezeigt, dass er nicht nur eine statistische Modell-Komponente für die Präterminals 340 enthält, sondern auch eine Vielzahl von anderen statistischen Modellen. Zum Beispiel kann das statistische Modell 326 in einer Ausführungsform die Komponenten 342 und 344 enthalten, die statistische Modelle enthalten, welche die frühere Probabilität von Aufgaben modellieren, und ein statistisches Modell für Schlitzübergänge.
  • Zum Beispiel, wenn ein Ablauf-Eingabesatz "Show flights to Boston arriving on Tuesday, 11:00 a.m." lautet, wird der Ausdruck "arriving on" so analysiert, dass er angibt, das "Tuesday" einem Ankunftstag entspricht. Vor "11:00 a.m." sind jedoch keine Wörter vorhanden, um anzugeben, ob es sich um eine Abflugzeit oder eine Ankunftszeit handelt. Die Probabilität eines "Ankunftszeit"-Schlitzes nach einem "Ankunftsdatum"-Schlitz ist wahrscheinlich höher als die Probabilität eines "Abflugzeit"-Schlitzes nach einem "Ankunftsdatum"-Schlitz. Wenn solche Schlitzübergänge modelliert werden, wird das Schlitzübergangsmodell eine Abstimmung von "11:00 a.m." mit dem "Ankunftszeit"-Schlitz bevorzugen. Es ist ebenfalls anzumerken, dass das Training eines statistischen Modells, (wie beispielsweise eines N-Gram-Modells), zum Modellieren von Schlitz-Übergängen das gleiche ist wie das Training eines statistischen Modells, (wie beispielsweise eines N-Gram-Modells), zum Modellieren der früheren Probabilität von Schlitzen, mit Ausnahme dessen, dass die Ordnung von n unterschiedlich ist. Für die frühere Probabilität von Schlitzen wird ein Unigram-Modell trainiert, und zum Modellieren von Schlitz-Übergängen zwischen zwei Schlitzen wird ein Bigram-Modell trainiert usw.
  • Des Weiteren treten einige Befehle in den Trainingsdaten häufiger auf als andere. Daher wird die frühere Probabilität der Befehle in Modell 342 modelliert.
  • 7 zeigt ein beispielhaftes vereinfachtes Beispiel einer semantischen Klasse in einem Schema, das die Semantik für einen Terminplanungsbefehl NewAppt definiert.
  • 8 veranschaulicht Schablonen-Regeln, die für die semantische Klasse NewAppt automatisch generiert werden können, wobei Symbole in Klammern optional sind. 9 veranschaulicht eine Ausführungsform eines kommentierten Satzes "New meeting with Peter at 5:00". 10 veranschaulicht zwei Regeln, die hinzugefügt werden können, sobald die Auflösung der Uneindeutigkeit wie oben erläutert durchgeführt worden ist.
  • Jedoch kann es der rein regelbasierten Grammatik, wie erörtert, an Robustheit fehlen und sie kann Unflexibilität aufweisen. Daher ersetzt ein Gesichtspunkt der vorliegenden Erfindung CFG-Regeln durch ein N-Gram, um alle Befehle, Präambeln und Postambeln in der Schablonen-Grammatik zu modellieren und um Schlitzübergänge zu modellieren. Das Schlitz-N-Gram schränkt die Interpretation von Schlitzen ein, bei denen Präambeln und Postambeln fehlen. Das daraus resultierende Modell ist eine Zusammensetzung eines statistischen Modells (oder HMM) und einer CFG. Das HMM modelliert die Schablonen-Regeln und die N-Gram-Präterminals, und die CFG modelliert die Bibliotheks-Grammatik.
  • Ein Beispiel eines solchen Modells ist in 11 gezeigt. Der Ausdruck "Att" ist eine Abkürzung von "Attendee" und "ST" ist eine Abkürzung für "StartTime". Die Ausgabe-Probabilitäten b sind präterminalabhängige N-Grame, (in der Figur sind sie als ein Unigram dargestellt, aber eine Ausgabe-Verteilung höherer Ordnung führt zu einem HMM höherer Ordnung), und die Übergangs-Probabilitäten a sind die Schlitzübergangs-Bigrame. Die Ausgaben T von einem Schlitz-Knoten sind Bibliotheks-CFG-Nicht-Terminals. Wörter werden aus ihnen gemäß dem CFG-Modell PCFG generiert.
  • In dem in 11 gezeigten Modell kann die Bedeutung eines eingegebenen Satzes s erhalten werden, indem die Viterbi-Semantikkklasse c und die Zustandsreihung σ gefunden wird, die Folgendes erfüllen:
    Figure 00330001
  • Das neue Modell überwindet die Einschränkungen eines CFG-Modells. Für ein niedrigauflösendes Verständnis (Aufgaben-Klassifizierung) werden keine Eigenschafts-Präterminals in die Schablonen-Grammatik aufgenommen. Daher werden alle Trainingsdaten verwendet, um das N-Gram für die Befehls-Präterminals zu trainieren und zu glätten. Das Modell verkleinert sich bis hinunter zu einem N-Gram-Klassifizierer, dargestellt durch Gleichung 19.
  • Figure 00330002
  • Für das N-Gram-Modell ist keine exakte Regelübereinstimmung erforderlich. Statt binäre Entscheidungen hinsichtlich der Regelanwendbarkeit zu treffen, vergleicht es die Probabilität, dass die beobachtete Wortreihung aus einer Zustands-(Präterminal) Reihung generiert worden ist, um die wahrscheinlichste Interpretation zu finden. Daher ist das Modell selbst robust, und es besteht kein Bedarf an einem robusten Syntaxanalysator.
  • Im Folgenden wird das Training unter Bezugnahme auf das in 711 gezeigte Beispiel ausführlicher beschrieben. Zum Trainieren des Modells segmentiert der EM-Algorithmus Wortreihungen automatisch und ordnet jedes Segment α einem entsprechenden Präterminal NT in der Präterminal-Reihung eines entsprechenden Paars zu. Der EM-Algorithmus baut ein Modell P(NT → α) auf, das eine Probabilität zum Generieren einer Wortzeichenfolge a aus NT zuordnet, und parametrisiert sie mit einer ersten einheitlichen Verteilung. Dann verfeinert er die Parametrisierung wiederholt, wie oben erläutert. In jeder Wiederholung berechnet er den erwarteten Zählwert für die Regel NT → α entsprechend der Parametrisierung des Modells in der vorherigen Wiederholung, (der E-Schritt), und schätzt dann erneut die Probabilität P(NT → α) durch Normalisieren der erwarteten Zählwerte, (der M-Schritt). Zum Trainieren des neuen Modells, das die Präterminals mit N-Gramen modelliert, werden die erwarteten Zählwerte, die im E-Schritt gesammelt wurden, zum Trainieren und Glätten der N-Grame in dem M-Schritt verwendet; und die N-Grame werden vom EM-Algorithmus zum Sammeln der erwarteten Zählwerte für die Segmentierungen verwendet. Dies führt zu einem Trainings-Algorithmus, der in 12 dargestellt ist.
  • In einem veranschaulichenden Beispiel ist der Schwellenwert, der in der letzten Zeile von 12 dargestellt ist, auf 0,01 gesetzt. Natürlich können auch andere Schwellenwerte verwendet werden.
  • Auch ein anderer optionaler Gesichtspunkt ist wert erwähnt zu werden. Die (in 2A, 4 und 13 gezeigte) optionale Grammatik-Bibliothek 209 kann statistisch an die Trainingsdaten 208 angepasst werden. Zum Beispiel angenommen, dass die Grammatik-Bibliothek 209 eine relativ große Orts-Liste enthält, die sowohl große als auch kleine internationale und nationale Orte umfasst. Des Weiteren jedoch angenommen, dass eine spezifische Anwendung, für welche die Modelle trainiert werden, sich jedoch nur auf nationale Orte bezieht, und des Weiteren, dass es wahrscheinlicher ist, dass auf große nationale Orte wie beispielweise New York und Los Angeles Bezug genommen wird als auf kleinere Orte. Die Komponente 202 zw. 350 lernt die Probabilitäten, die mit der probabilistischen kontextfreien Grammatik (PCFG) verknüpft sind, welche die Grammatik 209 umfassen kann, aus den kommentierten Trainingsdaten 208. Zum Beispiel kann gelernt werden, dass die Probabilität für die Regel Cityname → New York größer ist als die Probabilität für die Regel Cityname → Tokyo. Dies kann auf die gleiche Weise erfolgen, wie die anderen oben erörterten Probabilitäten erlernt werden.
  • 13 veranschaulicht ein Ablaufsystem, das sowohl den regelbasierten Grammatik-Teil für Schlitze als auch den statistischen Modell-Teil für Präterminals verwendet. Das System empfängt eine Eingabe und verwendet den Grammatik-Teil und N-Gram-Teil und gibt eine Ausgabe 402 aus.
  • Die Decodierung wird ausführlicher unter Bezugnahme auf 14 beschrieben. 14 veranschaulicht eine dynamische Programmiergitterstruktur, die eine dynamische Programmier-Decodiereinrichtung für eine Eingabe "new meeting with Peter at five" darstellt.
  • Die dynamische Programmier-Decodiereinrichtung findet den Viterbi-Pfad, der von der oben genannten Gleichung 16 angegeben wird. Nachdem Empfang der Eingabe verwendet die Decodiereinrichtung zuerst einen aufsteigenden Diagramm-Syntaxanalysator (bottom-up chart parser), um die Bibliotkeksgrammatik-Nicht-Terminals zu finden, die einige Eingabebereiche abdecken. In diesem Fall identifiziert sie "Peter" als <Peson> und "five" entweder als <time> oder <num>. Die Decodiereinrichtung durchsucht dann das Gitter ausgehend von den Knoten der semantischen Klasse in der ersten Spalte, (das Beispiel zeigt nur die semantische Klasse NewAppt). An jedem Knoten führt sie Übergänge zu anderen Knoten in der gleichen Spalte aus, (wobei auf ein anderes Nicht-Terminal umgeschaltet wird), oder zu dem nächsten Knoten in der gleichen Zeile, (wobei ein Eingabewort durch das Nicht-Terminal verbraucht wird). Die Suche wird von links nach rechts fortgesetzt, bis sie die äußerste rechte Spalte erreicht. Wenn ein Übergang ausgeführt wird, wird durch Addieren einer geeigneten Log-Probabilität zur Punktezahl des Ausgangsknotens eine Punktezahl erhalten. Die Punktezahl wird dann mit derjenigen des Zielknotens verglichen und ersetzt sie, wenn die neue Punktezahl höher ist. Unter dem Gitter befinden sich die von einem Diagramm-Syntaxanalysator identifizierten Nicht-Terminals. Der dicke Pfad 410 stellt die Viterbi-Interpretation dar. Ein oberer dünner Pfad 412 identifiziert die korrekten Aufgaben, aber keinen der Schlitze. Ein unterer dünner Pfad 414, (der Teile mit dem Viterbi-Pfad 410 gemeinsam hat), identifiziert den Teilnehmer (attendee), aber nicht den Anfangszeit-Schlitz. Er behandelt "at five" als die Postambel für den Teilnehmer. Die Log-Probabilität für jeden der in 14 gezeigten neun Übergänge ist im Folgenden für den Viterbi-Pfad 410 aufgelistet.
    • 1. log P(NewAppt) // Klassen-Priorität
    • 2. log b(New|<s>; NewApptCmd // Wort-Bigram
    • 3. log b(meeting| new; NewApptCmd // Wort-Bigram
    • 4. log b(<s>|meeting; NewApptCmd + // Wort-Bigram log a(Attendee|<s>; NewAppt // Schlitz-Bigram
    • 5. log b(with|<s>; PreAttendee // Wort-Bigram
    • 6. log b(<s>|with; PreAttendee // Wort-Bigram
    • 7. log Pcfg(Peter|<Person>) // PCFG
    • 8. 0
    • 9. log b(<s>|<s>; PostAttendee + // Wort-Bigram log a(StartTime|Attendee; NewAppt) // Schlitz-Bigram
  • Jeder gewünschte Einschränkungsmechanismus kann verwendet werden. Zum Beispiel sorgt ein Einschränkungsmechanismus dafür, dass in jeder Spalte des Gitters kein Übergang aus einem Knoten ausgeführt wird, wenn seine Punktzahl um einen Schwel lenwert (wie beispielsweise 5,0) niedriger als die maximale Punktezahl in der gleichen Spalte ist. Mit anderen Worten, ein Pfad wird nicht erweitert, wenn er 105 mal weniger wahrscheinlich als ein anderer ist, der zu einem Knoten in der gleichen Spalte führt. Die Decodiereinrichtung startet eine Größenordnung schneller als der robuste Syntaxanalysator nach dem Einschränken.
  • In Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung wird das zusammengesetzte Modell 351 nicht nur in einem Verständnissystem für natürliche Sprache verwendet, sondern kann auch in einem Spracherkennungssystem verwendet werden. In einer solchen Ausführungsform kann das Spracherkennungssystem sowohl Erkennen von Sprache als auch Verständnis von natürlicher Sprache in einem einzigen Durchgang durchführen.
  • 15 stellt ein Blockschaltbild eines veranschaulichenden Spracherkennungssystems 500 dar, in dem das zusammengesetzte Modell 351 verwendet wird. Da das zusammengesetzte Modell 351 in dem in 15 gezeigten Spracherkennungssystem implementiert ist, kann das System 500 selbstverständlich auch Verstehen von natürlicher Sprache sowie Erkennen von Sprache durchführen. Bevor dies ausführlicher beschrieben wird, wird eine kurze Erörterung des Gesamtbetriebs von System 500 bereitgestellt.
  • In 15 spricht ein Sprecher 501 in ein Mikrofon 504. Die vom Mikrofon 504 erfassten Audiosignale werden in elektrische Signale umgewandelt, die dem Analog-Digital-(A/D-) Wandler 506 zugeführt werden.
  • Der A/D-Wandler 506 wandelt das Analogsignal vom Mikrofon 504 in eine Reihe von digitalen Werten um. In einigen Ausführungsformen tastet der A/D-Wandler 506 das Analogsignal mit 16 kHz und 16 Bits pro Abtastung ab, wodurch 32 Kilobyte von Sprachdaten pro Sekunde erzeugt werden. Diese digitalen Werte werden einem Rahmenkonstruktor 507 (frame constructor) zugeführt, der in einer Ausführungsform die Werte in 25-Millisekunden-Rahmen gruppiert, die jeweils im Abstand von 10 Millisekunden beginnen.
  • Die vom Rahmenkonstruktor 507 erzeugten Datenrahmen werden der Merkmalsextraktionseinrichtung 508 (feature extractor) zugeführt, die ein Merkmal aus jedem Rahmen extrahiert. Beispiele für Merkmalsextraktionsmodule umfassen Module zum Durchführen von Linear Predictive Coding (LPC), LPC-abgeleitetes Cepstrum, Perceptive Linear Prediction (PLP), Merkmalsextraktion für auditorisches Modell (Auditory model feature extraction) und Mel-Frequency Cepstrum Coefficients-(MFCC) Merkmalsextraktion. Es ist anzumerken, dass die Erfindung nicht auf diese Merkmalsextraktionsmodule begrenzt ist, und dass andere Module innerhalb des Kontexts der vorliegenden Erfindung verwendet werden können.
  • Das Merkmalsextraktionsmodul 508 erzeugt einen Strom von Merkmalsvektoren, die jeder mit einem Rahmen des Sprachsignals verknüpft sind. Dieser Strom von Merkmalsvektoren wird einer Decodiereinrichtung 512 zugeführt, die eine wahrscheinlichste Reihung von Wörtern auf Basis des Stroms von Merkmalsvektoren, eines Lexikons 514, des Sprachmodells 351 und des akustischen Modells 518 identifiziert. Das zum Decodieren verwendete spezielle Verfahren ist für die vorliegende Erfindung nicht von Bedeutung.
  • Die wahrscheinlichste Reihung von Hypothese-Wörtern kann einem optionalen Konfidenzmessungsmodul 520 zugeführt werden. Das Konfidenzmessungsmodul 520 identifiziert, welche Wörter am wahrscheinlichsten unpassend von der Spracherkennungseinrichtung identifiziert worden sind. Dies kann teilweise auf einem (nicht gezeigten) sekundären akustischen Modell basieren. Das Konfidenzmessungsmodul 520 führt dann die Reihung von Hypothese-Wörtern einem Ausgabemodul 522 zusammen mit Identifikatoren zu, die angeben, welche Wörter unpassend identifiziert worden sein können. Der Fachmann wird erkennen, dass das Konfidenzmessungsmodul 520 für die Ausübung des vorliegenden Patents nicht notwendig ist.
  • Während des Trainings wird ein Sprachsignal, das einem Trainingstext 526 entspricht, in den Trainer 524 [YW1] zusammen mit einer lexikalischen Umschreibung des Trainingstexts 526 eingegeben. Der Trainer 524 trainiert das akustische Modell 518 auf Basis der Trainingseingaben. Das Training des zusammengesetzten Sprachmodells 351 ist oben erläutert.
  • Wie ebenfalls oben erörtert, verwendet das Modell 351 einen statistischen Teil, (der zum Beispiel unter Verwendung der Technologie des Hidden-Markov-Modells implementiert wurde), um die strukturellen Informationen eines Anwendungsschemas zu codieren, und verwendet einen regelbasierten Teil, (der zum Beispiel unter Verwendung der CFG-Technologie implementiert wurde), um die Ausgaben einiger HMM-Zustände zu modellieren. 1617B veranschaulichen die Topologie eines Modells so, dass eine Diskussion darüber erleichtert wird, wie das Modell in einer Endzustandsdarstellung in kompakter Weise dargestellt werden kann, selbst wenn es nicht gesehene Wörter berücksichtigt.
  • 16 ist eine veranschaulichende Ausführungsform eines anderen Anwendungsschemas 600. Das Schema 600 stellt einfach fest, dass die Anwendung zwei Typen von Informationsanfragen unterstützt: diejenigen nach Fluginformationen, (die ShowFlight-Aufgabe), und diejenigen nach Bodentransport-Informationen, (die GroundTransport-Aufgabe). Um Fluginformationen zu erhalten, muss ein Benutzer Informationen über den Ankunftsort-(ACity) und/oder den Abflugort-(DCity) Schlitz bereitstellen, damit das System nach den Informationen gemäß den Spezifikationen des Benutzers suchen kann. Der Typ eines Schlitzes spezifiziert die Anforderung für seine "Füller". Sowohl für den ACity- als auch den DCity-Schlitz muss der Füller ein Ausdruck sein, der in der Grammatik-Bibliothek modelliert ist, die auf ein Objekt des Typs "City" verweist.
  • 17A und 17B zeigen einen statistischen Modellteil, (ein HMM), der die semantischen Einschränkungen des Schemas 600 in eine regelbasierte Grammatik zum Verständnis von natürlicher Sprache, (wie beispielsweise eine CFG), integriert. 17A veranschaulicht eine Struktur oberster Ebene 602, die zwei Verzweigungen aufweist, wobei eine zum untergeordneten ShowFlight-Netzwerk 604 führt, und die andere zum untergeordneten GroundTransport-Netzwerk 606 führt. Die Übergangsgewichtungen von jeder der Verzweigungen sind die Probabilitäten für die zwei Aufgaben. Daher entspricht die Übergangsgewichtung vom S-Knoten zum untergeordneten ShowFlight-Netzwerk 604 der Probabilität einer ShowFlight-Aufgabe (oder eines Befehls), während die Übergangs-Probabilität zum untergeordneten GroundTransport-Netzwerk 606 der Probabilität einer GroundTransport-Aufgabe entspricht.
  • 17B veranschaulicht das Modell des untergeordneten ShowFlight-Netzwerks 604 in größerem Detail, und die Verwendung des Modells des untergeordneten Netzwerks wird von 17C veranschaulicht. Das in 17B gezeigte Modell des untergeordneten ShowFlight-Netzwerks modelliert die linguistischen Ausdrücke, die Benutzer verwenden können, um einen ShowFlight-Befehl auszugeben. Das Modell des untergeordneten Netzwerks beginnt mit einem Befehls-Teil, (wie beispielsweise "Show me the flight"), auf den die Ausdrücke für Schlitze folgen. Jeder Schlitz wird von einer Präambel und einer Postambel eingeklammert, die als der linguistische Kontext für den Schlitz dienen. Zum Beispiel ist das Wort "from" eine Präambel für den DCity-Schlitz. Es signalisiert, dass der darauf folgende Ort wahrscheinlich ein Abflugort ist. Die Schlitze sind untereinander verbunden, und die Verbindungen sind mit der Bigram-Probabilität, die aus den Trainingsdaten geschätzt wird, für Schlitzübergänge gewichtet.
  • In dem Modell des untergeordneten Netzwerks 604 werden der Befehl, Präambeln und Postambeln mit statistischen N-Gram-Modellen modelliert. Diese werden durch die ovalen Teile in dem Modell des untergeordneten Netzwerks 604 veranschaulicht. Die Schlitz-Füller werden mit probabilistischen CFG-Regeln aus einer Grammatik-Bibliothek modelliert. Diese werden durch die Rechtecke veranschaulicht, die im Modell des untergeordneten Netzwerks 604 gezeigt sind. Die Probabilitäten für die Regeln in der Grammatik-Bibliothek werden veranschaulichend unter Verwendung von domänenspezifischen Daten abgestimmt und geglättet. Die N-Grame in dem Modell 604 werden mit teilweise gekennzeichneten Trainingsdaten trainiert. Wie oben erläutert, kann der EM-Algorithmus zum Trainieren der N-Grame in dem Netzwerk verwendet werden, in dem die Zuordnungen als verborgene Variablen behandelt werden.
  • Im Gegensatz zur vorherigen robusten Verständnis-Technologie, die auf einem robusten Syntaxanalysator beruhte, um die von einer Grammatik nicht abgedeckten Wörter zu überspringen, macht die Verwendung von N-Gram-Modellen für die Präterminals in einer Grammatik das Modell in sich selbst robust. Dies ermöglicht ein Merkmal der vorliegenden Erfindung, die das zusammengesetzte Modell 351, (von dem eine Ausführungsform in 17A und 17B gezeigt ist), nicht nur zum Verständnis von natürlicher Sprache, sondern auch zur Spracherkennung verwendet. Dieses überwindet den nicht optimalen Ansatzweg mit zwei Durchgängen, der in bisherigen Systemen verwendet worden ist, um Spracherkennung und Verständnis von natürlicher Sprache zu erhalten, und es verwendet bisherige Kenntnisse, so dass es besser als bisherige Systeme verallgemeinern kann.
  • Um das Modell 351 jedoch in einem Spracherkennungssystem, (wie beispielsweise in einem in 15 gezeigten Sprachmodell zu verwenden, wird das Modell zuerst in ein Format umgewandelt, das die Decodiereinrichtung 512 als ihr Sprachmodell akzeptieren kann. Deshalb werden die statistischen N-Gram-Modelle, die zum Modellieren des Befehls, von Präambeln und Postambeln verwendet werden, (d.h. diejenigen N-Grame innerhalb der CFG), in probabilistische Endzustands-Automaten umgewandelt. Die umgewandelten N-Grame und die HMM-Struktur der obersten Ebene, (wie beispielsweise 602, in 17A gezeigt), bilden zusammen mit den Regeln in der Bibliotheks-Grammatik ein probabilistisches kontextfreies Grammatik-(PCFG) Sprachmodell. Diese Umwandlung basiert auf einem bekannten Umwandlungs-Algorithmus, wie beispielsweise demjenigen, der in Riccardi, G., und andere, STOCHASTIC AUTOMATA FOR LANGUAGE MODELING, Computer Speech and Language, 10; Seite 265–293 (1966) dargelegt ist, welches auch einheitliche lineare Nicht-Berücksichtigung (discounting) offenbart. Eine bedeutende Modifizierung wird jedoch an dem herkömmlichen Algorithmus vorgenommen, um die Größe des Modells bedeutend zu reduzieren. Dies wird durch 18A, 18B und 18C veranschaulicht. 18A und 18C veranschaulichen Endzustandsdarstellungen der Bigram-Sprachmodelle für zwei Präterminals, von denen jedes mit zwei beobachteten Wörtern trainiert worden ist, (die jeweils mit a, b und c, d bezeichnet sind). Die Bezeichnung auf jedem Bogen in dem Modell veranschaulicht das Gewichtungs- und Ausgabe-Symbol. Der Buchstabe I stellt den Ausgangszustand dar, wogegen der Buchstabe O den Backoff-Zustand darstellt und der Buchstabe F den Endzustand darstellt. 18B ist eine Endzustandsdarstellung einer gemeinsam genutzten einheitliche Verteilung, die verwendet wird, um eine Backoff-Probabilität zu nicht gesehenen Wörter zuzuordnen, (d.h. denjenigen Wörtern, die in den Trainingsdaten für das spezifische N-Gram-Modell, wie in 18A gezeigt, nicht gesehen worden sind).
  • Zum Veranschaulichen der Arbeitsweise des in 18A gezeigten Modells sollen die Probabilitäten betrachtet werden, die mit einer Äußerung des Worts "a", das von der Äußerung des Worts "b" gefolgt wird, verknüpft sind. Dies entspricht einer Kombination der folgenden Probabilitäten:
    P(a|<s>) : a
    P(b|a) : b
    Pr(<s>|b)
  • Die erste Probabilität ist die N-Gram-Probabilität des Worts "a" nach dem Satzanfang-Symbol. Dies entspricht dem Übergang vom Ausgangszustand I zum Zustand a. Die zweite Probabilität ist die Probabilität des Worts "b" nach dem Wort "a", die am Übergang vom Zustand a zum Zustand b gekennzeichnet ist. Die dritte Probabilität ist die Probabilität des Satzende-Symbols nach dem Wort "b", die am Übergang vom Zustand b zum Endzustand F gekennzeichnet ist. Die sequenziellen Übergänge bilden einen Pfad in der Endzustands-Maschine, welche die Äußerung "a b" akzeptiert und die Probabilität der Äußerung durch Multiplizieren der Probabilitäten der Übergänge in dem Pfad berechnet.
  • Einer Äußerung einer Wortreihung, die in den Trainingsdaten nicht beobachtet worden ist, ordnet die Endzustands-Maschine die Probabilität O nicht zu. Stattdessen durchquert ein Pfad den Backoff-Zustand, und verwendet das Produkt aus der Backoff-Gewichtung und der Unigram-Probabilität als die Bigram-Probabilität des nicht gesehenen Ereignisses. Zum Beispiel wird die Probabilität der Äußerung "a a" über den folgenden Pfad in 18A berechnet:
    I → a P(a|<s>) : a
    a → O B(a) : ε
    O → a P(a) : a
    a → F P(</s>|a).
  • Hier ist P(a|a) = B(a)·P(a) > 0, auch wenn das Bigram "a a" in den Trainingsdaten nicht beobachtet wird.
  • Einer Äußerung eines Worts, das in den Trainingsdaten für das spezielle modellierte N-Gram nicht gesehen wird, wird, wenn das Wort sich im Vokabular befindet, eine Probabilität mit Backoff zu der einheitlichen Probabilität 1/|V| zugeordnet, wobei |V| die Vokabulargröße ist. In bisherigen Systemen führt dies zu einer Eigenschleife (self-loop) über den Backoff-Zustand O für jedes nicht gesehene Wort. Weil die Trainingsdaten für jedes N-Gram in dem zusammengesetzten Modell relativ dürftig sein können, werden viele Wörter in dem Vokabular, das mit dem Modell verknüpft ist, in den Trainingsdaten für jedes N-Gram nicht gesehen. Weil das Modell 351 veranschaulichenderweise ein Vokabular unterstützt, das eine große Anzahl von Wörtern aufweist, (veranschaulichenderweise mehrere Hundert), und weil das Modell auch eine große Anzahl von N-Gramen aufweist, (ebenfalls veranschaulichenderweise mehrere Hundert), wäre die Anzahl von Eigenschleifen durch den Backoff-Zustand O in dem gesamten zusammengesetzten Modell sehr groß.
  • In Übereinstimmung mit einer veranschaulichenden Ausführungsform der vorliegenden Erfindung umfassen die N-Gram-Modelle im zusammengesetzten Modell 351, wie beispielsweise dem in 18A gezeigten), deshalb eine einzelne Schleife 620 [YW2] durch den Backoff-Zustand O, statt eine Schleife für jedes nicht gesehene Wort hinzufügen. Die einzelne Schleife 620 nimmt auf ein gemeinsam genutztes einheitliches Verteilungs-Modell Bezug, wie beispielsweise das in 18B gezeigte.
  • In dem in 18B gezeigten einheitlichen Verteilungs-Modell bezieht sich der Buchstabe n auf die Anzahl von Wörtern in dem Vokabular, wobei sich w1 auf das erste Wort "a" bezieht; w2 bezieht sich auf das zweite Wort "b" usw. Somit wird das Modell für jedes nicht gesehene Wort, statt eine Schleife über den Backoff-Zustand auszuführen, annähernd mit der Eigenschleife, die mit der einheitlichen Verteilung bezeichnet ist, über den Backoff-Zustand O geglättet. Das in 18B gezeigte einheitliche Verteilungs-Modell wird für alle N-Grame in dem zusammengesetzten Modell 351 gemeinsam genutzt. Jedes der N-Grame hat einfach eine Schleife, ähnlich wie die in 18A gezeigte Schleife 620, die auf das in 18B gezeigte einheitliche Verteilungs-Modell Bezug nimmt. Dies ist in 18C dargestellt. Dies spart eine beachtliche Menge Platz in dem Modell 351, wodurch es viel kompakter wird als bisherige Systeme.
  • Es ist somit ersichtlich, dass verschiedene Ausführungsformen der vorliegenden Erfindung nicht nur einen statistischen Modell-Teil für Präterminais enthalten, sondern auch einen regelbasierten Grammatikteil zum Füllen der Schlitze aufweisen, und dieses zusammengesetzte Modell wird in der Spracherkennung oder der Kombination von Systemen zur Spracherkennung und zum Verständnis von natürlicher Sprache verwendet. Dies reduziert Unzulänglichkeiten, die mit nicht optimalen Systemen mit zwei Durchgängen verknüpft sind, in hohem Maße und nimmt auch bisheriges Wissen in dem Sprachmodell auf, um den Mangel an Sprachmodell-Trainingsdaten auszugleichen, (d.h. um die Spärlichkeit von Daten zu behandeln). Der kombinierte Ansatz reduziert auch die gesamte Verständnis-Fehlerrate. Die Erfindung umfasst auch das Glätten von N-Gram-Modellen, indem auf ein separates einheitliches Verteilungs-Modell Bezug genommen wird, statt Eigenschleifen über den Backoff-Zustand in dem N-Gram-Modell zu verwenden. Damit wird die Größe des Modells reduziert, wodurch es kompakter wird.
  • Obwohl die vorliegende Erfindung unter Bezugnahme auf bestimmte Ausführungsformen beschrieben worden ist, wird der Fachmann erkennen, dass hinsichtlich Form und Detail Änderungen vorgenommen werden können, ohne vom Umfang der Erfindung, wie durch die Ansprüche definiert, abzuweichen.

Claims (14)

  1. Sprachverarbeitungssystem, das umfasst: ein akustisches Modell (518); ein zusammengesetztes Sprachmodell (351), das einen regelbasierten Modellteil (325), eine Vielzahl statistischer Modellteile (326, 18A, 18C) und ein separates gemeinsam genutztes Backoff-Modell einheitlicher Verteilung (18B) enthält, wobei jeder statistische Modell-Teil (326, 18A, 18C) einen Bezug zu dem separaten gemeinsam genutzten Backoff-Modell enthält; und eine Decodiereinrichtung (512), die mit dem akustischen Modell (518) und dem zusammengesetzten Sprachmodell (351) gekoppelt und so konfiguriert ist, dass sie Teile einer Eingabe (400) in natürlicher Sprache auf Präterminals und Schlitze, die aus einem Schema (206) hergeleitet werden, auf Basis des akustischen Modells (518) und des zusammengesetzten Sprachmodells (351) abbildet.
  2. Sprachverarbeitungssystem nach Anspruch 1, wobei die Decodiereinrichtung (512) so konfiguriert ist, dass sie Teile der natürlichen Spracheingabe (400) auf den Schlitzen auf Basis des regelbasierten Modell-Teils (325) des zusammengesetzten Sprachmodells (351) abbildet.
  3. Sprachverarbeitungssystem nach Anspruch 1, wobei die Decodiereinrichtung (512) so konfiguriert ist, dass sie Teile der natürlichen Spracheingabe (400) auf den Präterminals auf Basis der Vielzahl statistischer Modell-Teile (326, 340344) des zusammengesetzten Sprachmodells (351) abbildet.
  4. Sprachverarbeitungssystem nach Anspruch 1, wobei die Vielzahl statistischer Modellabschnitte (326, 340344) des zusammengesetzten Sprachmodells (351) umfasst: eine Vielzahl statistischer N-Gram-Modelle (326), wobei ein statistisches N-Gram-Modell jedem Präterminal entspricht.
  5. Sprachverarbeitungssystem nach Anspruch 4, wobei das zusammengesetzte Sprachmodell (351) ein Vokabular aus Wörtern unterstützt, die statistischen N-Gram-Modelle (326) auf Basis von Trainingsdaten (208) trainiert werden und Wörter in dem Vokabular, die nicht verwendet werden, um ein spezifisches statistisches N-Gram-Modell (326) zu trainieren, ungesehene Worte für das spezifische statistische N-Gram-Modell umfassen.
  6. Sprachverarbeitungssystem nach Anspruch 5, wobei der statistische Modell-Teil (326) des zusammengesetzten Sprachmodells (351) des Weiteren umfasst: einen Backoff-Modell-Teil (18B), der so konfiguriert ist, dass er, wenn darauf zugegriffen wird, einem Wort in dem Vokabular ein Backoff-Ergebnis (backoff score) zuordnet.
  7. Sprachverarbeitungssystem nach Anspruch 6, wobei jedes statistische N-Gram-Modell (326) einen Bezug zu dem Backoff-Modell-Teil (18B) für alle ungesehenen Worte enthält.
  8. Sprachverarbeitungssystem nach Anspruch 7, wobei der Backoff-Modell-Teil (18B) umfasst: ein N-Gram einheitlicher Verteilung, das jedem Wort in dem Vokabular ein einheitliches Ergebnis zuordnet.
  9. Sprachverarbeitungssystem nach Anspruch 1, wobei der regelbasierte Modell-Teil (325) umfasst: eine kontextfreie Grammatik (CFG).
  10. Verfahren zum Zuweisen von Probalitäten zu Wort-Hypothesen bei Sprachverarbeitung, das umfasst: Empfangen einer Wort-Hypothese; Zugreifen auf ein zusammengesetztes Sprachmodell (351) mit einer Vielzahl statistischer Modelle (326, 18A, 18C) und einer Vielzahl regelbasierter Modelle (325); Zuweisen einer N-Gram-Probabilität mit einem N-Gram-Modell zu der Wort-Hypothese, wenn die Wort-Hypothese einem Wort entspricht, das beim Trainieren des N-Gram-Modells gesehen wurde; und Bezugnehmen auf ein separates gemeinsam genutztes Backoff-Modell einheitlicher Verteilung (18B) für die Wort-Hypothese, wenn die Wort-Hypothese einem Wort entspricht, das beim Training des N-Gram-Modells nicht gesehen wurde; und Zuweisen einer Backoff-Probabilität zu jeder Wort-Hypothese, die einem nicht gesehenen Wort entspricht, mit dem Backoff-Modell.
  11. Verfahren nach Anspruch 10, das des Weiteren umfasst: Abbilden der Wort-Hypothese auf Schlitzen, die aus einem Eingabeschema (206) hergeleitet werden, auf Basis der regelbasierten Modelle (325) in dem zusammengesetzten Sprachmodell (351).
  12. Verfahren nach Anspruch 11, das des Weiteren umfasst: Abbilden der Wort-Hypothese auf Präterminalen, die aus dem Eingabeschema (206) hergeleitet werden, auf Basis von durch die N-Gram-Modelle (326) zugewiesenen Probabilitäten und des Backoff-Modells (18B) in dem zusammengesetzten Sprachmodell (351).
  13. Verfahren nach Anspruch 12, wobei Bezugnehmen auf das separate Backoff-Modell (18B) umfasst: Bezugnehmen auf ein N-Gram einheitlicher Verteilung.
  14. Verfahren nach Anspruch 13, wobei Zuweisen einer Backoff-Probabilität umfasst: Zuweisen eines Ergebnisses einheitlicher Verteilung zu jedem Wort in dem Vokabular.
DE602004004310T 2003-05-01 2004-04-30 System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen Expired - Lifetime DE602004004310T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/427,604 US7603267B2 (en) 2003-05-01 2003-05-01 Rules-based grammar for slots and statistical model for preterminals in natural language understanding system
US427604 2003-05-01
US718138 2003-11-20
US10/718,138 US20040220809A1 (en) 2003-05-01 2003-11-20 System with composite statistical and rules-based grammar model for speech recognition and natural language understanding

Publications (2)

Publication Number Publication Date
DE602004004310D1 DE602004004310D1 (de) 2007-03-08
DE602004004310T2 true DE602004004310T2 (de) 2007-05-10

Family

ID=32993987

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004004310T Expired - Lifetime DE602004004310T2 (de) 2003-05-01 2004-04-30 System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen

Country Status (6)

Country Link
EP (1) EP1475779B1 (de)
JP (1) JP2004334193A (de)
KR (1) KR20040094642A (de)
CN (1) CN1551103B (de)
AT (1) ATE352086T1 (de)
DE (1) DE602004004310T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100349206C (zh) * 2005-09-12 2007-11-14 周运南 文字语音互转装置
KR100784730B1 (ko) * 2005-12-08 2007-12-12 한국전자통신연구원 태깅된 도메인 코퍼스 없이 새로운 도메인에 적용 가능한통계적 hmm 품사 태깅 장치 및 방법
KR100718846B1 (ko) * 2006-11-29 2007-05-16 인하대학교 산학협력단 음성 검출을 위한 통계 모델을 적응적으로 결정하는 방법
US8494852B2 (en) * 2010-01-05 2013-07-23 Google Inc. Word-level correction of speech input
US8484025B1 (en) * 2012-10-04 2013-07-09 Google Inc. Mapping an audio utterance to an action using a classifier
US9786269B2 (en) 2013-03-14 2017-10-10 Google Inc. Language modeling of complete language sequences
CZ307393B6 (cs) * 2013-06-26 2018-07-25 Speechtech, S.R.O. Zařízení pro převod řeči do textu v reálném čase
US20160379630A1 (en) * 2015-06-25 2016-12-29 Intel Corporation Speech recognition services
CN105786971B (zh) * 2016-02-02 2019-06-11 宋继华 一种面向国际汉语教学的语法点识别方法
CN108288467B (zh) * 2017-06-07 2020-07-14 腾讯科技(深圳)有限公司 一种语音识别方法、装置及语音识别引擎
CN108010526B (zh) * 2017-12-08 2021-11-23 北京奇虎科技有限公司 语音处理方法及装置
US10902211B2 (en) * 2018-04-25 2021-01-26 Samsung Electronics Co., Ltd. Multi-models that understand natural language phrases
CN108962224B (zh) * 2018-07-19 2020-06-26 苏州思必驰信息科技有限公司 口语理解和语言模型联合建模方法、对话方法及系统
CN109087645B (zh) * 2018-10-24 2021-04-30 科大讯飞股份有限公司 一种解码网络生成方法、装置、设备及可读存储介质
CN111292751B (zh) * 2018-11-21 2023-02-28 北京嘀嘀无限科技发展有限公司 语义解析方法及装置、语音交互方法及装置、电子设备
CN109582776B (zh) * 2018-12-04 2021-07-09 北京羽扇智信息科技有限公司 模型的生成方法及装置、电子设备及存储介质
CN110377716B (zh) * 2019-07-23 2022-07-12 百度在线网络技术(北京)有限公司 对话的交互方法、装置及计算机可读存储介质
CN110517693B (zh) * 2019-08-01 2022-03-04 出门问问(苏州)信息科技有限公司 语音识别方法、装置、电子设备和计算机可读存储介质
CN112466292B (zh) 2020-10-27 2023-08-04 北京百度网讯科技有限公司 语言模型的训练方法、装置和电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2867695B2 (ja) * 1990-11-28 1999-03-08 日本電気株式会社 連続音声認識装置
JP3265864B2 (ja) * 1994-10-28 2002-03-18 三菱電機株式会社 音声認識装置
JP3009636B2 (ja) * 1996-05-16 2000-02-14 株式会社エイ・ティ・アール音声翻訳通信研究所 音声言語解析装置
US5797123A (en) * 1996-10-01 1998-08-18 Lucent Technologies Inc. Method of key-phase detection and verification for flexible speech understanding
US7031908B1 (en) * 2000-06-01 2006-04-18 Microsoft Corporation Creating a language model for a language processing system
US6865528B1 (en) * 2000-06-01 2005-03-08 Microsoft Corporation Use of a unified language model

Also Published As

Publication number Publication date
CN1551103A (zh) 2004-12-01
KR20040094642A (ko) 2004-11-10
EP1475779A1 (de) 2004-11-10
DE602004004310D1 (de) 2007-03-08
CN1551103B (zh) 2010-06-23
JP2004334193A (ja) 2004-11-25
EP1475779B1 (de) 2007-01-17
ATE352086T1 (de) 2007-02-15

Similar Documents

Publication Publication Date Title
DE602004004310T2 (de) System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen
DE69822296T2 (de) Mustererkennungsregistrierung in einem verteilten system
DE602005001125T2 (de) Erlernen der Aussprache neuer Worte unter Verwendung eines Aussprachegraphen
DE69818231T2 (de) Verfahren zum diskriminativen training von spracherkennungsmodellen
DE60123952T2 (de) Erzeugung von einem einheitlichen aufgabeabhängigen sprachmodell mittels informationsauffindungverfahren
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
DE69937176T2 (de) Segmentierungsverfahren zur Erweiterung des aktiven Vokabulars von Spracherkennern
DE60222093T2 (de) Verfahren, modul, vorrichtung und server zur spracherkennung
DE69908047T2 (de) Verfahren und System zur automatischen Bestimmung von phonetischen Transkriptionen in Verbindung mit buchstabierten Wörtern
DE602004012347T2 (de) Spracherkennung
DE69827988T2 (de) Sprachmodelle für die Spracherkennung
US7813926B2 (en) Training system for a speech recognition application
DE60004862T2 (de) Automatische bestimmung der genauigkeit eines aussprachewörterbuchs in einem spracherkennungssystem
DE60016722T2 (de) Spracherkennung in zwei Durchgängen mit Restriktion des aktiven Vokabulars
DE10111056B4 (de) Verfahren und Vorrichtungen zur Identifikation einer Nicht-Zielsprache in einem Spracherkennungssystem
EP0925578B1 (de) Sprachverarbeitungssystem und verfahren zur sprachverarbeitung
EP1217610A1 (de) Verfahren und System zur multilingualen Spracherkennung
DE102008040739A1 (de) Verfahren und System zum Berechnen oder Bestimmen von Vertrauens- bzw. Konfidenzauswertungen für Syntaxbäume auf allen Ebenen
DE19847419A1 (de) Verfahren zur automatischen Erkennung einer buchstabierten sprachlichen Äußerung
DE112014007123T5 (de) Dialogsteuersystem und Dialogsteuerverfahren
DE112010006037T5 (de) Spracherkennungsvorrichtung und Navigationssystem
EP1273003B1 (de) Verfahren und vorrichtung zum bestimmen prosodischer markierungen
DE60318385T2 (de) Sprachverarbeitungseinrichtung und -verfahren, aufzeichnungsmedium und programm
DE60133537T2 (de) Automatisches umtrainieren eines spracherkennungssystems
WO2006111230A1 (de) Verfahren zur gezielten ermittlung eines vollständigen eingabedatensatzes in einem sprachdialogsystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition