[go: up one dir, main page]

DE69717899T2 - Verfahren und Vorrichtung zur Spracherkennung - Google Patents

Verfahren und Vorrichtung zur Spracherkennung

Info

Publication number
DE69717899T2
DE69717899T2 DE69717899T DE69717899T DE69717899T2 DE 69717899 T2 DE69717899 T2 DE 69717899T2 DE 69717899 T DE69717899 T DE 69717899T DE 69717899 T DE69717899 T DE 69717899T DE 69717899 T2 DE69717899 T2 DE 69717899T2
Authority
DE
Germany
Prior art keywords
phrase
word
cost factor
automata
automaton
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 - Fee Related
Application number
DE69717899T
Other languages
English (en)
Other versions
DE69717899D1 (de
Inventor
Hiyan Alshawi
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Application granted granted Critical
Publication of DE69717899D1 publication Critical patent/DE69717899D1/de
Publication of DE69717899T2 publication Critical patent/DE69717899T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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
    • G10L15/193Formal grammars, e.g. finite state automata, context free grammars or word networks
    • 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
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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
    • 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
    • G10L15/197Probabilistic grammars, e.g. word n-grams

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)
  • Character Discrimination (AREA)

Description

    Technisches Gebiet
  • Die vorliegende Erfindung betrifft allgemein die Sprachenerkennung und insbesondere ein verbessertes Sprachenerkennungssystem, das ein probabilistisches lexikales Assoziationsmodell verwendet.
  • Allgemeiner Stand der Technik
  • Die Spracherkennung ist ein Vorgang, durch den eine unbekannte Sprachäußerung ("Eingangssignal") identifiziert wird. Die Spracherkennung umfaßt in der Regel eine Signalverarbeitungsstufe, in der mehrere Wortkettenhypothesen, d. h. mögliche Wortsequenzen, für das Eingangssignal vorgeschlagen werden. Die Aufgabe besteht darin, die "beste" Wortkette aus einer Menge von Hypothesen zu erkennen oder zu identifizieren, d. h. aus vorgeschlagenen Wortketten, die mit dem Eingangssignal vereinbar sind. Spracherkennungssysteme verwenden für diesen Zweck ein Sprachenmodell.
  • Typische Spracherkennungssysteme können ein quantitatives Sprachenmodell verwenden. Quantitative Modelle ordnen jeder Hypothese einen "Kostenfaktor" zu, wobei die Hypothese mit dem niedrigsten Kostenfaktor als die erkannte Wortkette ausgewählt wird.
  • Ein Beispiel für ein quantitatives Modell ist ein probabilistisches Sprachenmodell. Probabilistische Modelle weisen Wortketten Wahrscheinlichkeiten zu und wählen die Kette, die die höchste Wahrscheinlichkeit aufweist, ein gegebenes Eingangssignal darzustellen. Die Wahrscheinlichkeitsberechnung kann mit vielfältigen Verfahren durchgeführt werden. Ein solches Verfahren, das als das N-gramm-Modell bezeichnet wird, gibt die Wahrscheinlichkeit eines Worts, das Teil einer Kette ist, konditional an den vorherigen N - 1 Wörtern in der Kette an. Siehe zum Beispiel Jelinek et al., "Principles of Lexical Language Modeling for Speech Recognition", Adv. Speech Signal Processing, S. 651-699 (1992). Das N-gram-Modell ist insofern lexikalisch empfindlich, als die Parameter des Modells bestimmten lexikalischen Elementen, d. h. Worten zugeordnet werden. Durch diese Empfindlichkeit kann das Modell lokale Verteilungsmuster erfassen, die für bestimmte Wörter idiosynkratisch sind.
  • Ein zweites Verfahren, das als stochastische kontextfreie Grammatik bezeichnet wird, verwendet eine baumartige Datenstruktur, bei der Wörter in einem Eingangssignal als Randnoten eines Baums erscheinen. Wahrscheinlichkeiten werden als die Summe von Wahrscheinlichkeiten aller Baumableitungen zugewiesen, für die Wörter in der Kandidatenkette als Randnoten erscheinen. Siehe zum Beispiel Jelinek et al., "Computation of the Probability of Initial Substring Generation by Stochastic Context-Free Grammers", Computational Linguistics, Band 17(3), S. 315-324 (1991). Bei kontextfreien Grammatiken werden strukturelle Eigenschaften modelliert, d. h. die Wahrscheinlichkeit, daß eine Phrase einer bestimmten Kategorie, z. B. Nomen- oder Verbphrasen, in Teilphrasen spezifizierter Kategorien zerlegt werden kann.
  • Beide oben erwähnten Verfahren zum Bewerten der Wahrscheinlichkeit haben Nachteile. Das N-gram-Modell ist zwar lexikalisch empfindlich, erleidet jedoch, da es keine bedeutungsvollen Assoziationen mit großer Reichweite zwischen Wörtern erfassen kann, Nachteile. Wenn Grammatik ignoriert wird, gehen nützliche Informationen verloren, die nur aus grammatischen Beziehungen zwischen Wörtern abgeleitet werden können. Obwohl eine stochastische kontextfreie Grammatik gegenüber solchen grammatischen Beziehungen empfindlich ist, kann sie keine Assoziationen zwischen lexikalischen Elementen erfassen, die semantische Informationen wiedergeben, durch die eine Kette wesentlich wahrscheinlicher als eine andere wird. Ein Sprachenmodell, das nicht sowohl semantische als auch strukturelle Informationen berücksichtigt, hat unweigerlich durch Genauigkeitsverlust Nachteile.
  • Die Wahrscheinlichkeitsmodelle des Stands der Technik werden in der Regel zu einem großen Automaten zusammengestellt. Der oben erwähnte Nachteil der lexikalisch empfindichen Wahrscheinlichkeitsmodelle ist teilweise auf diese Struktur zurückzuführen. Die gewöhnlich für die Spracherkennung implementierten Automaten sind in der Regel auf eine Bewegung nach links oder rechts durch die Wortkettenhypothesen begrenzt und verarbeiten Wortketten wortweise. Als Folge gehen die Assoziationen mit großer Reichweite zwischen Wörtern verloren.
  • Eine Zusammenstellung von stochastischen kontextfreien Grammatiken oder besser Approximationen solcher Grammatiken zu einem großen Automaten begrenzt die Fähigkeit dieser Modelle, Assoziationen mit großer Reichweite zu erfassen, nicht. Wie bereits besprochen, werden solche Assoziationen aufgrund der Beschaffenheit des Modells erfaßt. Es besteht jedoch ein anderer Nachteil, der mit der Verwendung eines einzigen großen Automaten zusammenhängt und beide Arten von Wahrscheinlichkeitsmodellen betrifft. Bei der Zusammenstellung des Modells zu einem großen Automaten muß das vollständige Lexikon oder Vokabular des Sprachenmodells darin enthalten sein. Im typischen Fall einer Softwareimplementierung werden solche Automaten zu groß für Computer mit begrenztem RAM-Speicher.
  • Deshalb wird ein Sprachenmodell benötigt, das sowohl lexikalische als auch strukturelle Empfindlichkeit aufweist und bei Implementierung in Software kompakt genug ist, um auf Computern mit begrenztem RAM-Speicher installiert zu werden.
  • Kurze Darstellung der Erfindung
  • Es werden Verfahren und Vorrichtungen für ein verbessertes Sprachenmodell und Sprachenerkennungssysteme offengelegt. Gemäß der in den Ansprüchen 1-13 definierten vorliegenden Erfindung steuern mehrere "kleine" Automaten das Sprachenmodell an. Jeder dieser Automaten hat die Fähigkeit, ein Paar von Sequenzen zu erkennen, wobei eines nach links und das andere nach rechts abgetastet wird. Jeder Automat, der hier als lexikalischer Kopfautomat bezeichnet wird, entspricht einem Wort im Vokabular des Sprachenmodells. Gemäß den vorliegenden Verfahren werden nur die lexikalischen Kopfautomaten aktiviert, die den in den Wortkettenhypothesen enthaltenen Wörtern entsprechen.
  • Durch die aktivierten lexikalischen Kopfautomaten werden Phrasen aus den in den Wortkettenhypothesen enthaltenen Wörtern durch eine Reihe von Links- und Rechtsübergängen aufgebaut oder abgeleitet. Die lexikalischen Kopfautomaten erzeugen mehrere solcher Phrasen für die verschiedenen Wörter, während sie Assoziationen mit anderen Wörtern in den Wortkettenhypothesen bilden. Die lexikalischen Kopfautomaten berechnen inkrementell einen "Kostenfaktor" für die abgeleiteten Phrasen. Der Kostenfaktor hängt mit der Wahrscheinlichkeit zusammen, daß die abgeleitete Phrase mit dem Eingangssprachensignal übereinstimmt. Die Phrase mit dem niedrigsten Kostenfaktor wird als die Phrase ausgewählt, die dem Eingangssprachensignal entspricht.
  • Wie bereits erwähnt, verwendet das vorliegende Verfahren eine begrenzte Menge "kleiner" lexikalischer Kopfautomaten, entsprechend den Wörtern in den Wortkettenhypothesen, anstelle eines "großen" Automaten, der das gesamte Vokabular enthält. Folglich können die vorliegenden Verfahren und Vorrichtungen mit wesentlich weniger RAM-Speicher als vorbekannte Sprachenerkennungssysteme implementiert werden.
  • Die Automaten der vorliegenden Erfindung, die ein Paar von Sequenzen erkennen, unterscheiden sich von sogenannten "zweiseitigen" Automaten, die sich entweder nach links oder nach rechts bewegen können, aber nur eine einzige Sequenz erkennen. Solche zweiseitigen Automaten sind in der Technik bekannt und besitzen dieselbe Erkennungsleistung wie Automaten, die sich nur von links nach rechts bewegen können. Siehe zum Beispiel Hopcroft et al., Introduction to Automata Theory, Languages and Computation, (Addison Wesley, 1979).
  • Ungeachtet solcher zweiseitigen Automaten sind die in der Regel im Stand der Technik zur Spracherkennung verwendeten Automaten auf die Verarbeitung von Wortketten durch Bewegung von links nach rechts begrenzt, während die in der vorliegenden Erfindung verwendeten lexikalischen Kopfautomaten die Eingabe gleichzeitig nach links und nach rechts bestimmter Wörter in der Mitte der Kette abtasten. Dies führt zu genaueren Vorhersagen angrenzender Wörter, da die Verarbeitung mit einem weniger häufigen Wort beginnen kann, wodurch die Möglichkeiten für das angrenzende Wort begrenzt werden. Man betrachte den folgenden Beispielsatz: "Ich will den Transistor". Ein Automat, der auf eine Verarbeitung von links nach rechts beschränkt ist, muß das Wort wählen, das "den" folgt, d. h. "ich will den?". Es ist anzunehmen, daß sehr viele Wörter in dem bestimmten Vokabular, das verwendet wird, geeignet dem Wort "den" in dem Beispielsatz folgen können. Die lexikalischen Kopfautomaten der vorliegenden Erfindung, die in beiden Richtungen verarbeiten, sind frei, mit dem Wort "Transistor" zu beginnen und das vorherige Wort zu wählen. Es gibt wesentlich weniger Wahlmöglichkeiten für Wörter, die geeignet dem Wort "Transistor" vorausgehen können, als Wörter, die dem Wort "den" folgen.
  • Durch Verwendung mehrerer kleiner lexikalischer Kopfautomaten sind die vorliegenden Verfahren und Vorrichtungen sowohl lexikalisch als auch strukturell empfindlich. Lexikalische Zuordnungen werden erfaßt, da an jedem Kopfautomatenübergang Kostenfaktoren beteiligt sind, die an bestimmte lexikalische Elemente, d. h. Wortzuordnungen, gebunden sind. Die implizit in der hierarchischen Organisation eines Satzes vorliegenden strukturellen Assoziationen werden als Folge der Kaskade lexikalischer Kopfautomaten erfaßt.
  • Kurze Beschreibung der Zeichnungen
  • Weitere Merkmale der Erfindung werden aus der folgenden ausführlichen Beschreibung spezifischer Ausführungsformen in Verbindung mit den beigefügten Zeichnungen deutlicher. Es zeigen:
  • Fig. 1 ein Verfahren gemäß der vorliegenden Erfindung zum Implementieren eines Spracherkennungssystems;
  • Fig. 2 eine Darstellung eines Wortverbands;
  • Fig. 3 ein Diagramm von Zustandsübergängen für einen beispielhaften lexikalischen Kopfautomaten gemäß der vorliegenden Erfindung;
  • Fig. 4 eine Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung zur Erzeugung mehrerer Phrasendatensätze zur Auswahl der besten Wahl mehrerer Wortkettenhypothesen;
  • Fig. 5 eine beispielhafte Teilphrasenableitung, die durch die vorliegenden Verfahren und Vorrichtungen für eine einfache Wortkette erzeugt wird; und
  • Fig. 6 die lexikalischen Kopfautomaten und Übergängen, die zur Erzeugung der Teilphrasenableitung von Fig. 5 erforderlich sind.
  • Ausführliche Beschreibung
  • Die vorliegende Erfindung betrifft Sprachenmodellierungsverfahren zur Verwendung in vielfältigen Sprachenerkennungsanwendungen. Die Rolle des Sprachenmodells bei der Sprachenerkennung umfaßt eine Identifizierung der "besten" Wortkette aus einer Menge von Wortkettenhypothesen, die von anderen Teilen des Sprachenerkennungssystems abgeleitet werden. Die vorliegende Erfindung wird im Kontext der Spracherkennung beschrieben. Es versteht sich jedoch, daß die vorliegenden Verfahren auch auf alle Modalitäten der Sprachenerkennung anwendbar sind, darunter ohne Einschränkung die Handschrifterkennung und optische Zeichenerkennung. Außerdem versteht sich, daß die vorliegenden Verfahren als Software oder als Hardware implementiert werden können.
  • Fig. 1 ist eine Darstellung eines Sprachenerkennungsverfahrens gemäß der vorliegenden Erfindung. Auf seine Grundlagen reduziert, kann ein solches Verfahren Sprachsignalverarbeitung (SSP), Sprachenanalyse (LA) und Anwendungsverarbeitung (AP) umfassen.
  • Das Verfahren beginnt mit der Sprachsignalverarbeitung SSP, bei der ein Sprachsignal angenommen und eine Menge von mit diesem Sprachsignal zu vereinbarenden Wortkettenhypothesen erzeugt wird. Bei einem Spracherkennungssystem werden die Wortkettenhypothesen durch ein sogenanntes "akustisches Modell" erzeugt. Solche Modelle sind Fachleuten wohl bekannt.
  • Genauer gesagt, umfaßt die Sprachsignalverarbeitung SSP eine Umsetzung eines analogen Sprachsignals in ein digitales Sprachsignal im Operationsblock 10 und ein Suchen mit einem Erkennungsnetzwerk und ein Erzeugen von Wortkettenhypothesen im Operationsblock 15. Bei Verwendung in den vorliegenden Sprachenerkennungsverfahren erzeugt diese Signalverarbeitung die Wortkettenhypothesen als Wortsequenzierung, gleichgültig, ob ein Sprachsignal verarbeitet wird oder ob diese Verarbeitung andere Modalitäten der Sprachenerkennung betrifft. Diese Wortsequenzierung kann ohne Einschränkung eine explizite Menge von Kandidatenwortketten oder vorzugsweise eine Wortverbanddatenstruktur umfassen. Der Wortverband ist ein wohlbekanntes Konstrukt zum Speichern einer Ansammlung möglicher Zeichenketten, wobei eine gemeinsame Nutzung von Teilketten erlaubt ist. Die in den Operationsblöcken 10 und 16 referenzierten Techniken sind in der Technik wohl bekannt.
  • Die Sprachenanalyse LA nimmt die Wortkettenhypothesen an und wählt aus diesen unter Verwendung eines Sprachenmodells gemäß den vorliegenden Lehren die beste Wortkette. Die Verfahren und Vorrichtungen der vorliegenden Erfindung betreffen insbesondere diesen Aspekt des Sprachenerkennungsprozesses. Das vorliegende Sprachenmodell kann dann in einem Sprachenerkennungssystem, wie zum Beispiel dem gerade beschriebenen Spracherkennungssystem, implementiert werden.
  • Genauer gesagt werden die Wortkettenhypothesen im Operationsblock 20 aus der Sprachsignalverarbeitung SSP empfangen. Das Sprachenmodell wird angewandt, um eine Liste möglicher Wortketten oder Phrasen entsprechend dem Eingangssprachsignal zu erzeugen und einzustufen (Operationsblock 22). Im Operationsblock 24 wird die beste Wortkette gewählt, und, wie im Operationsblock 26 angegeben, die beste Wortkette wird zu der Anwendungsverarbeitung AP gesendet. Die Anwendungsverarbeitung nimmt somit die beste Kette an und verarbeitet diese Kette dann je nachdem, z. B. Übersetzung, Transkription oder dergleichen. Nachdem nun beschrieben wurde, wo Verfahren und Vorrichtungen für das vorliegende Sprachenmodell in den Sprachenerkennungsprozeß bzw. in das Sprachenerkennungssystem gemäß der vorliegenden Erfindung passen, sollen nun das vorliegende Sprachenmodell und Verfahren zu seiner Implementierung ausführlich beschrieben werden.
  • Wie bereits beschrieben, empfängt die Sprachenanalyse LA eine Menge von Wortkettenhypothesen. Vorzugsweise liegen diese Wortketten in Form eines Wortverbands, d. h. eines gerichteten azyklischen Graphen, vor. Ein beispielhafter Wortverband ist in Fig. 2 dargestellt. Der Wortverband enthält eine Menge von Anfangsknoten I, die in Fig. 2 durch 10 dargestellt ist, und eine Menge von Endknoten J, die in Fig. 2 durch j1 und j2 dargestellt ist. Die durch den Wortverband dargestellten Hypothesen entsprechen möglichen Wegen von der Menge von Anfangsknoten I zu der Menge von Endknoten J.
  • Der Wortverband ist außerdem durch mehrere "Verbandbogen" oder "Wortbogen" gekennzeichnet, die mit einem Wort w zwischen zwei Positionen gekennzeichnet werden, die Zeitpunkte für Sprache darstellen. Die Bogen werden außerdem mit einem Kostenfaktor co gekennzeichnet, der wiedergibt, wie gut das Wort mit diesem Teil des Eingangssignals übereinstimmt. Zum Beispiel sind in Fig. 2 die Wortbogen mit w&sub0;, c0 bis w8, c8 gekennzeichnet. Der Verband und die Kostenfaktoren werden während der Sprachsignalverarbeitung SSP unter Verwendung von in der Technik wohl bekannten Techniken erzeugt. Der Wortbogenkostenfaktor wird von dem vorliegenden Verfahren akkumuliert und trägt somit zu dem Kostenfaktor einer Phrase bei, wodurch er eine Rolle bei der Bestimmung der besten Phrase spielt.
  • Die Menge von Bogen in dem Eingangswortverband kann somit durch eine Menge von Datensätzen der Form < w,i, j,co> dargestellt werden, wobei i und j Indizes für die Verbandknoten sind. Bei einem Verband, der aus einem Sprachsignal erzeugt wird, ist die gewöhnliche Interpretation für einen solchen Bogendatensatz, daß das Wort w mit dem Eingangssprachensignal von der Zeitposition i bis zu der Zeitposition j mit dem Kostenfaktor co übereinstimmt.
  • Nachdem sie einen Wortverband erhalten, werden die lexikalischen Kopfautomaten für die in dem Verband vorliegenden Wörter aktiviert. Jeder lexikalische Kopfautomat besteht aus einer endlichen Menge von Zuständen Q und einer Aktionstabelle T mit Kostenfaktoren. Einträge in der Aktionstabelle können entweder Beginnaktionen, Linksübergänge, Rechtsübergänge oder Stoppaktionen sein. Die Notation C(A,m) stellt den Gesamtkostenfaktor einer Sequenz von Aktionen A = a1...ak dar, die von einem lexikalischen Kopfautomaten m unternommen wird, wobei a&sub1; die Startaktion und ak eine Stoppaktion ist. C(A,m) ist somit die Summe der Kostenfaktoren für Aktionen in der Sequenz A.
  • Fig. 3 ist ein Diagramm von Zustandsübergängen für einen beispielhaften lexikalischen Kopfautomaten gemäß der vorliegenden Erfindung. Die Knoten q1-q6 stellen verschiedene Zustände des lexikalischen Kopfautomaten dar. Bogen zwischen den Knoten zeigen Zustandsübergänge, wobei der Kopfautomat eine Phrase aufbraucht, wie durch w "n", z. B. w&sub2; usw. angegeben wird. Die Zustandsübergänge können als Links- oder Rechtsaktionen gekennzeichnet werden, wie durch die Richtung des Pfeils neben der Phrase angegeben wird. Zum Beispiel bewegt sich der beispielhafte lexikalische Kopfautomat von Zustand 1 zu Zustand 2 durch Aufbrauchen der Phrase w&sub2; in einem Linksübergang. Der Automat verfolgt zwei Positionszeiger in der Kette. Ein Linksübergang bewegt den Linkszeiger nach links und ein Rechtsübergang bewegt den Rechtszeiger nach rechts. Die Pfeilspitzen bei q1 und q2 zeigen an, daß sich an diesen Zuständen ein endlicher Startaktionskostenfaktor befindet. Anders ausgedrückt sind diese wahrscheinliche Startpunkte für die Phrase. Die anderen Zustände weisen unendliche Startaktionskostenfaktoren auf und sind somit unwahrscheinliche Startpunkte für die Phrase. Die konzentrischen Kreise bei q3 und q6 zeigen an, daß an diesen Zuständen ein endlicher Stoppaktionskostenfaktor besteht.
  • Der lexikalische Kopfautomat für ein Wort w baut eine Phrase, d. h. eine Anordnung der Wörter in dem Verband, durch eine Reihe von Links- oder Rechtsübergängen auf bzw. leitet diese ab. Bei jedem Übergang wird die Phrase durch "aufbrauchen" einer angrenzenden Phrase erweitert, die ihrerseits durch einen anderen lexikalischen Kopfautomaten für ein Wort w' als eine "Teilphrasenableitung" gebildet wurde. Eine solche Bewegung entspricht der Bildung einer Assoziation zwischen w, "dem Kopf", und w', "dem Abhängigen". Somit erzeugen die lexikalischen Kopfautomaten für die verschiedenen Wörter mehrere solcher Phrasen, während sie Assoziationen mit anderen Wörtern in dem Wortverband bilden. Ein Beispiel für eine Teilphrasenableitung, lexikalische Kopfautomaten und die eigentlichen Übergänge für die Automaten, so wie sie gemäß der vorliegenden Erfindung zur Erkennung eines Probensatzes erzeugt werden, werden später in der vorliegenden Beschreibung vorgestellt.
  • Das Verfahren wird durch Hinzufügen solcher Phrasen in verschiedenen Zuständen der Vervollständigung zu einem Phrasenverband fortgesetzt. Dieser Verband, der von dem Wortverband unterschieden wird, ist eine Menge von Phrasendatensätzen, die jeweils einem bestimmten Zustand des Ausführens eines lexikalischen Kopfautomatens für ein bestimmtes Wort entsprechen. Ein Phrasendatensatz enthält die folgenden Felder: < w,s,i,j,q,m,c> . In dem Datensatz ist w der Kopf einer Phrase (möglicherweise unvollständig), der in seiner aktuellen Phase der Vervollständigung die Positionen i bis j überspannt. Die Phrase ist gemäß dem lexikalischen Kopfautomaten m aufgebaut, wobei der aktuelle Zustand von m q ist. Außerdem ist s die Ausgabewortliste, die bis zu diesem Punkt konstruiert wurde, und c die aktuelle Bewertung, die der Phrasenhypothese zugeordnet ist. Die aktuelle Bewertung ist die Summe der auf diesen Punkt in der Bildung der Phrase angewandten Kostenfaktoren.
  • Der Kostenfaktor für eine Phrase wird durch die lexikalischen Kopfautomaten berechnet. Jede Bewegung des Kopfautomaten trägt um einen Betrag zu dem Kostenfaktor der Phrase bei, der von dem Zustand des Automaten und den Identitäten der beiden Wörter w und w' abhängt. Die Phrase oder Wortkette, die von dem Verfahren ausgewählt wird, ist die mit dem niedrigsten Kostenfaktor, die den vollständigen Wortverband überspannt, d. h. vom Start des Eingangssprachsignals zum Ende dieses Signals.
  • Der Kostenfaktor zum Ableiten einer den gesamten Verband überspannenden Phrase umfaßt die Kostenfaktoren von Automatenaktionen, die zu der Ableitung führen, zusammen mit zusätzlichen Kostenfaktoren für das Zuordnen von Automaten zu Wörtern und für Zuordnungen zwischen jedem Kopfwort und seinen abhängigen Wörtern. Die zusätzlichen Kostenparameter umfassen Zuordnungsparameter, die den Kostenfaktor für ein Wort wi angeben, das der Kopf des Worts wj ist: wj:C(h(wi wj)), und lexikalische Parameter, die den Kostenfaktor für das Wort w, laufender Automat, zuführen m:C(m,w). Jede Paarung zwischen einem Wort und einem Automaten zusammen mit dem entsprechenden lexikalischen Parameter erscheint als ein Eintrag in ein Lexikon oder Wörterbuch. Es versteht sich, daß mehr als ein Eintrag, d. h. Automat, pro Wort in dem Lexikon vorliegen kann. Der Grund dafür besteht darin, daß ein gegebenes Wort auf mehr als eine Weise verwendet werden kann, wie zum Beipiel als Nomen oder als Verb.
  • Der Kostenfaktor C(Do,wo) einer Teilphrasenableitung Do mit einem Kopfwort wo ist die Summe des lexikalischen Kostenfaktors für die Auswahl eines Automaten mo, des Kostenfaktors von Automatenaktionen Ao, die von mo bei der Ableitung unternommen werden, der Zuordnungsparameter für das Zuordnen von wo zu seinen abhängigen Wörtern w&sub1;...wm und der Kostenfaktoren von Ableitungen der Teilphrasen, denen diese Abhängigen voranstehen, rekursiv berechnet:
  • C(Do,wo) = C(mo,wo) + C(Ao, mo) + &Sigma;1&le;m&le;nC(h(wo,wm)) + C (Dm,wm)
  • Zur Berechnung des Kostenfaktors einer Phrase können verschiedene Kostenfunktionen verwendet werden. Gewöhnlich basiert die Kostenfunktion auf Wahrscheinlichkeiten, wobei weniger wahrscheinliche Wortassoziationen zu höheren Kostenfaktoren führen. Auf diese Weise gibt der Kostenfaktor Assoziationen mit großer Reichweite zwischen Wörtern in einer Kette wieder. Kostenfunktionen werden später in der vorliegenden Beschreibung ausführlicher beschrieben.
  • Das Verfahren, durch das die lexikalischen Kopfautomaten den Wortverband analysieren, wird später ausführlicher beschrieben. Bei einer bevorzugten Ausführungsform wird, während Phrasen verlängert werden, ein laufender Kostenfaktor solcher Phrasen berechnet, so daß Phrasen zurückgeschnitten werden können, wenn es offensichtlich wird, daß sie nicht Teil der Phrase mit dem niedrigsten Kostenfaktor sein werden. Vorzugsweise wird für diesen Zweck eine hash- Tabelle verwendet. Die Einträge in der hash-Tabelle umfassen einen Hash-Schlüssel < w,i,j,q,m> und einen hash-Wert, der ein Zeiger auf den Phrasendatensatz ist. Die hash-Tabelle führt einen Zeiger auf den Phrasendatensatz mit dem niedrigsten Kostenfaktor, der zwischen i und j gefunden wird, dem w voransteht, in Zustand q des Automaten m. Die Informationen, aus denen der hash-Schlüssel besteht, werden als "Vollzustand" bezeichnet, und c als der "Vollzustandskostenfaktor".
  • Das Verfahren zur Analyse des Wortverbands weist vorzugsweise eine Steuerstruktur des Typs "bottom-up" auf, die der für kontextfreie Analysealgorithmen wie zum Beispiel CKY ähnelt, die von Younger beschrieben werden, und verwendet Datenstrukturen, die den Strukturen bei der sogenannten "chart-Analyse" ähneln, die von Early beschrieben wird. Siehe Younger, D., "Recognition and Parsing of Context-Free Languages in Time n³", Information and Control, Band 10, S. 189-208, 1967; Early, J., "An Efficient Context-Free Parsing Algorithm", Co mm. Of the ACM, Band 14, S. 453-460, 1970. Das vorliegende Verfahren wird durch die lexikalischen Kopfautomaten für Wörter in dem Wortverband angesteuert.
  • Fig. 4 zeigt eine Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung, durch das die mehreren lexikalischen Kopfautomaten zur Erzeugung mehrerer Phrasendatensätze verwendet werden, aus denen ein bester Phrasensatz, d. h. die beste Wortkette, ausgewählt wird. Somit zeigt Fig. 4 ein Verfahren gemäß der vorliegenden Erfindung zur Erzielung des Schrittes 22 von Fig. 1. Wie im Operationsblock 100 dargestellt, wird der von dem Sprachsignalprozessor SSP erzeugte Wortverband empfangen. Das Verfahren beginnt mit einem Initialisierungsschritt, der durch die Operationsblöcke 105 bis 120 erzielt wird, die zusammen durch die Bezugszahl 130 identifiziert werden. Die Initialisierung findet statt, indem zu einer Warteschlange eine Menge von Phrasendatensätzen < w,[w],i,j,m,q&sub0;,c> hinzugefügt wird, die aus dem Wortverband entwickelt wurde. Ein solcher Phrasendatensatz wird für jedes Element < w,i,j,c&sub0;> in dem Wortverband und jeden Eintrag (m,w) in dem Lexikon hinzugefügt. Somit wird im Operationsblock 105 ein lexikalischer Kopfautomat aktiviert, der einem der Wörter in dem Wortverband entspricht. Genauer gesagt wird ein lexikalischer Kopfautomat, der einem Wort w aus dem Wortverband entspricht, aus einem in einer Speichereinrichtung gespeicherten Lexikon abgerufen. Der dem Wort w entsprechende Lexikoneintrag enthält einen Automaten m und einen Kostenfaktor c&sub1; = C(m,w). Der Automat m enthält eine Startaktion mit einem Kostenfaktor c&sub2; = C(start,qo,m). Der Kostenfaktor c jedes Phrasendatensatzes ist die Summe des lexikalischen Kostenfaktors c&sub1;, des Automatenstartkostenfaktors c&sub2; und des Wortbogenkostenfaktors co, der von der Spracherkennungsvorrichtung 10 zugewiesen wird. Alle lexikalischen Kopfautomaten für jeden Wortbogen in dem Wortverband werden durch die durch die Entscheidungsblöcke 115 und 105 eingerichteten Schleifen aktiviert.
  • Die übrigen Operations-/Entscheidungsblöcke 140-195 bilden eine Schleife, die Elemente aus der Warteschlange aufbraucht und neue Phrasendatensätze erzeugt. Der Entscheidungsblock 140 fragt ab, ob die Warteschlange leer ist. Wenn die Warteschlange leer ist, wurden alle Phrasendatensätze mit niedrigem Kostenfaktor, die aus dem Eingangswortverband entwickelt werden können, soweit wie möglich verlängert. Der Phrasenverband, d. h. die Ansammlung von Phrasendatensätzen, der von den vorliegenden Verfahren entwickelt wird, wird dann nachverarbeitet, um die beste Wortkette auszubilden, wie im Operationsblock 200 angegeben. Diese Nachverarbeitung wird später ausführlicher beschrieben. Wenn die Warteschlange nicht leer ist, wird die Verarbeitung im Operationsblock 145 fortgesetzt, in dem ein Phrasendatensatz aus der Warteschlange entfernt wird. Bei einer bevorzugten Ausführungsform des vorliegenden Verfahrens wird der Kostenfaktor c des Phrasendatensatzes mit der Phrase mit dem niedrigsten Kostenfaktor, d. h. dem Vollzustandskostenfaktor, in der hash-Tabelle verglichen (Block 150). Wenn der Kostenfaktor c des betrachteten Phrasendatensatzes ("die aktuelle Phrase") nicht kleiner als der Vollzustandskostenfaktor ist, wird die aktuelle Phrase verworfen oder "zurückgeschnitten". Die Verarbeitung kehrt dann zum Block 140 zurück, um zu bestimmen, ob ein weiterer Phrasendatensatz verfügbar ist. Wenn der aktuelle Phrasendatensatz einen geringeren Kostenfaktor als die Phrase mit dem niedrigsten Kostenfaktor in der hash-Tabelle aufweist, wird sie im Operationsblock 155 zu dem Phrasenverband hinzugefügt. Block 150 ist zwar nicht als Schritt in dem vorliegenden Verfahren erforderlich, verbessert aber die Effizienz, da er eine Erzeugung von Phrasendatensätzen, die später verworfen werden, vermeidet.
  • Wenn nach dem Hinzufügen des Phrasendatensatzes zu dem Phrasenverband im Operationsblock 155 der Phrasendatensatz einer anderen Phrase benachbart ist, dann kann eine Kombinationsaktion stattfinden. Somit fragt der Entscheidungsblock 160 ab, ob es weitere Phrasen gibt oder nicht, mit denen kombiniert werden kann. Wenn nicht, kehrt die Verarbeitung in einer Schleife zum Entscheidungsblock 140 zurück. Wenn weitere Phrasen vorliegen, führt eine Kombinationsoperation, die durch die zusammen durch die Bezugszahl 180 identifizierten Operationsblöcke durchgeführt wird, zu einem neuen Datensatz für eine verlängerte Phrase. Die alten Datensätze verbleiben in dem Verband. Es sind zwei Arten von Kombinationen möglich, Linkskombination und Rechtskombination. Bei einer Linkskombination führt der Automat für den Phrasendatensatz nach rechts wie unten beschrieben eine Linksaktion durch. Wenn der Verband einen ersten Phrasendatensatz < w&sub1;,s&sub1;,i,k,m&sub1;,q&sub1;,c&sub1;> links von einem zweiten Phrasendatensatz < w&sub2;,s&sub2;,k,j,m&sub2;,q&sub2;,c&sub2;> enthält, m² eine Linksaktion mit einem Kostenfaktor c&sub3; = C(left,q'&sub2;,q&sub2;,m&sub2;) enthält und ml eine Stoppaktion mit einem Kostenfaktor c&sub4; = C(stop,q&sub1;,m&sub1;) enthält, dann ergibt die im Operationsblock 165 durchgeführte Kombination die folgende verlängerte Phrase: < w&sub2;,s'&sub2;,i,j,m&sub2;,_,_> , wobei s'&sub2; = concatenate (s&sub1;,s&sub2;). Eine Rechtskombination ist das Spiegelbild einer Linkskombination. Im Operationsblock 170 wird gemäß dem Automatenübergang ein neuer Zustand gesetzt. Bei dem obigen Beispiel ist der neue Zustand q'&sub2;, so daß die verlängerte Phrase folgendermaßen lautet: < w&sub2;,s'&sub2;,i,j,m&sub2;,q'&sub2;,_> . Der Kostenfaktor der neuen Phrase wird im Operationsblock 175 bestimmt. Der neue Kostenfaktor ist die Summe des Automatenübergangskostenfaktors, des Wortassoziationskostenfaktors, des Phrasenaufbrauchkostenfaktors, des aufgebrauchte-Phrase-Kostenfaktors und des aufgebrauchter-Automat-Stop-Kostenfaktors. Bei dem obigen Beispiel wird der neue Kostenfaktor c'&sub2; gegeben durch c'&sub2; = c&sub1; + c&sub2; + c&sub3; + c&sub4; + C(h(w&sub2;,w&sub1;)). Der verlängerte Phrasendatensatz lautet dann: < w&sub2;,s'&sub2;,i,j,m&sub2;,q'&sub2;,c'&sub2;> .
  • Für jeden aus der Kombinationsoperation 180 entstehenden Phrasendatensatz wird im Block 185 der Kostenfaktor des Datensatzes mit dem Vollzustandskostenfaktor in der Hash-Tabelle verglichen. Wenn der Kostenfaktor des neuen Phrasendatensatzes höher als der Vollzustandskostenfaktor ist, dann kehrt die Verarbeitung zum Operationsblock 160 zurück, ohne den neuen Phrasendatensatz zu der Warteschlange hinzuzufügen, so daß er effektiv verworfen wird. Wenn der Kostenfaktor des neuen Phrasendatensatzes kleiner als der Vollzustandswert ist, dann wird der hash-Tabelleneintrag im Schritt 190 mit dem neuen Datensatzzeiger aktualisiert und der alte Vollzustandsdatensatz wird aus dem Phrasenverband entfernt. Der neue Phrasendatensatz mit niedrigem Kostenfaktor wird dann im Schritt 195 zu der Warteschlange hirnzugefügt und die Verarbeitung wird im Block 160 fortgesetzt.
  • Nachdem die Warteschlange geleert wurde, wird die Verarbeitung im Operationsblock 200 fortgesetzt, in dem die folgenden Schritte durchgeführt werden, um die Wortkette mit dem niedrigsten Kostenfaktor auszuwählen. Als erstes wird eine Liste aller Verbandsdatensätze < w,s,i,j,q,m,c> aus einem Anfangsknoten i I zu einem Endknoten j J zusammengestellt. Für jeden Datensatz in der Liste addiert man den Kostenfaktor für den Automat m, der im Zustand q anhält, d. h. C(stop,q,m). Darnach wählt man die Kette s aus dem Datensatz mit dem niedrigsten Gesamtkostenfaktor. Wenn es mehrere solcher überspannenden Phrasen mit minimalem Kostenfaktor gibt, dann wird vorzugsweise einer zufällig gewählt.
  • Bezüglich Kostenparametern erfordern die vorliegenden Verfahren keine spezifische Interpretation der verschiedenen Kostenparameter für Automatenaktionen und lexikalische und Assoziationskosten, außer der allgemeinen Anforderung, daß niedrigere Kostenfaktoren erwünschteren Ketten entsprechen. Es gibt Fachleuten bekannte Verfahren zur Bereitstellung spezifischer Kostenfunktionen, die auf die vorliegenden Verfahren anwendbar sind. Vorzugsweise ist die Kostenfunktion negierte log-likelihood. Ein Verfahren zur Ableitung von log-likelihood-Kosten für die Verfahren der vorliegenden Erfindung wird nachfolgend beschrieben. Die Automatenaktionen, lexikalischen Auswahlen und Zuordnungsauswahlen werden als Ereignisse in einem generativen Modell, spezifisch einem probabilistischen Modell zur Erzeugung von Wortketten, genommen. Aus gesammelten Daten für die konkrete Spracherkennungsanwendung wird eine Menge von Eingangssprachäußerungssignalen transkribiert.
  • Das in Fig. 4 dargestellte Verfahren zur Erzeugung von Phrasendatensätzen wird über die von der Sprachsignalverarbeitung erzeugten Wortverbände ausgeführt, wobei ein Zählwert von Automatenaktionen, lexikalischen Automatenauswahlen und Wortassoziationsauswahlen, die zu den transkribierten Ketten für jedes Sprachäußerungssignal führen, geführt wird. Als nächstes werden aus diesen Zählwerten mit standardmäßigen statistischen Verfahren Wahrscheinlichkeiten abgeschätzt. Für jede abgeschätzte Wahrscheinlichkeit P(e) für ein Ereignis e setzt man den Kostenfaktor für e auf -log(P(e)).
  • Es versteht sich, daß auch andere Fachleuten bekannte Verfahren zur Abschätzung von Wahrscheinlichkeiten verwendet werden können, wie zum Beispiel Maximierung des Erwartungswerts. Außerdem können andere Kostenfunktionen als log-likelihood verwendet werden, wie zum Beispiel ohne Einschränkung das likelihood-Verhältnis. Das likelihood-Verhältnis ist das Verhältnis der Anzahl, wie oft eine bestimmte Automatenaktion oder -auswahl beim Training zu der falschen Kette führte und der Anzahl, wie oft sie zu der Auswahl der transkribierten Kette führte.
  • Beispiele
  • Fig. 5 zeigt eine beispielhafte Teilphrasenableitung, die von den vorliegenden Verfahren und Vorrichtungen für die Kette "Please show me the cheapest flights from Boston to Newark" erzeugt wurde. Fig. 6 zeigt beispielhafte lexikalische Kopfautomaten, die den Wörtern in diesem Satz zugeordnet sind. Die tatsächlichen Übergänge, die zur Erkennung der Kette erforderlich sind, sind in Fig. 6 als durchgezogene Linien gezeigt. Einige wenige der vielen anderen möglichen Übergänge, die bei dieser konkreten Ableitung nicht genommen wurden, sind als gestrichelte Linien gezeigt. Die Notation "-> " zeigt einen Rechtsübergang und die Notation "< -" einen Linksübergang an. Die Wörter, unter denen die Automaten in dem Lexikon erscheinen würden, sind neben den Startzuständen gezeigt, d. h. q1, q4, q7 usw.
  • Die Übergänge, die die lexikalischen Kopfautomaten bei der Erkennung der Kette "Please show me the cheapest flights from Boston to Newark" genommen werden, die in Fig. 6 gezeigt sind, werden nachfolgend beschrieben. Es werden Startaktionen für alle Wörter in der Kette genommen: "please" bei q9, "show" bei q1, "me" bei q8, "the" bei q7, "cheapest" bei q16, "from" bei q10, "Boston" bei q14, "to" bei q12 und "Newark" bei q15. Die Wörter für die folgenden Automaten nehmen Stoppaktionen, da für diese keine Übergänge möglich sind: "please", "me", "the", "cheapest", "Boston" und "Newark". Der Automat für das Wort "from" nimmt einen Rechtsübergang von q10 nach q11, wobei der Automat für das Wort "Boston" aufgebraucht wird, und stoppt, wobei eine vollständige Phrase "from Boston" gebildet wird. Der Automat für das Wort "to" nimmt einen Rechtsübergang von q12 nach q13, wobei der Automat für das Wort "Newark" aufgebraucht wird, und stoppt, wodurch eine vollständige Phrase "to Boston" gebildet wird. Dadurch wird die niedrigste Ebene der in Fig. 5 gezeigten Teilphrasenableitung abgeschlossen.
  • Der Automat für das Wort "flights" nimmt einen Linksübergang von q4 nach q5, wobei der Automat für das Wort "cheapest" aufgebraucht wird, einen Rechtsübergang von q5 zurück nach q5, wobei die Phrase "from Boston" aufgebraucht wird, und einen weiteren Rechtsübergang von q5 zurück nach q5, wobei die Phrase "to Newark" aufgebraucht wird, einen Linksübergang von q5 nach q6, wobei der Automat für das Wort "the" aufgebraucht wird und hält an. Dadurch wird die Erkennung der Phrase "the cheapest flights from Boston to Newark" entsprechend den beiden niedrigsten Ebenen der in Fig. 5 gezeigten Teilphrasenableitung abgeschlossen.
  • Der Automat für das Wort "show" nimmt einen Linksübergang von q1 zurück nach q1, wodurch der Automat für das Wort "please" aufgebraucht wird, einen Rechtsübergang von q1 nach q2, wobei der Automat für das Wort "me" aufgebraucht wird, einen Rechtsübergang von q2 nach q3, wobei die Phrase, die mit "flights" anfängt, aufgebraucht wird, d. h. "the cheapest flights from Boston to Newark", und hält an. Dadurch wird die gesamte in Fig. 5 gezeigte Ableitung und die Erkennung von "Please show me the cheapest flights from Boston to Newark" abgeschlossen.
  • Es versteht sich, daß die hier beschriebenen Ausführungsformen lediglich die Prinzipien der vorliegenden Erfindung veranschaulichen, und daß verschiedene Modifikationen auftreten können und von Fachleuten implementiert werden können, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Obwohl die hier beschriebenen Ausführungsformen die Spracherkennung betreffen, können die vorliegenden Verfahren zum Beispiel auch in anderen Arten von Sprachenerkennungssystemen eingesetzt werden.

Claims (13)

1. Verfahren zur Sprachenerkennung, bei dem ein die zu erkennende Sprache anzeigendes Signal erzeugt wird, mit den folgenden Schritten:
Erzeugen von Kandidaten-Wortketten für das Signal;
Auswählen unter den Kandidaten durch Verwendung eines Sprachenmodells unter Verwendung mehrerer Automaten, wobei jeder Automat ein Paar von Sequenzen erkennen kann, wobei eine Sequenz nach links und die andere nach rechts abgetastet wird und jeder Automat einem Wort in einem Vokabular des Sprachenmodells entspricht.
2. Verfahren nach Anspruch 1, wobei bei dem Schritt des Auswählens weiterhin nur solche Automaten verwendet werden, die den in den Kandidaten- Wortketten enthaltenen Wörtern entsprechen.
3. Verfahren nach Anspruch 1, wobei der Schritt des Erzeugens von Kandidaten-Wortketten weiterhin das Erzeugen solcher Wortketten in Form eines Wortverbands umfaßt.
4. Verfahren nach Anspruch 1, wobei der Schritt des Auswählens weiterhin die Verwendung der Automaten zum Ableiten von Phrasen aus den in den Kandidaten-Wortketten enthaltenen Wörtern und das Berechnen eines Kostenfaktors für die abgeleiteten Phrasen umfaßt, wobei der Kostenfaktor mit dem Grad der Entsprechung zwischen der abgeleiteten Phrase und der durch das Signal dargestellten Sprache zusammenhängt.
5. Verfahren nach Anspruch 4, wobei ein niedrigerer Kostenfaktor einen höheren Grad der Entsprechung anzeigt.
6. Verfahren nach Anspruch 5, wobei der Schritt des Auswählens weiterhin das Bestimmen der Phrase mit dem niedrigsten Kostenfaktor umfaßt.
7. Verfahren nach Anspruch 4, wobei der Kostenfaktor einer Phrase auf Wahrscheinlichkeiten basiert, wobei weniger wahrscheinliche Wortzuordnungen zu einem höheren Kostenfaktor führen.
8. Verfahren nach Anspruch 4, wobei Kosten inkrementell während des Ableitens von Phrasen angewandt werden.
9. Verfahren nach Anspruch 1, wobei die zu erkennende Sprache gesprochen wird und der Schritt des Erzeugens von Kandidaten-Wortketten weiterhin das Anwenden eines akustischen Modells umfaßt.
10. Computerlesbares Speichermedium mit codierten computerlesbaren Programmbefehlen zur Verwendung in Verbindung mit einem programmierbaren Computer, wobei die Befehle bewirken, daß der Computer aus mehreren Sprachenkettenhypothesen eine Sprachenkette auswählt, wobei die gewählte Kette die beste Entsprechung mit einem Sprache darstellenden Signal liefert, wobei diese Auswahl aus der Handlung mehrerer Automaten resultiert, die ein Paar von Sequenzen erkennen können, wobei eine Sequenz nach links und die andere nach rechts durch eine auf den mehreren Sprachenkettenhypothesen basierende Datenstruktur hindurch abgetastet wird.
11. Computerlesbares Speichermedium nach Anspruch 10, wobei die Datenstruktur ein Phrasenverband ist, der aus durch die mehreren Automaten gebildeten Phrasen besteht.
12. Computerlesbares Speichermedium nach Anspruch 10, wobei der programmierbare Computer ein Spracherkennungssystem ist, die Sprachenkettenhypothesen in Form eines Wortverbands vorgelegt werden und wobei die handelnden Automaten den Wörtern in dem Wortverband ent sprechen.
13. Verfahren zum Auswählen einer Wortkette aus mehreren Wortkettenhypothesen, wobei die Wortkettenhypothesen aus einem Eingangssignal abgeleitet werden, das Sprache darstellt, und die gewählte Wortkette die Sprache am besten darstellt, mit den folgenden Schritten:
(a) Aktivieren von Automaten, die den Wörtern in den Wortkettenhypothesen entsprechen, wobei die aktivierten Automaten aus mehreren solchen Automaten ausgewählt werden, die ein Lexikon definieren, wobei jeder der aktivierten Automaten ein Paar von. Sequenzen erkennen kann, wobei eine Sequenz nach links und die andere nach rechts abgetastet wird, und wobei weiterhin jeder Automat einen Anfangszustand umfaßt;
(b) Erzeugen einer ersten Vielzahl von Phrasendatensätzen, wobei für jedes Wort in den Wortkettenhypothesen ein Phrasendatensatz erzeugt wird und jeder Phrasendatensatz durch ein Wort, einen Automaten, den Anfangszustand und einen Kostenfaktor gekennzeichnet ist;
(c) Erzeugen eines Phrasenverbands durch Bilden einer Datenstruktur, die die Phrasendatensätze aus Schritt (b) umfaßt;
(d) Erzeugen mehrerer erweiterter Phrasendatensätze, wobei ein erweiterter Phrasendatensatz gebildet wird, wenn ein Phrasendatensatz in dem Phrasenverband einen benachbarten Phrasendatensatz in dem Phrasenverband durch einen Automatenübergang aufbraucht, wobei der erweiterte Phrasendatensatz
die Wörter sowohl des Phrasendatensatzes als auch des benachbarten Phrasendatensatzes enthält und den Automaten des aufbrauchenden Phrasendatensatzes umfaßt,
wobei ein neuer Zustand dem Übergang des Automaten und
einem neuen Kostenfaktor entspricht, wobei
der neue Kostenfaktor die Summe der Kostenfaktoren der aufgebrauchten Phrase und der aufbrauchenden Phrase ist, wobei ein Kostenfaktor dem Automatenübergang der aufbrauchenden Phrase zugeordnet ist und ein Kostenfaktor einem durch den aufgebrauchten Automaten unternommenem Stopp zugeordnet ist und ein Kostenfaktor eine Zuordnung zwischen den Wörtern in dem aufgebrauchten und dem aufbrauchenden Phrasendatensatz betrifft;
(e) Hinzufügen des erweiterten Phrasendatensatzes zu dem Phrasenverband, wenn der neue Kostenfaktor des erweiterten Phrasendatensatzes niedriger als ein Bezugs-Phrasendatensatz-Kostenfaktor ist;
(f) Wiederholen der Schritte (d) und (e) wobei ein Phrasendatensatz einen benachbarten Phrasendatensatz solange aufbrauchen kann, bis alle Phrasendatensätze völlig erweitert worden sind, und wobei der Bezugs-Phrasendatensatz-Kostenfaktor mit den zu dem Phrasenverband hinzugefügten erweiterten Phrasendatensätzen aktualisiert wird; und
(g) Wählen des Phrasendatensatzes mit dem niedrigsten Kostenfaktor, der das gesamte Eingangssignal überspannt.
DE69717899T 1996-04-10 1997-04-01 Verfahren und Vorrichtung zur Spracherkennung Expired - Fee Related DE69717899T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/631,874 US5870706A (en) 1996-04-10 1996-04-10 Method and apparatus for an improved language recognition system

Publications (2)

Publication Number Publication Date
DE69717899D1 DE69717899D1 (de) 2003-01-30
DE69717899T2 true DE69717899T2 (de) 2003-08-21

Family

ID=24533134

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69717899T Expired - Fee Related DE69717899T2 (de) 1996-04-10 1997-04-01 Verfahren und Vorrichtung zur Spracherkennung

Country Status (4)

Country Link
US (1) US5870706A (de)
EP (1) EP0801378B1 (de)
CA (1) CA2198306C (de)
DE (1) DE69717899T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015006662A1 (de) * 2015-05-22 2016-11-24 Audi Ag Verfahren zum Konfigurieren einer Sprachbedieneinrichtung

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9625284D0 (en) * 1996-12-04 1997-01-22 Canon Kk A data processing method and apparatus for identifying a classification to which data belongs
FR2763775B1 (fr) * 1997-05-23 1999-08-13 France Telecom Procede de visualisation de chemins au sein d'une representation graphique d'un reseau
US6195631B1 (en) * 1998-04-15 2001-02-27 At&T Corporation Method and apparatus for automatic construction of hierarchical transduction models for language translation
JP3252815B2 (ja) * 1998-12-04 2002-02-04 日本電気株式会社 連続音声認識装置及び方法
US6397181B1 (en) * 1999-01-27 2002-05-28 Kent Ridge Digital Labs Method and apparatus for voice annotation and retrieval of multimedia data
GB9904663D0 (en) * 1999-03-01 1999-04-21 Canon Kk Apparatus and method for generating processor usable data from natural langage input data
US7369994B1 (en) 1999-04-30 2008-05-06 At&T Corp. Methods and apparatus for rapid acoustic unit selection from a large speech corpus
US6697780B1 (en) * 1999-04-30 2004-02-24 At&T Corp. Method and apparatus for rapid acoustic unit selection from a large speech corpus
US7082396B1 (en) * 1999-04-30 2006-07-25 At&T Corp Methods and apparatus for rapid acoustic unit selection from a large speech corpus
US20020032564A1 (en) * 2000-04-19 2002-03-14 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating a recognition grammar for a voice-controlled user interface
AU5451800A (en) 1999-05-28 2000-12-18 Sehda, Inc. Phrase-based dialogue modeling with particular application to creating recognition grammars for voice-controlled user interfaces
US6904405B2 (en) * 1999-07-17 2005-06-07 Edwin A. Suominen Message recognition using shared language model
US9076448B2 (en) * 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US7050977B1 (en) * 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US7392185B2 (en) * 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US20030093272A1 (en) * 1999-12-02 2003-05-15 Frederic Soufflet Speech operated automatic inquiry system
JP4465564B2 (ja) * 2000-02-28 2010-05-19 ソニー株式会社 音声認識装置および音声認識方法、並びに記録媒体
US7024350B2 (en) * 2000-07-20 2006-04-04 Microsoft Corporation Compact easily parseable binary format for a context-free grammer
US20020082868A1 (en) * 2000-12-27 2002-06-27 Pories Walter J. Systems, methods and computer program products for creating and maintaining electronic medical records
US6961694B2 (en) * 2001-01-22 2005-11-01 Microsoft Corporation Method and apparatus for reducing latency in speech-based applications
US6813616B2 (en) 2001-03-07 2004-11-02 International Business Machines Corporation System and method for building a semantic network capable of identifying word patterns in text
US7426505B2 (en) 2001-03-07 2008-09-16 International Business Machines Corporation Method for identifying word patterns in text
US7177792B2 (en) * 2001-05-31 2007-02-13 University Of Southern California Integer programming decoder for machine translation
WO2003005166A2 (en) * 2001-07-03 2003-01-16 University Of Southern California A syntax-based statistical translation model
US20030061046A1 (en) * 2001-09-27 2003-03-27 Qingwei Zhao Method and system for integrating long-span language model into speech recognition system
US6892176B2 (en) * 2001-12-18 2005-05-10 Matsushita Electric Industrial Co., Ltd. Hash function based transcription database
WO2004001623A2 (en) * 2002-03-26 2003-12-31 University Of Southern California Constructing a translation lexicon from comparable, non-parallel corpora
US20050256715A1 (en) * 2002-10-08 2005-11-17 Yoshiyuki Okimoto Language model generation and accumulation device, speech recognition device, language model creation method, and speech recognition method
US8548794B2 (en) * 2003-07-02 2013-10-01 University Of Southern California Statistical noun phrase translation
US7711545B2 (en) * 2003-07-02 2010-05-04 Language Weaver, Inc. Empirical methods for splitting compound words with application to machine translation
WO2005017768A1 (en) * 2003-08-15 2005-02-24 Silverbrook Research Pty Ltd Improving accuracy in searching digital ink
AU2004265700B2 (en) * 2003-08-15 2008-10-02 Silverbrook Research Pty Ltd Natural language recognition using distributed processing
WO2005089340A2 (en) * 2004-03-15 2005-09-29 University Of Southern California Training tree transducers
US8296127B2 (en) * 2004-03-23 2012-10-23 University Of Southern California Discovery of parallel text portions in comparable collections of corpora and training using comparable texts
US8666725B2 (en) * 2004-04-16 2014-03-04 University Of Southern California Selection and use of nonstatistical translation components in a statistical machine translation framework
US20130304453A9 (en) * 2004-08-20 2013-11-14 Juergen Fritsch Automated Extraction of Semantic Content and Generation of a Structured Document from Speech
US7584103B2 (en) * 2004-08-20 2009-09-01 Multimodal Technologies, Inc. Automated extraction of semantic content and generation of a structured document from speech
US7912699B1 (en) 2004-08-23 2011-03-22 At&T Intellectual Property Ii, L.P. System and method of lattice-based search for spoken utterance retrieval
US8600728B2 (en) * 2004-10-12 2013-12-03 University Of Southern California Training for a text-to-text application which uses string to tree conversion for training and decoding
US8200495B2 (en) * 2005-02-04 2012-06-12 Vocollect, Inc. Methods and systems for considering information about an expected response when performing speech recognition
US7937396B1 (en) 2005-03-23 2011-05-03 Google Inc. Methods and systems for identifying paraphrases from an index of information items and associated sentence fragments
US8886517B2 (en) 2005-06-17 2014-11-11 Language Weaver, Inc. Trust scoring for language translation systems
US8676563B2 (en) 2009-10-01 2014-03-18 Language Weaver, Inc. Providing human-generated and machine-generated trusted translations
US7974833B2 (en) 2005-06-21 2011-07-05 Language Weaver, Inc. Weighted system of expressing language information using a compact notation
US7389222B1 (en) 2005-08-02 2008-06-17 Language Weaver, Inc. Task parallelization in a text-to-text system
US7813918B2 (en) * 2005-08-03 2010-10-12 Language Weaver, Inc. Identifying documents which form translated pairs, within a document collection
US7624020B2 (en) * 2005-09-09 2009-11-24 Language Weaver, Inc. Adapter for allowing both online and offline training of a text to text system
US7937265B1 (en) 2005-09-27 2011-05-03 Google Inc. Paraphrase acquisition
US10319252B2 (en) * 2005-11-09 2019-06-11 Sdl Inc. Language capability assessment and training apparatus and techniques
US8943080B2 (en) 2006-04-07 2015-01-27 University Of Southern California Systems and methods for identifying parallel documents and sentence fragments in multilingual document collections
US7831423B2 (en) * 2006-05-25 2010-11-09 Multimodal Technologies, Inc. Replacing text representing a concept with an alternate written form of the concept
EP2030198B1 (de) 2006-06-22 2018-08-29 Multimodal Technologies, LLC Anwendung von dienstebenen auf transkripte
US8886518B1 (en) 2006-08-07 2014-11-11 Language Weaver, Inc. System and method for capitalizing machine translated text
US8433556B2 (en) 2006-11-02 2013-04-30 University Of Southern California Semi-supervised training for statistical word alignment
US9122674B1 (en) 2006-12-15 2015-09-01 Language Weaver, Inc. Use of annotations in statistical machine translation
US8468149B1 (en) 2007-01-26 2013-06-18 Language Weaver, Inc. Multi-lingual online community
US8615389B1 (en) 2007-03-16 2013-12-24 Language Weaver, Inc. Generation and exploitation of an approximate language model
US8831928B2 (en) * 2007-04-04 2014-09-09 Language Weaver, Inc. Customizable machine translation service
US8825466B1 (en) 2007-06-08 2014-09-02 Language Weaver, Inc. Modification of annotated bilingual segment pairs in syntax-based machine translation
US8463610B1 (en) * 2008-01-18 2013-06-11 Patrick J. Bourke Hardware-implemented scalable modular engine for low-power speech recognition
JP5530729B2 (ja) * 2009-01-23 2014-06-25 本田技研工業株式会社 音声理解装置
EP2404153A4 (de) * 2009-03-06 2015-01-28 Biomedical Device Consultants And Lab Of Colorado Llc Erschöpfungstestsystem für prothesenvorrichtungen
US8990064B2 (en) 2009-07-28 2015-03-24 Language Weaver, Inc. Translating documents based on content
US8380486B2 (en) 2009-10-01 2013-02-19 Language Weaver, Inc. Providing machine-generated translations and corresponding trust levels
US10417646B2 (en) * 2010-03-09 2019-09-17 Sdl Inc. Predicting the cost associated with translating textual content
KR101154011B1 (ko) * 2010-06-07 2012-06-08 주식회사 서비전자 다중 모델 적응화와 음성인식장치 및 방법
US9118669B2 (en) 2010-09-30 2015-08-25 Alcatel Lucent Method and apparatus for voice signature authentication
US8959102B2 (en) 2010-10-08 2015-02-17 Mmodal Ip Llc Structured searching of dynamic structured document corpuses
CN102122506B (zh) * 2011-03-08 2013-07-31 天脉聚源(北京)传媒科技有限公司 一种语音识别的方法
CN102117335B (zh) * 2011-03-25 2014-01-22 天脉聚源(北京)传媒科技有限公司 一种多媒体信息检索的方法
US11003838B2 (en) 2011-04-18 2021-05-11 Sdl Inc. Systems and methods for monitoring post translation editing
US8914290B2 (en) 2011-05-20 2014-12-16 Vocollect, Inc. Systems and methods for dynamically improving user intelligibility of synthesized speech in a work environment
US8694303B2 (en) 2011-06-15 2014-04-08 Language Weaver, Inc. Systems and methods for tuning parameters in statistical machine translation
US8886515B2 (en) 2011-10-19 2014-11-11 Language Weaver, Inc. Systems and methods for enhancing machine translation post edit review processes
US8942973B2 (en) 2012-03-09 2015-01-27 Language Weaver, Inc. Content page URL translation
US10261994B2 (en) 2012-05-25 2019-04-16 Sdl Inc. Method and system for automatic management of reputation of translators
US9152622B2 (en) 2012-11-26 2015-10-06 Language Weaver, Inc. Personalized machine translation via online adaptation
US9978395B2 (en) 2013-03-15 2018-05-22 Vocollect, Inc. Method and system for mitigating delay in receiving audio stream during production of sound from audio stream
US9280970B1 (en) * 2013-06-25 2016-03-08 Google Inc. Lattice semantic parsing
US9213694B2 (en) 2013-10-10 2015-12-15 Language Weaver, Inc. Efficient online domain adaptation
US9530404B2 (en) 2014-10-06 2016-12-27 Intel Corporation System and method of automatic speech recognition using on-the-fly word lattice generation with word histories
US10714121B2 (en) 2016-07-27 2020-07-14 Vocollect, Inc. Distinguishing user speech from background speech in speech-dense environments
CN113903340A (zh) * 2020-06-18 2022-01-07 北京声智科技有限公司 样本筛选方法及电子设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4718094A (en) * 1984-11-19 1988-01-05 International Business Machines Corp. Speech recognition system
DE3680904D1 (de) * 1986-03-27 1991-09-19 Ibm Verfahren und einrichtung zur erzeugung von wortmustern fuer spracherkennung.
US4866778A (en) * 1986-08-11 1989-09-12 Dragon Systems, Inc. Interactive speech recognition apparatus
DE3723078A1 (de) * 1987-07-11 1989-01-19 Philips Patentverwaltung Verfahren zur erkennung von zusammenhaengend gesprochenen woertern
US5033088A (en) * 1988-06-06 1991-07-16 Voice Processing Corp. Method and apparatus for effectively receiving voice input to a voice recognition system
US5222187A (en) * 1989-12-29 1993-06-22 Texas Instruments Incorporated Grammar-based checksum constraints for high performance speech recognition circuit
JP2836159B2 (ja) * 1990-01-30 1998-12-14 株式会社日立製作所 同時通訳向き音声認識システムおよびその音声認識方法
US5202952A (en) * 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
US5297040A (en) * 1991-10-23 1994-03-22 Franklin T. Hu Molecular natural language processing system
US5233681A (en) * 1992-04-24 1993-08-03 International Business Machines Corporation Context-dependent speech recognizer using estimated next word context
US5434777A (en) * 1992-05-27 1995-07-18 Apple Computer, Inc. Method and apparatus for processing natural language
DE4397100T1 (de) * 1992-12-31 1995-11-23 Apple Computer Rekursive Grammatik mit endlicher Zustandsanzahl
US5384892A (en) * 1992-12-31 1995-01-24 Apple Computer, Inc. Dynamic language model for speech recognition
US5390279A (en) * 1992-12-31 1995-02-14 Apple Computer, Inc. Partitioning speech rules by context for speech recognition
CA2126380C (en) * 1993-07-22 1998-07-07 Wu Chou Minimum error rate training of combined string models
US5434906A (en) * 1993-09-13 1995-07-18 Robinson; Michael J. Method and apparatus for processing an incoming call in a communication system
US5615296A (en) * 1993-11-12 1997-03-25 International Business Machines Corporation Continuous speech recognition and voice response system and method to enable conversational dialogues with microprocessors
US5621859A (en) * 1994-01-19 1997-04-15 Bbn Corporation Single tree method for grammar directed, very large vocabulary speech recognizer
US5584024A (en) * 1994-03-24 1996-12-10 Software Ag Interactive database query system and method for prohibiting the selection of semantically incorrect query parameters
US5615286A (en) * 1995-05-05 1997-03-25 Bell Communications Research, Inc. Method for determining a most likely sequence of states

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015006662A1 (de) * 2015-05-22 2016-11-24 Audi Ag Verfahren zum Konfigurieren einer Sprachbedieneinrichtung
DE102015006662B4 (de) * 2015-05-22 2019-11-14 Audi Ag Verfahren zum Konfigurieren einer Sprachbedieneinrichtung

Also Published As

Publication number Publication date
EP0801378A3 (de) 1998-09-30
EP0801378B1 (de) 2002-12-18
EP0801378A2 (de) 1997-10-15
MX9702521A (es) 1997-10-31
CA2198306C (en) 2001-05-01
US5870706A (en) 1999-02-09
CA2198306A1 (en) 1997-10-11
DE69717899D1 (de) 2003-01-30

Similar Documents

Publication Publication Date Title
DE69717899T2 (de) Verfahren und Vorrichtung zur Spracherkennung
DE69225173T2 (de) Spracherkennungsgerät
DE69315374T2 (de) Spracherkennungssystem zur naturgetreuen Sprachübersetzung
DE69518723T2 (de) Verminderung des Suchraumes bei Spracherkennung unter Verwendung von Phonemgrenzen und Phonemklassen
DE69625950T2 (de) Verfahren und Vorrichtung zur Spracherkennung und Übersetzungssystem
DE69519297T2 (de) Verfahren und vorrichtung zur spracherkennung mittels optimierter partieller buendelung von wahrscheinlichkeitsmischungen
DE69524036T2 (de) Vorrichtung zur erkennung von gesprächsthemen
DE69010941T2 (de) Verfahren und Einrichtung zur automatischen Bestimmung von phonologischen Regeln für ein System zur Erkennung kontinuierlicher Sprache.
DE4397100C2 (de) Verfahren zum Erkennen von Sprachsignalen und Spracherkennungssystem mit rekursiver Grammatik mit endlicher Zustandsanzahl
DE69420842T2 (de) Spracherkennung unter anwendung einer zweidurchgängigen suchmethode
DE3878541T2 (de) Verfahren und einrichtung, um ein markov-modell-referenzmuster von woertern zu erzeugen.
DE69908254T2 (de) System zur Suchoptimierung und Verfahren zur kontinuierlichen Spracherkennung
DE69127818T2 (de) System zur verarbeitung kontinuierlicher sprache
DE69028430T2 (de) Effektiver Einschränkungsalgorithmus für Spracherkennung nach dem Hidden-Markov-Modell
DE69225371T2 (de) Schlüsselwörtererkennung in einem zusammenhängenden Text mittels zweier &#34;Hidden Markov&#34; Modelle
DE69029188T2 (de) Auf Wahrscheinlichkeitclusterbildung gestützte Schriftzeichenerkennung
DE3886080T2 (de) Verfahren und System zur Spracherkennung.
DE69816676T2 (de) System und verfahren zur bestimmung und minimalisierung eines endlichen transducers zur spracherkennung
DE3876379T2 (de) Automatische bestimmung von kennzeichen und markov-wortmodellen in einem spracherkennungssystem.
DE10111056B4 (de) Verfahren und Vorrichtungen zur Identifikation einer Nicht-Zielsprache in einem Spracherkennungssystem
DE3852608T2 (de) Design und Konstruktion eines binären Entscheidungsbaumsystems zur Sprachmodellierung.
DE69719236T2 (de) Verfahren und System zur Spracherkennung mittels verborgener Markoff-Modelle mit kontinuierlichen Ausgangswahrscheinlichkeiten
DE68923981T2 (de) Verfahren zur Bestimmung von Textteilen und Verwendung.
DE3874427T2 (de) Linearer praediktionsvocoder mit code-anregung.
DE69422097T2 (de) Training von kombinierten Kettenmodellen mit minimaler Fehlerrate

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee