-
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 201–206 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:
-
-
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:
-
-
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.