DE69832393T2 - Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache - Google Patents

Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache Download PDF

Info

Publication number
DE69832393T2
DE69832393T2 DE69832393T DE69832393T DE69832393T2 DE 69832393 T2 DE69832393 T2 DE 69832393T2 DE 69832393 T DE69832393 T DE 69832393T DE 69832393 T DE69832393 T DE 69832393T DE 69832393 T2 DE69832393 T2 DE 69832393T2
Authority
DE
Germany
Prior art keywords
phoneme
training data
speech
words
output
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
DE69832393T
Other languages
English (en)
Other versions
DE69832393D1 (de
Inventor
D. Xuedong HUANG
A. Fileno ALLEVA
Li Jiang
Mei-Yuh Hwang
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of DE69832393D1 publication Critical patent/DE69832393D1/de
Application granted granted Critical
Publication of DE69832393T2 publication Critical patent/DE69832393T2/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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Computer-Spracherkennung. Insbesondere betrifft die vorliegende Erfindung ein Verfahren zur Erkennung sowohl ununterbrochener als auch abgetrennter Sprache.
  • Die erfolgreichsten momentanen Spracherkennungssysteme verwenden probabilistische Modelle, welche als versteckte Markow-Modelle (hidden Markov models, HMMs) bekannt sind. Ein verstecktes Markow-Modell weist eine Vielzahl von Zuständen auf, wobei eine Übergangswahrscheinlichkeit für jeden Übergang von jedem Zustand in jeden anderen Zustand definiert ist, einschließlich Übergängen in denselben Zustand. Eine Beobachtung steht probabilistisch in Zusammenhang mit jedem einzigartigen Zustand. Die Übergangswahrscheinlichkeiten zwischen Zuständen (die Wahrscheinlichkeiten, dass eine Beobachtung von einem Zustand in den nächsten übergeht) sind nicht immer die gleichen. Daher wird eine Suchtechnik, wie beispielsweise ein Viterbi-Algorithmus, verwendet, um eine wahrscheinlichste Zustandssequenz zu bestimmen, für welche die Gesamtwahrscheinlichkeit mit gegebenen Übergangswahr scheinlichkeiten zwischen Zuständen und Beobachtungswahrscheinlichkeiten maximal ist.
  • In momentanen Spracherkennungssystemen wird die Sprache als durch ein verstecktes Markow-Verfahren erzeugt betrachtet. Folglich werden HMMs verwendet, um beobachtete Sequenzen von Sprachspektren zu modellieren, wobei spezifische Spektren probabilistisch mit einem Zustand in einem HMM in Zusammenhang stehen. Anders gesagt existiert für eine bestimmte beobachtete Sequenz von Sprachspektren eine wahrscheinlichste Sequenz von Zuständen in einem entsprechenden HMM.
  • Dieses entsprechende HMM wird daher mit der beobachteten Sequenz in Zusammenhang gebracht. Diese Technik kann ausgeweitet werden, so dass, wenn jede einzelne Sequenz von Zuständen in dem HMM mit einer Sub-Worteinheit in Zusammenhang steht, wie beispielswiese einem Phonem, dann eine wahrscheinlichste Sequenz von Sub-Worteinheiten gefunden werden kann. Darüber hinaus kann unter Verwendung von Modellen davon, wie Sub-Worteinheiten kombiniert werden, um Worte zu formen, und dann Verwendung von Sprachmodellen davon, wie Worte kombiniert werden, um Sätze zu formen, eine vollständige Spracherkennung erzielt werden.
  • Bei der tatsächlichen Verarbeitung eines akustischen Signals wird das Signal typischerweise in sequentiellen Zeitintervallen abgetastet, welche als Rahmen bezeichnet werden. Die Rahmen weisen typischerweise eine Vielzahl von Mustern auf und können sich überlappen oder zusammenhängend sein. Jeder Rahmen steht mit einem einmaligen Abschnitt des Sprachsignals in Verbindung. Der Abschnitt des Sprachsignals, welcher durch jeden Rahmen dargestellt wird, wird analysiert, um einen entsprechenden akustischen Vektor zu liefern. Während der Spracherkennung wird eine Durchsuchung der Spracheinheitsmodelle durchgeführt, um die Zustandssequenz zu bestimmen, welche am wahrscheinlichsten mit der Sequenz akustischer Vektoren in Zusammenhang steht.
  • Um die wahrscheinlichste Sequenz von Zuständen zu finden, welche einer Sequenz akustischer Vektoren entspricht, kann der Viterbi-Algorithmus verwendet werden. Der Viterbi-Algorithmus führt eine Berechnung durch, welche bei dem ersten Rahmen beginnt und in zeitsynchroner Weise jedes Mal um einen Rahmen weiterschreitet. Ein Wahrscheinlichkeitstreffer wird für jeden Zustand in den Zustandssequenzen (d.h. den HMMs) berechnet, welche betrachtet werden. Daher wird ein kumulativer Wahrscheinlichkeitstreffer nach und nach für jede der möglichen Zustandssequenzen berechnet, wenn der Viterbi-Algorithmus das akustische Signal Rahmen für Rahmen analysiert. Bis zum Ende einer Äußerung liefert die Zustandssequenz (oder HMM oder HMM-Reihe) mit dem höchsten durch den Viterbi-Algorithmus berechneten Wahrscheinlichkeitstreffer die wahrscheinlichste Zustandssequenz für die gesamte Äußerung. Die wahrscheinlichste Zustandssequenz wird dann in eine entsprechende gesprochene Sub-Worteinheit, ein Wort oder eine Wortsequenz umgewandelt.
  • Der Viterbi-Algorithmus reduziert eine Exponentialberechnung in eine, welche proportional zu der Anzahl von Zuständen und Übergängen in dem Modell und der Länge der Äußerung ist. Für einen großen Wortschatz wird jedoch die Anzahl von Zuständen und Übergängen groß, und die Berechnung, welche den Wahrscheinlichkeitstreffer in jedem Zustand in jedem Rahmen für alle möglichen Zustandssequenzen aktualisieren muss, dauert viel länger als die Dauer eines Rahmens, die typischerweise eine Dauer von ca. 10 Millisekunden aufweist.
  • Somit wurde eine Technik entwickelt, die als Ästung oder Strahlensuche bekannt ist, um die für die Bestimmung der wahrscheinlichsten Zustandssequenz benötigte Berechnung stark zu reduzieren. Diese Art von Technik eliminiert die Notwendigkeit der Berechnung des Wahrscheinlichkeitstreffers für sehr unwahrscheinliche Zustandssequenzen. Dies wird typischerweise durch Vergleich des Wahrscheinlichkeitstreffers für jede verbleibende Zustandssequenz (oder potentielle Sequenz) an jedem Rahmen unter Berücksichtigung des höchsten mit diesem Rahmen in Zusammenhang stehenden Treffers erzielt. Wenn die Wahrscheinlichkeitsverteilung eines Zustandes für eine bestimmte potentielle Sequenz ausreichend niedrig ist (bei Vergleich mit der maximalen berechneten Wahrscheinlichkeitsverteilung für die anderen potentiellen Sequenzen zu einem Zeitpunkt), so nimmt der Ästungsalgorithmus an, dass es unwahrscheinlich ist, dass eine Zustandssequenz mit derart geringem Treffer ein Teil der vollständigen wahrscheinlichsten Zustandssequenz sein wird. Der Vergleich wird typischerweise mit Hilfe eines minimalen Schwellenwertes erreicht. Potentielle Zustandssequenzen mit einem Treffer, welcher unterhalb dieses minimalen Schwellenwertes liegt, werden aus dem Suchvorgang entfernt. Der Schwellenwert kann auf jeden gewünschten Pegel festgelegt werden, basierend in erster Linie auf erwünschtem Speicher und Berechnungsspeicherungen, wie auch einem durch den Speicher und die Berechnungsspeicherung verursachten Anstieg der erwünschten Fehlerrate. Die aufbewahrten Zustandssequenzen werden als die aktiven Hypothesen bezeichnet.
  • Ein weiteres herkömmliches Verfahren zur weiteren Reduzierung der Höhe der für die Spracherkennung nötigen Berechnung schließt die Verwendung eines Präfixbaumes ein. Ein Präfixbaum stellt das Lexikon des Spracherkennungssystems als Baumstruktur dar, wobei alle Worte, welche wahrscheinlich durch das System angetroffen werden, in der Baumstruktur dargestellt sind.
  • In einem derartigen Präfixbaum wird jede Sub-Worteinheit (wie beispielsweise ein Phonem) typischerweise durch einen Zweig dargestellt, welcher mit einem bestimmten akustischen Modell (wie beispielsweise einem HMM) in Zusammenhang steht. Die Phonemzweige sind an Knotenpunkten mit nachfolgenden Phonemzweigen verbunden. Alle Worte in dem Lexikon, welche das gleiche erste Phonem teilen, teilen denselben ersten Zweig. Alle Worte, welche das gleiche erste und zweite Phonem aufweisen, teilen denselben ersten und zweiten Zweig. Im Gegensatz dazu teilen Worte, welche ein gemeinsames erstes Phonem aufweisen, jedoch unterschiedliche zweite Phoneme aufweisen, denselben ersten Zweig in dem Präfixbau, weisen jedoch zweite Zweige auf welche am ersten Knoten punkt in dem Präfixbaum auseinander gehen, und so weiter. Die Baumstruktur geht auf diese Weise weiter, so dass alle Worte, auf welche das System wahrscheinlich trifft, durch die Enknoten des Baumes (d.h. die Blätter an dem Baum) dargestellt werden.
  • Es versteht sich, dass durch Verwendung einer Präfixbaumstruktur die Anzahl von Anfangszweigen weitaus geringer ist als die typische Anzahl von Worten in dem Lexikon oder Wortschatz des Systems. Tatsächlich kann die Anzahl von Anfangszweigen die Gesamtanzahl von Phonemen (ca. 40–50) nicht übersteigen, unabhängig von der Größe des durchsuchten Wortschatzes oder Lexikons. Obgleich die Anfangsanzahl von Zweigen groß sein könnte, wenn allophonische Variationen verwendet werden, je nach den verwendeten Allophonen.
  • Spracherkennungssysteme, welche die vorstehenden Techniken verwenden, können typischerweise in zwei Arten klassifiziert werden. Die erste Art ist eine kontinuierliche Spracherkennung (continuous speech recognition, CSR), welche in der Lage ist, fließende Sprache zu erkennen. Das CSR-System wird trainiert (d.h. entwickelt akustische Modelle) basierend auf ununterbrochenen Sprachdaten, wobei einer oder mehrere Leser Übungsdaten in ununterbrochener oder fließender Weise in das System einlesen. Die während des Trainings entwickelten akustischen Modelle werden zur Erkennung von Sprache verwendet.
  • Die zweite Art von System ist eine Einzelspracherkennung (isolated speech recognition, ISR), welche typischerweise zur Erkennung nur abgetrennter Sprache (oder einzelner Worte) verwendet wird. Das ISR-System wird trainiert (d.h. entwickelt akustische Modelle) basierend auf einzelnen oder getrennten Sprachdaten, wobei einer oder mehrere Leser gebeten werden, Übungsdaten auf abgetrennte Weise mit Pausen zwischen den Worten in das System einzulesen. Ein ISR-System ist typischerweise auch präziser und effizienter als kontinuierliche Spracherkennungssysteme, da Wortgrenzen bestimmter sind und der Suchraum folglich enger eingegrenzt ist. Auch wurden Einzelspracherkennungssysteme als spe zieller Fall der kontinuierlichen Spracherkennung betrachtet, da kontinuierliche Spracherkennungssysteme im Allgemeinen auch abgetrennte Sprache akzeptieren können. Sie laufen einfach nicht so gut, wenn sie versuchen abgetrennte Sprache zu erkennen.
  • Es wurde beobachtet, dass Benutzer von CSR-Systemen typischerweise dazu neigen, flüssig zu sprechen, bis das System beginnt, Fehler zu machen, oder bis die Benutzer die Zusammensetzung des Dokuments abwägen. An diesem Punkt kann der Benutzer langsamer werden, oft bis zu Pausen zwischen den Worten. In beiden Fällen glaubt der Benutzer, dass durch langsameres und deutlicheres Sprechen mit Pausen zwischen den Worten der Benutzer das Erkennungssystem unterstützen kann, obgleich der Benutzer das System tatsächlich über dessen Fähigkeiten hinaus beansprucht.
  • Es ist jedoch nicht angemessen, einfach zu versuchen, ununterbrochene Sprache mit einem Einzelspracherkennungssystem zu erkennen. ISR-Systeme laufen typischerweise viel schlechter als CSR-Systeme, wenn sie versuchen, ununterbrochene Sprache zu erkennen. Dies ist darauf zurückzuführen, dass in den ISR-Übungsdaten keine Kreuzwort-Koartikulation vorliegt.
  • Die Druckschrift EP0202534 offenbart ein Spracherkennungssystem, welches gespeicherte Referenzmuster verwendet, um sowohl ununterbrochene als auch einzeln gesprochene Worte, und insbesondere gesprochene Zahlen, zu erkennen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung ist definiert durch die unabhängigen Verfahrensansprüche 1 und 16.
  • Spracherkennung wird durch den Empfang einzelner Sprachübungsdaten durchgeführt, welche eine Vielzahl von getrennt oder deutlich gesprochenen Übungswörtern anzeigen, sowie den Empfang von ununterbrochenen Sprachübungsdaten, die eine Vielzahl von kontinuierlich gesprochenen Übungswörtern anzeigen. Eine Vielzahl von Spracheinheitsmodellen, welche Ausgangswahrscheinlichkeitsverteilungen aufweisen, die Spracheinheiten in den ununterbrochenen und einzelnen Sprachübungsdaten darstellen, wobei die Modelle basierend auf den abgetrennten Sprachübungsdaten und den ununterbrochenen Sprachübungsdaten trainiert werden. Sprache wird basierend auf den trainierten Spracheinheitsmodellen erkannt.
  • In einer bevorzugten Ausführungsform werden Pausen in der zu erkennenden Sprache identifiziert, um eine Phrasendauer zu bestimmen. Eine Vielzahl von Phrasenhypothesen werden erzeugt, welche wahrscheinliche Phrasen anzeigen, die durch die Eingangsdaten zwischen den Pausen dargestellt werden. Eine mit jedem Wort in jeder Phrasenhypothese in Zusammenhang stehende Wortdauer wird mit einer erwarteten Wortdauer für eine Phrase mit einer Anzahl von Worten verglichen, welche der Anzahl von Worten in der Phrasenhypothese entspricht. Ein Ergebnis wird jeder Phrasenhypothese basierend auf dem Vergleich der Wortdauer mit der erwarteten Wortdauer zugewiesen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm einer beispielhaften Umgebung zur Implementierung eines Spracherkennungssystems in Übereinstimmung mit der vorliegenden Erfindung;
  • 2 ist ein detaillierteres Blockdiagramm eines Abschnitts des in 1 gezeigten Systems;
  • 3 ist ein Ablaufdiagramm, welches eine Datensammelprozedur in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung darstellt;
  • 4 ist ein Ablaufdiagramm, welches das Training akustischer Modelle und Seonenkartierung unter Verwendung zusammengefasster Übungsdaten in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung darstellt;
  • 5 ist ein Ablaufdiagramm, welches die Schaffung eines Senonenbaumes in Übereinstimmung mit der vorliegenden Erfindung darstellt;
  • 6 ist eine Darstellung eines Seonenbaumes in Übereinstimmung mit der vorliegenden Erfindung;
  • 7 ist ein Ablaufdiagramm, welches die Schaffung von Wortdauermodellen in Übereinstimmung mit der vorliegenden Erfindung darstellt;
  • 8 ist eine graphische Darstellung einer Vielzahl von Wortdauermodellen, welche in Übereinstimmung mit einer in 7 gezeigten Prozedur erzeugt wurden;
  • 9 ist ein Ablaufdiagramm, welches einen Abschnitt einer Spracherkennungsprozedur in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung darstellt;
  • 10 ist ein Ablaufdiagramm, welches die Anwendung eines Wortdauermodells in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1 und die damit zusammenhängende Beschreibung sollen eine kurze, allgemeine Beschreibung einer geeigneten Rechenumgebung liefern, in welcher. die Erfindung realisiert werden kann. Obgleich dies nicht erforderlich ist, wird die Erfindung zunächst, zumindest teilweise, in dem allgemeinen Kontext computer-ausführbarer Anweisungen, wie beispielsweise Programmmodulen, beschrieben, welche durch einen Personalcomputer ausgeführt werden. Im Allgemeinen schließen Programmmodule Routineprogramme, Objekte, Komponenten, Datenstrukturen etc. ein, welche bestimmte Aufgaben erfüllen oder bestimmte abstrakte Datentypen realisieren. Darüber hinaus wird es sich für Fachleute verstehen, dass die Erfindung mit anderen Computersystemkonfigurationen praktiziert werden kann, einschließlich tragbaren Vorrichtungen, Mehrprozessorsystemen, mikroprozessorbasierter oder programmierbarer Verbraucherelektronik, Netz-PCs, Minicomputern, Mainframecomputern und ähnlichem. Die Erfindung kann auch in verteilten Rechenumgebungen praktiziert werden, wo Aufgaben durch entfernte Verarbeitungsvorrichtungen erfüllt werden, welche durch ein Kommunikationsnetzwerk verbunden sind. In einer verteilten Rechenumgebung können Programmmodule sowohl in lokalen als auch entfernten Speichervorrichtungen lokalisiert sein.
  • Mit Bezug auf 1 weist ein beispielhaftes System zur Realisierung der Erfindung eine Rechenvorrichtung für allgemeine Zwecke in Form eines herkömmlichen Personalcomputers 20 auf, welcher eine Verarbeitungseinheit 21, einen Systemspeicher 22 und einen Systembus 23 einschließt, der die unterschiedlichen Systemkomponenten einschließlich des Systemspeichers mit der Verarbeitungseinheit 21 koppelt. Der Systembus 23 kann jede beliebige von mehreren Arten von Busstrukturen sein, einschließlich eines Speicherbusses oder einer Speichersteuerung, eines Peripheriebusses und eines lokalen Busses, wobei eine beliebige einer Vielzahl von Busarchitekturen verwendet wird. Der Systemspeicher weist den Nur-Lese-Speicher (ROM) 24 und einen Direktzugriffspeicher (RAM) 25 auf. Eine Basis-Ein-/Ausgabe (basic input/output, BIOS) 26 mit der Basisroutine, welche den Informationstransfer zwischen Elementen innerhalb des Personalcomputers 20 unterstützt, so beispielsweise während des Hochfahrens, ist im ROM 24 gespeichert. Der Personalcomputer 20 weist weiter ein Festplattenlaufwerk 27 zum Lesen von und Schreiben auf eine Festplatte (nicht gezeigt) auf, weiter ein Magnetplattenlaufwerk 28 zum Lesen von oder Schreiben auf eine entnehmbare Magnetplatte 29, sowie ein optisches Plattenlaufwerk 30 zum Lesen von oder Schreiben auf eine entnehmbare optische Platte 31, wie beispielsweise eine CD-ROM oder andere optische Medien. Das Festplattenlaufwerk 27, das Magnetplattenlaufwerk 28 und das optische Plattenlaufwerk 30 sind mit dem Systembus 23 durch eine Festplattenlaufwerks-Schnittstelle 32, eine Magnetplattenlauf werks-Schnittstelle 33 bzw. eine optische Plattenlaufwerks-Schnittstelle 34 verbunden. Die Laufwerke und die zugehörigen computerlesbaren Medien liefern eine nicht-flüchtige Speicherung computerlesbarer Anweisungen, Datenstrukturen, Programmmodule und anderen Daten für den Personalcomputer 20.
  • Obgleich die hierin beschriebene beispielhafte Umgebung eine Festplatte, eine entnehmbare Magnetplatte 29 und eine entnehmbare optische Platte 31 aufweist, sollte es sich für Fachleute verstehen, dass andere Arten computerlesbarer Medien, welche zurch den Computer zugängliche Daten speichern können, wie beispielsweise Magnetkassetten, Flash-Memory-Karten, digitale Videoplatten, Bernoulli-Kassetten, Direktzugiffspeicher (RAMs), Nur-Lese-Speicher (ROM) und ähnliches, in der beispielhaften Betriebsumgebung ebenfalls verwendet werden können.
  • Eine Reihe von Programmmodulen kann auf der Festplatte, der Magnetplatte 29, der optischen Platte 31, dem ROM 24 oder dem RAM 25 gespeichert werden, darunter ein Betriebssystem 35, eines oder mehrere Anwendungsprogramme 36, andere Programmmodule 37 und Programmdaten 38. Ein Benutzer kann Befehle und Informationen in den Personalcompter 20 durch Eingabevorrichtungen, wie beispielsweise eine Tastatur 40 und eine Zeigevorrichtung 42 eingeben. Andere Eingabevorrichtungen (nicht gezeigt) können ein Mikrophon, einen Joystick, ein Gamepad, eine Satellitenschüssel, einen Scanner oder ähnliches einschließen. Diese und andere Eingabevorrichtungen sind häufig mit der Verarbeitungseinheit 21 durch eine Seriellanschluss-Schnittstelle 46 verbunden, welche mit dem Systembus gekoppelt ist, können aber durch andere Schnittstellen verbunden sein, wie beispielsweise einen Parallelanschluss, einen Gameport oder einen universellen Seriellbus (USB). Ein Monitor 47 oder eine andere Art von Anzeigevorrichtung ist ebenfalls mit dem Systembus 23 über eine Schnittstelle, wie beispielsweise einen Videoadapter 48, gekoppelt. Zusätzlich zu dem Monitor 47 können Personalcomputer typischerweise andere periphere Ausgabevorrichtungen (nicht gezeigt) aufweisen, wie beispielsweise Lautsprecher und Drucker.
  • Der Personalcomputer 20 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen mit einem oder mehreren entfernten Computer, wie beispielsweise einem entfernten Computer 49 operieren. Der entfernte Computer 49 kann ein weiterer Personalcomputer, ein Server, ein Router, ein Netzwerk-PC, eine gleichwertige Vorrichtung oder ein anderer Netzwerkknoten sein und weist typischerweise viele oder alle der vorstehend mit Bezug auf den Personalcomputer 20 beschriebenen Elemente auf, obgleich nur eine Speichervorrichtung 50 in 1 dargestellt ist. Die in 1 gezeigten logischen Verbindungen schließen ein lokales Netz (local area network, LAN) 51 und ein globales Netz (wide area network, WAN) ein. Derartige Netzumgebungen sind in Büros, unternehmensweiten Computernetzwerk-Intranetzen und dem Internet allgemein üblich.
  • Wenn er in einer LAN-Netzwerkumgebung verwendet wird, ist der Personalcomputer 20 mit dem lokalen Netz 51 durch eine Netzwerkschnittstelle oder einen Adapter 53 verbunden. Wenn er in einer WAN-Netzwerkumgebung verwendet wird, weist der Personalcomputer 20 typischerweise ein Modem 54 oder eine andere Vorrichtung zur Einrichtung von Kommunikation über das globale Netz 52, wie beispielsweise das Internet, auf. Das Modem 54, welches intern oder extern sein kann, ist mit dem Systembus 23 über die Seriellanschluss-Schnittstelle 46 verbunden. In einer Netzwerkumgebung können Programmmodule, welche relativ zu dem Personalcomputer 20 dargestellt sind, oder Teile davon in den entfernten Speichervorrichtungen gespeichert sein. Es versteht sich, dass die gezeigten Netzwerkverbindungen beispielhaft sind und andere Arten der Einrichtung einer Kommunikationsverbindung zwischen den Computern verwendet werden können.
  • Weiter können, wenn die Umgebung in 1 als ein Spracherkennungssystem realisiert ist, andere Komponenten ebenfalls erwünscht sein. Derartige Komponenten können ein Mikrophon, eine Soundkarte und Lautsprecher einschließen, von denen manche nachfolgend ausführlicher beschrieben werden.
  • 2 stellt ein Blockdiagramm eines Spracherkennungssystems 60 in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung dar. Das Spracherkennungssystem 60 weist das Mikrophon 62, den Analog-/Digitalwandler (A/D-Wandler) 64, das Übungsmodul 65, das Merkmals-Extraktionsmodul 66, das Ruhe-Detektionsmodul 68, das Senonenbaum-Speichermodul 70, das Monophonmodell-Speichermodul 72, das Triphonkartierungs-Speichermodul 74, das Präfixbaum-Speichermodul 76, das Wortdauermodell-Speichermodell 78, die Suchmaschine 80 und die Ausgabevorrichtung 82 auf. Es sollte sich verstehen, dass das gesamte System 60, oder ein Teil des Systems 60, in der in 1 dargestellten Umgebung realisiert sein kann. Beispielsweise kann das Mikrophon 62 bevorzugt als eine Eingabevorrichtung in den Personalcomputer 20 durch eine geeignete Schnittstelle und durch den A/D-Wandler 64 bereitgestellt sein. Das Übungsmodul 65, das Merkmals-Extraktionsmodul 66 und das Ruhe-Detektionsmodul 68 können entweder Hardware-Module im Computer 20 (wie beispielsweise von der Zentraleinheit 21 getrennte oder in der Zentraleinheit 21 realisierte Prozessoren) sein, oder aber Softwaremodule, welche in einer beliebigen der in 1 offenbarten und durch die Zentraleinheit 21 oder einen anderen geeigneten Prozessor zugängliche Softwaremodule gespeichert werden. Zusätzlich sind das Senonenbaum-Speichermodul 70, das Monophonmodell-Speichermodul 72, das Triphonkartierungs-Speichermodul 74, das Präfixbaum-Speichermodul 76 und das Wortdauermodell-Speichermodul 78 ebenfalls bevorzugt in beliebigen geeigneten, in 1 gezeigten Speichervorrichtungen gespeichert. Weiter ist die Suchmaschine 80 bevorzugt in der Zentraleinheit 21 realisiert (welche einen oder mehrere Prozessoren aufweisen kann) oder kann durch einen speziellen, durch den Personalcomputer 20 verwendeten Spracherkennungsprozessor durchgeführt werden. Zusätzlich kann die Ausgabevorrichtung 82 in einer bevorzugten Ausführungsform als Monitor 47 oder als ein Drucker oder eine beliebige andere geeignete Ausgabevorrichtung realisiert sein.
  • In jedem Fall wird das System 60 zunächst mit Hilfe von Übungsdaten trainiert. 3 und 4 sind Ablaufdiagramme, welche die Übungsdatensammlungs- und Systemtrainingsprozeduren zeigen, die in Übereinstimmung mit einer bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden. Um das System 60 zu trainieren, werden zunächst Übungsdaten gesammelt, wie mit Bezug auf 3 beschrieben. In einer bevorzugten Ausführungsform weisen die Übungsdaten sowohl ununterbrochene (oder fließende) Übungsdaten auf, in welchen die Übungsworte durch einen Sprecher in ununterbrochener oder fließender Weise in das System 60 eingelesen werden, als auch getrennte (oder deutliche) Übungsdaten, in welchen Übungsworte durch einen Sprecher in deutlicher oder getrennter Weise mit Pausen zwischen Worten in das System 60 eingelesen werden.
  • Somit wird ein erster Sprecher ausgewählt. Dies wird durch Block 84 angezeigt. Dann wird der Sprecher gebeten, Übungssätze fließend in das Mikrophon 62 des Systems 60 einzulesen. Dies wird durch Block 86 angezeigt. Die Übungssätze werden, wie durch Block 88 angezeigt, aufgenommen. Phonetische Transkriptionen jedes durch das System 60 empfangenen Übungswortes werden in den Trainer 65 und das System 60 durch eine Benutzer-Eingabevorrichtung, wie beispielsweise die Tastatur 40 eingegeben. Dies wird durch Block 90 angezeigt. Dann wird bestimmt, ob zusätzliche Sprecher gebeten werden, die Übungssätze ebenfalls zu lesen. Für sprecherunabhängige Systeme wird bevorzugt eine Vielzahl von Sprechern verwendet. Jedoch ist für sprecherabhängige Systeme die Vielzahl von Sprechern optional, und die Übungssätze können nur durch einen einzigen Sprecher gesprochen werden.
  • In jedem Fall wird, falls ein weiterer Sprecher Übungssätze in fließender Weise in das System 60 einlesen soll, der neue Sprecher ausgewählt, und der Prozess wird durch die Blöcke 86, 88 und 90 wiederholt. Dies wird durch die Blöcke 92 und 94 angezeigt.
  • Wenn die ununterbrochenen Übungsdaten in das System 60 eingelesen sind, wird erneut ein erster Sprecher gewählt, wie durch Block 96 angezeigt. Der ausgewählte Sprecher liest dann eine Gruppe von Übungswörtern in das System 60 ein, welche in deutlicher oder getrennter Weise mit Pausen zwischen jedem Wort gelesen werden. Dies wird durch Block 98 angezeigt. Die getrennten Übungsdaten bilden in einer bevorzugten Ausführungsform dieselben Worte wie sie sich in den ununterbrochenen Übungsdaten finden. Jedoch müssen die getrennten Übungsdaten nicht mit den ununterbrochenen Übungsdaten identisch sein und können aus einem vollständig anderen Satz Worte gebildet sein. In jedem Fall wird jedes Wort durch das System 60 aufgezeichnet, wenn es in das System eingelesen wird. Dies wird durch Block 100 angezeigt.
  • Wiederum empfängt das System 60 eine phonetische Transkription jedes in das System 60 eingelesenen Wortes von der Benutzereingabevorrichtung, wie beispielsweise der Tastatur 40. Dies wird durch Block 102 angezeigt.
  • Dann wird bestimmt, ob zusätzliche Sprecher die getrennten Sprachübungsdaten in das System 60 liefern sollen. Ist dies der Fall, so wird ein neuer Sprecher ausgewählt, und dieser Sprecher gibt die getrennten Sprachübungsdaten in der gleichen Weise ein wie der erste. Wird bestimmt, dass keine zusätzlichen Sprecher getrennte Übungsdaten in das System 60 eingeben sollen, so ist der Datensammelprozess abgeschlossen. Dies wird durch die Blöcke 104 und 106 in 3 dargestellt.
  • Es sollte sich auch verstehen, dass die Übungsdaten, anstelle mit Sprechern durch ein Mikrophon eingegeben zu werden, in Form von Ausgabeverteilungen direkt durch eine Eingabevorrichtung, wie beispielsweise ein Diskettenlaufwerk, in das System 60 geladen werden können.
  • Bei der Eingabe der Übungsworte in das System 60 durch das Mikrophon 62 werden sie durch den A/D-Wandler 64 in digitale Abtastwerte umgewandelt und dann in Merkmalsvektoren (oder wer den mit Hilfe von Vektorquantisierung und eines aus Übungsdaten abgeleiteten Codebuches in Codewörter quantisiert), was durch das Merkmals-Extraktionsmodul 66 erfolgt. Die Merkmalsvektoren (oder Codewörter) werden an das Übungsmodul 65 geliefert. Das Übungsmodul 65 empfängt ebenfalls die phonetischen Transkriptionen von der Benutzer-Eingabevorrichtung. Das Übungsmodul 65 verwendet dann die Merkmalsvektoren (oder Codewörter) in den Übungsdaten, wie auch die phonetischen Transkriptionen, um einen Satz monophoner Modelle, Senonenbäume, Triphon-Kartierungsspeicher, einen Präfixbaum und Wortdauermodelle basierend auf den Übungsdaten zu bauen. Diese Elemente werden alle durch die Suchmaschine 80 bei der Durchführung von Erkennung verwendet.
  • 4 ist ein Ablaufdiagramm, welches den Gesamtprozess darstellt, durch den das Übungsmodul 65 die monophonen Modelle, die Senonenbäume und den Triphon-Kartierungsspeicher berechnet. Zunächst empfängt das Übungsmodul 65 die gesammelten Übungsdaten. Gesammelt bedeutet sowohl die ununterbrochenen als auch die getrennten Sprachübungsdaten. Dies wird durch Block 108 in 4 angezeigt. Die Übungsdaten werden durch das Merkmals-Extraktionsmodul 66 in der vorstehend beschriebenen Weise in Ausgangsverteilungen umgewandelt. Somit berechnet das Übungsmodul 65 eines oder mehrere versteckte Markow-Modelle für jedes Wort in den gesammelten Übungsdaten mit Hilfe der Merkmalsvektoren (oder Codewörter) und der ihm gelieferten phonetischen Transkriptionen. Die versteckten Markow-Modelle stehen mit den in den gesammelten Übungsdaten gefundenen Phonemen in Zusammenhang und werden in bekannter Weise basierend auf Ausgangs- und Auftretungshäufigkeiten, welche für jedes Phonem berechnet werden, berechnet
  • In Übereinstimmung mit einer bevorzugten erfindungsgemäßen Ausführungsform modelliert das Übungsmodul 65 jedes in dem Übungsdatensatz gefundene Phonem als monophones Modell. Das monophone Modell weist eine Ausgangs-Wahrscheinlichkeitsverteilung für jeden Zustand in dem Modell auf. Dies wird durch die Blöcke 110 und 112 in 4 angezeigt. Die monophonen Modelle werden in dem Erkennungsschema verwendet, um ein am wahrscheinlichsten passendes Phonem für eine Eingangs-Sprachäußerung zu bestimmen, ehe die Senonen-Evaluation des Phonems beginnt. Die monophonen Modelle werden dann im Speicher 72 gespeichert, wie durch Block 113 angezeigt.
  • Dann erzeugt das Übungsmodul 65 für jeden Zustand in jedem Phonem einen Senonenbaum. Die Technik, durch die ein Senonenbaum erzeugt wird, wird ausführlicher mit Bezug auf 5 beschrieben. Die Erzeugung eines Senonenbaumes wird durch Block 114 in 4 dargestellt. Die Senonenbäume werden dann im Speicher 70 gespeichert, wie durch Block 116 angezeigt.
  • Sind die Senonenbäume erzeugt, so kartiert der Trainer 65 alle erwünschten Triphone (sowohl sichtbar als auch unsichtbar in den Übungsdaten) in Senonensequenzen, welche durch die im Speicher 70 gespeicherten Senonenbäume dargestellt werden. Um dies durchzuführen, wählt der Trainer 65 ein erwünschtes Triphon (ein Phonem mit entsprechendem linkem und rechtem Kontext) und überquert die im Speicher 70 gespeicherten Senonenbäume. Als Ergebnis der Überquerung der Senonenbäume erhält das Übungsmodul 65 ein Senon, welches jedem Zustand in dem modellierten Triphon entspricht, und erhält somit eine Sequenz von Senonen, die jedes Triphon darstellt. Diese Sequenz von Senonen wird an das entsprechende Triphon im Triphon-Kartierungsspeicher 74 kartiert. Dies wird durch Block 118 angezeigt. Die Triphon-Kartierungssequenz wird ebenfalls ausführlicher mit Bezug auf 6 beschrieben.
  • Das Übungsmodul 65 konstruiert dann einen Präfixbaum und speichert den Präfixbaum im Speicher 76. Dies wird durch Block 120 angezeigt. Schließlich berechnet das Übungsmodul 65 ein Wortdauermodell und speichert das Wortdauermodell im Speicher 78. Dies wird durch Block 122 in 4 angezeigt. Die Berechnung des Wortdauermodells wird ausführlicher mit Bezug auf 7 und 8 beschrieben.
  • Nach der Berechnung der monophonen Modelle, der Senonenbäume, der Triphon-Kartierung, des Präfixbaumes und der Wortdauermodelle ist das System 60 konfiguriert, um Spracherkennung durchzuführen. Die Spracherkennungsaufgabe wird ausführlicher in 9 und 10 beschrieben.
  • 5 ist ein Ablaufdiagramm, welches ausführlicher den Prozess darstellt, durch den das Übungsmodul 65 einen Senonenbaum für jeden Zustand in jedem Phonem erzeugt, welches in den gesammelten Übungsdaten enthalten ist. Es wird allgemein erkannt, dass in der englischen Sprache ca. 50 Phoneme existieren. In der bevorzugten Ausführungsform steht jedes Phonem mit drei Zuständen in Zusammenhang. Daher müssen 150 Senonenbäume durch das Übungsmodul 65 erzeugt werden. Auch tritt in der bevorzugten Ausführungsform jedes der 50 Phoneme in den gesammelten Übungsdaten (d.h. den ununterbrochenen Übungsdaten und den getrennten Übungsdaten) in mehreren unterschiedlichen Kontexten auf. Somit können, wenn das Phonem basierend auf einem versteckten Markow-Modell mit drei Zuständen modelliert wird, die Ausgangsverteilungen, welche mit jedem Zustand in jedem der versteckten Markow-Modelle in Zusammenhang stehen, unterschiedlich sein, je nach dem Kontext des Phonems bei seinem Auftreten in den Übungsdaten. Basierend auf dieser Information wird ein Senonenbaum aufgebaut, wie mit Bezug auf 5 beschrieben.
  • Zunächst wird eines der 50 in den Übungsdaten repräsentierten Phoneme ausgewählt. Dies wird durch Block 124 angezeigt. Dann wird der erste Zustand in dem ausgewählten Phonem ausgewählt, wie durch Block 126 angezeigt wird.
  • Die mit dem ausgewählten Zustand in dem ausgewählten Phonem in Zusammenhang stehenden Ausgangsverteilungen für jedes Auftreten des Phonems in den gesammelten Übungsdaten werden wieder abgerufen und zusammen gruppiert. Dies wird durch Block 28 angezeigt. Dann werden die gruppierten Ausgangsverteilungen für den ausgewählten Zustand voneinander basierend auf liguistischen, kontextualen Fragen getrennt. Die Fragen sind Fragen, welche lin guistische Informationen betreffend den Kontext des einzelnen Phonems suchen, für welches der Senonenbaum erzeugt wird. Basierend auf der Antwort auf die Fragen für jede der einzelnen Ausgangsverteilungen werden diese Ausgangsverteilungen von der ersten (Eltern-)Gruppe in zwei (Kinder-)Gruppen geteilt.
  • Das Verfahren für die Auswahl der geeigneten linguistischen Fragen wird nun beschrieben. Kurz gesagt werden die linguistischen Fragen bevorzugt durch einen Linguistikexperten erzeugt und sind konstruiert, um linguistische Klassen kontextualer Effekte aufzunehmen. Beispielsweise findet sich in dem englischsprachigen Artikel von Hon und Lee mit dem Titel CMU ROBUST VOCABULARY-INDEPENDENT SPEECH RECOGNITION SYSTEM, IEEE Int'l Conf. On Acoustics, Speech and Signal Processing, Toronto, Kanada, 1991, S. 889 bis 892, ein Satz von 89 linguistischen Fragen. Um die Elterngruppe in Kindergruppen aufzuspalten, bestimmt das Übungsmodul 65, welche der zahlreichen linguistischen Fragen die beste Frage für die Elterngruppe ist. In einer bevorzugten Ausführungsform wird bestimmt, dass die beste Frage die Frage ist, die den größten Entropieabfall zwischen der Eltergruppe und den Kindergruppen liefert. Alle der linguistischen Fragen können mit "Ja" oder "Nein" beantwortet werden, so dass zwei Kinderknoten aus der Teilung des Elternknotens resultieren.
  • Die Teilung der Gruppen hält gemäß einer vorbestimmten Verzweigungsschwelle an. Eine derartige Schwelle kann beispielsweise beinhalten, wann die Anzahl an Ausgangsverteilungen in einer Gruppe unter einen vorbestimmten Wert fällt, oder wann der aus einer Gruppenteilung resultierende Entropieabfall unter eine weitere Schwelle fällt. Wenn die vorbestimmte Verzweigungsschwelle erreicht wird, sind die resultierenden Endgruppen allesamt Blattgruppen, welche geclusterte Ausgangsverteilungen, oder Senonen, darstellen. Eine einzelne Ausgangsverteilung wird basierend auf der geclusterten Ausgangsverteilung ausgewählt, um das Senon darzustellen. Dies wird durch die Blöcke 130 und 132 dargestellt. Es sollte sich auch verstehen, dass die Fragen in dem Senonenbaum kombiniert oder verknüpft werden können, um zusammengesetzte Fragen zu bilden. Weiter können zusammengesetzte Fragen für bessere zusammengesetzte Fragen auseinandergenommen werden, basierend auf dem Entropieabfall von der Elterngruppe zu den Kindergruppen.
  • Nach der Erzeugung eines Senonenbaumes für den ausgewählten Zustand des ausgewählten Phonems wird der Senonenbaum im Speicher 70 gespeichert. Dies wird durch Block 134 angezeigt. Dieser Prozess wird für jeden Zustand jeden Phonems in dem Vokabular wiederholt, so dass ein Senonenbaum für jeden Zustand in jedem Phonem erzeugt wird. Dies wird durch die Blöcke 136 und 138 in 5 angezeigt.
  • Nach der Erzeugung eines Senonenbaumes für jeden Zustand jeden Phonems in dem Vokabular muss jedes durch das System 60 zu erkennende Triphon zu einer bestimmten Senonensequenz kartiert werden. Anders gesagt muss für jedes zu erkennende Triphon ein angemessenes Senon für jeden Zustand in diesem Triphon durch Überqueren des geeigneten Senonenbaumes, welcher im Speicher 70 gespeichert ist, identifiziert werden.
  • Zunächst werden die phonetischen Transkriptionen jedes zu erkennenden Triphons durch das System 60 von einem Benutzer über eine Transkriptions-Eingabevorrichtung, wie beispielsweise die Tastatur 40, empfangen. Dann wird der Senonenbaum, welcher jedem Zustand des zentralen Phonems des Triphons entspricht, überquert. Der Senonenbaum wird einfach durch Beantworten der mit den Knoten des Senonenbaumes in Zusammenhang stehenden linguistischen Fragen überquert. Nach der Identifizierung eines geeigneten Senons für jeden sukzessiven Zustand des Triphons werden die identifizierten Senonen kombiniert, um eine Senonensequenz zu bilden, welche zu diesem Triphon in dem Speicher 74 kartiert wird.
  • 6 stellt ein Beispiel dar, welches hilfreich beim Verständnis der Art und Weise ist, wie ein Senonenbaum erzeugt und überquert wird. 6 stellt einen Senonenbaum für das Phonem /K/ für den gesprochenen Klang des Buchstabens "c" als Teil des Wortes "Welcome" dar. 6 zeigt den Senonenbaum für den ersten Zustand des /K/-Phonems. Es versteht sich, dass viele der Fragen in dem in 6 gezeigten Senonenbaum zusammengesetzte Fragen sind, welche gemäß der vorstehend beschriebenen Techniken gebildet wurden.
  • Zur Bestimmung der geeigneten Senonensequenz für das Triphon /L, K, UH/, welches durch die Buchstaben "lco" des Wortes "Welcome" gebildet wird, muss jeder Senonenbaum des /K/-Phonems überquert werden. Der in 6 gezeigte Senonenbaum steht in Zusammenhang mit dem ersten Zustand des /K/-Phonems. Die mit dem Wurzelknoten 140 in Zusammenhang stehende linguistische Frage ist, ob das linke Phon in dem Triphon ein sonorer oder ein nasaler Klang ist. Da das /L/ ein sonorer Klang ist, bewegt sich die Baumüberquerung zum Kindknoten 142.
  • Der Kindknoten 142 entspricht einer Antwort mit "Ja" auf die am Knoten 140 gestellte Frage. Die am Knoten 142 gestellte Frage ist, ob das linke Phonem (/L/) ein Rückphonem ist (d.h., ist das linke Phonem ein Phonem; welches mit der Zunge in einer Position in Richtung nach hinten im Mund gesprochen wird). Das /L/ ist ein Rückphonem, also schreitet die Überquerung zu Knoten 144 fort, welcher einer Antwort mit "Ja" auf die im Knoten 142 gestellte Frage entspricht. Unter der Voraussetzung, dass das rechte Phonem (das /UH/-Phonem des Triphons) kein L oder W ist, und das /L/-Phonem keines der in der durch Knoten 142 gestellten Frage spezifizierten Phoneme ist, ist die Antwort auf die Frage am Knoten 142 "Nein". Dies führt zu einem Senon, welches als Senon 2 bezeichnet ist, das als das geeignete Senon für den ersten Zustand des /L, K, UH/-Triphons identifiziert wird. Eine ähnliche Baumüberquerung fährt für jeden der anderen Zustände des /K/-Phonems fort. Für alle Markow-Zustände aller Triphonmodelle, welche in das System 60 eingegeben werden, wird der entsprechende Senonenbaum überquert, bis ein Blatt (oder Senon) erreicht wird. Die für jedes Triphon definierten Senonensequenzen werden im Speicher 70 gespeichert.
  • In der bevorzugten Ausführungsform, in welcher die Erkennungsvorrichtung auf einer Aussprachepräfix-Baumdecodiervorrichtung basiert, wird dann ein Präfixbaum konstruiert, um das Vokabular oder Lexikon darzustellen, welches durch das System 60 zu erkennen ist. Der Präfixbaum wird bevorzugt so konstruiert, dass er von einem Wurzelknoten zu einem Blatt überquert werden kann, um an dem Wort anzukommen, welches am wahrscheinlichsten die Eingangsdaten anzeigt. In einer bevorzugten Ausführungsform weist der Präfixbaum eine Vielzahl kontextabhängiger Ruhephone auf, welche (auf ähnliche Weise wie die im Speicher 72 gespeicherten monophonen Modelle) derart modelliert sind, dass Ruhe als ein Teil der Worte in dem Lexikon eingebettet ist. Nach der Überquerung des Präfixbaumes hält das System 60 bevorzugt aktive Hypothesen aufrecht, welche die wahrscheinlichsten Worte oder Wortsequenzen darstellen, die für jede gegebene erkannte Phrase erkannt werden.
  • Das System 60 konstruiert dann in einer bevorzugten Ausführungsform eine Vielzahl von Wortdauermodellen, welche verwendet werden können, um unter den aktiven Hypothesen, welche aus der Präfixbaum-Decodiervorrichtung stammen, zu wählen. Die Wortdauermodelle werden im Speicher 78 gespeichert. 7 ist ein Ablaufdiagramm, welches die Konstruktion des Wortdauermodells detaillierter darstellt.
  • Die in das System 60 eingegebenen Übungsdaten enthalten bevorzugt einzelne Wörter unterschiedlicher Dauer sowie Wortsequenzen (oder Phrasen), welche durch Pausen getrennt sind, wobei die Wortsequenzen eine Vielzahl unterschiedlicher Wortanzahlen pro Sequenz aufweisen. Das Übungsmodul 65 modelliert die Durchschnittsdauer von Worten in jeder einzelnen Phrase mit einer Wortanzahl n. Daher berechnet das Übungsmodul 65 zunächst die Durchschnittsdauer pro Wort für Phrasen unterschiedlicher Länge in den gesammelten Übungsdaten (dies schließt auch Phrasen mit einer Länge von einem Wort ein). Dies wird durch Block 144 in 7 angezeigt. Als Nächstes erzeugt das Übungsmodul 65 eine Familie von Verteilungen von Wortdauern, welche durch die Anzahl von Worten pro Phrase parameterisiert werden. Dies wird durch Block 146 angezeigt. Das Übungsmodul 65 speichert dann die Familie von Verteilungen im Wortdauer-Modellspeicher 78. Dies wird durch Block 148 angezeigt.
  • 8 ist ein Graph, welcher deutlicher eine Familie von Verteilungen darstellt, die durch das Übungsmodul 65 berechnet werden. 8 zeigt drei Verteilungen 150, 152 und 154, welche auf einem Graphe angezeichnet sind, der die Wortdauer auf der x-Achse und die Anzahl des Auftretens von n-Wort-Phrasen auf der y-Achse aufweist. Die Verteilungen 150, 152 und 154 weisen im Allgemeinen die Form von Gamma-Verteilungen auf, wobei die Verteilung 150 mit der durchschnittlichen Dauer von Ein-Wort-Phrasen in Zusammenhang steht, die Verteilung 152 mit der durchschnittlichen Dauer jedes Wortes in Zwei-Wort-Phrasen in Zusammenhang steht, und die Verteilung 154 mit der durchschnittlichen Wortdauer jedes Wortes in n-Wort-Phrasen in Zusammenhang steht (wobei n eine ganze Zahl ist, die größer ist als 2). Somit stellt 8 graphisch dar, dass die durchschnittliche Dauer jedes Wortes in einer Ein-Wort-Phrase etwas länger ist als die durchschnittliche Dauer jedes Wortes in einer Zwei-Wort-Phrase. Auch ist, wenn die Anzahl von Worten in einer Phrase zwei übersteigt, die durchschnittliche Dauer jedes Wortes in einer derartigen Phrase etwas kürzer als die durchschnittliche Dauer der Worte in einer Ein-Wort- oder Zwei-Wort-Phrase.
  • Während der Erkennung werden die durchschnittlichen Wortdauern in den aktiven Hypothesen, welche nach der Überquerung des Präfixbaumes gewonnen werden, mit den durch das Übungsmodul 65 berechneten Wortdauermodellen verglichen. Jeder Hypothese wird dann basierend darauf, ob die durchschnittliche Dauer pro Wort in dieser bestimmten Hypothese mit dem geeigneten Wortdauermodell gut übereinstimmt (oder nicht übereinstimmt), ein Treffer (oder ein Verfehlen) zugeordnet. Die wird ausführlicher später in der Beschreibung ausgeführt.
  • Wenn das Übungsmodul 65 die monophonen Modelle, den Senonenbaum, die Triphonkartierung, die Präfixbäume und die Wortdauermodelle entwickelt hat, ist das System 60 geeignet konfiguriert, um Sprache zu erkennen.
  • 9 ist ein Ablaufdiagramm, welches eine bevorzugte Technik zur Spracherkennung mit dem System 60 darstellt. Sprache wird zunächst in das System 60 in Form eines hörbaren Stimmsignals eingegeben, welches durch den Benutzer ins Mikrophon 62 geliefert wird. Das Mikrophon 62 wandelt das hörbare Sprachsignal in ein analoges elektronisches Signal um, welches an den A/D-Wandler 64 geliefert wird. Der A/D-Wandler 64 wandelt das analoge Sprachsignal in eine Sequenz digitaler Signale um, welche an das Merkmals-Extraktionsmodul 66 geliefert wird. In einer bevorzugten Ausführungsform ist das Merkmals-Extraktionsmodul 66 ein herkömmlicher Feldprozessor, welcher eine Spektralanalyse an den digitalen Signalen durchführt und einen Höhenwert für jedes Frequenzband eines Frequenzspektrums durchführt. Die Signale werden in einer bevorzugten Ausführungsform durch den A/D-Wandler 64 mit einer Abtastrate von ca. 16 Kilohertz an das Merkmals-Extraktionsmodul 66 geliefert, wobei der A/D-Wandler 64 als ein handelsüblicher bekannter A/D-Wandler realisiert ist.
  • Das Merkmals-Extraktionsmodul 66 teilt die von dem A/D-Wandler 64 erhaltenen digitalen Signale in Rahmen, welche eine Vielzahl digitaler Abtastwerte aufweisen. Jeder Rahmen weist eine Dauer von ca. 10 Millisekunden auf. Jeder Rahmen wird dann bevorzugt durch das Merkmals-Extraktionsmodul 66 in einen Merkmalsvektor umgewandelt, welcher die Spektraleigenschaften für eine Vielzahl von Frequenzbändern reflektiert. Das Merkmals-Extraktionsmodul 66 könnte weiter den Merkmalsvektor in Codewörter basierend auf einer Vektorquantisierungs-Technik und Codebüchern umwandeln, welche von den Übungsdaten abgeleitet wurden (nicht einzeln gezeigt). Ausgangsverteilungen können gegen versteckte Markow-Modelle unter Verwendung des Merkmalsvektors (oder der Codewörter) des einzelnen analysierten Rahmens berechnet werden. Das Merkmals-Extraktionsmodul 66 liefert bevorzugt die Merkmalsvek toren (Codewörter) mit einer Rate von einem Satz ca. jede 10 Millisekunden.
  • Während das Merkmals-Extraktionsmodul 66 die digitalen Abtastwerte von dem A/D-Wandler 64 verarbeitet, verarbeitet das Ruhe- oder Grenz-)Detektionsmodul 68 ebenfalls die Abtastwerte. Das Ruhe-Detektionsmodul 68 kann entweder auf dem gleichen oder einem anderen Prozessor realisiert sein wie derjenige, der zur Realisierung des Merkmals-Extraktionsmoduls 66 verwendet wird. Das Ruhe-Detektionsmodul 68 arbeitet auf bekannte Weise. Kurz gesagt verarbeitet das Ruhe-Detektionsmodul 68 die durch den A/D-Wandler gelieferten digitalen Abtastwerte, um Ruhe (oder Pausen) zu erfassen, um Grenzen zwischen Worten und Phrasen zu erfassen, welche durch den Benutzer geäußert werden. Das Ruhe-Detektionsmodul 68 liefert dann das Grenzdetektionssignal an die Suchmaschine 80, welche die Erfassung einer Wort- oder Phrasengrenze anzeigt. Somit empfängt die Suchmaschine 80 Sprachdaten in Form von Ausgangsverteilungen, welche mit zu erkennenden Zielworten in Zusammenhang stehen. Dies wird durch Block 156 in 9 angezeigt.
  • Die Suchmaschine 80 vergleicht dann die empfangenen Ausgangsverteilungen mit den in dem monophonen Speicher 72 gespeicherten monophonen Modellen. Für jedes aufeinander folgende Zielphonem des gesprochenen Zielwortes und für jeden aufeinander folgenden Zielzustand des Zielphonems vergleicht die Suchmaschine 80 die Ausgangsverteilung für den Zielzustand mit einem entsprechenden Zustand jedes in dem Speicher 72 gespeicherten monophonen Phonemmodells. Die Suchmaschine 80 wählt dann eine vorgegebene Anzahl monophoner Phonemmodelle, deren Zustände am besten mit der Ausgangsverteilung der Zielzustände übereinstimmt, um wahrscheinliche Phoneme zu erhalten, welche durch das Zielphonem dargestellt werden. Dies wird durch Block 158 in 9 dargestellt.
  • Die Suchmaschine 80 wählt dann eines der wahrscheinlichen Phoneme aus und wählt den ersten Zustand in diesem Phonem aus. Dies wird durch die Blöcke 160 und 162 dargestellt. Die Suchmaschine 80 ruft dann die durch den Senonenbaum für den ausgewählten Zustand erzeugten Senonen ab.
  • Als Nächstes vergleicht die Suchmaschine 80 die Ziel-Ausgangsverteilung des ersten Zielzustandes mit jedem Senon des Senonenbaumes, welcher dem ersten Zustand des ausgewählten Phonemmodells entspricht. Die Suchmaschine 80 wählt dann dasjenige Senon, welches am besten zu der Ausgangsverteilung des Zielzustandes passt, als das am besten passende Senon aus und berechnet und speichert einen passenden Wahrscheinlichkeitstreffer für das am besten passende Senon. Dies wird durch die Blöcke 164 und 166 angezeigt.
  • Wenn das ausgewählte Phonem mehr als einen Zustand aufweist, führt die Suchmaschine 80 dieselben Schritte für jeden verbleibenden Zustand in dem ausgewählten Phonem durch. Somit wählt die Suchmaschine 80 ein am besten passendes Senon für jeden Zustand in dem ausgewählten Phonem und berechnet und speichert einen passenden Wahrscheinlichkeitstreffer für das am besten passende Senon. Dies wird durch Block 168 angezeigt. Nachdem alle Zustände in dem ausgewählten Phonem verglichen wurden, hat die Suchmaschine 80 eine wahrscheinliche Senonensequenz für das ausgewählte Phonem basierend auf den bestimmten Wahrscheinichkeitstreffern ausgewählt. Dies wird durch Block 170 angezeigt. Die Suchmaschine 80 greift dann auf die im Speicher 74 gespeicherten Informationen zu und ruft ein wahrscheinliches Triphon ab, welches zu den bestimmten wahrscheinlichen Senonensequenzen kartiert wurde. Dies wird durch Block 172 angezeigt.
  • Die Suchmaschine 80 bestimmt dann, ob alle der wahrscheinlichen Phoneme verarbeitet wurden. Ist dies nicht der Fall, so wiederholt die Suchmaschine 80 den Prozess und gelangt zu einer wahrscheinlichen Senonensequenz für jedes wahrscheinliche Phonem (und gelangt somit zu N wahrscheinlichen Triphonen, die mit dem Zielphonem in Zusammenhang zu bringen sind), basierend auf den während des Vergleichs bestimmten Wahrscheinlichkeitstreffern. Dies wird durch die Blöcke 174 und 176 angezeigt.
  • Wenn die N wahrscheinlichen Triphone identifiziert sind, greift die Suchmaschine 80 auf den Präfixbaum im Speicher 76 zu. Nach der Überquerung des Präfixbaumes identifiziert die Suchmaschine 80 aktive Hypothesen. In einer bevorzugten Ausführungsform greift die Suchmaschine 80 einfach auf ein Lexikon und ein Sprachmodell zu, beispielsweise ein von dem North American Business News Corpus abgeleitetes Wort-Trigramm-Sprachmodell mit 60.000 Wörtern, welches ausführlicher in einer Veröffentlichung mit dem Titel CSR – III Text Language Model, University of Penn., 1994, veröffentlicht durch das Linguistic Data Consortium, ausgeführt ist. Das Sprachmodell wird verwendet, um das wahrscheinlichste Wort oder die wahrscheinlichste Wortsequenz zu identifizieren, welche durch die eingegebenen Daten dargestellt werden, und diese werden durch die Suchmaschine 80 an die Ausgabevorrichtung 82 geliefert.
  • In Übereinstimmung mit einem weiteren Aspekt und einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung verwendet die Suchmaschine 80 jedoch auch die Wortdauermodelle im Speicher 78, um das wahrscheinlichste Wort oder die wahrscheinlichste Wortsequenz zu präziser zu identifizieren, welche durch die eingegebenen Daten dargestellt werden. 10 ist ein Ablaufdiagramm, welches darstellt, wie die Dauermodelle verwendet werden, um zwischen Mehrwortphrasen und Einzelwortphrasen zu unterscheiden. Für die Zwecke dieser Beschreibung ist eine einzelne Phrase mit der Wortanzahl X eine Sequenz von Y fließend gesprochenen Worten, welche mit Ruhe beginnt und endet.
  • Die Anwendung der Dauermodelle wird bevorzugt an den Grenzen der einzelnen Phrasen durchgeführt. Phrasen werden erfasst, indem Pausen in den eingegebenen Daten erfasst werden. Zunächst wird eine Pause in den eingegebenen Daten durch das Ruhe-Detektionsmodul 68 erfasst. Dies wird durch Block 180 angezeigt. Als Nächstes bestimmt die Suchmaschine 80, ob die erfasste Pause eine Dauer d(P) aufweist, welche geringer ist als eine Schwellendauer d(p). Die Schwellendauer d(p) wird empirisch bestimmt, basierend auf den Übungsdaten, um die Erfassung falscher Pausen oder Pausen, welche nicht präzise eine Grenze zwischen Phrasen reflektieren, zu verhindern. Dies wird durch Block 182 angezeigt. Wenn d(P) geringer ist als d(p), kehrt die Verarbeitung zu Block 80 zurück, und eine weitere Pausendetektion wird abgewartet.
  • Wenn d(P) jedoch nicht geringer ist als d(p), berechnet die Suchmaschine 80 die Phrasendauer (oder Segmentdauer) d(S), welche die Dauer zwischen der momentanen Pause und der letzten vorherigen Pause, welche die Schwellendauer d(p) überschritten hat, anzeigt. Dies wird durch Block 184 angezeigt. Die Suchmaschine 80 bestimmt dann, ob die Segmentdauer d(S) größer ist als eine Schwellen-Segmentdauer d(s). Wie bei d(p) wird d(s) empirisch basierend auf den Übungsdaten bestimmt, um sicherzustellen, dass die Segmentdauer d(S) nicht so lang ist, dass die Heuristik nicht angewendet werden sollte. Anders gesagt wird angenommen, dass das Wortdauermodell am effektivsten sein kann, wenn es auf Phrasen mit kürzerer Dauer angewendet wird, anstelle auf Phrasen mit relativ langer Dauer. Wenn die Segmentdauer d(S) größer ist als die Segmentschwelle d(s), kehrt die Verarbeitung zu Block 180 zurück, wo eine weitere Pausendetektion abgewartet wird.
  • Wenn d(S) jedoch geringer ist als die Schwellen-Segmentdauer d(s), wählt die Suchmaschine 80 eine momentane Phrasenhypothese H aus, welche eines der n-wahrscheinlichsten Worte oder eine der n-wahrscheinlichsten Wortphrasen darstellt, die durch die eingegebenen Daten dargestellt werden. Dies wird durch Block 188 angezeigt. Die Suchmaschine 80 bestimmt dann die Wortanzahl in H (wc(H)) und berechnet die durchschnittliche Dauer jedes Worts in H basierend auf wc(H) und d(S) und vergleicht diese mit der im Speicher 78 gespeicherten Wortdauerverteilung, welche einer Phrase mit einer Wortanzahl entspricht, die gleich wc(H) ist. Dies wird durch Block 190 angezeigt.
  • Basierend auf dem Vergleich weist die Suchmaschine 80 dann einen Treffer derjenigen Hypothese H (oder eine Verfehlung) gemäß einer Funktion ip(wc(H), d(S)) zu, welche anzeigt, wie genau die durchschnittliche Wortdauer in H zu dem entsprechenden Wortdauermodell passt. In einer bevorzugten Ausführungsform ist ip(wc(H), d(s)) eine absteigende Gradientenfunktion welche empirisch basierend auf den in das System 60 eingegebenen Übungsdaten herausgefunden wird. Dies wird durch Block 192 angezeigt. Die Suchmaschine 60 wiederholt diesen Prozess für jede der aktiven Hypothesen, wie durch Block 194 angezeigt, und verwendet diese Information bei der Auswahl der wahrscheinlichsten Hypothese. Die Suchmaschine 80 liefert dann die wahrscheinlichste Hypothese an die Ausgabevorrichtung 82 als wahrscheinlichste durch die eingegebenen Daten dargestellte Phrase. Dies wird durch die Blöcke 194 und 196 angezeigt.
  • Daher ist ersichtlich, dass die vorliegende Erfindung signifikante Vorteile über bisherige Systeme bietet. Die vorliegende Erfindung nutzt ein Datensammelverfahren, welches sowohl getrennte Sprachdaten als auch ununterbrochene Sprachdaten als Übungsdatensatz sammelt. Durch Erhöhung des normalen Datensammelverfahrens, so dass der Leser zwischen Worten Pausen einlegen muss sowie fließend sprechen muss, werden mit getrennter Sprache zusammenhängende Ruhekontexte ebenso beim Training der akustischen Modelle in dem System verwendet wie Nicht-Ruhe im Zusammenhang mit fließender Sprache. Es sollte sich verstehen, dass die Übungsdaten für die ununterbrochenen Sprachübungsdaten und die getrennten Sprachübungsdaten entweder die gleichen oder unterschiedliche Worte enthalten können. Dieser Satz gesammelter Übungsdaten wird beim Training der Phonemmodelle, der Erzeugung der Senonenbäume und dem Training der Senonen, wie auch bei der Kartierung von Triphone an die geeigneten Senonensequenzen verwendet.
  • Es sollte sich auch verstehen, dass die Auswirkung der unterschiedlichen Arten von Übungsdaten (ununterbrochene und getrennte) gemäß der Art von Sprache, welche während der Erkennung erwartet wird, unterschiedlich gewichtet werden können. Die Gewichtung kann entweder durch Zuordnung eines Gewichtungskoeffizienten oder einfach durch die Menge jedes Datentyps, welcher an das System in dem Übungsdatensatz geliefert wird, erzielt werden. In einer bevorzugten Ausführungsform werden beide Arten von Übungsdaten gleich gewichtet.
  • Weiter in einer bevorzugten Ausführungsform verwendet die vorliegende Erfindung Wortdauermodelle. Die Wortdauermodelle werden bevorzugt während des Trainings entwickelt und werden an Phrasengrenzen angewendet, um die Präzision des Erkennungssystems noch weiter zu steigern.
  • Die vorliegenden Techniken können auch verwendet werden, um andere Arten von Übungsdaten ebenfalls in das System einzuführen. Beispielsweise kann der Benutzer nicht nur zur Eingabe der Übungsdaten als getrennte oder ununterbrochene Sprache geleitet werden, sondern der Benutzer kann auch zur Eingabe der Übungsdaten laut, leise, langsamer oder schneller oder mit anderen Variationen geleitet werden. Alle diese Übungsdaten können dann auf ähnliche Weise wie vorstehend beschrieben verwendet werden, um die akustischen Modelle, welche in dem System verwendet werden, zu trainieren, um ein noch robusteres Erkennungssystem zu erhalten.

