-
Hintergrund
und Zusammenfassung der Erfindung
-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf Spracherkenner.
Insbesondere bezieht sich die Erfindung auf einen Erkenner mit niedrigem
Speicherplatzbedarf, der für
eingebettete Anwendungen geeignet ist, bei denen die zur Verfügung stehenden
Speicher- und Prozessorressourcen begrenzt sind. Neue Wörter werden
dem Wortschatz des Erkenners durch Eingabe als buchstabierte Wörter hinzugefügt, die
dann in phonetische Transkriptionen und anschließend in syllabische Transkriptionen zum
Einspeichern in den Wortschatz umgewandelt werden.
-
Der
derzeitige Konsumgütertrend
zielt auf die Integration der Sprachtechnologie, um die Benutzung
dieser Güter
zu vereinfachen. Viele Konsumgüter,
wie beispielsweise Mobiltelefone, bieten ideale Gelegenheiten zur
Nutzung der Sprachtechnologie, stellen jedoch auch eine Herausforderung
dar, weil Speicherkapazität
und Verarbeitungsleistung oft begrenzt sind. Betrachtet man den
speziellen Fall der Anwendung von Sprachtechnologie auf das sprachausgelöste Mobiltelefonwählen, so
muss der eingebettete Erkenner in einen relativ kleinen nichtflüchtigen
Speicherplatz eingepasst werden, und außerdem ist der vom Erkenner
betrieblich genutzte Schreib-Lese-Speicher auch ziemlich begrenzt.
-
Um
mit der Speichernutzung sparsam umzugehen, hat das typische eingebettete
Erkennersystem ein sehr beschränktes,
oft statisches Vokabular. Die flexibleren Erkenner mit großem Vokabular,
die einen phonetischen Ansatz mit statistischen Methoden verbinden,
wie beispielsweise dem Hidden-Markow-Modell (HMM), sind für viele eingebettete Systemanwendungen
viel zu speicherhungrig. Außerdem modellieren
die leistungsfähigeren
Allzweckerkenner Wörter
auf Wortteileinheiten, wie zum Beispiel Phonemen, die verkettet
werden, um die Wortmodelle zu definieren. Diese Modelle sind oft kontextabhängig. Sie
speichern verschiedene Versionen eines jeden Phonems, je nachdem
welche benachbarten Phoneme vorausgehen und folgen (sie werden typischerweise
als Triphone gespeichert). Für
die meisten eingebetteten Anwendungen gibt es einfach zu viele Triphone,
um sie alle in einem kleinen Speicherplatz unterzubringen.
-
Im
Zusammenhang mit dem Speicherkapazitätsproblem fällt es vielen eingebetteten
Systemen schwer, einen Benutzer zufrieden zu stellen, der dem Wortschatz
für erkannte
Wörter
neue Wörter
hinzufügen
will. Ein Beispiel für
eine derartige Erweiterung des Wortschatzes wird in EP-A-562 138
offenbart. Dabei ist nicht nur die Wortschatzspeicherkapazität begrenzt,
sondern auch die Kapazität
des Zwischenspeichers, der gebraucht wird, um den Wortschatzerweiterungsprozess
auszuführen.
Bei eingebetteten Systemen, wie beispielsweise dem Mobiltelefon,
wo der Prozessor andere Aufgaben ausführen muss, kann es außerdem vorkommen,
dass konventionelle Wortschatzerweiterungsverfahren innerhalb einer annehmbaren
Zeitspanne nicht realisierbar sind. Die bei der herkömmlichen
Erkennertechnologie üblichen
Benutzerdialogfunktionen sind ebenfalls begrenzt. Zum Beispiel wird
in einem herkömmlichen Erkennersystem
typischerweise ein Führungstext
benutzt, um zu bestätigen,
dass ein vom Benutzer ausgesprochenes Wort richtig erkannt wurde.
In konventionellen Systemen kann der Führungstext eine codierte Version
der aufgezeichneten Sprache des Benutzers sein. In einigen stark
beschränkten
eingebetteten Systemen können
solche Führungstexte
unpraktisch sein, da die codierte Version der aufgezeichneten Sprache
(Führungssprache)
zu viel Speicherplatz erfordert.
-
Erfindungsgemäß wird ein
Spracherkenner nach Anspruch 1 zur Verfügung gestellt.
-
Die
vorliegende Erfindung geht die obigen Probleme dadurch an, dass
sie einen Erkenner mit niedrigem Speicherplatzbedarf zur Verfügung stellt, der
schnell und ohne großen
Speicherbedarf durch die buchstabierte Eingabe neuer Wörter trainiert
werden kann. Der Benutzer gibt Buchstaben ein, etwa über eine
Tastatur oder den Tastwahlblock eines Telefons, und diese Zeichen
werden durch einen Phonetisierer verarbeitet, der Entscheidungsbäume oder Ähnliches
benutzt, um eine phonetische Transkription des buchstabierten Wortes
zu erzeugen. Falls erwünscht,
kann der Phonetisierer eine Vielzahl von Transkriptionen erzeugen,
aus der sich die n-besten Transkriptionen ergeben. Wo Speicherkapazität sehr knapp
ist, können
die n-besten Transkriptionen mit Hilfe einer Konfusionsmatrix erzeugt
werden, die auf der Basis der vom Phonetisierer erstellten einzelnen Transkription
die n-besten Transkriptionen berechnet. Diese Transkriptionen werden
dann in eine weitere Form umgewandelt, die auf den nachfolgend beschriebenen
Hybridlauteinheiten basiert.
-
Zur
Repräsentation
von Wörtern
im Wortschatz benutzt das System eine Hybridlauteinheit. Die vom
Phonetisierer erzeugten Transkriptionen werden zwecks kompakter
Speicherung im Wortschatz in diese Hybridlauteinheiten umgewandelt. Die
Hybrideinheiten können
aus einer Mischung von mehreren unterschiedlichen Lauteinheiten
bestehen, einschließlich
Silben, Halbsilben, Phonemen und Ähnlichem. Vorzugsweise werden
die Hybrideinheiten so ausgewählt,
dass die Klasse der größeren Lauteinheiten
(z. B. Silben) die am häufigsten
im Wortschatz gebrauchten Laute darstellt und dass eine oder mehrere
Klassen kleinerer Lauteinheiten (z. B. Halbsilben und Phoneme) die
weniger häufig vorkommenden
Laute repräsentieren.
Eine derartige Mischung führt
zu einer mit den größeren Lauteinheiten
verbundenen hohen Erkennungsqualität, ohne den hohen Speicherbedarf.
Beispielsweise werden koartikulierte Laute besser durch die größeren Lauteinheiten
verarbeitet.
-
Unter
Benutzung eines Wörterbuchs
für Hybridlauteinheiten
werden die durch phonetische Transkription erzeugten Transkriptionen
umgewandelt, um die n-besten Hybrideinheits-Transkriptionen zu erhalten.
Falls erwünscht,
kann in dieser Phase den Transkriptionen durch Entscheidungsbäume oder Ähnliches
ein neuer Score zugeteilt werden. Als Alternative wird die beste
Transkription (oder das Set der n-besten Transkriptionen) durch
Benutzerdialog oder durch Vergleich mit der Spracheingabe des Benutzers
(z. B. über
das Mikrophon eines Mobiltelefons) extrahiert.
-
Aus
der extrahierten besten Transkription oder den extrahierten n-besten Transkriptionen
wird dann durch Auswahl von vorher gespeicherten Hybrideinheiten
aus dem Hybrideinheits-Wörterbuch eine
Wortvorlage konstruiert, und diese Einheiten werden zu einem Hybrideinheits-String
verkettet, der das Wort repräsentiert.
Vorzugsweise werden die Hybrideinheiten durch eine geeignete sprecherunabhängige Repräsentation
repräsentiert;
zur Zeit wird eine Lautähnlichkeitsrepräsentation
bevorzugt, obwohl andere Repräsentationen
verwendet werden können.
Das buchstabierte Wort (Buchstaben) und der Hybrideinheits-String
(verkettete Hybrideinheiten) werden im Wortschatz als neuer Eintrag
gespeichert. Falls erwünscht,
kann das gespeicherte buchstabierte Wort als Führungstext benutzt werden,
indem es auf dem LCD-Display des Konsumguts aufgezeigt wird.
-
Der
erfindungsgemäße Erkenner
ist sehr speichereffizient. Im Gegensatz zu dem großen Wortschatz
der HMM-Parameter, den konventionelle Systeme enthalten, ist der
Wortschatz der vorliegenden Erfindung recht kompakt. Man braucht
nur wenige Bytes, um die Buchstaben des buchstabierten Wortes und
den dazugehörigen
Hybrideinheits-String zu speichern. Die auf Hybrideinheiten basierende Wortmodellrepräsentation
ist sehr kompakt, und das bei der Konstruktion der Wortvorlagen
benutzte Hybrideinheits-Wörterbuch
ist auch bedeutend kleiner als die Wörterbücher konventioneller Systeme.
-
Ein
vollständigeres
Verständnis
der Erfindung, ihrer Aufgaben und Vorteile ergibt sich aus der nachfolgenden
Spezifikation und den beigefügten Zeichnungen.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm einer erfindungsgemäßen Ausführungsart des Erkenners; und
-
2 ist
ein Flussdiagramm, das einen derzeitig bevorzugten Syllabierungsprozess
veranschaulicht;
-
3 ist
ein Blockdiagramm, das den derzeitig bevorzugten Phonetisierer bei
der Verwendung von Entscheidungsbäumen veranschaulicht;
-
4 ist
ein Baumdiagramm, das eine auf Buchstaben beschränkte Baumstruktur zeigt; und
-
5 ist
ein Baumdiagramm, das eine erfindungsgemäße Gemischtbaumstruktur zeigt.
-
Ausführliche
Beschreibung der bevorzugten Ausführungsarten
-
Mit
Bezug auf 1 wird der erfindungsgemäße Spracherkenner
im Zusammenhang mit einer typischen Konsumgutanwendung beschrieben,
in diesem Fall einer Mobiltelefonanwendung. Man wird sich natürlich bewusst
sein, dass die Prinzipien der Erfindung in einer Vielzahl von Anwendungen
realisiert werden können
und deshalb nicht auf die hier veranschaulichte Mobiltelefonanwendung
beschränkt
sind.
-
Das
Erkennersystem speichert Einträge
für alle
Wörter,
die es erkennen kann, in einem Wortschatz. Im Gegensatz zu konventionellen
Erkennern repräsentiert
dieses System aber jedes Wort als einen aus verketteten Hybrideinheiten
bestehenden String. Im Falle der Mobiltelefonanwendung können einige
der Wörter
die Namen von Teilnehmern darstellen, denen der Benutzer Telefonnummern
zugeordnet hat. So kann der Benutzer den Namen des Teilnehmers in
das Mobiltelefongerät 12 sprechen, und
das System erkennt dann den gesprochenen Namen und sucht die dazugehörige Telefonnummer
auf, sodass die Verbindung aufgebaut werden kann.
-
Um
besser zu verstehen, wie der erfindungsgemäße Erkenner Einträge in seinem
Wortschatz repräsentiert,
wird jetzt eine Beschreibung des derzeitig bevorzugten Wortregistriersystems
vorgelegt. Das Wortregistriersystem ist der Mechanismus, mit dem neue
Wörter
durch buchstabierte Worteintragung dem Wortschatz hinzugefügt werden.
-
Um
dem Wortschatz ein neues Wort hinzuzufügen, buchstabiert der Benutzer
das Wort, wobei die buchstabierten Buchstaben die neue Worteingabe
darstellen. Jedes geeignete Mittel kann benutzt werden, um die Buchstaben
des buchstabierten Wortes einzugeben. Hardwaregeräte, wie
beispielsweise Tastaturen oder Tastwahlblöcke, können verwendet werden. Spracherkennung
kann auch benutzt werden, wobei der Erkenner die gesprochenen Buchstaben
selbst in alphanumerische Zeichen umwandelt.
-
Das
vom Benutzer eingegebene buchstabierte Wort wird dann vom Phonetisierer 14 verarbeitet.
Der Phonetisierer 14 wandelt die Buchstaben des buchstabierten
Wortes in eine oder mehrere phonetische Transkriptionen um. Die
derzeitig bevorzugte Ausführungsart
verwendet Entscheidungsbäume, um
die Buchstaben in Phoneme umzuwandeln. Der derzeitig bevorzugte
Phonetisierer verwendet einen Entscheidungsbaum pro Buchstaben des
Alphabets; auf der Basis der Informationen über benachbarte Buchstaben
erzeugt jeder Entscheidungsbaum die Wahrscheinlichkeit, dass ein
gegebener Buchstabe eine gegebene phonetische Transkription hat.
Eine ausführlichere
Beschreibung des derzeitig bevorzugten, auf Entscheidungsbäumen basierenden
Phonetisierers erscheint an späterer
Stelle dieses Dokuments. Während
Entscheidungsbaum-Technologie derzeitig bevorzugt wird, können auch
andere algorithmische oder heuristische Methoden benutzt werden.
-
Der
Phonetisierer 14 erzeugt für die buchstabierte Worteintragung
mindestens eine phonetische Transkription und optional mehrere phonetische Transkriptionen.
Der Phonetisierer ordnet jeder Umwandlung eines Buchstabens in ein
Phonem einen Wahrscheinlichkeitswert oder einen Score zu, und diese
Daten können
dazu benutzt werden, die Transkriptionen nach der Rangordnung der
n-besten einzustufen, wobei n ein ganzzahliger Wert ist. In einer Ausführungsart
erzeugt der Phonetisierer 14 die n-besten Transkriptionen
und gibt diese als eine Liste an das Hybrideinheits-Transkriptionsmodul 20 aus.
In einer alternativen Ausführungsart
erzeugt der Phonetisierer 14 eine einzige phonetische Transkription
(z. B. die beste Transkription), und diese Transkription wird dann
von einem Generator 18 für n-beste Transkriptionen verarbeitet,
der eine Konfusionsmatrix 19 benutzt, um auf der Basis
der vom Phonetisierer bereitgestellten einzelnen Transkription eine
Liste der n-besten phonetischen Transkriptionen zu erzeugen. Die
Konfusionsmatrix besteht aus einer vorgespeicherten Nachschlagetabelle
oft miteinander verwechselter phonetischer Laute. Der Generator 18 benutzt
die Konfusionsmatrix, um mehrfache Permutationen der ursprünglichen
phonetischen Transkription zu erzeugen, indem er aus der Konfusionsmatrix
erhaltene Laute substituiert.
-
Das
Hybrideinheits-Transkriptionsmodul 20 verarbeitet die n-besten
Transkriptionen, wobei diese in Hybrideinheits-Transkriptionen verwandelt
werden. Die derzeitig bevorzugte Ausführungsart führt die Übersetzung von phonetischer
Einheit in Hybrideinheit aus, indem sie zunächst das in 2 gezeigte
Syllabierungsverfahren benutzt. Das Syllabierungsverfahren erzeugt
eine Liste der n-besten syllabischen Transkriptionen. Das System
befragt das Wörterbuch 30,
um festzustellen, ob jede in der syllabischen Transkription enthaltene
Silbe im Wörterbuch
enthalten ist. Wenn das der Fall ist, wird die Silbe durch einen
diese Silbe repräsentierenden
gespeicherten Code substituiert. Eine nicht gefundene Silbe wird
weiter in ihre einzelnen Untereinheitsteile (z. B. Halbsilben oder
Phoneme) zerlegt, und es werden aus dem Wörterbuch 30 Codes
ausgewählt,
um diese Teile zu repräsentieren.
So wird das Wort letztlich durch Hybrideinheiten (eine Mischung
aus Silben, Halbsilben, Phonemen oder anderen geeigneten Lauteinheiten)
repräsentiert.
Jede dieser Hybrideinheiten wird durch Codes repräsentiert,
die im Wörterbuch 30 nachgesehen
werden. Diese Speichermethode spart im Wortschatz eine beträchtliche Menge
Speicherplatz und stellt dabei geschliffene Transkriptionen mit
guter Verarbeitung der koartikulierten Laute zur Verfügung, wodurch
für robuste Spracherkennung
gesorgt wird.
-
Um
mit der Veranschaulichung fortzufahren, eine Silbe kann aus einem
oder mehreren phonetischen Lauten bestehen. So ist die syllabische
Transkription eine makroskopischere Repräsentation als die phonetische
Transkription. Werden nur Silben zur Repräsentation von Wörtern benutzt,
dann ergibt sich ein vergleichsweise umfangreicher Wortschatz. So
könnten
mindestens 1000 Silben nötig
sein, um die Mehrzahl der Wörter
in der englischen Sprache zu repräsentieren. Die erfindungsgemäße Ausführungsart mit
niedrigem Speicherplatzbedarf vermeidet den großen Wortschatz, indem sie Wörter durch Hybrideinheiten
repräsentiert,
in denen nur die am meisten gebrauchten Silben beibehalten werden;
die weniger oft gebrauchten Silben werden in kleinere Einheiten
zerlegt, z. B. in Halbsilben oder Phoneme, und diese kleineren Einheiten
werden anstelle dieser Silben verwendet. Daraus ergibt sich eine
natürliche Datenverdichtung,
die zur effizienten Speicherausnutzung der Erfindung beiträgt.
-
Das
Modul 22 wählt
aus den n-besten Hybrideinheits-Transkriptionen die beste Transkription oder
die n-besten Transkriptionen aus. Eine Methode zur Auswahl der besten
Transkription durch Befehl 22 ist die Verwendung der Spracheingabe
des Benutzers. Der Benutzer spricht einfach den Namen in das Gerät 12,
und das Modul 22 ordnet die gesprochene Eingabe den über das
Modul 20 erhaltenen n-besten Transkriptionen zu, um die
beste oder die n-besten Transkriptionen
auszuwählen.
Ein Vorteil dieser Extraktionsmethode liegt darin, dass das Erkennersytem
inhärent
für die
Stimme dieses Benutzers codiert. Tatsächlich führt das zu einer äußerst wirtschaftlichen
Sprecheranpassung, bei der Eintragungen in den Wortschatz auf die
Stimme des Benutzers abgestimmt sind.
-
Als
Alternative zur Extraktion durch Spracheingabe kann Modul 22 so
konfiguriert werden, dass es mit einem Mechanismus zum Neuscoren 24 zusammenarbeitet,
der jeder Transkription, auf Regeln bezüglich phonetischer Informationen
basierend, neue Wahrscheinlichkeitsscores zuweist. Obwohl nicht
erforderlich, kann der Mechanismus zum Neuscoren die Leistung steigern,
und er stellt eine wünschenswerte
Ergänzung
dar, falls Speicher- und Prozessorressourcen vorhanden sind. Der
derzeitig bevorzugte Mechanismus zum Neuscoren benutzt Entscheidungsbäume 26,
bei denen es sich um gemischte Entscheidungsbäume handeln kann, die auf Buchstaben
basierende Fragen und auf Phonemen basierende Fragen enthalten.
Die unten gegebene Beschreibung der Entscheidungsbaum-Phonetisierer
erklärt
eine Ausführungsart
eines solchen gemischten Entscheidungsbaum-Mechanismus zum Neuscoren.
-
Nach
Auswahl der besten Transkription oder der n-besten Transkriptionen
baut dann das Wortvorlage-Konstruktionsmittel 28 unter
Benutzung des Wörterbuchs 30 eine
sehr kompakte Repräsentation des
Wortes auf. Das Wörterbuch
repräsentiert
Hybrideinheiten als Einheiten, die vom Mustervergleichsalgorithmus
des erwünschten
Erkenners benutzt werden können. Ähnlichkeitsbasierte
Einheiten, wie beispielsweise auf Lautähnlichkeit basierende Einheiten,
werden derzeitig bevorzugt, weil sie sprecherunabhängig gemacht
werden können
und weil sie speichereffizient sind. Hidden-Markow-Modelle können auch
benutzt werden, um die Hybrideinheiten zu repräsentieren, obwohl eine solche
Repräsentation größere Komplexität zur Folge
hat.
-
Auf
Lautähnlichkeit
beruhende Repräsentationen
der Hybrideinheiten können
im Voraus konstruiert werden, wobei ein geeignetes Phonemwörterbuch
zum Vergleich mit den Hybrideinheiten benutzt wird, um die Lautähnlichkeit
zu berechnen. Um das System sprecherunabhängig zu machen, darf die Datenbank
viele Beispiele jeder Hybrideinheit enthalten, deren jedes dann
mit dem Phonemwörterbuch verglichen
wird, um für
jede Einheit die Ähnlichkeit
zu berechnen. Die Beispiele können
als Trainingsdaten zur Verfügung
gestellt werden. Die Ergebnisse werden dann unter Verwendung eines
geeigneten Dynamic-Time-Warping-Algorithmus (DTW) gemeinsam zeitverzerrt,
woraus für
jede Hybrideinheit eine „durchschnittliche" Lautähnlichkeitsrepräsentation entsteht.
Diese durchschnittlichen Lautähnlichkeitsparameter
oder -repräsentationen
werden dann im Wörterbuch 30 gespeichert.
Obwohl die auf Lautähnlichkeit
basierende Repräsentation
wegen ihrer Robustheit und Wirtschaftlichkeit derzeit bevorzugt
wird, können
andere Repräsentationen
benutzt werden, wozu Repräsentationen
von den komplexen, sprecherunabhängigen
Hidden-Markow-Modellen bis zur einfachen, weniger sprecherunabhängigen LPC-Codierung
(Linear Predictive Coding) gehören.
-
Das
Wortvorlage-Konstruktionsmittel baut einen verketteten String aus
Lautähnlichkeitseinheiten auf,
die den in der extrahierten Transkription enthaltenen Hybrideinheiten
entsprechen. Dieser String wird dann in Verbindung mit dem buchstabierten Wort
im Wortschatz gespeichert, wie durch die Datenstruktur 32 diagrammatisch
veranschaulicht wird. Die Datenstruktur 32 enthält mit den
Strings 36 assoziierte buchstabierte Worteintragungen 34.
Die Datenstruktur kann auch andere Informationen speichern, wie
beispielsweise assoziierte Telefonnummern von Teilnehmern, die durch
die buchstabierten Wörter
(Namen) repräsentiert
werden.
-
Die
Speicherung der buchstabierten Wörter 34 verleiht
dem System die Fähigkeit,
das erkannte Wort auf dem LCD-Display des Geräts 12 aufzuzeigen.
Dadurch wird ein benutzerfreundliches, billiges Feedback zur Verfügung gestellt,
wodurch der Benutzer Gewissheit erlangt, dass das System seine oder ihre
gesprochene Eingabe richtig verstanden hat.
-
Als
Nächstes
wird mit Bezug auf 2 das derzeit bevorzugte Syllabierungsverfahren
in den Schritten 1–6 veranschaulicht.
Bei Sichtung des Flussdiagramms von 2 kann der
Leser die unten reproduzierten Beispiele zu Rate ziehen. Die Beispiele
veranschaulichen verschiedene Worteintragungen und demonstrieren,
welche Vorgänge
der Syllabierungsalgorithmus in jedem der sechs nummerierten Schritte
ausführt.
Die Zeilennummern in den Beispielen entsprechen den Schrittnummern
in 2. In den Beispielen werden Winkelklammern <> benutzt, um Silbengrenzen zu bezeichnen,
und das Prozentzeichen % wird benutzt, um Wortgrenzen zu bezeichnen.
Die Zahlen hinter den Phonemen entsprechen dem Betonungsgrad, der
auf dem Phonem liegt. Der derzeit bevorzugte Phonetisierer 14 erzeugt
die phonetische Ausgabe mit drei Betonungsniveaus 0, 1 und 2.
-
Mit
Bezug auf 2 werden in Schritt 1 die Silbengrenzen
um jedes betonte Phonem gelegt. So gehört eine Silbe zu jedem Phonem
mit einer nachgesetzten Zahl, die das Betonungsniveau angibt. Als Nächstes werden
alle intervokalischen velaren Nasale („ng") in Kodas gesetzt. Die Koda bezieht
sich auf den Teil der Silbe, der dem Nukleus genannten Tonstärkegipfel
der Silbe – meistens
einem Vokal – nachfolgt.
Der velare Nasal „ng" kann im Englischen
nur in Kodas vorkommen. Mit Bezug auf Zeile 2 im ersten Beispiel
beachte man, dass die Buchstaben „ng" zwischen Winkelklammern in die Kodaposition
gebracht wurden, d. h. in die dem Nukleus nachfolgende Position.
-
Als
Nächstes
werden in Schritt 3 alle intervokalischen „s"- und „sh"-Phoneme in die entsprechenden Kopfpositionen
gebracht. Der Kopf bezieht sich auf den Silbenteil, der dem Nukleus
vorausgeht. Siehe z. B. Zeile 3 im unten angegebenen zweiten Beispiel.
In Schritt 4 werden alle nicht syllabierten „s"- und „sh"-Phoneme, die betonten
Vokalen unmittelbar folgen, in Kodas platziert.
-
Schritt 5 schließt sich
dann an und optimiert die Köpfe
mit dem verbleibenden intervokalischen, nicht syllabierten Material.
Alle der verbleibenden intervokalischen, nicht syllabierten Phoneme
werden getestet, um festzustellen, ob Sie einen Kopf formen können. Das
wird dadurch erreicht, dass sie mit einer Liste möglicher
Köpfe verglichen
werden. Falls sie den Teil eines Kopfes ausmachen können, so
werden sie jetzt entsprechend platziert. Falls sie nicht den Teil
eines Kopfes bilden können,
dann entfernt das Verfahren ein Phonem aus dem Stringanfang, bis
der Rest einen möglichen
Kopf bilden kann. Der Kopf wird an dieser Stelle geschaffen und
bringt das Ende der Koda der vorangehenden Silbe an die Stelle heran.
-
Schließlich wird
in Schritt 6 der Kopf der ersten Wortsilbe bis zum Wortanfang
erweitert, und die Koda der letzten Wortsilbe wird bis ans Wortende
erweitert. Die Schritte 5 und 6 betreffen die
meisten Wörter,
aber Schritte 1–4 betreffen
nur eine beschränkte
Teilmenge. Die folgenden Beispiele dienen der weiteren Veranschaulichung.
-
Beispiele:
-
In
Schritt 2 wird der velare Nasal in die Koda gebracht.
-
~bellingham
#NAME;
bcl b eh1 l ih0 ng ax0 m
1 %bcl b <eh1> l <ih0> ng <ax0> m%
2 %bcl b <eh1> l <ih0 ng> <ax0> m%
3 %bcl b <eh1> l <ih0 ng> <ax0> m%
4 %bcl b <eh1> l <ih0 ng> <ax0> m%
5 %bcl b <eh1> <l ih0 ng> <ax0> m%
6 %<bcl b eh1 > <l ih0 ng> <ax0> m%
-
In
Schritt 3 wird das intervokalische „s" in den Kopf gebracht.
-
absences
#
ae1 bcl b s en0 s ih0 z
1 %<ae1> bcl
b s <en0> s <ih0> z%
2
%<ae1> bcl b s <en0> s <ih0> z%
3
%<ae1> bcl b s <en0> <s ih0> z%
4
%<ae1> bcl b s <en0> <s ih0> z%
5
%<ae1 bcl b> <s en0> <s ih0> z%
-
In
Schritt 3 wird das intervokalische „sh" in den Kopf gebracht.
-
abolitionist
#
ae2 bc1 b ax0 l ih1 sh ih0 n ih0 s tcl t
1 %<ae2> bcl b <ax0> l <ih1> sh <ih0> n <ih0> s
tcl
t%
2 %<ae2> bcl b <ax0> l <ih1> sh <ih0> n <ih0> s
tcl
t%
3 %<ae2> bcl b <ax0> l <ih1> <sh ih0> n <ih0> s
tcl
t%
4 %<ae2> bcl b <ax0> l <ih1> <sh ih0> n <ih0> s
tcl
t%
5 %<ae2> <bcl b ax0> <l
ih1> <sh ih0> <n ih0> s
tcl
t%
6 %<ae2> <bcl b ax0> <l
ih1 > <sh ih0> <n ih0 s tcl
t>%
-
In
Schritt 4 wird das nicht syllabierte „s" in die Koda hinter den betonten Vokal
gebracht.
-
~abasement
#
ax0 bcl b ey1 s m ih0 n tcl t
1 %<ax0> bcl
b <ey1> s m <ih0> n tcl t%
2 %<ax0> bcl b <ey1> s m <ih0> n tcl t%
3 %<ax0> bcl b <ey1> s m <ih0> n tcl t%
4 %<ax0> bcl b <ey1 s> m <ih0> n
tcl t%
5 %<ax0> <bcl b ey1 s> <m
ih0> n tcl t%
6
%<ax0> <bcl b ey1 s> <m
ih0 n tcl t>%
-
In
Schritt 4 wird das nicht syllabierte „sh" in die Koda hinter den betonten Vokal
gebracht.
-
~cochrane
#/NAME;
kcl k ow1 sh r ey2 n
1 %kcl k <ow1> sh
r <ey2> n%
2 %kcl k <ow1> sh r <ey2> n%
3 %kcl k <ow1> sh r <ey2> n%
4 %kcl k <ow1 sh> r <ey2> n%
5
%kcl k <ow1 sh> <r ey2> n%
6
%<kcl k ow1 sh> <r ey2 n>%
-
Der Entscheidungsbaum-Phonetisierer
-
Der
derzeit bevorzugte Phonetisierer ist ein Aussprachegenerator, der
sich zweier Phasen bedient. Die erste Phase benutzt ein Set von
ausschließlich
aus Buchstaben bestehenden Entscheidungsbäumen 110, und die
zweite Phase benutzt ein Set von gemischten Entscheidungsbäumen 112. Eine
Eingabesequenz 114, wie beispielsweise die Buchstabensequenz
B-I-B-L-E, wird einem mit dynamischer Programmierung arbeitenden
Phonemsequenzgenerator 116 zugeführt. Der Sequenzgenerator benutzt
die Nur-Buchstabenbäume 110,
um eine Ausspracheliste 118 zu erzeugen, worin die möglichen
Aussprachekandidaten der buchstabierten Worteingabesequenz repräsentiert
werden.
-
Der
Sequenzgenerator prüft
der Reihe nach jeden Buchstaben der Sequenz und setzt dabei den mit
diesem Buchstaben assoziierten Entscheidungsbaum ein, um für diesen
Buchstaben eine Phonemaussprache auszuwählen, wobei die Auswahl auf den
Wahrscheinlichkeitsdaten basiert, die der Nur-Buchstabenbaum enthält.
-
Vorzugsweise
enthält
das Set der Nur-Buchstabenbäume
einen Entscheidungsbaum für
jeden Buchstaben des Alphabets. 4 zeigt
ein Beispiel mit einem Nur-Buchstabenentscheidungsbaum für den Buchstaben
E. Der Entscheidungsbaum enthält eine
Vielzahl von Knoten (in der Abbildung durch Ovale veranschaulicht)
und eine Vielzahl von Blättern (in
der Abbildung durch Rechtecke veranschaulicht). Jeder Knoten ist
mit einer Ja-Nein-Frage bestückt. Ja-Nein-Fragen
sind Fragen, die entweder mit Ja oder mit Nein beantwortet werden
können.
In dem Nur-Buchstabenbaum werden diese Fragen an den gegebenen Buchstaben
(in diesem Fall den Buchstaben E) und die ihm in der Eingabesequenz
benachbarten Buchstaben gerichtet. Man beachte in 3, dass
jeder Knoten nach links bzw. rechts abzweigt, je nachdem, ob die
Antwort auf die assoziierte Frage Ja oder Nein ist.
-
Abkürzungen
werden in 4 wie folgt verwendet: Zahlen
in Fragen, wie beispielsweise „+1" oder „–1 ", beziehen sich auf
die Positionen in der Buchstabierfolge relativ zum aktuellen Buchstaben. „+1L=='R'?" bedeutet
zum Beispiel: „Ist
der Buchstabe hinter dem aktuellen Buchstaben (wobei es sich in diesem
Fall um den Buchstaben E handelt) ein R?". Die Abkürzungen CONS und VOW repräsentieren Buchstabenklassen,
nämlich
Konsonanten und Vokale. Die Abwesenheit eines benachbarten Buchstabens,
d. h. des Leerbuchstabens, wird durch das Symbol – bezeichnet,
das beim Aneinanderreihen gewisser Buchstaben mit den entsprechenden
Phonemaussprachen als Füllfeld
oder Platzhalter benutzt wird. Das Symbol # bezeichnet eine Wortgrenze.
-
Die
Blätter
werden mit Wahrscheinlichkeitsdaten bestückt, die mögliche Phonemaussprachen mit
numerischen Werten assoziieren, wobei diese Werte die Wahrscheinlichkeit
angeben, dass das fragliche Phonem die korrekte Aussprache des gegebenen
Buchstabens repräsentiert.
Die Bezeichnung „iy=> 0,51" bedeutet zum Beispiel: „Die Wahrscheinlichkeit
von Phonem ,iy' in
diesem Blatt ist 0,51".
Das Leerphonem, d. h. Geräuschlosigkeit,
wird durch das Symbol ,–' repräsentiert.
-
So
benutzt der Sequenzgenerator 116 (3) die Nur-Buchstabenbäume 110,
um eine oder mehrere Aussprachehypothesen zu konstruieren, die in
Liste 118 gespeichert werden. Vorzugsweise wird jede Aussprache
mit einem numerischen Score assoziiert, der dadurch bestimmt wird,
dass die Wahrscheinlichkeitsscores der einzelnen Phoneme, die mit
Hilfe des Entscheidungsbaums 110 ausgewählt wurden, kombiniert werden.
Den Aussprachen eines Wortes können
Scores zugewiesen werden, indem eine Matrix der möglichen
Kombinationen konstruiert wird und dann durch dynamische Programmierung
die n-besten Kandidaten ausgewählt
werden. Als Alternative können
die n-besten Kandidaten durch Anwendung einer Substitutionsmethode
ausgewählt
werden, die zunächst
den wahrscheinlichsten Wortkandidaten identifiziert und dann weitere Kandidaten
durch iterative Substitution erzeugt, wie im Folgenden gezeigt wird.
-
Die
Aussprache mit dem höchsten
Wahrscheinlichkeitsscore wird zuerst ausgewählt, indem die jeweiligen Scores
der Phoneme mit den höchsten Scores
(wobei die Identifizierung durch Untersuchen der Blätter erfolgt)
multipliziert werden und diese Auswahl dann als der wahrscheinlichste
Kandidat oder als der beste Wortkandidat benutzt wird. Weitere (n-beste)
Kandidaten werden dann ausgewählt,
indem die Phonemdaten in den Blättern
erneut untersucht werden, um das Phonem zu identifizieren, das noch
nicht ausgewählt
wurde und die kleinste Differenz zu einem ursprünglich ausgewählten Phonem aufweist.
Dieses Phonem minimaler Differenz ersetzt dann das zuerst ausgewählte und
erzeugt damit den zweitbesten Wortkandidaten. Der obige Prozess kann
dann iterativ wiederholt werden, bis die erwünschte Zahl n-bester Kandidaten
ausgewählt
worden ist. Liste 118 kann nach absteigenden Scores sortiert
werden, sodass die durch Nur-Buchstabenanalyse
als am besten beurteilte Aussprache an der Spitze der Liste steht.
-
Wie
oben festgestellt wurde, führt
eine Nur-Buchstabenanalyse oft zu schlechten Resultaten. Das ist
darauf zurückzuführen, dass
die Nur- Buchstabenanalyse
nicht in der Lage ist, bei jedem Buchstaben zu bestimmen, welches
Phonem von nachfolgenden Buchstaben erzeugt wird. So kann eine Nur-Buchstabenanalyse
eine Aussprache mit hohem Score erzeugen, die tatsächlich in
natürlicher
Sprache nicht vorkommen könnte.
Der Eigenname Achilles würde
beispielsweise zu einer Aussprache führen, die ein l zweimal artikuliert:
ah-k-ih-l-l-iy-z [englische Aussprache]. Tatsächlich bleibt das zweite l
in natürlicher
Sprache stumm: ah-k-ih-l-iy-z. Der Sequenzgenerator, der Nur-Buchstabenbäume benutzt, hat
keinen Mechanismus, um Wortaussprachen herauszufiltern, die in natürlicher
Sprache nie vorkommen würden.
-
Die
zweite Phase des Aussprachesystems befasst sich mit dem obigen Problem.
Eine mit Gemischtbäumen
arbeitende Scoreschätzfunktion 120 benutzt
das Set gemischter Entscheidungsbäume 112, um die Realisierbarkeit
einer jeden Aussprache in Liste 118 zu beurteilen. Die
Scoreschätzfunktion untersucht
nacheinander jeden Buchstaben in der Eingabesequenz im Zusammenhang
mit den jedem Buchstaben vom Sequenzgenerator 116 zugewiesenen
Phonemen.
-
Wie
das Set der Nur-Buchstabenbäume
einen Nur-Buchstabenbaum für
jeden Buchstaben des Alphabets hat, so hat das Set der Gemischtbäume einen
Gemischtbaum für
jeden Buchstaben des Alphabets. Ein beispielhafter Gemischtbaum
wird in 5 gezeigt. Wie der Nur-Buchstabenbaum
hat der Gemischtbaum Knoten und Blätter. In 5 werden die
Knoten durch Ovale und die Blätter
durch Rechtecke veranschaulicht. Jeder der Knoten wird mit einer
Ja-Nein-Frage bestückt,
und jedes der Blätter wird
mit Wahrscheinlichkeitsdaten bestückt. Obwohl die Baumstruktur
des Gemischtbaums der Baumstruktur des Nur-Buchstabenbaums ähnelt, gibt
es einen wichtigen Unterschied. Die Knoten der Gemischtbäume können zwei
verschiedene Klassen von Fragen enthalten. Ein Knoten kann eine
Frage über
einen gegebenen Buchstaben und die ihm in der Sequenz benachbarten
Buchstaben enthalten, oder er kann eine Frage über das mit dem Buchstaben
assoziierte Phonem und über
die relativ zu dieser Sequenz benachbarten Phoneme enthalten. Der
Entscheidungsbaum ist also in dem Sinne gemischt, dass er gemischte
Klassen von Fragen enthält.
-
Die
Abkürzungen
von 5 ähneln
denen von 4, es gibt aber einige zusätzliche
Abkürzungen.
Das Symbol L repräsentiert
eine auf einen Buchstaben und die ihm benachbarten Buchstaben bezogene
Frage. Das Symbol P repräsentiert
eine auf ein Phonem und die ihm benachbarten Phoneme bezogene Frage.
Die Frage „+1L=='D'?" bedeutet
zum Beispiel: „Ist
der Buchstabe in der Position +1 ein ,D'?".
Die Abkürzungen
CONS und SYL bezeichnen Phonemklassen, und zwar die Konsonanten-
und Silbenklasse. Die Frage „+1P==CONS?" bedeutet zum Beispiel: „Ist das
Phonem in der Position +1 ein Konsonant?". Wie in den Nur-Buchstabenbäumen bezeichnen
die Zahlen in den Blättern
Phonemwahrscheinlichkeiten.
-
Die
Gemischtbaum-Scoreschätzfunktion
gibt jeder der in Liste 118 enthaltenen Aussprachen einen neuen
Score, der auf den Gemischtbaum-Fragen
basiert und die Wahrscheinlichkeitsdaten in den Blättern der
Gemischtbäume
benutzt. Falls erwünscht, kann
die Liste der Aussprachen in Verbindung mit dem jeweiligen Score
wie in Liste 122 gespeichert werden. Falls erwünscht, kann
Liste 122 absteigend sortiert werden, sodass die zuerst
aufgelistete Aussprache den höchsten
Score hat.
-
In
vielen Fällen
wird die Aussprache in der höchsten
Scoreposition in Liste 122 von der Aussprache in der höchsten Scoreposition
in Liste 118 verschieden sein. Das kommt vor, weil die
Gemischtbaum-Scoreschätzfunktion
die Gemischtbäume 112 benutzt
und Aussprachen herausfiltert, die keine selbstkonsistenten Phonemsequenzen
enthalten oder anderweitig Aussprachen repräsentieren, die in natürlicher
Sprache nicht vorkommen.
-
Falls
erwünscht,
kann ein Selektormodul 124 auf Liste 122 zugreifen
und eine oder mehrere der Aussprachen in der Liste abrufen. Typischerweise ruft
der Selektor 124 die Aussprache mit dem höchsten Score
ab und stellt sie als Ausgabeaussprache 126 zur Verfügung.
-
Ein Hybrideinheits-Worterkenner
-
Die ähnlichkeitsbasierte
Hybrideinheits-Repräsentation
ist für
kompakte Spracherkenner gut brauchbar, die für eine Reihe von Konsumgüteranwendungen
geeignet sind. Die dem Erkenner gelieferte Eingabesprache wird mit
den Eintragungen im Wortschatz verglichen, wobei ein Mustervergleichsalgorithmus
benutzt wird. Beispielsweise kann ein Dynamic-Time-Warping-Algorithmus (DTW) benutzt werden.
-
Um
möglichen
Variationen in Betonung oder Geschwindigkeit Rechnung zu tragen,
mit denen Silben innerhalb eines buchstabierten Wortes ausgesprochen
werden können,
bedient sich das System einer Reihe von Regeln, nach denen die Dauer
bestimmter Hybrideinheiten komprimiert oder expandiert werden kann.
Die Silben in langen buchstabierten Wörtern werden manchmal schnell
ausgesprochen. Diese Information kann beispielsweise dem Wortschatz
hinzugefügt
werden. Der Erkenner kann dann eine apriorische, zum Beispiel durch
Zählen
der Buchstaben der buchstabierten Wörter erworbene Kenntnis der
Länge buchstabierter
Wörter
dazu nutzen, die gesprochene Eingabe dem richtigen Wortschatzeintrag
besser zuzuordnen.
-
Zu
den andere Methoden der Einbeziehung apriorischer Kenntnis der Aussprachevariationen
gehört
das Gewichten der zuverlässigeren
Hybrideinheits-Informationen im Wortschatz. Die Grenzen der Hybrideinheiten
können
weniger zuverlässig
sein als die Mittelrahmen. Der Mustervergleichsalgorithmus könnte deshalb
die Mittelrahmen stärker
gewichten als die Grenzen und auf diese Weise die zuverlässigsten
Teile der Hybrideinheiten betonen.