DE60225536T2 - Verfahren und Vorrichtung zur Spracherkennung - Google Patents

Verfahren und Vorrichtung zur Spracherkennung Download PDF

Info

Publication number
DE60225536T2
DE60225536T2 DE60225536T DE60225536T DE60225536T2 DE 60225536 T2 DE60225536 T2 DE 60225536T2 DE 60225536 T DE60225536 T DE 60225536T DE 60225536 T DE60225536 T DE 60225536T DE 60225536 T2 DE60225536 T2 DE 60225536T2
Authority
DE
Germany
Prior art keywords
probability
word
vectors
vector
model
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
DE60225536T
Other languages
English (en)
Other versions
DE60225536D1 (de
Inventor
Dietmar Ruwisch
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.)
Xylon LLC
Original Assignee
Intellectual Ventures Fund 21 LLC
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 Intellectual Ventures Fund 21 LLC filed Critical Intellectual Ventures Fund 21 LLC
Application granted granted Critical
Publication of DE60225536D1 publication Critical patent/DE60225536D1/de
Publication of DE60225536T2 publication Critical patent/DE60225536T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/022Demisyllables, biphones or triphones being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/027Syllables being the recognition units

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)
  • Image Analysis (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Spracherkennung und insbesondere ein Spracherkennungsverfahren und -system, wobei eine Passwahrscheinlichkeit von Lauten und Wortmodellen durch einen Verzerrungsmechanismus maximiert wird.
  • 2. Beschreibung des zugehörigen Standes der Technik
  • In den letzten Jahren hat die Technologie einer automatischen Spracherkennung (ASR) aufgrund der sich erhöhenden Leistungsfähigkeit von Computern und insbesondere von digitalen Signalverarbeitungssystemen und Massenspeichern sowie der Entwicklung von hoch entwickelten Algorithmen einen merklichen Fortschritt gemacht. Die meisten ASR-Systeme sind für Büroanwendungen entwickelt, die auf einem PC in einer ruhigen Umgebung laufen. Für "Echtwelt"-Anwendungen sind diese Systeme oft unzureichend, da es in einer typischen eingebetteten Steuerungsanwendung nicht genügend Rechenleistung und Speicher gibt, die verfügbar sind. Weiterhin leiden solche Anwendungen unter Rauschen und akustischen Echos, die schwerwiegende Probleme bei einer eingebetteten ASR sind.
  • Gegenwärtige Spracherkennungssysteme arbeiten oft durch Anpassen einer phonetischen Beschreibung oder eines phonetischen Modells eines Worts bezüglich ihres Vokabulars gegenüber einer Darstellung des akustischen Signals, das durch die Äußerung des zu erkennenden Worts erzeugt ist. In vielen Systemen wird das durch das Sprechen des zu erkennenden Worts erzeugte akustische Signal durch einen A/D-Wandler in eine digitale Darstellung der aufeinander folgenden Amplituden des durch die Sprache erzeugten Audiosignals umgewandelt. Dann wird dieses Signal in ein Frequenzbereichssignal umgewandelt, das auch das Kurzzeitspektrum des Signal genannt wird. Demgemäß wird das Eingangssignal in eine Sequenz von Spektren transformiert, von welchen jedes die Amplitude des Sprachsignals in jedem einer Vielzahl von Frequenzbändern über einem gegebenen Zeitframe angibt. Die Sequenz von Spektren wird dann in eine Sequenz von Merkmalsvektoren durch wohlbekannte Verfahren, wie z. B. eine Mel-Frequenz-Cepstral-Codierung (MFCC) transformiert. Solche Systeme arbeiten gemeinhin durch Vergleichen einer Sequenz von Merkmalsvektoren, die durch die zu erkennende Äußerung erzeugt sind, mit einer Sequenz von Frames, die in dem akustischen Modell von jedem Wort enthalten sind, bezüglich ihres Vokabulars.
  • In US 4,903,305 ist ein Verfahren beschrieben, wobei Wortmodelle aus Merkmalsvektoren durch eine Gruppe von Lautsprecheräußerungen erzeugt werden. Die Merkmalsvektoren werden in akustische Untermodelle gruppiert und dann werden die Modelle mit zu erkennenden Äußerungen während eines Betriebs verglichen. Das Verfahren ermöglicht eine Erkennung von Worten, die durch einen gegebenen Anwender gesprochen sind, mit einer relativen Zuverlässigkeit durch Berechnen einer Abweichungstendenz für jede Gruppe bzw. jedes Cluster. Das Verfahren enthält weiterhin die Verwendung einer dynamischen Programmierung (DP). DP führt ein "Verzerren" (warping) von Äußerungen mit Einzelwortmodellen durch, weshalb das System mit variierenden Artikulationsgeschwindigkeiten von unterschiedlichen Anwendern fertig werden kann. Ein solches Verfahren führt zu einer guten Leistungsfähigkeit, aber es ist ziemlich speicherverbrauchend während eines Betriebs und benötigt eine gute Kenntnis der Sprache, um geeignete Modelle auszubilden.
  • Die weiteste Verbreitung in modernen Sprachmaschinen haben statistische Modelle vom versteckten Markov-Typ (Hidden Markov Typ HMMs). Nicht nur das variierende Klingen von Äußerungen wird durch Auftrittswahrscheinlichkeiten dargestellt, sondern auch der Phonemfortschritt bezüglich einer Zeit wird mit der Hilfe eines statistischen Prozesses, nämlich des Markov-Prozesses, modelliert. Jedoch ist menschliche Sprache kein Markov-Prozess und somit zeigt das Modell vom versteckten Markov-Typ beachtliche Nachteile. Nichtsdestoweniger wird dieses Modell aufgrund seiner einfachen Handhabung gemeinhin verwendet: ein Spracherkennungssystem mit akzeptierbarer Leistungsfähigkeit kann ohne irgendein Wissen über eine Sprache nur durch Verwenden einer großen Menge an Daten, d. h. aufgezeichneten Äußerungen der zu erkennenden Worte, aufgebaut werden. Die hohe Forderung nach Daten hat ihre Ursache in der schlechten Konvergenz von HMMs; und sie ist einer ihrer größten Nachteile.
  • Es ist daher ein Ziel, ein effizienteres Mittel zum Darstellen der akustischen Modelle abzuleiten. Gegenwärtige Spracherkennungsverfahren stellen auch ein Codebuch zur Verfügung, in welchem ein Merkmalsvektorraum von zu erkennenden Äußerungen gruppiert ist, und repräsentative Vektoren von jeweiligen Gruppen bzw. Clustern in einer suchbaren Form gespeichert werden. Ein Verwenden von solchen Codebuchverfahren für eine Datenreduktion führt zu einer Verbesserung dieses Problems, überwindet aber die Hauptnachteile von HMMs nicht. Einige Prinzipien von HMMs und eine allgemeine Merkmalsextraktion unter Verwendung von spektralen Darstellungen zusammen mit ihren zeitlichen Ableitungen sind in US 5,943,647 beschrieben. Weitere Details über HMMs sowie Codebuchs und eine Vektorquantisierung können in US 6,061,652 gefunden werden.
  • Aufgrund begrenzter Betriebsmittel in eingebetteten Steuerungsplattformen wie Mikrosteuerungen und Digitalsignalprozessoren (DSPs) verwenden Spracherkennungsmaschinen oft nur eine ziemlich einfache Merkmalsextraktion ohne eine spektrale Darstellung von zu erkennenden Sprachäußerungen. Ebenso sind eine Wortmodellierung und ein Mustervergleich oft sehr einfach in diesen Anwendungen, wie es der WO 84/04620 entnommen werden kann. Solche Anwendungen zeigen typischerweise nur eine begrenzte Leistungsfähigkeit und nicht zufriedenstellende Erkennungsergebnisse. Ein Beispiel eines solchen Systems unter Verwendung einer mehrschichtigen Wahrnehmungseinheit kann in US 6,021,387 gefunden werden.
  • Es ist ein Nachteil von allen beschriebenen Verfahren und Systemen, dass sie eine gesprochene Eingabe, typischerweise von vielen Sprechern, benötigen, um Einzelwortmodelle zu bilden oder um HMMs auszubilden. Bei einer eingebetteten Steuerungsanwendung ist das Vokabular begrenzt, und zwar nicht nur aufgrund begrenzter Betriebsmittel sondern auch aufgrund der Art der Anwendung. Somit gibt es eine Notwendigkeit zum Definieren des Vokabulars "im Feld". Das einfachste Verfahren besteht im Auswählen der erwünschten Befehlsworte aus einer größeren Datenbank. Wenn jedoch das erwünschte Wort in der Datenbank nicht gefunden werden kann, ist es unmöglich, es in der Anwendung zu verwenden. Eine einfache Art mit diesem Problem fertig zu werden, basiert auf Unterwortmodellen, z. B. Silben oder Phonemen, die in der Datenbank in einer phonetischen sowie einer orthografischen Form dargestellt sind. Ein solches System ist in EP 0 564 166 gezeigt. Während eines Betriebs wird eine Anwenderäußerung in eine orthografische Untermodell-Transkriptionskette umgesetzt und dann wird die Kette mit den Befehlsworten verglichen, die als Transkriptionsketten gespeichert sind. Ein solches Verfahren könnte in einem direkten Sinn "Sprache zu Text" genannt werden, jedoch ergibt es keine guten Erkennungsergebnisse, weil es eine zu große Vereinfachung gibt.
  • Eine überlegenere Lösung für das Problem besteht im Aufbauen von Einzelwortmodellen oder sogar HMMs mit der Hilfe eines Sprachsynthesizers, der eine phonetische oder orthografische Transkription in phonetische Sequenzen transformiert. Ein solches System, das HMMs mit der Hilfe von phonetischen Transkriptionen aufbaut, ist in EP 0562138 mit dem Nachteil beschrieben, dass noch eine gesprochene Äußerung des Anwenders für einen HMM-Aufbau nötig ist. Dieses Problem erscheint in DE 19751123 nicht, die einem ähnlichen Ansatz folgt, aber beide letztere Verfahren stehen dem Problem gegenüber, dass einzelne Worte durch eine Art von Synthesizer erzeugt werden können, aber HMMs aufgrund einer schlechten Konvergenz eine große Gruppe von Äußerungen des erwünschten Worts in der "Trainingsphase" benötigen.
  • 6 zeigt ein Beispiel eines Spracherkennungssystems nach dem Stand der Technik mit einem Merkmalsgenerator 12, der ein Sprach-Eingangssignal x(t) empfängt. Der Merkmalsgenerator 12 erzeugt Merkmalsvektoren U(T) aus dem Sprach-Eingangssignal mittels einer Transformation g. In einem nachfolgenden Merkmalskomparator 13 wird der Merkmalsvektor U(T) mit Codebuchvektoren aus einem Codebuch V verglichen. Eine Sequenz von Indizes von am besten passenden Codebuchvektoren V1(T), V2(T), etc. (z. B. ist V1(T) der am besten passende und ist V2(T) der am zweitbesten passende Codebuchvektor) zusammen mit jeweiligen Abständen a1, a2, etc. von diesen passenden Codebuchvektoren werden dann zu einer Entscheidungseinheit 14 kommuniziert, wo die am besten passenden Codebuchvektoren mit Einzelwortmodellen 15 verglichen werden, die die Worte darstellen, die durch das System erkannt werden können. Ein Diskriminator 16 bestimmt, welches Wortmodell am besten zu der Sequenz von am besten passenden Codebuchvektoren passt, welches dann als das Erkennungsergebnis präsentiert wird.
  • In AFIFI M ET AL: "NONLINEAR TIME ALIGNMENT IN STOCHASTIC TRAJECTORY MODELS FOR SPEECH RECOGNITION" ICSLP 94: 1994 INTERNATIONAL CONFERENCE ON SPOKEN LANGUAGE PROCESSING (ICSLP), vol. 1, 18. September 1994 (1994-09-18)–22. September 1994 (1994-09-22), Seiten 291–293, XP000855244 YOKOHAMA: ASJ, JP ist eine nichtlineare Zeitausrichtungstechnik in der Grundstruktur von stochastischen Trajektoriemodellen (STM) präsentiert, um Schätzungen für eine maximale Wahrscheinlichkeit von Modellparametern zu erhalten und wie diese Technik während einer Erkennung mit einem geringfügigen zusätzlichen Berechnungszusatz zu verwenden ist. Ein nichtlineares Verzerren als Nachverarbeitung während eines Trainings wird ausgeübt, was eine Art von Glättung an den schließlichen Trajektorien nach einem Bilden von ihrer Struktur zur Verfügung stellt und auch ein Testen von verschiedenen Ausmaßen einer Nichtlinearität beginnend von der ursprünglichen Struktur ermöglicht.
  • In KIMURA T ET AL: "COMPACT-SIZE SPEAKER INDEPENDENT SPEECH RECOGNIZER FOR LARGE VOCABULARY USING COMPACTS METHOD" ICSLP 94: 1994 INTERNATIONAL CONFERENCE ON SPOKEN LANGUAGE PROCESSING (ICSLP), vol. 3, 18. September 1994 (1994-09-18)–22. September 1994 (1994-09-22), Seiten 1379–1382, XP00085519 YOKOHAMA ASJ, JP ist die Entwicklung eines sprecherunabhängigen Spracherkenners für ein großes Vokabular mit einer Kombination aus dem segmentenbasierenden Parameter und dem statistikbasierenden Abstandsmaß offenbart. Um einen klein bemaßten Erkenner zu realisieren, ist eine zweistufige Anpassungsprozedur beschrieben. In der ersten Stufe findet eine grobe, aber äußerst schnelle Anpassung für alle Schablonen eine kleine Anzahl von geeigneten Kandidaten. In der zweiten Stufe wird eine präzise Anpassung für die in der ersten Stufe erhaltenen Kandidaten durchgeführt und dann wird das schließliche Erkennungsergebnis bestimmt.
  • In EP-A-1 207 518 A2 ist ein Spracherkennungssystem mit dynamischer Programmierung zum Decodieren von einer oder mehreren Sequenzen von Unterworteinheiten in eines oder mehrere repräsentative Worte offenbart. Das System verwendet eine Technik einer dynamischen Programmierung, um die Sequenz von Unterworteinheiten mit einer Anzahl von Wörterbuch-Unterworteinheitssequenzen auszurichten, die Wörterbuchwörter darstellen, um das wahrschein lichste Wort oder die wahrscheinlichsten Wörter entsprechend der gesprochenen Eingabe zu identifizieren.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung überwindet die vorangehenden und andere Probleme mit einer sprecherunabhängigen Spracherkennungstechnik, wobei Wahrscheinlichkeiten für Sprachäußerungen gemäß Merkmalen bestimmt werden, die zu diesen Sprachäußerungen gehören.
  • Gemäß der vorliegenden Erfindung wird ein Verfahren für eine Spracherkennung zur Verfügung gestellt, wie es durch den unabhängigen Anspruch 1 definiert ist, ein Computerprogrammprodukt, wie es durch den Anspruch 18 definiert ist, und ein Spracherkennungssystem, wie es durch den Anspruch 19 definiert ist.
  • Verfahren, Vorrichtungen, Systeme und Artikel einer Herstellung gemäß der vorliegenden Erfindung verwenden einen Verzerrungsmechanismus, um eine Passwahrscheinlichkeit von Äußerungen und Wortmodellen zu maximieren. Wortmodelle werden in Wortuntermodelle aufgeteilt und jedes Wortuntermodell ist durch seine Position im Wortmodell charakterisiert. Äußerungen von Sprachsignalen werden durch Sequenzen von Wahrscheinlichkeitsvektoren mit Komponenten dargestellt, die die Wahrscheinlichkeit für eine Äußerung eines jeweiligen Wortuntermodells sind. Der Verzerrungsmechanismus kann lokal nur zwischen benachbarten Wortuntermodellen und jeweiligen Sequenzen von Wahrscheinlichkeitsvektoren oder global für ein gesamtes Wort ausgeführt werden. Beim Verzerrungsbetrieb wird die Wahrscheinlichkeit, dass ein Wort aufgetreten ist, durch aufeinander folgendes Verzerren der Frequenz von Wahrscheinlichkeitsvektoren entsprechend einem eingegebenen Sprachsignal zu Sequenzen von zu erkennenden Wortmodellen maximiert.
  • Ein Wortmodell ist als phonetische Darstellung eines zu erkennenden Worts zu verstehen. Obwohl Wortmodelle allgemein als in Wortuntermodelle aufgeteilt definiert sind, kann ein bestimmtes Wortmodell nur aus einem einzigen Wortuntermodell bestehen.
  • Gemäß Verfahren gemäß der vorliegenden Erfindung wird ein Spracherkennungsverfahren zur Verfügung gestellt, wobei phonetische Wortmodelle mit Untermodellen verwendet werden, um zu erkennende Worte darzustellen, und wobei Merkmalsvektoren aus Frames eines eingegebenen Sprachsignals erzeugt werden. Ein passender Wahrscheinlichkeitsvektor wird für jeden der Merkmalsvektoren erzeugt, wobei jede Komponente des Wahrscheinlichkeitsvektors die Wahrscheinlichkeit für eine Äußerung eines jeweiligen Wortuntermodells ist, und ein Erkennungsergebnis wird aus einem am besten passenden Wortmodell durch Verzerren einer Sequenz von passenden Wahrscheinlichkeitsvektoren zu Sequenzen von Untermodellen bestimmt, die zu erkennende Wortmodelle bilden.
  • Gemäß Verfahren gemäß der vorliegenden Erfindung wird ein Verfahren zum Ableiten von phonetischen Wortmodellen zur Verwendung in einer Spracherkennung zur Verfügung gestellt, wobei für jedes einer Vielzahl von Worte ein Wortmodell mit einer temporären bzw. zeitlichen Sequenz von Wortuntermodellen bestimmt wird. Eine Sequenz von Merkmalsvektoren für jede von gesprochenen Äußerungen wird erzeugt, wenigstens ein passender Codebuchvektor für jeden Merkmalsvektor wird ausgewählt und eine Gruppe von Wahrscheinlichkeitsvektoren wird erzeugt, wobei jeder Wahrscheinlichkeitsvektor mit einem Codebuchvektor verbunden ist bzw. zu diesem gehört und die Komponenten der Wahrscheinlichkeitsvektoren die Wahrscheinlichkeit für die Äußerung von einem der Wortuntermodelle sind, wenn der zugehörige Codebuchvektor der passende Codebuchvektor ist.
  • Gemäß Systemen gemäß der vorliegenden Erfindung wird ein Spracherkennungssystem zur Verfügung gestellt.
  • Die Erfindung stellt auch ein Computerprogrammprodukt mit einem Computerprogrammcode zur Verfügung, der dann, wenn er auf einem Computer ausgeführt wird, ermöglicht, dass der Computer das Spracherkennungsverfahren gemäß der vorliegenden Erfindung ausführt.
  • Ein Spracherkennungssystem gemäß der vorliegenden Erfindung kann durch ein digitales Signalverarbeitungssystem realisiert werden, das die Signalverarbeitung auf eine Programm- oder eine Zustandsmaschinen-gesteuerte Weise durchführt.
  • Gemäß Verfahren, Systemen und Artikeln einer Herstellung gemäß der vorliegenden Erfindung werden die Spracherkennungstechniken zum Erkennen von akustisch gesendeten bzw. übertragenen Sprachsignalen verwendet. Diese Sprachsignale kommen von einem nahen Endbenutzer einer Vorrichtung, die jeweils das Spracherkennungsverfahren ausführt oder das Spracherkennungssystem enthält, und die Spracherkennung kann zum Steuern dieser Vorrichtung verwendet werden. Das Spracherkennungsverfahren oder das Spracherkennungssystem kann insbesondere zum Steuern von Funktionen einer Vorrichtung in einer Situation verwendet werden, in welcher eine begrenzte Verarbeitungsleistung verfügbar ist. Insbesondere können ein Spracherkennungssystem und -verfahren zum Steuern von Vorrichtungen von z. B. einem Motorfahrzeug, wie z. B. einem Fensterheber, einem Funkempfänger, einem Navigationssystem, einem Funktelefon oder sogar zum Steuern des Motorfahrzeugs selbst verwendet werden.
  • Die oben angegebenen und andere Merkmale, Einrichtungen und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung zusammen mit den beigefügten Zeichnungen offensichtlich werden.
  • Andere Systeme, Verfahren, Merkmale und Vorteile der Erfindung werden einem Fachmann auf dem Gebiet bei einer Untersuchung der folgenden Figuren und der detaillierten Beschreibung offensichtlich sein oder werden. Es ist beabsichtigt, dass alle solchen zusätzlichen Systeme, Verfahren, Merkmale und Vorteile innerhalb dieser Beschreibung enthalten sind, innerhalb des Schutzumfangs der Erfindung sind und durch die beigefügten Zeichnungen geschützt sind.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Zeichnungen, die in dieser Beschreibung enthalten sind und einen Teil von ihr bilden, stellen eine Implementierung der Erfindung dar und dienen zusammen mit der Beschreibung zum Erklären der Vorteile und Prinzipien der Erfindung. In den Zeichnungen gilt:
  • 1 zeigt ein Blockdiagramm eines Spracherkennungssystems gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 zeigt ein Blockdiagramm, das ein digitales Signalverarbeitungssystem gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt;
  • 3 zeigt ein Ablaufdiagramm, das ein Verfahren gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt;
  • 4 zeigt ein Ablaufdiagramm, das einen Betrieb darstellt, der einen passenden Wahrscheinlichkeitsvektor gemäß einem Verfahren gemäß der vorliegenden Erfindung erzeugt;
  • 5 zeigt eine Tabelle 1, die ein Beispiel einer Codebuchvektortabelle mit einer zugehörigen Wahrscheinlichkeitsvektortabelle zeigt, und eine Tabelle 2, die ein Beispiel einer Wortuntermodell-Tabelle mit einer erwarteten Dauer und einer Varianz von Untermodellen in der Tabelle zeigt;
  • 6 zeigt ein Blockdiagramm eines Spracherkennungssystems nach dem Stand der Technik;
  • 7 zeigt ein Blockdiagramm eines Spracherkennungssystems gemäß Verfahren, Systemen und Artikeln einer Herstellung gemäß der vorliegenden Erfindung;
  • 8 zeigt ein Schema eines Verzerrers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 9 zeigt ein Blockdiagramm eines Diskriminators gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 10 zeigt ein Blockdiagramm, das ein System und ein Verfahren gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt;
  • 11 zeigt ein Ablaufdiagramm, das eine Verzerrungsoperation mit einer Sequenz von L(T) und einer Sequenz von W(y) gemäß einem Verfahren gemäß der vorliegenden Erfindung darstellt;
  • 12 zeigt ein Ablaufdiagramm, das eine Verzerrungsoperation mit Sequenzen von L(T) und Sequenzen von W(y) gemäß einem Verfahren gemäß der vorliegenden Erfindung darstellt;
  • 13 zeigt ein Ablaufdiagramm, das eine Verzerrungsoperation gemäß einem Verfahren gemäß der vorliegenden Erfindung detaillierter darstellt;
  • 14 zeigt eine Tabelle 3, die ein numerisches Beispiel einer Verzerrungsoperation gemäß der Verzerrungsoperation in 13 zeigt;
  • 15 zeigt ein Ablaufdiagramm, das ein Verfahren gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt;
  • 16 zeigt ein Ablaufschema, das ein Beispiel einer Operation eines Ausführungsbeispiels gemäß 15 darstellt.
  • BESCHREIBUNGEN DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Die folgenden Symbole werden beim Beschreiben der bevorzugten Ausführungsbeispiele gemäß der vorliegenden Erfindung verwendet werden:
  • A(f, T)
    Signalspektrum, d. h. Amplitude eines Frequenzmodes f zu einer Zeit T nach einer Rauschunterdrückung;
    c(T)
    Vertrauensvektor bzw. Konfidenzvektor;
    F(f, T)
    Filterfunktion, die A(f, T) aus X(f, T) erzeugt: A(f, T) = X(f, T)F(f, T) für alle f zu einer Zeit T;
    x(t)
    Abtastungen des eingegebenen Sprachsignals zu einer Zeit T;
    X(f, T)
    Spektrum des eingegebenen Sprachsignals;
    f
    Frequenz, die die Moden eines Spektrums unterscheidet;
    g
    Funktionsgruppe zum Berechnen eines Merkmalsvektors U(T) aus einem Spektrum A(f, T);
    k
    Index, der die Komponenten von Vektoren in einem Merkmalsraum bezeichnet, wie z. B. c(T), U(T), V(T) und V sowie der Transformation g;
    t
    Zeit, in welcher das Sprachsignal abgetastet wird;
    T
    Zeit, in welcher das Zeitsignal verarbeitet wird, um Frames auszubilden, und Spektren werden daraus abgeleitet;
    U(T)
    Merkmalsvektoren zu einer Zeit T, berechnet aus A(f, T);
    Uk(T)
    Komponenten von U(T);
    V
    Gruppe von Codebuchvektoren im Merkmalsraum;
    V(i)
    Codebuchvektor in V;
    Vk(T)
    Komponenten von V(T);
    V1(T)
    Codebuchvektor mit einem geringsten Abstand zum Merkmalsvektor U(T);
    V2(T)
    Codebuchevektor, von welchem ein Abstand zum Merkmalsvektor U(T) kleiner als Eins ist;
    a1
    Abstand zwischen U(T) und V1(T);
    a2
    Abstand zwischen U(T) und V2(T);
    L
    Gruppe von Wahrscheinlichkeitsvektoren, wobei jedem Vektor ein Codebuchvektor der Gruppe V zugeordnet ist bzw. zu diesem gehört. Eine einzelne Vektorkomponente ist die Wahrscheinlichkeit für eine Äußerung eines Wortuntermodells (z. B. Phoneme, Diphone oder Silben), wenn der zugehörige Codebuchvektor zu dem Merkmalsvektor U(T) passt;
    L1(T)
    L-Vektor, verbunden mit V1(T);
    L2(T)
    L-Vektor, verbunden mit V2(T);
    L(T)
    L-Vektor, der z. B. gleich L1 ist, oder eine Mischung aus wenigstens zwei Vektoren L1 und L2, wie z. B. L(T) = (a1L2 + a2L1)/(a1 + a2);
    p
    Index, der die Komponenten von Vektoren im Wahrscheinlichkeitsraum bezeichnet wie z. B. L(T);
    Lp(T)
    Komponente des Wahrscheinlichkeitsvektor L(T), die die Wahrscheinlichkeit für das Auftreten einer Wort-Untereinheit in einem zugehörigen Merkmalsvektor anzeigt;
    y
    Positionszeiger eines Unterwortmodells innerhalb eines Wortmodells;
    yend
    y, das das letzte Untermodell in einem Wortmodell oder eine Länge des Wortmodells anzeigt;
    W(y)
    Untermodellvektor an einer Position y eines Wortmodells;
    Wp(y)
    Komponente von W(y), die die Erwartung anzeigt, dass ein Untermodell p zu dem Wortmodell an einer Position y gehört;
    D(y)
    Erwartete Dauer eines Wortuntermodells an einer Position y in einem Wortmodell;
    e(y)
    Erwartete Varianz von D(y);
    b(y)
    Grenze bezüglich einer Zeit T für die Umsetzung einer Wortmodellposition y zu einer Position y + 1;
    M(y – 1, y)
    Passwahrscheinlichkeit für ein Unterwortmodell an benachbarten Positionen y – 1 und y;
    N(y)
    Passwahrscheinlichkeit für ein Wortuntermodell an einer Position y;
    P
    Passwahrscheinlichkeit eines Wortmodells;
    L(T, y)
    Wahrscheinlichkeitsmatrix, die aus dem Skalarprodukt von L(T)W(y) für jedes L(T) und W(y) resultiert;
    L(T)W(y)
    Passwahrscheinlichkeit für ein Untermodell an einer Position y und zu einer Zeit T;
    O(T, y)
    Optimale Pfadwahrscheinlichkeit an einer Position y und zu einer Zeit T;
    Td
    Verweilzeit T – Te;
    Te
    Bestimmte Zeit, die als Eintrittsstelle in eine Berechnung eines optimalen Pfads durch eine Wahrscheinlichkeitsmatrix L(T, y) verwendet wird.
  • Nun wird die vorliegende Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden.
  • 1 zeigt ein Blockdiagramm eines Spracherkennungssystems 100, das zum Ausüben von Verfahren und zum Implementieren eines Systems gemäß einem Ausführungsbeispiel der vorliegenden Erfindung geeignet ist. Das Spracherkennungssystem 100 umfasst einen Merkmalsgenerator 110 zum Erzeugen von Merkmalsvektoren aus einem Spracheingangssignal. Jeder Merkmalsvektor enthält Merkmale des eingegebenen Sprachsignals in dem Frequenzbereich bei einem konstanten Zeitintervall (das als Zeitframe oder Frame bezeichnet wird). Ein Merkmalskomparator 120, der mit dem Merkmalsgenerator 110 gekoppelt ist, empfängt die Merkmalsvektoren und bestimmt für jeden Merkmalsvektor wenigstens einen zugehörigen Codebuchvektor. Für die Codebuchvektorbestimmung fragt der Merkmalskomparator 120 ein Codebuch 130 ab, in welchem eine Gruppe von Codebuchvektoren V in einem Merkmalsraum gespeichert ist und aus welchem wenigstens ein Codebuchvektor in Bezug auf den jeweiligen Merkmalsvektor ausgewählt wird. Beispielsweise ist der ausgewählte Codebuchvektor der am besten passende Codebuchvektor, was bedeutet, dass der ausgewählte Codebuchvektor derjenige Vektor in einem Codebuch mit dem geringsten oder einem minimalen Abstand vom jeweiligen Merkmalsvektor ist. In einer Wahrscheinlichkeitszusammensetzungseinheit 140, die mit dem Merkmalskomparator 120 gekoppelt ist, wird ein Wahrscheinlichkeitsvektor, der zu dem ausgewählten Codebuchvektor gehört, aus einer Wahrscheinlichkeitsvektorgruppe 150 zusammengesetzt. In der Wahrscheinlichkeitsvektorgruppe 150 für jeden Codebuchvektor im Codebuch 130 wird ein zugehöriger Wahrscheinlichkeitsvektor gespeichert. Eine einzelne Vektorkomponente eines Wahrscheinlichkeitsvektors ist die Wahrscheinlichkeit für eine Äußerung eines Wortuntermodells oder einer Untereinheit, wenn der zugehörige Codebuchvektor zu dem Merkmalsvektor passt. In einem Wahrscheinlichkeitskomparator 170, der mit der Wahrscheinlichkeitszusammensetzungseinheit 140 gekoppelt ist, wird eine Sequenz von Wahrscheinlichkeitsvektoren von aufeinander folgenden Frames des eingegebenen Sprachsignals mit Wortuntermodellen verglichen, um ein Erkennungsergebnis zu bestimmen. Im Wahrscheinklichkeitskomparator 160 maximiert ein Verzerrer 180 die Passwahrscheinlichkeit von jedem Wortuntermodell durch Auswerten der Wahrscheinlichkeitswerte in den Wahrscheinlichkeitsvektoren für die jeweiligen Wortuntermodelle. Das Erkennungsergebnis wird dann durch Berechnen eines am besten passenden Wortmodells bestimmt, das aus einem Reservoir von zu erkennenden Wortmodellen (170) genommen wird, das die höchste Passwahrscheinlichkeit für Wortmodelle hat.
  • Systeme und Verfahren gemäß der vorliegenden Erfindung können in verschiedenen Datenverarbeitungssystemen implementiert werden, wie digitalen Signalverarbeitungs-(DSP-)Systemen, einer Mikrosteuerung oder irgendwelchen anderen Computersystemen.
  • Beispielsweise kann die vorliegende Erfindung in einem DSP-System 200 implementiert werden, wie es schematisch in 2 dargestellt ist. Das DSP-System, das das Spracherkennungssystem gemäß der vorliegenden Erfindung implementiert, kann eine Verarbeitungseinheit und eine oder mehrere Speichereinheiten aufweisen. Ein Sprach- oder ein Worteingangssignal wird durch ein Mikrophon 220 aufgezeichnet und durch eine Abtasteinheit 230 vorverarbeitet, indem beispielsweise das analoge Eingangssignal in ein digitales Signal umgewandelt wird und das Eingangssignal mit einer Rate von z. B. 11 kHz abgetastet wird und das zeitbasierende Signal durch ein wohlbekanntes Verfahren, wie beispielsweise eine Filterbank, eine Fouriertransformation, etc., in den Frequenzbereich transformiert wird. Diese Abtast- und Transformationsoperationen könnten auch durch den Spracherkennungsprozessor 210 selbst oder durch eine weitere Verarbeitungseinheit (nicht gezeigt) im Eingangssignalpfad ausgeführt werden. Bei einer Merkmalsextraktionsoperation wird ein Merkmalsvektor in einem Merkmalsraum für jeden Zeitframe erzeugt und kann im Speicher 270 gespeichert werden.
  • Die Funktionalität des DSP-basierenden Spracherkennungssystems 200 kann durch ein Computerprogramm implementiert werden, das z. B. im Speicher 270 gespeichert ist, welches dann, wenn es auf dem Spracherkennungsprozessor 210 ausgeführt wird, Verfahren und Systeme gemäß der vorliegenden Erfindung implementiert.
  • Das DSP-System kann weiterhin eine Ausgabevorrichtung 290 aufweisen, die zum Ausgeben von Erkennungsergebnissen oder anderer relevanter Information zum Anwender, wie beispielsweise Anwenderinformation, als Teil der Anwenderschnittstelle verwendet werden kann.
  • Der Speicher 270 kann ein flüchtiger Speicher sein und kann als Hauptspeicher des DSP-Systems verwendet werden. Das DSP-System kann weitere Speichereinheiten unter einer Steuerung des Spracherkennungsprozessors mit nichtflüchtigen Speichern 240 und 280 aufweisen, die die Codebuchvektorgruppe V und die Wahrscheinlichkeitsvektorgruppe L sowie Wortmodelle und Unterwortmodelle in Bezug auf zu erkennende Worte speichern.
  • Gemäß einem Ausführungsbeispiel der Erfindung werden aus dem Eingangssignal extrahierte Merkmalsvektoren durch den Spracherkennungsprozessor mit in der Codebuchvektorgruppe 250 gespeicherten Codebuchvektoren verglichen. Einer oder eine Vielzahl von Codebuchvektoren, die am besten zu den jeweiligen Merkmalsvektoren passen, zusammen mit den jeweiligen Abständen im Merkmalsraum zwischen den Merkmalsvektoren und den passenden Codebuchvekto ren werden genommen, um den am besten passenden Wahrscheinlichkeitsvektor in Bezug auf den jeweiligen Merkmalsvektor zu bestimmen. Die Wahrscheinlichkeitsvektoren werden in einer Wahrscheinlichkeitsvektorgruppe 260 gespeichert und auf sie kann durch den Spracherkennungsprozessor durch Verwenden von z. B. einer Ladeoperation zugegriffen werden. Eine Sequenz von bestimmten am besten passenden Wahrscheinlichkeitsvektoren wird aufeinander folgend durch den Spracherkennungsprozessor geladen oder geholt und kann als eine Datenstruktur 272 im Speicher 270 gespeichert werden. Die Datenstruktur 272 weist eine Sequenz von am besten passenden Wahrscheinlichkeitsvektoren in der Aufeinanderfolge der transformierten Merkmalsvektoren auf. In 2 ist eine Reihe von Wahrscheinlichkeitsvektoren L = L(T – 2), L(T – 1), L(T) als Datenstruktur im Speicher gezeigt.
  • Bei der Erkennungsoperation wird eine weitere Datenstruktur 277 mit Wortuntermodellen 278, 279 durch den Spracherkennungsprozessor geladen oder geholt und kann auch im Speicher 270 gespeichert werden. Beim in 2 gezeigten Beispiel sind zwei aufeinander folgende Untermodelle 278, 279 gezeigt, wobei y die Positionsnummer des jeweiligen Wortuntermodells in einem Wortmodell bezeichnet, das bei der Erkennungsoperation untersucht wird. Der Spracherkennungsprozessor 210 maximiert dann bei einer Verzerrungsoperation die Passwahrscheinlichkeit jedes Wortuntermodells durch Analysieren der Wahrscheinlichkeit für jedes Wortuntermodell in der Sequenz der Wahrscheinlichkeitsvektoren. Die maximierten Passwahrscheinlichkeiten für alle Positionen y werden in eine Wortmodellwahrscheinlichkeit vereinigt, von welcher ein Wortmodell mit höchster Passwahrscheinlichkeit als Erkennungsergebnis berechnet wird. Das Erkennungsergebnis kann bei der Ausgabevorrichtung 290 ausgegeben werden.
  • Das DSP-basierende Spracherkennungssystem 200 gemäß der vorliegenden Erfindung ist insbesondere auf DSP-Systeme mit einem standardmäßigen DSP-Prozessor, wie Texas Instruments TMS 320C 5402, anwendbar, oder irgendwelche anderen Prozessoren mit einem Leistungsfähigkeitsbereich von wenigstens 60 MIPS. Eine solche Leistungsfähigkeit ist aufgrund der guten Erkennungsergebnisse des Systems und auch durch eine relativ niedrige Abtastrate im Bereich von 8 bis 16 kHz und eine Verarbeitungsbreite von 16 Bits ausreichend. Gute Erkennungsergebnisse können durch eine Abtastrate im Bereich von 11 bis 16 kHz erreicht werden. Beispielsweise sind billige Prozessoren auf das System anwendbar, das in einer eingebetteten Steuerungsanwendung, wie einem Bordcomputer in einem Motorfahrzeug oder ähnlichem, ohne die Notwendigkeit für eine weitere Verarbeitungsleistung implementiert sein kann. Das Ergebnis der Spracherkennung kann zum Steuern von Funktionen, wie z. B. des Fahrzeugs oder irgendwelcher anderen Systeme, durch Ausgeben des Erkennungsergebnisses in einer geeigneten Form bei der Ausgabevorrichtung 290 verwendet werden. Die Ausgabevorrichtung kann z. B. eine Schnittstellenschaltung zu einem Funkempfänger oder zu einem Funktelefon sein. Gemäß einem Ausführungsbeispiel der Erfindung erzeugt der Spracherkennungsprozessor in Reaktion auf Anweisungen, die im Hauptspeicher 270 gespeichert sind, eine Sequenz von passenden Wahrscheinlichkeitsvektoren 272 aus einem durch das Mikrophon 220 aufgezeichneten und durch die Abtasteinheit 230 abgetasteten Spracheingangssignal. Der Spracherkennungsprozessor 210 wählt weiterhin aus der Datenbank 280 Wortmodelle und Wortuntermodelle von zu erkennenden Worten aus, um die Passwahrscheinlichkeit jedes analysierten Wortmodells in Bezug auf die Sequenz von Wahrscheinlichkeitsvektoren zu maximieren.
  • Ein Ausführungsbeispiel eines Spracherkennungsverfahrens gemäß der vorliegenden Erfindung ist in 3 gezeigt und wird nun beschrieben werden. Zu jeder Zeit T weist ein Zeitframe eine Vielzahl von Abtastungen des eingegebenen Sprachsignals auf. Für jeden Frame wird in einer Operation 310 ein Merkmalsvektor mit signifikanten Merkmalen des Sprachsignals aus diesen Abtastungen im Frame erzeugt. Dann wird in einer Operation 320 für jeden der Merkmalsvektoren ein passender Wahrscheinlichkeitsvektor erzeugt. Jede Komponente von Wahrscheinlichkeitsvektoren ist die Wahrscheinlichkeit für eine Äußerung eines jeweiligen Wortuntermodells. Wortuntermodelle sind phonetische Elemente, aus welchen Wortmodelle zusammengesetzt sind. Solche Wortuntermodelle können z. B. Phoneme, Diphone, Silben, die durch phonetische Buchstabenmodelle beschrieben sind, oder sogar phonetische Buchstabenmodelle selbst für jeden in einem Alphabet bekannten Buchstaben sein. In einer nächsten Operation 330 wird eine Sequenz von passenden Wahrscheinlichkeitsvektoren mit einer Sequenz von Wortuntermodellen verglichen. Bei dieser Vergleichsoperation wird die Passwahrscheinlichkeit jedes Wortuntermodells durch Verzerren der Sequenz von passenden Wahrscheinlichkeitsvektoren zu der Sequenz von Wortuntermodellen maximiert. Aus der maximierten Passwahrscheinlichkeit jedes Wortuntermodells in der Sequenz von Untermodellen wird in einer Operation 340 ein Erkennungsergebnis durch Bestimmen des Wortmodells mit der höchsten Passwahrscheinlichkeit bestimmt.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung weist ein Spracherkennungsverfahren eine Verwendung eines Codebuchs auf, das repräsentative Vektoren im Merkmalsraum hält, die bei der Erkennungsoperation verwendet werden können, wie es nun in Bezug auf 4 beschrieben wird. Jeder Vektor im Codebuch hat typischerweise eine Kennzeichnung, durch welche auf den Codebuchvektor zugegriffen werden kann. In einer Operation 410 wird jeder Vektor in der Sequenz von Merkmalsvektoren, die aus dem Spracheingangssignal erzeugt sind, mit den Vektoren im Codebuch verglichen. Codebuchvektoren mit einem minimalen Abstand oder einer minimalen Abweichung vom jeweiligen Merkmalsvektor werden in einer Operation 420 ausgewählt und werden dann bei einer weiteren Erkennungsoperation verwendet. Diese Codebuchvektoren mit minimalem Abstand oder ihre jeweiligen Kennzeichnungen werden zusammen mit den jeweiligen Abständen zwischen einem jeweiligen Merkmalsvektor und einem Codebuchvektor verwendet, um in einer Operation 430 einen passenden Wahrscheinlichkeitsvektor für jeden Merkmalsvektor zu erzeugen. Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung wird der passende Wahrscheinlichkeitsvektor aus einem zugehörigen Merkmalsvektor durch eine Interpolation über die in der Operation 420 ausgewählten passenden Codebuchvektoren V1(T), V2(T), etc. und ihre jeweiligen Abstände a1, a2, etc. erzeugt. Detailliert wird ein Merkmalsvektor aus der Sequenz von Merkmalsvektoren des eingegebenen Sprachsignals zuerst durch am besten passende Codebuchvektoren dargestellt. Da es einen jeweiligen Wahrscheinlichkeitsvektor in Bezug auf jeden Codebuchvektor gibt, kann auf die Wahrscheinlichkeitsvektoren, die zu den passenden Codebuchvektoren gehören, durch Abfragen der Wahrscheinlichkeitsvektorgruppe unter Verwendung der Kennzeichnungen der passenden Codebuchvektoren zugegriffen werden. Beispielsweise zeigt eine Tabelle 1 in 5 zwei verbundene Spalten von Codebuchvektoren und Wahrscheinlichkeitsvektoren. Für jede Kennzeichnung 1 bis n gibt es ein Paar aus einem Codebuchvektor und einem zugehörigen Wahrscheinlichkeitsvektor in jeder Reihe. Auf einen Wahrscheinlichkeitsvektor, der zu einem jeweiligen Codebuchvektor gehört, kann daher durch Verwenden der Tabelle 1 als Nachschautabelle zugegriffen werden. Aus den so ausgewählten Wahrscheinlichkeitsvektoren wird ein passender Wahrscheinlichkeitsvektor L(T) durch Interpolieren der Wahrscheinlichkeit der ausgewählten Wahrscheinlich keitsvektoren für jede Komponente durch Verwenden der Abstände a1, a2, etc. erzeugt. Dies bedeutet, dass in dem Wahrscheinlichkeitsvektorraum ein passender Wahrscheinlichkeitsvektor erzeugt wird, der dem jeweiligen Merkmalsvektor im Merkmalsraum entspricht.
  • 7 zeigt ein Blockdiagramm eines Spracherkennungssystems gemäß der vorliegenden Erfindung. Ein Merkmalsgenerator 710 empfängt ein Spracheingangssignal x(t). Das Sprachsignal wird mittels einer Transformation, die g genannt wird, in eine Sequenz von Merkmalsvektoren U(T) transformiert. Komponenten Uk(T) des Merkmalsvektors U(T) stellen typische Merkmale eines Sprachsignals dar. In einem Merkmalskomparator 720 wird jeder Merkmalsvektor U(T) mit Codebuchvektoren aus einer Gruppe V verglichen. Als Ergebnis dieses Vergleichs wird oder werden einer oder mehrere passende Codebuchvektoren V1(T), V2(T), etc. zusammen mit jeweiligen Abständen a1, a2, etc. ausgewählt. Die Abstände a1, a2, ... bestimmen jeweils die Abstände im Merkmalsraum zwischen den passenden Codebuchvektoren und dem Merkmalsvektor und werden verwendet, um einen passenden Wahrscheinlichkeitsvektor aus Wahrscheinlichkeitsvektoren zu erzeugen, die zu passenden Codebuchvektoren gehören. Somit wird der passende Wahrscheinlichkeitsvektor aus den Wahrscheinlichkeitsvektoren berechnet, die zu den passenden Codebuchvektoren gehören. Beispielsweise werden die Werte der Vektorkomponenten des passenden Wahrscheinlichkeitsvektors durch Bilden eines Durchschnitts über die jeweiligen Komponentenwerte der Wahrscheinlichkeitsvektoren berechnet, die zu den passenden Codebuchvektoren gehören.
  • Gemäß einem weiteren Ausführungsbeispiel können Abstände a1, a2, ... im Merkmalsraum als Gewichtungsinformation im Wahrscheinlichkeitsraum verwendet werden und können z. B. dazu verwendet werden, die Wahrscheinlichkeitswerte oder den passenden Wahrscheinlichkeitsvektoren L1(T), L2(T), ... entsprechende passende Codebuchvektoren V1(T), V2(T), die gemäß dem Abstand von U(T) zu jeweils V1(T) und V2(T) gewichtet sind, in einer Wahrscheinlichkeitszusammensetzungseinheit 740 zu interpolieren. Die Sequenz von passenden Wahrscheinlichkeitsvektoren L(T) wird dann verwendet, um das am besten passende Wortmodell zu bestimmen.
  • Ein Wortmodell kann aus einer Sequenz von Wortuntermodellen aufgebaut sein, die jeweils durch ihre Position im Wortmodell charakterisiert sind. Im Wahrscheinlichkeitskomparator 760 werden Sequenzen von passenden Wahrscheinlichkeitsvektoren mit in einer Datenbank 770 gespeicherten Wortmodellen verglichen. In einem Verzerrer 780 werden die Wahrscheinlichkeitswerte bezüglich der Komponenten von passenden Wahrscheinlichkeitsvektoren mit dem Auftreten von entsprechenden Untermodellen im Wortmodell, das gerade untersucht wird, und zum Maximieren der Passwahrscheinlichkeit zwischen jedem Wortuntermodell und Untersequenzen der Sequenz von passenden Wahrscheinlichkeitsvektoren verglichen. Nach diesem Optimierungsprozess, der für wenigstens einige Wortmodelle ausgeführt worden ist, bestimmt ein Diskriminator 790 das Erkennungsergebnis durch Auswählen des Wortmodells mit der höchsten gesamten Passwahrscheinlichkeit der untersuchten Wortmodelle.
  • Ein Hauptschema eines Verzerrers 180, 780, 880, der für jedes Wortmodell die Passwahrscheinlichkeit M(y – 1, y) an zwei benachbarten Positionen y – 1 und y maximiert, ist in 8 gezeigt. Im Verzerrer wird eine Sequenz von passenden Wahrscheinlichkeitsvektoren, die auf konstante Zeitintervalle bezogen sind, mit Untermodellvektoren W(y) verglichen. W(y) zeigt die Verteilung, die ein Vorhandensein oder Nichtvorhandensein bedeuten kann, von Wortuntermodellen in einem jeweiligen Wortmodell an einer Position y an. Eine einzelne Komponente Wk(y) von W(y) kann daher derart verstanden werden, dass sie die Erwartung eines bestimmten Wortuntermodells in einem Wortmodell an einer Position y anzeigt. In einem Optimierungsprozess wird die Passwahrscheinlichkeit von benachbarten Wortuntermodellen durch Verschieben der Grenze zwischen diesen benachbarten Wortuntermodellen in Bezug auf Wahrscheinlichkeitsvektoren von Zeitframes maximiert, die entweder dem Wortuntermodell an einer Position y – 1 oder einer Position y zugeteilt sein werden.
  • Die Maximierungsoperation kann durch die folgende Gleichung definiert sein:
    Figure 00200001
  • Wie es aus der Gleichung 1 gesehen werden kann, wird eine Passwahrscheinlichkeit M(y – 1, y) durch Verschieben der Grenze b(y) zwischen benachbarten Wortuntermodellen in Schritten von einzelnen Zeitframes T maximiert. Für jede Untersequenz von Wahrscheinlichkeitsvektoren L(b(y – 1)), ..., L(b(y)) und L(b(y) + 1), ..., L(b(y + 1)) wird die Passwahrscheinlichkeit für jeweilige Untermodelle an einer Position y1 und y als Skalarprodukt aus jedem Wahrscheinlichkeitsvektor einer Untersequenz mit einem jeweiligen Untermodellvektor W(y – 1) oder W(y) berechnet. Der Untermodellvektor W(y) zeigt die Erwartung von Wortuntermodellen an einer Position y in einem Wortmodell an. Somit hat der Untermodellvektor W(y) dieselbe Dimension wie der Wahrscheinlichkeitsvektor L(T) und die jeweiligen Komponenten dieser Vektoren beziehen sich auf dieselben Untermodelle.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist eine Komponente von W(y) gleich 1 und sind alle anderen 0, was bedeutet, dass die Komponente, die gleich 1 ist, das Wortuntermodell an einer Position y darstellt. In diesem Fall ist das Skalarprodukt W(y)L(T) die Auswahl der jeweiligen Komponente von L(T).
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung stellt W(y) die Verteilung von Wortuntermodellen als Linearkombination von Wortuntermodellen an einer Position y dar. In diesem Fall zeigt eine Komponente von W(y) an, ob und wie wahrscheinlich ein einzelnes Wortuntermodell an dieser Position y in einem gegebenen Wortmodell erwartet wird. Diesbezüglich kann der Wert der Komponente von W(y) auch negativ sein, was anzeigt, dass das durch diese Komponente dargestellte Wortuntermodell in der Äußerung nicht vorhanden sein soll, d. h. die jeweilige Komponente oder der Wahrscheinlichkeitsvektor soll in der Äußerung, die gerade untersucht wird, nahe Null sein.
  • Die oben beschriebene Berechnung für ein Passen bzw. eine Übereinstimmung wird auch für Untermodelle an anderen Positionen in einem Wortmodell durch Verschieben von z. B.. Grenzen zwischen Positionen y + 1 und y + 2 ausgeführt. Nach einem Berechnen von z. B.. einer Grenze zwischen Positionen y + 1 und y + 2 kann die Maximierungsoperation zwischen Positionen y und y + 1 wiederholt werden, wenn eine Grenze b(y + 1) sich nach der Maximierungsoperation an Positionen y + 1 und y + 2 geändert hat. Dasselbe Prinzip kann angewendet werden, um die äußeren Grenzen eines Wortmodells zu bestimmen. Jedoch ist es auch möglich, äußere Grenzen zu einem Wortmodell an festen Positionen einzustellen oder einen Sprachaktivitätsdetektor zu verwenden, um Grenzen zwischen Wörtern oder Sprach- und Nichtsprachsignalen zu bestimmen.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung werden eine erwartete Dauer D(y) und ihre erwartete Varianz e(y) eines Wortmodells an einer Position y mittels einer unimodalen Funktion f(y) in die Verzerrungsoperation unter Verwendung der folgenden Gleichung eingeführt:
    Figure 00220001
  • Ebenso modifiziert in Gleichung 2 die Verzerrungsoperation die Grenze b(y) zwischen benachbarten Wortuntermodellen und Positionen y – 1 und y. Die unimodale Funktion f(y) kann als Skalarfunktion verstanden werden, die eine glockenkurvenartige Funktion über der Länge jeder Frameuntersequenz für die jeweiligen Positionen y – 1 und y erfüllt. Ein Beispiel für die unimodale Funktion f(y) ist durch die folgende Gleichung gezeigt:
    Figure 00220002
  • In der Gleichung 3 ist b(y) – b(y – 1) die aktuelle Länge oder Dauer der Untersequenzen von Frames, die dem Wortuntermodell an einer Position y – 1 zugeteilt sind. D(y) ist die erwartete Dauer des jeweiligen Wortuntermodells an einer Position y. Weiterhin wird in der Gleichung zum Berechnen einer unimodalen Funktion f(y), e(y) als erwartete Varianz der Dauer des jeweiligen Wortuntermodells an einer Position y verwendet.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird eine Passwahrscheinlichkeit M(y – 1, y) an benachbarten Positionen y – 1 und y durch Verwenden eines Vertrauensvektors c(T) maximiert. Der Vertrauensvektor c(T) definiert, wie gut die ausgewählten passenden Codebuchvektoren V1(T), V2(T), ..., mit dem jeweiligen Merkmalsvektor übereinstimmen bzw. zu diesem passen, basierend auf ihren Abständen a1(T), a2(T), ..., zum Merkmalsvektor. Als Ergebnis wird ein passender Wahrscheinlichkeitsvektor L(T), der aus passenden Codebuchvektoren V1(T), V2(T), ..., die relativ kleine Abstände a1(T), a2(T), ... zum jeweiligen Merkmalsvektor haben, resultiert, bei der Maximierungsoperation stärker gewichtet als einer, der aus passenden Codebuchvektoren resultiert, die einen relativ großen Abstand zum jeweiligen Merkmalsvektor haben.
  • Gemäß 7 kann der Vertrauensvektor c(T) in der Wahrscheinlichkeitszusammensetzungseinheit 740 für jeden Wahrscheinlichkeitsvektor L(T) erzeugt werden. Wenn beispielsweise ein passender Wahrscheinlichkeitsvektor durch Interpolieren der passenden Codebuchvektoren erzeugt wird, wird der Vertrauensvektor aus dem Abstand a1(T) erzeugt, der proportional zu einem erwarteten mittleren Abstand angenommen wird.
  • Gemäß einem Ausführungsbeispiel der Erfindung kann der Vertrauensvektor durch die folgende Gleichung bestimmt werden:
    Figure 00230001
    wobei σ eine Größe für die erwartete Varianz des mittleren Abstands zwischen einem Merkmalsvektor und dem jeweiligen Codebuchvektor ist.
  • Die Maximierung von M(y – 1, y) unter Berücksichtigung des Vertrauensvektors kann dann durch die folgende Gleichung ausgeführt werden:
    Figure 00240001
  • Ein Verwenden der unimodalen Funktion f(y) in der Verzerrungsoperation lässt zu, eine Maximierung einer Passwahrscheinlichkeit durch statistische Information von jedem Wortuntermodell zu verbessern. Die statische Information, wie beispielsweise eine Dauer und ihre erwartete Varianz, von Wortuntermodellen kann in einer Trainingsphase oder auch während des Erkennungsprozesses selbst gewonnen werden.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird die Dauer D und ihre erwartete Varianz e für jedes Untermodell in jedem Wortmodell getrennt bestimmt, da die Dauer und ihre Varianz für ein Untermodell von Wortmodell zu Wortmodell abweicht.
  • Als weiteres Beispiel zeigt eine Tabelle 2 in 5, wie die statische Information für jedes Wortuntermodell 1, ..., m in einer Tabelle gespeichert werden kann. Eine solche Tabellenstruktur lässt ohne weiteres den Zugriff auf statistische Information, wie die erwartete Dauer D oder ihre erwartete Varianz e, durch Verwenden der Tabelle 2 als Nachschautabelle zu.
  • Nachdem die Grenzen b zwischen erwarteten Untermodellen durch Aufteilen der Sequenz von Wahrscheinlichkeitsvektoren in Untersequenzen bestimmt worden ist, für welche eine Passwahrscheinlichkeit M(y – 1, y) ein Maximum wird, werden Passwahrscheinlichkeiten für Wortuntermodelle N(y) für jede einzelne Position y mittels einer Grenze b(y) bestimmt, so dass M(y – 1, y) = N(y – 1) + N(y) gilt, und werden für alle Positionen y in eine Passwahrscheinlichkeit für Wortmodelle P für das jeweilige Wortmodell vereinigt.
  • In 9 ist ein so genannter Diskriminator 990 gezeigt, der die Sequenz von Passwahrscheinlichkeiten für Untermodelle N(y) in eine Passwahrscheinlichkeit für Wortmodelle P vereinigt.
  • Die Passwahrscheinlichkeit für Wortmodelle P kann aus Passwahrscheinlichkeiten für Untermodelle N(y) als Produktwahrscheinlichkeit unter Verwendung der nachfolgenden Gleichung berechnet werden:
    Figure 00250001
  • Gemäß einem weiteren Ausführungsbeispiel kann die Passwahrscheinlichkeit für Wortmodelle P aus Passwahrscheinlichkeiten für Untermodelle N(y) als arithmetische mittlere Wahrscheinlichkeit unter Verwendung der nachfolgenden Gleichung berechnet werden:
    Figure 00250002
  • Alternativ dazu kann die Passwahrscheinlichkeit für Wortmodelle P auch aus Passwahrscheinlichkeiten für Untermodelle N(y) als geometrisches Mittel unter Verwendung der nachfolgenden Gleichung berechnet werden:
    Figure 00250003
  • Nachdem eine Passwahrscheinlichkeit für Wortmodelle P für jedes Wortmodell in der Wortmodell-Datenbank 990 bestimmt worden ist, kann ein Erkennungsergebnis durch Auswählen des Wortmodells mit der höchsten Passwahrscheinlichkeit für Wortmodelle P bestimmt werden. Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung kann für jedes zu erkennende Wort ein in der Erkennungsoperation zu verwendendes phonetisches Wortmodell und eine nicht phonetische Wortdarstellung in einer Datenbank 90 gespeichert werden, so dass als Erkennungsergebnis die nicht phonetische Wortdarstellung entsprechend dem erkannten phonetischen Wortmodell z. B.. bei der Ausgabevorrichtung ausgegeben wird oder es in einem Verarbeitungssystem weiterverarbeitet werden kann.
  • Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung wird unter Bezugnahme auf 11 beschrieben werden. Gemäß diesem Ausführungsbeispiel wird eine modifizierte Verzerrungsoperation mit dynamischer Zeit verwendet, um einen optimalen Pfad von Wahrscheinlichkeiten für einen optimalen Pfad durch eine Wahrscheinlichkeitsmatrix L(T, y) zu finden. In Operationen 1410 und 1420 werden eine Sequenz von passenden Wahrscheinlichkeitsvektoren L(T), die untersucht wird, um ein Wortmodell zu erkennen, und eine Sequenz von Untermodellvektoren W(y), die ein zu untersuchendes Wortmodell darstellt, ausgewählt. Die passenden Wahrscheinlichkeitsvektoren werden erzeugt, wie es oben in Bezug auf ein Spracheingangssignal beschrieben ist. Die Sequenz von Untermodellvektoren W(y) wird auch erzeugt, wie es oben beschrieben ist, und kann aus einer Untermodellvektor-Datenbank (nicht gezeigt) genommen werden. Dann wird die Wahrscheinlichkeitsmatrix aus einem Skalarprodukt der Sequenz von Wahrscheinlichkeitsvektoren und der Sequenz von Untermodellvektoren W(y) hergestellt (Operation 1430). Die Komponenten L(T)W(y) der Wahrscheinlichkeitsmatrix L(T, y) werden Passwahrscheinlichkeiten für Untermodelle an einer Position y und zu einer Zeit T genannt. Bei einer Operation 1440 werden optimale Pfadwahrscheinlichkeiten aus den Passwahrscheinlichkeiten unter Verwendung der Verzerrungsoperation verwendet, die auch Zurückverfolgungsoperation genannt wird. Als Ergebnis kann die Passwahrscheinlichkeit für Wortmodelle aus der höchsten optimalen Pfadwahrscheinlichkeit an einer letzten Position y = yend abgeleitet werden, da gemäß dem Prinzip einer dynamischen Programmierung die optimale Pfadwahrscheinlichkeit an einer Position y = yend auch ein Maß für den optimalen Pfad durch die Matrix ist, und daher für die Passwahrscheinlichkeit für das Wortmodell, das gerade untersucht wird (Operation 1450).
  • Für jede Aufeinanderfolge oder Sequenz von Wortuntermodellen, die ein Wortmodell eines zu erkennenden Worts bilden, wird ein optimaler Pfad durch die Wahrscheinlichkeitsmatrix L(T, y) beginnend bei L(1, 0) = 1 als mögliche Eintrittsstelle bestimmt. Die Wahrscheinlichkeitsmatrix L(T, y) wird aus der Sequenz von passenden Wahrscheinlichkeitsvektoren in Bezug auf die Sequenz von Merkmalsvektoren ausgebildet, die aus einem Spracheingangssignal erzeugt sind, zusammen mit einer Sequenz von Untermodellvektoren W(y), d. h. jede Kompo nente von L(T, y) ist das Ergebnis eines Skalarprodukts L(T)W(y) für ein bestimmtes T und ein bestimmtes y. 14 zeigt anhand eines Beispiels Spalten Ly=1,2(T) (Bezugszeichen 1125, 1145) der Wahrscheinlichkeitsmatrix L(T, y).
  • Mit einer Verzerrung einer dynamischen Zeit oder eine dynamischen Programmierung wird das Optimalitätsprinzip gebildet, was bedeutet, dass nach einem Bestimmen einer optimalen Pfadwahrscheinlichkeit für jede Position (T, y) auch der optimale Pfad durch die Wahrscheinlichkeitsmatrix L(T, y) aufgrund des Prinzips gefunden wird, dass ein optimaler Prozess aus Teilprozessen zusammengesetzt ist, die auch optimal sind. Dies bedeutet, dass die optimale Pfadwahrscheinlichkeit an einer Position y = yend den optimalen Pfad durch L(T, y) definiert und weiterhin die Optimalität der gesamten Sequenz von Wahrscheinlichkeitsvektoren in Bezug auf eine Sequenz von Untermodellvektoren W(y) anzeigt.
  • Eine optimale Pfadwahrscheinlichkeit O(T, y) einer Position (T, y) in einer Matrix L(T, y) wird durch Auswählen der höheren der Pfadwahrscheinlichkeiten resultierend aus einem Übergang von einer Position (T – 1, y) oder einer Position (T – 1, y – 1) zu der gegenwärtigen Position (T, y) bestimmt. Somit wird eine so genannte Zurückverfolgungsoperation, die als Nächstes detaillierter beschrieben werden wird, verwendet, um eine optimale Pfadwahrscheinlichkeit an einer gegenwärtigen Position aus optimalen Pfadwahrscheinlichkeiten an früheren Positionen, für welche die Optimierungsoperation bereits ausgeführt worden ist, und den Passwahrscheinlichkeiten für Untermodelle L(T)W(y) zu bestimmen.
  • Die höchste optimale Pfadwahrscheinlichkeit an einer Position y kann derart verstanden werden, dass sie der Sequenz von Passwahrscheinlichkeiten für Untermodelle N(1), ..., N(y) entspricht, die oben beschrieben sind. Sowohl die höchste optimale Pfadwahrscheinlichkeit an einer Position y als auch die Sequenz von Passwahrscheinlichkeiten für Untermodelle N(1), ..., N(y) stellt die Passwahrscheinlichkeit für eine Sequenz von Wortuntermodellen dar: Untermodell(1), ..., Untermodell(y).
  • Gemäß einem Ausführungsbeispiel der Erfindung werden optimale Pfadwahrscheinlichkeiten durch die Matrix L(T, y) in einer Framesequenz für T = 1, ..., Tend und für alle Positionen y = 1 bis yend bestimmt.
  • 13 ist ein Ablaufdiagramm, das das Prinzip eines Ausführungsbeispiels gemäß der vorliegenden Erfindung zeigt, wobei solche optimalen Pfadwahrscheinlichkeiten O(T, y) aus Komponenten von L(T)W(y) erzeugt werden. Eine optimale Pfadwahrscheinlichkeit O(T, y) wird in einer Operation 1110 durch O(T, 0) = 1 für alle T und O(0, y) = 0 für alle y > 0 initialisiert. Eine so genannte Zurückverfolgungsoperation beginnt dann an einer Position y = 1 und bei einem Zeitframe T = 1. In einer Operation 1120 wird eine mögliche Eintrittsstelle Te gleich 1 eingestellt. Dann wird bestimmt, auf welchem Pfad die optimale Pfadwahrscheinlichkeit O(T, y) an einer gegenwärtigen Position (T, y) erreicht werden kann. In einer Operation 1130 besteht ein möglicher erster Pfad im Eintreten in die gegenwärtige Position T = 1 und y = 1 von der Position T = 0 und y = 0 und im Bestimmen der Pfadwahrscheinlichkeit O1(T, y) durch Multiplizieren von Komponenten von L(T)W(y) an beiden Positionen, was durch die folgende Gleichung in eine Formel gefasst werden kann. O1(T, y) = O(T – 1, y – 1)L(T, y) (Gleichung 9)
  • Der andere mögliche zweite Pfad besteht im Verfolgen der Reihe oder Spalte von Komponenten L(T)W(y) an einer Position y (in der ersten Schleife ist y gleich 1 eingestellt) beginnend ab einer Eintrittsstelle Te zu dem gegenwärtigen Frame zu einer Zeit T. Die Pfadwahrscheinlichkeit O2(T, y) für diesen zweiten Pfad wird dann in einer Operation 1140 durch Aufsummieren der Komponenten L(T)W(y) auf diesem Pfad Te, ..., T und durch Multiplizieren dieser Summe mit der optimalen Pfadwahrscheinlichkeit O an einer Position (Te – 1, y – 1) berechnet, wie es durch die folgende Gleichung in eine Formel gefasst werden kann:
    Figure 00280001
  • Die Berechnung von Pfadwahrscheinlichkeiten O1(T, y) oder O2(T, y) in einer Operation 1130 und 1140 kann sequentiell oder parallel durchgeführt werden. Gemäß einem Ausführungsbeispiel wird f(T – Te) bei der Berechnung von O2(T, y) (Operation 1140) als Skalierungsfaktor verwendet und wird durch f(T – Te) = 1/(T – Te) definiert. Jedoch kann gemäß einem weiteren Ausführungsbeispiel f(T – Te) auch gleich 1 gesetzt werden und kann daher in der Gleichung 10 ausgelassen werden.
  • In einer Operation 1150 wird entschieden, welche der zwei Pfadwahrscheinlichkeiten O1(T, y) oder O2(T, y) höher ist, und dann wird die optimale Pfadwahrscheinlichkeit O(T, y) auf die höhere Pfadwahrscheinlichkeit, entweder O1(T, y) oder O2(T, y), an der gegenwärtigen Position eingestellt, wie es durch die folgende Gleichung in eine Formel gefasst werden kann: O(T, y) = max{O1(T, y), O2(T, y)) (Gleichung 11)
  • Detaillierter kann die Operation 1150 wie folgt beschrieben werden. In einer Entscheidungsoperation 1151 wird entschieden, welche der zwei Pfadwahrscheinlichkeiten O1(T, y) oder O2(T, y) höher ist. Wenn die Pfadwahrscheinlichkeit O1(T, y) die höhere ist, dann wird die optimale Pfadwahrscheinlichkeit O(T, y) in einer Operation 1152 auf den Wert von O1(T, y) eingestellt. Wenn der erste Pfad genommen wird, was bedeutet, dass O1(T, y) höher als O2(T, y) ist, wird in einer Operation 1153 eine Eintrittsstelle Te gleich einem gegenwärtigen T eingestellt. Wenn die Pfadwahrscheinlichkeit O2(T, y) höher als O1(T, y) ist, dann wird in einer Operation 1154 die optimale Pfadwahrscheinlichkeit O(T, y) auf den Wert von O2(T, y) eingestellt.
  • In einer Operation 1160 wird geprüft, ob der letzte Frame Tend erreicht worden ist, und wenn dies nicht der Fall ist, wird dann eine optimale Pfadwahrscheinlichkeit für eine nächste Zeit T für dieselbe Position y durch Erhöhen von T um 1 bestimmt (Operationen 1160 und 1170).
  • Wenn andererseits T = Tend, werden optimale Pfadwahrscheinlichkeiten für eine nächste Position y durch Erhöhen von y in einer Operation 1190 und durch abermaliges Beginnen mit T = 1 und auch durch Einstellen einer Eintrittsstelle Te = 1 in einer Operation 1120 bestimmt. Die Operationen zum Bestimmen von optimalen Pfadwahrscheinlichkeiten, wie sie oben beschrieben sind, werden wiederholt, bis eine optimale Pfadwahrscheinlichkeit für alle Positionen (T, y) berechnet ist.
  • Wenn dann in einer Operation 1180 bestimmt wird, dass y = yend gilt, ist die Verzerrungs- oder Zurückverfolgungsoperation für die Wahrscheinlichkeitsmatrix L(T, y) vollständig ausgeführt und wird die optimale Pfadmatrix O(T, y) beendet.
  • In einer Operation 1200 wird eine Passwahrscheinlichkeit für Wortmodelle des durch die Sequenz von Untermodellen dargestellten Wortmodells an Positionen y, y = 1, ..., yend mit der höchsten optimalen Pfadwahrscheinlichkeit O(T, yend) an einer Position yend gleichgesetzt. Gemäß dem Prinzip einer dynamischen Programmierung stellt eine höchste optimale Pfadwahrscheinlichkeit O an einer letzten Position yend den optimalen Pfad für die gesamte Sequenz von Untermodellen, die gerade untersucht werden, dar, da gemäß dem Prinzip einer dynamischen Programmierung die höchste optimale Pfadwahrscheinlichkeit an einer Position yend den optimalen Pfad durch die Wahrscheinlichkeitsmatrix L(T, y) darstellt und daher notwendigerweise auch ein Maß für eine Passwahrscheinlichkeit für Wortmodelle eines Wortmodells ist, das aus der Sequenz von Wortuntermodellen zusammengesetzt ist, die gerade untersucht werden.
  • In einer weiteren Operation können weitere Passwahrscheinlichkeiten für Wortmodelle für andere Wortmodelle und/oder für neue Sequenzen von passenden Wahrscheinlichkeitsvektoren durch das oben beschriebene Verfahren bestimmt werden. Dafür werden die Operationen 1430 bis 1450 für neue Kombinationen von Sequenzen von L(T) und W(Y) wiederholt.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung, wie es in 12 dargestellt ist, wird eine neue Sequenz von Untermodellvektoren W(y) ausgewählt, was ein weiteres zu untersuchendes Wortmodell darstellt (Operation 1510). In einer Operation 1520 wird zuerst eine neue Passwahrscheinlichkeit für Wortmodelle durch Wiederholen der Operationen 1430 und 1440 mit der gegenwärtigen Sequenz von L(T) und der neuen Sequenz von W(y) berechnet. Dann kann ein Erkennungsergebnis für die gegenwärtige Sequenz von L(T) und die neue Sequenz von W(y) basierend auf dieser neuen Passwahrscheinlichkeit für Wortmodelle bestimmt werden. Ebenso kann in einer Operation 1520 das Erkennungsergebnis auch durch Vergleichen dieser neuen Passwahrscheinlichkeit für Wortmodelle O(T, yend) mit den Passwahrscheinlichkeiten für Wortmodelle von zuvor bestimmten optimalen Pfaden bestimmt werden. Damit wird die beste Passwahrscheinlichkeit für Wortmodelle für eine gegebene Sequenz von passen den Wahrscheinlichkeitsvektoren L(T) und mehrere Wortmodelle, die durch ihre entsprechenden Untermodellvektorsequenzen W(y) dargestellt sind, bestimmt. Dann wird in einer Operation 1530 eine Entscheidung getroffen, ob eine neue Sequenz von W(y) auszuwählen ist und die Operationen 1510 und 1520 wiederholt werden oder nicht. Beispielsweise verzweigt die Entscheidungsoperation 1530 zurück zur Operation 1510, wenn eine interne Schwellenbedingung für die Passwahrscheinlichkeit für Wortmodelle noch nicht erfüllt worden ist oder wenn noch nicht alle relevanten Wortmodelle einzeln nacheinander mit einer gegenwärtigen Sequenz von L(T) getestet worden sind. Wenn alle relevanten oder existierenden Sequenzen von W(y) mit der gegenwärtigen Sequenz von L(T) getestet worden sind, dann verzweigt die Operation 1530 zu einer nächsten Entscheidungsoperation 1535. In der Operation 1535 wird dann entschieden, ob ein schließliches Erkennungsergebnis bestimmt worden ist oder ob die Erkennungsoperation mit einer neuen Sequenz von L(T) wiederholt wird. Die Entscheidung kann von der Schwellenbedingung für die Passwahrscheinlichkeit für Wortmodelle abhängen, was bedeutet, dass dann, wenn die in den Operationen 1510 bis 1530 bestimmte am besten Passwahrscheinlichkeit für Wortmodelle unter einem bestimmten Wert ist, die Erkennungsoperation mit der Operation 1540 fortgesetzt wird. Wenn andererseits die Erkennungskriterien erfüllt sind, ist ein schließliches Erkennungsergebnis bestimmt worden und wird der Erkennungsprozess in einer Operation 1560 beendet.
  • Wenn in der Operation 1535 entschieden wird, die Erkennungsoperation mit eine gegenwärtigen Sequenz von W(y) und einer neuen Sequenz von passenden Wahrscheinlichkeitsvektoren L(T) fortzusetzen, die z. B. einen reduzierten, einen vergrößerten oder sogar vollständig neuen Teil von eingegebenen Sprachabtastungen darstellen, wird sie zu der Operation 1540 verzweigt. In der Operation 1540 wird diese neue Sequenz von passenden Wahrscheinlichkeitsvektoren L(T) ausgewählt. Dann wird eine neue Passwahrscheinlichkeit für Wortmodelle durch Wiederholen der Operationen 1430 und 1440 mit der neuen Sequenz von L(T) und der gegenwärtigen Sequenz von W(y) in einer Operation 1550 berechnet. Somit wird ein Erkennungsergebnis für die neue Sequenz von L(T) und eine gegenwärtige Sequenz von W(y) basierend auf dieser neuen Passwahrscheinlichkeit für Wortmodelle in der Operation 1550 bestimmt. Wie es bereits in der Operation 1520 beschrieben ist, kann auch in der Operation 1550 das Erkennungsergebnis durch Vergleichen dieser neuen Passwahrscheinlichkeit für Wortmodelle O(T, yend) mit Passwahrscheinlichkeiten für Wortmodelle von zuvor bestimmten optimalen Pfaden bestimmt werden. Somit kann ein Erkennungsergebnis unter Berücksichtigung unterschiedlicher Teile von eingegebenen Sprachabtastungen und durch Vergleichen von optimalen Pfadwahrscheinlichkeiten für diese Teile in Bezug auf ein Wortmodell bestimmt werden. Nachdem die Operation 1550 ausgeführt ist, wird eine Erkennungsoperation mit der Operation 1530 fortgesetzt. In der Operation 1530 wird wieder entschieden, ob ein weiterer Erkennungszyklus mit einer neuen Sequenz von W(y) (Operationen 1510 und 1520) auszuführen ist oder ob sie zu der Entscheidungsoperation 1535 verzweigt wird. In der Operation 1535 wird wieder entschieden, ob ein schließliches Erkennungsergebnis für ein gegebenes Spracheingangssignal bestimmt ist (Operation 1560) oder ob eine neue Sequenz von L(T) auszuwählen ist und die Operationen 1540 und 1550 wiederholt werden.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird die Verweilzeit Td des optimalen Pfads an einer Position y weiterhin zum Beeinflussen der Berechnung der optimalen Pfadwahrscheinlichkeiten O(T, y) durch eine Funktion f(T – Te), die eine unimodale Funktion ist, verwendet. Beispielsweise ist die unimodale Funktion f eine Normalverteilung wie eine Funktion wie z. B.. eine Glockenkurve in Abhängigkeit von der Verweilzeit Td = T – Te des optimalen Pfads an ein und derselben Position y. Dies bedeutet, dass die Summe der Passwahrscheinlichkeiten an einer Position y in der Berechnung von O2(T, y) (Operation 1140) durch eine unimodale Funktion f(Td) auf eine Weise bemaßt wird, dass relativ kurze und lange Verweilzeiten durch Erniedrigen der Pfadwahrscheinlichkeit bestraft werden. Gegensätzlich dazu kann eine mittlere Verweilzeit durch Erhöhen der Pfadwahrscheinlichkeit an der jeweiligen Stelle T(y) belohnt werden. Beispielsweise entspricht die mittlere Verweilzeit der Dauer D, die zum Untermodell an der gegenwärtigen Position y gehört.
  • Dann können optimale Pfadwahrscheinlichkeiten O(T, y) durch Verwenden der folgenden Gleichungen berechnet werden:
    Figure 00320001
    Figure 00330001
  • Eine Tabelle 3 in 14 zeigt ein numerisches Beispiel diesbezüglich, wie ein optimaler Pfad durch eine Wahrscheinlichkeitsmatrix unter Verwendung des in Bezug auf die 11 und 13 beschriebenen Verfahrens berechnet wird. Die erste Spalte 1115 an einer Position y = 0 enthält die Initialisierungswerte O(T, 0) = 1, wie sie in einer Operation 1110 in 13 eingestellt sind. Die nächste rechtsseitige Spalte 1125 an einer Position y = 1 enthält die Passwahrscheinlichkeitswerte für das Untermodell oder Phonem 1 an einer Position y = 1 und wird als Ly=1(T) angezeigt. Gemäß den Operationen 1130, 1140 und 1150 wird die Spalte 1135 von optimalen Pfadwahrscheinlichkeiten O(T, 1) berechnet. Die diagonalen Linien von der Spalte 1115 zu der Spalte 1125 zeigen mögliche Eintrittsstellen Te. Ein horizontaler Pfeil in der Spalte 1125 zeigt, dass eine Eintrittsstelle genommen ist, der jeweilige Wert für die Pfadwahrscheinlichkeit O2(1, 1) gemäß der Gleichung in der Operation 1140 berechnet ist und diese Pfadwahrscheinlichkeit O2(1, 1) als optimale Pfadwahrscheinlichkeit O(1, 1) in einer Operation 1154 gemäß der in der Operation 1151 getroffenen Entscheidung eingestellt ist. Wenn eine Eintrittsstelle aufgrund der in der Operation 1151 getroffenen Entscheidung nicht genommen wird, zeigt ein vertikaler Pfeil am nächsten zu der Spalte 1125, dass die jeweilige optimale Pfadwahrscheinlichkeit, z. B.. O(3, 1) = 0,3, auf den Wert einer Pfadwahrscheinlichkeit O1 (3, 1) eingestellt ist (Operation 1152), die in der Operation 1130 berechnet ist und die in der Operation 1151 getroffene Entscheidung (ohne unimodalen Ausdruck in der Funktion f). Wenn die optimale Pfadwahrscheinlichkeit O(3, 1) auf den Wert von O1(3,1) eingestellt ist, dann wird eine Eintrittsstelle Te gleich T = 3 in einer Operation 1153 eingestellt. Nachdem die Spalte 1135 optimaler Pfadwahrscheinlichkeiten O(T – 1) berechnet worden ist, werden ihre Werte als Eintrittsstellen-Pfadwahrscheinlichkeit O(T – 1, y – 1) in einer Operation 1130 verwendet, um eine nächste Spalte 1155 optimaler Pfadwahrscheinlichkeiten O(T, 2) zu berechnen.
  • Die Verweilzeit Td = T – Te kann auch aus der Tabelle 3 z. B. durch Berücksichtigen der vertikalen und horizontalen Pfeile am nächsten zu den Spalten von Wahrscheinlichkeitsvektorkomponenten Ly(T) berechnet werden. Beispielsweise wäre der Verweilzeitvektor an einer Position y = 1 {0; 0; 1; 0; 1; 0} und an einer Position y = 2{0; 1; 2, 3; 0; 1} für T = 1, ..., 6.
  • In der Tabelle 3 ist die optimale Pfadwahrscheinlichkeit O(3, 2) = 0,5 die höchste optimale Pfadwahrscheinlichkeit an einer Position y = 2, und wäre daher auch die Passwahrscheinlichkeit für Wortmodelle, wenn das untersuchte Wortmodell nur zwei Wortuntermodelle haben würde, nämlich ein Phonem 1 und 2, und y = 2 würde daher yend sein.
  • Somit ist es möglich, den optimalen Pfad durch die Wahrscheinlichkeitsmatrix L(T, y) durch Bestimmen der höchsten optimalen Pfadwahrscheinlichkeit O an einer Position y = yend zu definieren, welche der Passwahrscheinlichkeit für Wortmodelle für das Wortmodell entspricht, das gerade untersucht wird.
  • Um ein Erkennungsergebnis zu bestimmen, wird die höchste Passwahrscheinlichkeit für Wortmodelle von allen Wortmodellen, die gerade berücksichtigt werden, gesucht.
  • 10 zeigt ein Blockdiagramm, das ein System und ein Verfahren gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt. Ein Mikrophon (nicht gezeigt) zeichnet ein eingegebenes Sprachsignal auf, das gesprochene Wörter enthält. Jedoch kann das eingegebene Sprachsignal auch von einer Soundkarte empfangen werden, die z. B.. auch eine automatische Verstärkungssteuerung (AGC) in Reaktion auf eine Sprachaktivitätsinformation durchführt, die nachfolgend beschrieben werden wird. Frames von aufgezeichneten oder empfangenen Signalabtastungen werden dann durch eine Merkmalsextraktionseinheit 1010 empfangen. Die Merkmalsextraktionseinheit 1010 erzeugt ein Signalspektrum aus jedem gelieferten Sprachsignalframe und liefert für jeden Frame einen Merkmalsvektor zur Codebuchvektor-Auswahleinheit 1020. Vor einer in der Merkmalsextraktionseinheit 1010 stattfindenden Merkmalsextraktion kann die Spracheingangsabtastung zuerst zu einer Rauschlöscheinheit (nicht gezeigt) führen, um Rauschen vom eingegebenen Sprachsignal zu reduzieren. Die Merkmalsextraktionseinheit 1010 kann weiterhin eine Lautheitsinformation liefern, die in einem Sprachaktivitätsdetektor 1025 verwendet wird, der nachfolgend beschrieben werden wird. Jeder Merkmalsvektor von der Sequenz von Merkmalsvektoren, die durch die Merkmalsextraktionseinheit 1010 geliefert sind, wird gegenüber Code buchvektoren in der Codebuchvektor-Auswahleinheit 1020 verglichen. Die Codebuchvektoren, mit welchen die Merkmalsvektoren verglichen werden, werden durch eine Codebuch-Datenbank 1030 geliefert. Als Ergebnis des Vergleichs bestimmt die Codebuchvektor-Auswahleinheit 1020 einen oder mehrere Codebuchvektoren, die mit dem untersuchten Merkmalsvektor übereinstimmen bzw. zu diesem passen. Für diese passenden Codebuchvektoren werden zugehörige Wahrscheinlichkeitsvektoren aus einer Datenbank für eine phonetische Wahrscheinlichkeit 1030 geholt und zu dem Sprachaktivitätsdetektor 1025 oder einem Verzerrer 1080 geliefert. Bei einem Ausführungsbeispiel, bei welchem ein Sprachaktivitätsdetektor 1025 implementiert ist, entscheidet der Sprachaktivitätsdetektor 1025 mittels einer Wahrscheinlichkeitsverteilung bei Wahrscheinlichkeitsvektoren, die von der Codebuchvektor-Auswahleinheit empfangen sind, und Lautheitsinformation, die von der Merkmalsextraktionseinheit 1010 empfangen ist, ob ein entsprechender Merkmalsvektor Sprachdaten enthält oder nicht. Jedoch ist gemäß einem Ausführungsbeispiel der vorliegenden Erfindung der Sprachaktivitätsdetektor 1025 weggelassen und werden Wahrscheinlichkeitsvektoren direkt von der Codebuchvektor-Auswahleinheit 1020 zum Verzerrer 1080 geliefert. Der Verzerrer 1080 hat Zugriff auf phonetische Wortmodelle, die in Wortuntermodelle aufgeteilt sind, die in einer Wortmodell/Wortuntermodell-Datenbank 1070 gespeichert sind. Dann wird eine Verzerrungsoperation ausgeführt, wodurch untersucht wird, wie eine Sequenz von Wortuntermodellen zu einer Sequenz von phonetischen Wahrscheinlichkeiten in einer Sequenz von Komponenten von Wahrscheinlichkeitsvektoren passt. Diese Verzerrungsoperation wird für eine Vielzahl von Wortmodellen ausgeführt und das passende Ergebnis oder das Verzerrungsergebnis für jedes Wortmodell wird zu einer Entscheidungseinheit 1060 geliefert. In einem Fall, in welchem die Codebuchvektor-Auswahleinheit auch eine Zuverlässigkeitsinformation als Ergebnis des Vergleichs mittels eines Vertrauensvektors oder ähnlichem zur Verfügung stellt, gibt ein solcher Vertrauensvektor an, wie gut ein Codebuchvektor mit einem jeweiligen Merkmalsvektor übereinstimmt bzw. zu diesem passt, und versieht daher den Verzerrer mit der Information diesbezüglich, wie vertrauenswürdig die Wahrscheinlichkeitswerte in den Komponenten des Wahrscheinlichkeitsvektors sind, welchem der Vertrauensvektor entspricht. Der Verzerrer kann dann die Wahrscheinlichkeitswerte mit jeweiligen Komponenten des entsprechenden Vertrauensvektors in der Verzerrungsoperation gewichten, um mehr auf Wahrscheinlichkeitswerten zu beruhen, die besser mit einem jeweiligen Merkmalsvektor als andere übereinstimmen bzw. zu diesem passen. Eine Entscheidungseinheit 1060, die ein Teil des Verzerrers 1080 sein kann, empfängt Verzerrungsergebnisse von der Verzerrungseinheit für eine Vielzahl von Wortmodellen, von welchen das am besten passende Wortmodell ausgewählt wird. Das am besten passende Wortmodell ist das Wortmodell mit der höchsten Passwahrscheinlichkeit für Wortmodelle. Diese Passwahrscheinlichkeit für ein Wortmodell kann auch "Passqualitätsinfo" genannt werden. Die Entscheidungs-einheit 1060 kommuniziert weiterhin mit einer Anwenderschnittstelle 1100. Die Anwenderschnittstelle 1100 kann eine Konfigurationseinheit und eine Anzeigeeinheit, die dem Anwender ermöglicht, mit dem System zu interagieren, aufweisen. Das Wortmodell mit der höchsten Passwahrscheinlichkeit wird durch die Anwenderschnittstelle 1100 als das Erkennungsergebnis angesehen und in ein Ausgangsformat transformiert, z. B.. kann eine orthografische Wortdarstellung auf der Anzeigeeinheit angezeigt werden oder verwendet werden, um Wellen durch die Klangausgabeeinheit 1090 auszugeben, die auch ein Teil der Anwenderschnittstelle 1010 sein kann. Die Klangausgabeeinheit 1090 kann beispielsweise als Lautsprecher implementiert sein.
  • Eine Datenbank für eine phonetische Wahrscheinlichkeit und ein Codebuch 1030, eine Wortmodell- und Untermodell-Datenbank 1070 und eine Anwenderschnittstelle 1010 sind so genannte Offline-Einheiten, während die übrigen Einheiten des Systems direkt im Datenfluss der Sprachsignale während Erkennungsoperationen implementiert sind.
  • Die Anwenderschnittstelle 1100 sendet in einem Offline-Mode zu erkennende orthografische Wörter zu der Wortmodell/Wortuntermodell-Datenbank 1070, wo die orthografischen Wörter in phonetische Wortmodelle transformiert werden, die aus Wortuntermodellen bestehen. Für eine Transformation wird ein regelbasierendes phonetisches Buchstabieren verwendet, wodurch ein einzelner Buchstabe oder Sequenzen von Buchstaben auf phonetische Wortuntermodelle abgebildet werden. Die zu erkennenden orthografischen Wörter können durch den Anwender z. B.. durch Tippen des Worts auf einer Tastatur der Anwenderschnittstelle eingegeben werden.
  • Die Transformation von orthografischen Wörtern, die durch den Anwender eingegeben sind, in eine phonetische Darstellung von Wortmodellen kann auch in einem Offline-Mode durchgeführt werden.
  • In der Datenbank für eine phonetische Wahrscheinlichkeit und ein Codebuch 1030 sind ein Codebuch und eine entsprechende Wahrscheinlichkeitsvektorgruppe gespeichert. Beispielsweise enthält die Datenbank 1030 gesprochene Wörter einer Vielzahl von Sprechern und jeweilige phonetische Kennzeichnungsinformation, mit welcher sprachabhängige Codebuchvektorgruppen zu der Codebuchvektor-Auswahleinheit 1020 geliefert werden können. Die Auswahl der Sprache wird durch den Anwender über die Anwenderschnittstelle veranlasst und ist auch in einem Offline-Mode durchzuführen.
  • Ein Beispiel einer Datenbank für eine phonetische Wahrscheinlichkeit und ein Codebuch mit einer Tabelle, die Kennzeichnungsinformation und wenigstens eine Codebuchvektorgruppe mit eine zugehörigen Wahrscheinlichkeitsvektorgruppe enthält, ist oben in Bezug auf die Tabelle 2 in 5 beschrieben.
  • Im Folgenden wird ein Verfahren gemäß der vorliegenden Erfindung zum Ableiten einer Wahrscheinlichkeitsvektorgruppe zur Verwendung in einer Spracherkennung basierend auf phonetischen Wortmodellen mit einer Sequenz von Wortuntermodellen beschrieben werden. Gemäß der vorliegenden Erfindung wird ein Wahrscheinlichkeitsvektor für jeden Vektor im Codebuch bestimmt. Um dies durchzuführen, muss zuerst eine Vielzahl von Wörtern jeweils in eine Sequenz von Wortuntermodellen segmentiert werden, so dass für jedes Wort, das gerade untersucht wird, ein Wortmodell mit einer Sequenz von Wortuntermodellen existiert. Diese Segmentierung kann per Hand oder durch Verwenden eines Segmentierungsverfahrens basierend auf einem gegebenen Wortuntermodell-Alphabet durchgeführt werden, wie es im Stand der Technik bekannt ist.
  • In 15 wird die Segmentierung in einer Operation 1240 mit so genannten Trägerwörtern als Worteingangssignalen durchgeführt (Operation 1210). Die Segmentierung selbst wird durch Unterteilen dieser Trägerwörter in Unterteile und durch Darstellen dieser Unterteile durch Wortuntermodelle, die von der Wortuntermodell-Datenbank 1260 genommen werden können, durchgeführt. In einer parallelen oder nachfolgenden Operation 1220 werden diese Trägerwörter in eine Sequenz von Frames unterteilt, und für jeden Frame wird ein Merkmalsvektor erzeugt, wie es oben beschrieben ist.
  • Für jeden Merkmalsvektor wird in einer Operation 1230 wenigstens ein passender Codebuchvektor ausgewählt. Eine Gruppe von Wahrscheinlichkeitsvektoren wird dann in einer Operation 1250 durch Erzeugen eines Wahrscheinlichkeitsvektors für jeden Codebuchvektor erzeugt. Die Wahrscheinlichkeitsvektoren haben eine Dimension gleich der Länge des in der Untermodell-Datenbank 1260 gespeicherten Untermodell-Alphabets, so dass eine einzelne Komponente eines Wahrscheinlichkeitsvektors einem jeweiligen Untermodell im Untermodell-Alphabet entspricht. Wird ein Codebuchvektor in der Operation 1230 derart bestimmt, dass er ein passender Codebuchvektor ist, wird diese Komponente des zugehörigen Wahrscheinlichkeitsvektors um einen bestimmten Wert erhöht, was die Wahrscheinlichkeit für die Äußerung eines Wortuntermodells anzeigt, mit welchem der jeweilige Merkmalsvektor in einer Segmentierungsoperation 1240 verbunden worden ist.
  • Nachdem eine Vielzahl von Wörtern mit signifikanten Wörtern oder so genannten Trägerwörtern analysiert worden ist, wird eine Gruppe von Wahrscheinlichkeitsvektoren in Bezug auf das phonetische Alphabet oder eine Gruppe von Wortuntermodellen erzeugt und kann in einem Spracherkennungsverfahren oder -system gemäß der vorliegenden Erfindung verwendet werden. Jede Komponente zeigt die Wahrscheinlichkeit für die Äußerung eines jeweiligen Wortuntermodells, wenn der zugehörige Codebuchvektor mit dem jeweiligen Merkmalsvektor übereinstimmt bzw. zu diesem passt.
  • Vor einem Verwenden der Wahrscheinlichkeitsvektorgruppe können die Komponentenwerte unter Verwendung eines Normalisierungs- oder Skalierungsverfahrens, das im Stand der Technik bekannt ist, normalisiert werden.
  • In 16 ist ein Teil des Verfahrens zum Ableiten einer Wahrscheinlichkeitsvektorgruppe unter Verwendung eines vereinfachten Beispiels gezeigt. Eine eingegebene Sprache oder ein Wortsignal wird zu einer Segmentierungseinheit oder -operation 1310 eingegeben, wo das eingegebene Sprachsignal in eine Sequenz von Merkmalsvektoren aufgeteilt und weiterhin in zwei Wortuntermodelle "n" und "0" segmentiert wird.
  • In der nächsten Auswahleinheit oder -operation 1320 wird für jeden Merkmalsvektor U(T), mit T = 1 bis 12, ein passender Codebuchvektor Vα, Vβ oder Vδ ausge wählt. Aus der Sequenz von passenden Codebuchvektoren und der Sequenz von Wortuntermodellen, die in einer Tabelle 1330 gespeichert sein können, wird die Gruppe von Wahrscheinlichkeitsvektoren erzeugt, wie es in einer Tabelle 1340 dargestellt ist. Die erste Zeile in der Tabelle 1340 bezeichnet Codebuchvektoren und die zweite Zeile bezeichnet die Wahrscheinlichkeitsvektoren, die zu den jeweiligen Codebuchvektoren gehören. Die folgenden Zeilen zeigen Komponenten der jeweiligen Wahrscheinlichkeitsvektoren für ausgewählte Wortuntermodelle, wie z. B.. "A", "B", "N" oder "O". Die Komponentenwerte sind die Wahrscheinlichkeit für die Äußerung des jeweiligen Wortuntermodells, wenn der zugehörige Codebuchvektor als passender Codebuchvektor ausgewählt wird. Beispielsweise ist die Wahrscheinlichkeit für die Äußerung des Untermodells "N" 0,8, wenn der Codebuchvektor Vα als passender Codebuchvektor ausgewählt wird.
  • Es ist für einen Fachmann auf dem Gebiet klar, dass Ausführungsbeispiele, die in Bezug auf die Figuren der vorliegenden Erfindung beschrieben sind, möglicherweise vereinfacht sein können, um die Schlüsselmerkmale der Erfindung besser zu beschreiben.
  • Gemäß weiteren Ausführungsbeispielen der Erfindung können Ausführungsbeispiele oder Merkmale von Ausführungsbeispielen, die oben beschrieben sind, in irgendeiner Kombination kombiniert werden, die bei einer Spracherkennung nützlich ist.
  • Im vorangehenden Text und in den Ansprüchen, die folgen, sind die Phrasen "Verzerrung", "Verzerrung für eine dynamische Zeit (DTW)", "dynamische Programmierung" oder "Zurückverfolgung" verwendet worden, um alle Verfahren zu enthalten, die im Stand der Technik einer Sprachverarbeitung für ein optimales zeitliches Ausrichten einer Sequenz von framebasierenden Wahrscheinlichkeiten gegenüber einer Sequenz von Wortuntermodellen gemäß der vorliegenden Erfindung verwendet sind. Die Phrase bedeutet, dass sie sowohl den Viterbi-Algorithmus als auch den Baum-Welsh-Algorithmus enthält, selbst wenn Puristen den Baum-Welsh-Algorithmus derart ansehen, dass er eher "ähnlich einer dynamischen Programmierung" als einem tatsächlichen Algorithmus einer dynamischen Programmierung ist.
  • Es sollte auch verstanden werden, dass in dem Text, der vorangeht, und in den Ansprüchen, die folgen, eine Beschreibung für ein Empfangen einer Sequenz von Frames durchgeführt ist, die zu der Äußerung eines gegebenen Worts gehören. Es ist zu verstehen, dass der Ausdruck "Wort" in diesem Sinn bedeutet, dass er nicht nur Wörter enthält, sondern auch Silben und auch irgendeine Sequenz von Wörtern, die zusammen als eine einzige Äußerung gesprochen werden.
  • Weiterhin ist es Fachleuten auf dem Gebiet klar, dass Merkmale, die in dieser Beschreibung oder in den Ansprüchen, die folgen, beschrieben sind, selbst wenn sie nicht explizit beschrieben sind, in irgendeiner Kombination beansprucht werden können, die bei einer Spracherkennung nützlich ist.

Claims (21)

  1. Verfahren zur Spracherkennung unter Verwendung phonetischer Wortmodelle mit Untermodellen, wobei das Verfahren Folgendes aufweist: – Erzeugen (310) von Merkmalsvektoren aus Frames eines eingegebenen Sprachsignals; – Erzeugen (320) eines passenden Wahrscheinlichkeitsvektors für jeden der Merkmalsvektoren, wobei jede Komponente des Wahrscheinlichkeitsvektors die Wahrscheinlichkeit für eine Aussprache eines jeweiligen Wortuntermodells ist; – Bestimmen eines Erkennungsergebnisses (340) durch Bestimmen eines am besten passenden Wortmodells durch Verzerren (Warping) (330) einer Sequenz von passenden Wahrscheinlichkeitsvektoren mit Sequenzen von Untermodellen von zu erkennenden Wortmodellen; und wobei jedes zu erkennende Untermodell durch seine Position y in einem Wortmodell eines zu erkennenden Worts identifiziert wird und das Verfahren weiterhin Folgendes aufweist: Maximieren einer Passwahrscheinlichkeit von Wortuntermodellen an benachbarten Positionen durch Bestimmen von Frame-basierenden Grenzen zwischen aufeinanderfolgenden Wortuntermodellen unter Verwendung einer Verzerrungsoperation basierend auf Sequenzen der passenden Wahrscheinlichkeitsvektoren der Frames und Erwartungen von Wortuntermodellen an jeweiligen Positionen.
  2. Verfahren nach Anspruch 1, das ein Codebuch mit Codebuchvektoren als repräsentative Vektoren in einem Merkmalsraum verwendet, wobei das Verfahren weiterhin Folgendes aufweist: – Vergleichen der Merkmalsvektoren mit den Codebuchvektoren; – Auswählen von wenigstens einem passenden Codebuchvektor für jeden Merkmalsvektor; – Erzeugen des passenden Wahrscheinlichkeitsvektors aus Wahrscheinlichkeitsvektoren, die zu den passenden Codebuchvektoren gehören.
  3. Verfahren nach Anspruch 2, wobei der passende Wahrscheinlichkeitsvektor durch Interpolieren der zu den passenden Codebuchvektoren gehörenden Wahrscheinlichkeitsvektoren gemäß den Abständen zwischen dem Merkmalsvektor und den passenden Codebuchvektoren erzeugt wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Passwahrscheinlichkeit M(y – 1, y) unter Verwendung der folgenden Formel maximiert wird:
    Figure 00420001
    wobei L(T) der passende Wahrscheinlichkeitsvektor zu einer Zeit T ist, W(y) ein Untermodellvektor bei einer Position y ist und b die auf einem Frame basierende Grenze ist.
  5. Verfahren nach Anspruch 4, wobei für jedes Wortuntermodell eine erwartete Dauer D(y) und seine erwartete Varianz e(y) bei der Passwahrscheinlichkeits-Maximierung verwendet wird, um die Grenzenbestimmung zu verbessern, wobei die Passwahrscheinlichkeit M(y – 1, y) mittels einer unimodalen Funktion f(y) unter Verwendung der Dauer D(y) und der Varianz e(y) in folgender Formel maximiert wird:
    Figure 00420002
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die passenden Wahrscheinlichkeitsvektoren durch einen Vertrauensvektor bzw. Konfidenzvektor c(T) in der Verzerrungsoperation gewichtet werden und die maximierende Passwahrscheinlichkeit von Wortuntermodellen spezifiziert wird durch:
    Figure 00430001
  7. Verfahren nach Anspruch 6, wobei der Vertrauensvektor durch die folgende Funktion unter Verwendung eines Abstands a(T) zwischen dem Merkmalsvektor und dem jeweiligen passenden Wahrscheinlichkeitsvektor bestimmt wird:
    Figure 00430002
    wobei σ eine Größe für die erwartete Varianz der a(T)-Verteilung ist.
  8. Verfahren nach einem der vorangehenden Ansprüche, wobei das Verfahren weiterhin Folgendes aufweist: – Bestimmen maximierter Untermodell-Passwahrscheinlichkeiten n(y) aus maximierten Passwahrscheinlichkeiten M; – Verknüpfen der maximierten Untermodell-Passwahrscheinlichkeiten für alle Positionen y mit einer Wortmodell-Passwahrscheinlichkeit P; – Bestimmen des Erkennungsergebnisses durch Bestimmen eines Worts, das dem Wortmodell mit höchster P entspricht.
  9. Verfahren nach Anspruch 8, wobei die Wortmodell-Passwahrscheinlichkeit P aus Untermodell-Passwahrscheinlichkeiten N(y) berechnet wird als: - eine Produktwahrscheinlichkeit unter Verwendung der Gleichung:
    Figure 00430003
    oder – Wahrscheinlichkeit eines arithmetischen Mittels unter Verwendung der Gleichung:
    Figure 00440001
    oder – als geometrisches Mittel unter Verwendung der Gleichung:
    Figure 00440002
  10. Verfahren nach einem der Ansprüche 1 bis 3, wobei für jedes Wortuntermodell ein Untermodell-Vektor W(y) zur Verfügung gestellt wird und das Verfahren weiterhin Folgendes aufweist: a) Auswählen einer Sequenz der passenden Wahrscheinlichkeitsvektoren L(T); b) Auswählen einer Sequenz der Untermodellvektoren W(y), die ein zu untersuchendes Wortmodell darstellen; c) Berechnen einer Wahrscheinlichkeitsmatrix L(T, y) mit Untermodell-Passwahrscheinlichkeiten L(T, y) = L(T)W(y); d) Bestimmen eines optimalen Pfads O(T, y) durch die Wahrscheinlichkeitsmatrix unter Verwendung einer dynamischen Programmierung; e) Bestimmen des Erkennungsergebnisses basierend auf einer Wortmodell-Passwahrscheinlichkeit O(T, yende) des optimalen Pfads.
  11. Verfahren nach Anspruch 10, wobei ein Bestimmen des optimalen Pfads durch Berechnen der optimalen Pfadwahrscheinlichkeiten O(T, y) weiterhin Folgendes aufweist: – Berechnen einer Pfadwahrscheinlichkeit O1(T, y) = O(T – 1,y – 1)L(T, y); – Berechnen einer Pfadwahrscheinlichkeit
    Figure 00440003
    – Einstellen einer optimalen Pfadwahrscheinlichkeit O(T, y) auf die höhere Pfadwahrscheinlichkeit O1((T, y) oder O2(T, y).
  12. Verfahren nach Anspruch 11, wobei eine Verweilzeit Td = T – Te bei der Berechnungsoperation der Pfadwahrscheinlichkeit O2(T, y) verwendet wird und das Verfahren weiterhin Folgendes aufweist: – Berechnen der Pfadwahrscheinlichkeit
    Figure 00450001
    wobei f(T – Te) eine Skalierungsfunktion f(T – Te) = 1/(T – Te) und/oder eine unmodale Verteilungsfunktion ist; – Einstellen von Te gleich T, wenn O1(T, y) höher als O2(T, y) ist; – Berechnen einer nächsten optimalen Pfadwahrscheinlichkeit O(T + 1, y) oder, wenn T = Tende, dann O(1, y + 1).
  13. Verfahren nach einem der Ansprüche 10, bis 12, wobei das Verfahren mit einer neuen Sequenz der Untermodellvektoren W(y) und/oder einer neuen Sequenz der passenden Wahrscheinlichkeitsvektoren L(T), die ein zu untersuchendes Wortmodell darstellen, wiederholt wird und das Verfahren weiterhin Folgendes aufweist: f) Auswählen einer neuen Sequenz der Untermodellvektoren W(y), die ein weiteres zu untersuchendes Wortmodell darstellen; g) Wiederholen der Operationen c) bis e), wobei bei der Operation e) das Erkennungsergebnis basierend auf der Wortmodell-Passwahrscheinlichkeit O(T, yende) von zuvor bestimmten optimalen Pfaden bestimmt wird; und/oder h) Auswählen einer neuen Sequenz von Wahrscheinlichkeitsvektoren L(T); i) Wiederholen der Operationen b) bis e) oder b) bis g), wobei bei der Operation e) das Erkennungsergebnis basierend auf der Wortmodell-Passwahrscheinlichkeit O(T, yende) von wenigstens einigen der bestimmten optimalen Pfade bestimmt wird.
  14. Verfahren für eine Spracherkennung nach einem der Ansprüche 1 bis 13 basierend auf Modellen phonetischer Worte mit Sequenzen von Wortuntermodellen, wobei ein Erzeugen eines passenden Wahrscheinlichkeitsvektors weiterhin Folgendes aufweist: – Segmentieren einer Vielzahl von Worten in eine Sequenz von Wortuntermodellen; – Erzeugen einer Sequenz von Merkmalsvektoren für jedes der Sequenz von Wortuntermodellen; – Auswählen von wenigstens einem passenden Codebuchvektor für jeden Merkmalsvektor; – Erzeugen einer Gruppe von Wahrscheinlichkeitsvektoren, wobei jeder Wahrscheinlichkeitsvektor mit einem Codebuchvektor verbunden ist, wobei die Komponenten der Wahrscheinlichkeitsvektoren die Wahrscheinlichkeit für die Aussprache von einem der Wortuntermodelle sind, wenn der zugehörige Codebuchvektor der passende Codebuchvektor ist.
  15. Verfahren nach Anspruch 14, wobei die Wortuntermodelle z. B. Phoneme, Diphone oder Silben sind und jedes Untermodell seine durchschnittliche zeitliche Dauer und seine Varianz anzeigt.
  16. Verfahren nach Anspruch 15, wobei die Vielzahl von Worten zuerst in eine oder mehrere Silben aufgeteilt wird und für jede Silbe ein Silbenmodell erzeugt wird und für jedes der Silbenmodelle eine Sequenz von Wortuntermodellen bestimmt wird.
  17. Verfahren nach Anspruch 16, wobei die Wortuntermodelle z. B.. Phoneme oder Diphone sind und jedes Untermodell weiterhin seine durchschnittliche zeitliche Dauer und seine Varianz anzeigt.
  18. Computerprogrammprodukt, das einen Computerprogrammcode aufweist, der dann, wenn er auf einem Computer ausgeführt wird, ermöglicht, dass der Computer ein Verfahren nach einem der Ansprüche 1 bis 17 ausführt.
  19. Spracherkennungssystem (100), das phonetische Wortmodelle mit Untermodellen verwendet, wobei das System Folgendes aufweist: – einen Merkmalsgenerator (110) zum Erzeugen von Merkmalsvektoren aus Frames von Eingangssignalen; – einen Merkmalskomparator (120) zum Auswählen von wenigstens einem passenden Codebuchvektor aus einem Codebuch (130) für jeden Merkmalsvektor; – eine Wahrscheinlichkeits-Zusammensetzungseinheit (140) zum Erzeugen eines passenden Wahrscheinlichkeitsvektors aus den Codebuchvektoren; – einen Wahrscheinlichkeitskomparator (160) zum Bestimmen eines Erkennungsergebnisses durch Bestimmen eines am besten passenden Wortmodells durch Verzerren (Warping) einer Sequenz von passenden Wahrscheinlichkeitsvektoren mit Sequenzen von Untermodellen von zu erkennenden Wortmodellen; und wobei der Wahrscheinlichkeitskomparator eine Verzerrereinheit (180, 880) zum Maximieren einer Passwahrscheinlichkeit von Wortuntermodellen an benachbarten Positionen durch Bestimmen von auf einem Frame basierenden Grenzen zwischen aufeinanderfolgenden Wortuntermodellen unter Verwendung einer Verzerrungsoperation basierend auf Sequenzen der passenden Wahrscheinlichkeitsvektoren der Frames und Erwartungen von Wortuntermodellen an jeweiligen Positionen aufweist, wobei jedes zu erkennende Untermodell durch seine Position y in einem Wortmodell eines zu erkennenden Worts identifiziert wird.
  20. Spracherkennungssystem nach Anspruch 19, das in einem digitalen Signalverarbeitungssystem (200) implementiert ist, welches System Folgendes aufweist: eine Verarbeitungseinheit und eine Speichereinheit; – wobei die Verarbeitungseinheit dazu geeignet ist, in Reaktion auf Anweisungen, die in der Speichereinheit gespeichert sind, die Merkmalsvektoren aus Frames eines eingegebenen Sprachsignals zu erzeugen; – wobei die Verarbeitungseinheit weiterhin dazu geeignet ist, in Reaktion auf in der Speichereinheit gespeicherten Anweisungen wenigstens einen passenden Wahrscheinlichkeitsvektor für jeden der Merkmalsvektoren zu erzeugen, wobei jede Komponente des Wahrscheinlichkeitsvektors die Wahrscheinlichkeit für eine Äußerung bzw. Aussprache eines jeweiligen Wortuntermodells ist; – wobei die Verarbeitungseinheit weiterhin dazu geeignet ist, in Reaktion auf in der Speichereinheit gespeicherte Anweisungen das Erkennungsergebnis zu bestimmen; und – wobei die Verarbeitungseinheit weiterhin dazu geeignet ist, die Pass-Wahrscheinlichkeit zu maximieren.
  21. Spracherkennungssystem nach Anspruch 20, wobei die Verarbeitungseinheit in Reaktion auf in der Speichereinheit gespeicherten Anweisungen den passenden Wahrscheinlichkeitsvektor aus Codebuchvektoren mit zugehörigen Wahrscheinlichkeitsvektoren erzeugt, und wobei die Speichereinheit weiterhin Folgendes aufweist: – einen flüchtigen Speicher (270), der die Anweisungen, die passenden Wahrscheinlichkeitsvektoren (272, 274, 275) und die Wortuntermodelle (278, 279) eines zu erkennenden Worts speichert; – einen ersten nichtflüchtigen Speicher (240), der ein Codebuch und eine zugehörige Wahrscheinlichkeitsvektorengruppe speichert; und – einen zweiten nichtflüchtigen Speicher (280), der die Wortmodelle und die Untermodelle speichert.
