DE10006937C2 - Verfahren für einen Rückverfolgungsmatrixspeicher in einem Sprachwiedererkennungssystem - Google Patents

Verfahren für einen Rückverfolgungsmatrixspeicher in einem Sprachwiedererkennungssystem

Info

Publication number
DE10006937C2
DE10006937C2 DE10006937A DE10006937A DE10006937C2 DE 10006937 C2 DE10006937 C2 DE 10006937C2 DE 10006937 A DE10006937 A DE 10006937A DE 10006937 A DE10006937 A DE 10006937A DE 10006937 C2 DE10006937 C2 DE 10006937C2
Authority
DE
Germany
Prior art keywords
state
frame
utterance
frames
memory
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
DE10006937A
Other languages
English (en)
Other versions
DE10006937A1 (de
Inventor
Jeffrey Arthur Meunier
Daniel Charles Poppert
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.)
Google Technology Holdings LLC
Original Assignee
Motorola 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 Motorola Inc filed Critical Motorola Inc
Publication of DE10006937A1 publication Critical patent/DE10006937A1/de
Application granted granted Critical
Publication of DE10006937C2 publication Critical patent/DE10006937C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/12Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D35/00Filtering devices having features not specifically covered by groups B01D24/00 - B01D33/00, or for applications not specifically covered by groups B01D24/00 - B01D33/00; Auxiliary devices for filtration; Filter housing constructions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2201/00Details relating to filtering apparatus
    • B01D2201/31Other construction details
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F1/00Refuse receptacles; Accessories therefor
    • B65F1/14Other constructional features; Accessories

Description