Claims (16)

  1. Verfahren zur Implementierung eines Spracherkennungsystems, wobei das Verfahren die folgenden Schritte aufweist: Empfang von einzelnen Sprachübungsdaten, die eine Vielzahl von getrennt oder deutlich gesprochenen Übungswörtern (98) anzeigen; Empfang von ununterbrochenen Sprachübungsdaten, die eine Vielzahl von kontinuierlich gesprochenen Übungswörtern (86) anzeigen; Bereitstellung einer Vielzahl von Spracheinheitsmustern (72), welche Ausgangswahrscheinlichkeitsverteilungen aufweisen, die Spracheinheiten in den ununterbrochenen und einzelnen Sprachübungsdaten darstellen, wobei die Muster Phoneme oder Laute wiedergeben, die basierend auf den einzelnen Sprachübungsdaten und den ununterbrochenen Sprachübungsdaten (110) trainiert werden; und Bereitstellung einer Erkennungsvorrichtung (80) zum Erkennen von Sprache basierend auf den trainierten Spracheinheitsmustern (72).
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die einzelnen Sprachübungsdaten (98) den Empfang einer ersten Vielzahl von akustischen Signalen einschließen, wobei der Empfang ununterbrochener Sprachübungsdaten (86) den Empfang einer zweiten Vielzahl von akustischen Signalen einschließt, und wobei die Bereitstellung einer Vielzahl von Spracheinheitsmustern Folgendes aufweist: Entwickeln einer Vielzahl an akustischen Mustern basierend auf der ersten und zweiten Vielzahl an akustischen Signalen.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Entwicklung einer Vielzahl von akustischen Mustern Folgendes aufweist: Entwickeln einer Vielzahl von Ausgangswahrscheinlichkeitsverteilungen, welche Phoneme (110) in den ununterbrochenen und einzelnen Sprachübungsdaten basierend auf der ersten und zweiten Vielzahl an akustischen Signalen darstellen.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Empfang einzelner Sprachübungsdaten Folgendes aufweist: Empfangen von einzelnen Sprachdaten, welche Ruhe-Kontextinformationen einschließen, die mit einer Vielzahl von diskret oder getrennt gesprochenen Übungswörtern in Zusammenhang stehen.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Empfang einzelner Sprachdaten den folgenden Schritt aufweist: Empfangen der getrennten Sprachdaten, welche einen Benutzer anzeigen, der die Vielzahl von Übungswörtern getrennt spricht, mit Pausen zwischen jedem aus der Vielzahl von Übungswörtern (108).
  6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Empfang ununterbrochener Sprachübungsdaten den folgenden Schritt aufweist: Empfang von ununterbrochenen Sprachdaten, welche einen Benutzer anzeigen, der eine Vielzahl von Übungswörtern fließend spricht (86).
  7. Verfahren nach Anspruch 1, welches weiter den folgenden Schritt aufweist: Gewichtung der ununterbrochenen Sprachübungsdaten und der einzelnen Sprachübungsdaten, bevor die Spracheinheitsmuster basierend auf erwarteter Sprache trainiert werden, erkannt zu werden (109).
  8. Verfahren nach Anspruch 1, welches weiter den folgenden Schritt aufweist: Empfang von zusätzlichen Sprachübungssdaten, welche einen Benutzer anzeigen, der eine Vielzahl von Übungswörtern auf unterschiedliche Art und Weise spricht.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das Empfangen zusätzlicher Sprachübungsdaten den folgenden Schritt aufweist: Empfang der zusätzlichen Sprachübungsdaten, welche den Benutzer anzeigen, der die Vielzahl an Übungswörtern mit einer ersten Amplitude und mit einer zweiten Amplitude spricht, wobei die zweite Amplitude größer als die erste Amplitude ist.
  10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der Empfang zusätzlicher Sprachübungsdaten den folgenden Schritt aufweist: Empfang von zusätzlichen Sprachübungsdaten, die anzeigen, dass ein Benutzer die Vielzahl an Übungswörtern fießend spricht, mit einer ersten Geschwindigkeit und einer zweiten Geschwindigkeit, wobei die zweite Geschwindigkeit schneller als die erste Geschwindigkeit ist.
  11. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Bereitstellung einer Vielzahl von Spracheinheitsmustern weiter den folgenden Schritt aufweist: Assoziieren einer jeden Ausgangsverteilung mit einem Zustand aus einer festgelegten Anzahl von Zuständen eines Phonems, welches zumindest einen Teil eines der Übungswörter bildet.
  12. Verfahren nach Anspruch 11, welches weiter folgende Schritte aufweist: Gruppieren der Ausgangsverteilungen für jedes Phonem, wobei die Ausgangsverteilungen mit einem ausgewählten Phonem aus allen das ausgewählte Phonem enthaltenden Übungswörtern in Zusammenhang stehen, um eine Ausgangsverteilungsgruppe (128) zu bilden; und Schaffen für jeden Zustand in jedem Phonem (136) einen Senonenbaum (134) für einen ausgewählten Zustand in dem ausgewählten Phonem durch Trennen (130) der mit dem ausgewählten Zustand (126) in Zusammenhang stehenden Ausgangsverteilungen in der Ausgangsverteilungsgruppe in Senone, basierend auf linguistischen Kontextinformationen, die mit dem ausgewählten Phonem in Zusammenhang stehen.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Bereitstellung einer Erkennungsvorrichtung zur Erkennung von Sprache die Konfiguration der Spracherkennungsvorrichtung aufweist, um die folgenden Schritte auszuführen: Empfangen einer Ausgangsverteilung für jeden nachfolgenden Zustand eines jeden nachfolgenden Zielphonems in einem zu erkennenden Zielwort (158); für jedes Zielphonem Identifizieren einer Anzahl von wahrscheinlichen Phonemen (160), welche das Zielphonem am wahrscheinlichsten darstellen; Vergleichen von Senonen, die mit den Zuständen der wahrscheinlichsten Phoneme (164) in Zusammenhang stehen, mit den Ausgangsverteilungen, welche mit entsprechenden Zuständen des Zielphonems in Zusammenhang stehen; und Identifizieren eines wahrscheinlichsten Phonems, welches Senone aufweist, die am besten mit den Ausgangsverteilungen des Zielphonems (170) übereinstimmen.
  14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass das Vergleichen folgendene Schritte aufweist: Drehen des mit jedem Zustand in jedem wahrscheinlichen Phonem in Zusammenhang stehenden Senonenbaums, basierend auf linguistischen Kontextinformationen des Zielphonems, um ein Senon für jeden Zustand in dem Zielphonem (174) zu identifizieren; und Vergleichen der mit dem Zustand im Zielphonem in Zusammenhang stehenden Ausgangsverteilung mit der Ausgangsverteilung, die mit dem identifizierten Senon in dem wahrscheinlichen Phonem (176) in Zusammenhang steht.
  15. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass das Identifizieren einer Anzahl von wahrscheinlichen Phonemen die folgenden Schritte aufweist: Bilden einer Vielzahl von monophonen Mustern, basierend auf den einzelnen Sprachübungsdaten und den ununterbrochenen Sprachübungsdaten, welche Phoneme in den Übungswörtern (156) anzeigen; Vergleichen der mit dem Zielphonem in Zusammenhang stehenden Ausgangsverteilungen mit den monophonen Mustern (164); und Identifizieren einer Anzahl von wahrscheinlichen Phonemen (160), welche monophone Muster aufweisen, die den mit dem Zielphonem in Zusammenhang stehenden Ausgangsverteilungen weitgehend entsprechen.
  16. Verfahren zum Trainieren einer Spracherkennungsvorrichtung, welches folgende Schritte aufweist: Empfang von einzelnen Sprachübungsdaten, die eine Vielzahl von getrennt gesprochenen Übungswörtern anzeigen, wobei die einzelnen Sprachübungsdaten eine erste Vielzahl von Ausgangsverteilungen aufweisen, wobei jede Ausgangsverteilung mit einem aus einer vorher festgelegten Anzahl von Zuständen in einem Phonem in Zusammenhang steht, wobei das Phonem zumindest einen Teil eines der getrennt gesprochenen Übungswörter (98) bildet; Empfang von ununterbrochenen Sprachübungsdaten, die eine Vielzahl von ununterbrochen gesprochenen Übungswörtern anzeigen, wobei die ununterbrochenen Sprachübungsdaten eine zweite Vielzahl von Ausgangsverteilungen aufweisen, wobei jede aus der zweiten Vielzahl von Ausgangsverteilungen mit einem Zustand aus einer festgelegten Anzahl von Zuständen in einem Phonem in Zusammenhang steht, wobei das Phonem zumindest einen Teil eines der ununterbrochen gesprochenen Übungswörter (86) bildet; Gruppierung der mit einem ausgewählten Phonem in Zusammenhang stehenden Ausgangsverteilungen aus allen Übungswörtern, die das ausgewählte Phonem enthalten, um eine Ausgangsverteilungsgruppe zu bilden; und Schaffen eines Senonenbaums (134) für einen ausgewählten Zustand in dem ausgewählten Phonem durch Trennen der Ausgangsverteilungen (130), die mit dem ausgewählten Zustand in der Ausgangsverteilungsgruppe in Zusammenhang stehen, basierend auf den mit dem auswählten Phonem in Verbindung stehenden linguistischen Kontextinformationen.