DE60225536T 2002-06-04 2002-06-04 Verfahren und Vorrichtung zur Spracherkennung Expired - Lifetime DE60225536T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP02012336A EP1369847B1 (de) 2002-06-04 2002-06-04 Verfahren und Vorrichtung zur Spracherkennung

Publications (2)

Publication Number Publication Date
DE60225536D1 DE60225536D1 (de) 2008-04-24
DE60225536T2 true DE60225536T2 (de) 2009-04-23

Family

ID=29433105

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60225536T Expired - Lifetime DE60225536T2 (de) 2002-06-04 2002-06-04 Verfahren und Vorrichtung zur Spracherkennung

Country Status (2)

Country Link
EP (1) EP1369847B1 (de)
DE (1) DE60225536T2 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE536611T1 (de) 2006-02-14 2011-12-15 Intellectual Ventures Fund 21 Llc Kommunikationsgerät mit lautsprecherunabhängiger spracherkennung
CN109697983A (zh) * 2017-10-24 2019-04-30 上海赛趣网络科技有限公司 汽车钢印号快速获取方法、移动终端及存储介质
CN111179914B (zh) * 2019-12-04 2022-12-16 华南理工大学 一种基于改进动态时间规整算法的语音样本筛选方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1159704C (zh) * 1994-06-13 2004-07-28 松下电器产业株式会社 信号分析装置
GB0028277D0 (en) * 2000-11-20 2001-01-03 Canon Kk Speech processing system

