DE69908034T2 - Minimierung eines Suchnetzwerks für die Spracherkennung - Google Patents

Minimierung eines Suchnetzwerks für die Spracherkennung Download PDF

Info

Publication number
DE69908034T2
DE69908034T2 DE69908034T DE69908034T DE69908034T2 DE 69908034 T2 DE69908034 T2 DE 69908034T2 DE 69908034 T DE69908034 T DE 69908034T DE 69908034 T DE69908034 T DE 69908034T DE 69908034 T2 DE69908034 T2 DE 69908034T2
Authority
DE
Germany
Prior art keywords
slots
slot
word
model
paths
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
DE69908034T
Other languages
English (en)
Other versions
DE69908034D1 (de
Inventor
Kao Plano Yo-Hong
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE69908034D1 publication Critical patent/DE69908034D1/de
Application granted granted Critical
Publication of DE69908034T2 publication Critical patent/DE69908034T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/085Methods for reducing search complexity, pruning

Landscapes

  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Interface Circuits In Exchanges (AREA)
  • Machine Translation (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Diese Erfindung bezieht sich auf die Spracherkennung und insbesondere auf die Minimierung eines Suchnetzes.
  • HINTERGRUND DER ERFINDUNG
  • Die kontinuierliche Spracherkennung ist ein betriebsmittelintensiver Algorithmus. Kommerzielle Diktiersoftware erfordert, daß mehr als 10 MBytes auf der Platte installiert werden, sowie 32 MBytes RAM, um die Anwendung auszuführen. Ein statischer Speicher ist erforderlich, um das Programm (den Algorithmus), die Grammatik, das Wörterbuch und die Akustikmodelle zu speichern. Die Daten ändern sich nicht und können somit auf der Platte oder im ROM gespeichert werden. Ein dynamischer Speicher ist erforderlich, um die Suche auszuführen. Die Suche umfaßt das Parsen der Eingangssprache und das Ausbauen eines sich dynamisch ändernden Suchbaums, so daß der RAM sowohl für die Lese- als auch für die Schreibfähigkeit erforderlich ist. Die Zielanwendung für diese Patentoffenbarung betrifft die Spracherkennung mit kleinem Wortschatz, die beispielsweise in Festkomma-DSP-Chips implementiert ist. Bei einer DSP-Implementierung ist die RAM-Größe ein entscheidender Kostenfaktor, da der RAM einen großen Prozentsatz der gesamten Chipgröße belegt. Andererseits ist der ROM hinsichtlich der Siliciumgrundfläche wesentlich billiger.
  • EP 0 248 377 B1 offenbart ein kontinuierliches Spracherkennungssystem, in dem Rahmen der Eingangssprache mit Vorlagen zur Übereinstimmung gebracht werden. Jedesmal, wenn eine potentielle Übereinstimmung für ein Wort gefunden wird, wird ein Knoten, der das Wort repräsentiert, zu einem Baum hinzugefügt, wobei alternative mögliche Übereinstimmung für einige Rahmen in dem Baum als alternative Zweige erscheinen. Außerdem zeichnet jeder Knoten ein Maß der Ähnlichkeit zwischen der Sequenz der Eingangsrahmen und den Vorlagen, die bis zu diesem Knoten führen, auf. Ein Rückverfolgungsalgorithmus beschneidet den Baum von nutzlosen Informationen, um zu verhindern, daß sich Informationen übermäßig im Speicher akkumulieren; insbesondere entfernt er Datensätze, die als potentielle Übereinstimmung nicht mehr in Betracht kommen.
  • Gemäß der Erfindung werden ein Verfahren, wie es in Anspruch 1 dargestellt ist, und ein Spracherkenner, wie er in Anspruch 5 dargestellt ist, geschaffen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird in der Suchnetzerweiterung bei der Spracherkennung lediglich der momentane Schlitz aufrechterhalten, solange bekannt ist, in welchem Modell und in welchem Zustand der Schlitz ist, während die vorangehenden Schlitze verworfen werden.
  • BESCHREIBUNG DER ZEICHNUNG
  • 1 ist ein Gesamtblockschaltplan des Spracherkennungssystems;
  • 2 zeigt ein HMM;
  • 3 zeigt Pfaderweiterungsschlitze und Zeiger zurück auf den vorangehenden Schlitz;
  • 4 zeigt die Erweiterung eines Satzes;
  • 5 ist ein Ablaufplan der Minimierung des Suchnetzes; und
  • 6 ist ein Histogramm der Spitzenschlitznutzung für eine 10-Ziffern-Zeichenfolgen-Aufgabe.
  • BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN DER VORLIEGENDEN ERFINDUNG
  • In 1 ist ein Spracherkennungssystem gezeigt. Der Erkenner 10 enthält eine Bibliothek 10a, die ein Aussprachewörterbuch, Grammatiken, Akustikmodelle usw. enthält. Ferner enthält der Erkenner 10 einen Computer/Komparator 10b zum Vergleichen der geparsten Eingangssprache mit den Modellen und zum Berechnen eines Standes sowie den Speicher 10c zum Speichern des Betriebsprogramms und zum Speichern der Ergebnisse aus dem Vergleich und von Rechenergebnissen. Die eingegebene geparste Sprache wird mit Sprachmodellen verglichen, wobei die Übereinstimmung die erkannte Ausgabe erzeugt. Der Rahmen des vorliegenden Erkennungssystems ist das HMM (Hidden Markov Model), in dem die Satzgrammatik durch ein Markov-Modell mit den Zuständen 12 und Übergängen 11 unter den Zuständen repräsentiert wird (siehe 2). Die Übergänge sind Wörtern zugeordnet. Wenn ein Übergang vom Zustand A zum Zustand B getätigt wird, muß eines der Wörter ausgewertet werden, die diesem Übergang zugeordnet sind. Daraufhin gibt es vom Zustand B wieder viele abgehende Übergänge, aus denen gewählt werden kann, wobei jedem Übergang Wörter zugeordnet sind. Das Tätigen eines Übergangs bedeutet, über ein Wort zu gehen. Somit beschreibt dieses Markov-Modell, mit welchen Wörtern ein Satz beginnen kann, welche Wörter auf welche Wörter folgen und mit welchen Wörtern ein Satz abgeschlossen werden kann. Dies ist eine Computerdarstellung einer Grammatik.
  • Jedes Wort wird ebenfalls durch ein Markov-Modell mit Zuständen und Übergängen repräsentiert. Jedem Zustand sind Akustiken zugeordnet. Ein Übergang in einen Zustand bedeutet, daß die diesem Zustand zugeordneten Akustiken ausgewertet werden. Üblicherweise wird für ein Wortmodell ein Links-rechts-HMM verwendet, wobei es Durchgangs-Übergänge 11, die die Durchschnittsgeschwindigkeit der Sprache repräsentieren, Eigenschleifen-Übergänge 13, die langsame Sprache repräsentieren, und Sprung-Übergänge 17, die schnelle Sprache repräsentieren, gibt. Den Akustiken können (wie beim Satz-HMM) ebenfalls Übergänge zugeordnet werden; in den meisten Spracherkennungssystemen werden den Akustiken wegen ihrer Einfachheit allerdings Zustände zugeordnet.
  • Diese zwei Pegel von HMMs beschreiben den Suchraum eines Spracherkennungssystems (siehe Y. H. Kao, W. Anderson, H. S. Lim: "A Multi-Lingual, Speaker-Independent, Continuous-Speech Recognizer on TMS320C5x Fixed-Point DSP", ICSPAT 1997, San Diego, USA, und Y. H. Kao, "Fixed-Point Im plementation of IG Speech Recognizer on C5x DSP", TI Tech Report, 1996). Der Erkennungsalgorithmus (Parser) kann die Eingangsakustikvektoren von der Satzgrammatik des obersten Pegels bis zu den Akustiken des untersten Pegels durch diesen Suchraum laufen lassen, um durch den Aufbau eines Suchnetzes den besten Pfad zu ermitteln. Der beste Pfad, der am Ende der Eingangsvektoren ermittelt wird, ist das Erkennungsergebnis. Grammatiken können durch eine kontextfreie Grammatik (für Aufgaben mit kleinem Wortschatz) oder durch eine N-Gram (für Aufgaben mit großem Wortschatz) repräsentiert werden. In einem System mit großem Wortschatz wird anstelle des Zweipegelsystems (Satz, Wort) üblicherweise ein Dreipegelsystem (Satz, Wort, Laut) verwendet. Es ist unmöglich, für so viele Wörter einzelne Wortmodelle aufzubauen, so daß phonetische Modelle als Grundeinheiten verwendet werden (siehe Y. H. Kao, K. Kondo, "Phonetic Mode-ling Using Acoustic Decision Tree", TI Tech Report, 1997; Y. H. Kao, "Acoustic Decision Tree: A Tutorial", TI Tech Report, 1997; Y. H. Kao, "Acoustic Decision Tree: Performance Analysis", TI Tech Report, 1997).
  • Die Suche erweitert alle möglichen Wege in der Grammatik (siehe 3). Wenn ein Sprachrahmen hereinkommt, wird zunächst jedes mögliche Wort in dem Satz-HMM erweitert. Um jedes Wort zu erweitern, muß seine einzelne Phonsequenz in dem Lexikon-HMM erweitert werden. Um jeden Laut zu erweitern, müssen ihre phonetischen HMMs erweitert werden, die die Akustiken als die Beobachtungen haben. In dieser Struktur gibt es drei Pegel von HMM. Die Übergänge des obersten Pegels können mehr als einen Sprachrahmen dauern, während lediglich die Übergänge des untersten Pegels genau einen Sprachrahmen verbrauchen. Ein Sprachrahmen ist beispielsweise 20 Millisekunden lang. Der Übergang des obersten Pegels kann erst getätigt werden, nachdem seine entsprechende Beobachtung abgeschlossen ist (was mehrere Sprachrahmen dauern kann).
  • Die Spracherkennung soll ein Suchnetz erweitern, das der Grammatik-Wort-Suchraumdefinition folgt. Es gibt viele Möglichkeiten, die Computerdatenstruktur tatsächlich zu definieren und den Algorithmus zu implementieren. Der von den Erfindern verwendete Algorithmus wird hier als Beispiel verwendet, wobei die Möglichkeiten beschrieben werden, um das Netz zu minimieren.
  • Als der Baustein des Suchnetzes wird hier wird eine Struktur definiert, die Schlitz genannt wird. Unter Verwendung einer C-Struktur ist er definiert als:
    Figure 00050001
  • Model_index ist eine ganze Zahl, die repräsentiert, in welchem Modell dieser Schlitz ist. Beispielsweise wird der gesamte Suchraum durch ein Satzmodell repräsentiert, dem der model_index 0 zugewiesen wird. Dieses Satzmodell ist aus vielen Wörtern zusammengesetzt, wobei daraus, wie diese Wörter zusammengestellt werden können, jedem der Wortmodelle der model_index 1, 2, 3, ... usw. zugewiesen wird. Der model_index kann sich nicht überschneiden, wobei jeder Index ein anderes Modell (Satz oder Wörter) repräsentiert.
  • State_Index ist eine ganze Zahl, die repräsentiert, in welchem Zustand (in einem Modell, das entweder ein Satz oder Wörter ist) dieser Schlitz ist. Sowohl die Satz- als auch die Wortmodelle sind HMMs, die zustandsweise ausgewertet werden. Beim Aufbau des Suchnetzes muß bekannt sein, welcher Zustand vorliegt, so daß bekannt ist, in welchen nächsten Zustand beziehungsweise in welche nächsten Zustände überzugehen ist. In jedem Modell beginnt state_Index von 1, 2, 3, ... usw. Der Zustand 1 im Modell 1 ist verschieden vom Zustand 1 im Modell 2.
  • Score ist der akkumulierte Stand dieses Pfades bis zu diesem Schlitz.
  • Backptr ist ein Zeiger, der in dem Pfad zurück zu dem vorangehenden Schlitz zeigt. Wenn beispielsweise der Zustand 10 vom Zustand 9 (Durchgangsübergang) oder vom Zustand 8 (Sprungübergang) oder vom Zustand 10 (Eigenschleifenübergang) kommen kann; zeigt der backptr des Schlitzes des Zustands 10 nach der Viterbi-Decodierung, die lediglich den besten Pfad erhält, der in einen Zustand kommt, auf einen der drei obenbeschriebenen Schlitze.
  • Time ist der Zeitindex, wenn dieser Schlitz erstmals erzeugt wird. Beispielsweise wird hier eine Rahmenlänge von 20 ms verwendet. Die Eingangssprache wird in 20-ms-Rahmen segmentiert, vorverarbeitet, um einen Merkmalsvektor zu entnehmen, und daraufhin dem Suchalgorithmus zugeführt. Während der Suche des ersten Rahmens (0–20 ms) ist time gleich 1; während der Suche des zweiten Rahmens (20–40 ms) ist time gleich 2 usw.
  • Last_time ist der letzte Zeitpunkt, zu dem dieser Pfad aktualisiert wird. Dieser Zeitstempel wird für das Schlitzmanagement (Speicherbereinigung) benötigt. Die Erweiterung des Suchnetzes ist ein Problem mit exponentiellem Wachstum, wobei Pfade mit schlechten Ständen beschnitten werden müssen, um die Größe des Suchnetzes zu verringern. Wenn ein Pfad einen guten Stand hat und zur zukünftigen Erweiterung erhalten werden sollte, wird der momentane Zeitstempel durch den gesamten Pfad (ein Pfad ist eine rückwärts verknüpfte Liste von Schlitzen) rückwärts ausgebreitet. Wenn das last time eines Schlitzes der momentane Zeitpunkt ist, muß er erhalten werden und kann nicht wiederverwendet werden. Andernfalls kann er wiederverwendet werden, da sein Pfad nicht in dem Suchstrahl ist und last_time somit nicht aktualisiert wird.
  • Next_state zeigt auf den nächsten Schlitz des aktiven Zustands in diesem Modell, der auszuwerten ist. Wenn ein Modell ausgewertet wird, können viele Zu stände aktiv sein, die ausgewertet werden müssen, wobei sie durch next_state miteinander verknüpft sind.
  • Next_word zeigt auf den nächsten Schlitz des aktiven Worts für diesen Satzzustand, der auszuwerten ist. Wenn ein Satzmodell ausgewertet wird, sind seine Schlitze der aktiven Zustände durch next_state verknüpft. Allerdings gibt es für jeden Zustand Wörter, die immer noch ausgewertet werden (ein Wort benötigt mehr als einen Rahmen, um abgeschlossen zu werden). Next_word verknüpft alle diese anstehenden Wortauswertungsschlitze. Next_word startet von einem Satzpegelschlitz.
  • Die Suche ist der komplizierteste Teil des Spracherkennungsalgorithmus. Die beste Möglichkeit, den Algorithmus zu erlernen, besteht darin, den C-Code zu verfolgen. Es wird auf den gut kommentierten C-Code der Anwender und auf eine Begleitdokumentation (siehe Y. H. Kao, "IG (Integrated Grammar) Algorithm", TI Tech Report, 1996) verwiesen.
  • 4 zeigt ein Beispiel des Suchraums für die Satzgrammatik "Call George Washington". Die Grammatikschichten sind Sätze, Wörter, Laute und Akustikverteilungen (untere Schicht), die durch die kleinen Kreise dargestellt sind. Für die Akustiken von "|K|" geht die Erweiterung vom Wort "call" zum Laut "|K|" zu den oberen drei Kreisen 4143. Daraufhin geht die Erweiterung zu dem zweiten Laut "|ao|" zu den fünf Kreisen 44 und daraufhin zurück zu dem Laut "|l|". Daraufhin geht die Erweiterung zu den Akustiken für "|l|", die durch die kleinen Kreise 45 repräsentiert sind. Nach dem letzten Kreis 45 geht die Erweiterung zu dem Wort "George", daraufhin zu dem Laut "|h|". Die Erweiterung fährt mit den drei Akustiken 47, daraufhin mit dem Laut "|ao|" und daraufhin mit den fünf Akustiken 49 fort. Nach der letzten Akustik 49 geht die Suche zu dem Laut "|r|", gefolgt von den vier Akustiken, gefolgt von dem Laut "|jh|", gefolgt von den drei Akustiken 53. Auf die letzte Akustik 53 folgt das Wort "Washington", gefolgt von dem Laut "|w|". Darauf folgen die drei Akustiken 55. Auf die Akustik 55 folgt der Laut "|ao|", gefolgt von den fünf Akustiken 57, gefolgt von dem Laut "|sh|". Auf den Laut "|sh|" folgen seine vier Akustiken 59, gefolgt von dem Laut "|ax|" und seinen drei Akustiken 61. Die Erweiterung wird ähnlich für die Laute "|n|", "|t|", "|ax|" und "|n|" fortgesetzt, worauf ihre zugeordneten drei Akustiken folgen.
  • Zur Fortsetzung der Diskussion wird nun die Vorstellung der Suche auf einem hohen Pegel beschrieben und daraufhin das Suchnetzminimierungsverfahren erläutert.
  • Nachdem die Schlitz-Datenstruktur als Baustein des Suchnetzes beschrieben worden ist, ist es unkompliziert, die Suchnetzerweiterung durchzuführen. Sie kann zusammengefaßt werden als:
  • Figure 00080001
  • Verfolge den Pfad mit dem besten Stand zurück und berichte das Erkennungsergebnis
  • Wie beispielsweise in 4 gezeigt ist, muß für jeden Eingangsakustikvektor (20 ms) der Suchraum nach unten durchquert werden, um die unterste Schicht zu erreichen, so daß eine Akustikauswertung erfolgen kann. Der Akustikstand und der Übergangsstand werden akkumuliert und in dem Score-Feld des Schlitzes gespeichert (in dem Speicher 10c aus 1 abgelegt). Das Backptr-Feld zeigt auf den vorangehenden Schlitz (von dem dieser Schlitz kommt). Da eine Akustikauswertung erfolgen muß, fügt die Auswertung somit für jeden Eingangsakustikvektor wenigstens einen Schlitz zu dem Suchpfad hinzu. Da der Satzpegelschlitz hinzugefügt werden muß, bevor der Akustikauswertungsschlitz hinzugefügt werden kann, muß zu dem Pfad gelegentlich mehr als ein Schlitz hinzugefügt werden.
  • Dies wird Verfolgungsbetriebsart genannt, wobei jeder Eingangsakustikvektor auf einen Modellakustikvektor abgebildet und in dem Suchpfad aufgezeichnet wird. Da eine sehr lange verknüpfte Liste von Schlitzen erzeugt wird, ist sie sehr aufwendig. Beispielsweise besitzt eine 5-Sekunden-Eingangsäußerung 5 × 50 = 250 Eingangsvektoren. Für jede mögliche Theorie in der Suchstrahlbreite muß eine verknüpfte Liste von mehr als 250 Schlitzen erzeugt werden.
  • Für Trainingszwecke ist dies erforderlich, da jeder Eingangsvektor auf einen Modellvektor abgebildet werden muß, um diesen Modellvektor zu aktualisieren. Für Erkennungszwecke ist dies aber übertrieben, da lediglich zu ermitteln ist, welche Wörter erkannt werden. Die mikroskopische Verfolgung dessen, wie jeder Vektor abgebildet wird, braucht nicht bekannt zu sein.
  • Im folgenden wird die Suchnetzerweiterung ausführlicher untersucht; genauer soll der Grund untersucht werden, daß die Schlitze in dem Verfahren erhalten werden.
  • Zwecks Erweiterung muß lediglich der momentane Schlitz im Speicher 10c (1) erhalten werden. Ein Schlitz liefert den model Index und den state Index in diesem Modell. Solange bekannt ist, in welchem Modell (Satz oder Wörter) und in welchem Zustand dieser Schlitz ist, kann das Modell herangezogen und herausgefunden werden, in welche Zustände als nächstes überzugehen ist. Die vorangehenden Schlitze brauchen zwecks Suchnetzerweiterung nicht bekannt zu sein. Durch dieses Argument braucht in einem Pfad lediglich ein Schlitz, der momentane Schlitz, erhalten zu werden; alle vorangehenden Schlitze in einem Pfad können verworfen werden.
  • Zwecks Erkennung soll aber ermittelt werden, welche Wörter erkannt sind, nachdem die Erweiterung abgeschlossen ist. Aus diesem Grund muß in einem Suchpfad für jedes erkannte Wort ein Schlitz erhalten werden. Nachdem für das Beispiel aus 4 "call" erkannt worden ist, ist ein Schlitz für das Wort "call" alles, was erhalten wird. Die gesamte weitere Erweiterung der Laute und Akustiken kann verworfen werden. Ein Steuersignal zwischen Computer/Komparator 10b und Speicher 10c steuert das Verwerfen. Dies erfolgt nach der Berechnung. Dabei sind alle Schlitze zu berechnen, wobei der vorangehende Schlitz aber zu verwerfen ist, da der derzeitige Schlitz den Stand akkumuliert hat und, wenn ein Wort bestimmt worden ist, lediglich das Wort benötigt wird. Der Rückwärtszeiger zeigt auf das vorangehende Wort.
  • Durch das obige Argument brauchen für eine 10-Ziffernerkennung lediglich 10 Schlitze in dem Suchpfad erhalten zu werden. Jeder Schlitz repräsentiert eine erkannte Ziffer. Dies ist der kürzestmögliche Weg, der zur Lösung des 10-Ziffern-Suchproblems genommen werden kann.
  • In 5 ist ein Ablaufplan zur Erweiterung und zum Erhalten und Verwerfen von Schlitzen gezeigt. In Schritt 101 wird die Eingangssprache erweitert und in Schritt 103 mit den Bibliotheksmodellen und mit dem Wörterbuch 10a im Computer/Komparator 10b verglichen, wobei der Stand in den Schlitzen angeordnet wird und akkumuliert wird. Die Stände des derzeitigen Schlitzes werden erhalten, während Pfade mit schlechtem Stand verworfen werden. Wenn in Schritt 105 ein Laut-Ende erfaßt wird, wird bestimmt, ob es ein Wort-Ende ist. Falls kein Wort-Ende erfaßt wird, werden die vorangehenden Schlitze verworfen, wobei der Stand in dem derzeitigen Schlitz akkumuliert wird. Wenn ein Wort erfaßt wird (Schritt 107), wird für das identifizierte Wort ein Wortschlitz erzeugt (Schritt 109), wobei alle vorangehenden Schlitze verworfen werden und das identifizierte Wort in das Suchnetz eingebaut wird. Daraufhin zeigt der Rückwärtszeiger auf das vorangehende Wort.
  • Leider befördert das Netz, das lediglich ein Ein-Wort-Ein-Schlitz-Netz ist, keine Satzpegelinformationen. Satzpegelinformationen sind erforderlich, um eine Grammatik zu repräsentieren, die beschreibt, wie Wörter zusammengestellt werden können. Es ist wenigstens ein Satzpegelschlitz an der Wortgrenze erforderlich, der die Informationen liefert, um die Suche zu dem nächsten Wort fortzuführen. Ohne diesen Satzpegelschlitz ist nicht bekannt, welches nächste Wort ausgewertet werden soll, wenn das Auswerten des momentanen Wortes abgeschlossen ist. Außer zum Befördern der Grammatikinformationen wird der Satzpegelschlitz auch zum Befördern der N-Best-Informationen und zum Liefern einer Basis für die Satzpegel-Viterbi-Decodierung verwendet.
  • Ausgerüstet mit dem obigen Verständnis des Suchmechanismus kann nun bei gegebener Grammatik die Länge eines Suchpfades begrenzt werden. Beispielsweise enthält der kürzestmögliche Pfad für eine Einworterkennungsgrammatik ein Wort, drei Schlitze: S1WS2 , wobei W das Wort und S1 die Ruhe vor dem Wort sowie S2 die Ruhe nach dem Wort W ist.
  • Der längstmögliche Weg ist 4N + 3, wobei es N Wörter (Ruhe nicht gezählt), N + 1 Ruheschlitze und 2N + 2 Satzschlitze gibt. Der längste Pfad der drei Wörter (beginnend mit Ruhe + das erkannte Wort + endend mit Ruhe) ist sieben Schlitze: S1WsilS1 WS2WsilS2 , wobei W einen Wortpegelschlitz und S einen Ruhepegelschlitz repräsentiert.
  • Für eine 10-Zifferngrammatik besitzt der kürzestmögliche Weg 10 Ziffern + 11 Satzschlitze = 21 Schlitze. Der längstmögliche Weg besitzt 10 Zif fern + 11 Ruhe + 22 Satzschlitze = 43 Schlitze. Er ist unabhängig von der Länge der Eingangsäußerung und hängt lediglich von der Grammatik ab.
  • Dieses Minimierungsprinzip kann für eine Aufgabe mit großem Wortschatz leicht auf die Dreipegel-Suchstruktur (Satz-, Wort-, Laut-Suchstruktur) verallgemeinert werden.
  • In der kontinuierlichen Spracherkennung wird die Ruhe als ein Wort betrachtet. Die Grammatik ermöglicht an allen Wortgrenzen ein optionales Ruhewort. Allerdings können die Zwischenwortakustiken stark schwanken – Ruhe oder Hintergrundrauschen. Üblicherweise werden von den Erfindern in dem Ruhemodell eine große Anzahl von Mischungen verwendet, um die stark schwankenden Akustiken zu erfassen.
  • Um den Suchpfad zu minimieren, soll ein Ruhemodell alle Zwischenwortakustiken erfassen. Da es den Pfad unnötig verlängert, soll nicht zugelassen werden, daß in einem Zwischenwortsegment mehrere verschiedene Ruhemodelle erscheinen.
  • Die Spitzenschlitznutzung wurde an zwei Aufgaben kalibriert: an der Einwort-Militäralphabeterkennung (7087 Dateien) und an der Erkennung von 10 zusammenhängenden Ziffern (1390 Dateien).
  • Für diese beide Aufgaben wurden zwei Bedingungen ausgeführt:
    • – Verfolgungsbetriebsart, die für die Modellaktualisierung erforderlich ist.
    • – Optimal minimiertes Suchnetz, wie es in dieser Anwendung beschrieben ist.
  • In 6 sind Spitzenschlitznutzungs-Histogramme graphisch dargestellt. In den graphischen Darstellungen sind sie durch Kreis beziehungsweise Plus repräsentiert. Die X-Achse ist die Spitzenschlitzanzahl, während die Y-Achse die Anzahl der Äußerungen ist, die die minimalen X-Achsenschlitze erfordern, damit sie erfolgreich geparst werden. Je weiter links die Verteilung ist, desto effizienter ist die Suche.
  • Für die Aufgabe der Einwort-Militäralphabeterkennung sind das Maximum, der Mittelwert und die Standardabweichung der Spitzenschlitznutzung:
  • Figure 00130001
  • Für die Aufgabe der Erkennung von 10 zusammenhängenden Ziffern sind das Maximum, der Mittelwert und die Standardabweichung der Spitzenschlitznutzung:
  • Figure 00130002
  • Das optimale minimierte Suchnetz verringert die Spitzenschlitznutzung gegenüber der vorangehenden Leistung der Erfinder für beide Aufgaben um etwa 20%.
  • Es wurden Wege vorgeschlagen, um das Suchnetz im Rahmen des vorliegenden Suchalgorithmus zu minimieren. Die Suchpfadlänge kann durch die Grammatik begrenzt werden und ist unabhängig von der Länge der Eingangsäußerung. Im Vergleich zu der vorangehenden nicht optimalen Leistung der Anmelder wurde eine 20%-ige Verringerung des Suchraums erreicht. Im Vergleich zur Verfolgungsbetriebsart beträgt die Verringerung 70% bis 80%. Üblicherweise erfolgt die Verfolgungsbetriebsart unter Aufsicht, so daß die Spitzenschlitznutzung nicht annähernd so groß ist. Wenn eine unbeaufsichtigte Modellaktualisierung erforderlich ist, ist die Spitzenschlitznutzung aber, wie in den Histogrammdarstellungen gezeigt ist, sehr hoch.
  • In dieser Anmeldung wurde eine Schlitz-Struktur mit 8 Feldern verwendet. In einer weiteren Anwendung wird von den Erfindern eine Möglichkeit beschrieben, dies auf 5 Felder zu verringern. Wenn die in dieser Anmeldung beschriebene Suchnetzminimierung mit der Schlitzgrößenverringerung kombiniert wird, kann die 10-Ziffernaufgabe mit nur 1600 Schlitzen × 5 Wörtern = 8 K-Wörtern des Suchraums (RAM) erledigt werden (siehe Y. H. Kao, "Reducing Slot Size in Speech Recognition Search Network by Data Packing and a New Slot Management Mechanism", TI Tech Report, 1998). In den vorliegenden 1390 10-Ziffern-Äußerungen erfordern lediglich zwei Äußerungen, daß mehr als 1600 Schlitze geparst werden.

Claims (8)

  1. Verfahren zur Schaffung eines Suchnetzes in der Spracherkennung, das die folgenden Schritte umfaßt: Parsen der Eingangssprache; Aufbauen eines sich dynamisch ändernden Suchbaums durch Erweitern aller aktiven Suchpfade und Erzeugen von zeitgestempelten Schlitzen, die einen Modellindex, einen Modellzustand, einen Zeitindex, der den Zeitpunkt angibt, zu dem der Schlitz erzeugt wurde, wobei ein letzter Zeitindex den letzten Zeitpunkt angibt, zu dem der Schlitz aktualisiert wurde, und einen akkumulierten Übereinstimmungsstand mit Sprachmodellen des Pfades bis zu dem Schlitz enthalten, Vergleichen der geparsten Eingangssprache mit Sprachmodellen und Identifizieren, welches Modell und welcher Modellzustand in Frage kommen, und Berechnen des akkumulierten Übereinstimmungsstandes; Verwerfen von Pfaden mit schlechtem Ergebnis und von Schlitzen mit schlechtem Stand; Ausbreiten eines aktuellen Zeitstempels rückwärts durch eine verknüpfte Liste von Schlitzen für Pfade mit guten Ständen, um bei den Schlitzen in den Pfaden mit guten Ständen einen letzten Zeitindex mit der aktuellen Zeit bereitzustellen; und Verwerfen von Schlitzen und Pfaden, die nicht diese aktuelle Zeit als den letzten Zeitindex haben.
  2. Verfahren nach Anspruch 1, das den Schritt umfaßt, bei dem das Ende eines Wortes bestimmt wird und ein Wortendeschlitz erzeugt wird, wenn ein Wortende bestimmt wird, und alle vorhergehenden Schlitze verworfen werden.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, bei dem jeder Schlitz ferner einen Rückwärtszeiger, einen nächsten Zustand und ein nächstes Wort speichert.
  4. Verfahren nach Anspruch 1, Anspruch 2 oder Anspruch 3, das den Schritt umfaßt, bei dem der längstmögliche Pfad auf 4N + 3 "Wortpegel- oder Ruhepegel-Schlitze" begrenzt ist, wenn N Wörter (ohne Zählung der Ruhe), höchstens N + 1 Ruhewörter plus (2N + 1) + 1-Satzschlitze vorhanden sind.
  5. Spracherkennen für Eingangssprache, der umfaßt: einen Speicher; eine Grammatik- und Sprachmodell-Bibliothek; einen Computer/Komparator, der mit der Bibliothek gekoppelt ist und auf die Eingangssprache reagiert, um einen Suchbaum durch Erweitern aktiver Suchpfade aufzubauen und zeitgestempelte Schlitze zu erzeugen, die einen Modellindex, einen Modellzustand, einen Zeitindex, der den Zeitpunkt angibt, zu dem der Schlitz erzeugt wurde, wobei ein letzter Zeitindex den Zeitpunkt angibt, zu dem der Schlitz zuletzt aktualisiert wurde, und einen akkumulierten Übereinstimmungsstand mit Sprachmodellen des Pfades bis zu dem Schlitz enthalten, wobei der Computer/Komparator einen Übereinstimmungsstand und einen akkumulierten Stand bei jedem Schlitz berechnet und wobei der Computer/Komparator mit dem Speicher gekoppelt ist, um den Modellindex, den Modellzustand, den Zeitindex, den letzten Zeitindex und den akkumulierten Übereinstimmungsstand zu speichern; wobei Pfade mit schlechtem Stand und Schlitze mit schlechtem Stand verworfen werden; wobei ein aktueller Zeitstempel nach rückwärts durch eine verknüpfte Liste von Schlitzen für Pfade mit guten Ständen ausgebreitet wird, um bei den Schlitzen in den Pfaden mit guten Ständen einen letzten Zeitindex mit der aktuellen Zeit bereitzustellen; und wobei Schlitze und Pfade, die nicht die aktuelle Zeit als den letzten Zeitindex haben, verworfen werden.
  6. Spracherkenner nach Anspruch 5, bei dem der Computer/Komparator das Ende eines Wortes bestimmt und einen Wortschlitz erzeugt und alle vorhergehenden Schlitze verwirft.
  7. Spracherkenner nach Anspruch 5 oder 6, bei dem für jeden Schlitz ferner ein Modellindex, ein Rückwärtszeiger, ein nächster Zustand und ein nächstes Wort gespeichert werden.
  8. Spracherkenner nach Anspruch 5, Anspruch 6 oder Anspruch 7, bei dem der Computer/Komparator nur einen Ruheschlitz zwischen Wörtern zuläßt.
DE69908034T 1998-07-31 1999-07-30 Minimierung eines Suchnetzwerks für die Spracherkennung Expired - Lifetime DE69908034T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9485698P 1998-07-31 1998-07-31
US94856P 1998-07-31

Publications (2)

Publication Number Publication Date
DE69908034D1 DE69908034D1 (de) 2003-06-26
DE69908034T2 true DE69908034T2 (de) 2004-04-01

Family

ID=22247587

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69908034T Expired - Lifetime DE69908034T2 (de) 1998-07-31 1999-07-30 Minimierung eines Suchnetzwerks für die Spracherkennung

Country Status (4)

Country Link
US (1) US6456970B1 (de)
EP (1) EP0977173B1 (de)
AT (1) ATE241197T1 (de)
DE (1) DE69908034T2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3814459B2 (ja) * 2000-03-31 2006-08-30 キヤノン株式会社 音声認識方法及び装置と記憶媒体
US7027987B1 (en) 2001-02-07 2006-04-11 Google Inc. Voice interface for a search engine
AUPR585101A0 (en) * 2001-06-21 2001-07-12 Syrinx Speech Systems Pty Limited Stochastic chunk parser
US7181398B2 (en) * 2002-03-27 2007-02-20 Hewlett-Packard Development Company, L.P. Vocabulary independent speech recognition system and method using subword units
FR2857528B1 (fr) * 2003-07-08 2006-01-06 Telisma Reconnaissance vocale pour les larges vocabulaires dynamiques
US8731925B2 (en) * 2006-12-22 2014-05-20 Nuance Communications, Inc. Solution that integrates voice enrollment with other types of recognition operations performed by a speech recognition engine using a layered grammar stack
KR101417975B1 (ko) * 2010-10-29 2014-07-09 안후이 유에스티씨 아이플라이텍 캄파니 리미티드 오디오 레코드의 엔드포인트를 자동 감지하는 방법 및 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8527913D0 (en) * 1985-11-12 1985-12-18 Pa Consulting Services Analysing transitions in finite state machines
ATE108571T1 (de) 1986-06-02 1994-07-15 Motorola Inc System zur erkennung kontinuierlicher sprache.
US5699456A (en) * 1994-01-21 1997-12-16 Lucent Technologies Inc. Large vocabulary connected speech recognition system and method of language representation using evolutional grammar to represent context free grammars
US5625749A (en) * 1994-08-22 1997-04-29 Massachusetts Institute Of Technology Segment-based apparatus and method for speech recognition by analyzing multiple speech unit frames and modeling both temporal and spatial correlation

Also Published As

Publication number Publication date
EP0977173A3 (de) 2001-03-14
ATE241197T1 (de) 2003-06-15
DE69908034D1 (de) 2003-06-26
EP0977173B1 (de) 2003-05-21
US6456970B1 (en) 2002-09-24
EP0977173A2 (de) 2000-02-02

Similar Documents

Publication Publication Date Title
DE69832393T2 (de) Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache
DE69829235T2 (de) Registrierung für die Spracherkennung
DE69827988T2 (de) Sprachmodelle für die Spracherkennung
DE69933623T2 (de) Spracherkennung
DE69919842T2 (de) Sprachmodell basierend auf der spracherkennungshistorie
US5822730A (en) Lexical tree pre-filtering in speech recognition
DE60016722T2 (de) Spracherkennung in zwei Durchgängen mit Restriktion des aktiven Vokabulars
DE4397100C2 (de) Verfahren zum Erkennen von Sprachsignalen und Spracherkennungssystem mit rekursiver Grammatik mit endlicher Zustandsanzahl
DE69634239T2 (de) Erkennung kontinuierlich gesprochener Texte und Befehle
DE10111056B4 (de) Verfahren und Vorrichtungen zur Identifikation einer Nicht-Zielsprache in einem Spracherkennungssystem
DE69923379T2 (de) Nicht-interaktive Registrierung zur Spracherkennung
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
EP1611568B1 (de) Dreistufige einzelworterkennung
EP0836175B1 (de) Verfahren und Anordnung zum Ableiten wenigstens einer Folge von Wörtern aus einem Sprachsignal
WO2005013261A1 (de) Verfahren zur spracherkennung und kommunikationsgerät
DE60109999T2 (de) Spracherkennung mittels lexikalischer Bäumen
DE19510083A1 (de) Verfahren und Anordnung zur Spracherkennung bei Wortkomposita enthaltenden Sprachen
DE602004004310T2 (de) System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen
DE60023736T2 (de) Verfahren und vorrichtung zur spracherkennung mit verschiedenen sprachmodellen
DE60318385T2 (de) Sprachverarbeitungseinrichtung und -verfahren, aufzeichnungsmedium und programm
EP1058235B1 (de) Wiedergabeverfahren für sprachgesteuerte Systeme mit text-basierter Sprachsynthese
DE10040063A1 (de) Verfahren zur Zuordnung von Phonemen
DE60026366T2 (de) Spracherkennung mit einem komplementären sprachmodel für typischen fehlern im sprachdialog
DE69908034T2 (de) Minimierung eines Suchnetzwerks für die Spracherkennung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition