DE69726499T2 - Verfahren und Vorrichtung zur Kodierung von Aussprache-Prefix-Bäumen - Google Patents

Verfahren und Vorrichtung zur Kodierung von Aussprache-Prefix-Bäumen Download PDF

Info

Publication number
DE69726499T2
DE69726499T2 DE69726499T DE69726499T DE69726499T2 DE 69726499 T2 DE69726499 T2 DE 69726499T2 DE 69726499 T DE69726499 T DE 69726499T DE 69726499 T DE69726499 T DE 69726499T DE 69726499 T2 DE69726499 T2 DE 69726499T2
Authority
DE
Germany
Prior art keywords
node
pronunciation
prefix tree
probability
pronunciation prefix
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
DE69726499T
Other languages
English (en)
Other versions
DE69726499D1 (de
Inventor
Fileno A. Redmond Alleva
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
Application granted granted Critical
Publication of DE69726499D1 publication Critical patent/DE69726499D1/de
Publication of DE69726499T2 publication Critical patent/DE69726499T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Description

  • Die vorliegende Erfindung betrifft ein Computersystem für Computerspracherkennung und insbesondere ein Verfahren und ein System für kompaktes Codieren von Aussprache-Präfix-Bäumen.
  • Die rasche und korrekte Erkennung menschlicher Sprache durch ein Computersystem ist ein seit langem angestrebtes Ziel von Entwicklern von Computersystemen gewesen. Aus einem solchen Computer-Spracherkennungssystem würden sich substanzielle Vorteile ergeben. Anstatt einen Text in ein Computersystem einzugeben, könnte eine Person zum Beispiel einfach die Wörter des Dokumentes sprechen, und das Computer-Spracherkennungssystem würde die Wörter erkennen und die Buchstaben eines jeden Wortes so speichern, als ob die Wörter eingegeben worden wären. Auch müssten die Menschen nicht mehr länger das Schreiben auf einer Tastatur erlernen müssen. Computer könnten auch in Anwendungsfällen angewandt werden, in denen ihr Einsatz gegenwärtig nicht möglich ist, da eine Person ihre Hände für andere Aufgaben benötigt.
  • Um Sprache zu verarbeiten, definieren typische Computer-Spracherkennungssysteme Grundeinheiten von Sprache, die auch als Phoneme bezeichnet werden. Jedes Phonem entspricht dabei einem unterschiedlichen Ton. Das Wort „cotton" beispielsweise wird üblicherweise mit vier Phonemen gesprochen: „k", „aw", „t" und „en". Computer-Spracherkennungssysteme verwenden phonetische Wörterbücher, um die Phoneme eines jeden Wortes in dem Wörterbuch zu speichern. 1A veranschaulicht ein phonetisches Wörterbuch für ein einfaches 5-Wörter-Vokabular. Das phonetische Wörterbuch enthält jedes Wort in dem Vokabular zusammen mit den Phonemen, aus denen das betreffende Wort besteht. Der Wörterbuch-Eintrag für das Wort „cotton" ist zum Beispiel „cotton k aw t en". Wenn ein Computer-Spracherkennungssystem einen Teil von Sprache empfängt, identifiziert es, welche Phoneme gesprochen werden Nachdem die Phoneme identifiziert worden sind, kann das Computer-Spracherkennungssystem das Wörterbuch abtasten, um zu ermitteln, welches Wort jene Phoneme enthält. Wenn das Computer-Spracherkennungssystem jedes Phonem richtig erkennen könnte, wäre die Spracherkennung eine relativ einfach zu lösende Aufgabe. Die richtige Erkennung von Phonemen erweist sich jedoch als eine schwierig zu lösende Aufgabe.
  • Die bei der Phonemerkennung auftretenden Schwierigkeiten ergeben sich aus der fast unendlichen Vielfalt der Sprechmuster der Menschen. Diese Vielfalt ergibt sich aus dem Akzent des Sprechers, aus der Sprechgeschwindigkeit und der Stimmlage, mit der eine Person spricht, aus dem aktuellen Gesundheitszustand des Sprechers (z. B. Vorliegen einer Erkältung), aus dem Alter und dem Geschlecht des Sprechers etc. Wenn somit ein Computer-Spracherkennungssystem einen Teil von Sprache verarbeitet, wird es jedem Phonem eine Wahrscheinlichkeit zuordnen, die die Wahrscheinlichkeit angibt, dass der Teil von Sprache dem betreffenden Phonem entspricht. Wenn zum Beispiel ein Wort wie „were" oder „wear" gesprochen wird, kann ein Computer-Spracherkennungssystem die Sprache als aus zwei Teilen bestehend ansehen. Für den ersten Teil kann das Computer-Spracherkennungssystem dem Phonem „w" eine Wahrscheinlichkeit von 0,9, dem Phonem „axr" eine Wahrscheinlichkeit von 0,1 und allen anderen Phonemen eine Wahrscheinlichkeit von Null zuordnen. Für den zweiten Teil kann das Computer-Spracherkennungssystem dem Phonem „er" eine Wahrscheinlichkeit von 0,6, dem Phonem „axr" eine Wahrscheinlichkeit von 0,3, dem Phonem „w" eine Wahrscheinlichkeit von 0,1 und allen anderen Phonemen eine Wahrscheinlichkeit von Nullzuordnen. Das Computer-Spracherkennungssystem kann danach die Phonemfolge mit der größten Wahrscheinlichkeit erkennen, die am genauesten einem Wort als dem gesprochenen Wort entspricht. In diesem Beispiel liegt die Wahrscheinlichkeit, dass das gesprochene Wort „were" ist bei 0,54 (d. h. 0,9 × 0,6), und die Wahrscheinlichkeit, dass das gesprochene Wort „wear" ist, liegt bei 0,36 (d. h. 0,9 × 0,4). Somit würde das Computer-Spracherkennungssystem das Wort als „were" erkennen.
  • Um diese Vielfalt der Sprechmuster besser erklären zu helfen, verwenden Computer-Spracherkennungssysteme verschiedene Wahrscheinlichkeiten, die aus typischen Sprechmustern berechnet werden, um die gesprochenen Wörter zu identifizieren. Insbesondere verwenden Computer-Spracherkennungssysteme die Wahrscheinlichkeit, mit der ein bestimmtes Wort in der normalen Alltagssprache gesprochen wird. Das phonetische Wörterbuch aus 1A veranschaulicht Beispielwahrscheinlichkeiten für die Wörter des Vokabulars. Diese Wahrscheinlichkeiten sind kontextunabhängig, das heißt sie stellen die Wahrscheinlichkeit dar, dass das Wort unabhängig von den vor bzw. nach dem Wort gesprochenen Wörtern gesprochen wird. Bei diesem Beispielvokabular hat das Wort „we" beispielsweise eine Wahrscheinlichkeit von 0,3 und das Wort „cotton" hat eine Wahrscheinlichkeit von 0,1. Diese Wahrscheinlichkeiten geben an, dass das Wort „we" üblicherweise drei Mal so häufig gesprochen wird wie das Wort „cotton". Da die kontextunabhängigen Wahrscheinlichkeiten auf einem Einzelwort basieren, werden sie auch als Unigramm-Wahrscheinlichkeiten bezeichnet. Fortführend mit dem obenstehenden Beispiel: wenn die kontextunabhängigen Wahrscheinlichkeiten ebenfalls berücksichtigt werden, liegt die Wahrscheinlichkeit, dass das gesprochene Wort „were" ist, bei 0,081, und die Wahrscheinlichkeit, dass das gesprochene Wort „wear" ist, liegt bei 0,09. Wenn somit die kontextunabhängige Wahrscheinlichkeit berücksichtigt wird, würde das Computer-Spracherkennungssystem das Wort als „wear" anstelle als „were" erkennen.
  • Zur weiteren Verbesserung der Erkennung können Computer-Spracherkennungssysteme auch kontextabhängige Wahrscheinlichkeiten verwenden. Eine kontextabhängige Wahrscheinlichkeit ist die Wahrscheinlichkeit, dass ein jedes Wort auf eine bestimmte Folge anderer Wörter folgt. Zum Beispiel ist die Wahrscheinlichkeit, dass auf die Wörter „to be or not to" das Wort „be" folgt, sehr hoch. Jedoch nimmt die Anzahl der zu speichernden Wahrscheinlichkeiten mit der Länge der Wortfolge exponentiell zu. Insbesondere beträgt die Anzahl der Wahrscheinlichkeiten, die gespeichert werden müssen, um alle möglichen Folgen von /-Wörtern darzustellen, gleich n, wobei n die Anzahl der Wörter in dem Wörterbuch ist. Da typische Wörterbücher 60.000 Wörter enthalten können, wird eine enorme Speicherkapazität benötigt, um die kontextabhängigen Wahrscheinlichkeiten darzustellen. Demzufolge begrenzen Computer-Spracherkennungssysteme üblicherweise die Länge von Folgen, für die Wahrscheinlichkeiten zu speichern sind, auf zwei (d. h. /= 2). Zum Beispiel speichert ein Computer-Spracherkennungssystem die Wahrscheinlichkeit, dass das Wort „be" auf das Wort „to" folgt, und die Wahrscheinlichkeit, dass das Wort „or" auf das Wort „be" folgt. 1B veranschaulicht die kontextabhängigen Wahrscheinlichkeiten für Folgen von Länge 2 des Beispielvokabulars. Zum Beispiel beträgt die Wahrscheinlichkeit, dass das Wort „wear" von dem Wort „cotton" gefolgt wird, 0,9, und die Wahrscheinlichkeit, dass das Wort „wear" von dem Wort „we" gefolgt wird, beträgt 0,1. Da diese kontextabhängigen Wahrscheinlichkeiten auf einer Folge von zwei Wörtern basieren, werden sie auch als Bigramm-Wahrscheinlichkeiten bezeichnet. Mit dem obenstehenden Beispiel fortfahrend: wenn das Wort „we" als nächstes gesprochen wird und die kontextabhängigen Wahrscheinlichkeiten berücksichtigt werden, beträgt die Wahrscheinlichkeit, dass das erste gesprochene Wort „were" ist, 0,405, und die Wahrscheinlichkeit, dass das erste gesprochene Wort „wear" ist, beträgt 0,009. Somit würde das Computer-Spracherkennungssystem das erste gesprochene Wort als das Wort „were" erkennen.
  • Wegen des riesigen Berechnungsumfanges, der für die Erkennung von Sprache in großen Vokabularsystemen erforderlich ist, wird eine Datenorganisation auf der Grundlage von Aussprache-Präfix-Bäumen verwendet, um redundante Berechnung in Zusammenhang mit der Herstellung von Übereinstimmungen zwischen duplizierten phonetischen Präfixen am Anfang von Wörtern in dem Vokabularsystem zu eliminieren.
  • 2A veranschaulicht eine Präfix-Baum-Datenstruktur für das phonetische Beispielwörterbuch. Die Präfix-Baum-Datenstruktur enthält die gleichen Informationen wie das phonetische Wörterbuch, jedoch in einem Format, das Speicherplatz spart und das rasch durchsucht werden kann. Die als Aussprache-Präfix-Baum bezeichnete Präfix-Baum-Datenstruktur spart Speicherplatz, indem sie das Speichern redundanter Phoneme für Wörter, die sich einen gemeinsamen Präfix teilen, eliminiert. Zum Beispiel wird die Aussprache für die Wörter „caught" und „cotton" durch die Knoten 201206 dargestellt. Da die ersten drei Phoneme in „k", „aw" und „t" von beiden Wörtern gemeinsam genutzt werden, enthält der Aussprache-Präfix-Baum nur einen Knoten für jedes dieser Phoneme. Ein Computer-Spracherkennungssystem kann einen Aussprache-Präfix-Baum rasch durchsuchen, indem es dem Pfad erkannter Phoneme von dem Wurzelknoten zu einem Blattknoten, der ein gesprochenes Wort darstellt, folgt. Wenn zum Beispiel die Phoneme „k aw t en" empfangen werden, muss das Computer-Spracherkennungssystem den Präfix-Baum beginnend an dem Wurzelknoten 200 und endend an dem Blattknoten 206, der das Wort „cotton" darstellt, traversieren. Jeder Blattknoten stellt ein Wort in dem Wörterbuch dar und enthält die Unigramm-Wahrscheinlichkeit für das betreffende Wort. Zum Beispiel enthält der Blattknoten 206 die Wahrscheinlichkeit von 0,1, welches die Unigramm-Wahrscheinlichkeit für das Wort „cotton" ist. Jeder Knoten in dem Aussprache-Präfix-Baum befindet sich in einer Tiefe in dem Präfix-Baum, die die Anzahl der Zweige von der Wurzel bis zu dem betreffenden Knoten darstellt. Zum Beispiel ist die Tiefe für den Knoten 206 gleich 5. Da der Aussprache-Präfix-Baum aus 2A Unigramm-Wahrscheinlichkeit enthält, wird er auch als Unigramm-Aussprache-Präfix-Baum bezeichnet.
  • 2B ist ein Bigramm-Aussprache-Präfix-Baum und stellt die Bigramm-Wahrscheinlichkeiten für die Wörter in dem Wörterbuch dar, die auf das Wort „were" folgen. Jeder Blattknoten entspricht einem Wort, das auf das Wort „were" folgen kann, und enthält die Wahrscheinlichkeit, dass ein solches Wort auf das Wort „were" folgt. Um alle Bigramm-Wahrscheinlichkeiten darzustellen, hat jedes Wort in dem Wörterbuch einen Bigramm-Aussprache-Präfix-Baum, der die entsprechenden Wahrscheinlichkeiten für Wörter enthält, die auf das betreffende Wort folgen. Die Darstellung solcher Bigramm-Aussprache-Präfix-Bäume erfordert einen großen Speicherplatz. Zum Beispiel hat ein typisches Wörterbuch 5,02 Millionen Bigramm-Wahrscheinlichkeiten, die in Bigramm-Aussprache-Präfix-Bäumen mit insgesamt 18,2 Millionen Knoten dargestellt werden. Wenn von der Annahme ausgegangen wird, dass jeder Knoten 4 Bytes von Speicher verwendet, werden insgesamt 72,8 Millionen Bytes benötigt, um alle Bigramm-Wahrscheinlichkeiten zu speichern. Eine solche große Datenmenge macht es nicht nur unmöglich, die Informationen auf herkömmlichen Speichervorrichtungen zu speichern, sondern auch, die Wahrscheinlichkeiten rasch zu lokalisieren.
  • EP-A-387602 beschreibt ein Verfahren und eine Vorrichtung für die automatische Bestimmung von phonologischen Regeln für ein durchgängiges Spracherkennungssystem. Das durchgängige Spracherkennungssystem beinhaltet einen Satz von Sprachkomponenten, die ein vorbestimmtes Wortvokabular beschreiben. Einem bekannten Text entsprechende Lokalisierungen werden mit den Sprachkomponenten zu zugehörigen Mustern verarbeitet, die die Vokalisierungen darstellen. Die zu den Sprachkomponenten zugehörigen Muster, die phonologisch ähnlich sind, werden in Clustern zu Daten zusammengefasst, um unterschiedliche Aussprachen der betreffenden Komponente zu bestimmen. Diese Muster werden danach verarbeitet, um einen Entscheidungsmechanismus zu entwickeln, der die Cluster in Beziehung zu Daten setzt, die das kontextuelle Auftreten der von den Mustern dargestellten Sprachkomponenten anzeigen.
  • Der Entscheidungsmechanismus stellt einen Entscheidungsbaum dar. Die Übungsdaten werden von dem Entscheidungsbaum verarbeitet, um die Folgen in Blattgruppen zu unterteilen, die ähnliche Aussprachen eines jeden Phonems darstellen. Die Folgen einer jeden Blattgruppe werden in Untergruppen geclustert, die jeweils unterschiedliche Aussprachen ihrer entsprechenden Phoneme in einem gegebenen Kontext darstellen. Für jede Untergruppe wird ein Markov-Modell erzeugt. Die verschiedenen Markov-Modelle von Blattgruppe werden in einem einzigen Kompositum kombiniert, indem häufige Ausgangs- und Fülldaten zu einem jeden Modell zugeordnet werden. Die Kompositum-Markov-Modelle werden von dem Spracherkennungssystem verwendet, um eine unbekannte Folge von in ihrem Kontext gegebenen Kennsätzen zu analysieren.
  • Gemäß EP-A-387602 wird weiterhin ein automatischer Generator phonologischer Regeln verwendet, um einen Satz phonologischer Regeln zu erzeugen, indem ein Übungstext und entsprechende Vokalisierungen analysiert werden. Diese Regeln werden auf ein Spracherkennungssystem angewandt und können ebenso auf ein Sprachsynthesesystem angewandt werden, um die Aussprache eines Wortes in Abhängigkeit von seinem Kontext zu verändern.
  • Gemäß EP-A-387602 wird ein jedes Wort in einem Wörterbuch als eine Folge von Phonemen dargestellt, und ein jedes Phonem wird als eine Phonmaschine dargestellt. Eine Phonmaschine ist ein Markov-Modell der Aussprache eines Phonems, das eine Wahrscheinlichkeitsbeziehung zwischen dem Phonem und einer Folge von Kennsätzen definiert. Wörter werden in einer Baumstruktur angeordnet, so dass Wörter mit gemeinsamen Anfangsphonemen gemeinsame Pfade durch den Baum haben, bis sie unterschieden werden. Ein Satz Wörter, die mit größerer Wahrscheinlichkeit mit einer Folge von Kennsätzen übereinstimmen als andere Wörter in dem Vokabular, wird bereitgestellt. Diese Wörter werden danach durch ein Sprachmodell analysiert, um alle Wörter zu eliminieren, die ausgehend von ihrem Kontext beispielsweise angesichts der beiden zuletzt erkannten Wörter unwahrscheinlich sind.
  • Die vorliegende Erfindung stellt ein Verfahren und ein System für die lineare Codierung von Bigramm-Aussprache-Präfix-Bäumen in einer Art und Weise bereit, die den Umfang des zur Darstellung des Bigramm-Aussprache-Präfix-Baumes benötigten Speicherplatzes signifikant reduziert und die eine rasche Bestimmung von Nachfolgerknoten während der Spracherkennung ermöglicht. Das Computersystem stellt die Bigramm-Aussprache-Präfix-Bäume mit einer linearen Codierung für einen jeden Bigramm-Aussprache-Präfix-Baum zusammen mit einem Baumknoten-Wörterbuch dar. Das Computersystem erzeugt ein Baumknoten-Wörterbuch, das eine Auflistung der Phoneme enthält, aus denen ein jedes Wort in dem Vokabular besteht. Das Computersystem wiederholt danach Folgendes für einen jeden Bigramm-Aussprache-Präfix-Baum. Das Computersystem stellt die Wahrscheinlichkeit eines jeden Nicht-Blattknotens auf eine Wahrscheinlichkeit auf der Grundlage der Wahrscheinlichkeit seiner Nachfolgerknoten ein (d. h. „Nachziehen"). Das Computersystem stellt danach den Faktor für einen jeden Knoten auf die Wahrscheinlichkeit des Knotens, geteilt durch die Wahrscheinlichkeit eines Elternknotens des Knotens, ein (d. h. „Faktorenzerlegung"). Schließlich erzeugt das Computersystem einen codierten Eintrag für einen jeden Baumknoten des Bigramm-Aussprache-Präfix-Baumes. Der codierte Ausspracheeintrag gibt das Wort an, das durch den Baumknoten dargestellt wird, und enthält den Faktor eines nächstgelegenen Vorgängerknotens mit einem anderen Faktor als dem vordefinierten Faktor.
  • Der linear codierte Bigramm-Aussprache-Präfix-Baum kann sodann bei der Spracherkennung genutzt werden, um einen Bigrammtext zu konkretisieren. Der Bigrammtext ist eine Konkretisierung des Bigramm-Aussprache-Präfix-Baumes mit Wahrscheinlichkeiten in einem jeden Knoten zur Anzeige der Wahrscheinlichkeit, dass die entsprechenden Phoneme gesprochen worden sind. Mit dem Sprechen eines jeden Phonems verwendet das Computersystem die lineare Codierung, um die nächstfolgenden Nachfolgerknoten zu identifizieren, die dem Bigrammtext hinzuzufügen sind. Das Computersystem verwendet danach das Baumknoten-Wörterbuch, um rasch die zu dem Bigrammtext hinzuzufügenden Nachfolgerknoten zu identifizieren.
  • Zusätzlich zu der Codierung des Bigramm-Aussprache-Präfix-Baumes kann das Computersystem Aussprachebäume für Trigramme und allgemein n-Gramme willkürlicher Länge codieren. Unabhängig von der Länge des n-Gramms enthält ein jeder Aussprache-Präfix-Baum die gleichen Informationen, d. h. Blattknoten, die Wörtern und Wahrscheinlichkeiten entsprechen. Bei dem Erkennen von Sprache wird der n-Gramm-Kontext auf die Anzahl von Wörtern des n-Gramms minus 1 eingestellt. Zum Beispiel wird der Trigrammkontext auf die zu dem linear codierten Trigramm-Aussprache-Präfix-Baum gehörenden zwei Wörter eingestellt.
  • 1A veranschaulicht ein phonetisches Wörterbuch für ein Beispiel-5-Wort-Vokabular.
  • 1B veranschaulicht die kontextabhängigen Wahrscheinlichkeiten für Folgen von Länge 2 des Beispielvokabulars.
  • 2A veranschaulicht einen Unigramm-Aussprache-Präfix-Baum für das phonetische Beispielwörterbuch.
  • 2B ist ein Bigramm-Aussprache-Präfix-Baum für die Wörter in dem Wörterbuch, die auf das Wort „were" folgten.
  • 3 ist ein Blockdiagramm eines Computersystems zur Veranschaulichung von Komponenten der vorliegenden Erfindung.
  • 4 veranschaulicht einen vergrößerten Unigramm-Aussprache-Präfix-Baum für das Beispielwörterbuch.
  • 5 zeigt ein Baumknoten-Wörterbuch für den Unigramm-Aussprache-Präfix-Baum aus 4.
  • 6 stellt den vergrößerten Bigramm-Aussprache-Präfix-Baum des Wortes „were" dar.
  • 7 stellt den Bigramm-Aussprache-Präfix-Baum für das Wort „wear" dar.
  • 8 ist ein Fließschema einer Codierungsroutine für Bigramm-Präfix-Baum.
  • 9 ist ein Fließschema einer Entschlüsselungsroutine für linear codierten Bigramm-Aussprache-Präfix-Baum.
  • 10 ist ein Fließschema eines Computer-Spracherkennungssystems, das eine Codierungsroutine für linear codierten Bigramm-Aussprache-Präfix-Baum verwendet.
  • 11 bis 13 veranschaulichen die Aussprache-Präfix-Bäume, die von dem Computer-Spracherkennungssystem erzeugt werden.
  • 14 ist ein Fließschema einer Initialisierungsroutine für Wortabstand-Bigramm-Aussprache-Präfix-Baum.
  • 15 ist ein Fließschema einer Initialisierungsroutine für Wortabstand-Unigramm-Aussprache-Präfix-Baum.
  • 16 ist ein Fließschema einer Aktualisierungsroutine für Bigramm-Aussprache-Präfix-Baum.
  • 17 ist ein Fließschema einer Routine zum Hinzufügen von Knoten für die Geschwister des konkretisierten Knotens.
  • 18 ist ein Fließschema einer Aktualisierungsroutine für Unigramm-Aussprache-Präfix-Baum.
  • In einem bevorzugten Ausführungsbeispiel stellt die vorliegende Erfindung ein Verfahren und ein System für lineares Codieren von Bigramm-Aussprache-Präfix-Bäumen und für Spracherkennung unter Verwendung des linear codierten Aussprache-Präfix-Baumes bereit. Die Bigramm-Aussprache-Präfix-Bäume werden so codiert, dass die „nachgezogenen" Wahrscheinlichkeiten bei der Erkennung ausschließlich auf der Grundlage der Vorgängerknoten bestimmt werden können. Eine nachgezogene Wahrscheinlichkeit bezieht sich auf eine in einem jeden Nicht-Blattknoten gespeicherte Wahrscheinlichkeit, die auf den Wahrscheinlichkeiten der Nachfolgerknoten des betreffenden Knotens basieren. Die Verwendung nachgezogener Wahrscheinlichkeiten ermöglicht die Durchführung von Wahrscheinlichkeitsberechnungen während der Erkennung bevor die Identität des Wortes bekannt ist.
  • Das System der vorliegenden Erfindung codiert die Bigramm-Aussprache-Präfix-Bäume mit den nachgezogenen Wahrscheinlichkeiten als eine Kombination eines Baumknoten-Wörterbuches und einer linearen Codierung für jedes Bigramm-Aussprache-Präfix. Das Baumknoten-Wörterbuch enthält eine Auflistung der Phoneme, aus denen sich jedes Wort in dem Vokabular zusammensetzt. Eine lineare Codierung jedes Bigramm-Aussprache-Präfix-Baumes enthält einen Eintrag für jeden Baumknoten. Der Eintrag identifiziert das Wort des Blattknotens zusammen mit dem Faktor des nächstgelegenen Vorgängerknotens mit einem anderen Faktor als 1,0. Jeder Knoten in dem Bigramm-Aussprache-Präfix-Baum wird einem Faktor zugeordnet, der gleich der nachgezogenen Wahrscheinlichkeit des betreffenden Knotens, geteilt durch die Wahrscheinlichkeit des Elternknotens, ist. Die Faktoren haben das Merkmal, dass der Faktor in jedem Knoten, der keine Geschwister hat, 1,0 ist. Da die Mehrzahl der Knoten in Bigramm-Aussprache-Präfix-Aussprachebäumen keine Geschwister haben, können die Faktoren von 1,0 aus der Codierung ausgelassen werden.
  • Der linear codierte Bigramm-Aussprache-Präfix-Baum kann danach während der Spracherkennung genutzt werden, um einen Bigrammkontext zu konkretisieren. Der Bigrammkontext ist eine Konkretisierung des Bigramm-Aussprache-Präfix-Baumes mit Wahrscheinlichkeiten in jedem Knoten zur Anzeige der Wahrscheinlichkeit, dass die entsprechenden Phoneme gesprochen worden sind. Mit dem Sprechen eines jeden Phonems verwendet das Computersystem die lineare Codierung zur Identifizierung des nächstfolgenden Nachfolgerknotens, der zu dem Bigrammkontext hinzuzufügen ist. Das Computersystem verwendet danach das Baumknoten-Wörterbuch, um rasch die Nachfolgerknoten zu identifizieren, die zu dem Bigrammkontext hinzuzufügen sind.
  • 3 ist ein Blockdiagramm eines Computersystems zur Veranschaulichung von Komponenten der vorliegenden Erfindung. Das Computersystem kann ein Standardrechner mit einer Zentraleinheit, einem Speicher und verschiedenen Speichergeräten sein. Das Computersystem umfasst Bigramm-Aussprache-Präfix-Bäume 301, einen Aussprache-Präfix-Baum-Linearcodierer 302, einen linear codierten Bigramm-Aussprache-Präfix-Baum 303, einen Phonemerkenner 304, einen Computer-Spracherkenner 305 und einen Unigramm-Aussprache-Präfix-Baum 306. Ein Rechnerprogramm zur Implementierung des Aussprache-Präfix-Baum-Linearcodierers und ein Computer-Spracherkenner sind üblicherweise auf einem computerlesbaren Medium, wie zum Beispiel einem Computerspeicher oder einem Laufwerk, gespeichert. Der Aussprache-Präfix-Baum-Linearcodierer 302 codiert die Bigramm-Aussprache-Präfix-Bäume 301, um linear codierte Bigramm-Aussprache-Präfix-Bäume 303 zu erzeugen. Die linear codierten Bigramm-Aussprache-Präfix-Bäume sind eine kompakte Codierung der Bigramm-Aussprache-Präfix-Bäume. Bei der Spracherkennung empfängt das Computer-Spracherkennungssystem 305 eine Folge von Phonemen von einem Phonemerkenner 304 und verwendet die linear codierten Bigramm-Aussprache-Präfix-Bäume 303 und den Unigramm-Aussprache-Präfix-Baum 306 zum Erkennen der empfangenen Folge von Phonemen als Wörter.
  • 4 veranschaulicht einen vergrößerten Unigramm-Aussprache-Präfix-Baum für das Beispielwörterbuch. Ein vergrößerter Unigramm-Aussprache-Präfix-Baum ist ein Unigramm-Aussprache-Präfix-Baum, der vergrößert worden ist, um einen Faktor in jedem Knoten zu enthalten, und dessen Knoten nach Unigramm-Wahrscheinlichkeiten geordnet sind. Die Nachfolgerknoten eines jeden Elternknotens werden auf der Grundlage der größten Wahrscheinlichkeit eines absteigenden Blattknotens des betreffenden Nachfolgerknotens von links nach rechts geordnet. Da zum Beispiel die größte Wahrscheinlichkeit eines absteigenden Blattknotens von Knoten [1] 0,3 beträgt und da die größte Wahrscheinlichkeit eines absteigenden Blattknotens von Knoten [2] 0,2 beträgt, befindet sich Knoten [1] links von dem Knoten [2]. Analog dazu gilt: da die größten Wahrscheinlichkeiten der absteigenden Blattknoten von Knoten [3], Knoten [4] und Knoten [5] 0,3, 0,25 bzw. 0,15 betragen, befindet sich Knoten [3] am weitesten links und Knoten [5] befindet sich am weitesten rechts. Jeder Knoten des Unigramm-Aussprache-Präfix-Baumes ist einer sequentiellen Knotenkennung zugeordnet. Die Knotenkennungen werden zugeordnet, wenn die Knoten in einer tiefenorientierten Links-Rechts-Traversierung des Unigramm-Aussprache-Präfix-Baumes besucht werden. Somit haben die Knoten bei der gleichen Tiefe eindeutige sequentielle Kennungen. Zum Beispiel enthalten die Knoten an Tiefe 3 die Kennungen [3],[4], [5] und [6].
  • Die Faktoren der vergrößerten Unigramm-Aussprache-Präfix-Bäume werden von den Wahrscheinlichkeiten gemäß den Gleichungen (1) und (2) erzeugt. Zuerst werden die Wahrscheinlichkeiten in jedem Nicht-Blattknoten ausgehend von den Wahrscheinlichkeiten in den Blattknoten eingestellt. Die Wahrscheinlichkeit in jedem Nicht-Blattknoten wird durch die folgende Gleichung erzeugt:
  • Figure 00110001
  • Das heißt, die Wahrscheinlichkeit in jedem Nicht-Blattknoten des Unigramm-Aussprache-Präfix-Baumes ist das Maximum der Wahrscheinlichkeiten seiner Nachfolgerknoten. Zum Beispiel enthält Knoten [1] eine Wahrscheinlichkeit von 0,3, was die größte Wahrscheinlichkeit aus 0,3, 0,25 und 0,15 ist, die die Wahrscheinlichkeiten seiner Nachfolgerknoten [3],[4] und [5] sind. Die Faktoren in jedem Knoten werden durch die folgende Gleichung erzeugt:
  • Figure 00120001
  • Das heißt, der Faktor eines Knotens ist die Wahrscheinlichkeit des betreffenden Knotens, geteilt durch die Wahrscheinlichkeit seines Elternknotens. Die Wahrscheinlichkeit von Knoten [5] zum Beispiel beträgt 0,15 und die Wahrscheinlichkeit seines Elternknotens [1] beträgt somit 0,3, und daher ist der Faktor für Knoten [5] gleich 0,15 geteilt durch 0,3 gleich 0,5. Ein vergrößerter Unigramm-Aussprache-Präfix-Baum speichert den Faktor für einen Knoten nur, weil die Wahrscheinlichkeiten von den Faktoren erzeugt werden können. Die zu einem Knoten zugehörige Wahrscheinlichkeit ist die Wahrscheinlichkeit seines Elternknotens, multipliziert mit dem Faktor des Knotens. Die Wahrscheinlichkeit von Knoten [1] beträgt zum Beispiel 0,3 und der Faktor für den Nachfolgerknoten [5] beträgt 0,5. Die Wahrscheinlichkeit für Knoten [5] ist somit 0,3 mal 0,5 gleich 0,15. Die Verwendung solcher Faktoren anstelle von Wahrscheinlichkeiten ist vorteilhaft, da die Mehrzahl der Faktoren üblicherweise 1,0 ist, was eine kompakte Darstellung ermöglicht. Das heißt, alle Faktoren, die weggelassen werden, können als 1,0 angenommen werden.
  • Nachdem der vergrößerte Unigramm-Ausprache-Präfix-Baum erzeugt wurde, erzeugt der Aussprache-Präfix-Baum-Linearcodierer ein Dreiknoten-Wörterbuch. 5 enthält ein Dreiknoten-Wörterbuch für den vergrößerten Unigramm-Aussprache-Präfix-Baum aus 4. Das Dreiknoten-Wörterbuch enthält einen Eintrag für jedes Wort in dem Wörterbuch zusammen mit den Knotenkennungen eines jeden Knotens, der in dem vergrößerten Unigramm-Aussprache-Präfix-Baum beim Erkennen des betreffenden Wortes besucht wird. Um beispielsweise das Wort „cotton" zu erkennen, werden die Knoten [0],[2], [6], [10], [12] und [13] traversiert. Da die Traversierung stets an dem Knoten [0] beginnt, kann diese Knotenkennung aus dem Dreiknoten-Wörterbuch ausgelassen werden. Das Dreiknoten-Wörterbuch und die linear codierten Bigramm-Aussprache-Präfix-Bäume stellen eine Codierung der Bigramm-Aussprache-Präfix-Bäume dar.
  • Der Aussprache-Präfix-Baum-Linearcodierer vergrößert auch jeden Bigramm-Aussprache-Präfix-Baum analog zu der Vergrößerung des Unigramm-Aussprache-Präfix-Baumes. Insbesondere wird ein Faktor für jeden Nicht-Blattknoten erzeugt. Abbildung 6 stellt den vergrößerten Bigramm-Aussprache-Präfix-Baum für den Wort-Bigrammkontext „were" dar, und 7 stellt den vergrößerten Bigramm-Aussprache-Präfix-Baum für den Wort-Bigrammkontext „wear" dar. Der Aussprache-Präfix-Baum-Linearcodierer erzeugt die linearen Codierungen 602 und 702 für die vergrößerten Bigramm-Ausprache-Präfix-Bäume 601 bzw. 701. Die linear codierten Bigramm-Aussprache-Präfix-Bäume enthalten einen Eintrag für einen jeden Blattknoten. Aus einem linear codierten Bigramm-Aussprache-Präfix-Baum und dem Dreiknoten-Wörterbuch kann der Bigramm-Aussprache-Präfix-Baum erzeugt werden. Somit stellt ein linear codierter Bigramm-Aussprache-Präfix-Baum eine kompakte Codierung des Bigramm-Aussprache-Präfix-Baumes dar. Jeder Eintrag des linear codierten Bigramm-Aussprache-Präfix-Baumes identifiziert ein Wort, einen Faktor und eine Tiefe in dem vergrößerten Bigramm-Aussprache-Präfix-Baum. Zum Beispiel identifiziert der zweite Eintrag in dem linear codierten Bigramm-Aussprache-Präfix-Baum 602 das Wort „caught", den Faktor 0,8 und die Tiefe von 1. Dieser zweite Eintrag zeigt an, dass der Blattknoten für das Wort „caught" eine Wahrscheinlichkeit hat, die 0,8 Mal so groß ist wie die Wahrscheinlichkeit des vorhergehenden Eintrags in dem linear codierten Bigramm-Aussprache-Präfix-Baum. Das heißt, die Wahrscheinlichkeit für den Knoten [11] ist das 0,8-fache des Faktors des ersten Eintrags in dem linear codierten Bigramm-Aussprache-Präfix-Baum 602, also 0,5. Weiterhin zeigt dieser zweite Eintrag an, dass der Faktor von 0,8 in einem Knoten mit einer Tiefe von 1 in dem vergrößerten Bigramm-Aussprache-Präfix-Baum gespeichert ist.
  • Der Aussprache-Präfix-Baum-Linearcodierer erzeugt einen linear codierten Bigramm-Aussprache-Präfix-Baum, indem er eine tiefenorientierte Links-Rechts-Traversierung des vergrößerten Bigramm-Aussprache-Präfix-Baumes durchführt. Für jeden besuchten Blattknoten ergänzt der Aussprache-Präfix-Baum-Linearcodierer einen Eintrag in dem li near codierten Eigramm-Aussprache-Präfix-Baum, der das Wort in dem Blattknoten und den Faktor und die Tiefe des zuletzt besuchten Knotens, der einen anderen Faktor als 1,0 hatte, identifiziert. Wenn zum Beispiel der Blattknoten [7] aus 6 besucht wird, war der zuletzt besuchte Knoten mit einem anderen Faktor als 1,0 der Knoten [0]. Daher ist der erste Eintrag in dem linear codierten Bigramm-Aussprache-Präfix-Baum „we 0,5 0", was einen Faktor von 0,5 und eine Tiefe von 0 anzeigt. Der zweite Eintrag entspricht dem Knoten [11]. Der zuletzt besuchte Knoten vor dem Aufsuchen von Knoten [11] mit einem anderen Faktor als 1,0 ist Knoten [2], der einen Faktor von 0,8 und eine Tiefe von 1 hat. Somit lautet der zweite Eintrag in dem linear codierten Bigramm-Ausprache-Präfix-Baum „caught 0,81". Wenn schließlich Knoten [13] besucht wird, ist der letzte besuchte Knoten mit einer anderen Wahrscheinlichkeit als 1,0 der Knoten [12], der einen Faktor von 0,25 und eine Tiefe von 4 hat. Somit lautet der dritte Eintrag in dem linear codierten Bigramm-Aussprache-Präfix-Baum „cotton 0,25 4".
  • Ein Bigramm-Aussprache-Präfix-Baum kann aus dem linear codierten Bigramm-Aussprache=Präfix-Baum regeneriert werden, indem der linear codierte Bigramm-Aussprache-Präfix-Baum unter Verwendung des Dreiknoten-Wörterbuches entschlüsselt wird. Für jeden Eintrag in dem linear codierten Bigramm-Aussprache-Präfix-Baum ruft der Decodierer den Eintrag aus dem Dreiknoten-Wörterbuch für das in dem Eintrag des linear codierten Bigramm-Aussprache-Präfix-Baum gespeicherte Wort ab. (Ein bevorzugtes Computer-Spracherkennungssystem führt eine solche Entschlüsselung nicht vor dem Beginn der Erkennung durch; vielmehr ist die Decodierung in die Erkennung integriert.) Der Dreiknoten-Wörterbucheintrag identifiziert die Knoten, die Teil des Bigramm-Aussprache-Präfix-Baumes für das betreffende Wort sind. Das heißt, der Eintrag identifiziert die Knoten des Bigramm-Aussprache-Präfix-Baumes auf dem Pfad von dem Wurzelknoten zu dem Blattknoten für das betreffende Wort. Der Decodierer fügt für jeden identifizierten Knoten einen Knoten zu dem Bigramm-Aussprache-Präfix-Baum hinzu. Wenn der Decodierer zum Beispiel auf den ersten Eintrag des linear codierten Bigramm-Aussprache-Präfix-Baumes 601 trifft, fügt der Decodierer die Wurzel zu dem Bigramm-Aussprache-Präfix-Baum hinzu, und er fügt einen Knoten für jeden in dem Dreiknoten-Wörterbucheintrag für das Wort „we" identifizierten Knoten hinzu. Der Decodierer stellt danach den Faktor eines jeden hinzugefügten Knotens auf 1,0 ein, außer für den Knoten in der in dem linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrag gespeicherten Tiefe. Der Decodierer stellt den Faktor dieses Knotens auf den Faktor in dem li near codierten Bigramm-Aussprache-Präfix-Baum-Eintrag ein. Wenn der Decodierer analog dazu auf den zweiten Eintrag trifft, ruft der Decodieren den Eintrag für das in dem zweiten Eintrag gespeicherte Wort aus dem Dreiknoten-Wörterbuch ab. Der Decodierer fügt für jeden identifizierten Knoten einen Knoten zu dem Bigramm-Aussprache-Präfix-Baum hinzu (falls nicht bereits einer hinzugefügt wurde). Der Decodierer ruft die Kennungen der Knoten für das Wort „caught" aus dem Dreiknoten-Wörterbuch ab und fügt einen Knoten für jeden identifizierten Knoten hinzu. Der Decodierer stellt danach den Faktor für den bei Tiefe 1 erzeugten Knoten auf 0,8 und alle anderen Faktoren auf 1,0 ein. Wenn der Decodierer schließlich auf den dritten Eintrag trifft, ruft er den Dreiknoten-Wörterbuch-Eintrag für das Wort „cotton" ab und fügt für jeden identifizierten Knoten, der nicht bereits hinzugefügt worden ist, d. h. Knoten [12] und [13], einen Knoten hinzu. Der Decodierer stellt danach den Faktor des Knotens bei der Tiefe des linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrages auf den Faktor 0,25 des linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrages ein sowie alle anderen Faktoren auf 1,0. Der an diesem Punkt erzeugte Aussprache-Präfix-Baum ist der vergrößerte Bigramm-Aussprache-Präfix-Baum. Der Decodierer traversiert danach den vergrößerten Bigramm-Aussprache-Präfix-Baum, um die Wahrscheinlichkeiten für die Blattknoten zu erzeugen. Der Durchschnittsfachmann wird erkennen, dass die Tiefe der Säule des linear codierten Bigrammbaumes für eine kompakte Darstellung eines Bigramm-Aussprache-Präfix-Baumes nicht erforderlich ist. Wie jedoch weiter unten zu sehen sein wird, ermöglicht die Einbeziehung der Tiefe eine rasche Erstellung von Bigrammkontext während der Spracherkennung.
  • 8 ist ein Fließschema einer Codierungsroutine für Bigramm-Aussprache-Präfix-Baum. Die Codierungsroutine für Bigramm-Aussprache-Präfix-Baum wird von dem Aussprache-Präfix-Baum-Linearcodierer ausgeführt. Die Routine ist eine rekursive Routine, die eine tiefenorientierte Links-Rechts-Traversierung eines vergrößerten Bigramm-Aussprache-Präfix-Baumes, der an die Routine übergeben wird, ausführt und einen linear codierten Bigramm-Aussprache-Präfix-Baum erstellt. Die Routine wird anfangs aufgerufen, wenn sie den Wurzelknoten des vergrößerten Bigramm-Aussprache-Präfix-Baumes durchläuft. Jedes mal, wenn sich die Routine rekursiv selbst aktiviert, durchläuft sie einen Unterbaum des vergrößerten Bigramm-Aussprache-Präfix-Baumes. Wenn es sich in dem Schritt 801 bei dem Wurzelknoten des durchlaufenen Unterbaumes um einen Blattknoten handelt, fährt die Routine mit dem Schritt 805 fort; im anderen Falle fährt sie mit dem Schritt 802 fort. In den Schritten 802 bis 804 bildet die Routine eine Schleife und wählt dabei jeden Nachfolgerknoten des Wurzelknotens des durchlaufenen Unterbaumes aus und aktiviert dabei rekursiv diese Routine beim Durchlaufen eines ausgewählten Nachfolgerknotens als dem Wurzelknoten eines Unterbaumes. In dem Schritt 802 wählt die Routine den nächsten Nachfolgerknoten des durchlaufenen Unterbaumes beginnend mit dem ersten Nachfolgerknoten aus. Wenn in dem Schritt 803 alle Nachfolgerknoten des Wurzelknotens des durchlaufenen Unterbaumes bereits ausgewählt worden sind, kehrt die Routine zurück; im anderen Falle geht die Routine in einer Schleife zu dem Schritt 802, um den nächstfolgenden Nachfolgerknoten auszuwählen. In dem Schritt 805 fügt die Routine einen Eintrag für das Wort des Wurzelknotens zu dem linear codierten Bigramm-Aussprache-Präfix-Baum hinzu, und sie fügt die Tiefe und den Faktor des zuletzt besuchten Knotens, der keinen Faktor von 1,0 hat, hinzu und kehrt danach zurück. Wenngleich diese Routine als Codierung eines Bigramm-Ausprache-Präfix-Baumes beschrieben worden ist, kann die gleiche Routine ohne Änderung verwendet werden, um einen beliebigen Aussprache-Präfix-Baum ungeachtet der Länge des n-Gramms, dem er entspricht, zu codieren.
  • 9 ist ein Fließschema der Codierungsroutine für linear codierten Bigramm-Aussprache-Präfix-Baum. Ein linear codierter Bigramm-Aussprache-Präfix-Baum und ein Dreiknoten-Wörterbuch werden an die Verschlüsselungsroutine für linear codierten Bigramm-Aussprache-Präfix-Baum übergeben, und die Routine erzeugt den vergrößerten Bigramm-Aussprache-Präfix-Baum. Wie weiter oben bereits erwähnt, muss ein bevorzugtes Computer-Spracherkennungssystem die vergrößerten Bigramm-Aussprache-Präfix-Bäume nicht regenerieren. Vielmehr ruft das Computer-Spracherkennungssystem die benötigten Informationen direkt wie weiter unten beschrieben von dem linear codierten Bigramm-Aussprache-Präfix-Baum ab. In den Schritten 901 bis 909 bildet die Routine eine Schleife und wählt jeden linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrag aus und fügt Knoten zu dem vergrößerten Bigramm-Aussprache-Präfix-Baum hinzu, der von dem betreffenden Eintrag dargestellt wird. In dem Schritt 901 wählt die Routine den nächsten linear codierten Bigramm-Aussprache-Präfix-Baum beginnend mit dem ersten aus. Wenn in dem Schritt 902 alle linear codierten Bigramm-Aussprache-Präfix-Baum-Einträge bereits ausgewählt worden sind, kehrt die Routine zurück; im anderen Falle fährt die Routine mit Schritt 903 fort. In dem Schritt 903 wählt die Routine den Dreiknoten-Wörterbuch-Eintrag aus, der dem Wort in dem ausgewählten digital co dienten Bigramm-Aussprache-Präfix-Baum-Eintrag entspricht. In den Schritten 904 bis 909 bildet die Routine eine Schleife und verarbeitet jeden in dem zweiten Dreiknoten-Wörterbuch-Eintrag identifizierten Knoten und fügt diesen dem vergrößerten Bigramm-Aussprache-Präfix-Baum hinzu, insofern er nicht bereits hinzugefügt wurde. In dem Schritt 904 wählt die Routine die nächstfolgende Tiefe aus, beginnend mit der Tiefe in dem ausgewählten linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrag. Wenn die ausgewählte Tiefe größer ist als die größte Tiefe für den ausgewählten Dreiknoten-Wörterbuch-Eintrag, geht die Routine zu dem Schritt 901 über, um den nächstfolgenden digital codierten Bigramm-Aussprache-Präfix-Baum-Eintrag auszuwählen; im anderen Falle fährt die Routine mit dem Schritt 906 fort. In dem Schritt 906 fügt die Routine einen Knoten entsprechend dem in dem ausgewählten Dreiknoten-Wörterbuch-Eintrag identifizierten Knoten zu dem vergrößerten Bigramm-Aussprache-Präfix-Baum hinzu. Wenn in dem Schritt 907 die ausgewählte Tiefe gleich der Tiefe in dem ausgewählten digital codierten Bigramm-Aussprache-Präfix-Baum-Eintrag ist, fährt die Routine mit dem Schritt 908 fort; im anderen Falle fährt die Routine mit dem Schritt 909 fort. In dem Schritt 908 stellt die Routine den Faktor des hinzugefügten Knotens auf den Faktor in dem ausgewählten digital codierten Bigramm-Aussprache-Präfix-Baum-Eintrag ein. In dem Schritt 909 stellt die Routine den Faktor des hinzugefügten Knotens auf 1,0 ein. Die Routine geht danach zu dem Schritt 904 über, um die nächstfolgende Tiefe auszuwählen.
  • 10 ist ein Fließschema eines Computer-Spracherkennungssystems, das einen digital codierten Bigramm-Aussprache-Präfix-Baum verwendet. Das Computer-Spracherkennungssystem ruft eine Folge von Phonemen ab und wählt die Folge von Wörtern aus, die am besten zu den Phonemen passt. Das Erkennungssystem erstellt wiederholt neue Annahmen hinsichtlich der Folge von Wörtern, die eine Folge von Phonemen darstellen, wenn jedes Phonem verarbeitet wird. Zum Beispiel kann das Computer-Spracherkennungssystem die folgenden Annahmen aufstellen:
    H1(t) _ „we wear" P(H1(t)) = 0,6
    H2(t) _ "we were" P(H2(t)) = 0,4
  • Das Computer-Spracherkennungssystem erweitert diese Annahmen durch Verweis auf die Unigramm- und Bigramm-Aussprache-Präfix-Bäume in Verbindung mit dem Dreiknoten-Wörterbuch.
  • 11 bis 13 veranschaulichen die Aussprache-Präfix-Bäume, die durch das Computer-Spracherkennungssystem erzeugt werden. Das Computer-Spracherkennungssystem erzeugt einen Unigramm-Aussprache-Präfix-Baum für die beste Annahme (d. h. die Annahme mit der höchsten Wahrscheinlichkeit) und einen Bigramm-Aussprache-Präfix-Baum für jede Annahme (als Bigrammkontext bezeichnet). Die Knoten des Unigramm-Aussprache-Präfix-Baumes enthalten die Wahrscheinlichkeit der besten Annahme, multipliziert mit der Unigramm-Wahrscheinlichkeit für den betreffenden Knoten. Die Wahrscheinlichkeit in dem Knoten [5] aus 11 beträgt beispielsweise 0,09, was die Unigramm-Wahrscheinlichkeit von 0,15 aus dem Knoten [5] aus 4, multipliziert mit der Wahrscheinlichkeit von 0,6 der besten Annahme, ist. Die Knoten der Bigramm-Aussprache-Präfix-Bäume enthalten die Wahrscheinlichkeit der entsprechenden Annahme, multipliziert mit der Wahrscheinlichkeit für den betreffenden Knoten. Die Wahrscheinlichkeit von Knoten [10] aus 12 beträgt beispielsweise 0,24, was die Bigramm-Wahrscheinlichkeit 0,4 von Knoten [10] aus 6 multipliziert mit der Wahrscheinlichkeit von 0,6 der entsprechenden Annahme ist. Das Computer-Spracherkennungssystem baut den Unigramm-Aussprache-Präfix-Baum und den Bigramm-Aussprache-Präfix-Baum parallel auf, wenn jedes Phonem empfangen wird. Um die Bigramm-Aussprache-Präfix-Bäume zu erzeugen, verwendet das Computer-Spracherkennungssystem den digital codierten Bigramm-Aussprache-Präfix-Baum und das Dreiknoten-Wörterbuch, um zu identifizieren, welche Knoten hinzuzufügen sind und welches die Wahrscheinlichkeiten für die Knoten sind.
  • Nachdem das letzte Phonem verarbeitet worden ist, wählt das Computer-Spracherkennungssystem die beste Annahme als die Folge von Wörtern aus, die am besten zu den Phonemen passt. Wenn das letzte Phonem noch nicht verarbeitet worden ist, wählt das Computer-Spracherkennungssystem, beginnend mit der ersten, die nächstfolgende unverarbeitete Annahme als die nächste Annahme aus.
  • Unter Bezugnahme auf 10 empfängt das System in Schritt 1001 das nächstfolgende Phonem. Wenn in Schritt 1002 alle Phoneme bereits verarbeitet worden sind, fährt das System mit Schritt 1010 fort; im anderen Falle fährt das System mit Schritt 1003 fort. In Schritt 1003 stellt das System eine neue Annahme für das abgerufene Phonem auf. Wenn in Schritt 1004 neue Annahmen aufgestellt worden sind, fährt das System mit Schritt 1005 fort; im anderen Falle springt das System zu Schritt 1007, um die Bigramm-Aussprache-Präfix-Bäume zu aktualisieren. In Schritten 1005 bis 1009 konkretisiert das System einen Unigramm-Aussprache-Präfix-Baum für die beste Annahme und einen Bigramm-Aussprache-Präfix-Baum für jede Annahme. Das System stellt danach die Wahrscheinlichkeiten in den Knoten der Aussprache-Präfix-Bäume auf der Grundlage der Wahrscheinlichkeit der Annahme sowie der Unigramm- und Bigramm-Wahrscheinlichkeiten ein, wobei das System eine Schleife bildet und die Aussprache-Präfix-Bäume aktualisiert, um den Zustand der Annahme darzustellen. In Schritt 1005 aktiviert das System die Initialisierungsroutine für Wortabstand-Bigramm-Aussprache-Präfix-Baum, die einen Bigramm-Aussprache-Präfix-Baum für den Übergang von einem Wort zum nächstfolgenden initialisiert. In Schritt 1006 aktiviert das System die Initialisierungsroutine für Wortabstand-Unigramm-Aussprache-Präfix-Baum, die einen Unigramm-Aussprache-Präfix-Baum für den Übergang von einem Wort zum nächstfolgenden initialisiert. In Schritten 1007 bis 1009 bildet die Routine eine Schleife und aktualisiert die Bigramm-Aussprache-Präfix-Bäume unigrammbasiert auf den Phonemen. In Schritt 1007 aktiviert das System den Aktualisierungs-Bigramm-Aussprache-Präfix-Baum zur Aktualisierung des Bigramm-Aussprache-Präfix-Baumes auf der Grundlage des Phonems. In Schritt 1008 aktiviert das System die Aktualisierungsroutine für Unigramm-Aussprache-Präfix-Baum. Wenn in Schritt 1009 der Bigramm-Aussprache-Präfix-Baum für jede neu erstellte Annahme vollständig ist, geht die Routine zu Schritt 1001 über, um das nächstfolgende Phonem auszuwählen; im anderen Falle geht die Routine zu Schritt 1007 über, um die Aktualisierung der Aussprache-Präfix-Bäume fertig zu stellen. In Schritt 1010 wählt das System die beste Annahme als die erkannten Wörter für die abgerufene Folge von Phonemen aus und schließt den Vorgang ab.
  • 14 ist ein Fließschema der Initialisierungsroutine für Wortabstand-Bigramm-Aussprache-Präfix-Baum. Diese Routine erstellt einen Bigrammkontext (d. h. einen neu en Bigramm-Aussprache-Präfix-Baum) für das letzte Wort in jeder neu aufgestellten Annahme. Diese Routine initialisiert den Wurzelknoten für jeden Bigrammkontext. In Schritten 1401 bis 1409 bildet die Routine eine Schleife und wählt dabei jede Annahme aus und verarbeitet diese. In Schritt 1401 wählt die Routine die nächstfolgende Annahme aus, beginnend mit der ersten. Wenn in Schritt 1402 alle Annahmen bereits ausgewählt worden sind, kehrt die Routine zurück, wenn sie ihren Schritt 1403 ausführt. In Schritt 1403 stellt die Routine den Bigrammkontext auf das letzte Wort der ausgewählten Annahme ein. In Schritten 1404 bis 1409 bildet die Routine eine Schleife und verarbeitet jeden linear codierten Eigramm-Aussprache-Präfix-Baum-Eintrag für den bezeichneten Bigrammkontext. In Schritt 1404 wählt die Routine den nächstfolgenden Eintrag in dem digital codierten Bigramm-Aussprache-Präfix-Baum für den ausgewählten Bigrammkontext aus. Beginnend mit dem ersten linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrag. Wenn in Schritt 1405 alle linear codierten Bigramm-Aussprache-Präfix-Baum-Einträge für den Bigrammkontext bereits ausgewählt worden sind, geht die Routine zu Schritt 1401 über, um die nächstfolgende Annahme auszuwählen; im anderen Falle fährt die Routine mit Schritt 1406 fort. Wenn in Schritt 1406 die Tiefe des ausgewählten Eintrags gleich Nulloder Eins ist, fährt die Routine mit Schritt 1407 fort; im anderen Falle geht die Routine zu Schritt 1404 über, um den nächstfolgenden linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrag auszuwählen. In Schritt 1407 identifiziert die Routine das erste Phonem des Wortes des ausgewählten linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrags aus dem Dreiknoten-Wörterbuch aus. In Schritt 1408 konkretisiert die Routine einen Knoten für diesen Bigrammkontext für das erste Phonem in dem Wort des ausgewählten linear codierten Bigramm-Aussprache-Präfix-Baumes. In Schritt 1409 stellt die Routine die Wahrscheinlichkeit des Knotens auf den Faktor des linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrages, multipliziert mit der Wahrscheinlichkeit der ausgewählten Annahme, ein und geht zu Schritt 1404 über, um den nächstfolgenden linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrag auszuwählen.
  • 15 ist ein Fließschema der Initialisierungsroutine für Wortabstand-Unigramm-Aussprache-Präfix-Baum. Diese Routine konkretisiert einen Unigramm-Aussprache-Präfix-Baum für die Annahme mit der größten Wahrscheinlichkeit. Die Routine initialisiert einen Knoten für jeden Nachfolgerknoten des Wurzelknotens des Unigramm- Aussprache-Präfix-Baumes. In Schritt 1501 wählt die Routine die Annahme mit der größten Wahrscheinlichkeit aus. In Schritten 1502 bis 1505 konkretisiert die Routine einen Unigrammkontext für jeden Nachfolgerknoten des Wurzelknotens des Unigramm-Aussprache-Präfix-Baumes. In Schritt 1502 wählt die Routine, beginnend mit dem ersten, den nächstfolgenden Nachfolgerknoten des Wurzelknotens des Unigramm-Aussprache-Präfix-Baumes aus. Wenn in Schritt 1503 alle Nachfolgerknoten bereits ausgewählt worden sind, kehrt die Routine zurück; im anderen Falle fährt die Routine mit Schritt 1504 fort. In Schritt 1504 konkretisiert die Routine einen Knoten für die ausgewählte Annahme für den ausgewählten Nachfolgerknoten. In Schritt 1505 stellt die Routine die Wahrscheinlichkeit des konkretisierten Knotens auf den Faktor des ausgewählten Nachfolgerknotens, multipliziert mit der Wahrscheinlichkeit der ausgewählten Annahme, aus und geht zu Schritt 1502 über, um den Nachfolgerknoten des Wurzelknotens auszuwählen.
  • 16 ist ein Fließschema der Aktualisierungsroutine für Bigramm-Aussprache-Präfix-Baum. In Schritt 1601 wählt die Routine den nächstfolgenden Bigrammkontext beginnend mit dem ersten aus. Wenn in Schritt 1602 alle Bigrammkontexte bereits ausgewählt worden sind, kehrt die Routine zurück; im anderen Falle fährt die Routine mit Schritt 1603 fort. In Schritten 1603 bis 1608 bildet die Routine eine Schleife und fügt einen Nachfolgerknoten zu jedem Blattknoten des Bigramm-Aussprache-Präfix-Baumes für die ausgewählten Bigrammkontexte aus. In Schritt 1603 wählt die Routine den nächstfolgenden Blattknoten für den Bigramm-Aussprache-Präfix-Baum aus, beginnend mit dem ersten. Wenn in Schritt 1604 alle Blattknoten bereits ausgewählt worden sind, geht die Routine zu Schritt 1601 zurück, um den nächstfolgenden Bigrammkontext auszuwählen; im anderen Falle fährt die Routine mit Schritt 1605 fort. In Schritt 1605 identifiziert die Routine das nächstfolgende Phonem des Wortes des ausgewählten Knotens in dem Dreiknoten-Wörterbuch. In Schritt 1606 konkretisiert die Routine einen Knoten für den Bigramm-Aussprache-Präfix-Baum des ausgewählten Bigrammkontexts für das nächstfolgende Phonem. In Schritt 1607 stellt die Routine die Wahrscheinlichkeit des konkretisierten Knotens auf die Wahrscheinlichkeit des ausgewählten Blattknotens ein. In Schritt 1608 aktiviert die Routine eine Routine zum Hinzufügen von Knoten für die Geschwister des konkretisierten Knotens und geht zu Schritt 1603 zurück, um den nächstfolgenden Blattknoten auszuwählen.
  • 17 ist ein Fließschema der Routine zum Hinzufügen von Knoten für die Geschwister des konkretisierten Knotens. In Schritt 1701 wählt die Routine den nächstfolgenden Eintrag in dem linear codierten Bigramm-Aussprache-Präfix-Baum aus, beginnend mit dem Eintrag für den konkretisierten Knoten. Wenn in Schritt 1701 alle Einträge in dem linear codierten Bigramm-Aussprache-Präfix-Baum bereits ausgewählt worden sind, kehrt die Routine zurück; im anderen Falle fährt die Routine mit Schritt 1703 fort. Wenn in Schritt 1703 die Tiefe des ausgewählten linear codierten Bigramm-Aussprache-Präfix-Baumes größer als die Tiefe plus Eins des konkretisierten Knotens ist, geht die Routine zu Schritt 1701 über, um den nächstfolgenden linear codierten Bigramm-Aussprache-Präfix-Baum auszuwählen; im anderen Falle fährt die Routine mit Schritt 1704 fort. Wenn in Schritt 1704 die Tiefe des ausgewählten Eintrages kleiner oder gleich der Tiefe des konkretisierten Knotens ist, kehrt die Routine zurück; im anderen Falle fährt die Routine mit Schritt 1705 fort. In Schritt 1705 identifiziert die Routine das nächstfolgende Phonem des Wortes in dem ausgewählten linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrag aus dem Dreiknoten-Wörterbuch. In Schritt 1706 konkretisiert die Routine einen Knoten für den Bigramm-Aussprache-Präfix-Baum des ausgewählten Bigrammkontexts für das nächstfolgende Phonem. In Schritt 1707 stellt die Routine die Wahrscheinlichkeit des Knotens auf die Wahrscheinlichkeit des Elternknotens, multipliziert mit dem Faktor des ausgewählten linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrags, ein und geht zu Schritt 1701 zurück, um den nächstfolgenden linear codierten Bigramm-Aussprache-Präfix-Baum-Eintrag auszuwählen.
  • 18 ist ein Fließschema der Aktualisierungsroutine für Unigramm-Aussprache-Präfix-Baum. In Schritt 1801 wählt die Routine den nächstfolgenden Blattknoten der besten Annahme aus. Wenn in Schritt 1802 alle Blattknoten der besten Annahme bereits ausgewählt worden sind, kehrt die Routine zurück; im anderen Falle fährt die Routine mit Schritt 1803 fort. In Schritt 1803 konkretisiert die Routine Knoten für jeden Nachfolgerknoten des ausgewählten Blattknotens. In Schritt 1803 wählt die Routine den nächstfolgenden Nachfolgerknoten des ausgewählten Blattknotens aus dem vergrößerten Unigramm-Aussprache-Präfix-Baum aus. Wenn in Schritt 1804 alle Nachfolgerknoten bereits ausgewählt worden sind, geht die Routine zu Schritt 1801 zurück, um den nächstfolgenden Blattknoten auszuwählen; im anderen Falle fährt die Routine mit Schritt 1805 fort. In Schritt 1805 konkretisiert die Routine einen Knoten für den ausgewählten Nachfolgerknoten. In Schritt 1806 stellt die Routine die Wahrscheinlichkeit des konkretisierten Knotens auf die Wahrscheinlichkeit des Elternknotens, multipliziert mit dem Faktor aus dem vergrößerten Unigramm-Aussprache-Präfix-Baum, ein und geht zu Schritt 1803 zurück, um den nächstfolgenden Nachfolgerknoten auszuwählen.

Claims (19)

  1. Verfahren zum linearen Codieren eines Aussprache-Präfix-Baums mit einer Vielzahl von Knoten, die einen Wurzelknoten (200) und wenigstens einen Blattknoten (206, 204) umfassen, wobei jeder Nicht-Wurzel- und Nicht-Blattknoten (201, 202, 203, 205) ein Phonem darstellt und einen Vorgängerknoten (202) sowie wenigstens einen Nachfolgerknoten (205) hat, und jeder Blattknoten (206, 201) ein Wort darstellt, das durch die Phoneme gebildet wird, die durch die Nicht-Blattknoten (201, 202, 203, 205) auf einem Pfad von dem Wurzelknoten (200) zu dem Blattknoten (206) dargestellt werden, wobei jeder Blattknoten (204, 206) eine Wahrscheinlichkeit hat und das Verfahren umfasst: Einstellen einer Wahrscheinlichkeit jedes Nicht-Blattknotens (201, 202, 203, 205) auf eine Wahrscheinlichkeit auf Basis der Wahrscheinlichkeit seiner Nachfolgerknoten (206, 204); Einstellen eines Faktors jedes Knotens auf die Wahrscheinlichkeit des Knotens dividiert durch die Wahrscheinlichkeit des Vorgängerknotens (202) des Knotens; und Erzeugen eines codierten Aussprache-Eintrags für jeden Blatknoten (204, 206) des Aussprache-Präfix-Baums, wobei der codierte Aussprache-Eintrag das Wort anzeigt, das durch den Blattknoten (206, 204) dargestellt wird, und den Faktor eines nächstgelegenen Elternknotens (205) mit einem anderen Faktor als einem vorgegebenen Faktor enthält; wobei der Aussprache-Präfix-Baum aus den codierten Aussprache-Einträgen und einer Liste der Phoneme, die jedes Wort bilden, regeneriert werden kann.
  2. Verfahren nach Anspruch 1, wobei Nachfolgerknoten eines Knotens so geordnet werden, dass der Nachfolgerknoten, der einen absteigenden Blattknoten mit der höchsten Wahrscheinlichkeit hat, links von den anderen Nachfolgerknoten liegt, und wobei das Erzeugen eines codierten Aussprache-Eintrags für jeden Blattknoten des Aussprache-Präfix-Baums das Durchführen einer tiefenorientierten Links-Rechts-Traversierung des Aussprache-Präfix-Baums einschließt.
  3. Verfahren nach Anspruch 1, das das Erzeugen eines Baumknoten-Wörterbuchs durch: Erzeugen eines Unigramm-Aussprache-Präfix-Baums; Zuordnen einer eindeutigen Kennung zu jedem Knoten des erzeugten Unigramm-Aussprache-Präfix-Baums; und für jedes Wort Speichem der eindeutigen Kennung für jeden Knoten auf dem Pfad von dem Wurzelknotendes Unigramm-Aussprache-Präfix-Baums zu dem Blattknoten, der dieses Wort darstellt, einschließt.
  4. Verfahren nach Anspruch 3, wobei durch das Zuordnen eindeutiger Kennungen den Knoten, die bei einer breitenorientierten Links-Rechts-Traversierung des Unigramm-Aussprache-Präfix-Baums besucht werden, sequentielle Kennungen zugeordnet werden.
  5. Verfahren nach Anspruch 1, wobei jeder Knoten eine Tiefe in dem Aussprache- Präfix-Baum hat und wobei der codierte Aussprache-Eintrag die Tiefe des nächstgelegenen Elternknotens mit einem anderen Faktor als 1,0 enthält.
  6. Verfahren nach Anspruch 1, das des W eiteren einschließt: Erzeugen eines Baumknoten-Wörterbuchs, das eine Anzeige der Phoneme enthält, die jedes Wort bilden; Ordnen von Nachfolgerknoten jedes Nicht-Blattknotens des Aussprache-Präfix-Baums auf Basis der höchsten Wahrscheinlichkeit absteigender Blattknoten des Nachfolgerknotens; für jeden Nicht-Blattknoten des Aussprache-Präfix-Baums Einstellen der Wahrscheinlichkeit des Nicht-Blattknotens auf eine Wahrscheinlichkeit auf Basis der Wahrscheinlichkeit seiner Nachfolgerknoten; für jeden Knoten des Aussprache-Präfix-Baums Einstellen eines Faktors des Knotens auf die Wahrscheinlichkeit des Knoten dividiert durch die Wahrscheinlichkeit eines Vorgängerknotens des Knotens; und Erzeugen eines codierten Aussprache-Eintrags für jeden Blattknoten des Aussprache-Präfix-Baums, wobei der codierte Aussprache-Eintrag das Wort anzeigt, das durch den Blattknoten dargestellt wird, und den Faktor eines nächstgelegenen Eltemknotens mit einem anderen Faktor als 1,0 enthält.
  7. Verfahren nach Anspruch 6, wobei. Nachfolgerknoten eines Knotens der Wahrscheinlichkeit nach geordnet werden, so dass der Nachfolgerknoten, der einen absteigenden Blattknoten mit der höchsten Wahrscheinlichkeit hat, am weitesten links liegt und wobei das Erzeugen eines codierten Aussprache-Eintrags für jeden Blattknoten des Aussprache-Präfix-Baums das Durchführen einer tiefenorientierten Links-Rechts-Traversierung des Aussprache-Präfix-Baums einschließt.
  8. Verfahren nach Anspruch 6, wobei die Erzeugung eines Baumknoten-Wörterbuchs enthält: Erzeugen eines Unigramm-Aussprache-Präfix-Baums; Zuordnen einer eindeutigen Kennung zu jedem, Knoten des erzeugten Unigramm-Aussprache-Präfix-Baums; und für jedes Wort Speichern der eindeutigen Kennung für jeden Knoten auf dem Pfad von dem Wurzelknoten zu dem Blattknoten, der dieses Wort darstellt.
  9. Verfahren nach Anspruch 8, wobei durch das Zuordnen eindeutiger Kennungen den Knoten, die bei einer tiefenorientierten Links-Rechts-Traversierung des Unigramm-Aussprache-Präfix-Baums besucht werden, sequentielle Kennungen zugeordnet werden.
  10. Linearer Codieren zum Codieren eines Aussprache-Präfix-Baums mit einer Vielzahl von Knoten, die einen Wurzelknoten (200) und wenigstens einen Blattknoten (206, 204) umfassen, wobei jeder Nicht-Wurzel- und Nicht-Blattknoten (201, 202, 203, 205) ein Phonem darstellt und einen Vorgängerknoten (202) sowie wenigstens einen Nachfolgerknoten (205) hat und jeder Blattknoten (206, 201) ein Wort darstellt, das durch die Phoneme gebildet wird, die durch die Nicht-Blattknoten (201, 202, 203, 205) auf einem Pfad von dem Wurzelknoten (200) zu dem Blattknoten (206) dargestellt werden, wobei jeder Blattknoten (206, 204) eine Wahrscheinlichkeit hat und der Codierer so eingerichtet ist, dass er: eine Wahrscheinlichkeit jedes Nicht-Blattknotens (201, 202, 203, 205) auf eine Wahrscheinlichkeit auf Basis der Wahrscheinlichkeit seiner Nachfolgerknoten (205) einstellt; einen Faktor jedes Knotens auf die Wahrscheinlichkeit des Knotens dividiert durch die Wahrscheinlichkeit des Vorgängerknotens (202) des Knotens einstellt; und einen codierten Aussprache-Eintrag für jeden Blattknoten (206, 204) des Aussprache-Präfix-Baums erzeugt, wobei der codierte Aussprache-Eintrag das Wort anzeigt, das durch den Blattknoten (206) dargestellt wird, und den Faktor eines nächstgelegenen Elternknotens mit einem anderen Faktor als einem vorgegebenen Faktor enthält; wobei der Aussprache-Präfix-Baum aus den codierten Aussprache-Einträgen und einer Liste der Phoneme, die jedes Wort bilden, regeneriert werden kann.
  11. Codieren nach Anspruch 10, wobei Nachfolgerknoten eines Knotens so geordnet werden, dass der Nachfolgerknoten, der einen absteigenden Blattknoten mit der höchsten Wahrscheinlichkeit hat, links von den anderen Nachfolgerknoten liegt, und wobei das Erzeugen eines codierten Aussprache-Eintrags für jeden Blattknoten des Aussprache-Präfix-Baums das Durchführen einer tiefenorientierten Links-Rechts-Traversierung des Aussprache-Präfix-Baums einschließt.
  12. Codierer nach Anspruch 10, der des Weiteren so eingerichtet ist, dass ein Baumknoten-Wörterbuch erzeugt, indem er: einen Unigramm-Aussprache-Präfix-Baum erzeugt; jedem Knoten des erzeugten Unigramm-Aussprache-Präfix-Baums eine eindeutige Kennung zuordnet; und für jedes Wort die eindeutige Kennung für jeden Knoten auf dem Pfad von dem Wurzelknoten des Unigramm-Aussprache-Präfix-Baums zu dem Blattknoten, der dieses Wort darstellt, speichert.
  13. Codierer nach Anspruch 12, wobei durch das Zuordnen eindeutiger Kennungen den Knoten, die bei einer breiten orientierten Links-Rechts-Traversierung des Unigramm-Aussprache-Präfix-Baums besucht werden, sequentielle Kennungen zugeordnet werden.
  14. Codierer nach Anspruch 10, wobei der Aussprache-Präfix-Baum ein Bigramm-Aussprache-Präfix-Baum ist.
  15. Codierer nach Anspruch 10, wobei der Aussprache-Präfix-Baum ein Trigramm-Aussprache-Präfix-Baum ist.
  16. Codierer nach Anspruch 10, wobei jeder Knoten eine Tiefe in dem Baum hat und wobei der codierte Eintrag die Tiefe des nächstgelegenen Elternknotens mit einem anderen Faktor als 1,0 enthält.
  17. Codierer nach Anspruch 16, der eine Einrichtung enthält, die nach dem Erzeugen der codierten Einträge die Knoten in einer bestimmten Tiefe in dem Baum identifiziert, indem sie für jeden codierten Eintrag die Kennung des Knotens an der be stimmten Tiefe für den durch den codierten Eintrag identifizierten Blattknoten auswählt.
  18. Codieren nach Anspruch 17, wobei die bestimmte Tiefe als ein Index zu einer Liste verwendet wird:
  19. Computerlesbares Medium, das durch Computer ausführbare Befehle zum Durchführen aller Schritte des Verfahrens nach Anspruch 1 beim Ausführen auf einem Computer umfasst.
DE69726499T 1996-06-25 1997-06-04 Verfahren und Vorrichtung zur Kodierung von Aussprache-Prefix-Bäumen Expired - Lifetime DE69726499T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/674,656 US5758024A (en) 1996-06-25 1996-06-25 Method and system for encoding pronunciation prefix trees
US674656 1996-06-25

Publications (2)

Publication Number Publication Date
DE69726499D1 DE69726499D1 (de) 2004-01-15
DE69726499T2 true DE69726499T2 (de) 2004-05-27

Family

ID=24707448

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69726499T Expired - Lifetime DE69726499T2 (de) 1996-06-25 1997-06-04 Verfahren und Vorrichtung zur Kodierung von Aussprache-Prefix-Bäumen

Country Status (5)

Country Link
US (1) US5758024A (de)
EP (1) EP0817169B1 (de)
JP (1) JP3601751B2 (de)
CN (1) CN1107915C (de)
DE (1) DE69726499T2 (de)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3481497B2 (ja) * 1998-04-29 2003-12-22 松下電器産業株式会社 綴り言葉に対する複数発音を生成し評価する判断ツリーを利用する方法及び装置
WO2000007123A1 (en) * 1998-07-28 2000-02-10 Triada, Ltd. Methods of deleting information in n-gram tree structures
US6757647B1 (en) * 1998-07-30 2004-06-29 International Business Machines Corporation Method for encoding regular expressions in a lexigon
WO2001048737A2 (en) * 1999-12-23 2001-07-05 Intel Corporation Speech recognizer with a lexical tree based n-gram language model
US6614789B1 (en) 1999-12-29 2003-09-02 Nasser Yazdani Method of and apparatus for matching strings of different lengths
US6260011B1 (en) 2000-03-20 2001-07-10 Microsoft Corporation Methods and apparatus for automatically synchronizing electronic audio files with electronic text files
AU2000276400A1 (en) * 2000-09-30 2002-04-15 Intel Corporation Search method based on single triphone tree for large vocabulary continuous speech recognizer
US7930181B1 (en) * 2002-09-18 2011-04-19 At&T Intellectual Property Ii, L.P. Low latency real-time speech transcription
US8886677B1 (en) 2004-07-23 2014-11-11 Netlogic Microsystems, Inc. Integrated search engine devices that support LPM search operations using span prefix masks that encode key prefix length
US7653619B1 (en) * 2004-07-23 2010-01-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that support variable tree height
US7747599B1 (en) 2004-07-23 2010-06-29 Netlogic Microsystems, Inc. Integrated search engine devices that utilize hierarchical memories containing b-trees and span prefix masks to support longest prefix match search operations
ES2237345B1 (es) * 2005-02-28 2006-06-16 Prous Institute For Biomedical Research S.A. Procedimiento de conversion de fonemas a texto escrito y sistema informatico y programa informatico correspondientes.
GB2428508B (en) * 2005-07-15 2009-10-21 Toshiba Res Europ Ltd Parsing method
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
KR100748720B1 (ko) 2006-02-09 2007-08-13 삼성전자주식회사 다중 계층 중심 어휘 목록에 기초하여 대규모 단어 음성인식 방법 및 그 장치
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7953721B1 (en) 2006-11-27 2011-05-31 Netlogic Microsystems, Inc. Integrated search engine devices that support database key dumping and methods of operating same
US7831626B1 (en) 2006-11-27 2010-11-09 Netlogic Microsystems, Inc. Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node
US7987205B1 (en) 2006-11-27 2011-07-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations
US8086641B1 (en) 2006-11-27 2011-12-27 Netlogic Microsystems, Inc. Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
WO2013003772A2 (en) * 2011-06-30 2013-01-03 Google Inc. Speech recognition using variable-length context
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9336771B2 (en) * 2012-11-01 2016-05-10 Google Inc. Speech recognition using non-parametric models
US9063916B2 (en) * 2013-02-27 2015-06-23 Oracle International Corporation Compact encoding of node locations
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
CN103577548B (zh) * 2013-10-12 2017-02-08 优视科技有限公司 近音文字匹配方法及装置
US9785630B2 (en) * 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9858922B2 (en) 2014-06-23 2018-01-02 Google Inc. Caching speech recognition scores
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10290299B2 (en) 2014-07-17 2019-05-14 Microsoft Technology Licensing, Llc Speech recognition using a foreign word grammar
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9299347B1 (en) 2014-10-22 2016-03-29 Google Inc. Speech recognition using associative mapping
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10387575B1 (en) * 2019-01-30 2019-08-20 Babylon Partners Limited Semantic graph traversal for recognition of inferred clauses within natural language inputs
CN111128172B (zh) * 2019-12-31 2022-12-16 达闼机器人股份有限公司 一种语音识别方法、电子设备和存储介质
US11893983B2 (en) * 2021-06-23 2024-02-06 International Business Machines Corporation Adding words to a prefix tree for improving speech recognition

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5033087A (en) * 1989-03-14 1991-07-16 International Business Machines Corp. Method and apparatus for the automatic determination of phonological rules as for a continuous speech recognition system
US5144671A (en) * 1990-03-15 1992-09-01 Gte Laboratories Incorporated Method for reducing the search complexity in analysis-by-synthesis coding
US5454062A (en) * 1991-03-27 1995-09-26 Audio Navigation Systems, Inc. Method for recognizing spoken words
US5349645A (en) * 1991-12-31 1994-09-20 Matsushita Electric Industrial Co., Ltd. Word hypothesizer for continuous speech decoding using stressed-vowel centered bidirectional tree searches
CA2088080C (en) * 1992-04-02 1997-10-07 Enrico Luigi Bocchieri Automatic speech recognizer
US5535305A (en) * 1992-12-31 1996-07-09 Apple Computer, Inc. Sub-partitioned vector quantization of probability density functions
US5528728A (en) * 1993-07-12 1996-06-18 Kabushiki Kaisha Meidensha Speaker independent speech recognition system and method using neural network and DTW matching technique

Also Published As

Publication number Publication date
JP3601751B2 (ja) 2004-12-15
DE69726499D1 (de) 2004-01-15
CN1107915C (zh) 2003-05-07
EP0817169B1 (de) 2003-12-03
EP0817169A3 (de) 1998-09-23
JPH10116092A (ja) 1998-05-06
CN1180202A (zh) 1998-04-29
EP0817169A2 (de) 1998-01-07
US5758024A (en) 1998-05-26

Similar Documents

Publication Publication Date Title
DE69726499T2 (de) Verfahren und Vorrichtung zur Kodierung von Aussprache-Prefix-Bäumen
DE69914368T2 (de) Netzwerk- und sprachmodelle zur verwendung in einem spracherkennungssystem
DE69937176T2 (de) Segmentierungsverfahren zur Erweiterung des aktiven Vokabulars von Spracherkennern
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
DE69922104T2 (de) Spracherkenner mit durch buchstabierte Worteingabe adaptierbarem Wortschatz
DE4397100C2 (de) Verfahren zum Erkennen von Sprachsignalen und Spracherkennungssystem mit rekursiver Grammatik mit endlicher Zustandsanzahl
DE69818231T2 (de) Verfahren zum diskriminativen training von spracherkennungsmodellen
DE69922872T2 (de) Automatischer Hotelportier mit Spracherkennung
DE102007015497B4 (de) Spracherkennungsvorrichtung und Spracherkennungsprogramm
DE69919842T2 (de) Sprachmodell basierend auf der spracherkennungshistorie
DE69828141T2 (de) Verfahren und Vorrichtung zur Spracherkennung
DE69725091T2 (de) Verfahren und System zum Editieren von Sätzen während der kontinuierlichen Spracherkennung
DE60026637T2 (de) Verfahren zur Erweiterung des Wortschatzes eines Spracherkennungssystems
DE60316912T2 (de) Verfahren zur Spracherkennung
DE19825205C2 (de) Verfahren, Vorrichtung und Erzeugnis zum Generieren von postlexikalischen Aussprachen aus lexikalischen Aussprachen mit einem neuronalen Netz
EP0994461A2 (de) Verfahren zur automatischen Erkennung einer buchstabierten sprachlichen Äusserung
DE19635754A1 (de) Sprachverarbeitungssystem und Verfahren zur Sprachverarbeitung
EP0836175B1 (de) Verfahren und Anordnung zum Ableiten wenigstens einer Folge von Wörtern aus einem Sprachsignal
DE3135483A1 (de) Verfahren und schaltungsanordnung zur erkennung einer eingangszeichenkette
DE112010006037T5 (de) Spracherkennungsvorrichtung und Navigationssystem
DE112009004313T5 (de) Stimmerkennungseinrichtung
DE602004004310T2 (de) System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen
DE19922974A1 (de) Verfahren und Vorrichtung zur Bearbeitung eines Dokuments
DE19944608A1 (de) Erkennung einer in buchstabierter Form vorliegenden Sprachäußerungseingabe
WO2001018792A1 (de) Verfahren zum trainieren der grapheme nach phonemen regeln für die sprachsynthese

Legal Events

Date Code Title Description
8364 No opposition during term of opposition