DE69832393T 1997-09-19 1998-09-16 Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache Expired - Lifetime DE69832393T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US934622 1997-09-19
US08/934,622 US6076056A (en) 1997-09-19 1997-09-19 Speech recognition system for recognizing continuous and isolated speech
PCT/US1998/019346 WO1999016052A2 (en) 1997-09-19 1998-09-16 Speech recognition system for recognizing continuous and isolated speech

Publications (2)

Publication Number Publication Date
DE69832393D1 DE69832393D1 (de) 2005-12-22
DE69832393T2 true DE69832393T2 (de) 2006-08-17

Family

ID=25465823

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69832393T Expired - Lifetime DE69832393T2 (de) 1997-09-19 1998-09-16 Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache
DE69840115T Expired - Lifetime DE69840115D1 (de) 1997-09-19 1998-09-16 Verfahren zur Spracherkennung mittels Modellierung der Wortdauer

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69840115T Expired - Lifetime DE69840115D1 (de) 1997-09-19 1998-09-16 Verfahren zur Spracherkennung mittels Modellierung der Wortdauer

Country Status (7)

Country Link
US (1) US6076056A (de)
EP (2) EP1012827B1 (de)
JP (1) JP4351385B2 (de)
CN (1) CN1202512C (de)
CA (1) CA2303011A1 (de)
DE (2) DE69832393T2 (de)
WO (1) WO1999016052A2 (de)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374219B1 (en) * 1997-09-19 2002-04-16 Microsoft Corporation System for using silence in speech recognition
US6807537B1 (en) * 1997-12-04 2004-10-19 Microsoft Corporation Mixtures of Bayesian networks
US6292779B1 (en) * 1998-03-09 2001-09-18 Lernout & Hauspie Speech Products N.V. System and method for modeless large vocabulary speech recognition
US6260014B1 (en) * 1998-09-14 2001-07-10 International Business Machines Corporation Specific task composite acoustic models
US6728344B1 (en) * 1999-07-16 2004-04-27 Agere Systems Inc. Efficient compression of VROM messages for telephone answering devices
US6904402B1 (en) * 1999-11-05 2005-06-07 Microsoft Corporation System and iterative method for lexicon, segmentation and language model joint optimization
US6789062B1 (en) * 2000-02-25 2004-09-07 Speechworks International, Inc. Automatically retraining a speech recognition system
DE10034235C1 (de) * 2000-07-14 2001-08-09 Siemens Ag Verfahren zur Spracherkennung und Spracherkenner
US6957184B2 (en) * 2000-07-20 2005-10-18 Microsoft Corporation Context free grammar engine for speech recognition system
US6931376B2 (en) 2000-07-20 2005-08-16 Microsoft Corporation Speech-related event notification system
US7139709B2 (en) 2000-07-20 2006-11-21 Microsoft Corporation Middleware layer between speech related applications and engines
US20020042709A1 (en) * 2000-09-29 2002-04-11 Rainer Klisch Method and device for analyzing a spoken sequence of numbers
US6832189B1 (en) 2000-11-15 2004-12-14 International Business Machines Corporation Integration of speech recognition and stenographic services for improved ASR training
US7451075B2 (en) * 2000-12-29 2008-11-11 Microsoft Corporation Compressed speech lexicon and method and apparatus for creating and accessing the speech lexicon
US7587321B2 (en) * 2001-05-08 2009-09-08 Intel Corporation Method, apparatus, and system for building context dependent models for a large vocabulary continuous speech recognition (LVCSR) system
AU2002240872A1 (en) * 2001-12-21 2003-07-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for voice recognition
JP2003208195A (ja) * 2002-01-16 2003-07-25 Sharp Corp 連続音声認識装置および連続音声認識方法、連続音声認識プログラム、並びに、プログラム記録媒体
US7324944B2 (en) * 2002-12-12 2008-01-29 Brigham Young University, Technology Transfer Office Systems and methods for dynamically analyzing temporality in speech
US20040122672A1 (en) * 2002-12-18 2004-06-24 Jean-Francois Bonastre Gaussian model-based dynamic time warping system and method for speech processing
TWI245259B (en) * 2002-12-20 2005-12-11 Ibm Sensor based speech recognizer selection, adaptation and combination
TWI224771B (en) * 2003-04-10 2004-12-01 Delta Electronics Inc Speech recognition device and method using di-phone model to realize the mixed-multi-lingual global phoneme
US20050049873A1 (en) * 2003-08-28 2005-03-03 Itamar Bartur Dynamic ranges for viterbi calculations
US9117460B2 (en) * 2004-05-12 2015-08-25 Core Wireless Licensing S.A.R.L. Detection of end of utterance in speech recognition system
JP4541781B2 (ja) * 2004-06-29 2010-09-08 キヤノン株式会社 音声認識装置および方法
KR100636317B1 (ko) * 2004-09-06 2006-10-18 삼성전자주식회사 분산 음성 인식 시스템 및 그 방법
KR100703697B1 (ko) * 2005-02-02 2007-04-05 삼성전자주식회사 어휘 그룹 트리를 이용한 어휘 인식 방법 및 장치
US8694318B2 (en) 2006-09-19 2014-04-08 At&T Intellectual Property I, L. P. Methods, systems, and products for indexing content
US20080162129A1 (en) * 2006-12-29 2008-07-03 Motorola, Inc. Method and apparatus pertaining to the processing of sampled audio content using a multi-resolution speech recognition search process
US20080162128A1 (en) 2006-12-29 2008-07-03 Motorola, Inc. Method and apparatus pertaining to the processing of sampled audio content using a fast speech recognition search process
KR101611464B1 (ko) * 2008-10-10 2016-04-11 스펜션 엘엘씨 데이터 패턴 분석 방법 및 분석 시스템
US8700399B2 (en) * 2009-07-06 2014-04-15 Sensory, Inc. Systems and methods for hands-free voice control and voice search
US20110184723A1 (en) * 2010-01-25 2011-07-28 Microsoft Corporation Phonetic suggestion engine
CN101819772B (zh) * 2010-02-09 2012-03-28 中国船舶重工集团公司第七○九研究所 一种基于语音分段的孤立词识别方法
CN102971787B (zh) * 2010-10-29 2014-04-23 安徽科大讯飞信息科技股份有限公司 录音结束点检测方法及系统
US8838449B2 (en) * 2010-12-23 2014-09-16 Microsoft Corporation Word-dependent language model
US9348479B2 (en) 2011-12-08 2016-05-24 Microsoft Technology Licensing, Llc Sentiment aware user interface customization
US9378290B2 (en) 2011-12-20 2016-06-28 Microsoft Technology Licensing, Llc Scenario-adaptive input method editor
US9514739B2 (en) * 2012-06-06 2016-12-06 Cypress Semiconductor Corporation Phoneme score accelerator
WO2014000143A1 (en) 2012-06-25 2014-01-03 Microsoft Corporation Input method editor application platform
US9502029B1 (en) * 2012-06-25 2016-11-22 Amazon Technologies, Inc. Context-aware speech processing
US8959109B2 (en) 2012-08-06 2015-02-17 Microsoft Corporation Business intelligent in-document suggestions
KR101911999B1 (ko) 2012-08-30 2018-10-25 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 피처 기반 후보 선택 기법
US9646605B2 (en) * 2013-01-22 2017-05-09 Interactive Intelligence Group, Inc. False alarm reduction in speech recognition systems using contextual information
KR101905827B1 (ko) * 2013-06-26 2018-10-08 한국전자통신연구원 연속어 음성 인식 장치 및 방법
CN105580004A (zh) 2013-08-09 2016-05-11 微软技术许可有限责任公司 提供语言帮助的输入方法编辑器
US8719032B1 (en) 2013-12-11 2014-05-06 Jefferson Audio Video Systems, Inc. Methods for presenting speech blocks from a plurality of audio input data streams to a user in an interface
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US10134425B1 (en) * 2015-06-29 2018-11-20 Amazon Technologies, Inc. Direction-based speech endpointing
KR102437689B1 (ko) 2015-09-16 2022-08-30 삼성전자주식회사 음성 인식 서버 및 그 제어 방법
CN106683677B (zh) 2015-11-06 2021-11-12 阿里巴巴集团控股有限公司 语音识别方法及装置
CN105513589B (zh) * 2015-12-18 2020-04-28 百度在线网络技术(北京)有限公司 语音识别方法和装置
US10854192B1 (en) * 2016-03-30 2020-12-01 Amazon Technologies, Inc. Domain specific endpointing
EP3509062B1 (de) * 2016-08-31 2020-05-27 Sony Corporation Audiosignalerkenner, audiosignalerkennungsverfahren und programm
US10720151B2 (en) 2018-07-27 2020-07-21 Deepgram, Inc. End-to-end neural networks for speech recognition and classification
CN109974954B (zh) * 2018-11-22 2021-02-02 长安大学 一种路面自行车骑行振动预测系统及方法
US11138966B2 (en) * 2019-02-07 2021-10-05 Tencent America LLC Unsupervised automatic speech recognition
CN112151018A (zh) * 2019-06-10 2020-12-29 阿里巴巴集团控股有限公司 语音评测及语音识别方法、装置、设备及存储介质
IT201900015506A1 (it) 2019-09-03 2021-03-03 St Microelectronics Srl Procedimento di elaborazione di un segnale elettrico trasdotto da un segnale vocale, dispositivo elettronico, rete connessa di dispositivi elettronici e prodotto informatico corrispondenti
CN112599129B (zh) * 2021-03-01 2021-05-28 北京世纪好未来教育科技有限公司 语音识别方法、装置、设备和存储介质
US11893983B2 (en) * 2021-06-23 2024-02-06 International Business Machines Corporation Adding words to a prefix tree for improving speech recognition

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0202534B1 (de) * 1985-05-07 1990-04-11 Nec Corporation System zur Erkennung kontinuierlicher Sprache
US4783808A (en) * 1986-04-25 1988-11-08 Texas Instruments Incorporated Connected word recognition enrollment method
US5144672A (en) * 1989-10-05 1992-09-01 Ricoh Company, Ltd. Speech recognition apparatus including speaker-independent dictionary and speaker-dependent
US5202952A (en) * 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
US5450523A (en) * 1990-11-15 1995-09-12 Matsushita Electric Industrial Co., Ltd. Training module for estimating mixture Gaussian densities for speech unit models in speech recognition systems
US5193142A (en) * 1990-11-15 1993-03-09 Matsushita Electric Industrial Co., Ltd. Training module for estimating mixture gaussian densities for speech-unit models in speech recognition systems
US5280563A (en) * 1991-12-20 1994-01-18 Kurzweil Applied Intelligence, Inc. Method of optimizing a composite speech recognition expert
US5502790A (en) * 1991-12-24 1996-03-26 Oki Electric Industry Co., Ltd. Speech recognition method and system using triphones, diphones, and phonemes
US5379253A (en) * 1992-06-01 1995-01-03 National Semiconductor Corporation High density EEPROM cell array with novel programming scheme and method of manufacture
JPH075892A (ja) * 1993-04-29 1995-01-10 Matsushita Electric Ind Co Ltd 音声認識方法