Die vorliegende Erfindung bezieht sich auf Sprachwiederer­ kennung und insbesondere auf ein Verfahren zum Speichern von Rückverfolgungs-Gitterinformation für ein Sprachwie­ dererkennungssystem.
Auch die DE 32 15 868 C2 beschäftigt sich mit der Sprach­ wiedererkennung und betrifft die Weiterbildung eines aus der Zeitschrift "IEEE Transactions on Acoustics, Speech, and Signal Processing", Vol. Assp-29, No. 2, April 1981, Seiten 284 bis 297 bekannten Verfahrens. Bei diesem Ver­ fahren werden die aus dem Sprachsignal gewonnenen Testsig­ nale mit den Folgen der Referenzsignale für alle zu erken­ nenden Wörter unter Anwendung von nichtlinearer Zeitanpas­ sung verglichen und der Weg der besten Übereinstimmung durch jedes Wort bis zu dessen Ende ermittelt und dieser Endpunkt jeweils registriert. Nach dem Durchlaufen aller Wörter werden ausgehend von diesen Endpunkten alle Wörter nochmals mit wenigstens zum größten Teil denselben Test­ signalen durchlaufen und es wird wieder für jeden vorher­ gehenden Endpunkt und für jedes Wort der Weg der besten Übereinstimmung ermittelt. Dieses Verfahren wird fortge­ setzt, wobei dieselben Testsignale wiederholt verwendet werden, bis Wege bester Übereinstimmung beim letzten Test­ signal enden. Ein Problem bei der Erkennung der Wörter in einer zusammenhängenden Wortkette besteht darin, dass zu­ nächst die Wortgrenzen in dem Sprachsignal nicht bekannt sind, so dass zunächst nicht ohne Weiteres bekannt ist, wann in dem Sprachsignal erneut der Vergleich mit dem An­ fang der einzelnen Folgen der Referenzsignale durchgeführt werden muss. Das aus der genannten Veröffentlichung be­ kannte Verfahren ermittelt daher mehrere Wege, die Kandidaten für den insgesamt optimalen Weg sein könnten. Am Ende des gesamten Sprachsignals wird ausgehend von der kleinsten Unterschiedssumme, die sich an diesem Punkt er­ geben hat, der optimale Weg zurückverfolgt. Die zunächst unbekannten Wortgrenzen ergeben sich dann automatisch durch das Zurückverfolgen. Zur Weiterbildung dieses be­ kannten Verfahrens sieht die DE 32 15 868 C2 vor, dass keine verschiedenen Ebenen gebildet, sondern jedes Test­ signal nur einmal mit allen Referenzsignalen aller Folgen verglichen wird. Weiterhin wird eine mögliche Wortgrenze automatisch an jeder Stelle angenommen, indem die kleinste Unterschiedssumme am Ende der einzelnen Folgen von Refe­ renzsignalen beim vorhergehenden Testsignal gesucht wird, denn der optimale Weg der Zeitanpassung kann nur, muss je­ doch nicht, durch einen solchen Punkt laufen. Ob tatsäch­ lich eine mögliche Wortgrenze vorliegt, wird durch Ver­ gleich mit den Anfängen jeweils neuer Folgen von Referenz­ signalen bestimmt. Bei jeder solchen möglichen Wortgrenze wird die Testsignaladresse des Endpunktes der vorhergehen­ den Folge von Referenzsignalen gespeichert, damit später der optimale Weg zurückverfolgt werden kann, wenn dieser tatsächlich durch die angenommene Wortgrenze verläuft, und es wird ferner die Ordnungsnummer der vorhergehenden Folge von Referenzsignalen gespeichert, das heißt die Angabe des Wortes, für das zuletzt eine gute Übereinstimmung mit dem Testsignal vorlag. Auf diese Weise ergibt sich zwar eine Vielzahl von möglichen Wortgrenzen, von denen durch Zu­ rückverfolgen nach Verarbeitung des letzten Testsignals nur wenige ausgewählt werden, nämlich die auf dem optima­ len Wege der Zeitanpassung liegenden, jedoch ist der Spei­ cherplatz dennoch begrenzt. Es muss lediglich für jedes Referenzsignal aller Folgen die jeweilige Unterschiedssum­ me sowie eine Angabe über den Anfang des Weges der Zeitanpassung in dieser Folge von Referenzsignalen gespei­ chert werden, was mit jedem neuen Testsignal überschrieben wird, und für jede Testsignaladresse müssen zwei Speicher­ plätze vorgesehen werden, nämlich einer für die Angabe des Wortes, das an dieser Stelle möglicherweise gerade geendet hat, und die Angabe, wo dieses Wort begonnen hat, damit das jeweils vorhergehende Wort beim Zurückverfolgen aufge­ funden werden kann.
Die EP 0 225 735 A1 betrifft ebenfalls die Spracherken­ nung, wobei zu erkennende Wörter durch endliche Zustands­ maschinen repräsentiert werden und die Erkennung auf der Grundlage der Analyse von Zustandsübergängen der Maschinen erfolgt, wenn eine Äußerung vorliegt. Ein dabei erforder­ licher Wert für jeden Zustand jeder Maschine ist der mini­ male summierte Abstand, das heißt der kleinste der Werte, die sich für das Erreichen eines Zustandes von einem Startpunkt aus unter Berücksichtigung aller möglichen Wege ergeben. Gemäß der EP 0 225 735 A1 sind dabei Latch- Schaltungen zum Speichern von Zeigern vorgesehen, um zu ermöglichen, dass ein RAM-Speicher ausgelesen wird, um, für einen aktuellen Maschinenzustand, sowohl gespeicherte summierte Abstände von Zuständen mit Übergängen zu diesem Zustand und gespeicherte Strafen auszulesen, die den Über­ gängen entsprechen. Dabei findet eine Logikschaltung den summierten Abstand für jeden Pfad bis zum aktuellen Zu­ stand, wählt das Minimum aus und addiert eine weitere Strafe in Abhängigkeit vom aktuellen Zustand. Auf diese Weise wird ein minimaler summierter Abstand ermittelt, der gespeichert und zur Spracherkennung verwendet wird.
Allgemein müssen in einem sprecherabhängigen Sprachwieder­ erkennungssystem Nutzer die Wörter des Wörterverzeichnisses registrieren, welche für sie bei der Nutzung des Systems verfügbar sein sollen. Ein "Wort" eines Wörterver­ zeichnisses kann ein einzelnes gesprochenes Wort oder eine kurze Phrase sein, und die gewählten Wörter des Wörterver­ zeichnisses hängen von der speziellen Anwendung ab. Zum Beispiel kann die Implementierung einer Sprachwiedererken­ nung für ein tragbares Funktelefon es erforderlich machen, dass der Nutzer die Namen und Orte häufig angerufener Per­ sonen zur Verfügung stellt (z. B. "Fred's Büro") bzw. Be­ fehle häufig verwendeter Eigenschaften, die gewöhnlich in einer Benutzerschnittstelle verfügbar sind (z. B. "Batte­ riemesser", "Nachrichten" oder "Telefonverriegelung").
Während des Registrierungsvorganges spricht das Sprachwie­ dererkennungssystem auf die Eingabe des Nutzers an, um ei­ ne repräsentative Vorlage für jedes Wort des Wörterver­ zeichnisses abzuleiten. Bei einigen Systemen wird diese Vorlage durch ein verstecktes Markov-Modell ("hidden Markov model" (HMM)) reprä­ sentiert, welches aus einer Serie von Zuständen besteht. Jeder Zustand repräsentiert einen finiten Abschnitt einer Sprachäu­ ßerung; hier wird der Begriff Äußerung so benutzt, dass er sich auf ein "Wort des Wörterverzeichnisses" bezieht, welches eines oder mehrere Wörter aufweisen kann. Eine statistische Repräsentation von jedem Zustand des HMM wird unter Verwendung von einer oder mehreren Registrierungssprachproben eines spe­ ziellen von dem Nutzer geäußerten Wortes des Wörterverzeich­ nisses berechnet. Dies wird durch Rahmen-zu-Zustand- Zuordnungen ("frame-to-state assignments") erreicht.
Derartige Zustandszuordnungen werden sowohl für den Lernbe­ triebsmodus als auch für den Sprachwiedererkennungsbetriebsmo­ dus verwendet. Insbesondere werden zugeordnete Zustände ver­ wendet, um Modelle in einem Lernmodus zu erzeugen, welche als Vergleichsreferenz während des Sprachwiedererkennungsmodus verwendet werden. Die Zuordnungen für Eingangsäußerungen in einem Sprachwiedererkennungsbetriebsmodus können verwendet werden, um Quellinformation zu erzeugen und die Eingangsäuße­ rungen mit den gespeicherten Referenzmodellen zu vergleichen.
Ein Ausrichtalgorithmus, zum Beispiel ein Viterbi-Algorithmus, wird für die Rahmen-zu-Zustand-Ausrichtung ("frame-to-state alignment") einer Äußerung verwendet. Dieser Ausrichtalgorith­ mus, welcher die beste Übereinstimmung der Sprachäußerung mit dem Modell zur Verfügung stellt, wird verwendet, um jede Wort­ äußerung aus dem Wörterverzeichnis individuellen Zuständen des Modelles zuzuordnen. Unter Verwendung dieser Zuordnung können die statistischen Repräsentationen für jeden Zustand verfeinert werden.
Während der Rahmenausrichtung wird ein "Weg" definiert, indem die optimale Übereinstimmung der Äußerungsrahmen mit den Zuständen in dem Modell gefunden werden. Um dies zu erreichen, wird eine Auswertung für jeden Zustand des HMM in jedem Rahmen ausgeführt. Ein Abschnitt dieser Auswer­ tung bestimmt, wenn die beobachtete Sprache bis hoch zum Rahmen t gegeben ist, welcher der Zustände, welche zu ei­ nem gegebenen Zustand führen, der Beste beim Rahmen t - 1 war. Für HMM's, welche vollständig verbunden sind, kann jeder Zustand zu jedem anderen Zustand übergehen. Daher sind N Wege in jeden Zustand möglich, wobei N die Anzahl der Zustände ist.
Bei dieser Technik ist es erforderlich, während des Aus­ richtalgorithmus zu verfolgen, welche Sprachrahmen auf die jeweiligen Zustände in dem Modell abgebildet werden. Unter Verwendung herkömmlicher Techniken macht dies einen großen Speicher erforderlich. Verfahren des Standes der Technik verwenden ein Datenfeld ("array"), welches Rückverfol­ gungsmatrix genannt wird, um Information für jeden Rahmen zu speichern, die im Detail den besten Weg für jeden Zu­ stand enthält. Dies würde normalerweise ein Datenfeld der Größe N × T erforderlich machen, wobei N die Anzahl der Zustände in dem Modell und T die maximale Anzahl von Rah­ men in einer Äußerung sind. Da es nicht unüblich ist, dass N gleich 20 ist und T gleich 300 ist, benötigt eine Imple­ mentierung 6000 Wörter des Speichers.
Um einen sprecherabhängigen Lernalgorithmus in einer trag­ baren Vorrichtung zu implementieren, wie etwa einer draht­ losen Kommunikationsvorrichtung, in der nur ein sehr klei­ ner Random-Access-Speicher ("random access memory" (RAM)) zur Verfügung steht, muss die für das Speichern von Rück­ verfolgungsinformation verwendete Technik den benötigten Speicher minimieren.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, welches Rückverfol­ gungsinformation in einem kleineren Speicher speichern kann, die für den Lernvorgang eines HMM benötigt wird.
Ein solches Verfahren wird mit den Merkmalen von Anspruch 1 zur Verfügung gestellt.
Die Erfindung wird nun mit Bezug auf die begleitenden Zeichnungen anhand bevorzugter Ausführungsformen beispiel­ haft erläutert.
Fig. 1 ist ein Schaltungsschema in Form eines Blockdia­ gramms, welches ein Funktelefon veranschaulicht.
Fig. 2 ist ein Schaltungsschema in Form eines Blockdia­ gramms, welches eine Eingabeschaltung für eine Sprachwie­ dererkennungsschaltung in einem Funktelefon gemäß Fig. 1 veranschaulicht.
Fig. 3 ist eine Veranschaulichung eines Links-Rechts- Hidden-Markov-Modell ("left-right Hidden Markov Model") mit zwei assoziierten Sprachäußerungen, welche in Rahmen segmentiert sind.
Fig. 4 ist ein Diagramm, welches das Rückverfolgungsgitter veranschaulicht, dass mit allen möglichen Zustandsüber­ gangswegen in einem Links-Rechts-Modell assoziiert ist, wobei keine Sprungübergänge gestattet sind.
Fig. 5 ist ein Speicherdatenfeld für einen Zustandsübergangs­ weg für einen Rückverfolgungspfad, der unter Verwendung von Zustandsübergangstypen aufgenommen wurde.
Fig. 6 ist ein Flussdiagramm, welches das Speichern von Infor­ mation in dem Ausrichtalgorithmus veranschaulicht.
Fig. 7 ist ein Flussdiagramm, welches eine Operation zum Er­ zeugen einer Rahmen-zu-Zustand-Ausrichtung für den bes­ ten Weg veranschaulicht.
Fig. 8 veranschaulicht ein Links-zu-Rechts-HMM ohne Sprung entsprechend Fig. 4.
Fig. 9 ist ein Abschnitt eines Flussdiagramms, welcher in dem Flussdiagramm aus Fig. 6 verwendet werden kann, um ei­ nen Zustandssprung unterzubringen.
Fig. 10 ist ein Abschnitt eines Flussdiagramms, welches in dem Flussdiagramm aus Fig. 7 verwendet werden kann, um ei­ nen Zustandssprung unterzubringen.
Es wird ein Verfahren zum Aktualisieren und zum Speichern ei­ ner Rückverfolgungsmatrix für eine Sprachwiedererkennung offenbart. Während eines sprecherabhängigen Registrierungsvor­ ganges stellt der Nutzer eine oder mehrere Wiederholungen der Sprachäußerungen zur Verfügung, welche zu registrieren sind. Jede dieser Äußerungen wird bezüglich eines existierenden Hid­ den Markov Modells unter Verwendung einer Rahmenausrichtvor­ gangs angepasst. Wenn dieses Verfahren ausgeführt wird, wird ein effizientes Verfahren zum Aufnehmen der Zusammengehörig­ keit zwischen Kurzzeitanalyserahmen in den Äußerungen und den Zuständen des Modells dadurch zur Verfügung gestellt, dass ein Übergangstyp für jeden Zustand und Rahmen gespeichert wird.
Eine Vorrichtung 100, in welcher die Erfindung in vorteilhaf­ ter Weise angewendet werden kann, ist in Fig. 1 offenbart. Die Vorrichtung 100 wird hier zur Veranschaulichung als tragbares Funktelefon beschrieben; es könnte sich jedoch auch um einen Computer, einen persönlichen Digitalassistenten ("personal di­ gital assistant") oder eine beliebige andere Vorrichtung han­ deln, welche in vorteilhafter Weise eine Sprachwiedererkennung verwenden kann, und insbesondere um eine Vorrichtung, welche Vorteile aus einem speichereffizienten Sprachwiedererkennungs­ system ziehen kann. Das veranschaulichte Funktelefon enthält einen Sender 102 und einen Empfänger 104, welche mit einer An­ tenne 106 verbunden sind. Der Sender 102 und der Empfänger 104 sind mit einem Anrufprozessor 108 verbunden, welcher Anrufver­ arbeitungsfunktionen ausführt. Der Anrufprozessor 108 kann un­ ter Verwendung eines digitalen Signalprozessors ("digital sig­ nal processor" (DSP)), eines Mikroprozessors, eines Mikrocont­ rollers, einer programmierbaren Logikeinheit, einer Kombinati­ on einer oder mehrerer der obigen Vorrichtungen oder beliebiger anderer geeigneter Digitalschaltungen implementiert wer­ den.
Der Anrufprozessor 108 ist mit einem Speicher 110 verbunden. Der Speicher 110 enthält einen RAM, einen elektronisch lösch­ baren programmierbaren Nur-Lesespeicher ("electronically era­ sable programmable read only memory" (EEPROM)), einen Nur- Lesespeicher ("read only memory" (ROM)), einen Flash-ROM oder dergleichen oder eine Kombination von zwei oder mehreren die­ ser Speichertypen. Der Speicher 110 unterstützt den Betrieb des Anrufprozessors 108 einschließlich der Sprachwiedererken­ nungsoperation, und er muss einen elektronisch änderbaren Speicher umfassen, um den Zustandsübergangsweg-Speicher zu un­ terstützen, welcher weiter unten genauer beschrieben wird. Der ROM kann vorgesehen sein, um die Betriebsprogramme für die Vorrichtung zu speichern.
Eine Audioschaltung 112 stellt dem Anrufprozessor 108 digita­ lisierte Signale von einem Mikrofon 114 zur Verfügung. Die Au­ dioschaltung 112 treibt einen Lautsprecher 116 in Antwort auf die digitalen Signale von dem Anrufprozessor 108.
Der Anrufprozessor 108 ist mit einem Anzeigeprozessor 120 ver­ bunden. Der Anzeigeprozessor ist optional, wenn eine zusätzli­ che Prozessorunterstützung für die Vorrichtung 100 erwünscht ist. Insbesondere stellt der Anzeigeprozessor 120 Anzeigesteu­ erungssignale für die Anzeige 126 zur Verfügung, und er emp­ fängt Eingaben von Tasten 124. Der Anzeigeprozessor 120 kann unter Verwendung eines Mikroprozessors, eines Mikrocontrol­ lers, eines digitalen Signalprozessors, einer programmierbaren Logikeinheit, einer Kombination derselben oder dergleichen implementiert sein. Ein Speicher 122 ist mit dem Anzeigepro­ zessor verbunden, um die darin befindliche digitale Logik zu unterstützen. Der Speicher 122 kann unter Verwendung eines RAM, eines EEPROM, eines ROM, eines Flash-ROM oder dergleichen oder einer Kombination eines oder mehrerer dieser Speicherty­ pen implementiert sein.
Es wird auf Fig. 2 Bezug genommen; die von dem Mikrofon emp­ fangenen Audiosignale werden in digitale Signale in einem Ana­ log-Digital-Wandler 202 der Audioschaltung 112 gewandelt. Für Fachleute ist erkennbar, dass die Audioschaltung 112 eine zu­ sätzliche Signalverarbeitung zur Verfügung stellt, wie zum Beispiel eine Filterung, die hier im Sinne einer kurzen Dar­ stellung nicht beschrieben ist. Der Anrufprozessor 108 führt eine Merkmalsextraktion 204 bezüglich der verarbeiteten digi­ talen Signalrepräsentation der analogen Signalausgabe des Mik­ rofons 114 aus und erzeugt einen Satz Merkmalsvektoren, welche für die Benutzeräußerungen repräsentativ sind. Ein Merkmals­ vektor wird für jedes Kurzzeitanalysefenster erzeugt. Das Kurzzeitanalysefenster ist ein Rahmen, welcher in dem hier veranschaulichten Beispiel 20 ms beträgt. Daher liegt ein Merkmalsvektor pro Rahmen vor. Der Prozessor 108 nutzt die Merkmale für die Sprachwiedererkennung 206 oder für den Lern­ vorgang 207.
Beim Lernvorgang werden die Merkmalsvektoren der Äußerung ver­ wendet, um Vorlagen in Form von HMM's zu erzeugen, welche in dem Speicher 208 gespeichert werden. Bei der Sprachwiederer­ kennung werden die die Eingangsäußerung repräsentierenden Merkmalsvektoren mit den Vorlagen der gespeicherten Wörter des Wörterverzeichnisses im Speicher 208 verglichen, um zu bestim­ men, was der Benutzer gesagt hat. Das System kann die beste Übereinstimmung ausgeben, einen Satz der besten Übereinstim­ mungen oder optional keine Übereinstimmung. Der Speicher 208 ist vorzugsweise ein nichtflüchtiger Speicherabschnitt des Speichers 110 (Fig. 1) und kann daher beispielsweise ein EEPROM oder ein Flash-ROM sein. In der vorliegenden Beschrei­ bung kann der Begriff "Wort" mehr als ein Wort, wie etwa "John Doe" oder ein einzelnes Wort, wie etwa "Anruf", bezeichnen.
Wie oben kurz erwähnt wurde, werden die gespeicherten Wörter des Wörterverzeichnisses im Speicher 208 in einem Lernmodus erzeugt. Beispielsweise werden die gespeicherten Wörter des Wörterverzeichnisses anfänglich alle von zwei Lernsignalen ab­ geleitet, den Äußerungen U1 und U2 (Fig. 3), welche aus jewei­ ligen Merkmalsvektoren zusammengesetzt sind. Die Äußerung U1 repräsentiert das Signal, welches gespeichert wurde als der Sprecher ein spezielles Wort das erste Mal während des Lern­ vorganges gesagt hat. Die Äußerung U2 repräsentiert das Signal beim zweiten Mal, wenn ein Sprecher ein bestimmtes Wort wäh­ rend des Lernvorgangs sagt. In dem veranschaulichten Beispiel hat die Äußerung U1 eine andere Länge als die Äußerung U2. Für Fachleute ist erkennbar, dass mehr oder weniger Äußerungen verwendet werden können.
Da die Rahmen dieselben Längen aufweisen, während die Äußerun­ gen U1 und U2 verschiedene Längen haben, werden die Äußerungen U1 und U2 mit verschiedenen Längen auch verschiedene Anzahlen von Rahmen haben, wenn jede Äußerung von Rahmen repräsentiert wird. Eine Mehrzahl von Rahmen Ft bilden eine Äußerung. Wenn­ gleich Äußerungen im Allgemeinen als Ft identifiziert werden, wobei t zwischen 1 und T liegt, werden in der Notation für Fig. 3 die Rahmen der Äußerung durch die Notation Fab identi­ fiziert, wobei a die Äußerungsnummer ist und b die Rahmennum­ mer ist. Insbesondere hat die Äußerung U1 10 Rahmen: nämlich F11, F12, F13, F14, F15, F16, F17, F18, F19 und F110. Die Äu­ ßerung U2 hat 12 Rahmen, nämlich: F21, F22, F23, F24, F25, F26, F27, F28, F29, F210, F211 und F212. Zum Beispiel enthält jeder Rahmen Merkmale welche 20 Millisekunden eines Klangs re­ präsentieren.
Ein Merkmalsvektor kann in einer beliebigen herkömmlichen Wei­ se erzeugt werden. Beispielsweise kann ein Merkmalsvektor Cepstral- und Delta-Cepstral-Merkmale aufweisen, welche vom Ausgang des A/D-Wandlers 202 erzeugt werden (Fig. 2).
Es wird auf Fig. 3 Bezug genommen; anfänglich wird der Zustand 1 (S1) aus den Rahmen F11 und F12 der Äußerung U1 und den Rah­ men F21 und F22 der Äußerung 2 gebildet. Diese Rahmenwerte werden verwendet, um anfänglich einige oder alle Parameter zu berechnen, welche die statistische Repräsentation des Zustan­ des 1 bilden. Bei der bevorzugten Ausführungsform ist die sta­ tistische Repräsentation ein Mittelwert der Rahmen von Äuße­ rung U1 und Äußerung U2. Daher wird der Zustand 1 anfänglich auf den Mittelwert der Rahmen F11 und F12 der Äußerung U1 und der Rahmen F21 und F22 der Äußerung U2 gesetzt. Für Fachleute ist erkennbar, dass in dem Zustand ebenfalls eine Varianz ein­ geschlossen sein kann. Statistische Repräsentationen der ande­ ren Zustände werden ebenfalls erzeugt. Der zweite Zustand S2 ist der Mittelwert der Werte der Rahmen F13 und F14 der Äuße­ rung U1 und der Rahmen F23 und F24 der Äußerung U2. Der Zu­ stand S3 ist in ähnlicher Weise der Mittelwert der Werte der Rahmen F15 und F16 der Äußerung U1 und der Rahmen F25 und F26 der Äußerung U2. Der Zustand S4 ist der Mittelwert der Rahmen F17 und F18 der Äußerung U1 und der Rahmen F27, F28 und F29 der Äußerung U2.
Wie oben beispielhaft dargestellt ist, werden zusätzliche Rah­ men in der Äußerung U2 den letzten beiden Zuständen zugewie­ sen. Wenn die zweite Äußerung nur einen zusätzlichen Rahmen hat, bekommt nur der letzte Zustand einen zusätzlichen Rahmen. Wenn die zweite Äußerung drei zusätzliche Rahmen hat, wird je­ dem der letzten drei Zustände ein zusätzlicher Rahmen zugewie­ sen. In ähnlicher Weise, wenn die erste Äußerung zusätzliche Rahmen hat, wie zum Beispiel vier zusätzliche Rahmen, wird je­ der der letzten vier Zustände einen zusätzlichen Rahmen haben. Wenn eine der Äußerungen fünf Rahmen mehr hat als die andere Äußerung, so erhält jeder Zustand drei Rahmen von der Äußerung mit mehr Rahmen und zwei Rahmen von der Äußerung mit weniger Rahmen.
Die obige Rahmenzuweisung wird als Beispiel dafür angegeben, wie die Rahmen den Zuständen anfänglich zugewiesen werden kön­ nen und wie eine statistische Repräsentation eines Zustandes gebildet werden könnte. Jedoch ist für Fachleute erkennbar, dass zahlreiche andere Verfahren sowohl für die anfängliche Zuweisung der Zustände als auch für das statistische Repräsen­ tieren der Zustände existieren, und daher ist es nicht beabsichtigt, dass die Erfindung auf die obige Umgebung begrenzt wäre.
In dem Beispiel werden fünf Zustände ohne Berücksichtigung der Länge der Äußerung verwendet. Für Fachleute ist erkennbar, dass eine beliebige Anzahl von Zuständen verwendet werden kann, und es ist vorgesehen, dass mehr als zehn Zustände für jede Äußerung verwendet werden. Zusätzlich kann die Anzahl der Zustände festgelegt sein, ohne die Länge der Äußerung zu be­ rücksichtigen, oder die Anzahl der Zustände kann von der Länge der Äußerung abhängen. Die verbleibende Diskussion wird bezüg­ lich eines Systems geführt, welches fünf Zustände für eine be­ liebige Äußerung unabhängig von ihrer Länge verwendet.
Sobald die Zustände S1 bis S5 von den Statistiken der Rahmen der Äußerungen U1 und U2 erzeugt sind, wird ein Hidden Markov Modell (HMM) erzeugt. Der Anrufprozessor 108 verwendet einen Ausrichtalgorithmus, um jede der Äußerungen die Zustände des erzeugten HMM durchlaufen zu lassen. Die Ausrichtung kann dann verwendet werden, um die statistische Repräsentation der Zu­ stände neu abzuschätzen. Insbesondere arbeitet der Ausrichtal­ gorithmus dafür, den besten Weg zurück von einem beliebigen Punkt zu bestimmen, basierend auf einer Treffermarke ("score") für jeden berücksichtigten Weg, was allgemein mit Bezug auf Fig. 4 beschrieben wird. In der vorliegenden Beschreibung ist ein Punkt der Ort eines Rahmens und eines Zustands in dem Git­ ter 400. Ein Weg erstreckt sich durch die Punkte.
Für Fachleute ist erkennbar, dass das Gitter 400 (Fig. 4) alle Wege zurück von den Zuständen 1 bis 5 für 8 Rahmen zeigt. Eine zusätzliche Einschränkung besteht darin, dass die Rahmen zu entweder demselben Zustand wie ein vorhergehender Rahmen oder dem Zustand unmittelbar nach dem Zustand des vorhergehenden Rahmens zugewiesen sein müssen (es können keine Zustände über­ sprungen werden). Dies ist konsistent mit der Zuweisung der Rahmen zu Zuständen in einem Sprachwiedererkennungssystem und es verringert signifikant die benötigte Menge von Rückverfol­ gungsinformation, um einen Datenweg aufzunehmen. Eine solche Einschränkung der möglichen Wege von Zustand zu Zustand inner­ halb des Modells hilft die sequentielle geordnete Natur der akustischen Ereignisse in einer Sprachäußerung besser zu mo­ dellieren. Allgemein sind HMM-Zustandsübergänge darauf be­ schränkt, dass sie eine Links-Rechts-Natur aufweisen, wie in Fig. 4 dargestellt, wobei die gestatteten Wege in einen spe­ ziellen Zustand n von entweder diesem Zustand (einer "Selbst­ schleife" ("self loop") von Sn zu Sn) oder dem vorhergehenden Zustand (ein "Einzelschrittübergang" ("single step transiti­ on") zu Sn von S(n - 1) kommen. Fig. 8 veranschaulicht das Links-Rechts-HMM ohne Sprung. Derartige HMM-Architekturen ha­ ben sich als effektiv für viele Sprachwiedererkennungsaufgaben erwiesen. Die vorliegende Erfindung verwendet diese Kenntnis der eingeschränkten Zustandsübergänge und stellt eine weitere Verbesserung in der Rückverfolgungsmatrix zur Verfügung, wel­ che signifikant die Größe des Speichers reduziert, welcher zur Aufnahme der Rückverfolgungswege benötigt wird.
In dem Gitter 400 aus Fig. 4 ist ein Zustandsübergangstyp mit jedem erlaubten Weg zwischen Zuständen assoziiert. Ein Zu­ standsübergangstyp 1 ist einer Selbstschleife zugewiesen, und ein Zustandsübergangstyp 0 ist einer Zustandsänderung zugewiesen. Ein Sprungzustand kann in diesem Modell repräsentiert werden, er würde jedoch als Zustandsübergangstypindikator zwei oder mehr Bits benötigen, da ein einzelnes Bit nicht zwischen drei oder mehr Übergangstypen unterscheiden kann. In jedem Fall erzeugt die Verwendung eines Zustandsübergangstyps eine beträchtliche Reduktion der Speichergröße, welche zum Spei­ chern der Wege erforderlich ist, da ein Datenfeld aus n-Bit- Symbolen verwendet wird, um Weginformation aufzunehmen, welche unter Verwendung eines Ausrichtalgorithmus berechnet wird, wie zum Beispiel mit dem Viterbi-Ausrichtalgorithmus. Für Fachleu­ te ist erkennbar, dass n klein ist, in der Größenordnung von 1 oder 2 Bits, während 8 bis 16 Bits verwendet werden, um den vorhergehenden Zustand in einem herkömmlichen Rückverfolgungs- Matrixspeicherungsschema zu identifizieren.
Zum Beispiel bestimmt der Viterbi-Algorithmus für den Rahmen 5 (Nummer 5 auf der horizontalen Achse in Fig. 4) den besten Weg zurück von jedem der Zustände (Zustand 1 (S1), Zustand 2 (S2), Zustand 3 (S3), Zustand 4 (S4) und Zustand 5 (S5)) in dem Rah­ men 5 (d. h. den Weg zurück von jedem der Zustände, welcher die beste Treffermarke erzeugt). Insbesondere berücksichtigt der Algorithmus eine Treffermarke bzw. eine Wahrscheinlichkeit für den Weg zurück von dem Punkt A, was die Wahrscheinlichkeit repräsentiert, dass der Weg durch den Zustand 1 geht, für alle der ersten fünf Rahmen. Dies ist erforderlich, da die Bedin­ gung, dass der aktuelle Rahmen entweder derselbe Zustand wie der vorhergehende Rahmen ist oder ein Zustand ist, der höher liegt als der Zustand des vorhergehenden Rahmens.
Der Algorithmus erzeugt für Punkt B die mit dem Rückweg von Punkt B assoziierte Treffermarke, welcher durch Punkt G geht, und die Treffermarke für den Rückweg von Punkt B, welcher durch Punkt H geht. Für Punkt C erzeugt der Viterbi- Algorithmus die mit dem Weg von Punkt C assoziierte Treffer­ marke, welcher durch Punkt H geht und die Treffermarke, welche mit dem Rückweg von Punkt C assoziiert ist, welcher durch Punkt I geht. Für Punkt D berücksichtigt der Viterbi- Algorithmus die Treffermarke, welche mit dem Rückweg von Punkt D assoziiert ist, welcher durch Punkt I geht, und die Treffer­ marke, welche mit dem Rückweg von Punkt D assoziiert ist, wel­ cher durch Punkt J geht. Für Punkt E erzeugt der Viterbi- Algorithmus die Treffermarke, welche mit dem Rückweg von Punkt E assoziiert ist, welcher durch Punkt J geht, und die Treffer­ marke, welche mit dem Rückweg von Punkt E assoziiert ist, wel­ cher durch Punkt K geht. Nach der Berechnung der Treffermarken wird der Wegübergangstyp für jeden Zustand als der Weg in je­ den Zustand des Rahmens fünf gesichert, welcher die höchste Treffermarke erzeugt.
Wenngleich die Erfindung gemäß der veranschaulichten Ausfüh­ rungsform für Links-Rechts-Modelle anwendbar ist, welche eine maximale Anzahl von 2n Übergängen in einen beliebigen Zustand gestatten, können nur zwei Übergangstypen gestattet werden: die Selbstschleife und der Einschrittübergang. Hier ist der Rückverfolgungs-Matrixspeicher ein Datenfeld 500 (Fig. 5) von binären Flags, welche aufnehmen, welcher der beiden möglichen Übergänge genommen wurde. Die beiden möglichen Wege sind 1, wobei eine Selbstschleife repräsentiert wird, und 0, wobei ein Schritt von einem niedrigeren Zustand zu einem höheren Zustand repräsentiert wird. Diese Ausführungsform ist insbesondere vorteilhaft, wenn die Anzahl von möglichen Wegen durch benach­ barte Rahmen begrenzt ist, welche nicht in der Lage sind, ei­ nen Zustand zu überspringen, sowie durch das Erfordernis, dass Rahmen, welche bei einem späteren Zeitpunkt liegen, nicht in einem Zustand sein können, welcher niedriger ist als der Zu­ stand des vorhergehenden Rahmens.
Eine Speicher-Datenfeldanordnung 500 gemäß Fig. 5 repräsen­ tiert den Weg durch die Matrix für acht Rahmen mit fünf mögli­ chen Zuständen. Die Orte mit X repräsentieren eine unbestimmte Situation ("don't care situation"). Für den Rückweg von Rahmen 8, Zustand S5, zeigt die 0 in der oberen rechten Ecke an, dass der überlebende Zustand zu Zustand 5 durch Rahmen 7, Zustand S4, gegangen ist. Die 0 in Zustand 4, Rahmen 7, zeigt an, dass der Weg durch Rahmen 6, Zustand S3, geht. Die 0 in Rahmen 6, Zustand 3, zeigt an, dass der Weg zurück durch Rahmen 5, Zu­ stand S2 geht. Die 1 in Rahmen 5, Zustand S2, zeigt an, dass der Weg durch Rahmen 4, Zustand S2, geht. Die 0 im Rahmen 4, Zustand S2, zeigt an, dass der Weg durch Rahmen 3, Zustand S1, geht. Der Weg geht ebenfalls durch Zustand S1 für die ersten beiden Rahmen. Der überlebende Weg zu dem gesamten Rahmen 8, Zustände S4, S3, S2 und S1, kann in ähnlicher Weise unter Ver­ wendung desselben Verfahrens zurückverfolgt werden. Auf diese Weise ist zu erkennen, dass eine binäre Zahl verwendet werden kann, die in dem RAM des Speichers 110 gespeichert ist, um ü­ berlebende Wege des Ausrichtalgorithmus zu repräsentieren.
Der Betrieb des Speichers von Prozessor 108 im Speicher 110 wird nun mit Bezug auf Fig. 6 beschrieben. Anfänglich werden die Zustände des ersten Rahmens gesetzt, wie es in Block 602 angezeigt ist. Der erste Zustand wird auf 1 gesetzt, und die Zustände 2 bis 5 für den Rahmen 1 werden auf X gesetzt, was eine Unbestimmtheit anzeigt, da sie als nicht mögliche Zustän­ de ignoriert werden können. Der Rahmenzähler wird daraufhin auf 2 gesetzt, und der Zustandszähler auf 1, wie es in Block 604 angezeigt ist.
Für den vorliegenden Rahmen und den vorliegenden Zustand (d. h. einen Punkt des Gitters 400 in Fig. 4), berechnet der Prozes­ sor 108 eine Treffermarke für eine Selbstschleife, welche der Weg zurück von dem Zustand SN in dem vorliegenden Rahmen durch den Zustand SN in dem vorhergehenden Rahmen ist, wie es in Block 606 angezeigt ist. Eine Treffermarke wird ebenfalls für einen Zustandsübergang abgeleitet, welche der Weg zurück vom Zustand SN in dem vorliegenden Rahmen durch den Zustand SN-1 in dem vorhergehenden Rahmen ist, wie es in Block 608 angezeigt ist.
Der Prozessor 108 bestimmt in Schritt 610, ob die Selbst­ schleife oder der Zustandsübergang eine bessere Treffermarke aufweist. Wenn die Selbstschleife eine bessere Treffermarke aufweist, wird ein Zustandsübergangstyp 1 im RAM des Speichers 110 für den vorliegenden Zustand und den vorliegenden Rahmen gespeichert (d. h. den Zustand SN des aktuellen Rahmens), wie es in Block 612 angezeigt ist. Andernfalls wird eine 0 in dem RAM des Speichers 110 für einen Zustandsübergang gespeichert, wie es in Block 614 angezeigt ist.
Der Zustandszähler wird inkrementiert, wie es in Block 616 an­ gezeigt ist. Der Prozessor bestimmt in dem Entscheidungsblock 618, ob der Übergangstyp für jeden Zustand in dem vorliegenden Rahmen berechnet wurde. Wenn der letzte Zustand nicht berech­ net wurde, kehrt der Prozessor zu Schritt 608 zurück, um den Übergangstyp des nächsten Zustands zu berechnen, wobei bei Block 606 begonnen wird.
Wenn in dem Entscheidungsblock 616 bestimmt wird, dass der letzte Zustand des aktuellen Rahmens berücksichtigt wurde, in­ krementiert der Prozessor 110 den Rahmenzähler und setzt den Zustandszähler auf 1 zurück, wie es in Block 620 angezeigt ist. Der Prozessor bestimmt dann, ob der soeben berücksichtig­ te Rahmen der letzte Rahmen war. Wenn nicht, kehrt der Prozes­ sor zu Schritt 606 zurück, um mit dem Zustandszuweisungspro­ zess für den nächsten Rahmen zu beginnen.
Wenn in Block 622 bestimmt wird, dass der soeben berücksich­ tigte Rahmen der letzte Rahmen einer Äußerung war, muss der Prozessor 110 den Weg mit der besten Treffermarke zu einem Zu­ standszuweisungsmodell konvertieren, wenn sich ein Modell ak­ tuell in einem Lernvorgang befindet. Während der Wiedererken­ nung wird nur die Treffermarke verwendet. Die Wegkonvertierung zu einem HMM wird begonnen, indem von dem letzten Zustand, letzter Rahmen, rückwärts gearbeitet wird, wobei der Über­ gangstyp für diesen Zustand ausgegeben wird, wie es in Block 702 angezeigt ist. Der Prozessor 110 bestimmt in dem Entschei­ dungsblock 704, ob der Übergangstyp eine Selbstschleife ist. Wenn er eine Selbstschleife ist, wird der vorhergehende Rah­ menzustand auf denselben Zustand wie der aktuelle Rahmen gesetzt, wie es in Block 708 angezeigt ist. Andernfalls wird der vorhergehende Rahmenzustand auf den nächst niedrigeren Zustand gesetzt, wie es in Block 706 angezeigt ist.
In Schritt 709 kann ein Zähler für eine Zustandsverweilzeit bzw. eine Dauer inkrementiert werden, wenn erwünscht ist, die Verweilzeiten zu verfolgen. Wenn dieser optionale Zähler zur Verfügung gestellt wird, startet der Schritt 706 den Zähler für die Zustandsverweilzeit bei 1, beim ersten Mal wenn in ei­ nen Zustand eingetreten wird, wobei ein Zähler für jeden Zu­ stand zur Verfügung gestellt wird.
In Schritt 710 dekrementiert der Prozessor 108 den Rahmenzäh­ ler. Der vorhergehende, in den Schritten 704, 706, 708 identi­ fizierte Rahmenzustand wird für den vorhergehenden Rahmen ge­ speichert, und der mit diesem Punkt, Rahmen und Zustand asso­ ziierte Zustandsübergangstyp wird ausgegeben, wie es in Block 712 angezeigt ist. Wenn die Rahmenzustandsausgabe nicht der erste Rahmen ist, so kehrt der Prozessor zum Entscheidungs­ block 704 zurück. Wenn in dem Entscheidungsblock 714 bestimmt wird, dass der erste Rahmenzustand gespeichert wurde, ist das Zustandzuweisungsmodell vervollständigt, wie es im Block 716 angezeigt ist. Das Zustandzuweisungsmodell umfasst eine Zuord­ nung der Merkmale der Rahmen zu geeigneten Zuständen. Diese Information kann für einen Lernvorgang gespeichert werden oder zum Aktualisieren eines gespeicherten Modells verwendet wer­ den.
Eine Pseudo-Code-Implementierung wird nun mit Bezug auf ein zweidimensionales Datenfeld L beschrieben, wobei die erste Dimension mit dem Zustand S und die zweite Dimension mit dem Sprachrahmen F indiziert wird, wobei die Größe des Datenfeldes N × T beträgt. Es wird ebenso ein Symbol 1 definiert, um einen Übergang im selben Zustand (eine Selbstschleife) zu repräsen­ tieren, und das Symbol 0 repräsentiert einen Übergang von dem vorhergehenden Zustand. Da es nur zwei mögliche Symbole gibt, können individuelle Bits für deren Speicherung verwendet wer­ den. Wenn eine Viterbi-Ausrichtung ausgeführt wird, kann der folgende Algorithmus verwendet werden, um die Übergänge aufzu­ nehmen:
Für ("For") alle Sprachrahmen (t = 1 bis T)
Für ("For") alle Zustände des HMM (s = 1 bis N)
Wenn ("If") der beste Weg zu Zustand s von Zustand s kommt, dann ("then")
L[s][t] = 1
Sonst ("Else") (bester Weg muss vom vorhergehenden Zustand kommen)
L[s][t] = 0
Ende wenn ("End If")
Ende für ("End for") alle Zustände
Ende für ("End for") alle Sprachrahmen.
Während des Lernvorgangs besteht das Ziel der Ausrichtung all­ gemein darin, die Zustandszuweisung für jeden Rahmen der Äuße­ rung zu finden. Wenn gewünscht ist, die Zuordnung von Zustän­ den in einem Datenfeld A[t] aufzunehmen, so kann diese Zuord­ nung in einfacher Weise von der Übergangsmatrix L wie folgt zurückgewonnen werden:
Initialisieren des Zustandes s auf den letzten Zustand N
Für ("For") alle Sprachrahmen, beim Ende beginnen
(t = T bis 1)
A[t] = s
Wenn ("If") L[s][t] = 0, dann
s = s - 1
Ende wenn ("End If")
Ende für ("End for") alle Sprachrahmen
Wie vorstehend erwähnt, funktioniert der obige Algorithmus am Besten in dem vereinfachten Fall, bei dem Zustandssprünge nicht gestattet sind. Wenn Zustandssprünge gestattet sind, so muss ein anderes Symbol für das Datenfeld L zugefügt werden, wodurch die Speicheranforderungen für dieses Datenfeld und die Anzahl der Berechnungen der Treffermarke von dem Typ 606, 608 vergrößert werden.
Während des Ausrichtprozesses kann es auch nützlich sein, die Anzahl der Rahmen zu verfolgen, in welchen ein spezieller Zu­ stand besetzt wurde. Diese Information kann für die Zuweisung von Zustandsdauerstrafen ("state duration penalties") verwen­ det werden, wie es in einer Patentanmeldung offenbart ist, welche den Titel METHOD OF SELECTIVELY ASSIGNING A PENALTY TO A PROBABILITY ASSOCIATED WITH A VOICE RECOGNITION SYSTEM trägt, die im Namen von Daniel Poppert hinterlegt wurde, wobei deren Offenbarung in die vorliegende Offenbarung durch Bezug­ nahme einbezogen wird. Diese Verweilzeitinformation wird voll­ ständig in dem Datenfeld L repräsentiert. Die Anzahl der Rah­ men, in welchen der Zustand s zur Zeit t besetzt wurde, wel­ cher D[s][t] genannt wird, kann wie folgt ermittelt werden:
Initialisieren von D[s][t] auf 1
Während ("While") (L[s][t - D[s][t]] = 1)
Inkrementiere D[s][t]
Ende während ("End While")
Das offenbarte Wiedererkennungssystem reduziert die benötigte Speichergröße ("memory footprint") der Rückverfolgungsinforma­ tion, wobei ein einfaches Datenfeld von einzelnen Bitflags verwendet wird. Es zielt hauptsächlich auf den einfachen Fall eines HMM ab, welches keine Zustandssprünge gestattet, wie es in Fig. 4 veranschaulicht ist, wenngleich es auch für den all­ gemeineren Fall auf Kosten eines vergrößerten Speichers erwei­ tert werden kann.
Das Flussdiagramm in Fig. 6 kann zur Aufnahme eines Zustands­ sprungs verändert werden, indem die Fig. 9 die Blöcke 608 bis 614 ersetzt. Insbesondere wird eine Sprungtreffermarke Pskip in Block 609 berechnet. Wenn bestimmt wird, dass eine Selbst­ schleife die beste Treffermarke in Block 610 aufweist, wird eine 11 (zwei binäre Bits) in RAM 208 gespeichert, wie es in Schritt 614 angezeigt ist. Nach einer "Nein"-Entscheidung in 610 bestimmt der Prozessor 108, ob PD besser ist als Pskip. Wenn bestimmt wird, dass ein einzelner Schritt mit der besten Tref­ fermarke assoziiert ist, wird eine 00 (zwei binäre Bits) in dem RAM 208 gespeichert, wie es in Schritt 614 angezeigt ist. Wenn bestimmt wird, dass der Zustandssprung die beste Treffer­ marke aufweist, wird eine 10 in dem RAM gespeichert, wie es in Schritt 613 angezeigt ist. Fig. 7 kann verändert werden, um einen Sprung aufzunehmen, wobei die Schritte 705 und 707 addiert werden sowie der Veränderungsschritt 704, wie es in Fig. 10 veranschaulicht ist. Insbesondere wird in Schritt 704 nach einem Übergangstyp 11 gesucht, welcher eine Selbstschleife ist. Wenn der Übergangstyp keine Selbstschleife ist, führt der Prozessor eine Prüfung durch, um zu sehen, ob es sich um eine 00 handelt, was einen Einzelzustandsschritt in Schritt 705 an­ zeigt. Wenn nicht, identifiziert der Prozessor 108 den vorher­ gehenden Rahmen als zwei Zustände niedriger liegend als der aktuelle Rahmen, wie es in Schritt 707 angezeigt ist. Andern­ falls wird von dem Prozessor eine Behandlung als Einzelschritt durchgeführt.
Für Fachleute ist erkennbar, dass zusätzliche Zustandssprünge durch ähnliche Erweiterungen des Prozesses aufgenommen werden können. Die aktuelle Anzahl von Bits, welche für jeden Zu­ stand/Rahmen gespeichert werden, hängt von der Anzahl der er­ laubten Sprünge ab.
Wenngleich die Erfindung durch die obige Beschreibung und die Zeichnungen beschrieben und veranschaulicht wurde, ist dies so zu verstehen, dass diese Beschreibung nur beispielhaft ist und dass zahlreiche Änderungen und Modifikationen von Fachleuten ausgeführt werden können, ohne dass der Erfindungsgedanke und der Umfang der Erfindung verlassen würden. Wenngleich die vor­ liegende Erfindung insbesondere ihre Anwendung in tragbaren drahtlosen Vorrichtungen, wie zum Beispiel zellulären Funkte­ lefonen ("Handys") findet, kann die Erfindung ebenfalls in be­ liebigen Vorrichtungen verwendet werden, welche eine Sprach­ wiedererkennung verwenden, einschließlich Rufanlagen ("pa­ gers"), elektronischen Planern, Computern und Telefonausstattungen. Die Erfindung soll nur durch die nachfolgenden Ansprü­ che begrenzt werden.

Claims (10)

1. Sprachwiedererkennungsverfahren, gekennzeichnet durch die Schritte:
  • - Empfangen einer Sprachäußerung;
  • - Erzeugen eines Signals, das die Sprachäußerung repräsen­ tiert;
  • - Teilen des Signals, welches die Äußerung repräsentiert, in Rahmen;
  • - Zuweisen von Rahmen zu Zuständen unter Verwendung eines Ausrichtalgorithmus; und
  • - Speichern eines Weges, welcher Zuweisungen von Rahmen zu Zuständen repräsentiert, indem ein Zustandsübergangstyp in einem Speicher für jeden Zustand gespeichert wird, welcher einen Zustandsübergang zu jedem Zustand identifi­ ziert.
2. Verfahren nach Anspruch 1, bei dem der Speicher für jeden Zustand den besten Weg zu diesem Zustand speichert.
3. Verfahren nach Anspruch 1 oder 2, bei dem der Zustandsüber­ gangstyp durch ein binäres Signal repräsentiert ist.
4. Verfahren nach Anspruch 3, bei dem das binäre Signal ein einzelnes logisches Bit ist.
5. Verfahren nach einem der Ansprüche 1 bis 3, bei dem der Zu­ standsübergangstyp durch ein Signal mit mehreren Bits rep­ räsentiert ist.
6. Verfahren nach einem der vorangehenden Ansprüche, welches weiterhin den Schritt aufweist:
Erzeugen einer Aufnahme einer Rahmen-zu-Zustand- Zuweisung, wobei der Zustandsübergangstyp verwendet wird, um eine Zustandszuweisungsaufnahme zu erzeugen.
7. Verfahren nach Anspruch 6, bei dem die Rahmen-zu-Zustand- Zuweisung erzeugt wird, indem bei dem letzten Rahmen begon­ nen wird und ein Rückweg unter Verwendung des Zustandsüber­ gangstyps verfolgt wird.
8. Verfahren nach Anspruch 6, welches weiterhin den Schritt aufweist:
Wiedergewinnen der Zustandsverweilzeit.
9. Verfahren nach Anspruch 8, bei dem die Zustandsverweilzeit aus der Zustandsübergangsinformation abgeleitet wird.
10. Verfahren nach Anspruch 8, bei dem die Zustandsverweilzeit durch Zählen der Anzahl von Selbstschleifen für jeden Zu­ stand abgeleitet wird, während die Matrix rückverfolgt wird, um die Zustandszuweisungsaufnahme zurückzugewinnen.
DE10006937A 1999-02-23 2000-02-16 Verfahren für einen Rückverfolgungsmatrixspeicher in einem Sprachwiedererkennungssystem Expired - Lifetime DE10006937C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US25755299A 1999-02-23 1999-02-23

Publications (2)

Publication Number Publication Date
DE10006937A1 DE10006937A1 (de) 2000-10-12
DE10006937C2 true DE10006937C2 (de) 2003-02-13

Family

ID=22976749

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10006937A Expired - Lifetime DE10006937C2 (de) 1999-02-23 2000-02-16 Verfahren für einen Rückverfolgungsmatrixspeicher in einem Sprachwiedererkennungssystem

Country Status (6)

Country Link
JP (1) JP2000242293A (de)
KR (1) KR100324453B1 (de)
CN (1) CN1149532C (de)
BR (1) BR0000894A (de)
DE (1) DE10006937C2 (de)
GB (1) GB2347254B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001255338A1 (en) * 2000-05-04 2001-11-12 Motorola, Inc. Method of traceback matrix storage in a speech recognition system
JP4048492B2 (ja) * 2003-07-03 2008-02-20 ソニー株式会社 音声対話装置及び方法並びにロボット装置
EP2306457B1 (de) * 2009-08-24 2016-10-12 Oticon A/S Automatische Tonerkennung basierend auf binären Zeit-Frequenz-Einheiten
WO2011152575A1 (ko) * 2010-05-31 2011-12-08 주식회사 클루소프트 발음기관 애니메이션 생성 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0225735A1 (de) * 1985-11-12 1987-06-16 National Research Development Corporation Verfahren und Vorrichtung zur Transitionsanalyse in einem endlichen Automaten
DE3215868C2 (de) * 1982-04-29 1990-10-25 Philips Patentverwaltung Gmbh, 2000 Hamburg, De

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2209418B (en) * 1985-11-12 1989-10-11 Nat Res Dev Apparatus amd methods for analysing transitions in finite state machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3215868C2 (de) * 1982-04-29 1990-10-25 Philips Patentverwaltung Gmbh, 2000 Hamburg, De
EP0225735A1 (de) * 1985-11-12 1987-06-16 National Research Development Corporation Verfahren und Vorrichtung zur Transitionsanalyse in einem endlichen Automaten

Also Published As

Publication number Publication date
BR0000894A (pt) 2000-09-12
GB2347254B (en) 2001-08-22
CN1264890A (zh) 2000-08-30
JP2000242293A (ja) 2000-09-08
CN1149532C (zh) 2004-05-12
KR100324453B1 (ko) 2002-02-27
DE10006937A1 (de) 2000-10-12
GB2347254A (en) 2000-08-30
KR20000071365A (ko) 2000-11-25
GB0004281D0 (en) 2000-04-12

Similar Documents

Publication Publication Date Title
DE4397100C2 (de) Verfahren zum Erkennen von Sprachsignalen und Spracherkennungssystem mit rekursiver Grammatik mit endlicher Zustandsanzahl
DE3236834C2 (de) Verfahren und Gerät zur Sprachanalyse
DE60222249T2 (de) Spracherkennungsystem mittels impliziter sprecheradaption
DE60222093T2 (de) Verfahren, modul, vorrichtung und server zur spracherkennung
DE60126722T2 (de) Aussprache von neuen Wörtern zur Sprachverarbeitung
DE4397106B4 (de) Schnelles auf einer Baumstruktur basierendes Verfahren zur Vektorquantisierung
DE3236832C2 (de) Verfahren und Gerät zur Sprachanalyse
DE69908047T2 (de) Verfahren und System zur automatischen Bestimmung von phonetischen Transkriptionen in Verbindung mit buchstabierten Wörtern
EP1466317B1 (de) Betriebsverfahren eines automatischen spracherkenners zur sprecherunabhängigen spracherkennung von worten aus verschiedenen sprachen und automatischer spracherkenner
DE69726499T2 (de) Verfahren und Vorrichtung zur Kodierung von Aussprache-Prefix-Bäumen
DE60004420T2 (de) Erkennung von Bereichen überlappender Elemente für ein konkatenatives Sprachsynthesesystem
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
DE10054583C2 (de) Verfahren und Vorrichtung zum Aufzeichnen, Suchen und Wiedergeben von Notizen
DE602005000603T2 (de) Verfahren zur Bestimmung von Wahrscheinlichkeitsparametern für ein veränderliches Zustandsraummodell
DE60109999T2 (de) Spracherkennung mittels lexikalischer Bäumen
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung
DE69738116T2 (de) Lokalisierung eines Musters in einem Signal
DE3237613A1 (de) Spracherkennungs-verfahren und -vorrichtung fuer kontinuierliche sprache
DE102004049477A1 (de) Verfahren und Vorrichtung zur harmonischen Aufbereitung einer Melodielinie
EP1058235B1 (de) Wiedergabeverfahren für sprachgesteuerte Systeme mit text-basierter Sprachsynthese
DE10006930A1 (de) System und Verfahren zur Spracherkennung
EP1159733B1 (de) Verfahren und anordnung zur bestimmung eines repräsentativen lautes
DE69628603T2 (de) System zur Musteranpassung mittels einer Baumstruktur
DE10006937C2 (de) Verfahren für einen Rückverfolgungsmatrixspeicher in einem Sprachwiedererkennungssystem
DE69233622T2 (de) Vorrichtung zur Erzeugung von Ansagen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: SCHUMACHER & WILLSAU, PATENTANWALTSSOZIETAET, 8033

8128 New person/name/address of the agent

Representative=s name: SCHUMACHER & WILLSAU, PATENTANWALTSSOZIETAET, 8033

8304 Grant after examination procedure
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: MOTOROLA MOBILITY, INC. ( N.D. GES. D. STAATES, US

R081 Change of applicant/patentee

Owner name: MOTOROLA MOBILITY, INC. ( N.D. GES. D. STAATES, US

Free format text: FORMER OWNER: MOTOROLA, INC., SCHAUMBURG, ILL., US

Effective date: 20110324

Owner name: MOTOROLA MOBILITY, INC. ( N.D. GES. D. STAATES, US

Free format text: FORMER OWNER: MOTOROLA, INC., SCHAUMBURG, US

Effective date: 20110324

Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, MOUNTAIN VIEW, US

Free format text: FORMER OWNER: MOTOROLA, INC., SCHAUMBURG, ILL., US

Effective date: 20110324

R081 Change of applicant/patentee

Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, MOUNTAIN VIEW, US

Free format text: FORMER OWNER: MOTOROLA MOBILITY, INC. ( N.D. GES. D. STAATES DELAWARE ), LIBERTYVILLE, LLL., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R071 Expiry of right