DE602004003609T2 - Lösung der Segmentierungsmehrdeutigkeit bei der Grammatikerstellung - Google Patents

Lösung der Segmentierungsmehrdeutigkeit bei der Grammatikerstellung Download PDF

Info

Publication number
DE602004003609T2
DE602004003609T2 DE602004003609T DE602004003609T DE602004003609T2 DE 602004003609 T2 DE602004003609 T2 DE 602004003609T2 DE 602004003609 T DE602004003609 T DE 602004003609T DE 602004003609 T DE602004003609 T DE 602004003609T DE 602004003609 T2 DE602004003609 T2 DE 602004003609T2
Authority
DE
Germany
Prior art keywords
segmentation
rules
rule
grammar
ambiguous
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
DE602004003609T
Other languages
English (en)
Other versions
DE602004003609D1 (de
Inventor
Yeyi Wang
Alejandro Acero
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of DE602004003609D1 publication Critical patent/DE602004003609D1/de
Application granted granted Critical
Publication of DE602004003609T2 publication Critical patent/DE602004003609T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01DHARVESTING; MOWING
    • A01D46/00Picking of fruits, vegetables, hops, or the like; Devices for shaking trees or shrubs
    • A01D46/24Devices for picking apples or like fruit
    • A01D46/247Manually operated fruit-picking tools
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01DHARVESTING; MOWING
    • A01D46/00Picking of fruits, vegetables, hops, or the like; Devices for shaking trees or shrubs
    • A01D46/22Baskets or bags attachable to the picker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)
  • Harvesting Machines For Root Crops (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)