Also Published As

Publication number Publication date
EP1610301B1 (de) 2008-10-08
DE69832393D1 (de) 2005-12-22
EP1610301A2 (de) 2005-12-28
EP1012827A2 (de) 2000-06-28
CA2303011A1 (en) 1999-04-01
DE69840115D1 (de) 2008-11-20
CN1279806A (zh) 2001-01-10
US6076056A (en) 2000-06-13
EP1012827B1 (de) 2005-11-16
WO1999016052A3 (en) 1999-05-20
CN1202512C (zh) 2005-05-18
WO1999016052A2 (en) 1999-04-01
JP4351385B2 (ja) 2009-10-28
EP1610301A3 (de) 2006-03-15
JP2001517816A (ja) 2001-10-09

Similar Documents

Publication Publication Date Title
DE69832393T2 (de) Spracherkennungssystem für die erkennung von kontinuierlicher und isolierter sprache
DE60009583T2 (de) Sprecheradaptation auf der Basis von Stimm-Eigenvektoren
DE69923379T2 (de) Nicht-interaktive Registrierung zur Spracherkennung
DE602005001125T2 (de) Erlernen der Aussprache neuer Worte unter Verwendung eines Aussprachegraphen
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
Halberstadt et al. Heterogeneous acoustic measurements for phonetic classification 1.
US5033087A (en) Method and apparatus for the automatic determination of phonological rules as for a continuous speech recognition system
EP0570660A1 (de) Spracherkennungssystem zur naturgetreuen Sprachübersetzung
JPH06175696A (ja) 音声コード化装置及びその方法並びに音声認識装置及びその方法
EP1184839A2 (de) Graphem-Phonem-Konvertierung
DE69738116T2 (de) Lokalisierung eines Musters in einem Signal
DE60318385T2 (de) Sprachverarbeitungseinrichtung und -verfahren, aufzeichnungsmedium und programm
EP3010014B1 (de) Verfahren zur interpretation von automatischer spracherkennung
EP1058235B1 (de) Wiedergabeverfahren für sprachgesteuerte Systeme mit text-basierter Sprachsynthese
DE60018696T2 (de) Robuste sprachverarbeitung von verrauschten sprachmodellen
US7289958B2 (en) Automatic language independent triphone training using a phonetic table
DE10040063A1 (de) Verfahren zur Zuordnung von Phonemen
Kanthak et al. Multilingual acoustic modeling using graphemes.
CN117043857A (zh) 用于英语发音评估的方法、设备和计算机程序产品
Padmanabhan et al. Speech recognition performance on a voicemail transcription task
DE60219030T2 (de) Verfahren zur mehrsprachigen Spracherkennung
Parikh et al. Gujarati speech recognition–A review
DE69908034T2 (de) Minimierung eines Suchnetzwerks für die Spracherkennung
Stadtschnitzer Robust speech recognition for german and dialectal broadcast programmes
de Mareüil et al. Multi-lingual automatic phoneme clustering

Legal Events

Date Code Title Description
8364 No opposition during term of opposition