Also Published As

Publication number Publication date
DE60225536D1 (de) 2008-04-24
EP1369847A1 (de) 2003-12-10
EP1369847B1 (de) 2008-03-12

Similar Documents

Publication Publication Date Title
DE69818231T2 (de) Verfahren zum diskriminativen training von spracherkennungsmodellen
DE69832393T2 (de) Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache
DE69827988T2 (de) Sprachmodelle für die Spracherkennung
DE102017124264B4 (de) Computerimplementiertes Verfahren und Rechensystem zum Bestimmen phonetischer Beziehungen
DE69814195T2 (de) Vorrichtung zur Sprechererkennung
DE60009583T2 (de) Sprecheradaptation auf der Basis von Stimm-Eigenvektoren
DE69831114T2 (de) Integration mehrfacher Modelle für die Spracherkennung in verschiedenen Umgebungen
DE69827586T2 (de) Technik zur Adaptation von Hidden Markov Modellen für die Spracherkennung
DE69914839T2 (de) Sprecherverifikation und -erkennung mittels Eigenstimmen
DE69725106T2 (de) Verfahren und Vorrichtung zur Spracherkennung mit Rauschadaptierung
DE3337353C2 (de) Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells
DE60302407T2 (de) Umgebungs- und sprecheradaptierte Spracherkennung
DE602004000382T2 (de) Rauschadaptierung zur Spracherkennung
DE60125542T2 (de) System und verfahren zur spracherkennung mit einer vielzahl von spracherkennungsvorrichtungen
DE69635655T2 (de) Sprecherangepasste Spracherkennung
DE69923379T2 (de) Nicht-interaktive Registrierung zur Spracherkennung
DE69829187T2 (de) Halbüberwachte Sprecheradaptation
DE602005002706T2 (de) Verfahren und System für die Umsetzung von Text-zu-Sprache
DE69931813T2 (de) Verfahren und vorrichtung zur grundfrequenzermittlung
DE60305568T2 (de) Schlüsselworterkennung in einem Sprachsignal
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
Chengalvarayan et al. HMM-based speech recognition using state-dependent, discriminatively derived transforms on Mel-warped DFT features
DE60004331T2 (de) Sprecher-erkennung
DE102008017993A1 (de) Sprachsuchvorrichtung
DE69738116T2 (de) Lokalisierung eines Musters in einem Signal

Legal Events

Date Code Title Description
8364 No opposition during term of opposition