Description

  • Hintergrund der Erfindung
  • Die Erfindung betrifft die Erstellung einer Grammatik. Die Erfindung betrifft insbesondere die Segmentierungsdisambiguierung in einem automatischen Grammatikautorensystem beziehungsweise Grammatikerstellungssystem.
  • Um die Entwicklung sprachbasierter Anwendungen und Dienste zu vereinfachen, werden gegenwärtig semantikbasierte robuste Verständnissysteme entwickelt. Derartige Systeme sind in gesprächsbasierten Forschungssystemen weit verbreitet. Sie sind jedoch bei der Verwendung seitens herkömmlicher Entwickler bei der Implementierung eines gesprächsbasierten Systems nicht sonderlich praktisch. Derartige Implementierungen beruhen bislang weitgehend auf der manuellen Entwicklung fachgebietsspezifischer Grammatiken. Diese Tätigkeit ist zeitraubend, fehleranfällig und bedarf einer erheblichen Menge an Fachwissen auf dem jeweiligen Fachgebiet.
  • Um die Entwicklung sprachbasierter Anwendungen und Dienste voranzubringen, wurden beispielsbasierte Grammatikerstellungswerkzeuge eingeführt. Ein derartiges Werkzeug ist unter der Bezeichnung „SGStudio" bekannt und wird näher in dem Beitrag „Grammar Learning for Spoken Language Understanding" von Y. Wang und A. Acero, veröffentlicht bei IEEE Workshop on Automatic Speech Recognition and Understanding, Madonna Di Campiglio, Italien 2001, sowie in dem Beitrag „Evaluation of Spoken Language Grammar Learning in Atis Domain" von Y. Wang und A. Acero, veröffentlicht bei Proceedings of ICASSP, Orlando, Florida 2002, beschrieben. Dieses Werkzeug vereinfacht die Entwicklung einer Grammatik stark, indem es sich der Vorteile zahlreicher verschiedener älterer Informationsquellen bedient. Es versetzt darüber hinaus einen durchschnittlichen Entwickler, der über wenig linguistische Kenntnisse verfügt, in die Lage, eine semantische Grammatik für das Verständnis gesprochener Sprache zu erstellen. Das System vereinfacht die halbautomatische Erzeugung vergleichsweise hochqualitativer semantischer Grammatiken auf Basis einer geringen Menge von Daten. Darüber hinaus verringert das Werkzeug nicht nur den bei der Entwicklung einer Grammatik notwendigen Aufwand beträchtlich, sondern verbessert darüber hinaus auch die Verständnisgenauigkeit auf verschiedenen Fachgebieten.
  • Gleichwohl kann auch dieses Werkzeug noch verbessert werden. Es wendet sich häufig an den Anwender, wenn Ambiguitäten aufzulösen sind, um die Grammatikregeln zu induzieren. Dies kann störend sein und die Entwicklung der Grammatik verlangsamen.
  • Zusammenfassung der Erfindung
  • Es wird eine regelbasierte Grammatik gemäß Beanspruchung in den beigefügten Ansprüchen erzeugt Segmentierungsambiguitäten werden in Trainingsdaten identifiziert. Umformregeln für die ambigen Segmentierungen werden aufgelistet, und es werden Probabilitäten für jede erzeugt. Die Ambiguitäten werden auf Basis der Probabilitäten aufgelöst. Bei einem Ausführungsbeispiel erfolgt dies unter Anwendung des EM-Algorithmus (expectation maximization EM, Erwartungsmaximierung).
  • Kurzbeschreibung der Zeichnung
  • 1 ist ein Blockdiagramm einer beispielhaften Umgebung, in der die vorliegende Erfindung verwendet werden kann.
  • 2A ist ein Blockdiagramm eines Ausführungsbeispieles einer Modellerstellungskomponente entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 2B zeigt ein Beispielsschema.
  • 2C zeigt eine Beispielsmenge von Regeln, die für das Beispielsschema erzeugt worden ist.
  • 2D zeigt ein Beispiel eines annotierten Satzes.
  • 2E zeigt einen beispielhaften Parsingbaum.
  • 2F zeigt eine Tabelle möglicher Vorbegriffe für Worte in Beispielen.
  • 2G ist eine Tabelle mit Umformregeln mit zugehörigen Zählwerten und Probabilitäten.
  • 3A ist ein Blockdiagramm, das eine Grammatikerstellungskomponente detaillierter darstellt.
  • 3B ist ein Flussdiagramm, das den Betrieb der Grammatikerstellungskomponente von 3A darstellt.
  • Detailbeschreibung dargestellter Ausführungsbeispiele
  • Die vorliegende Erfindung befasst sich mit einem Grammatikerstellungswerkzeug. Insbesondere befasst sich die vorliegende Erfindung mit der automatischen Disambiguierung von Segmentierungen während der Erstellung der Grammatik. Vor der Erläuterung der vorliegenden Erfindung wird jedoch noch eine Beispielsumgebung beschrieben, in der die vorliegende Erfindung verwendet werden kann.
  • 1 zeigt ein Beispiel einer geeigneten Computersystemumgebung 100, in der die Erfindung implementiert sein kann. Die Computersystemumgebung 100 ist lediglich ein Beispiel für eine geeignete Computerumgebung und soll keinerlei Beschränkung mit Blick auf den Anwendungsbereich oder die Funktionalität der Erfindung beinhalten. Ebenso wenig darf die Computerumgebung 100 dergestalt interpretiert werden, dass eine Abhängigkeit oder Notwendigkeit im Zusammenhang mit einer Kombination der in der beispielhaften Betriebsumgebung 100 dargestellten Komponenten gegeben ist.
  • Die Erfindung kann bei zahlreichen weiteren Allzweck- oder Spezialzweckcomputersystemumgebungen oder Konfigurationen eingesetzt werden. Beispiele für bekannte Computersysteme, Umgebungen und/oder Konfigurationen, die für eine Verwendung mit der Erfindung geeignet sind, umfassen unter anderem Personalcomputer, Servercomputer, handbasierte oder Laptopvorrichtungen, Multiprozessorsysteme, mikroprozessorbasierte Systeme, Settopboxen, programmierbare Verbraucherelektronikgeräte, Netzwerk-PCs, Minicomputer, Mainframecomputer, verteilte Computerumgebungen, die beliebige der vorgenannten Systeme oder Vorrichtungen enthalten, und dergleichen mehr.
  • Die Erfindung kann im allgemeinen Zusammenhang computerausführbarer Anweisungen, so beispielsweise in Form von Programmmodulen, beschrieben werden, die von einem Computer ausgeführt werden. Im Allgemeinen umfassen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen und dergleichen mehr, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren.
  • Die Erfindung kann auch in verteilten Computerumgebungen realisiert werden, in denen Aufgaben von entfernt angeordneten Verarbeitungsvorrichtungen ausgeführt werden, die mittels eines Kommunikationsnetzwerkes angeschlossen sind. In einer verteilten Computerumgebung können die Programmmodule sowohl in lokalen wie auch in entfernt angeordneten Computerspeichermedien, darunter Speicherablagevorrichtungen, befindlich sein.
  • Wie in 1 dargestellt ist, umfasst ein als Beispiel angegebenes System zur Implementierung der Erfindung eine Allzweckcomputervorrichtung in Form eines Computers 110. Die Komponenten des Computers 110 können unter anderem eine Verarbeitungseinheit 120, einen Systemspeicher 130 und einen Systembus 121 umfassen, der verschiedene Systemkomponenten, darunter den Systemspeicher und die Verarbeitungseinheit 120, verbindet. Der Systembus 121 kann eine Busstruktur eines beliebigen Typs aufweisen, darunter einen Speicherbus oder einen Speicherkontroller, einen Peripheriebus und einen lokalen Bus, und dies unter Verwendung einer beliebigen Busarchitektur aus einer Mehrzahl von Busarchitekturen. Zu diesen Architekturen zählen beispielsweise unter anderem der ISA-Bus (Industry Standard Architecture ISA, Industriestandardarchitektur), der MCA-Bus (Micro Channel Architecture MCA, Mikrokanalarchitektur), der EISA-Bus (Enhanced Industry Standard Architecture EISA, weiterentwickelte Industriestandardarchitektur}, der lokale VESA-Bus (Video Electronics Standards Association VESA, Verband für Standards der Videoelektronik) und der PCI-Bus (Peripheral Component Interconnect PCI, Anschluss von Peripheriekomponenten), der auch als Mezzanin-Bus bekannt ist.
  • Der Computer 110 umfasst üblicherweise eine Mehrzahl computerlesbarer Medien. Die computerlesbaren Medien können beliebige verfügbare Medien sein, auf die seitens des Computers 110 zugegriffen werden kann und zu denen sowohl flüchtige wie auch nichtflüchtige, entfernbare wie auch nichtentfernbare Medien zählen. Beispielsweise, jedoch nicht hierauf beschränkt, können zu den computerlesbaren Medien Computerspeichermedien und Kommunikationsmedien zählen. Zu den Computerspeichermedien zählen sowohl flüchtige wie auch nichtflüchtige, sowohl entfernbare wie auch nichtentfernbare Medien, die mittels eines beliebigen Verfahrens oder einer beliebigen Technologie zur Speicherung von Information implementiert sind, so beispielsweise als computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Zu den Computerspeichermedien zählen, jedoch nicht hierauf beschränkt, RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, CD-ROM, DVDs (Digital Versatile Disc DVD, vielseitige Digitalscheibe) oder ein anderer optischer Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher und andere Magnetspeichervorrichtungen oder ein beliebiges anderes Medium, das zur Speicherung der gewünschten Information verwendet werden und auf das der Computer 100 zugreifen kann. Das Kommunikationsmedium verkörpert üblicherweise computerlesbare Anweisungen. Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, so beispielsweise eine Trägerwelle oder einen anderen Transportmechanismus, und umfasst beliebige Informationsverteilungsmedien. Der Begriff „moduliertes Datensignal" bezeichnet ein Signal, bei dem eine oder mehrere seiner Eigenschaften auf eine Weise eingestellt oder verändert sind, dass Information in dem Signal verschlüsselt ist. Zu den Kommunikationsmedien zählen beispielsweise, jedoch nicht hierauf beschränkt, verdrahtete Medien, so beispielsweise ein verdrahtetes Netzwerk oder eine direkt verdrahtete Verbindung, wie auch drahtlose Medien, so beispielsweise akustische, FR-technische, infrarote und andere drahtlose Medien. Kombinationen aus beliebigen der vorstehend aufgeführten Komponenten sollen ebenfalls zu den computerlesbaren Medien zählen.
  • Der Systemspeicher 130 umfasst Computerspeichermedien in Form von flüchtigen und/oder nichtflüchtigen Speichern, so beispielsweise einen Nurlesespeicher (ROM) 131 und einen Speicher mit wahlfreiem Zugriff (RAM) 132. Ein grundlegendes Eingabe/Ausgabe-System BIOS 133 (basic input output system), das die grundlegenden Routinen enthält, die die Übertragung von Informationen zwischen Elementen im Inneren des Computers unterstützen, so beispielsweise während des Hochfahrens, ist üblicherweise in dem ROM 131 gespeichert. Der RAM 132 enthält üblicherweise Daten und/oder Programmmodule, auf die unmittelbar durch die Verarbeitungseinheit 120 zugegriffen werden kann und/oder die gerade von der Verarbeitungseinheit 120 verarbeitet werden. Als Beispiel, das keinerlei Beschränkung beinhaltet, zeigt 1 ein Betriebssystem 134, Anwendungsprogramme 135, weitere Programmmodule 136 und Programmdaten 137.
  • Der Computer 110 kann darüber hinaus andere entfernbare/nichtentfernbare flüchtige/nichtflüchtige Computerspeichermedien umfassen. 1 zeigt beispielhalber ein Festplattenlaufwerk 141, das Daten von nichtentfernbaren, nichtflüchtigen magnetischen Medien liest oder die Daten auf diese schreibt, ein Magnetplattenlaufwerk 151, das Daten von einer entfernbaren, nichtflüchtigen Magnetplatte 152 liest oder die Daten auf diese schreibt, und ein Optikplattenlaufwerk 155, das Daten von einer entfernbaren nichtflüchtigen optischen Platte 156 liest oder die Daten auf diese schreibt, so beispielsweise eine CD-ROM oder andere optische Medien. Weitere entfernbare/nichtentfernbare flüchtige/nichtflüchtige Computerspeichermedien, die in der als Beispiel angegebenen Betriebsumgebung Verwendung finden können, umfassen beispielsweise, jedoch nicht hierauf beschränkt, Magnetbandkassetten, Flash-Speicherkarten, DVDs, digitale Videobänder, Festplatten-RAMs, Festplatten-ROMs und dergleichen mehr. Das Festplattenlaufwerk 141 ist üblicherweise mit dem Systembus 121 über eine nichtentfernbare Speicherschnittstelle, so beispielsweise die Schnittstelle 140, verbunden. Das Magnetplattenlaufwerk 151 und das Optikplattenlaufwerk 155 sind üblicherweise mit dem Systembus 121 über eine entfernbare Speicherschnittstelle, so beispielsweise die Schnittstelle 150, verbunden.
  • Die Laufwerke und die vorstehend erläuterten und in 1 dargestellten zugehörigen Computerspeichermedien stellen einen Speicher für computerlesbare Anweisungen, Datenstrukturen, Programmmodule und andere Daten für den Computer 110 bereit. In 1 sind beispielsweise ein Festplattenlaufwerk 141 als Speicherbetriebssystem 144, Anwendungsprogramme 145, weitere Programmmodule 146 und Programmdaten 147 dargestellt. Man beachte, dass diese Komponenten entweder die gleichen wie das Betriebssystem 134, die Anwendungsprogramme 135, die weiteren Programmmodule 136 und die Programmdaten 137 sein können, sich von diesen jedoch auch unterscheiden können. Das Betriebssystem 144, die Anwendungsprogramme 145, die weiteren Programmmodule 146 und die Programmdaten 147 sind hier mit verschiedenen Nummern versehen, um darzulegen, dass es sich zumindest um verschiedene Kopien handelt.
  • Ein Anwender kann Befehle und Informationen in den Computer 110 über Eingabevorrichtungen eingeben, so beispielsweise eine Tastatur 162, ein Mikrofon 163 und eine Zeigevorrichtung 161, so beispielsweise eine Maus, einen Trackball oder eine berührungsempfindliche Fläche (Touchpad). Weitere Eingabevorrichtungen (nicht gezeigt) können einen Joystick, einen Gamepad, eine Satellitenschüssel, einen Scanner und dergleichen mehr umfassen. Diese und andere Eingabevorrichtungen sind oftmals mit der Verarbeitungseinheit 120 über eine Anwendereingabeschnittstelle 160 verbunden, die wiederum mit dem Systembus verbunden ist; sie können jedoch auch mit einer anderen Schnittstelle und anderen Busstrukturen verbunden sein, so beispielsweise einem Parallelport, einem Gameport oder einen universellen seriellen Bus (universal serial bus USB). Ein Monitor 191 oder eine andere Art von Anzeigevorrichtung ist zudem mit dem Systembus 121 über eine Schnittstelle, so beispielsweise eine Videoschnittstelle 190, verbunden. Zusätzlich zu dem Monitor können die Computer auch andere Peripherie ausgabevorrichtungen umfassen, so beispielsweise Lautsprecher 197 und einen Drucker 196, die über eine Ausgabeperipherieschnittstelle 190 angeschlossen sind.
  • Der Computer 110 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen mit einem oder mehreren entfernt angeordneten Computern arbeiten, so beispielsweise als entfernt angeordneter Computer 180. Der entfernt angeordnete Computer 180 kann ein Personalcomputer, eine handbasierte Vorrichtung, ein Server, ein Router, ein Netzwerk-PC, eine Peervorrichtung oder ein anderer gängiger Netzwerkknoten sein und umfasst üblicherweise viele oder alle der vorstehend im Zusammenhang mit dem Computer 110 beschriebenen Elemente. Die in 1 dargestellten logischen Verbindungen umfassen ein Ortsbereichsnetzwerk (LAN) 171 und ein Großbereichsnetzwerk (WAN) 173, können jedoch auch weitere Netzwerke umfassen. Derartige Netzwerkumgebungen sind in Büros, unternehmensweiten Computernetzwerken, Intranets und dem Internet weit verbreitet.
  • Bei Verwendung in einer LAN-Netzwerkumgebung ist der Computer 110 mit dem LAN 171 über eine Netzwerkschnittstelle oder einen Adapter 170 verbunden. Bei Verwendung in einer WAN-Netzwerkumgebung umfasst der Computer 110 üblicherweise ein Modem 172 oder andere Mittel zum Aufbauen von Datenaustauschverbindungen über das WAN 173, so beispielsweise das Internet. Das Modem 172, das ein internes oder externes Modem sein kann, kann mit dem Systembus 121 über die Anwendereingabeschnittstelle 160 oder einen anderen geeigneten Mechanismus verbunden sein. In einer vernetzten Umgebung können die im Zusammenhang mit dem Computer 110 dargestellten Programmmodule oder Teile hiervon in der entfernt angeordneten Speicherablagevorrichtung abgelegt sein. 1 zeigt als Beispiele, jedoch nicht hierauf beschränkt, entfernt angeordnete Anwenderprogramme 185 als in dem entfernt angeordneten Computer 180 befindlich. Es ist einsichtig, dass die Netzwerkverbindungen beispielhalber dargestellt sind und andere Mittel zum Aufbau von Datenaustauschverbindungen zwischen den Computern Verwendung finden können.
  • Man beachte, dass die vorliegende Erfindung auf einem Computersystem, so beispielsweise dem im Zusammenhang mit 1 beschriebenen, verwirklicht werden kann. Die vorliegende Erfindung kann jedoch auch auf einem Server, einem der Nachrichtenverarbeitung dienenden Computer oder einem verteilten System eingesetzt werden, in dem verschiedene Abschnitte der vorliegenden Erfindung in verschiedenen Teilen des verteilten Computersystems verwirklicht sind.
  • 2A ist ein Blockdiagramm eines Modellautorensystems beziehungsweise Modellerstellungssystems 200 entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung. Das Modellerstellungssystem 200 umfasst eine Modellerstellungskomponente 202 und eine optionale Anwenderschnittstelle 204. 2A zeigt darüber hinaus, dass die Modellerstellungskomponente 202 als Eingabe ein Schema 206, einen Satz beziehungsweise eine Menge von Trainingsbeispieltextfolgen und Annotationen 208 und eine optionale Grammatikbibliothek 209 empfängt und eine regelbasierte Grammatik (so beispielsweise eine kontextfreie Grammatik (CFG context free grammar)) 210 ausgibt. Die optionale Grammatikbibliothek 209 umfasst Definitionen für fachgebietsunabhängige Konzepte, so beispielsweise Datum und Zeit, wie auch fachgebietsabhängige Konzepte, so beispielsweise Stadtnamen, Fluglinien und dergleichen mehr, die man aus einer Anwenderdatenbank beziehen kann.
  • Der Betrieb des Systems 200 wird nachstehend ausführlich beschrieben. Zusammengefasst dargestellt, liefert ein Anwender der Modellerstellungskomponente 202 ein Schema 206 und Trainingsbeispieltextfolgen 208. Dies kann entweder unter Verwendung der optionalen Anwenderschnittstelle 204 oder über einen anderen Anwendereingabemechanismus wie auch durch automatisierte Mittel erfolgen. Die Modellerstellungskomponente 202 empfängt die Eingaben und erzeugt eine regelbasierte Grammatik 210 auf Basis der Eingaben. Ein Beispiel für eine regelbasierte Grammatik ist eine kontextfreie Grammatik (CFG), die einen Computer in die Lage versetzt, eine Eingabe auf eine semantische Darstellung eines Textes abzubilden.
  • Das Schema 206 ist beispielhalber eine semantische Beschreibung des modulierten Fachgebietes. Eine Darstellung des Schemas ist in 2B gegeben. 2B zeigt ein stark vereinfachtes Schema 212, das in das System 200 von einem Entwickler eingegeben werden kann. Das Schema 212 ist ein Schema, das die Bedeutung der verschiedenen Textfolgen für eine Eingabe von einem Anwender darstellt, um Flüge (flights) zu zeigen, die von verschiedenen Städten (cities) abfliegen (depart) und in verschiedenen Städten (cities) ankommen (arrive) und die verschiedene Abflug- und Ankunftszeiten (departure time und arrival time) aufweisen. Das Schema 212 gibt an, dass der Befehl ShowFlight (Zeige Flug) eine semantische Klasse für Flight (Flug) als Eingabe umfasst. Das Schema 212 stellt darüber hinaus die semantische Klasse für Flight (Flug) detaillierter dar und gibt dabei an, dass hierfür vier Eingaben vorhanden sind, die einer Abflugzeit (departure time), einer Ankunftszeit (arrival time), einer Abflugstadt (departure city) und einer Ankunftsstadt (arrival city) entsprechen.
  • Aus dem Schema 212 kann die Modellerstellungskomponente 202 eine Menge von Regeln erzeugen, die in 2C dargestellt sind. Regel 1 zeigt, dass der Satz ShowFlight (Zeige Flug) stets einen Befehlsabschnitt ShowFlightCmd (Befehl „Zeige Flug") umfasst, auf den der Eigenschaftsabschnitt ShowFlightProperties (Zeige Eigenschaften des Fluges) folgt.
  • Regel 2 gibt an, dass der Abschnitt ShowFlightProperties (Zeige Eigenschaften des Fluges) eine oder mehrere Eigenschaften umfassen kann. Regel 2 gibt beispielsweise an, dass der Abschnitt ShowFlightProperties (Zeige Eigenschaften des Fluges) wenigstens eine Eigenschaft ShowFlightProperty (Zeige Eigenschaft des Fluges) enthält, auf die ein optionaler Abschnitt ShowFlightProperties (Zeige Eigenschaften des Fluges) folgen kann. Diese rekursive Definition von ShowFlightProperties (Zeige Eigenschaften des Fluges) vereinfacht deren Darstellung und ermöglicht, dass eine oder mehrere Eigenschaften verarbeitet werden können.
  • Regel 3 zeigt, dass der Abschnitt ShowFlightProperty (Zeige Eigenschaft des Fluges) einen Abschnitt ShowFlightPreFlight, einen Abschnitt Flight (Flug) und einen Abschnitt ShowFlightPostFlight umfasst. Dies zeigt, dass die Eingabe Flight (Flug) in dem Schema sowohl eine Präambel wie auch eine Postambel aufweisen kann.
  • Die vierte Regel gibt an, dass das Objekt Flight (Flug) in dem Schema keinen Befehlsabschnitt umfasst, sondern nur einen Eigenschaftsabschnitt (FlightProperties), da Flight ein Objekt in dem Schema ist, während ShowFlight (Zeige Flug) ein Befehl ist. Regel 5 zeigt, dass der Abschnitt FlightProperties (Eigenschaften des Fluges) rekursiv definiert ist, um wenigstens eine Eigenschaft FlightProperty (Eigenschaft des Fluges), gefolgt von optionalen Eigenschaften FlightProperties (Eigenschaften des Fluges) zu enthalten.
  • Regeln 6 bis 9 entsprechen den vier Eingaben in dem Schema 212 entsprechend 2B. Regel 6 definiert die erste Eigenschaft derart, dass diese eine Eingabe „Abflugstadt" (departure city) umfasst, der eine Präambel (FlightPreDepartureCity) vorhergeht und auf die eine Postambel (FlightPostDepartureCity) folgt. Regel 7 definiert die Ankunftsstadt (arrival city) auf dieselbe Weise, während Regeln 8 und 9 die Abfahrtszeit (departure time) beziehungsweise die Ankunftszeit (arrival time) auf ähnliche Weise definieren.
  • Eingedenk der Tatsache, dass sämtliche in 2C angegebenen Regeln automatisch aus dem Schema 212 seitens der Modellerstellungskomponente 202 erzeugt werden können, sind immer noch keine Umformregeln vorhanden, die angeben, welche spezifischen Worte nun tatsächlich auf spezifische Vorbegriffe (preterminals) (Befehl für eine befehlssemantische Klasse wie auch Präambeln und Postambeln für Eingaben) abgebildet werden sollen. So ist beispielsweise keine Regel vorhanden, die angibt, dass der Satz „Please show me the flights ..." („Bitte zeige mir die Flüge ...") auf ShowFlightCmd abgebildet werden soll. Auf ähnliche Weise ist keine Umformregel vorhanden, die angibt, welche Worte spezifisch auf beispielsweise die Präambel FlightPreArrivalCity und dergleichen mehr abgebildet werden sollen. Daher gibt der Entwickler zudem Trainingsbeispieltextfolgen und Annotationen 208 ein, sodass die Modellerstellungskomponente 202 auch die Umformregeln lernen kann.
  • 2D zeigt ein Beispiel für eine Beispieltextfolge 213 „Flight from Seattle to Boston" („Flug von Seattle nach Boston") zusammen mit einer semantischen Annotation 214, die der Textfolge 213 entspricht. Die semantische Annotation 214 wird von dem Entwickler bereitgestellt und gibt die semantische Bedeutung der Folge 213 an. Die semantische Annotation 214 zeigt beispielsweise, dass die Eingabetextfolge 213 dem Befehl ShowFlight (Zeige Flug) entspricht, der eine Eingabe Flight (Flug) umfasst, die wiederum zwei Eingaben aufweist, die beide Städte sind. Die Unterscheidung zwischen den beiden Eingaben bei der Eingabe Flight (Flug) erfolgt nur anhand des Namens der Eingabe. Die eine wird als „Ankunftsstadt" (arrival city) bezeichnet, während die andere als „Abflugstadt" (departure city) bezeichnet wird. Die semantische Annotation 214 bildet darüber hinaus das Wort „Boston" auf die Eingabe „Ankunftsstadt" (arrival city) und das Wort „Seattle" auf die Eingabe „Abflugstadt" (departure city) ab. Daher verfügt auf Grundlage der Annotation 214 die Modellerstellungskomponente 202 über Kenntnisse dahingehend, welche Eingaben auf die Worte „Seattle" und „Boston" abgebildet werden.
  • Aus dem annotierten Beispiel und den Vorlagengrammatikregeln von 2C kann die Modellerstellungskomponente 202 einen Parsingbaum einer regelbasierten Grammatik (oder CFG) erzeugen, so beispielsweise den Parsingbaum 216, der in 2E dargestellt ist. Die erste Ebene 218 des Parsingbaumes 216 (der Abschnitt, der zeigt, dass ShowFlight aus ShowFlightCmd, gefolgt von ShowFlightProperties gebildet ist) wird aus Regel 1 in 2C gebildet.
  • Die zweite Ebene 220 (der Abschnitt, der zeigt, dass ShowFlightProperties aus ShowFlightProperty gebildet ist) wird aus Regel 2 erzeugt, wobei der optionale Abschnitt ShowFlightProperties nicht verwendet wird.
  • Die nächste Ebene 222 (der Abschnitt, der zeigt, dass ShowFlightProperty aus ShowFlightPreFlight, gefolgt von Flight, gefolgt von ShowFlightPostFlight gebildet ist) wird aus Regel 3 von 2C erzeugt.
  • Die nächste Ebene 224 (die angibt, dass das Objekt Flight aus dem Abschnitt FlightProperties gebildet ist) wird aus Regel 4 von 2C erzeugt.
  • Die nächste Ebene 226 (der Abschnitt, der zeigt, dass der Abschnitt FlightProperties aus dem Abschnitt FlightProperty, gefolgt von dem Abschnitt FlightProperties gebildet ist) wird aus Regel 5 von 2C erzeugt.
  • Die nächste Ebene 228 (die Ebene, die angibt, dass der Abschnitt FlightProperty aus dem Abschnitt FlightPreDepartureCity, gefolgt von der Eingabe City (Stadt), gefolgt von der Postambel FlightPostDepartureCity gebildet ist) wird aus Regel 6 erzeugt, wobei die nächste Ebene 230 (die Ebene, die zeigt, dass FlightProperties aus der Präambel FlightPreArrivalCity, der Eingabe City (Stadt) und der Postambel FlightPostArrivalCity) gebildet ist) aus Regel 7 erzeugt ist.
  • Schließlich werden diejenige Ebene, die angibt, dass das Wort „Seattle" auf die Eingabe City unter der Ebene 228 abgebildet wird, und diejenige Ebene, die angibt, dass das Wort „Boston" auf die Eingabe City unter der Ebene 230 abgebildet wird, aus der semantischen Annotation 214 erzeugt, die ebenfalls von dem Anwender eingegeben wird. Auf diese Weise kann die Modellerstellungskomponente 202 lernen, wie die Worte „Seattle" und „Boston" in dem Eingabesatz auf den CFG-Parsingbaum und auf die in 2C erzeugten Regeln abgebildet werden sollen. Man beachte, dass die Regeln bezüglich City auch aus einer Bibliotheksgrammatik ermittelt werden können (die wiederum erstellt werden kann, indem die Daten einer fachgebietsspezifischen Datenbank entnommen werden), anstatt dass man sich annotierter Daten bedienen würde.
  • Es existiert jedoch noch eine Anzahl von Worten in dem Eingabesatz, die noch nicht auf den Baum abgebildet worden sind. Zu diesen Worten zählen „Flight" (Flug), „from" (von) und „to" (nach). Da die Worte „Flight" (Flug) und „from" (von) dem Wort „Seattle" vorausgehen, können sie auf eine Mehrzahl von Vorbegriffen (preterminals) in dem Parsingbaum 216 abgebildet werden, darunter FlightCmd, ShowFlightPreFlight und FlightPreDepartureCity. Auf ähnliche Weise kann aufgrund der Tatsache, dass das Wort „to" (nach) zwischen den Worten „Seattle" und „Boston" in der Eingabetextfolge 213 be findlich ist, das Wort „to" (nach) entweder auf FlightPostDepartureCity oder FlightPreArrivalCity abgebildet werden.
  • Da bekannt ist, dass das Wort „to" eine Präposition ist, muss sie eine Modifizierung dessen, was danach steht, bewirken. Es kann daher festgestellt werden, dass das Wort „to" auf den Vorbegriff FlightPreArrivalCity in dem Parsingbaum 216 abgebildet wird.
  • Zudem ist nach wie vor nicht bekannt, wo sich die Worte „flight" und „from" in dem Parsingbaum 216 befinden. Darüber hinaus ist die besondere Segmentierung für die beiden Worte nicht bekannt. Bei einer Alternative kann das Wort „Flight" beispielsweise auf ShowFlightCmd abgebildet werden, während das Wort „from" auf ShowFlightPreFlight abgebildet wird. In diesem Fall wird der Vorbegriff FlightPreDepartureCity auf die leere Menge abgebildet.
  • Entsprechend einer weiteren Alternative werden die beiden Worte „Flight" und „from" auf ShowFlightCmd abgebildet, während die anderen Vorbegriffe ShowFlightPreFlight und FlightPreDepartureCity beide auf leere Mengen abgebildet werden.
  • Bei einer weiteren Alternative wird „Flight" auf ShowFlightCmd und „from" auf FlightPreDepartureCity abgebildet, während der verbleibende Vorbegriff ShowFlightPreFlight auf die leere Menge abgebildet wird.
  • Dies stellt eine Segmentierungsambiguität dar, die bei Abwesenheit zusätzlicher Information von Seiten des Anwenders bislang nicht gelöst werden konnte. In einigen bislang gängigen Systemen werden dem Anwender einfach sämtliche möglichen Segmentierungen angezeigt, sodass der Anwender in die Lage versetzt wird, eine dieser Segmentierungen auszuwählen.
  • Dies führt jedoch zu einer Anzahl von Problemen. Zunächst einmal ist diese Art von Wechselwirkung mit dem Anwender störend und zeitraubend. Darüber hinaus nimmt, wenn mehrere mögliche Vorbegriffe bestehen und wenn mehr unzuordenbare Worte in der Eingabetextfolge vorhanden sind, die Anzahl der Möglichkeiten, die dem Anwender vorgelegt werden müssen, stark zu. Es ist sehr schwierig, wenn nicht unmöglich, alle derartigen Kandidatensegmentierungen einem Anwender zur Auswahl vorzulegen. Darüber hinaus begehen auch dann, wenn die Segmentierungen dem Anwender zur Aus wahl geeignet vorgelegt werden, die Anwender oftmals Fehler bei der Segmentierung oder segmentierern ähnliche Textfolgen inkonsistent.
  • Entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung wird der EM-Algorithmus (expectation maximization EM, Erwartungsmaximierung) auf Segmentierungsambiguitäten in der Modellkomponente 202 angewandt, um die Segmentierungswahl zu disambiguieren. Der EM-Algorithmus ist allgemein ein Algorithmus, der Modellparameter mit einem Maximum-Likelihood-Schätzer abschätzt, wenn das Modell nichtbeobachtbare versteckte Variablen enthält.
  • 3A zeigt ein Blockdiagramm, das eine Modellerstellungskomponente 202 detaillierter darstellt. 3A zeigt, dass die Modellerstellungskomponente 202 beispielhalber eine Vorrichtung zur Erzeugung einer Vorlagengrammatik 300, eine Segmentierungs-EM-Anwendungskomponente 302 und eine Beschneidungskomponente 304 umfasst. Die Vorrichtung zur Erzeugung einer Vorlagengrammatik 300 empfängt das Schema 206 und beliebige Regeln in der optionalen Grammatikbibliothek 209, auf die durch die semantischen Klassen in dem Schema 206 (über eine Vereinheitlichung geeigneter Art) Bezug genommen wird, und erzeugt eine Vorlagengrammatik, die sämtliche Regeln enthält, die aus dem Schema 206 sowie aus der optionalen Grammatikbibliothek 209 genommen oder abgeleitet werden können. Die Vorlagengrammatik wird anschließend von der EM-Segmentierungs-EM-Komponente zusammen mit den Trainingsbeispielen (Textfolgen und deren Annotationen) als Eingabe genommen. Die EM-Segmentierungskomponente 302 bedient sich der Vorlagengrammatik, um die Segmentierungsambiguitäten in den Trainingsbeispielen herauszufinden. Die Komponente 302 arbeitet anschließend dergestalt, dass beliebige Segmentierungsambiguitäten disambiguiert werden. Auf Basis dieser Disambiguierung können Umformregeln aus der Grammatik unter Verwendung der Beschneidungskomponente 304 beschnitten werden, um die regelbasierte Grammatik 210 zu bilden.
  • Um den Betrieb der EM-Segmentierungskomponente 302 weitergehend darzulegen, zeigen 2F und 2G Beispielstabellen. 2F zeigt eine Tabelle, die eine Menge von Beispielen umfasst. Das erste dieser Beispiele zeigt, dass das Wort „from" (von) entweder auf den Vorbegriff ShowFlightCmd oder den Vorbegriff FlightPreDepartureCity abgebildet werden kann. Das Beispiel kann von der Komponente 302 aus dem Beispielsatz „from Seattle to Boston" (von Seattle nach Boston) abgeleitet werden. Das zweite Beispiel gibt an, dass die Worte „Flight from" (Flug von) auf die Vorbegriffe ShowFlightCmd und FlightPreDepartureCity abgebildet werden können. Das Beispiel kann durch die Komponente 302 aus einem Beispielsatz wie „Flight from Seattle to Boston" (Flug von Seattle nach Boston) abgeleitet werden. Das dritte Beispiel zeigt, dass die Worte „Flight to" (Flug nach) auf die Vorbegriffe ShowFlightCmd und FlightPreArrivalCity abgebildet werden können, was auf ähnliche Weise durch die Komponente 302 aus Beispielsätzen wie „Flight to Boston on Tuesday" (Flug nach Boston am Dienstag) ermittelt werden kann. Dennoch ist die Segmentierung der Beispiele ambig. Mit anderen Worten, es ist nach wie vor nicht bekannt, ob das Wort „from" (von) im ersten Beispiel auf den Vorbegriff ShowFlightCmd oder auf den Vorbegriff FlightPreDepartureCity abgebildet werden soll. Analog ist nicht bekannt, wie die Worte „Flight from" (Flug von) zwischen den Vorbegriffen ShowFlightCmd und FlightPreDepartureCity abgebildet werden sollen. Zusätzlich ist selbstredend nicht bekannt, wie die Worte „Flight to" (Flug nach) zwischen den möglichen Vorbegriffen ShowFlightCmd und FlightPreArrivalCity abgebildet werden sollen.
  • 2G ist eine Tabelle, die den Betrieb der EM-Algorithmus-Anwendungskomponente 203 weiter darstellt. 3B ist ein Flussdiagramm, das den Betrieb der Komponente 203 darstellt und gemeinsam mit 2F und 2G beschrieben wird.
  • Zunächst listet die Komponente 302 sämtliche möglichen Segmentierungen auf. Dies ist in der linken Spalte von 2G in der Rubrik möglicher Umformregeln gezeigt. In den Umformregeln gemäß 2 werden einige der Worte, die die Vorbegriffsnamen bilden, abgekürzt. So gibt beispielsweise die Umformregel SFCmd → ε die Segmentierung an, in der der Vorbegriff ShowFlightCmd (abgekürzt SFCmd) auf die leere Menge abgebildet wird. Auf ähnliche Weise stellt die Umformregel SFCmd → from die Segmentierung dar, in der das Wort „from" auf den Vorbegriff ShowFlightCmd abgebildet wird. Zudem stellt FPDCity → ε die Segmentierung dar, in der der Vorbegriff FlightPreDepartureCity (abgekürzt FPDCity) auf die leere Menge abgebildet wird, während FPACity → ε die Segmentierung darstellt, in der der Vorbegriff FlightPreArrivalCity (abgekürzt FPACity) auf die leere Menge abgebildet wird. Aus diesen Beispielen erklärt sich die andere Schreibung in dem Umformregelabschnitt der Tabelle von 2G von selbst. Es bleibt zu sagen, dass jede mögliche Segmentierung der in 2F gezeigten Beispiele aufgelistet ist.
  • Auf Basis des ersten Beispiels von 2F gibt eine Segmentierung an, dass das Wort „from" auf ShowFlightCmd abgebildet wird, während eine andere Segmentierung angibt, dass das Wort „from" auf FlightPreDepartureCity abgebildet wird.
  • Das zweite Beispiel in 2F unterstützt auch eine Anzahl verschiedener Segmentierungsalternativen. Beispielsweise werden entsprechend einer Segmentierungsalternative die Worte „Flight from" beide auf den Vorbegriff ShowFlightCmd abgebildet, und der Vorbegriff FlightPreDepartureCity wird auf ε abgebildet. Bei einer weiteren Segmentierungsalternative werden die Worte „Flight from" beide auf den Vorbegriff FlightPreDepartureCity abgebildet, während der Vorbegriff ShowFlightCmd auf ε abgebildet wird. Bei einer weiteren Alternative werden die Worte „Flight" und „from" derart aufgeteilt, dass das Wort „Flight" auf den Vorbegriff ShowFlightCmd abgebildet wird, während das Wort „from" auf den Vorbegriff FlightPreDepartureCity abgebildet wird. Jede dieser Segmentierungen ist auch in den in 2G aufgelisteten Umformregeln gezeigt.
  • Das dritte Beispiel kann auf ähnliche Weise wie das zweite Beispiel dahingehend segmentiert werden, dass die Worte „Flight to" entweder auf den Vorbegriff ShowFlightCmd oder auf den Vorbegriff FlightPreArrivalCity abgebildet werden, während der andere Vorbegriff auf ε abgebildet wird, oder es können die Worte „Flight to" zwischen den Vorbegriffen ShowFlightCmd und FlightPreArrivalCity verteilt werden. Erneut wird jede dieser Segmentierungen in den in 2G gezeigten Umformregeln dargestellt.
  • Die Auflistung sämtlicher möglichen Segmentierungen ist durch Block 306 in dem Flussdiagramm von 3D gezeigt.
  • Sobald die die Segmentierungen unterstützenden Umformregeln aufgelistet sind, wird ihnen jeweils eine Probabilität zugewiesen. Zudem wird allen in 2G dargestellten Segmentierungen die gleiche Probabilität zugewiesen. Dies ist durch Block 308 in 3B gezeigt.
  • Anschließend weist die Komponente 302 den aufgelisteten Umformregeln neue erwartete Zählwerte auf Basis des möglichen Auftretens der Zählwerte in den in 2F gezeigten Beispielen zu. Dies ist durch Block 310 angedeutet. Auf Basis des ersten Beispiels sind beispielsweise zwei Segmentierungen möglich, von denen die eine das Wort „from" auf ShowFlightCmd und den Vorbegriff FlightPreDepartureCity auf ε abbildet, während die andere ShowFlightCmd auf ε und das Wort „from" auf den Vorbegriff FlightPreDepartureCity abbildet. Die erste Umformregel besagt, dass der Vorbegriff ShowFlightCmd auf ε (die leere Menge) abgebildet wird. Daher unterstützt die Hälfte der Segmentierungen von Beispiel 1 die erste Umformregel, die in der Tabelle von 2G gezeigt ist. Damit wird auf Grundlage des ersten Beispiels der ersten Umformregel (ShowFlightCmd → ε) ein Zählwert von 1/2 zugewiesen.
  • Wie vorstehend erläutert worden ist, unterstützt das zweite Beispiel drei verschiedene Segmentierungen, von denen die erste die beiden Worte „Flight from" dem Vorbegriff ShowFlightCmd und den Vorbegriff FlightPreDepartureCity dem Wert ε zuweist, während die andere das Wort „Flight" auf den Vorbegriff ShowFlightCmd und das Wort „from" auf den Vorbegriff FlightPreDepartureCity abbildet, während die letzte den Vorbegriff ShowFlightCmd auf ε und die beiden Worte „Flight from" auf den Vorbegriff FlightPreDepartureCity abbildet. Von diesen drei Segmentierungen unterstützt eine die erste Umformregel (SFCmd → ε). Daher wird auf Basis des weiteren Beispieles der ersten Umformregel ein Zählwert von 1/3 zugeordnet.
  • Auf dieselbe Weise weist das dritte Beispiel drei mögliche Segmentierungen auf, von denen die eine den Vorbegriff ShowFlightCmd auf ε abbildet. Daher wird auf Basis des dritten Beispieles der ersten Umformregel, die in 2G gezeigt ist, erneut ein Zählwert von 1/3 zugewiesen.
  • Unter Verwendung dieser Art von Analyse ist ersichtlich, dass die zweite Umformregel (SFCmd → from) nur von dem ersten Beispiel unterstützt wird. Daher wird aufgrund der Tatsache, dass es zwei mögliche Segmentierungen für das erste Beispiel gibt und eine von diesen die zweite Umformregel unterstützt, der zweiten Umformregel (SFCmd → from) der Zählwert 1/2 zugewiesen.
  • Die dritte Umformregel (SFCmd → Flight) wird von einer der Segmentierungen sowohl von dem zweiten wie auch von dem dritten Beispiel von 2F unterstützt. Daher wird aufgrund der Tatsache, dass jedes dieser Beispiele drei mögliche Segmentierungen aufweist, der dritten Umformregel (SFCmd → Flight) ein Zählwert von 1/3 auf Basis jedes Beispieles zugewiesen.
  • Die Komponente 302 weist jeder der aufgelisteten Umformregeln in 2G auf diese Weise Zählwerte zu, wobei diese Zählwerte in der zweiten Spalte der Tabelle von 2G dargestellt sind. Die Zählwerte werden sämtlich derart umgewandelt, dass sie einen gemeinsamen Nenner aufweisen, woraufhin sie für jeden Vorbegriff normalisiert sind, um die Probabilität zu ermitteln. Mit anderen Worten, die Gesamtprobabilitätsgewichte für den Vorbegriff ShowFlightCmd müssen sich zu 1 addieren. Daher werden die Zählwerte für jede Umformregel mit einem Normalisierungsfaktor multipliziert, um eine mit jeder Umformregel verknüpfte Probabilität zu ermitteln.
  • Es wird beispielsweise ersichtlich, dass die Gesamtanzahl von Zählwerten für den Vorbegriff ShowFlightCmd gleich 3 ist. Daher ist die Probabilität der ersten Umformregel (SFCmd → ε) gleich 7/18. Auf ähnliche Weise ist die Probabilität der zweiten Umformregel (SFCmd → from) gleich 3/18 und so weiter. Die Komponente 302 verarbeitet die Zählwerte für jede Umformregel und jeden Vorbegriff, um diese Probabilität zu ermitteln.
  • Es ergibt sich, dass für den Vorbegriff FPDCity die Summe der Zählwerte über alle verschiedenen Regeln gleich 2 ist, weshalb der Normalisierungsfaktor gleich 1/2 ist. Für den endgültigen Vorbegriff FPACity liegt nur ein Zählwert vor, weshalb der Normalisierungsfaktor gleich 1 ist. Es ist ersichtlich, dass die Komponente 302 die mit jeder Umformregel verknüpfte Probabilität auf 1 zurücksetzt, was das Auftreten der von den Beispielen unterstützten Umformregeln genauer zeigt. Das Normalisieren der Zählwerte, um die neue Probabilität zu erhalten, ist in 3B durch Block 312 gezeigt.
  • Die Komponente 302 nimmt eine Iteration dieses Vorganges (erneutes Schätzen der Zählwerte und Ermitteln neuer Probabilitäten) vor, bis die Zählwerte und Probabilitäten konvergieren. Dies ist durch Block 314 angedeutet. Um einen neuen Zählwert C [mit übergesetztem Balken] für die erste Umformregel zu erhalten, implementiert die Komponente 302 beispielsweise Beziehung 1 dahingehend, dass zunächst die gesamte Wahrscheinlichkeit, das Wort „from" anzutreffen, bei der Nichtbegriffssequenz ShowFlightCmd und FPDCity folgendermaßen ermittelt wird. P(from|ShowFlightCmd FPDCity) = P(ε|ShowFlightCmd)·P(from|FPDCity) + P(from|ShowFlightCmd)·P(ε|FPDCity) = [(7/18) × (5/12)] + [(3/18) × (5/12)] = 50/216 Bez.1
  • Auf Basis dieses Betrages wird der Anteil für die Segmentierung, die die Leerfolge auf ShowFlightCmd sowie „from" auf FPDCity abbildet, zu dem neuen erwarteten Zählwert C [mit übergesetztem Balken].
  • Figure 00180001
  • Auf ähnliche Weise wird der neue Zählwert C [mit übergesetztem Balken] für die zweite Umformregel (SFCmd → from) folgendermaßen berechnet.
  • Figure 00180002
  • Diese Vorgehensweise wird für jede der Umformregeln wiederholt, um die Zählwerte C [mit übergesetztem Balken] für jedes Beispiel zu sammeln. Anschließend werden die neuen Zählwerte mit dem Normalisierungsfaktor multipliziert, um die neuen Probabilitäten zu ermitteln. Wie in 3B gezeigt ist, iteriert die Komponente 302 diesen Vorgang und nimmt eine erneute Schätzung der neuen Zählwerte und der neuen Probabilitäten vor, bis die Probabilitäten konvergieren.
  • Sobald die Iterierung vollständig ist, hat die Komponente 302 einen neuen Zählwert und eine neue Probabilität in Verbindung mit jeder der aufgelisteten Umformregeln berechnet. Während dies per se äußerst nützlich ist, da eine Probabilität jeder der Segmentierungen für die Regeln entsprechend den verschiedenen Segmentierungen gemäß Ermittlung während des Trainings zugewiesen worden ist, kann dies gleichwohl nicht das gewünschte Endergebnis darstellen. Einige Parser sind beispielsweise nicht in der Lage, Probabilitäten vorab zu ihrem Vorteil zu nutzen. Darüber hinaus macht bei einigen Parsingkomponenten eine große Anzahl von Regeln den Parser weniger effektiv.
  • Entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung stellt daher die Komponente 302 die Regeln und die damit verknüpften Probabilitäten für die Beschneidungskomponente 304 bereit, wo die Regeln beschnitten werden können. Dies wird durch die Blöcke 316 und 318 in 3B angedeutet. Die Beschneidungskomponente 304 kann die Regeln (wie durch Block 320 angegeben) auf eine Weise aus einer Mehrzahl verschiedener Weisen beschneiden. So kann die Beschneidungskomponente 304 beispielsweise Regeln herausschneiden, die eine Probabilität unterhalb einem gewünschten Schwellenpegel aufweisen. Die Komponente 304 führt dann die verbleibenden Regeln in die regelbasierte Grammatik 210 ein.
  • Entsprechend einem anderen Ausführungsbeispiel beseitigt die Beschneidungskomponente 304 sämtliche Segmentierungen bis auf eine vorbestimmte Anzahl von Segmentierungen mit hoher Wahrscheinlichkeit entsprechend dem Beispiel und führt nur die Umformregeln entsprechend den verbleibenden Segmentierungen in die Grammatik ein. So kann die Komponente 304 beispielsweise sämtliche Segmentierungen entsprechend jedem Beispiel mit Ausnahme desjenigen, das die höchste Probabilität aufweist, beseitigen. Man kann bei Beispiel 1 von der Annahme ausgehen, dass diejenige Segmentierung, die das Wort „from" auf den Vorbegriff FlightPreDepartureCity abgebildet hat, eine höhere Probabilität als diejenige Segmentierung aufwies, die das Wort „from" dem Vorbegriff ShowFlightCmd zugewiesen hat. In jenem Fall wird die zweite Segmentierung (diejenige, bei der „from" auf ShowFlightCmd abgebildet wird) beseitigt. In jenem Fall werden die beiden Umformregeln, die die gewählte Segmentierung beseitigen, zu der Grammatik hinzugefügt. Daher werden die Umformregel „SFCmd → ε" und die Umformregel „FPDCity → from" beide der Grammatik hinzugefügt.
  • Auf ähnliche Weise können Regeln, die nicht mehr von der besten Segmentierung beliebiger Beispiele unterstützt werden, aus den aufgelisteten Regeln, die in 2G gezeigt sind, entfernt werden. Damit kann die Regel „SFCmd → from" beseitigt werden, da sie nur von der Segmentierung für Beispiel 1, die beseitigt worden ist, unterstützt worden ist.
  • Die auf diese Weise erfolgende Anwendung des EM-Algorithmus wird nachstehend in stärker formalen mathematischen Begriffen beschrieben. Die Segmentierungsambiguitätsauflösung kann als Problem des Herausfindens einer m-Blockpartition π = α1, α2, ..., αm für die Wortfolge w = w1, w2, ..., wn derart formalisiert werden, dass jeder Block auf einen Vorbegriff in der Folge N = NT1, NT2, ..., NTm abgebildet wird. Ein Block kann 0 oder mehr Worte aus w enthalten.
  • Wir modellieren nun die gemeinsame Probabilität von π, N und w durch die nachfolgende Beziehung.
  • Figure 00200001
  • Wir können nun bei gegebenen Werten für n und w die wahrscheinlichste Segmentierung folgendermaßen ermitteln.
  • Figure 00200002
  • Eine derartige Partition kann mittels einer Viterbi-Suche ausfindig gemacht werden. Das einzige noch zu lösende Problem besteht in der Schätzung der Modellparameter P(NT → α) für jeden Vorbegriff (oder jedes Konzept) NT und die Wortfolge α. Dies kann mit einer ML-Schätzung (maximum likelihood ML, maximale Wahrscheinlichkeit) erfolgen, wenn die Trainingsdaten eine Liste von Vorbegriffen sind, die mit einer Wortfolge für jeden Vorbegriff gepaart sind. Gleichwohl sind die Trainingsbeispiele gemäß Ermittlung von dem Anwender über das Herstellungswerkzeug beispielhalber Paare von Vorbegriffsfolgen und Begriffsfolgen. Die Partition oder Segmentierung ist eine versteckte Variable und dem Werkzeug unbekannt.
  • Der EM-Algorithmus legt zunächst die Parameter Pφ für das Modell fest und modifiziert anschließend iterativ die Parameter auf Pφ', sodass die Wahrscheinlichkeit der Beobachtung D zunimmt.
  • Um ein derartiges Pφ' herauszufinden, wird die Hilfsfunktion Q gemäß Beziehung (6) definiert.
  • Figure 00200003
  • Es stellt dies eine untere Schranke von L(D|Pφ') – L(D|Pφ) dar, nämlich die Log-Likelihood-Differenz der Trainingsdaten zwischen den beiden Modellparametrisierungen. Der EM-Algorithmus setzt die Parameter Pφ' einfach durch Maximieren von Q zum Zwecke der Maximierung der Zunahme der Trainingsbeispielswahrscheinlichkeit durch die neue Parametrisierung unter Bedingung zurück, dass Randbedingungen vorliegen, wonach sich die Probabilitäten sämtlicher möglichen Umformregeln für einen Vorbegriff zu 1 summieren. Daher kann für jede Regel NT → α die neue Probabilität durch Lösen der nachfolgenden Beziehung ermittelt werden.
  • Figure 00210001
  • Unter Einbeziehung von
    Figure 00210002
    ergibt sich die folgende Beziehung.
  • Figure 00210003
  • Damit sollte die Wahrscheinlichkeit auf die erwartete Zählwerte multipliziert mit dem Normalisierungsfaktor-1/λ zurückgesetzt werden.
  • Figure 00210004
  • Zur Berechnung der erwarteten Zählwerte beachte man Beziehung 10.
  • Figure 00210005
  • Damit gilt die nachfolgende Beziehung 11.
  • Figure 00220001
  • Es soll Ekij = (N ⇒ w1, ..., wi-1, NTk, wj+1, ..., wn)denjenigen Fall darstellen, in dem der Prozess des Umformens der Vorbegriffsfolge N auf die Wortfolge w die Regel NT → α für den k-ten Vorbegriff in N verwendet, um die Unterfolge α = wi, ..., wj zu erzeugen. Zudem sei λ t / s(p, q) die Probabilität, dass die Vorbegriffe aus der Position s nach t in der Folge N die Begriffsworte wp, ..., wq-1 abdecken. Dann gilt folgendes.
  • Figure 00220002
  • Daher kann man, wenn λ t / s(p, q) berechnet werden kann, die Gleichungen (9), (11) und (13) kombinieren, um die erwarteten Zählwerte zu ermitteln und die Modellparameter zurücksetzen. In der Tat kann λ t / s(p, q) mit einer dynamischen Programmierung entsprechend Beziehung (14) berechnet werden, wobei ε die Nullfolge ist.
  • Figure 00220003
  • Man beachte, dass der Ausdruck Pϕ (N, w) = λml (l,n + 1)in Beziehung 11 verwendet werden kann.
  • Entsprechend setzt ein Aspekt der vorliegenden Erfindung den EM-Algorithmus ein, um Segmentierungsambiguitäten zu disambiguieren. Dies kann den Grammatikerstellungsprozess vollständig automatisieren, wodurch die Notwendigkeit eines Eingriffes seitens eines Anwenders verringert wird. Es wird zudem eine konsistente Disambiguierung ausgeführt. Zudem kann die Disambiguierung auch dann vorgenommen werden, wenn eine große Anzahl von Vorbegriffen und Worten vorhanden ist, die nach der Erzeugung der Vorlagengrammatik nicht zugewiesen sind.
  • Ungeachtet der Tatsache, dass die vorliegende Erfindung im Zusammenhang mit bestimmten Ausführungsbeispielen beschrieben worden ist, erschließt sich einem Fachmann auf dem einschlägigen Gebiet, dass daran Änderungen in Form und Detail vorgenommen werden können, ohne den Schutzumfang der Erfindung gemäß Definition in den beigefügten Ansprüchen zu verlassen.

Claims (17)

  1. Verfahren zum Erzeugen einer regelbasierten Grammatik für natürliche Sprachverarbeitung: Identifizieren von Segmentierungs-Ambiguitäten von Trainingsdaten, bei denen Segmentierung der Trainingsdaten ambig ist; Auflisten von Umformregeln für alle ambigen Segmentierungen; und automatisches Auflösen der Segmentierungs-Ambiguitäten durch Erzeugen einer Probabilität für jede aufgelistete Umformregel auf Basis des Auftretens der Umformregeln, die durch die Trainingsdaten unterstützt werden.
  2. Verfahren nach Anspruch 1, wobei automatisches Auflösen der Segmentierungs-Ambiguitäten umfasst: Schätzen von Zählwerten für jede aufgelistete Umformregel auf Basis des Auftretens der aufgelisteten Umformregeln, die durch die Trainingsdaten unterstützt werden; Erzeugen einer Probabilität für jede aufgelistete Umformregel auf Basis der geschätzten Zählwerte; erneutes Schätzen der Zählwerte für die aufgelisteten Umformregeln auf Basis der für jede Umformregel ermittelten Probabilität; und Iterieren der Schritte des Ermittelns einer Probabilität und des erneuten Schätzens der Zählwerte, bis eine gewünschte Konvergenz erreicht ist.
  3. Verfahren nach Anspruch 2, das des Weiteren umfasst: Empfangen der Trainingsdaten.
  4. Verfahren nach Anspruch 3, wobei Empfangen der Trainingsdaten umfasst: Empfangen eines Schemas und einer oder mehrerer semantisch annotierter Textfolgen.
  5. Verfahren nach Anspruch 4, wobei Identifizieren von Segmentierungs-Ambiguitäten umfasst: Erzeugen einer Vorlagengrammatik aus den Trainingsdaten, wobei die Vorlagengrammatik Umformregeln enthält.
  6. Verfahren nach Anspruch 5, wobei Identifizieren von Segmentierungs-Ambiguitäten umfasst: Erzeugen eines Parsingbaums aus dem Schema, den Umformregeln und den annotierten Textfolgen.
  7. Verfahren nach Anspruch 6, wobei jede Umformregel ein Blatt in dem Parsingbaum auf einem Abschnitt der Textfolge abbildet und wobei Identifizieren von Segmentierungs-Ambiguitäten umfasst: Identifizieren eines ambigen Abschnitts der Textfolge, der auf mehr als einem möglichen Blatt in dem Parsingbaum abgebildet werden kann.
  8. Verfahren nach Anspruch 7, wobei Auflisten von Umformregeln für alle ambigen Segmentierungen umfasst: Auflisten einer Umformregel, die den ambigen Abschnitt der Textfolge auf jedem der möglichen Blätter in dem Parsingbaum abbildet.
  9. Verfahren nach Anspruch 8, wobei Erzeugen einer Probabilität für jede aufgelistete Umformregel umfasst: Normalisieren der Zählwerte für jede Umformregel, die auf ein gleiches Blatt zutrifft.
  10. Verfahren nach Anspruch 2, das des Weiteren umfasst: vor Schätzen von Zählwerten Einstellen von Probabilitäten für jede mögliche Segmentierung eines Beispiels von Segmentierungs-Ambiguität auf einen gleichen Wert.
  11. Verfahren nach Anspruch 2, wobei automatisches Auflösen der Segmentierungs-Ambiguitäten umfasst: Beschneiden (pruning) der aufgelisteten Umformregeln auf Basis der erzeugten Probabilitäten.
  12. Verfahren nach Anspruch 11, wobei Beschneiden umfasst: Feststellen, ob die für jede Umformregel erzeugte Probabilität mit einem Schwellenwert übereinstimmt; und Beschneiden der Umformregeln auf Basis der Feststellung.
  13. Verfahren nach Anspruch 12, wobei Beschneiden umfasst: Beschneiden von Umformregeln, die nicht mit der Schwelle übereinstimmen.
  14. Verfahren nach Anspruch 11, wobei Beschneiden umfasst: Beschneiden einer Umformregel, die von wahrscheinlichsten Segmentierungen für alle Trainingsbeispiele einer Segmentierungs-Ambiguität nicht unterstützt worden ist.
  15. Computerimplementiertes Grammatik-Autorensystem zum Erstellen einer regelbasierten Grammatik, das umfasst: eine Einrichtung zum Erzeugen einer Vorlagengrammatik, die so konfiguriert ist, dass sie Trainingsdaten empfängt und eine Vorlagengrammatik erzeugt, die ambi ge Umformregeln enthält, die Segmentierungs-Ambiguität in den Trainingsdaten entsprechen; eine Disambiguierungs-Komponente, die mit der Einrichtung zum Erzeugen einer Vorlagengrammatik verbunden ist, die ambigen Umformregeln empfängt und so konfiguriert, dass sie Probabilitäten für die ambigen Umformregeln auf Basis des Auftretens der Umformregeln erzeugt, die durch die Trainingsdaten unterstützt werden; und eine Beschneidungs-Komponente, die mit der Disambiguierungs-Komponente verbunden und so konfiguriert ist, dass sie die ambigen Umformregeln auf Basis der erzeugten Probabilitäten beschneidet.
  16. Grammatik-Autorensystem nach Anspruch 15, wobei die ambigen Umformregeln jeweils einer möglichen Segmentierung in einem Satz ambiger Segmentierungen entsprechen.
  17. Grammatik-Autorensystem nach Anspruch 16, wobei die Disambiguierungs-Komponente umfasst: eine Komponente zum Anwenden eines Estimation-Maximization (EM)-Algorithmus, die so konfiguriert ist, dass sie den EM-Algorithmus anwendet, um eine mit jeder möglichen Segmentierung verbundene Probabilität zu erzeugen.
DE602004003609T 2003-04-03 2004-04-02 Lösung der Segmentierungsmehrdeutigkeit bei der Grammatikerstellung Expired - Lifetime DE602004003609T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US406524 2003-04-03
US10/406,524 US7328147B2 (en) 2003-04-03 2003-04-03 Automatic resolution of segmentation ambiguities in grammar authoring

Publications (2)

Publication Number Publication Date
DE602004003609D1 DE602004003609D1 (de) 2007-01-25
DE602004003609T2 true DE602004003609T2 (de) 2007-04-05

Family

ID=32850648

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004003609T Expired - Lifetime DE602004003609T2 (de) 2003-04-03 2004-04-02 Lösung der Segmentierungsmehrdeutigkeit bei der Grammatikerstellung

Country Status (7)

Country Link
US (1) US7328147B2 (de)
EP (1) EP1465155B1 (de)
JP (1) JP4738753B2 (de)
KR (1) KR100895940B1 (de)
CN (1) CN100351837C (de)
AT (1) ATE348383T1 (de)
DE (1) DE602004003609T2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1685555B1 (de) * 2003-11-12 2009-01-14 Philips Intellectual Property & Standards GmbH Vergabe semantischer etiketten an phrasen für die grammatikerzeugung
US8229745B2 (en) * 2005-10-21 2012-07-24 Nuance Communications, Inc. Creating a mixed-initiative grammar from directed dialog grammars
US7774202B2 (en) * 2006-06-12 2010-08-10 Lockheed Martin Corporation Speech activated control system and related methods
US8676826B2 (en) 2011-06-28 2014-03-18 International Business Machines Corporation Method, system and program storage device for automatic incremental learning of programming language grammar
US8516457B2 (en) 2011-06-28 2013-08-20 International Business Machines Corporation Method, system and program storage device that provide for automatic programming language grammar partitioning
US10102275B2 (en) 2015-05-27 2018-10-16 International Business Machines Corporation User interface for a query answering system
US10146858B2 (en) 2015-12-11 2018-12-04 International Business Machines Corporation Discrepancy handler for document ingestion into a corpus for a cognitive computing system
US10176250B2 (en) 2016-01-12 2019-01-08 International Business Machines Corporation Automated curation of documents in a corpus for a cognitive computing system
US9842161B2 (en) 2016-01-12 2017-12-12 International Business Machines Corporation Discrepancy curator for documents in a corpus of a cognitive computing system
US11281857B1 (en) * 2018-11-08 2022-03-22 Amazon Technologies, Inc. Composite slot type resolution
US11138374B1 (en) * 2018-11-08 2021-10-05 Amazon Technologies, Inc. Slot type authoring
US11308281B1 (en) * 2018-11-08 2022-04-19 Amazon Technologies, Inc. Slot type resolution process

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1045342C (zh) * 1993-12-07 1999-09-29 张飞鹏 反映语法特征的汉语表意拼音文字输入法及键盘
US6052483A (en) * 1994-11-04 2000-04-18 Lucent Technologies Inc. Methods and apparatus for classification of images using distribution maps
US6292767B1 (en) 1995-07-18 2001-09-18 Nuance Communications Method and system for building and running natural language understanding systems
US6317708B1 (en) 1999-01-07 2001-11-13 Justsystem Corporation Method for producing summaries of text document
US6865528B1 (en) 2000-06-01 2005-03-08 Microsoft Corporation Use of a unified language model
US7031908B1 (en) 2000-06-01 2006-04-18 Microsoft Corporation Creating a language model for a language processing system
US6986104B2 (en) * 2000-06-26 2006-01-10 Silver Creek Systems, Inc. Method and apparatus for normalizing and converting structured content
US6952666B1 (en) * 2000-07-20 2005-10-04 Microsoft Corporation Ranking parser for a natural language processing system
US7003444B2 (en) * 2001-07-12 2006-02-21 Microsoft Corporation Method and apparatus for improved grammar checking using a stochastic parser
US7039579B2 (en) 2001-09-14 2006-05-02 International Business Machines Corporation Monte Carlo method for natural language understanding and speech recognition language models
US7805302B2 (en) 2002-05-20 2010-09-28 Microsoft Corporation Applying a structured language model to information extraction

Also Published As

Publication number Publication date
EP1465155A3 (de) 2005-05-11
CN1542650A (zh) 2004-11-03
EP1465155A2 (de) 2004-10-06
DE602004003609D1 (de) 2007-01-25
US7328147B2 (en) 2008-02-05
JP4738753B2 (ja) 2011-08-03
EP1465155B1 (de) 2006-12-13
CN100351837C (zh) 2007-11-28
US20040199374A1 (en) 2004-10-07
JP2004326750A (ja) 2004-11-18
ATE348383T1 (de) 2007-01-15
KR20040086842A (ko) 2004-10-12
KR100895940B1 (ko) 2009-05-07

Similar Documents

Publication Publication Date Title
EP1135767B1 (de) Verfahren und anordnung zur klassenbildung für ein sprachmodell basierend auf linguistischen klassen
DE69829389T2 (de) Textnormalisierung unter verwendung einer kontextfreien grammatik
DE69822296T2 (de) Mustererkennungsregistrierung in einem verteilten system
DE69818231T2 (de) Verfahren zum diskriminativen training von spracherkennungsmodellen
DE60004862T2 (de) Automatische bestimmung der genauigkeit eines aussprachewörterbuchs in einem spracherkennungssystem
DE60033733T2 (de) Datenbankabfragesystem basierend auf Spracherkennung
DE69828141T2 (de) Verfahren und Vorrichtung zur Spracherkennung
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
DE69837979T2 (de) System zum Extrahieren einer mehrsprachigen Terminologie
DE112019001533T5 (de) Erweiterung von trainingsdaten für die klassifikation von natürlicher sprache
DE602004004310T2 (de) System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen
DE102020205786A1 (de) Spracherkennung unter verwendung von nlu (natural language understanding)-bezogenem wissen über tiefe vorwärtsgerichtete neuronale netze
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE102013003055A1 (de) Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache
DE602005000308T2 (de) Vorrichtung für sprachgesteuerte Anwendungen
DE602004003609T2 (de) Lösung der Segmentierungsmehrdeutigkeit bei der Grammatikerstellung
DE202005022113U1 (de) Training für eine Text-Text-Anwendung, die eine Zeichenketten-Baum-Umwandlung zum Training und Decodieren verwendet
DE19847419A1 (de) Verfahren zur automatischen Erkennung einer buchstabierten sprachlichen Äußerung
DE102018007165A1 (de) Vorhersage von stilbrüchen innerhalb eines textinhalts
DE102018005611A1 (de) Automatische Paarbildung von Fonts unter Verwendung des asymmetrischen Metriklernens
DE10308550A1 (de) System und Verfahren zur automatischen Daten-Prüfung und -Korrektur
EP0797185A2 (de) Verfahren und Vorrichtung zur Spracherkennung
EP1273003B1 (de) Verfahren und vorrichtung zum bestimmen prosodischer markierungen
DE112020003506T5 (de) Natürlichsprachliche antworten in maschinenunterstützten agenten
DE112017007361T5 (de) Unterstützen von interaktivem textmining-prozess mit dialog in natürlicher sprache

Legal Events

Date Code Title Description
8364 No opposition during term of opposition