DE3783154T2 - Spracherkennungssystem. - Google Patents

Spracherkennungssystem.

Info

Publication number
DE3783154T2
DE3783154T2 DE8787104079T DE3783154T DE3783154T2 DE 3783154 T2 DE3783154 T2 DE 3783154T2 DE 8787104079 T DE8787104079 T DE 8787104079T DE 3783154 T DE3783154 T DE 3783154T DE 3783154 T2 DE3783154 T2 DE 3783154T2
Authority
DE
Germany
Prior art keywords
word
probability
value
given
identifier
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
DE8787104079T
Other languages
English (en)
Other versions
DE3783154D1 (de
Inventor
Lalit Rai Bahl
Steven Vincent Degennaro
Peter Vincent Desouza
Robert Leroy Mercer
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3783154D1 publication Critical patent/DE3783154D1/de
Application granted granted Critical
Publication of DE3783154T2 publication Critical patent/DE3783154T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • G10L15/144Training of HMMs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)

Description

  • Die Erfindung betrifft ein Verfahren zur Berechnung der Wahrscheinlichkeit der Übereinstimmung eines Wortes mit einer Spracheingabe in ein Spracherkennungssystem.
  • Die folgenden Europäischen Patentanmeldungen geben Hintergrund- oder Basisinformationen zu dieser Erfindung: EP-A-238 689 (86 104 216.6), EP-A-238 696 (86 104 224.0), EP-A-179 280 (85 111 905.7) und EP-A-238 693 (86 104 220.8)
  • 1. Stand der Technik bezüglich der schnellen näherungsweisen Akustikübereinstimmung
  • Der typische Zweck eines Spracherkennungssystems ist die automatische Umwandlung natürlicher Sprache in eine andere Form, beispielsweise die Schriftform. Zur Erreichung dieses Zieles sind verschiedene allgemeine Wege in Erwägung gezogen worden. Ein Weg zielt auf die Nachahmung von Wiedergabeverfahren der menschlichen Sprache. Ein anderer Weg ist, die Sprache in einem statistischen Zusammenhang zu betrachten.
  • Innerhalb des statistischen Weges sind, wie in der Veröffentlichung "A Maximum Likelihood Approach to Continuous Speech Recognition", IEEE Transactions on Pattern Analysis and Machine Intelligence, Band PAMI-5, Nummer 2, Seiten 179-190 (1983), von Bahl, Jelinek, und Mercer vorgeschlagen wurde, mehrere Techniken in Erwägung gezogen worden. Wie in der Veröffentlichung von Bahl et al beschrieben wurde, enthält ein typisches Modell eines Spracherkennungssystems einen Textgenerator und nachfolgend einen Sprecher oder Redner. Der Textgenerator bestimmt was gesagt werden soll und der Sprecher erzeugt natürliche Sprache in Wellenform. Die natürliche Sprache in Wellenform tritt in einen Akustikprozessor ein, dessen Ausgang zu einem Sprachentschlüssler führt. In Abhängigkeit von der angewandten Technik können die oben erwähnten Komponenten in unterschiedlicher Weise miteinander verbunden sein. Bahl et al kombinieren den Sprecher und den Akustikprozessor derart, daß sie wie ein Akustikkanal wirken, worin der Sprecher den Text als Sprache in Wellenform ausgibt und worin der Akustikprozessor wie ein Datenverdichter fungiert, der dem Sprachentschlüssler eine Folge von Erkennungszeichen (auch als Symbole oder Phoneme bezeichnet) zur Verfügung stellt. Die Erkennungszeichen können auf jedem beliebigen Weg erzeugt werden und werden üblicherweise gemeinsam als Zeichenfolge Y mit den fort laufenden Erkennungszeichen y&sub1;y&sub2;y&sub3;--- gekennzeichnet. Der Sprachentschlüssler hat den Zweck, den ursprünglichen Text in einer vorgeschriebenen Form darzustellen, die auf der ankommenden Folge von Erkennungszeichen basiert.
  • In der oben erwähnten Veröffentlichung ist ein Akustikprozessor - der IBM "centisecond" Akustikprozessor (CSAP) - beschrieben, der die Sprache in Wellenform in eine Folge von parametrisierten Vektoren umwandelt. Jeder parametrisierte Vektor wird mit gespeicherten Mustern (oder Vergleichsvektoren) verglichen - dabei wird der Abstand von dem parametrisierten Vektor und jedem Muster bestimmt. Das "Erkennungszeichen" des am nächsten liegenden Musters wird dann dem parametrisierten Wellenformvektor zugewiesen. Das Erkennungszeichen kann jede beliebige Form haben und darf in jeder beliebigen Weise gemäß existierenden Technologien ermittelt werden.
  • Der Sprachentschlüssler hat den Zweck, eine Übereinstimmung zwischen den eingehenden Erkennungszeichen und Wörtern des Wörterverzeichnisses des Systems herbeizuführen. In der Veröffentlichung von Bahl et al ist ein wahrscheinlichkeitstheoretischer Ansatz dargelegt, in dem der Sprachentschlüssler eine Wortzeichenfolge W bestimmen soll, bei der die Wahrscheinlichkeit, daß diese die Folge der Erkennungszeichen y&sub1;y&sub2;y&sub3;--- erzeugt hat, am höchsten ist. Mathematisch wird das dargestellt durch den Ausdruck:
  • Max Pr(W Y), (1)
  • die höchste Wahrscheinlichkeit von W bei gegebenem Y über alle Wortzeichenfolgen W. Gemäß der allgemein bekannten Wahrscheinlichkeitstheorie kann das auch geschrieben werden als:
  • Pr(W Y) = Pr(W)·Pr(Y W)/Pr(Y) (2)
  • wobei Pr(Y) unabhängig von W ist und die Wahrscheinlichkeit einer gegebenen Wortzeichenfolge W, nämlich Pr(W), bestimmt wird durch ein Sprachmodell im Sprachentschlüssler.
  • Angenommen, an einer Stelle im Entschlüsselungsverfahren wurde eine anfängliche Unterfolge, zum Beispiel y&sub1;y&sub2; . . . yT, versuchsweise als die Wortzeichenfolge W&sub1;W&sub2; . . . Wn entschlüsselt. Das erfindungsgemäße Verfahren ist ausgerichtet auf die Bestimmung einer Reihe von Wortkandidaten W(n+1) für die
  • Pr(W(n+1) y&sub1;...yTYT+1...yT+k, W&sub1;...Wn)
  • relativ groß ist für einige Werte von k - verglichen mit anderen Wörtern des Wörterverzeichnisses -.
  • Zur Bestimmung von Pr(Y W) wurde das Markovmodell in Erwägung gezogen. Wie in der Veröffentlichung von Bahl et al beschrieben wurde, ist die Anzahl der von den verschiedenen Sprachentschlüsselungstechniken benötigten Rechenoperationen relativ hoch, insbesondere bei größeren Wörterverzeichnissen mit beispielsweise 5000 und mehr Wörtern.
  • Bei der Sprachentschlüsselung ist eine Schlüsselfrage, wie man Pr(Y W) für eine Wortzeichenfolge eines Wörterverzeichnisses bestimmt, ohne dabei übermäßig viel Rechenzeit zu benötigen und ohne die Genauigkeit der Entschlüsselung zu verschlechtern.
  • Diese und andere Aufgaben werden mit dieser Erfindung angesprochen.
  • 2. Stand der Technik bezüglich des Abrufverfahrens
  • In einem wahrscheinlichkeitstheoretischen Ansatz zur Spracherkennung wird eine akustische Wellenform zuerst durch einen Akustikprozessor in eine Folge von Erkennungszeichen oder Phoneme umgewandelt. Die Erkennungszeichen, von denen jedes einzelne einen Klangtypen kennzeichnet, werden aus einem Alphabet von typischerweise ungefähr 200 verschiedenen Erkennungszeichen ausgewählt. Die Erzeugung solcher Erkennungszeichen wurde in verschiedenen Veröffentlichungen wie "Continous Speech Recognition by Statistical Methods" Proceedings of the IEEE, Band 64, Seiten 532-556 (1976) dargelegt.
  • Beim Einsatz von Erkennungszeichen zur Durchführung der Spracherkennung sind Markovmodell-Lautmaschinen (werden auch als wahrscheinlich endliche Maschinen bezeichnet) diskutiert worden. Ein Markovmodell enthält normalerweise eine Vielzahl von Betriebsarten und Übergängen zwischen den Betriebsarten. Zusätzlich sind dem Markovmodell normalerweise Wahrscheinlichkeiten zugeordnet, die sich auf (a) die Wahrscheinlichkeit von jedem auftretendem Übergang und (b) auf die jeweilige Wahrscheinlichkeit der Erzeugung von jedem Erkennungszeichen an verschiedenen Übergängen beziehen. Das Markovmodell ist, bzw. die Markovmodelle sind in verschiedenen Veröffentlichungen wie "A Maximum Likelihood Approach to Continous Speech Recognition" IEEE Transactions on Pattern Analysis and Machine Intelligence, Band PAMI-5, Nr. 2, März 1983 von L.R. Wahl, F. Jelinek und R.L. Merzer beschrieben worden.
  • Ein Ansatz zur Spracherkennung, welcher die erzeugten Erkennungszeichen und Markovmodell-Lautmaschinen einsetzt, beinhaltet die Akustik - wie oben beschrieben. Eine akustische Anpassung ist nur mäßig effektiv, benötigt jedoch normalerweise einen beträchtlichen Rechenaufwand.
  • Eine rechnerisch nicht aufwendige Verfahrensweise, die anstelle oder in Verbindung mit der akustischen Übereinstimmung eingesetzt werden kann, ist ein erstrebenswertes Ziel. Das Abrufverfahren verwendet Markovmodell-Lautmaschinen und Erkennungszeichen, die als Antwort auf ein gegebenes gesprochenes Original erzeugt werden, um dieses Ziel zu erreichen.
  • 3. Stand der Technik in Bezug auf den Gesamttrefferwert
  • Vorhersagen bezüglich des potentiellen Marktes für wirkungsvolle Wort- (und insbesondere Sprach-) Erkennungsgeräte wurden in verschiedenen Publikationen gemacht. Allein für Spracherkennungsgeräte gibt es Vorhersagen in einem Bereich von einigen 10 Millionen bis Milliarden Dollar jährlich. Dementsprechend sind bemerkenswerte Anstrengungen in Richtung auf die Herstellung wirkungsvoller Spracherkennungssysteme, die in der Lage sind, aus einem großen Wörterverzeichnis, beispielsweise in der Größenordnung von 5000 und mehr Wörtern, ausgewählte Wörter zu übersetzen, unternommen worden.
  • Eine konventionelle Technik benutzt die Bildung von Schablonen, eine für jedes Wort. Gesprochene Sprache wird dann mit den Schablonen verglichen, um zu bestimmen, welche Schablone am besten zu der Sprache paßt. Um Variationen in der Aussprache von einem zum nächsten Mal zu berücksichtigen, verfügen solche Systeme über eine dynamische zeitliche Veränderung oder Dehnung und eine Justierung, um die Muster an die gespeicherten Schablonen anzupassen.
  • Bei der Durchführung von Spracherkennung, welche auf Schablonen, akustischer Übereinstimmung oder anderen Methoden basiert, war es das Hauptziel, die Genauigkeit des ausgewählten Wortes zu erhöhen, ohne dabei exzessiv viel Rechenzeit zu beanspruchen. Die vorliegende Erfindung geht im Rahmen dieses dritten Aspektes auf diese Zielsetzung ein.
  • Die EP-A-0 060 076 offenbart ein Spracherkennungsverfahren unter Verwendung von sowohl zeitabhängigen und als auch zeitunabhängigen Merkmalen.
  • Das erfindungsgemäße Verfahren erleichtert die Bestimmung, welches Wort oder welche Wörter aus einem Wörterverzeichnis die höchste Wahrscheinlichkeit haben, eine bestimmte Folge von Erkennungszeichen zu produzieren.
  • Um diese Aufgabe zu lösen, wird ein erfindungsgemäßes Verfahren mit einer Anzahl von Näherungen zur Herbeiführung einer statistischen Übereinstimmung von Wörtern und deren Erkennungszeichen vorgestellt, das die Herbeiführung der Übereinstimmung beschleunigt, ohne einen unerwünschten Verlust an Genauigkeit zu bewirken. Zusätzlich bezieht sich die Erfindung auf ein Verfahren, gemäß dem Wörter mit ähnlichen phonetischen Anfängen solange simultan mit den ankommenden Erkennungszeichen verglichen werden, wie die Wörter jeweils ähnliche phonetische Anfänge haben.
  • Die oben genannten Aufgaben der Erfindung sind durch die Merkmale des Anspruches l gelöst. Weitere Ausführungsformen und vorteilhafte Ergänzungen sind durch die Unteransprüche gekennzeichnet.
  • Basierend auf Testdaten wurde herausgefunden, daß die Anwendung eines Gesamttrefferwertes - welcher durch Kombination eines Schnellanpassungs-Worttrefferwertes, der auf einer Basisform, aus einem ersten Markovmodelltyp basiert, mit einem Detailvergleich-Worttrefferwert, der auf einer Basisform aus einem zweiten Markovmodelltyp basiert, erzeugt wird - resultiert in einer 30% bis 50% verbesserten Fehlerrate, verglichen mit einem Spracherkennungssystem, welches einfach eine detaillierte Übereinstimmung von Wortkandidaten durchführt, die sich mit einem Schnellanpassungs-Algorithmus ergeben.
  • Im weiteren wird die Erfindung bezüglich der beigefügten Zeichnung beschrieben, wobei:
  • Fig. 1 ein allgemeines Blockdiagramm einer Systemumgebung ist, in der das erfindungsgemäße Verfahren ausgeführt werden kann.
  • Fig. 2 ein Blockdiagramm der Systemumgebung aus Fig. 1 ist, in dem der Stapeldecoder detaillierter dargestellt ist.
  • Fig. 3 eine Darstellung von einer Detailvergleichs-Lautmaschine ist, der sich im Speicher befindet und darin durch Statistiken, die während Lernsitzungen erhalten wurden, dargestellt wird.
  • Fig. 4 eine Darstellung ist, die die Elemente eines Akustikprozessors beschreibt.
  • Fig. 5 eine Darstellung von einem typischen menschlichen Ohr ist, die anzeigt, wo Komponenten eines akustischen Modells definiert sind.
  • Fig. 6 ein Blockdiagramm ist, das Teile des Akustikprozessors zeigt.
  • Fig. 7 eine grafische Darstellung ist, in der die Schallintensität in Abhängigkeit von der Frequenz aufgetragen ist, wobei diese grafische Darstellung zur Auslegung des Akustikprozessors verwendet wird.
  • Fig. 8 eine grafische Darstellung ist, in der der Zusammenhang zwischen Sone und Phon gezeigt ist.
  • Fig. 9 eine Darstellung eines Flußdiagrammes ist, die zeigt, wie der Klang gemäß dem Akustikprozessor aus Fig. 4 charakterisiert ist.
  • Fig. 10 eine Darstellung eines Flußdiagrammes ist, das zeigt, wie die Schwellen in Fig. 9 aktualisiert werden.
  • Fig. 11 ein Gitterdiagramm oder Linienraster von einer Detailvergleichsprozedur ist.
  • Fig. 12 ein Diagramm ist, das eine Lautmaschine beschreibt, der bei der Herbeiführung einer Übereinstimmung eingesetzt wird.
  • Fig. 13 ein Zeitverteilungsdiagramm mit gewissen ausschließenden Bedingungen ist, das in einer Anpassungsprozedurprozedur eingesetzt wird.
  • Fig. 14 (a-e) Diagramme sind, die die Wechselbeziehungen zwischen Lauten, einer Folge von Erkennungszeichen und in der Anpassungsprozedur bestimmten Anfangs- und Endzuständen zeigen.
  • Fig. 15 (a) ein Diagramm ist, das eine spezielle Lautmaschine mit der minimalen Länge 0 zeigt und Fig. 15 (b) ein dazu entsprechendes Zeitdiagramm ist.
  • Fig. 16 (a) eine Lautmaschine ist, die der minimalen Länge 4
  • entspricht und Fig. 16 (b) ein dazu entsprechendes Zeitdiagramm ist.
  • Fig. 17 ein Diagramm ist, das eine Baumstruktur eine Lautes zeigt, die die Bearbeitung von mehreren Wörtern gleichzeitig erlaubt.
  • Fig. 18 ein Flußdiagramm ist, das die Schritte darlegt, die in einer Übungslautmaschine zur Herbeiführung einer akustischen Übereinstimmung durchgeführt werden.
  • Fig. 19 eine Darstellung ist, die die nachfolgenden Schritte einer Stapeldecodierung zeigt.
  • Fig. 20 eine grafische Darstellung ist, die Wahrscheinlichkeitsvektoren für die jeweiligen Wortpfade und eine Hüllkurve beschreibt.
  • Fig. 21 ein Flußdiagramm ist, das Schritte in einer Stapeldecodierungsprozedur dar legt.
  • Fig. 22 ein Flußdiagramm ist, das zeigt, wie ein Wortpfad mit Worten, die durch eine akustische Übereinstimmung erhalten wurden, verlängert wird.
  • Fig. 23 eine Darstellung ist, die eine phonemische Lautmaschine zeigt.
  • Fig. 24 ein Gitterdiagramm für eine aufeinanderfolgende Vielfalt von phonemischen Lautmaschinen ist.
  • Fig. 25 eine Darstellung von einem Abschnitt einer Lautbaumstruktur ist, wie sie zur Vorsortierung eingesetzt wird.
  • Fig. 26 eine Tabelle zur Repräsentation weiterer Informationen ist, die die Baumstruktur aus Fig. 25 betreffen.
  • Fig. 27 bis Fig. 31 und Fig. 33 bis Fig. 36 Flußdiagramme sind, die zeigen, wie Akustikübereinstimmungen herbeigeführt werden.
  • Fig. 32 ein Flußdiagramm ist, das die Schritte zeigt, die den Austausch aktueller Wahrscheinlichkeiten von Erkennungszeichen, wie sie in einer detaillierten Akustikübereinstimmung verwendet werden, durch näherungsweise Wahrscheinlichkeiten von Erkennungszeichen, wie sie in einer näherungsweisen schnellen Akustikübereinstimmung verwendet werden, betreffen.
  • Fig. 37 ein Flußdiagramm ist, das das erfindungsgemäße Abrufverfahren darstellt.
  • Fig. 38 eine grafische Darstellung ist, die die Zählverteilung für Erkennungszeichen darstellt.
  • Fig. 39 eine grafische Darstellung ist, die darlegt, wie oft jeder Laut während einer Lernsitzung jedes Erkennungszeichens erzeugt wird.
  • Fig. 40 eine Darstellung ist, die die Folge von Lauten zeigt, welche jedes von zwei Wörtern ausmachen.
  • Fig. 41 eine grafische Darstellung ist, die die erwartete Häufigkeit eines Wortes für jedes Erkennungszeichen darstellt.
  • Fig. 42 eine Tabelle ist, die den Bonuswert eines jeden Erkennungszeichens für jedes Wort zeigt.
  • Fig. 43 eine Tabelle ist, die den Abzugswert eines jeden Erkennungszeichen für jedes Wort zeigt.
  • Fig. 44 ein Blockdiagramm ist, das die erfindungsgemäße Vorrichtung darstellt.
  • Fig. 45 ein Informationsflußdiagramm ist, das zeigt, wie ein Gesamttrefferwert aus einer Vielzahl von unabhängigen Worttrefferwerten erzeugt wird.
  • Fig. 46 Fig. 47 und Fig. 48 repräsentieren jeweils eine spezifische Ausführungsform, die beschreibt, wie ein Gesamttrefferwert aus einer Vielzahl von unabhängigen Worttrefferwerten erzeugt wird.
  • Fig. 49 ein Blockdiagram ist, das eine strukturell dargestellte Ausführungsform zeigt, in der ein Gesamttrefferwert aus einem Detailvergleich-Worttrefferwert und einem Schnellanpassungs-Worttrefferwert hergeleitet wird.
  • Fig. 50 ein strukturelles Blockdiagramm ist, in dem eine Vorrichtung zur Erzeugung eines Schnellanpassungs-Worttrefferwertes und eine Vorrichtung zur Erzeugung eines Abrufverfahrens-Worttrefferwertes zur Erzeugung eines Gesamttrefferwertes zusammen operieren.
  • (I) Die Umgebung eines Spracherkennungssystems A. Allgemeine Beschreibung
  • In Fig. 1 ist ein allgemeines Blockdiagramm eines Spracherkennungssystems 1000 dargestellt. Das System 1000 enthält einen Stapeldecodierer 1002, an den zur Herbeiführung einer schnellen näherungsweisen Akustikübereinstimmung ein Akustikprozessor (AP) 1004 und ein Schnellanpassungsprozessor 1006 angeschlossen sind. Das System 1000 enthält weiterhin einen Detailvergleichsprozessor 1008 zur Herbeiführung einer detaillierten Akustikübereinstimmung ein Sprachmodell 1010 und eine Datenstation 1012.
  • Der Akustikprozessor 1004 wurde entwickelt um eine wellenförmige Spracheingabe in eine Folge von Erkennungszeichen oder Phoneme umzuwandeln, von denen sich im allgemeinen jedes durch einen entsprechenden Klangtyp kennzeichnen läßt. In dem gegenwärtigen System basiert der Akustikprozessor 1004 auf einem einzigartigen Modell eines menschlichen Ohres und ist in der oben genannten Europäischen Patentanmeldung Nr. 85 111 905.7 beschrieben.
  • Die Erkennungszeichen oder Phoneme des Akustikprozessors 1004 gelangen in den Stapeldecodierer 1002. Folgerichtig kann der Stapeldecodierer 1002 durch die in Fig. 2 gezeigten Elemente wiedergegeben werden. Hierbei enthält der Stapeldecodierer 1002 ein Suchelement 1020, welches mit der Datenstation 1012 in Verbindung steht und welches mit den Prozessoren des Akustikprozessors, des Schnellanpassungsprozessors, des Detail-Vergleichprozessors und des Sprachmodells durch jeweilige Schnittstellen 1022, 1024, 1026 und 1028 in Verbindung steht.
  • Im Betrieb werden die Phoneme vom Akustikprozessor 1004 durch das Suchelement 1020 zu dem Schnellanpassungsprozessor 1006 geleitet. Die Schnellanpassungsprozedur ist sowohl weiter unten als auch in der Europäischen Patentanmeldung Nr. 86 104 216.6 beschrieben. Kurz gesagt, ist es Aufgabe der Anpassung, das wahrscheinlichste Wort (oder Wörter) für eine gegebene Folge von Erkennungszeichen zu ermitteln.
  • Die Schnellanpassung wurde entwickelt, um Wörter aus einem Wörterverzeichnis zu überprüfen und um die Anzahl von Wortkandidaten für eine gegebene Folge von ankommenden Erkennungszeichen zu reduzieren. Die Schnellanpassung basiert auf einer wahrscheinlichkeitstheoretischen, endlichen Maschine, die hierin als Markovmodell bezeichnet werden soll.
  • Sobald die Schnellanpassung die Anzahl der Wortkandidaten reduziert hat, kommuniziert der Stapeldecodierer 1002 mit dem Sprachmodell 1010, welches die kontextbezogene Wahrscheinlichkeit jedes Wortkandidaten der Schnellanpassungs-Kandidatenliste, vorzugsweise auf der Basis bestehender Tri-Gramme, bestimmt.
  • Der Detailvergleich überprüft vorzugsweise die Wörter aus einer Schnellanpassungs-Kandidatenliste, welche basierend auf den Sprachmodellberechnungen eine nennenswerte Wahrscheinlichkeit haben, das gesprochene Wort zu sein. Der Detailvergleich ist in der vorgenannten Europäischen Patentanmeldung Nr. 86 104 216.6 beschrieben.
  • Der Detailvergleich wird mittels Markovmodell-Lautmaschinen, wie den in Fig. 3 dargestellten Maschinen, durchgeführt.
  • Vorzugsweise wird nach dem Detailvergleich das Sprachmodell wieder aufgerufen, um die Wortwahrscheinlichkeit zu bestimmen. Ein Stapeldecodierer 1002 soll - unter Verwendung von Informationen, die aus der Schnellanpassung, dem Detailvergleich und der Sprachmodellanwendung hergeleitet sind - entworfen werden, um den für eine Folge von erzeugten Erkennungszeichen höchstwahrscheinlichen Pfad, oder die höchstwahrscheinliche Folge von Wörtern zu bestimmen.
  • Aus dem Stand der Technik sind zwei Verfahren zur Ermittlung der wahrscheinlichsten Wortfolge bekannt, nämlich die Viterbi-Decodierung und die Einzelstapeldecodierung. Jede dieser Verfahren ist in der Veröffentlichung "A Maximum Likelihood Approach to Continous Speech Recognition" beschrieben. Die Viterbi-Decodierung ist in Abschnitt V und die Einzelstapeldecodierung in Abschnitt VI dieser Veröffentlichung beschrieben.
  • In der Einzelstapeldecodierungstechnik werden Pfade mit unterschiedlicher Länge in einem einzelnen Stapel gemäß ihrer Wahrscheinlichkeit aufgelistet und die Decodierung basiert auf dem einzelnen Stapel. Bei der Einzelstapeldecodierung muß die Tatsache berücksichtigt werden, daß die Wahrscheinlichkeit in gewisser Weise abhängig ist von der Pfadlänge, so daß in der Regel eine Normierung durchgeführt wird.
  • Die Viterbi-Technik benötigt keine Normierung und ist im allgemeinen für kleine Aufgaben geeignet.
  • In einer anderen Alternative kann die Decodierung mit einem kleinem Wörterverzeichnissystem durchgeführt werden, indem jede mögliche Wörterkombination als eine mögliche Wortfolge überprüft wird, und wobei ferner überprüft wird, welche der Kombinationen die höchste Wahrscheinlichkeit hat, die erzeugte Folge von Erkennungszeichen erzeugt zu haben. Die rechentechnischen Anforderungen an diese Technik werden für große Wörterverzeichnissysteme unpraktisch.
  • Tatsächlich dient der Stapeldecodierer 1002 zur Steuerung der anderen Elemente, führt aber nicht viele Berechnungen aus. Dadurch enthält der Stapeldecodierer 1002 vorzugsweise einen 4341, der unter dem IBM VM/370 Betriebssystem läuft, wie in Veröffentlichungen wie Virtual Machine/System Product Introduction Release 3 (1983) beschrieben ist. Die Vektorprozessoren, die nennenswerte Berechnungen durchführen, sind mit dem Fließkommasystem (FPS) 190 L bestückt, das allgemein erhältlich ist.
  • Eine neue Technik, die Mehrfachstapelung und eine einzigartige Entscheidungsstrategie zur Bestimmung der besten Wortfolge oder des besten Wortpfades enthält, wurde von L.R. Bahl, F. Jelinek und R.L. Merzer erfunden (europäische Patentanmeldung Nr. 86 104 218.2) und wird weiter unten in Abschnitt J diskutiert.
  • B. Das Hörmodell und seine Implementierung in einem Akustikprozessor eines Spracherkennungssystems
  • In Fig. 4 ist eine spezielle Ausführungsform eines Akustikprozessors 1100, wie er oben beschrieben ist, dargestellt. Eine akustische Eingabe in Wellenform (z. B. natürliche Sprache) tritt in einen Analog/Digitalwandler 1102 mit definierter Abtastrate ein. Eine typische Abtastrate ist ein Abtastvorgang alle 50 Microsekunden. Ein Zeitfenstergenerator 1104 ist vorhanden, um die Ränder des Digitalsignales zu glätten. Die Ausgabe des Fensters 1104 wird in ein schnelles Fourier-Transformationselement (FFT) weitergeleitet, welches für jedes Zeitfenster eine Frequenzspektrumausgabe vorsieht.
  • Die Ausgabe des FFT-Elementes 1106 wird dann weiterverarbeitet, um Erkennungszeichen y&sub1;, y&sub2; - yf zu erzeugen. Vier Elemente - ein Merkmalsauswahlelement 1108, ein Gruppenanschlußelement 1110, ein Musterelement 1112 und ein Erkennungszeichengenerator 1114
  • - erzeugen gemeinsam die Erkennungszeichen. Zur Erzeugung der Erkennungszeichen werden Muster als Punkte (oder Vektoren), basierend auf ausgewählten Merkmalen und akustischen Eingaben, im Raum definiert und werden dann durch dieselben ausgewählten Merkmale gekennzeichnet, um korrespondierende Punkte (oder Vektoren) in einem Raum, der mit dem Muster verglichen werden kann, zu schaffen.
  • Zur Definition der Muster werden mehrere Punkte durch das Gruppenanschlußelement 1110 in jeweiligen Punktgruppen zusammengefaßt. Verfahren zur Definition von Punktgruppen wurden auf Sprache angewendete Wahrscheinlichkeitsverteilungen aufgebaut - wie die Gauss-Verteilung -. Das Muster einer jeden Punktgruppe - in Bezug auf den Schwerpunkt oder andere Charakteristiken der Punktgruppe - wird durch das Musterelement 1112 erzeugt. Die erzeugten Muster und die akustischen Eingaben - beide sind durch dieselben ausgewählten Merkmale gekennzeichnet - treten in den Erkennungszeichengenerator 1114 ein. Der Erkennungszeichengenerator 1114 führt ein Anpassungsverfahren durch, welches einer bestimmten akustische Eingabe ein Erkennungszeichen zuordnet.
  • Die Auswahl geeigneter Merkmale ist ein Schlüsselfaktor in der Herleitung von Erkennungszeichen, die die akustischen (Sprach-) Eingaben in Wellenform repräsentieren. Der hier beschriebene Akustikprozessor enthält ein verbessertes Merkmalsauswahlelement 1108. In Übereinstimmung mit dem vorliegenden Akustikprozessor wurde ein Hörmodell abgeleitet und in einem Akustikprozessor eines Spracherkennungssystem angewendet. Zur Erklärung des Hörmodells wird auf die Fig. 5 Bezug genommen.
  • Fig. 5 zeigt einen Teil des menschlichen Innenohres. Insbesondere ist eine innere Haarzelle 1200 gezeigt, wobei die Endabschnitte 1202 der Haarzelle 1200 sich bis in einen Flüssigkeitskanal 1204 erstrecken. Bezogen auf die inneren Haarzellen stromaufwärts sind äußere Haarzellen 1206 gezeigt, bei denen die Endabschnitte 1208 sich ebenso in den Kanal 1204 erstrecken. Nerven, die Informationen an das Gehirn leiten, sind mit der inneren Haarzelle 1200 und den äußeren Haarzellen 1206 assoziiert. Insbesondere Neuronen unterliegen elektrochemischen Änderungen, was zu einem elektrischen Impuls führt, der entlang einem Nerv zur Verarbeitung in das Gehirn geleitet wird. Der Reiz für die elektrochemischen Vorgänge erfolgt durch die mechanische Bewegung der Basilarmembrane 1210.
  • In früheren Beschreibungen ist bereits erkannt worden, daß die Basilarmembrane 1210 als Frequenzanalysator für akustische Eingaben in Wellenform dient und daß einzelne Abschnitte entlang der Basilarmembrane 1210 auf jeweils kritische Frequenzbänder reagieren. Daß unterschiedliche Abschnitte von der Basilarmembrane 1210 auf entsprechende Frequenzbänder reagieren, hat eine Auswirkung auf die für eine akustische Eingabe in Wellenform empfundene Lautstärke. D.h., die Lautstärke von Tönen wird als größer empfunden, wenn zwei Töne in verschiedenen kritischen Frequenzbändern liegen, als wenn zwei Töne von ähnlicher Leistungsintensität dasselbe Frequenzband besetzen. Es wurde herausgefunden, daß durch die Basilarmembrane 1210 etwa zweiundzwanzig kritische Frequenzbänder definiert werden.
  • Analog zur Frequenzreaktion der Basilarmembranen 1210 verteilt der vorliegende Akustikprozessor 1100 in seiner bevorzugten Form eine akustische Eingabe in Wellenform in einige oder alle der kritischen Frequenzbänder und überprüft dann die Signalkomponente für jedes definierte kritische Frequenzband separat. Diese Funktion wird durch eine geeignete Filterung der Signale durch das FFT-Element 1106 erreicht (vgl. Fig. 5), um ein separates Signal in dem Merkmalsauswahlelement 1108 für jedes überprüfte kritische Frequenzband zu schaffen.
  • Es ist noch zu bemerken, daß unterschiedliche Eingaben durch den Zeitfenstergenerator 1104 in Zeitfenster (von vorzugsweise 25,6 Millisekunden) eingeteilt wurden. Das Merkmalsauswahlelement 1108 enthält vorzugsweise zweiundzwanzig Signale - von denen jedes eine Klangintensität in einem gegebenen Frequenz band für aufeinanderfolgende Zeitrahmen darstellt.
  • Die Filterung wird vorzugsweise durch konventionelle kritische Bandfilter 1300 aus Fig. 6 durchgeführt. Die unterschiedlichen Signale werden dann durch eine Lautstärkeangleichung 1302 verarbeitet, welche die empfundenen Lautstärkevariationen als Funktion der Frequenz berücksichtigt. Diesbezüglich sei angemerkt, daß die empfundene. Lautstärke eines ersten Tones bei einem gegebenen dB-Pegel einer Frequenz von einem zweiten Ton bei demselben gegebenen dB-Pegel einer zweiten Frequenz abweichen kann. Die Angleichung 1302, die auf empirischen Daten aufgebaut sein kann, paßt die Signale in den verschiedenen Frequenzbändern so an, daß jedes bei einem vergleichbaren Lautstärkeverhältnis gemessen werden kann. Beispielsweise formt die Angleichung 1302, basierend auf Studien von Fletcher und Munson von 1933, die an gewissen Stellen modifiziert wurden, Signale mit einer bestimmten akustischen Leistung in Signale mit gleicher Lautstärke um. Die modifizierten Ergebnisse der Studien sind in Fig. 5 beschrieben. Gemäß Fig. 5 ist ein 1 kHz-Ton bei 40 dB im Lautstärkepegel vergleichbar mit einem 100 Hz-Ton bei 60 dB, wie X in der Figur zeigt.
  • Die Angleichung 1302 paßt die Lautstärke vorzugsweise gemäß den Konturen von Fig. 5 an, um eine gleiche Lautstärke unabhängig von der Frequenz zu verwirklichen.
  • Zusätzlich zur Frequenzabhängigkeit gibt es keine Zusammenhänge zwischen Leistungsänderungen und Lautstärkeänderungen, wenn man eine einzelne Frequenz in Fig. 5 betrachtet. D.h., Variationen der Schallintensität oder Amplitude haben nicht in allen Punkten ähnliche Änderungen der empfundenen Lautstärke zur Folge. Beispielsweise ist die empfundene Änderung der Lautstärke bei einer 10-dB-Änderung bei 100 Hz und etwa 110 dB viel größer als die empfundene Änderung der Lautstärke einer 10-dB-Änderung bei 20 dB. Dieser Unterschied wird durch eine Lautstärkeskalierung 1304 berücksichtigt, welche die Lautstärke in einer vordefinierten Weise komprimiert. Die Lautstärkeskalierung 1304 komprimiert vorzugsweise die Leistung P durch eine Wurzel dritten Grades auf P1/3, indem das Lautstärken-Amplitudenmaß Phon durch Son ersetzt wird.
  • Fig. 7 stellt eine bekannte empirisch bestimmte Gegenüberstellung von Phon und Son dar. Durch Verwendung von Son bleibt das gegenwärtige Modell bei großen Sprachsignalamplituden im wesentlichen exakt. Es ist anzumerken, daß ein Son definiert ist als die Lautstärke von einem 1-kHz-Ton bei 40 dB.
  • Wieder bezugnehmend auf Fig. 6 ist hier ein neuartiges Zeitveränderungs-Antwortelement 1306 gezeigt, welches mit auf gleicher Lautstärke skalierten Lautstärkesignalen arbeitet, die einem kritischen Frequenzband zugeordnet sind. Für jedes untersuchte Frequenzband ist eine neutrale Taktrate f bestimmt. Die Taktrate f ist gemäß dem gegenwärtigen Prozessor definiert als:
  • f = (So + DL)n (1)
  • wobei n eine Größe des Neurosenders ist; So ist eine spontane Taktkonstante, welche sich auf neutrale Taktsignale bezieht, unabhängig von einer Akustikwelleneingabe; L ist ein Maß für Lautstärke; und D ist eine Abweichungskonstante. (So)n entspricht der spontanen Taktrate, welche unabhängig davon auftritt, ob eine Akustikwelleneingabe existiert oder nicht und DLn entspricht der Taktrate bezüglich der Akustikwelleneingabe.
  • Der Wert von n ist durch den gegenwärtigen Akustikprozessor als zeitabhängige Variable gekennzeichnet, gemäß der Beziehung:
  • dn/dt = Ao-(So + Sh + DL)n (2),
  • wobei Ao eine Ergänzungskonstante und Sh eine spontane Neurosender-Zerfallskonstante ist. Die neue Beziehung gemäß Gleichung (2) berücksichtigt, daß Neurosender mit einer bestimmten Rate (Ao) erzeugt werden und durch (a) Zerfall (Sh·n), durch (b) spontane Takte (So·n) und durch (c) neurale Signale aufgrund einer Akustikwelleneingabe (BL·n) verloren gehen. Die angenommenen Anordnungen dieser Modellphänomene sind in Fig. 5 illustriert.
  • Gleichung (2) gibt auch die Tatsache, daß der gegenwärtige Akustikprozessor nicht linear ist, in der Weise wieder, daß der nächste Betrag des Neurosenders und die nächste Taktrate multiplikativ abhängig sind von den momentanen Bedingungen, zumindest von dem Neurosenderbetrag. D.h., der Betrag des Neurosenders zur Zeit (t + Δt) ist gleich dem Betrag des Neurosenders zur Zeit t plus dn/dt Δt, oder:
  • n(t + Δt) = n(t) + dn/dt Δt (3)
  • Die Gleichungen (1), (2) und (3) beschreiben einen zeitvariierenden Signalanalysierer, der, wie vorgeschlagen, die Tatsache berücksichtigt, daß das Hörsystem mit der Zeit anpassungsfähig erscheint, und Signale auf den Hörnerv verursacht, die bezüglich der Akustikwelleneingabe nicht linear sind. Diesbezüglich schafft der gegenwärtige Akustikprozessor das erste Modell, welches eine nicht lineare Signalverarbeitung in einem Spracherkennungssystem verkörpert, um besser mit auftretenden Zeitvariationen in dem Nervensystem übereinzustimmen.
  • Um die Anzahl der unbekannten Gleichungen (1) und (2) zu reduzieren, verwendet der erfindungsgemäße Akustikprozessor die folgende, auf konstante Lautstärken anzuwendende Gleichung (4)
  • So + Sh + BL = 1/T (4)
  • T ist ein Maß für die Zeit, die eine Hörantwort benötigt um, nachdem eine Hörwelleneingabe erfolgt ist, auf 37% seines Maximums zu fallen. Wie oben beschrieben, ist in dem erfindungsgemäßen Akustikprozessor T eine Funktion der Lautstärke und T ist hergeleitet aus bestehenden Graphen, welche den Zerfall der Antwort für verschiedene Lautstärkepegel wiedergeben. D.h., nachdem ein Ton einer festen Lautstärke erzeugt ist, erzeugt er eine Antwort in einem ersten hohen Pegel, wonach die Antwort mit einer Zeitkonstanten T gegen einen sicheren Pegel abfällt. Ohne Akustikwelleneingabe ist T = To in der Größenordnung von 50 msec. Für die Lautstärke Lmax ist T = Tmax in der Größenordnung von 30 msec. Wenn Ao = 1 gesetzt ist, ist 1/(So + Sh) zu 5 csec bestimmt worden bei L = 9 ist. Wenn L = max ist und Lmax = 20 Sone ist, dann ergibt sich Gleichung (5):
  • So + Sn + D(20) = 1/30 (5)
  • Mit den obigen Daten und Gleichungen sind So und Sh definiert durch die Gleichungen (6) und (7) als:
  • So = DLmax/(R + (DLmaxToR)-1) (6)
  • Sh = 1/To-So (7)
  • wobei
  • R = fsteady StattL L=Lmax/fsteady StattL L=0 (8)
  • fsteady StatL gibt dieaktrate bei einer gegebenen Lautstärke wieder wenn dn/dt = 0 ist.
  • Wie oben beschrieben, ist in dem Akustikprozessor R die einzig verbleibende Variable. Um die Leistung des Prozessor zu verändern, braucht man also nur R zu verändern. D.h., R ist ein einzelner Parameter, der zur Veränderung der Leistung angepaßt werden kann. Dies bedeutet normalerweise, daß die Vorgänge der Dauerbetriebsart relativ zu den Einschwingvorgängen zu minimalisieren sind. Es ist gewünscht, die Vorgänge der Dauerbetriebsart zu minimalisieren, weil miteinander unvereinbare Ausgabemuster für ähnliche Spracheingaben im allgemeinen aus Unterschieden in der Antwortfrequenz, Lautsprecherunterschieden, Hintergrundgeräuschen und Verzerrung herrühren, welche die Dauerbetriebsartabschnitte von dem Sprachsignal beeinflussen, nicht aber den Einschwingabschnitt. Der Wert von R bestimmt sich vorzugsweise durch die Optimierung der Fehlerrate von dem gesamten Spracherkennungssystem. Ein geeigneter, in dieser Weise gefundener Wert ist R = 1,5. Daraus ergeben sich dann Werte für So und Sh von 0,0888 bzw. 0,11111 und D wurde abgerundet auf 0,00666.
  • In Fig. 9 ist ein Flußdiagramm des erfindungsgemäßen Akustikprozessors beschrieben. Digitalisierte Sprache in einem 25,6-msec- Zeitrahmen, die vorzugsweise mit 20 kHz abgetastet wird, passiert ein Hanning-Fenster 1320, dessen Ausgabe, vorzugsweise in 10 msec-Intervallen, Fourier transformiert 1322 wird. Das Element 1324 filtert die transformierte Ausgabe, um einen Leistungsdichtewert für jedes, zumindest aber ein, Frequenzband zu schaffen - vorzugsweise für alle kritischen Frequenzbänder oder zumindest derer zwanzig. Danach wird die Leistungsdichte von einer logarithmischen Größe 1326 in einen Lautstärkepegel transformiert. Dies wird, gemäß dem modifizierten Graphen aus Fig. 7, abschließend durchgeführt. Das im folgenden hierin beschriebene Verfahren, welches eine Schwellwertaktualisierung von Schritt 1330 enthält, ist in Fig. 10 beschrieben.
  • Eine Gefühlsschwelle Tf und eine Hörschwelle Th sind in Fig. 10 für jedes gefilterte Frequenzband erstmalig definiert (in Schritt 1340) als 120 dB bzw. 0 dB. In Schritt 1342 werden anschließend ein Sprachzähler, ein Totalrahmenanzeiger und ein Histogrammanzeiger zurückgestellt.
  • Jedes Histogramm enthält Fächer, von denen jedes die Anzahl der Beispiele oder der gezählten Ereignisse anzeigt, in welchem sich die Leistung oder eine ähnliche Größe - in einem gegebenen Frequenzband - in einem jeweiligen Bereich befindet. Ein erfindungsgemäßes Histogramm gibt - für jedes gegebene Frequenzband
  • - vorzugsweise die Anzahl von Centisekunden wieder, währenddessen sich die Lautstärke in jedem der vielen Lautstärkebereiche befindet. Beispielsweise könnte das dritte Frequenzband 20 Centisekunden zwischen 10 dB und 20 dB in Betrieb sein. Ähnlich könnte das 20. Frequenzband 150 von insgesamt 1000 Centisekunden zwischen 50 dB und 60 dB in Betrieb sein. Von der totalen Anzahl von Beispielen (oder Centisekunden) und den in den Fächern enthaltenen Zählungen werden Prozentwerte abgeleitet.
  • Schritt 1344 überprüft einen Rahmen aus der Filterausgabe von einem jeweiligen Frequenzband und Schritt 1346 füllt die Fächer in den zuständigen Histogrammen - einer pro Filter -. Schritt 1348 summiert die Gesamtzahl der Fächer (in denen die Amplitude 55 dB übersteigt) für jeden Filter (bzw. jedes Frequenzband) auf und bestimmt die Anzahl der Filter, die die Anwesenheit von Sprache anzeigen. Wenn nicht wenigstens ein Minimum an Filtern (z. B. 6 von 20) vorhanden ist, um Sprache vorzuschlagen, wird der nächste Rahmen in Schritt 1344 überprüft. Wenn genügend Filter vorhanden sind, um Sprache in Schritt 1350 anzuzeigen, wird ein Sprachzähler in Schritt 1352 erhöht. Schritt 1352 erhöht den Sprachzähler bis 10 Sekunden Sprache in Schritt 1354 erschienen sind, wonach der Schritt 1356 neue Werte für Tf und Th für jeden Filter definiert.
  • Die neuen Werte für Tf und Th werden für einen gegebenen Filter wie folgt bestimmt. Für Tf wird der dB-Wert von dem Fach, welches das 35. Beispiel von oben von 1000 Fächern (d. h., der 96,5 %-Teil der Sprache) definiert als BINH·Tf ergibt dann:
  • Tf = BINH + 40 dB.
  • Für Th wird der dB-Wert des Faches, welches den 0,01 (Gesamtfächer-Sprachzähler)-ten Wert vom untersten Fach hält, definiert als BINt. D.h., BINL ist das Fach des Histogramms, welches 1% der Anzahl der Beispiele, ohne die Anzahl der Beispiele, die als Sprache klassifiziert werden, entspricht. Demnach ist Th definiert als:
  • Th = BINL - 30dB.
  • Zurückkehrend zu Fig. 9 wird die Klangamplitude in Sone umgewandelt und skaliert, wie oben beschrieben, basierend auf den aktualisierten Schwellwerten (Schritte 1330 und 1332). Ein alternatives Verfahren zur Herleitung der Sone und Skalierung entsteht durch Herausnahme der Filteramplituden "a" (nachdem die Fächer erhöht wurden) und Umwandlung in dB gemäß des Ausdrucks:
  • adB = 20 log&sub1;&sub0; (a)-10 (9)
  • dann wird jede Filteramplitude skaliert zu einem Bereich zwischen 0-120, um eine gleiche Lautstärke zu schaffen, gemäß des Ausdrucks:
  • aeql = 120 (adBTht)/(TfTh) (10)
  • dann wird aeql vorzugsweise aus einem Lautstärkeniveau (Phon) in eine Lautstärkenäherung in Sone (mit einem 1-kHz-Signal bei 40 dB, Abbildung zu 1) umgewandelt, durch den Ausdruck:
  • LdB = (aeql-30)/4 (11)
  • Die Lautstärke in Sone wird dann angenähert als:
  • Ls (appr) = 10 (LdB)/20 (12)
  • Schritt 1334 stellt dann die Lautstärke in Sone Ls als Eingabe in die Gleichungen (1) und (2) bereit, um die Ausgabetaktrate f für jedes Frequenzband (Schritt 1335) zu bestimmen. Für zweiundzwanzig Frequenzbänder charakterisiert ein zweiundzwanzig-dimensionaler Vektor die Akustikwellensignale über nachfolgende Zeitrahmen. Im allgemeinen jedoch werden die zweiundzwanzig Frequenzbänder durch Anwendung einer konventionalen melskalierten Filterbank überprüft.
  • Bevor der nächste Zeitrahmen ausgeführt wird (Schritt 1336), wird die nächste Betriebsart von n gemäß Gleichung (3) und Schritt 1337 bestimmt.
  • Der oben beschriebene Akustikprozessor wird für Anwendungen, in denen die Taktrate f und der Neurosenderbetrag n einen großen DC-Untersatz haben, verbessert. D.h., wo der dynamische Bereich der Terme von den f und n Gleichungen wichtig ist, werden die folgenden Gleichungen hergeleitet, um somit die Höhe des Untersatzes zu reduzieren.
  • In der Dauerbetriebsart und in Abwesenheit eines akustischen Eingangssignales in Wellenform (L = 0) kann die Gleichung (2) für eine interne Dauerbetriebsart n' wie folgt gelöst werden:
  • n' = A/(So + Sh) (13)
  • Die interne Betriebsart des Neurosenderbetrages n(t) kann als ein Dauerbetriebsartabschnitt und ein variierender Abschnitt wiedergegeben werden:
  • n(t) = n' + n'' (t) (14)
  • Durch Kombination der Gleichungen (1) und (14) ergibt sich der folgende Ausdruck für die Taktrate:
  • f(t) = (So + D x L) (n' + n'' (t)) (15)
  • Der Term So x n' ist konstant, wohingegen alle anderen Terme entweder den variierenden Teil von n, oder durch (D·L), das Eingabesignal darstellen. In zukünftigen Bearbeitungen werden nur die quadrierten Differenzen zwischen den Ausgabevektoren beteiligt sein, so daß die Bearbeitung nur die quadrierten Differenzen zwischen Ausgabevektoren beteiligen wird, und somit können konstante Terme unbeachtet bleiben. Mit Gleichung (13) für n' erhalten wir:
  • f''(t) = (So + D·L)·((n''(t) + D·L·A)/(So + Sh)) (16)
  • Betrachtet man Gleichung (3), so gilt für die nächste Betriebsart:
  • n(t + Δt) = n'(t + Δt) + n''(t + Δt) (17)
  • = n''(t) + A - (So + Sh + D·L)·(n' + n''(t)) (18)
  • = n''(t) - (Sh·n''(t) - (So + Ao·LA)n''(t) - (Ao·LA·D)/ (So + Sh) + Ao - ((So·Ao) + (Sh·Ao))/(So + Sh) (19)
  • Unter Weglassung aller konstanten Terme kann diese Gleichung (19) neu geschrieben werden als:
  • n''(t + Δt) = n''(t) (1 - So Δt) - f''(t) (20)
  • Die Gleichungen (15) und (20) bilden nun die Ausgabegleichungen und die Aktualisierungsgleichungen der Betriebsart, die auf jedem Filter während jedes 10 msec Zeitrahmens angewendet werden. Das Ergebnis der Anwendung dieser Gleichungen ist ein zwanzigelementiger Vektor für jede 10 msec. Jedes Element des Vektors entspricht einer Taktrate für ein jeweiliges Frequenzband in der melskalierten Filterbank.
  • Ungefähr 200 Mustervektoren wurden vorher definiert, wobei jeder Mustervektor einen vordefinierten Wert für jedes Vektorelement aufweist. Zusätzlich wird jeder Mustervektor durch ein jeweiliges Erkennungszeichen gekennzeichnet.
  • Wenn ein 10-msec-Intervall überprüft wird, werden die zwanzig Taktraten dafür in einem Ausgabevektor gebildet. Der Ausgabevektor wird mit jedem Mustervektor verglichen. Das Erkennungszeichen für den "naheliegendsten" Mustervektor wird dann dem Zeitintervall zugeordnet. Verschiedene bekannte Techniken können zur Messung der Vektorabstände benutzt werden.
  • Mit Bezug auf die Ausführungsform, die sofort hiernach beschrieben wird, wird das Flußdiagramm aus Fig. 9 angewendet, außer daß die Gleichungen für f, dn/dt und n(t + 1) ersetzt werden durch die Gleichungen (11) und (16). Die Gleichungen (11) und (16) definieren Spezialausdrücke für die Taktrate f, bzw. der nächsten Betriebsart n(t + Δt).
  • Es muß noch erwähnt werden, daß die Werte, die den Termen in den verschiedenen Gleichungen zugeordnet werden (nämlich to = 5 csec, tLmax = 3 csec, Ao = 1, R = 1,5, und Lmax = 20) auch auf andere Weise ermittelt werden können. Außerdem können die Terme So, Sh, und D von den vorzugsweise hergeleiteten Werten 0,0888, 0,11111 bzw. 0,00666 abweichen, sobald andere Terme unterschiedlich eingesetzt werden.
  • Das erfindungsgemäße Akustikmodell wurde bereits unter Anwendung der PL/I Programmiersprache mit Fließkommasystem, FPS 190 L Hardware, benutzt. Das erfindungsgemäße Akustikmodell kann jedoch auch mit verschiedenen anderen Software- oder Hardwareeinrichtungen durchgeführt werden.
  • C. Detailvergleich
  • In Fig. 3 ist ein Beispiel einer Detailvergleichs-Lautmaschine 2000 beschrieben. Jede Detailvergleichs-Lautmaschine ist eine wahrscheinlichkeitstheoretische, endliche Maschine, die gekennzeichnet ist durch (a) eine Vielzahl von Betriebsarten Si, (b) eine Vielzahl von Übergängen tr (Sj/Si), wobei einige der Übergänge von einer Betriebsart zu einer anderen Betriebsart führen und einige der Übergänge von einer Betriebsart zu sich selbst führen, und wobei jeder Übergang mit einer entsprechenden Wahrscheinlichkeit versehen ist, und (c) durch eine entsprechende aktuelle Wahrscheinlichkeit der Erkennungszeichen für jedes Erkennungszeichen, das bei einem bestimmten Übergang erzeugt werden kann.
  • Die in Fig. 3 gezeigte Detailvergleichs-Lautmaschine 2000 weist sieben Betriebsarten S&sub1; bis S&sub7; und dreizehn Übergänge tr&sub1; bis tr&sub1;&sub3; auf. Eine genaue Betrachtung der Fig. 3 ergibt, daß die Lautmaschine 2000 drei Übergänge mit gestrichelten Verbindungslinien hat, nähmlich Übergänge tr11t, tr11u tr11. An jedem dieser drei Übergänge kann der Laut von einer Betriebsart in eine andere wechseln, ohne dabei ein Erkennungszeichen zu erzeugen. Solch ein Übergang ist dementsprechend als Nullübergang bezeichnet. Entlang den Übergängen tr&sub1; bis tr&sub1;&sub0; können Erkennungszeichen erzeugt werden. Insbesondere entlang der Übergänge tr&sub1; bis tr&sub1;&sub0; kann einem oder mehreren Erkennungszeichen die Wahrscheinlichkeit zugeordnet sein, an diesem Übergang erzeugt worden zu sein. Für jeden Übergang wird vorzugsweise jedem in dem System erzeugbaren Erkennungszeichen eine Wahrscheinlichkeit zugeordnet. D.h., wenn es dort zweihundert Erkennungszeichen gibt, die selektiv durch den Akustikkanal erzeugt werden können, dann hat jeder Übergang (der von Null verschieden ist) zweihundert "aktuelle Wahrscheinlichkeiten der Erkennungszeichen", die mit diesen assoziiert sind - von denen jede der Wahrscheinlichkeit entspricht, daß ein entsprechendes Erkennungszeichen durch den Laut an dem bestimmten Übergang erzeugt wurde Die aktuellen Wahrscheinlichkeiten der Erkennungszeichen für den Übergang tr&sub1; werden durch das Symbol p, gefolgt von Ziffern 1-200 in eckigen Klammern, wiedergegeben, wobei jede Ziffer ein gegebenes Erkennungszeichen darstellt. Für Label 1 gibt es eine Wahrscheinlichkeit p [1], die angibt, mit welcher Wahrscheinlichkeit der Detaillautmaschine 2000 das Erkennungszeichen 1 am Übergang tr&sub1; erzeugt. Die verschiedenen aktuellen Wahrscheinlichkeiten der Erkennungszeichen werden in Relation zu den Erkennungszeichen und einem entsprechenden Übergang gespeichert.
  • Wenn eine Folge von Erkennungszeichen y&sub1;y&sub2;y&sub3; --- von einer Detailvergleichs-Lautmaschine 2000 eines entsprechenden, gegebenen Lautes präsentiert wird, wird eine Anpassungsprozedur durchgeführt. Diese, einer Detailvergleichs-Lautmaschine zugeordneten Prozedur, wird mit Bezug auf Fig. 11 erklärt.
  • Fig. 11 ist ein Gitterdiagramm der Lautmaschine aus Fig. 3. Wie in der Lautmaschine, zeigt das Gitterdiagramm einen Nullübergang von Betriebsart S&sub1; zu Betriebsart S&sub7; und Übergänge von Betriebsart S&sub1; zu Betriebsart S&sub2; und von Betriebsart S&sub1; zu Betriebsart S&sub4;. Die Übergänge zwischen anderen Betriebsarten sind ebenso dargestellt. Das Gitterdiagramm zeigt ebenso, in horizontaler Richtung aufgetragen, die Zeit. Die Anfangszeitwahrscheinlichkeiten q&sub0; und q&sub1; geben für jeden Laut die Wahrscheinlichkeiten wieder, die ein Laut zu einer Anfangszeit t=t&sub0; bzw. t=t&sub1; hat. Zu jeder Anfangszeit t&sub0; und t&sub1; sind die verschiedenen Übergänge gezeigt. Es sollte noch erwähnt werden, daß das Intervall zwischen nachfolgenden Anfangs- (und End-) Zeiten vorzugsweise der Länge des Zeitintervalles eines Erkennungszeichens entspricht.
  • Um bei der Verwendung der Detailvergleichs-Lautmaschine 2000 zu bestimmen, wie genau ein gegebener Laut zu den Erkennungszeichen einer ankommenden Zeichenfolge paßt, wird eine Endzeitverteilung für den Laut aufgestellt und zur Bestimmung eines Trefferwertes für den Laut verwendet. Die Vorstellung, sich auf die Endzeitverteilung zu verlassen, ist allgemein üblich und wird in allen hier diskutierten Ausführungsformen von Lautmaschinen bezüglich einer Anpassungsprozedur verwendet. Zur Erzeugung der Endzeitverteilung für die Durchführung eines Detailvergleiches benutzt die Detailvergleichs-Lautmaschine 2000 Rechnungen, die exakt und kompliziert sind.
  • Betrachtet man das Gitterdiagramm aus Fig. 11, so berücksichtigen wir zuerst die Rechnungen, für die eine Anfangs- und eine Endzeit bei t=t&sub0; benötigt wird. Ist dies der Fall, so gilt die folgende Wahrscheinlichkeit gemäß der Struktur der Beispiel Lautmaschine aus Fig. 3:
  • Pr (S&sub7;, t=t&sub0;) = q&sub0;·T(1-> 7) + Pr(S&sub2;, t=t&sub0;)·T(2-> 7) + Pr(S&sub3;, t=t&sub0;)·T(3-> 7) (21)
  • wobei Pr die "Wahrscheinlichkeit von" und T die Übergangswahrscheinlichkeit zwischen den beiden eingeklammerten Betriebsarten wiedergibt. Die obige Gleichung gibt die jeweiligen Wahrscheinlichkeiten für die drei Betriebsarten an, unter denen die Endzeit zur Zeit t=t&sub0; auftreten kann. Weiterhin wurde beobachtet, daß eine Endzeit bei t=t&sub0; in dem gegenwärtigen Beispiel auf ein Auftreten im Betriebsart S&sub7; beschränkt ist.
  • Betrachtet man als nächstes die Endzeit t=t&sub1;, so muß erwähnt werden, daß eine Berechnung zu jeder anderen Betriebsart, außer zu Betriebsart S&sub1;, gemacht werden muß. Die Betriebsart S&sub1; beginnt zu der Endzeit des vorhergehenden Lautes. Zu Erklärungszwecken ist hier nur die Berechnung bezüglich der Betriebsart S&sub4; wiedergegeben.
  • Für die Betriebsart S&sub4; lautet die Berechnung:
  • Pr(S&sub4;, t=t&sub1;) = Pr(S&sub1;, t=t&sub0;)·T(1-> 4)·Pr(y&sub1; 1-> 4) + Pr(S&sub4;, t=t&sub0;)·T(4-> 4)· Pr(y&sub1; 4-> 4) (22)
  • In Worten ausgedrückt, gibt die Gleichung (22) wieder, daß die Wahrscheinlichkeit der sich in Betriebsart S&sub4; befindenden Lautmaschine zur Zeit t=t&sub1; abhängt von der Summe der beiden folgenden Terme: (a) die Wahrscheinlichkeit, sich in Betriebsart S&sub1; zur Zeit t=t&sub0; zu befinden, multipliziert mit der Wahrscheinlichkeit (T) des Überganges von Betriebsart S&sub1; zu Betriebsart S&sub4;, außerdem multipliziert mit der Wahrscheinlichkeit (Pr) eines gegebenen Erkennungszeichen y&sub1;, welches bei einem gegebenen Übergang von Betriebsart S&sub1; zu Betriebsart S&sub4; erzeugt wird und (b) die Wahrscheinlichkeit, sich in Betriebsart S&sub4; zur Zeit t=t&sub0; zu befinden, multipliziert mit der Wahrscheinlichkeit des Überganges von Betriebsart S&sub4; zu sich selbst und außerdem multipliziert mit der Wahrscheinlichkeit, das gegebene Erkennungszeichen y&sub1; während einem gegebenen Übergang von Betriebsart S&sub4; zu sich selbst zu erzeugen.
  • Um die Wahrscheinlichkeiten zu bestimmen, daß der Laut an einer bestimmten Betriebsart zu einer bestimmten Zeit t=t&sub1; ist, werden ähnliche Berechnungen für die anderen Betriebsarten (außer Betriebsart S&sub1;) durchgeführt. Zur Bestimmung der Wahrscheinlichkeit, sich in einer bestimmten Betriebsart zu einer bestimmten Zeit zu befinden, wird im allgemeinen der Detailvergleich verwendet. Dazu erkennt der Detailvergleich (a) jede vorherige Betriebsart, die einen zu der betreffenden Betriebsart führenden Übergang hat, und die jeweilige Wahrscheinlichkeit von jeder solcher vorhergehenden Betriebsarten; (b) einen Wert, der die Wahrscheinlichkeit des Erkennungszeichens darstellt, welches beim Übergang zwischen jedem solcher vorhergehenden Betriebsarten und der gegenwärtigen Betriebsart erzeugt werden mußte, um mit der Folge von Erkennungszeichen übereinzustimmen; und (c) kombiniert die Wahrscheinlichkeiten von jeder vorhergehenden Betriebsart und dem jeweiligen die Wahrscheinlichkeit der Erkennungszeichen darstellenden Wert, um eine betreffende Wahrscheinlichkeit einer Betriebsart für einen entsprechenden Übergang zu bestimmen. Die Gesamtwahrscheinlichkeit, sich in einer betreffenden Betriebsart zu befinden, wird bestimmt durch die betreffenden Wahrscheinlichkeiten der Betriebsarten für alle dorthin führenden Übergänge. Wie oben erwähnt, enthält die Berechnung für die Betriebsart S&sub7; Terme bezüglich der drei Nullübergänge, welche es dem Laut erlauben, zur Zeit t=t&sub1; zu starten und zu enden und wobei der Laut in Betriebsart S&sub7; endet.
  • Wie mit den Wahrscheinlichkeitsbestimmungen bezüglich der Zeiten t=t&sub0; und t=t&sub1;, werden Wahrscheinlichkeitsbestimmungen für eine Serie von anderen Endzeiten erzeugt, vorzugsweise um eine Endzeitverteilung zu bilden. Der Wert der Endzeitverteilung für einen gegebenen Laut schafft einen Eindruck, wie gut die gegebene Lautmaschine auf die ankommenden Erkennungszeichen paßt.
  • Zur Bestimmung, wie gut ein Wort auf eine Folge von ankommenden Erkennungszeichen paßt, werden die das Wort darstellenden Laute in Reihe verarbeitet. Jeder Laut erzeugt eine Endzeitverteilung der Wahrscheinlichkeitswerte. Durch Aufsummierung der Endzeitwahrscheinlichkeiten und anschließender Logarithmierung der Summe wird eine Trefferwert-Übereinstimmung für den Laut erhalten. Eine Anfangszeitverteilung für den nächsten Laut wird hergeleitet durch Normalisierung der Endzeitverteilung mittels, beispielsweise Skalierung eines jeden dieser Werte, durch Teilung jeden Wertes durch die Summe, so daß die Summe aller relativen Werte eins ergibt.
  • Es sollte deutlich werden, daß es zumindest zwei Verfahren gibt, um die Anzahl h der zu untersuchenden Laute für ein gegebenes Wort oder eine Wortfolge zu bestimmen. In einem tiefen ersten Verfahren werden Berechnungen entlang einer Basis gemacht - Berechnung einer laufenden Zwischensumme mit jedem nachfolgenden Laut. Wenn die Zwischensumme sich unter einem vordefinierten Schwellwert für eine gegebene Lautposition befindet, so wird die Berechnung beendet. Alternativ dazu wird in einem breiten ersten Verfahren eine Berechnung für ähnliche Lautpositionen in jedem Wort gemacht. Die Berechnungen, die dem ersten Laut in jedem Wort folgen, dem zweiten Laut in jedem Wort folgen, usw. werden durchgeführt. In dem breiten ersten Verfahren werden die Berechnungen entlang derselben Anzahl von Lauten an denselben skalierten Lautpositionen für die verschiedenen Worte miteinander verglichen. In beiden Verfahren ist das Wort (die Wörter) mit der größten Summe von Übereinstimmungstrefferwerten das herauszufindende Objekt.
  • Der Detailvergleich wurde bereits in APAL (Array Processor Assembly Language) implementiert, welcher der natürliche Assembler für das Fließkommasystem, Inc. 190 L, ist.
  • Es sollte bekannt sein, daß der Detailvergleich beträchtlichen Speicherplatz zur Abspeicherung jeder der aktuellen Wahrscheinlichkeiten der Erkennungszeichen (d. h. die Wahrscheinlichkeit, daß ein gegebener Laut ein gegebenes Erkennungszeichen y an einem gegebenen Übergang erzeugt); der Übergangswahrscheinlichkeiten für jede Lautmaschine; und der Wahrscheinlichkeiten, für einen gegebenen Laut, der sich in einem gegebenen Betriebsart zu einer gegebenen Zeit nach einer definierten Anfangszeit befindet, benötigt. Die oben erwähnte FPS 190 L wird zur Durchführung der verschiedenen Berechnungen der Endzeiten, der Übereinstimmungswerte basierend auf beispielsweise einer Summe - vorzugsweise der logarithmischen Summe der Endzeitwahrscheinlichkeiten -; der Startzeiten basierend auf den vorhergehend erzeugten Endzeitwahrscheinlichkeiten; und der Worttrefferwerte basierend auf den Trefferwerten für nacheinanderfolgende Laute in einem Wort, eingesetzt. Zusätzlich zählt der Detailvergleich vorzugsweise "Schwanzwahrscheinlichkeiten" in der Anpassungsprozedur. Eine Schwanzwahrscheinlichkeit mißt die Wahrscheinlichkeit von nachfolgenden Erkennungszeichen ohne Bezug zu Wörtern. In einer einfachen Ausführungsform entspricht eine gegebene Schwanzwahrscheinlichkeit der Wahrscheinlichkeit eines Erkennungszeichens, welche einem anderen Erkennungszeichen folgt. Diese Wahrscheinlichkeit wird letztendlich durch Folgen von Erkennungszeichen bestimmt, die beispielsweise durch einige Beispielsspracheingaben erzeugt werden.
  • Der Detailvergleich schafft genügend Speicherplatz um Basisformen, Statistiken für die Markovmodelle und Schwanzwahrscheinlichkeiten zu enthalten. Für ein 5000 Wörter starkes Wörterverzeichnis, wobei jedes Wort ungefähr 10 Laute enthält, werden allein für die Basisform 5000·10 Speicherplätze benötigt. Wenn es 70 unterschiedliche Laute (mit einem Markovmodell für jeden Laut) und 200 unterschiedliche Erkennungszeichen und 10 Übergänge, an denen jedes Erkennungszeichen eine Wahrscheinlichkeit hat, erzeugt zu werden, gibt, würden für die Statistik 70·10· 200 Plätze benötigt werden. Jedoch wird bevorzugt, die Lautmaschinen in drei Abschnitte einzuteilen - einen Anfangsabschnitt, einen Mittelabschnitt und einen Endabschnitt - mit den entsprechenden Statistiken dazu. (Die drei Selbstschleifen sind vorzugsweise in den nachfolgenden Abschnitten enthalten). Davon ausgehend wird der Speicherbedarf reduziert auf 70·3·200. Bezüglich der Schwanzwahrscheinlichkeiten werden 200 x 200 Speicherplätze benötigt. In dieser Anordnung arbeiten 50K Integer und 82K Fließkommaspeicher zufriedenstellend.
  • Es sollte noch erwähnt werden, daß der Detailvergleich auch unter Verwendung von phonemischen, anstelle von phonetischen Lauten implementiert werden kann. Anhang 1 weist einen Programmausdruck auf, der dem Hauptberechnungskern eines phonemischen Detailvergleichs entspricht. Das Programm in Anhang l ergänzt einen Verband - welcher einer phonemischen Basisform von einem gegenwärtigem Wort entspricht - zeitlich durch einen einzelnen Zeitschritt. Das Unterprogramm EXTLOOP ist die Hauptschleife. Davor wird das Ganze gestartet und Teilrechnungen, die für die Hauptschleife benötigt werden, werden durchgeführt. Nach der Hauptschleife werden evtl. noch vorhandene Teilberechnungen gelöscht.
  • D. Einfache Schnellanpassung
  • Weil die detaillierte Schnellanpassung sehr viel Rechenzeit benötigt, wurde eine einfache Schnellanpassung und eine alternative Schnellanpassung geschaffen, die die benötigte Rechenzeit reduzieren ohne die Genauigkeit nennenswert zu beeinträchtigen.
  • Die Schnellanpassung wird vorzugsweise in Verbindung mit dem Detailvergleich verwendet, wobei die Schnellanpassung wahrscheinliche Wortkandidaten aus dem Wörterverzeichnis auflistet und der Detailvergleich überwiegend an den Wortkandidaten dieser Liste durchgeführt wird.
  • Eine schnelle, näherungweise Akustikübereinstimmungstechnik ist Thema der Europäischen Patentanmeldung Nr. 86104206.6. Vorzugsweise wird in der schnellen, näherungsweisen Akustikübereinstimmung jeder Lautmaschine vereinfacht, indem die aktuelle Wahrscheinlichkeit der Erkennungszeichen für jedes Erkennungszeichen an allen Übergängen einer gegebenen Lautmaschine durch einen speziellen Ersatzwert ersetzt wird. Der spezielle Ersatzwert wird vorzugsweise derart ausgewählt, daß der Trefferwert für einen gegebenen Laut, falls die Ersatzwerte verwendet werden, eine erhöhte Schätzung des Trefferwertes ist, der durch den Detailvergleich, bei dem die Ersatzwerte die aktuellen Wahrscheinlichkeiten der Erkennungszeichen nicht ersetzen, erreicht wird. Jeden Ersatzwert so auszuwählen, daß keine Wahrscheinlichkeit eines entsprechenden gegebenen Erkennungszeichens in eine gegebene Lautmaschine größer ist als der Ersatzwert davon, ist ein Weg, diese Betriebsart zu erzielen. Die Anzahl der benötigen Rechenoperationen zur Bestimmung eines Trefferwertes für ein Wort wird deutlich reduziert, wenn man die aktuellen Wahrscheinlichkeiten der Erkennungszeichen in einer Lautmaschine ersetzt durch entsprechende Ersatzwerte. Darüber hinaus ist der resultierende Trefferwert nicht kleiner als ein zuvor bestimmter Wert ohne die Ersetzung gewesen wäre, weil der Ersatzwert vorzugsweise ein erhöht geschätzter Wert ist.
  • In einer speziellen Ausführungsform der Durchführung einer Akustikübereinstimmung in einem Sprachdecoder mit Markovmodellen
  • - ist jede Lautmaschine dadurch charakterisiert - durch Proben daß er (a) eine Vielzahl von Betriebsarten und Übergangspfaden zwischen den Betriebsarten aufweist, daß er (b) Übergänge tr(Sj/Si) mit Wahrscheinlichkeiten T(i-> j) hat, von denen jede die Wahrscheinlichkeit von einem Übergang zu einer Betriebsart Sj bei einer gegebenen Betriebsart Si darstellt, wobei Si und Sj dieselben oder unterschiedliche Betriebsarten sein können, und daß er (c) aktuelle Wahrscheinlichkeiten von Erkennungszeichen aufweist, wobei jede aktuelle Wahrscheinlichkeit der Erkennungszeichen p(yk i-> j) die Wahrscheinlichkeit anzeigt, daß ein Erkennungszeichen yk durch eine gegebene Lautmaschine an einem gegebenen Übergang von einer Betriebsart zu einer folgenden Betriebsart erzeugt wurde, worin k eine Erkennungszeichen kennzeichnende Bezeichnung ist; jede Lautmaschine enthält (a) Mittel zur Zuweisung eines einzelnen spezifischen Wertes p'(yk) zu jedem yk in jeder Lautmaschine und (b) Mittel zur Ersetzung jeder aktuellen Ausgabewahrscheinlichkeit p(yk i-> j) an jedem Übergang in einer gegebenen Lautmaschine durch einen einzelnen spezifischen Wert p'(yk), der dem entsprechenden yk zugeordnet ist. Vorzugsweise ist der Ersatzwert zumindest so groß wie die maximale aktuelle Wahrscheinlichkeit der Erkennungszeichen für das entsprechende Erkennungszeichen yk an einem beliebigen Übergang in eine bestimmte Lautmaschine. Die Ausführungsformen der Schnellanpassung werden eingesetzt, um eine Liste zu definieren, die größenordnungsmäßig 10 bis 100 Wortkandidaten aus dem Wörterverzeichnis auswählt, wobei die ausgewählten Wortkandidaten die größte Wahrscheinlichkeit aufweisen, mit dem eingegebenen Erkennungszeichen zu korrespondieren. Die Wortkandidaten sind vorzugsweise bezogen auf das Sprachmodell und den Detailvergleich. Durch Begrenzung der Anzahl der Wörter auf etwa 1% der Wörter des Wörterverzeichnisses, die bei dem Detailvergleich berücksichtigt werden, werden die Rechenzeitkosten unter Beibehaltung der Genauigkeit deutlich reduziert.
  • Die einfache Schnellanpassung vereinfacht den Detailvergleich durch Ersetzen der, aktuellen Wahrscheinlichkeiten der Erkennungszeichen für ein gegebenes Erkennungszeichen an allen Übergängen, an denen das gegebene Erkennungszeichen in einer gegebenen Lautmaschine erzeugt werden kann, durch einen einzelnen Wert. Das heißt, unbeachtet des Übergangs in einer gegebenen Lautmaschine, an dem ein Erkennungszeichen eine Erscheinungswahrscheinlichkeit hat, wird die Wahrscheinlichkeit ersetzt durch einen einzelnen spezifischen Wert. Dieser Wert ist vorzugsweise erhöht abgeschätzt, zumindest aber ist er so groß wie die größte Wahrscheinlichkeit eines Erkennungszeichen, das an einem beliebigen Übergang in der gegebenen Lautmaschine auftritt.
  • Um zu gewährleisten, daß der durch die einfache Schnellanpassung erzeugte Trefferwert zumindest so hoch ist wie der Trefferwert, der durch den Detailvergleich erhalten werden würde, wird der Ersatzwert für die Wahrscheinlichkeit der Erkennungszeichen gesetzt als das Maximum der aktuellen Wahrscheinlichkeiten der Erkennungszeichen für das gegebene Erkennungszeichen in der gegebenen Lautmaschine. Auf diese Weise wird der Trefferwert von jedem Laut durch die einfache Schnellanpassung, typischerweise erhöht abgeschätzt, so daß im allgemeinen mehr Wörter als Wortkandidaten ausgewählt werden. Wörter, die als Kandidaten gemäß dem Detailvergleich gelten, gelten auch als tauglich gemäß der einfachen Schnellanpassung.
  • In Fig. 12 ist eine Lautmaschine 3000 für die einfache Schnellanpassung dargestellt. Erkennungszeichen (auch als Symbole oder Phoneme bezeichnet) treten in den einfachen Lautmaschinen 3000 zusammen mit einer Anfangszeitverteilung ein. Die Anfangszeitverteilung und die Eingabe der Erkennungszeichenfolge ist wie der oben beschriebene Eintritt der Detailvergleichs-Lautmaschine. Es sollte erreicht werden, daß die Startzeit gelegentlich nicht als eine Verteilung über eine Vielzahl von Zeiten, sondern statt dessen eine präzise Zeit dargestellt wird - beispielsweise einem Intervall der Ruhe folgend -, bei dem der Laut beginnt. Wenn die Sprache jedoch kontinuierlich ist, wird die Endzeitverteilung dazu benutzt eine Startzeitverteilung zu definieren (wie weiter unten im Detail diskutiert werden wird). Die Lautmaschine 400 erzeugt eine Endzeitverteilung und einen Trefferwert für den speziellen Laut aus der erzeugten Endzeitverteilung. Der Übereinstimmungstrefferwert für ein Wort ist definiert als die Summe der Trefferwerte der Lautkomponenten - zumindest der ersten h-Laute in dem Wort.
  • In Fig. 13 ist ein Diagramm einer einfachen Berechnung der schnellen Übereinstimmung dargestellt. Die einfache Schnellanpassungsberechnung geht nur von der Startzeitverteilung aus, d. h. der Anzahl - oder der Länge der Erkennungszeichen - die durch den Laut erzeugt werden und den Ersatzwerten p'yk die jedem Erkennungszeichen yk zugeordnet sind.
  • Übergangswahrscheinlichkeiten mit Wahrscheinlichkeiten der Längenverteilung werden ersetzt durch die einfache Schnellanpassung und es wird der Notwendigkeit von aktuellen Wahrscheinlichkeiten für Erkennungszeichen (die für jeden Übergang in einer gegebenen Lautmaschine abweichen können), sowie der Notwendigkeit der Wahrscheinlichkeit zu einer gegebenen Zeit in einem gegebenen Betriebsart zu sein, vorgebeugt durch Ersetzung aller aktuellen Wahrscheinlichkeiten der Erkennungszeichen für ein gegebenes Erkennungszeichen in einer gegebenen Lautmaschine durch einen entsprechenden Ersatzwert.
  • In dieser Weise werden die Längenverteilungen von dem Detailvergleichsmodell bestimmt. Insbesondere überprüft die Prozedur für jede Länge in der Längenverteilung vorzugsweise jede Betriebsart individuell und bestimmt für jede Betriebsart die verschiedenen Übergangspfade, bei denen die derzeit überprüfte Betriebsart auftreten kann (a) wenn eine spezielle Erkennungszeichenlänge gegeben ist und (b) unbeachtet der Ausgaben entlang der Übergänge. Die Wahrscheinlichkeiten für alle Übergangspfade von der speziellen Länge zu jeder betreffenden Betriebsart werden aufsummiert und die Summen für alle die betreffenden Betriebsarten werden dann addiert um die Wahrscheinlichkeit von einer gegebenen Länge in der Verteilung anzuzeigen. Die obige Prozedur wird für jede Länge wiederholt. Gemäß der bevorzugten Form der Anpassungsprozedur werden diese Berechnungen mit Bezug zu einem Gitterdiagramm, wie es bei den Markovmodellen bekannt ist, gemacht. Für Übergangspfade, die auf demselben Ast entlang der Gitterstruktur liegen, braucht die Berechnung für jeden üblichen Ast nur einmal durchgeführt werden und wird dann auf jedem Pfad angewendet, der den üblichen Ast enthält.
  • In dem Diagramm der Fig. 13 sind zwei Beschränkungen durch das Beispiel enthalten. Erstens wird angenommen, daß die Länge der Erkennungszeichen, die durch den Laut erzeugt werden, Null, Eins, Zwei oder Drei mit den entsprechenden Wahrscheinlichkeiten l&sub0;, l&sub1;, l&sub2;, und l&sub3; sein kann. Die Startzeit ist auch beschränkt und erlaubt nur vier Startzeiten mit den entsprechenden Wahrscheinlichkeiten q&sub0;, q&sub1;, q&sub2; und q&sub3;. Mit diesen Beschränkungen ist die Endzeitverteilung für einen betreffenden Laut definiert durch die folgenden Gleichungen:
  • Φ&sub0; = q&sub0;l&sub0;
  • Φ&sub1; = q&sub1;l&sub0; + q&sub0;l&sub1;p&sub1;
  • Φ&sub2; = q&sub2;l&sub0; + q&sub1;l&sub1;p&sub2; + q&sub0;l&sub2;p&sub1;p&sub2;
  • Φ&sub3; = q&sub3;l&sub0; + q&sub2;l&sub1;p&sub3; + q&sub1;l&sub2;p&sub2;p&sub3; + q&sub0;l&sub3;p&sub1;p&sub2;p&sub3;
  • Φ&sub4; = q&sub3;l&sub1;p&sub4; + q&sub2;l&sub2;p&sub3;p&sub4; + q&sub1;l&sub3;p&sub2;p&sub3;p&sub4;
  • Φ&sub5; = q&sub3;l&sub2;p&sub4;p&sub5; + q&sub2;l&sub3;p&sub3;p&sub4;p&sub5;
  • Φ&sub6; = q&sub3;l&sub3;p&sub4;p&sub5;p&sub6;
  • Bei der Untersuchung dieser Gleichungen kann man beobachten, daß Φ&sub3; einem Term entsprechend jeder von vier Anfangszeiten enthält. Der erste Term stellt die Wahrscheinlichkeit dar, daß der Laut zu einer Zeit t=t&sub3; beginnt und eine Länge von Null Erkennungszeichen erzeugt - der Laut beginnt und endet zur selben Zeit. Der zweite Term stellt die Wahrscheinlichkeit dar, daß der Laut zur Zeit t=t&sub2; beginnt, daß die Länge des Erkennungszeichens eins ist, und daß ein Erkennungszeichen 3 durch den Laut erzeugt wird. Der dritte Term enthält die Wahrscheinlichkeit, daß der Laut zur Zeit t=t&sub1; beginnt, daß die Länge des Erkennungszeichens zwei ist (nämlich Erkennungszeichen 2 und 3) und daß die Erkennungszeichen 2 und 3 durch den Laut erzeugt wurden. Dementsprechend stellt der vierte Term die Wahrscheinlichkeit dar, daß der Laut zur Zeit t=t&sub1; beginnt, daß die Länge des Erkennungszeichen drei ist und daß die drei Erkennungszeichen 1, 2 und 3 durch den Laut erzeugt wurden.
  • Vergleicht man die in der einfachen Schnellanpassung benötigten Berechnungen mit den im Detailvergleich benötigten Berechnungen, so wird die relative Einfachheit des Ersteren relativ zu dem Zweiten nahegelegt. Diesbezüglich wird bemerkt, daß der Wert p'yk für jedes Erscheinen in all den Gleichungen der Längenwahrscheinlichkeiten von Erkennungszeichen derselbe bleibt. Mit der Beschränkung der Länge und der Startzeit werden darüberhinaus die Berechnungen für die spätere Endzeit vereinfacht. Beispielsweise bei Φ&sub6; muß der Laut zur Zeit t=t&sub3; beginnen und alle drei Erkennungszeichen 4, 5 und 6 müssen von dem für diese Endzeit angewendeten Laut erzeugt werden.
  • Durch die Erzeugung eines Trefferwertes für einen betreffenden Laut werden die Endzeitwahrscheinlichkeiten entlang der definierten Endzeitverteilung aufsummiert. Falls erwünscht, wird der Logarithmus der Summe genommen um den Ausdruck zu schaffen:
  • Trefferwert = Log&sub1;&sub0; (Φ&sub0; + - + Φ&sub6;)
  • Wie vorher erwähnt, ist ein Übereinstimmungstrefferwert für ein Wort durch die Aufsummierung der Trefferwerte für nachfolgende Laute in dem bestimmten Wort, bestimmt.
  • Bei der Beschreibung der Erzeugung der Anfangszeitverteilung wird Bezug genommen auf Fig. 14. In Fig. 14 (a) wird das Wort THE&sub1;, welches in seine Lautkomponenten zerlegt ist, wiederholt. In Fig. 14 (b) ist die Erkennungszeichenfolge über der Zeit dargestellt. In Fig. 14 (c) ist eine erste Anfangszeitverteilung gezeigt. Die erste Anfangszeitverteilung wurde aus der Endzeitverteilung des jüngsten vorhergehenden Lautes (in dem vorhergehenden Wort, welches ein "Wort" Ruhe enthält) hergeleitet. Basierend auf den Erkennungszeicheneingaben und der Anfangszeitverteilung aus Fig. 14 (c) wird die Endzeitverteilung für den Laut DH, ΦDH erzeugt. Die Anfangszeitverteilung für den nächsten Laut, UH, wird bestimmt durch Erkennung der Zeit in welcher die Endzeitverteilung des vorhergehenden Lautes einen Schwellwert (A) in Fig. 14 (d) überschreitet. (A) wird für jede Endzeitverteilung individuell bestimmt. (A) ist vorzugsweise eine Funktion der Summe der Endzeitverteilungswerte für einen betreffenden Laut. Das Intervall zwischen den Zeiten a und b stellt die Zeit dar, in welcher die Anfangszeitverteilung für den Laut UH gesetzt wird. (Vgl. Fig. 14 (e)). Das Intervall zwischen den Zeichen c und d in Fig. 14 (e) entspricht den Zeiten zwischen dem Überschreiten der Schwelle (A) der Endzeitverteilung für den Laut DH und dem Setzen der Anfangszeitverteilung für den nächsten Laut. Die Werte für die Anfangszeitverteilung werden erhalten durch Normierung der Endzeitverteilung mittels, beispielsweise Teilung jedes Endzeitwertes durch die Summe der Endzeitwerte, die die Schwelle (A) überschreiten.
  • Die einfache Lautmaschine 3000 wurde in ein Fließkommasystem INC. 190 L mit einem APAL-Programm implementiert. Andere Hardware oder Software kann ebenso benutzt werden, um eine spezielle Form der Anpassungsprozedur nach der hier beschriebenen Lehre zu erhalten.
  • E. Alternative Schnellanpassung
  • Die einfache Schnellanpassung reduziert alleine angewendet oder in Verbindung vorzugsweise mit dem Detailvergleich und/oder einem Sprachmodell die Rechenzeitanforderungen deutlich. Zur weiteren Reduzierung der Rechenzeitanforderungen wird in der erfindungsgemäßen technischen Lehre durch Definition einer einheitlichen Längenverteilung der Erkennungszeichen zwischen zwei Längen
  • - einer minimalen Länge Lmin und einer maximalen Länge Lmax - der Detailvergleich weiter vereinfacht. In dieser einfachen Schnellanpassung haben die Wahrscheinlichkeiten von einem Laut, der Erkennungszeichen von einer gegebenen Länge - nämlich l&sub0;, l&sub1;, l&sub2; usw. - erzeugt, typischerweise verschiedene Werte. Gemäß der alternativen Schnellanpassung wird die Wahrscheinlichkeit für jede Länge von Erkennungszeichen durch einen einzelnen einheitlichen Wert ersetzt.
  • Vorzugsweise ist die minimale Länge gleich der kleinsten Länge, die in der ursprünglichen Längenverteilung eine von Null verschiedene Wahrscheinlichkeit hat, jedoch können auf Wunsch auch andere Längen ausgewählt werden. Die Auswahl der maximalen Länge ist willkürlicher als die Auswahl der minimalen Länge, aber es ist wesentlich, daß die Wahrscheinlichkeiten der Längen, die kleiner als das Minimum und größer als das Maximum sind, zu Null gesetzt werden. Eine einheitliche Scheinverteilung kann dadurch weiter benutzt werden, daß die Längenwahrscheinlichkeit der Definition nur zwischen der minimalen und der maximalen Länge existiert. In einem Ansatz kann die einheitliche Wahrscheinlichkeit als die durchschnittliche Wahrscheinlichkeit über der Scheinverteilung gesetzt werden. Alternativ kann die einheitliche Wahrscheinlichkeit gesetzt werden als das Maximum der Längenwahrscheinlichkeiten, die durch den Einheitswert ersetzt wurden.
  • Der Effekt, daß alle Längenwahrscheinlichkeiten der Erkennungszeichen als gleich charakterisiert wurden, ist mit Bezug auf die obigen Gleichungen für die Endzeitverteilung in der einfachen Schnellanpassung abschließend betrachtet. Insbesondere können die Längenwahrscheinlichkeiten als Konstanten ausmultipliziert werden.
  • Wenn Lmin zu Null gesetzt wird und alle Längenwahrscheinlichkeiten ersetzt werden durch einen einzelnen konstanten Wert, dann kann die Endzeitverteilung charakterisiert werden durch:
  • Rm = Φm/l = qm + Rm-1pm
  • wobei "l" der einzelne einheitliche Ersatzwert ist und wobei der Wert pm vorzugsweise dem Ersatzwert für ein gegebenes Erkennungszeichen entspricht, das in einem gegebenen Laut zu einer Zeit m erzeugt wurde.
  • In der obigen Gleichung für Rm ist der Trefferwert definiert als:
  • Trefferwert = log&sub1;&sub0; (R&sub0; + R&sub1; + - + Rm) + log&sub1;&sub0;(l)
  • Beim Vergleich der einfachen Schnellanpassung mit der alternativen Schnellanpassung wurde herausgefunden, daß die Anzahl der benötigten Additionen und Multiplikationen durch Verwendung der alternativen Schnellanpassungs-Lautmaschine deutlich reduziert wurde. Mit Lmin=0 hat sich ergeben, daß die einfache Schnellanpassung vierzig Multiplikationen und zwanzig Additionen benötigt, in denen die Längenwahrscheinlichkeiten berücksichtigt werden mußten. Mit der alternativen Schnellanpassung wird Rm rekursiv bestimmt und benötigt eine Multiplikation und eine Addition für jedes nachfolgende Rm.
  • Um weiter darzustellen, wie die alternative Schnellanpassung die Berechnungen vereinfacht, stehen die Fig. 15 und 16 zur Verfügung. In Fig. 15 (a) ist eine Ausführungsform einer Lautmaschine 3100 entsprechend der Minimumlänge Lmin=0 dargestellt. Die Maximumlänge wird als unendlich angenommen, so daß die Längenverteilung als einheitlich charakterisiert werden kann. Das in Fig. 15 (b) gezeigte Gitterdiagramm resultiert aus der Lautmaschine 3100. Angenommen, Anfangszeiten nach qm liegen außerhalb der Anfangszeitverteilung, dann erfordern alle Bestimmungen von jedem nachfolgenden Rm mit m kleiner als n eine Addition und eine Multiplikation. Für Bestimmungen von darüber hinaus gehenden Endzeiten wird lediglich eine Multiplikation und keine Addition benötigt.
  • In Fig. 16 ist Lmin=4. Fig. 16 (a) zeigt hierfür eine spezielle Ausführungsform von einer Lautmaschine 3200 und Fig. 16 (b) zeigt hierfür ein entsprechendes Gitterdiagramm. Weil Lmin=4 ist, hat das Gitterdiagramm aus Fig. 16 (b) eine Nullwahrscheinlichkeit entlang des Pfades u, v, w und z. Für die Endzeiten, die zwischen R&sub4; und Rn liegen, sei bemerkt, daß vier Multiplikationen und eine Addition notwendig sind. Für Endzeiten, die größer als n + 4 sind, wird eine Multiplikation und keine Addition benötigt. Diese Ausführungsform wurde in APAL auf einem FPS 190 L implementiert.
  • In Anhang 2 ist ein Programmausdruck beigefügt, der rechnerisch im wesentlichen der (näherungsweisen) Schnellanpassung entspricht. Der Code entspricht dem Fall, daß Lmin=4. Es sollte noch erwähnt werden, daß zusätzlich zu der in den Fig. 15 oder 16 gezeigten Ausführungsformen je nach Wunsch weitere Betriebsarten zugefügt werden können.
  • F. Übereinstimmung basierend auf ersten J Erkennungszeichen
  • Als eine weitere Verbesserung der einfachen und der alternativen Schnellanpassung wird überlegt nur die ersten J-Erkennungszeichen der in einer Lautmaschine eintretenden Zeichenfolge für die Übereinstimmung zu berücksichtigen. Angenommen, die Erkennungszeichen werden durch einen Akustikprozessor mit einer Rate von l pro hunderdstel Sekunde von einem Akustikkanal erzeugt, dann ist 100 ein angemessener Wert für J. Mit anderen Worten: Erkennungszeichen entsprechend einer Größenordnung von einer Sprachsekunde werden zur Verfügung gestellt um eine Übereinstimmung zwischen einem Laut und den in der Lautmaschine eintretenden Erkennungszeichen herbeizuführen. Durch die Beschränkung der Anzahl der zu prüfenden Erkennungszeichen werden zwei Vorteile erzielt. Erstens wird die Decodierverzögerung reduziert und zweitens werden Probleme beim Anpassen der Trefferwerte von kurzen Wörtern mit langen Wörtern im wesentlichen vermieden. Die Länge von J kann natürlich nach Wunsch variiert werden.
  • Mit Bezug auf das Gitterdiagramm aus Fig. 16 (b) kann der Effekt der Beschränkung der Anzahl von zu überprüfenden Erkennungszeichen verdeutlicht werden. Ohne die erfindungsgemäße Verbesserung ist der Schnellanpassungs-Trefferwert die Summe der Wahrscheinlichkeiten aller Rm entlang der untersten Reihe des Diagramms. Das heißt, die Wahrscheinlichkeit zur Anfangszeit t=t&sub0; (für Lmin=0) oder t=t&sub4; (für Lmin=4) in Betriebsart S&sub4; zu sein, wird als Rm bestimmt und alle Rm werden dann aufaddiert. Für Lmin=4 gibt es zu einer beliebigen Zeit vor t&sub4; keine Wahrscheinlichkeit, in Betriebsart S&sub4; zu sein. Mit der Verbesserung wird die Summierung der Rm zur Zeit J beendet. In Fig. 16(b) entspricht die Zeit J der Zeit tn+2.
  • Die Beendigung der Überprüfung von J-Erkennungszeichen über J-Zeitintervalle kann zu den folgenden zwei Wahrscheinlichkeits- Summationen zur Bestimmung eines Übereinstimmungstrefferwertes führen. Wie oben beschrieben gibt es erstens, allerdings nur bis zur Zeit J-1, eine Reihenberechnung entlang der Grundreihe des Gitterdiagrammes. Die Wahrscheinlichkeiten, zu jeder Zeit bis zur Zeit J-1 in der Betriebsart S&sub4; zu sein, werden aufsummiert um einen Reihen-Trefferwert zu bilden. Zweitens gibt es einen Spalten-Trefferwert, der der Summe der Wahrscheinlichkeiten entspricht, daß der Laut an jeder jeweiligen Betriebsart S&sub0; bis S&sub4; zur Zeit J ist. Das heißt, der Spalten-Trefferwert ist:
  • Spalten-Trefferwert = Summe f=0&sup4;Pr (Sf,J)
  • Der Übereinstimmungstrefferwert für einen Laut wird erhalten durch Aufsummierung der Reihen- und der Spalten-Trefferwerte und anschließendes Logarithmieren der Summe. Um die Schnellanpassung für den nächsten Laut fortzusetzen, werden die Werte entlang der Grundreihe - vorzugsweise inclusive Zeit J - verwendet um die Anfangszeitverteilung für den nächsten Laut herzuleiten.
  • Nach der Bestimmung eines Übereinstimmungstrefferwertes für jeden von b aufeinanderfolgenden Lauten ist der Gesamttrefferwert für alle Laute, wie oben beschrieben, die Summe der Übereinstimmungstrefferwerte für alle diese Laute.
  • Bei der Überprüfung der Art und Weise, in welcher die Endzeit- Wahrscheinlichkeiten in der oben beschriebenen einfachen Schnellanpassung und der alternativen Schnellanpassung erzeugt werden, ist festzustellen, daß die Bestimmung der Spalten-Trefferwerte nicht gänzlich übereinstimmt mit der der Schnellanpassungsberechnungen. Zur besseren Anpassung der Begrenzung der zu überprüfenden Anzahl von Erkennungszeichen an der Schnellanpassung und der alternativen Übereinstimmung, wird in der erfindungsgemäßen Anpassungstechnik der spalten-Trefferwert ersetzt durch einen zusätzlichen Reihen-Trefferwert. Das heißt, daß ein zusätzlicher Reihen-Trefferwert für den Laut bestimmt wird, der sich an der Betriebsart S&sub4; (in Fig. 16 (b)) zwischen den Zeiten J und J+K befindet, wobei K das Maximum der Anzahl von Betriebsarten in einer beliebigen Lautmaschine ist. Wenn eine beliebige Lautmaschine zehn Betriebsarten hat, dann addiert die erfindungsgemäße Verbesserung zehn Endzeiten entlang der Grundreihe des Gitterdiagrammes, wobei für jede dieser Endzeiten eine Wahrscheinlichkeit bestimmt wird. Alle die Wahrscheinlichkeiten entlang der Grundreihe bis einschließlich der Wahrscheinlichkeit zur Zeit J+K werden aufaddiert, um einen Übereinstimmungstrefferwert für den gegebenen Laut zu produzieren. Wie zuvor werden aufeinanderfolgende Lauttrefferwerte aufsummiert, um einen Worttrefferwert zu erhalten.
  • Diese Ausführungsform wurde in APAL auf einer FPS 190 L implementiert; jedoch könnte, wie auch mit anderen Teilen des Systems, diese mit anderen Codes auf anderer Hardware implementiert werden.
  • G. Lautbaumstruktur und Ausführungsformen der schnellen Übereinstimmung
  • Durch Anwendung der einfachen oder der alternativen Schnellanpassung - mit oder ohne maximale Erkennungszeichenbegrenzung - wird die zur Bestimmung der Lauttrefferwerte benötigte Rechenzeit enorm reduziert. Darüberhinaus wird die Rechenzeitersparnis hoch bleiben, selbst wenn der Detailvergleich an den Wörtern durchgeführt wird, die in der durch die Schnellanpassung hergeleiteten Liste sind.
  • Die einmal bestimmten Lauttrefferwerte werden, wie in Fig. 17 gezeigt, entlang des Astes der Baumstruktur 4100 verglichen, um zu bestimmen, welche Lautpfade die wahrscheinlichsten sind. In Fig. 17 sollten sich die Lauttrefferwerte für DH und UH1 (ausgehend von Punkt 4102 zu Ast 4104) zu einem sehr vielen höheren Wert für das gesprochene Wort "THE" aufsummieren, als die verschiedenen Folgen von Lauten, die sich aus dem Laut MX verzweigen. Diesbezüglich sollte man beobachten, daß der Lauttrefferwert für den ersten MX-Laut nur einmal berechnet wird und dann für jede daraus abgeleitete Basisform benutzt wird. (Vgl. Äste 4104 und 4105). Wenn der entlang einer ersten Folge von Zweigen kalkulierte Gesamttrefferwert sehr viel niedriger ist als ein Schwellwert oder sehr viel niedriger ist als der Gesamttrefferwert für andere Folgen von Zweigen, dann können alle von der ersten Folge erzeugten Basisformen gleichzeitig als Wortkandidaten eliminiert werden. Zum Beispiel können Basisformen, die den Zweigen 4108 bis 4119 zugeordnet sind, gleichzeitig eliminiert werden, wenn bestimmt wurde, daß MX ein nicht wahrscheinlicher Pfad ist.
  • Mit den Ausführungsformen der Schnellanpassung und der Baumstruktur wird eine angeforderte Liste von Wortkandidaten unter großen Rechenzeitersparnissen erzeugt.
  • In Bezug auf Speicherplatzerfordernisse sollte noch erwähnt werden, daß die Baumstruktur der Laute, die Statistiken für die Laute und Schwanzwahrscheinlichkeiten gespeichert werden. In Bezug auf die Baumstruktur gibt es 25.000 Bögen und für jeden Bogen 4 charakterisierende Datenwörter. Das erste Datenwort stellt eine Kennziffer für nachfolgende Bögen oder Laute dar. Das zweite Datenwort zeigt die Anzahl von nachfolgenden Lauten entlang des Zweiges an. Das dritte Datenwort zeigt an, an welchem Knoten des Baumes der Bogen angeordnet ist. Und das vierte Datenwort zeigt den gegenwärtigen Laut an. Das ergibt, daß für die Baumstruktur 25.000·4 Speicherplätze benötigt werden. In der Schnellanpassung gibt es 100 unterschiedliche Laute und 200 unterschiedliche Phoneme. Dadurch, daß ein Phonem eine einzelne Wahrscheinlichkeit hat, an irgendeiner Stelle in einem Laut erzeugt zu werden, werden Speicherplätze für 100·200 statistische Wahrscheinlichkeiten benötigt. Schließlich werden für die Schwanzwahrscheinlichkeiten 200·200 Speicherplätze benötigt.
  • 100K Integer und 60 K Fließkommaspeicherplätze sind ausreichend für die Schnellanpassung.
  • H. Sprachmodell
  • Wie bereits zuvor bemerkt kann zur Erhöhung der Wahrscheinlichkeit einer korrekten Wortauswahl, ein Sprachmodell kontextbezogene Informationen - wie Tri Gramme - enthalten. Sprachmodelle sind bereits aus der Literatur bekannt.
  • Das Sprachmodell 1010 hat vorzugsweise einen einzigartigen Charakter. Insbesondere wird ein modifiziertes Tri-Gram-Verfahren verwendet. Gemäß diesem Verfahren wird ein Beispieltext überprüft um die Wahrscheinlichkeit von jeder geordneten Dreiergruppe von Wörtern, jeder geordneten Zweiergruppen von Wörtern oder von einzelnen Wörtern in dem Wörterverzeichnis zu bestimmen. Eine Liste der wahrscheinlichsten Dreiergruppen von Wörtern und eine Liste der wahrscheinlichsten Zweiergruppen von Wörtern wird gebildet. Darüberhinaus wird die Wahrscheinlichkeit, daß eine Dreiergruppe nicht in der Dreiergruppenliste ist, und die Wahrscheinlichkeit, daß eine Zweiergruppe nicht in der Zweiergruppenliste ist, bestimmt.
  • Wenn ein betreffendes Wort zwei Wörtern folgt, wird gemäß dem Sprachmodell ermittelt, ob das betreffende Wort und die zwei vorhergehenden Wörter in der Dreiergruppenliste enthalten sind. Wenn ja, wird die mit der Dreiergruppe gespeicherte Wahrscheinlichkeit angezeigt. Wenn das betreffende Wort und seine zwei vorhergehenden Wörter nicht in der Dreiergruppenliste enthalten sind, wird ermittelt, ob das betreffende Wort und das ihm vorgehende Wort in der Zweiergruppenliste enthalten sind. Wenn ja, wird die Wahrscheinlichkeit von der Zweiergruppe multipliziert mit der Wahrscheinlichkeit, daß die Dreiergruppe nicht in der Dreiergruppenliste enthalten ist und das Produkt wird dann dem betreffenden Wort zugeordnet. Wenn das betreffende Wort und sein(e) vorgehenden Wort(e) weder in der Dreiergruppenliste noch in der Zweiergruppenliste enthalten sind, wird die Wahrscheinlichkeit des betreffenden Wortes multipliziert mit der Wahrscheinlichkeit, daß eine Dreiergruppe nicht in der Dreiergruppenliste enthalten ist und mit der Wahrscheinlichkeit, daß eine Zweiergruppe nicht in der Zweiergruppenliste enthalten ist. Das Produkt wird dann dem betreffenden Wort zugeordnet.
  • In Fig. 18 ist ein Flußdiagramm 5000 gezeigt, in dem der Probelauf von Lautmaschinen, die in Akustikübereinstimmungen eingesetzt werden, dargestellt ist. Schritt 5002 definiert ein Wörterverzeichnis - typischerweise in der Größenordnung von 5000 Wörtern -. Jedes Wort ist dann durch eine Folge von Lautmaschinen dargestellt. Beispielsweise sind Lautmaschinen als phonetische Lautmaschinen gezeigt worden, sie können aber alternativ auch eine Folge von phonemischen Lauten enthalten. Die Repräsentation von Wörtern durch eine Folge von phonetischen Lautmaschinen oder durch eine Folge von phonemischen Lautmaschinen wird hierin weiter unten diskutiert. Eine Lautmaschinenfolge für ein Wort wird als eine Basiswortform bezeichnet.
  • Wie weiter oben beschrieben, werden im Schritt 5006 die Basiswortformen in der Verzweigungsbaumstruktur angeordnet. Die Statistiken für jede Lautmaschine in jeder Basiswortform werden bestimmt durch Lernsitzungen gemäß dem gut bekannten Vorwärts- Rückwärts-Algorithmus, wie er in der Veröffentlichung "Continuous Speech Recognition by Statistical Methods" von F. Jelinek beschrieben ist. Eine verbesserte Lernprozedur ist in Abschnitt M beschrieben.
  • Schritt 5009 bestimmt die Werte, die durch aktuelle Parameterwerte oder durch in dem Detailvergleich verwendete Statistiken, ersetzt werden sollen. Beispielsweise werden die Werte bestimmt, die durch die aktuellen Erkennungszeichen-Ausgabewahrscheinlichkeiten ersetzt werden sollen. Schritt 5010 ersetzt die gespeicherten aktuellen Wahrscheinlichkeiten durch die oben bestimmten Werte, so daß die Laute in jeder Basiswortform die näherungsweisen Ersatzwerte enthalten. Schritt 5010 führt alle Näherungen bezüglich der einfachen Schnellanpassung durch.
  • Anschließend wird eine Entscheidung getroffen, ob die Akustikübereinstimmung weitergeführt werden soll (Schritt 5011) oder nicht. Wenn nicht, werden die für die einfache näherungsweise Übereinstimmung bestimmten Werte für den Gebrauch freigesetzt und andere Abschätzungen bezüglich anderer Näherungen werden nicht festgesetzt (Schritt 5012). Wenn eine Erhöhung gewünscht wird, folgt Schritt 5018. Eine gleichmäßige Längenverteilung der Zeichenfolgen wird definiert (Schritt 5018) und eine Entscheidung wird getroffen, ob eine weitere Erhöhung gewünscht wird (Schritt 5020) oder nicht. Wenn nicht, werden Ausgabewahrscheinlichkeitswerte der Erkennungszeichen und Längenwahrscheinlichkeitwerte der Zeichenfolgen angenähert und für den Gebrauch in der Akustikübereinstimmung freigegeben. Wenn eine weitere Erhöhung gewünscht wird, wird die Akustikübereinstimmung beschränkt auf die ersten J-Erkennungszeichen in der erzeugten Zeichenfolge (Schritt 5022). Unabhängig davon, ob eine der erhöhten Ausführungsformen ausgewählt wird oder nicht werden die ermittelten Parameterwerte in Schritt 5012 festgesetzt, worauf jede Lautmaschine in jeder Basiswortform mit den gewünschten Näherungen, welche die schnelle näherungsweise Übereinstimmung ermöglichen, trainiert wurde.
  • J. Stapeldecodierer
  • Ein bevorzugter Stapeldecodierer, der in dem Spracherkennungssystem von Fig. 1 verwendet wird, ist von L. Bahl, F. Jelinek und R.L. Mercer von der IBM Spracherkennungsgruppe erfunden worden und in der Europäischen Patentanmeldung 86104218.2 diskutiert worden. Der bevorzugte Stapeldecodierer wird nun beschrieben.
  • In Fig. 19 und Fig. 20 wird eine Vielzahl von nachfolgenden Erkennungszeichen y&sub1;y&sub2; --- gezeigt, die in nachfolgenden "Erkennungszeichenintervallen" oder "Erkennungszeichen-Positionen" erzeugt wurden.
  • Ebenso wird in Fig. 20 eine Vielzahl von erzeugten Wortpfaden gezeigt, nämlich Pfad A, Pfad B und Pfad C. Im Kontext von Fig. 19 könnte Pfad A der Eingabe "To be or" entsprechen, Pfad B könnte der Eingabe "two b" entsprechen und Pfad C könnte der Eingabe "too" entsprechen.
  • Durch bekannte Verfahren, wie das in der Veröffentlichung "Faster Acoustic Match Computation" (von L.R. Bahl, F. Jelinek und R.L. Mercer) aus dem IBM Technical Disclosure Bulletin, Jahrgang 23, Nr. 4 vom September 1980 beschriebene, kann für einen eine Folge von Wörtern darstellenden Wortpfad W die wahrscheinlichste Endzeit gefunden werden - dargestellt in der Erkennungszeichenfolge als "ein Grenzerkennungszeichen" zwischen zwei Wörtern Die Veröffentlichung diskutiert Verfahrensweisen zur Zuweisung zweier ähnlicher Belange: (a) wieviel von einer Erkennungszeichenfolge Y wird für ein Wort (eine Wortfolge) aufgewendet und (b) bei welchem Erkennungszeichenintervall hört ein Teilsatz
  • - entsprechend dem Teil der Erkennungszeichenfolge - auf.
  • Für jeglichen gegebenen Wortpfad gibt es einen "Wahrscheinlichkeitswert", der jedem Erkennungszeichen oder Erkennungszeichenintervall zugeordnet ist, einschließlich dem ersten Erkennungszeichen von der Erkennungszeichenfolge bis zu dem Grenzerkennungszeichen. Alle Wahrscheinlichkeitswerte für einen gegebenen Wortpfad zusammen genommen, stellen einen "Wahrscheinlichkeitsvektor" für den gegebenen Wortpfad dar. Demgemäß gibt es für jeden Wortpfad einen entsprechenden Wahrscheinlichkeitsvektor. Wahrscheinlichkeitswerte Lt sind in Fig. 20 dargestellt.
  • Eine "wahrscheinliche Hüllkurve" At an einem Erkennungszeichenintervall t für eine Sammlung von Wortpfaden W¹, W²,... Ws ist mathematisch definiert als:
  • At = max(Lt(W¹),---, Lt(Ws)
  • D.h., für jedes Erkennungszeichenintervall enthält die Hüllkurve den höchsten Wahrscheinlichkeitswert, der jedem beliebigen Wortpfad in der Sammlung zugeordnet ist. Eine Hüllkurve 1040 ist in Fig. 20 dargestellt.
  • Ein Wortpfad wird als "komplett" angesehen, wenn er einem kompletten Satz entspricht. Ein kompletter Pfad wird vorzugsweise dann identifiziert, wenn ein Sprecher am Ende eines Satzes angelangt ist und ein Signal eingibt, beispielsweise Drücken eines Knopfes. Das eingegebene Signal wird dann mit einem Erkennungszeichenintervall synchronisiert um das Ende eines Satzes zu kennzeichnen. Ein kompletter Wortpfad kann nicht durch Anhängen eines beliebigen Wortes erweitert werden. Ein "Teil-" Wortpfad entspricht einem nicht kompletten Satz und kann erweitert werden.
  • Teilpfade werden als "lebend" oder "tot" klassifiziert. Ein Wortpfad ist "tot", wenn er bereits erweitert wurde und "lebend", wenn nicht. Mit dieser Klassifikation kann ein Pfad, der bereits verlängert wurde um eine oder mehrere längenerweiterte Wortpfade zu bilden, zu einem nachfolgenden Zeitpunkt nicht noch einmal verlängert werden.
  • Jeder Wortpfad ist also charakterisierbar als "gut" oder "schlecht" in Bezug auf die Hüllkurve. Der Wortpfad ist gut, wenn bei dem dem Grenzerkennungszeichen entsprechenden Erkennungszeichen der Wortpfad einen Wahrscheinlichkeitswert hat, der innerhalb Δ der maximalen Hüllkurve liegt. Ansonsten wird der Wortpfad mit "schlecht" markiert. Vorzugsweise, jedoch nicht notwendigerweise, ist Δ ein fester Wert durch den jeder Wert der maximalen Hüllkurve reduziert wird, um als ein gut/schlecht Schwellniveau zu dienen.
  • Für jedes Erkennungszeichenintervall gibt ein es Stapelelement. Jedem lebenden Wortpfad ist ein Stapelelement zugeordnet, entsprechend dem Erkennungszeichenintervall, welches dem Grenzerkennungszeichen eines solchen lebenden Pfades entspricht. Ein Stapelelement kann null, eine oder mehrere Wortpfadeingaben haben - die Eingaben sind nach dem Wahrscheinlichkeitswert geordnet.
  • Die von dem Stapeldecodierer 1002 aus Fig. 1 durchgeführten Schritte werden nun diskutiert.
  • Die Bildung der Hüllkurve und die Bestimmung, welche Pfade "gut" sind, ist untereinander zusammenhängend, wie durch das beispielhafte Flußdiagramm von Fig. 21 gezeigt wird.
  • In dem Flußdiagramm von Fig. 21 wird in Schritt 5050 zuerst ein Nullpfad in den ersten Stapel (0) eingegeben. Damit ist ein (komplettes) Stapelelement geschaffen, welches, wenn überhaupt, komplette Pfade enthält, was zuvor bestimmt wurde (Schritt 5052). Jeder komplette Pfad in dem (kompletten) Stapelelement ist einem Wahrscheinlichkeitsvektor zugeordnet. Der Wahrscheinlichkeitsvektor von dem kompletten Pfad hat die höchste Wahrscheinlichkeit bei dem Grenzerkennungszeichen, welches die anfängliche maximale Hüllkurve definiert. Wenn es keinen kompletten Pfad in dem (kompletten) Stapelelement gibt, wird die maximale Hüllkurve initialisiert als - bei jedem Erkennungszeichenintervall. Wenn darüberhinaus keine kompletten Pfade spezifiziert sind, kann die maximale Hülle initialisiert werden als Die Initialisierung der Hüllkurve ist dargestellt durch die Schritte 5054 und 5056.
  • Nachdem die maximale Hüllkurve initialisiert ist, wird sie durch einen vordefinierten Betrag Δ reduziert, um einen Δ-Gutbereich über den reduzierten Wahrscheinlichkeiten zu bilden und um einen Δ-Schlechtbereich unter den reduzierten Wahrscheinlichkeiten zu bilden. Der Wert von Δ steuert die Breite der Suche. Je größer Δ ist, desto größer ist die Anzahl der Wortpfade, die für eine mögliche Erweiterung berücksichtigt werden. Wenn log&sub1;&sub0; zur Bestimmung von Lt verwendet wird, dann werden mit einem Wert von 2,0 für Δ zufriedenstellende Resultate erzielt. Der Wert von Δ ist vorzugsweise, jedoch nicht notwendigerweise, einheitlich entlang der Länge der Erkennungszeichenintervalle.
  • Wenn ein Wortpfad eine Wahrscheinlichkeit an dem Grenzerkennungszeichen hat, welche im Δ-Gutbereich ist, dann wird der Wortpfad mit "gut" markiert. Anderenfalls wird der Wortpfad mit "schlecht" markiert.
  • Wie in Fig. 21 gezeigt, beginnt eine Schleife zur Aktualisierung der Hüllkurve und zur Markierung der Wortpfade als "gut" (für mögliche Erweiterungen) oder "schlecht" mit der Auffindung des längsten unmarkierten Wortpfades (Schritt 5058). Wenn mehr als ein unmarkierter Wortpfad in dem Stapel ist, der der längsten Wortpfadlänge entspricht, dann wird der Wortpfad ausgewählt, der an dem Grenzerkennungszeichen die höchste Wahrscheinlichkeit aufweist. Wenn ein Wortpfad gefunden ist, wird er mit "gut" markiert, wenn dessen Wahrscheinlichkeit an dem Grenzerkennungszeichen innerhalb des Δ-Gutbereiches liegt oder ansonsten mit "schlecht" (Schritt 5060). Wenn der Wortpfad mit "schlecht" markiert ist, wird ein anderer unmarkierter lebender Pfad gefunden und markiert (Schritt 5062). Wenn der Wortpfad mit "gut" markiert ist, dann wird die Hüllkurve aktualisiert um ebenso die Wahrscheinlichkeitswerte von den mit "gut" markierten Pfad zu enthalten. Das heißt, für jedes Erkennungszeichenintervall wird ein Wahrscheinlichkeitswert bestimmt, der der größere der Wahrscheinlichkeitswerte (a) der gegenwärtige Wahrscheinlichkeitswert in der Hüllkurve und (b) der mit dem als "gut" markierten Wortpfad assoziierte Wahrscheinlichkeitswert, ist. Dieses ist in den Schritten 5064 und 5066 dargestellt. Nachdem die Hüllkurve aktualisiert ist, wird wieder ein längster, geeigneter unmarkierter lebender Wortpfad gefunden (Schritt 5058).
  • Die Schleife wird dann so oft wiederholt, bis keine unmarkierten Wortpfade mehr zurückbleiben. Dann wird der kürzeste mit "gut" markierte Wortpfad ausgewählt. Wenn es mehr als einen mit "gut" markierten Wortpfad gibt, der die kürzeste Länge hat, dann wird derjenige ausgewählt, der die höchste Wahrscheinlichkeit an dem Grenzerkennungszeichen aufweist (Schritt 5070). Der ausgewählte kürzeste Pfad wird dann erweitert. Das heißt, zumindest ein wahrscheinliches Folgewort wird, wie oben beschrieben, bestimmt mittels Durchführung, vorzugsweise der schnellen Anpassung, des Sprachmodells, des Detailvergleiches und der Sprachmodellprozedur. Für jedes wahrscheinliche Folgewort wird ein erweiterter Wortpfad gebildet. Insbesondere wird ein erweiterter Wortpfad dadurch gebildet, daß ein wahrscheinliches Folgewort an das Ende des ausgewählten kürzesten Wortpfades angehängt wird.
  • Nachdem der ausgewählte kürzeste Wortpfad zu erweiterten Wortpfaden umgebildet ist, wird der ausgewählte Wortpfad von dem Stapel, in dem er eine Eingabe war, entfernt, und jeder erweiterte Wortpfad wird dafür in den geeigneten Stapel eingegeben. Im Einzelnen heißt das, daß ein erweiterter Wortpfad zu einer Eingabe in den Stapel wird, der dem Grenzerkennungszeichnen des erweiterten Wortpfades entspricht Schritt 5072.
  • Mit Bezug auf Schritt 5072 wird die Erweiterung des ausgewählten Pfades in Bezug auf das Flußdiagramm von Fig. 22 diskutiert. Nachdem in Schritt 5070 der Pfad gefunden ist, wird die folgende Prozedur durchgeführt, wobei ein Wortpfad oder Pfade basierend auf einer geeigneten näherungsweisen Übereinstimmung erweitert werden.
  • Schritt 6000 erweitert einen gefundenen Pfad. Durch Anwendung der Akustikübereinstimmung (oder einer anderen Technik) wird für jedes Wort in einer Gruppe ein Worttrefferwert hergeleitet und gespeichert - wobei die Gruppe das Wörterverzeichnis oder eine Liste von relativ wahrscheinlichen Wörtern, die aus dem Wörterverzeichnis ausgewählt wurden, sein kann. Der Worttrefferwert für jedes Wort in der Gruppe wird gespeichert (Schritt 6002). Die Worttrefferwerte zeigen die relative Wahrscheinlichkeit an und können gemäß dem Trefferwert aufgelistet werden. Anschließend wird ein Sprachmodell (wie oben beschrieben) in Schritt 6004 angewendet. Die Information des Worttrefferwertes und die Informationen des Sprachmodelles werden dann dem Stapeldecodierer zur Verfügung gestellt, welcher das oder die Wörter bestimmt, die den oder die Listenpfade bilden. Die wahrscheinlichen Wörter - wie sie durch die näherungsweise Übereinstimmung, den Detailvergleich und das Sprachmodell bestimmt werden können
  • - werden für die Erweiterung des in Schritt 5070 aus Fig. 21 gefundenen Pfades verwendet. Jedes der in Fig. 22 bestimmten wahrscheinlichen Wörter wird einzeln an den gefundenen Wortpfad angehängt, so daß eine Vielzahl von erweiterten Wortpfaden gebildet werden kann.
  • Wieder bezugnehmend auf Fig. 21 wird das Verfahren, nachdem die erweiterten Pfade gebildet und die Stapel wiedergebildet sind, wiederholt durch Zurückkehren zu Schritt 5052.
  • Jede Iteration besteht also aus der Auswahl des kürzesten, geeigneten "guten" Wortpfades und dessen Erweiterung. Ein während einer Iteration mit "schlecht" markierter Wortpfad kann in einer späteren Iteration "gut" werden. Die Charakterisierung eines lebenden Wortpfades mit "gut" oder "schlecht" wird also unabhängig von jeder Iteration gemacht. Praktisch bedeutet das, daß die Hüllkurve sich von einer Iteration zur nächsten nicht wesentlich ändert und daß die Berechnung, die entscheidet ob ein Wortpfad "gut" oder "schlecht" ist, effizient durchgeführt wird. Darüberhinaus ist eine Normalisierung nicht erforderlich.
  • Schritt 5074 ist vorzugsweise enthalten, wenn komplette Sätze identifiziert werden. Das heißt, daß wenn keine lebenden Wortpfade unmarkiert bleiben und es keine "guten" Wortpfade gibt, die erweitert werden können, dann ist die Decodierung beendet. Der komplette Wortpfad mit der höchsten Wahrscheinlichkeit an dem jeweiligen Grenzerkennungszeichen wird als die meist wahrscheinliche Wortfolge für eine Eingabeerkennungszeichenfolge gekennzeichnet.
  • Im Falle von kontinuierlicher Sprache, in der keine Satzenden identifiziert werden, wird die Pfaderweiterung kontinuierlich durchgeführt oder nur für eine vordefinierte Anzahl von Wörtern, je nachdem was der Systembenutzer bevorzugt.
  • K. Aufbauen phonetischer Basisformen
  • Eine Sorte von Markovmodell-Lautmaschinen, die zur Bildung von Basisformen benutzt werden kann, basiert auf phonetischen Lauten. Das heißt, jede Lautmaschine entspricht einem gegebenen phonetischen Klang, wie diejenigen, die im internationalen Lautalphabet enthalten sind.
  • Für ein gegebenes Wort gibt es eine Folge von phonetischen Klängen, die alle eine jeweils entsprechende Lautmaschine haben. Jede Lautmaschine enthält eine Anzahl von Betriebsarten und eine Anzahl von Übergängen zwischen den Betriebsarten, von denen einige eine phonemische Ausgabe produzieren können und einige nicht (bezeichnet als Nullübergänge). Statistiken bezüglich jeder Lautmaschine - wie oben erwähnt - enthalten (a) die Wahrscheinlichkeit, daß ein gegebener Übergang auftritt und (b) die Wahrscheinlichkeit, daß ein bestimmtes Phonem an einem gegebenen Übergang erzeugt wird. Vorzugsweise gibt es an jedem nicht-Nullübergang eine jedem Phonem zugeordnete Wahrscheinlichkeit. In einem in Tabelle 1 gezeigtem phonemischen Alphabet gibt es vorzugsweise 200 Phoneme. Eine Lautmaschine, die zur Bildung phonetischer Basisformen benutzt wird, ist in Fig. 3 dargestellt. Eine Folge von derartigen Lautmaschinen gibt es für jedes Wort. Die Statistiken oder die Wahrscheinlichkeiten werden während einer Lernsitzung, in der bekannte Wörter ausgesprochen werden, in die Lautmaschinen eingegeben. Übergangs-Wahrscheinlichkeiten und Phonem-Wahrscheinlichkeiten werden während des Tests in die verschiedenen phonetischen Lautmaschinen bestimmt durch Kennzeichnen der phonemischen Zeichenfolge(n), die erzeugt werden, wenn ein bekannterß phonetischer Klang zumindest einmal ausgesprochen wird und durch Anwendung des gut bekannten Vorwärts-- Rückwärts-Algorithmus.
  • Ein Beispiel für Statistiken für einen Laut, der als der Laut DH identifiziert ist, findet sich in Tabelle 2. Als eine Näherung sind die Verteilungen der Ausgabewahrscheinlichkeiten der Erkennungszeichen für die Übergänge tr&sub1;, tr&sub2; und tr&sub8; von der Lautmaschine aus Fig. 3 dargestellt durch eine einzelne Verteilung; die Übergänge tr&sub3;, tr&sub4;, tr&sub5; und tr&sub9; werden durch eine einzelne Verteilung dargestellt; und die Übergänge tr&sub6;, tr&sub7; und tr&sub1;&sub0; werden ebenfalls durch eine einzelne Verteilung dargestellt. Dies ist in Tabelle 2 gezeigt durch die Zuordnung von Bögen (DH-Übergängen) zu den jeweiligen Spalten 4, 5 oder 6. Tabelle 2 zeigt die Wahrscheinlichkeit jeden Überganges und die Wahrscheinlichkeit eines Erkennungszeichens (DH Phonem), welches am Anfang, in der Mitte bzw. am Ende des Lautes DH erzeugt wird. Zum Beispiel wird für den DH-Laut die Wahrscheinlichkeit von dem Übergang von Betriebsart S&sub1; zu Betriebsart S&sub2; gezählt als 0,07243. Die Wahrscheinlichkeit vom Übergang von Betriebsart S&sub1; zu Betriebsart S&sub4; ist 0,92757. (Dies sind nur zwei mögliche Übergänge von der ursprünglichen Betriebsart, deren Summe eins ist). Bezüglich der Ausgabewahrscheinlichkeiten von Erkennungszeichen hat der DH- Laut eine Wahrscheinlichkeit, das Phonem AE13 (vgl. Tabelle 1) an dem Endabschnitt des Lautes erzeugt zu haben, von 0,091, siehe auch Spalte 6 von Tabelle 2. Ebenso ist in Tabelle 2 jedem Knoten (oder jeder Betriebsart) eine Zahl zugeordnet. Diese Knotenzahl zeigt an, wie oft der Laut während der Lernsitzung in der entsprechenden Betriebsart war. Statistiken, wie die in Tabelle 2, werden für jede Lautmaschine angelegt.
  • Die Anordnung von phonetischen Lautmaschinen in einer Folge von Basiswortformen wird typischerweise durch einen Phonetiker durchgeführt und wird normalerweise nicht automatisch gemacht.
  • L. Bildung phonemischer Basisformen
  • Fig. 23 zeigt eine Ausführungsform von einem phonemischen Laut. Der phonemische Laut hat zwei Betriebsarten und drei Übergänge. Ein nicht-Nullübergang wird durch die gestrichelten Linien angedeutet und stellt einen Pfad von Betriebsart 1 zu Betriebsart 2, in dem kein Erkennungszeichen erzeugt werden kann, dar. Ein Eigenschleifenübergang bei Betriebsart 1 erlaubt jeder beliebigen Zahl von Erkennungszeichen an dieser Stelle erzeugt zu werden. Einem nicht-Nullübergang zwischen der Betriebsart 1 und der Betriebsart 2 ist es erlaubt, dort ein Erkennungszeichen erzeugt zu haben. Die Wahrscheinlichkeiten, die jedem Übergang und jedem Erkennungszeichen an einem Übergang zugeordnet sind werden durch eine Lernsitzung bestimmt, die in ähnlicher Weise wie die zuvor beschriebene, mit Bezug auf die phonetischen Basisformen, durchgeführt wird.
  • Phonemische Basiswortformen werden gebildet durch Verkettung phonemischer Laute. Ein Ansatz ist in der anhängigen Anmeldung mit dem Titel "Feneme-based Markov-models for Words" beschrieben. Vorzugsweise entstehen die phonemischen Basiswortformen aus mehreren Aussprachen des entsprechenden Wortes. Dies ist in der europäischen Patentanmeldung 86104225.7 beschrieben, welche durch Bezug auf die erforderliche Erweiterung zur ausreichenden Offenbarung der Erfindung hierin enthalten ist. Ein Verfahren zum Entstehen von Basisformen aus mehrfachen Aussprachen enthält die Schritte von:
  • (a) Übertragung mehrerer Aussprachen von dem Wortsegement in jeweilige Zeichenfolgen von Phonemen;
  • (b) Definition einer Gruppe von phonemischen Markovmodell-Lautmaschinen;
  • (c) Bestimmung der geeignetsten einzelnen Lautmaschine P1 zur Erzeugung der mehrfachen phonemischen Zeichenfolge;
  • (d) Bestimmuhg der beiden geeignetsten Basislautformen der Form P&sub1;P&sub2; oder P&sub2;P&sub1; zur Erzeugung der mehrfachen phonemischen Zeichenfolgen;
  • (e) Ausrichten der beiden geeignetsten Basislautformen gegenüber jeder phonemischem Zeichenfolge;
  • (f) Aufteilung jeder phonemischen Zeichenfolge in einen linken und einen rechten Abschnitt, wobei der linke Abschnitt der ersten Lautmaschine der beiden Basislautformen entspricht und wobei der rechte Abschnitt der zweiten Lautmaschine der beiden Basislautformen entspricht;
  • (g) Kennzeichnung jedes linken Abschnittes als eine linke Teilzeichenfolge und jeden rechten Abschnittes als eine rechte Teilzeichenfolge;
  • (h) Behandlung der Gruppe der linken Teilzeichenfolgen in derselben Weise wie die Gruppe der phonemischen Zeichenfolgen, entsprechend den Mehrfachaussprachen, wobei außerdem der Schritt enthalten ist, daß eine Teilzeichenfolge weiter aufgeteilt wird, wenn deren einzelne Basislautform eine höhere Wahrscheinlichkeit hat, in der Teilzeichenfolge erzeugt zu werden, als die beste der beiden Basislautformen;
  • (j) Behandlung der Gruppe der rechten Teilzeichenfolgen in derselben Weise wie die Gruppe der phonemischen Zeichenfolgen, entsprechend den Mehrfachaussprachen, wobei außerdem der Schritt enthalten ist, daß eine Teilzeichenfolge weiter aufgeteilt wird, wenn deren einzelne Basislautform eine höhere Wahrscheinlichkeit hat, in der Teilzeichenfolge erzeugt zu werden, als die beste der beiden Basislautformen;
  • (k) Verkettung der einzelnen ungeteilten Laute in einer Reihenfolge, die der Reihenfolge der phonemischen Teilzeichenfolgen entspricht, denen sie entsprechen.
  • Die Anzahl der Modellelemente ist typischerweise annähernd gleich der Anzahl der Phoneme, die für eine Aussprache von dem Wort erhalten werden. Die Basisformmodelle werden dann durch Sprechen bekannter Aussprachen in einem Akustikprozessor getestet (oder aufgefüllt mit Statistiken), der als Antwort dazu eine Erkennungszeichenfolge erzeugt. Basierend auf den bekannten Aussprachen und den erzeugten Erkennungszeichen werden die Statistiken für die Wortmodelle gemäß dem bekannten Vorwärts- Rückwärts-Algorithmus hergeleitet, der in den oben genannten Veröffentlichungen diskutiert wird.
  • In Fig. 24 ist ein Verband entsprechend den phonemischen Lauten dargestellt. Dieser Verband ist wesentlich einfacher als der Verband von Fig. 11, welcher sich auf eine phonetische Teilanpassung bezieht. Wie bereits oben bemerkt, ist in Anhang 1 eine phonemische Detailvergleichs-Durchführung für ein Zeitintervall zu einer Zeit durch den Verband von Fig. 24 gezeigt.
  • M. Trainieren des Wortmodelles
  • Ein bevorzugtes Verfahren zum Training wird in der Europäischen Patentanmeldung 87102423.8 mit dem Titel "Improving the Training of Markov Models Used in a Speech Recognition System," gelehrt. Diese Europäische Patentanmeldung wurde von L. R. Bahl, F. Braun, P. V. De Souza und R. L. Mercer erfunden und an die IBM übertragen. Darin hat das Training eine Bestimmung von Statistiken für jedes Wortmodell in solcher Weise zur Folge, daß die Wahrscheinlichkeit des richtigen Wortes in Bezug auf die Wahrscheinlichkeiten, die den anderen Worten zugeordnet werden, erhöht wird. Dabei wird die Philosophie verfolgt, den Unterschied zwischen der Wahrscheinlichkeit der richtigen Vorlage der gesprochenen Wörter von gegebenen Erkennungszeichenausgaben und der Wahrscheinlichkeit der anderen (falschen) Vorlagen zu maximieren, und nicht die Wahrscheinlichkeit der Erkennungszeichen gegebener Vorlagen zu maximieren, wie dies in anderen Ansätzen der Fall ist.
  • Solch eine Verfahrensweise schafft ein Verfahren zur Bestimmung von Wahrscheinlichkeitswerten - in einem System zur Decodierung eines Wortes aus einem Wörterverzeichnis von Ausgaben, die aus einem Alphabet von Ausgaben als Antwort zu einer gesprochenen Worteingabe ausgewählt werden, worin jedes Wort in dem Wörterverzeichnis durch eine Basisform von zumindest einer wahrscheinlichkeitstheoretischen endlichen Maschine dargestellt wird und worin jedes wahrscheinlichkeitstheoretische Modell Übergangs- Wahrscheinlichkeiten und Ausgabe-Wahrscheinlichkeiten hat und worin ein Wert für jeden von zumindest einigen Wahrscheinlichkeiten gespeichert ist -, dieses Verfahren umfaßt die Schritte, daß zumindest einige der gespeicherten Werte beeinflußt werden, um die Wahrscheinlichkeit zu erhöhen, daß Ausgaben als Antwort auf eine Kommunikation von einer bekannten Worteingabe durch die Basisform für das bekannte Wort erzeugt werden, in Bezug auf die jeweilige Wahrscheinlichkeit der erzeugten Ausgabe, welche durch die Basisform für zumindest ein anderes Wort erzeugt wird.
  • Jedes Wort (oder jede unterschiedliche Aussprache von einem Wort, die als "Lexem" bezeichnet wird) wird vorzugsweise dargestellt durch eine oder mehrere wahrscheinlichkeitstheoretische endliche Maschinen in Folge. Jede Maschine entspricht einem "Laut" aus einer Gruppe von Lauten. Jeder Laut korrelliert zu einem phonetischen Element, einem Erkennungszeichen (oder Phonem) oder einer anderen vordefinierten Sprachcharakterisierung, für welche ein Markovmodell oder dergleichen spezifiert werden kann.
  • Die Trainingsvorlage ist typischerweise zusammengestellt aus einer Anzahl von bekannten Wörtern.
  • Gemäß der derzeit beschriebenen Trainingsverfahrenweise werden Wahrscheinlichkeitswerte, die Wahrscheinlichkeiten zugeordnet werden, wie folgt berechnet.
  • Für jede Wahrscheinlichkeit gibt eines Gruppe von geschätzten Werten R'. Durch die gegebenen, geschätzten Werte R' und die Erkennungszeichen, die während des Trainings erzeugt wurden, werden Werte bestimmt, die als "Einzelzahl" bezeichnet werden. Im allgemeinen bezieht sich eine "Einzelzahl" auf die (erwartete) Anzahl, an denen ein Ereignis, basierend auf den Trainingsdaten, eintritt. Eine spezielle Definition von einer "Einzelzahl" ist die Wahrscheinlichkeit eines besonderen Überganges Ti und einer Betriebsart Sj bei der (a) eine bestimmte Zeichenfolge Y von Erkennungszeichen, (b) definierte geschätzte Werte R' und (c) eine bestimmte Zeit t gegeben ist.
  • Die oben beschriebenen einzelnen Zahlen werden durch Anwendung der bekannten Vorwärts-Rückwärts-Algorithmen oder durch den Baum-Welch Algorithmus bestimmt.
  • Gemäß der obigen Definition kann die einzelne Zahl durch den folgenden Ausdruck dargestellt werden:
  • Pr(Sj,Ti Y,R,t)
  • Durch Aufsummierung der einzelnen Zahlen für jede Zeit t für ein spezifisches Sj, Ti, y, R' wird eine "Übergangskummulationszahl" für eine entsprechende Übergangswahrscheinlichkeit bestimmt. Weil die Übergangskummulationszahl eine Summe von Wahrscheinlichkeiten ist, kann ihr Wert 1 überschreiten. Für jede Übergangswahrscheinlichkeit wird vorzugsweise eine jeweilige Übergangswahrscheinlichkeit gespeichert. Ein momentaner Wahrscheinlichkeitswert für die jeweilige Übergangswahrscheinlichkeit wird durch Division der kummulativen Zahl von einem gegebenen Übergang durch die Summe der kummulativen Zahlen für alle die Übergänge, die von einer Betriebsart Sj erhalten werden können, bestimmt. Der momentane Wahrscheinlichkeitswert wird vorzugsweise gespeichert und seiner jeweiligen Übergangswahrscheinlichkeit zugeordnet.
  • Einzelne Zahlen werden wieder aufsummiert mit Bezug auf die Ausgabewahrscheinlichkeit der Erkennungszeichen. Für alle Erkennungszeichenzeiten, an denen das entsprechend erzeugte Erkennungszeichen in der Zeichenfolge das Erkennungszeichen entsprechend der Ausgabewahrscheinlichkeit der Erkennungszeichen ist, wird für jede dieser Wahrscheinlichkeiten eine Summe aus den einzelnen Zahlen für ein spezielles Sj, Ti, Y und R' gebildet. In diesem Falle ist die Summe eine "Erkennungszeichenausgabe-Kummulationszahl" und wird vorzugsweise mit der dazugehörigen Ausgabewahrscheinlichkeit der Erkennungszeichen gespeichert. Ein momentaner Wahrscheinlichkeitswert wird für die jeweilige Ausgabewahrscheinlichkeit der Erkennungszeichen durch Division dieser kummulativen Zahl durch die Summe der einzelnen Zahlen über alle Erkennungszeichenzeiten für das spezifische Sj, f, Ti, Y und R' bestimmt.
  • Gemäß der Verfahrensweise der oben beschriebenen Patentanmeldung wird ein Trainingsmanuskript von bekannten ausgesprochenen Wörtern, ein Anfangswahrscheinlichkeitswert für jede Wahrscheinlichkeit und eine Liste von Wortkandidaten für jedes ausgesprochene Wort während des Trainings vorgegeben. Die Liste der Wortkandidaten wird durch eine Prozedur, wie die der schnellen näherungsweisen Akustikübereinstimmung, definiert. Für jedes bekannte, ausgesprochene Wort gibt es das "richtige" bekannte Wort und ein "falsches" Wort (vorzugsweise hat das falsche Wort die höhere Wahrscheinlichkeit falsch decodiert worden zu sein, als das bekannte Wort).
  • Momentane Wahrscheinlichkeitswerte der Wahrscheinlichkeiten werden durch erstens Berechnung eines "Pluszahlwertes" und eines "Minuszahlwertes" für jede Wahrscheinlichkeit in der richtigen Basiswortform oder falschen Basiswortform berechnet. Zu der kummulativen Zahl für die entsprechende Wahrscheinlichkeit (für jede Wahrscheinlichkeit) wird der Pluszahlwert hinzu addiert und anschließend der Minuszahlwert davon subtrahiert.
  • Ein Pluszahlwert wird für jede Wahrscheinlichkeit in der Basiswortform berechnet, für das richtige (d. h. bekannte) Wort durch Anwendung des bekannten Vorwärts-Rückwärts-Algorithmus und vorzugsweise durch Skalierung der Statistiken, die daraus resultieren. Durch Addition der Pluszahlwerte werden die Zahlwerte (und die davon abgeleiteten Wahrscheinlichkeiten) zugunsten der Y-Zeichenfolge vorbelastet, so daß Y relativ gesehen größer erscheint, die Ausgabe des richtigen Wortmodelles zu sein.
  • Der Minuszahlwert wird für eine gegebene Wahrscheinlichkeit durch Anwendung das Vorwärts-Rückwärts-Algorithmus berechnet, als ob das falsche Wort gesprochen wurde, um die Erkennungszeichenfolge zu schaffen. Der von der einzelnen Aussprache des bekannten Wortes hergeleitete Minuszahlwert wird von dem jüngsten Wert des entsprechenden kummulativen Wertes subtrahiert (vor oder nach der Aufsummierung mit dem Pluszahlwert). Durch die Subtraktion wird eine kummulative Zahl, die zur Berechnung einer Wahrscheinlichkeit in der falschen Basiswortform von der Zeichenfolge Y verwendet wird, vorbelastet.
  • Basierend auf diesen korrigierten kummulativen Zahlen werden die Wahrscheinlichkeitswerte für die Wahrscheinlichkeiten wieder berechnet und gespeichert.
  • Durch Verfolgung der obigen Schritte für jedes Wort in dem Wörterverzeichnis werden die gespeicherten Werte für Zahlen und Wahrscheinlichkeitswerte korrigiert, um die Decodiergenauigkeit zu erhöhen.
  • Die oben diskutierte Verfahrensweise dient der Verbesserung der Zahlwerte, die durch andere Techniken bestimmt werden, um die Decodierung von Sprache von erkannten Wörtern in einem Wörterverzeichnis zu verbessern.
  • Eine Nachbildung des Baumes aus Fig. 17 ist in Fig. 25 gezeigt, wobei Bezugsziffern Punkte in dem Baum kennzeichnen. Eine bekannte Technik zur Speicherung des Baumes wird als "Vorsortierung" im Stand der Technik bezeichnet. Gemäß der Vorsortierung wird der ganz linke Knoten - siehe Knoten 1 - gekennzeichnet, gefolgt von einem oberen Zweig mit nachfolgenden Knoten, die mit nachfolgenden, größeren Bezugsziffern gekennzeichnet werden. Die Knotennummerierung erfolgt entlang des oberen Zweiges, wie gezeigt durch die Knoten 1-2-3-4. Angenommen Knoten 4 stellt einen Knoten dar, bei dem ein "Lexem" - ein Wort, das in einer bestimmten Weise ausgesprochen wird - endet, dann wird Knoten 4 als ein "Blatt" gekennzeichnet. Wenn ein Blatt erreicht ist, wird der Baum nach links weiterverfolgt, bis ein Knoten erreicht ist, der einen oder mehrere Zweige mit unnummerierten Knoten hat. In diesem Fall wird der Baum zurück zum Knoten 3 weiterverfolgt und folgt dann einem nächsten davon ausgehenden Zweig. Wenn eine Vielzahl von Zweigen von einem gemeinsamen Knoten wegführen, werden diese Zweige Einer nach dem Anderen weiterfolgt, wobei vorzugsweise der erste Zweig zunächst verfolgt wird. Knoten 5 ist als ein anderes Blatt nach Knoten 4 gekennzeichnet. Wieder zurückkehrend zu Knoten 3 ist ein weiteres Blatt mit Knoten 6 gekennzeichnet. Alle Zweige von Knoten 3 sind verfolgt worden und haben numerierte Knoten, wobei der Baum zu Knoten 2 zurückverfolgt wurde. Von Knoten 2 aus werden die Knoten 7, 8 und 9 im Vorsortierungsverfahren gekennzeichnet. Anschließend wird der Baum zu Knoten l zurückverfolgt, von wo Knoten 10 identifiziert wird und ebenso gekennzeichnet wird.
  • Der Vorsortierung zufolge wird der Baum wie in Fig. 26 gezeigt gespeichert. In der linken Spalte sind die Knoten 1 bis 10 aufgelistet. In der nächsten Spalte sind die den Knoten entsprechenden Laute gespeichert. Die dritte Spalte zeigt die Ebene an, bei der der Knoten in Bezug auf den Hauptknoten des Baumes angeordnet ist - d. h., in diesem Falle Knoten 1. Beispielsweise ist Knoten 1 auf Ebene 1; Knoten 2 auf Ebene 2; und Knoten 7 ist auf Ebene 3. In Spalte vier zeigt ein Bit an, ob der Knoten ein Blatt darstellt und wenn ja, dann speichert die letzte Spalte das Wort (oder Lexem), welches dem Blatt entspricht. Die gespeicherte Information identifiziert einen genauen Zweig und einen darauf befindlichen Ort. Gemäß dieser Vorsortierung sind Folgen von Lauten (entsprechend den Lexemen) kompakt gespeichert und identifizierbar.
  • Die Bedeutung der Baumstruktur wird mit Bezug auf das Flußdiagramm aus Fig. 27 beschrieben. Fig. 27 zeigt eine Ausführungsform 7200 des oben beschriebenen Schnellanpassungsverfahrens unter Verwendung der Baumstruktur von Kapitel (I) (G).
  • In dem Flußdiagramm wird zuerst ein Initialisierungsprogramm 7202 aufgerufen. Das Initialisierungsprogramm wird mit Bezug auf Fig. 28 ausführlich diskutiert. Grundsätzlich leert der Initialisierungsschritt 7202 die Liste der Wortkandidaten und führt das Verfahren zum Anfang des Baumes zurück.
  • Nach dem Initialisierungsschritt 7202 wird eine Entscheidung 7204 gefällt, ob irgendwelche nachfolgenden Knoten in dem Baum untersucht werden müssen. Wenn nicht, brauchen keine weiteren Zweige verfolgt zu werden und eine Liste von Lexemkandidaten und ihre jeweiligen Trefferwerte können in Schritt 7206 bereitgestellt werden. Wenn in Schritt 7204 weitere Knoten verbleiben, so wird die Lautebene der nächsten Knoten in Schritt 7208 festgehalten. Die auf einer Vorsortierung basierende Lautebene zeigt an, wie weit der "nächste" Knoten von der Basis des Baumes entfernt ist. Schritt 7210 fällt dann eine Entscheidung, ob das Verfahren in einer "Sicherungs"-Betriebsart oder in einer "Erweiterungs"-Betriebsart weitergeführt werden soll. Die "Sicherungs"-Betriebsart wird aufgerufen, wenn ein Zweig entlang des Baumes, basierend auf dem Trefferwert bei einem Laut unwahrscheinlich wird. In diesem Fall geht das Verfahren einen Knoten zurück, zu einer Zeit, in der keine Übereinstimmungsberechnungen durchgeführt werden. Die Sicherung wird bis zu einer Ebene fortgesetzt, bei der keine Knoten eliminiert werden. Dieses ist in Schritt 7212 gezeigt, bei dem die Ebene mit einer Austrittsebene verglichen wird. Wenn die Ebene nicht kleiner gleich der Austrittsebene ist, kehrt das Verfahren zu Schritt 7204 zurück. Ansonsten tritt das Verfahren in die "Erweiterungs"-Betriebsart in Schritt 7214 ein. Wenn es nicht in der "Sicherungs"-Betriebsart ist, dann ist das Verfahren in der "Erweiterungs"-Betriebsart, bei dem der gegenwärtige Zweig durch Hinzunahme des nächsten Lautes in Schritt 7216 erweitert wird.
  • Wenn der Zweigtrefferwert kleiner als ein Schwellwert ist, dann wird der Zweig als ein Kandidat eliminiert (Schritt 7218) und die Betriebsart wird in die "Sicherungs"-Betriebsart versetzt; die Austrittsebene wird in die gegenwärtigen Ebene gesetzt; die Betriebsart wird wieder zur "Sicherungs"-Betriebsart; usw. in Schritt 7220 bis eine Knotenebene, wie in Schritt 7212 gezeigt, erreicht ist. Der Laut und die Ebene werden festgesetzt und das Verfahren kehrt zurück zu Schritt 7204.
  • Wenn der Zweig ein Zweigkandidat in Schritt 7216 bleibt, dann wird die Ausgabe des letzten Lautes wie oben beschrieben normiert und die Verteilung wird in Schritt 7224 auf eine vordefinierte Länge verkürzt (wie oben beschrieben). Dann wird eine Entscheidung in Schritt 7226 gefällt, ob der Laut an einem Blatt des Baumes ist (und dabei ein Lexem darstellt) oder nicht. Wenn es kein Blatt ist, dann wird der Laut und die Ebene festgesetzt und das Verfahren kehrt zu Schritt 7204 zurück. Wenn es ein Blatt ist, dann werden das Lexem und der dazugehörige Trefferwert in einer Lexem-(oder Wort) Kandidatenliste in Schritt 7228 gespeichert und das Verfahren kehrt zu Schritt 7204 zurück, nachdem es den Laut und die Ebene bekommen hat.
  • Bezugnehmend auf Fig. 28 startet das Initialisierungsprogramm 7202 mit dem Schritt 7302, bei dem der Zweigtrefferwert (in der Nullebene) Null ist. In Schritt 7304 werden Schwellwerte für die Zweige des Baumes festgesetzt. D.h., für jeden Knoten entlang einer Folge von Lauten (was einem Zweig entlang dem Baum entspricht) wird ein Schwelltrefferwert festgesetzt. Der Schwelltrefferwert kann eine Funktion der Ebene sein oder er kann ein für alle Ebenen fester Wert sein. Wie oben beschrieben wird für ein Laut nach dem Anderen entlang eines Zweiges des Baumes (Lexem-Repräsentation) eine Anfangszeitverteilung und eine Endzeitverteilung bestimmt. In Schritt 7306 wird die Verteilung aus einem vorhergehenden Detailvergleich geladen und in Schritt 7308 wird das Verfahren in die "Erweiterungs"-Betriebsart versetzt. In Schritt 7310 wird die Liste der Lexem-(oder Wort-) Kandidaten genullt und das Verfahren wird in Schritt 7312 zu der Wurzel des Baumes zurückgeführt, um das Verfahren neu zu beginnen. Fig. 29 detailliert die Schritte durch Erweiterung des gegenwärtigen Zweiges, wie in Schritt 7216 aus Fig. 27 beschrieben. Insbesondere in Schritt 7402 wird die Ausgabesumme in der Übereinstimmungsberechnung wie oben diskutiert zu Null gesetzt. In Schritt 7404 wird eine Anfangszeitverteilung erhalten (typischerweise von der jüngsten Endzeitverteilung). Wie oben beschrieben, wird ein maximales Zeitlimit durch Definition einer maximalen Anzahl von zu überprüfenden Erkennungszeichen festgesetzt (Schritt 7406). Danach wird eine Lautanpassung durchgeführt und in Schritt 7408 wird ein INC-Trefferwert daraus hergeleitet. Der INC-Trefferwert stellt einen Zuwachsvergleichswert dar, der aus der Erweiterung des Zweiges resultiert. Die während der Anpassung erhaltene Ausgabeverteilung (die oben beschrieben Gleichungen für Φ) wird in Schritt 7410 gesichert und der Zweigtrefferwert wird in Schritt 7412 aktualisiert. Gemäß der Aktualisierung ist der Zweigtrefferwert Bi = B(i-1) + INC, wobei "i" die Ebene ist.
  • In Fig. 30 wird der Schritt 7408 ausführlicher erklärt. In Schritt 7502 wird der Lautanpassung initialisiert. Anschließend wird eine Entscheidung gefällt, ob die Berechnung der Startzeitverteilung abgeschlossen wurde (Schritt 7504). Die Entscheidung zeigt an, ob die Startzeitverteilung einen Nullwert erreicht hat. Wenn ja, dann wird eine gemeinsame Schleife bei Schritt 7506 durchgeführt. Wenn nein, dann wird ein weiteres Erkennungszeichen von den Erkennungszeichenfolgen in das Anpassungsverfahren miteingeschlossen - dieser Schritt 7508 wird als Erweiterung durch einen Zeitanteil bezeichnet. Ein Parameter "TIME" wird dann erweitert zu TIME=TIME+1 und das Verfahren kehrt zu Schritt 7504 zurück.
  • In Fig. 31 wird der Lautanpassung-Initialisierungsschritt aus 7502 für die ersten beiden Zeitabschnitte detailliert dargestellt. In Schritt. 7602 wird die Ausgabeverteilung zur Erkennungszeit Null zu Null gesetzt. In Schritt 7604 wird die Ausgabewahrscheinlichkeit an der ersten Erkennungszeichenzeit zu Null gesetzt; die phonemische Wahrscheinlichkeit (FENPROB) wird mit der Wahrscheinlichkeit des ein Erkennungszeichen FEN(1) schaffenden Lautes (PHONE) gleichgesetzt; ein Wert STATE1 wird gleichgesetzt mit der Anfangszeitverteilung zur Erkennungszeichenzeit Null, multipliziert mit der phonemischem Wahrscheinlichkeit (FENPROB); OUTSUM wird gleichgesetzt mit OUTDIST(2).
  • In der näherungsweisen Schnellanpassung ist die phonemische Wahrscheinlichkeit ein Wert, der wie in Kapitel (I) (D) beschrieben, angenähert wird. Im Zuge einer Zusammenfassung wird daran erinnert, daß jeder Laut eine Vielzahl von Betriebsarten und Übergängen (oder Bögen) hat, die sich von einer Betriebsart zu einer Betriebsart erstrecken. An jedem Übergang, an dem ein gegebenes Erkennungszeichen erzeugt werden kann, wird eine jeweilige Wahrscheinlichkeit, basierend auf Daten, die während der Trainingsphase hergeleitet wurden, bestimmt. An jedem der Übergänge gibt es eine jeweilige Wahrscheinlichkeit der Erkennungszeichen für jedes Erkennungszeichen in dem Alphabet. Wenn es in einem Laut zehn Übergänge gibt, an denen ein Erkennungszeichen erzeugt werden kann und wenn es 200 Erkennungszeichen in dem Alphabet gibt, dann sind 2000 aktuelle Wahrscheinlichkeiten der Erkennungszeichen diesem Laut zugeordnet. Die einfache näherungsweise Schnellanpassung bestimmt vorzugsweise die höchste Wahrscheinlichkeit eines betreffenden Erkennungszeichen an irgendeinem Übergang in dem Laut; wobei die aktuellen für das betreffende Erkennungszeichen bestimmten Wahrscheinlichkeiten durch diese höchste Wahrscheinlichkeit ersetzt werden.
  • Ein Algorithmus zur Durchführung dieser Substitution eines aktuellen Wahrscheinlichkeitswertes der Erkennungszeichen durch angenäherte Werte ist in Fig. 32 gezeigt. In Fig. 32 stellt "I" einen Kennwert für Laute dar; "J" stellt einen Kennwert für Übergänge (oder Bögen) dar; "F" stellt einen Kennwert für Phoneme (oder Erkennungszeichen) dar; "A (I, J,F)" stellt die aktuelle (Detailvergleich) Wahrscheinlichkeit der Erkennungszeichen für Phonem "F" an Übergang "J" von einem Laut "I" dar. "B(I,F)" stellt die näherungsweise (Schnellanpassung) Wahrscheinlichkeit der Erkennungszeichen für Phonem "F" für Laut "I" dar. Es soll noch erwähnt werden, daß das Flußdiagramm aus Fig. 32 voraussetzt, daß alle Laute dieselbe Anzahl von Übergängen haben (Jmax). Es ist jedoch möglich, das Jmax von einem Laut zu einem anderen variiert werden kann, falls gewünscht.
  • Vergleicht man das Flußdiagramm aus Fig. 31 mit den Ausgabeverteilungsgleichungen Φ&sub0; bis Φ&sub6;, so wird man beobachten, daß OUT- DIST(T) ΦT entspricht; FENPROB entspricht einer Wahrscheinlichkeit - wie etwa p&sub1; oder p&sub2; -; und START(T) entspricht der Anfangszeitverteilung qT. Es ist noch festzuhalten, daß die Erkennungszeichenlängenvariable li nicht explizit in Fig. 31 enthalten ist. Jedoch weil die minimale Erkennungszeichenlänge als zwei ausgewählt ist (durch das Beispiel) sind l&sub0; und l&sub1; Null, so daß OUTDIST(0) und OUTDIST(1) ebenfalls Null sind. Schritt 7604 setzt die Variablen in dem ersten "Erkennungszeichenzeitabschnitt" fest und Schritt 7606 setzt die Variablen bezüglich des zweiten Erkennungszeichenzeitabschnittes fest. Demgemäß beginnt der EXTEND-1-TIME-SLICE-Schritt 7508 zur Erkennungszeichenzeit T=3 (Schritt 7608) und der END-TIME-Wert wird mit der Anzahl der Anfangszeitverteilungspunkte plus zwei gleichgesetzt (Schritt 7610).
  • In Fig. 33 wird der Schritt 7508 ausführlicher gezeigt. Für jede Zeit T ist die Ausgabeverteilung als eine Funktion der Wahrscheinlichkeit des Erkennungszeichens, welches zur Zeit Tth erzeugt wird, der Ausgabeverteilung zur Zeit (T-1) und des Wertes von STATE1 gezeigt. OUTSUM ist der letzte OUTSUM Wert, der durch OUTDIST(T) hinzugefügt wurde. Die Fig. 31 und die Fig. 33 stellt die rekursive Natur der Berechnungen dar, die zur Bestimmung nachfolgender OUTDIST und OUTSUM Werte durchgeführt wurden.
  • In Fig. 34 ist der Schritt 7506 der gemeinsamen Schleife ausführlich hergeleitet. In Schritt 7802 wird der Wert T gleichgesetzt mit ENDTIME+1. Schritt 7804 ist vergleichbar mit EXTEND 1 TIME SLICE, außer daß der STATE1-Faktor nicht enthalten ist. Nach Schritt 7804 wird T hinzugefügt (Schritt 7806) und T wird mit einem Grenzwert verglichen. Als ein Ergebnis für den Entscheidungschritt 7808 wird der Schritt 7904 so oft wiederholt, bis das Zeitlimit erreicht ist.
  • In Fig. 35 ist ein ausführliches Flußdiagramm für Schritt 7412 gezeigt. In Schritt 7902 wird PHONESCORE gleichgesetzt mit dem Logarithmus von OUTSUM. Anschließend wird in Schritt 7904 BRANCHSCORE gleichgesetzt mit BRANCHSCORE der vorhergehenden Ebene plus PHONESCORE aus Schritt 7902.
  • Der NORMALIZE-Schritt 7224 ist in Fig. 36 gezeigt. Die Schritte 7952 bis 7962 normieren die Ausgabeverteilungswerte zu einem konstanten Wert, beispielsweise eins, nachdem unwesentliche Teile der Verteilung entfernt wurden. Insbesondere werden die Ausgabeverteilungswerte Ri erhalten oder entfernt, je nachdem ob sie über oder unter dem Schwellwert aus Schritt 7952 liegen. In Schritt 7954 wird eine Normierungsskala bestimmt, wie sie typischerweise durch die Summe der Ausgabeverteilungswerte dargestellt wird. Der früheste (zeitliche) Ausgabeverteilungswert und der letzte Ausgabeverteilungswert, die die Schwellwerterfordernisse erfüllen, werden als eine linke bzw. eine rechte Grenze in den Schritten 7956 und 7958 festgelegt. Die Ausgabeverteilungswerte zwischen den linken Grenze (LB) und der rechten Grenze (RB) werden (beispielsweise geteilt) durch die Normierungsskala in Schritt 7960 skaliert. In Schritt 7962 wird die skalierte Ausgabeverteilung für zukünftige Verwendungen gesichert.
  • P. Auswahl wahrscheinlicher Wörter aus einem Wörterverzeichnis mittels Abrufverfahren
  • In Fig. 37 ist ein Flußdiagramm 8000 dargestellt. Wie aus Fig. 37 ersichtlich ist, wird ein Wörterverzeichnis erstmalig in Schritt 8002 beschrieben. Die Wörter können sich auf normale Bürokorrespondenzwörter oder auf technische Wörter beziehen, je nach Anwender. Im Wörterverzeichnis sind, in der Größenordnung von 5000 oder mehr Wörtern, gewesen, obwohl die Anzahl der Wörter variieren kann.
  • Jedes Wort wird durch eine Folge von Markovmodell-Lautmaschinen gemäß der Lehre der Abschnitte (I) (K) oder (I) (L) dargestellt.
  • D.h., jedes Wort kann als konstruierte Basisform von aufeinanderfolgenden phonetischen Lautmaschinen oder einer konstruierten Basisform von aufeinanderfolgenden phonemischen Lautmaschinen dargestellt werden.
  • Ein "Bonuswert" wird dann für jedes Erkennungszeichen für jeden Schritt 8006 bestimmt. Der Bonuswertbestimmungsschritt 8006 wird mit Bezug auf die Fig. 38, die Fig. 39, die Fig. 40 und die Fig. 41 beschrieben.
  • Die Fig. 38 zeigt eine Funktion der Verteilung von akustischen Erkennungszeichen für eine gegebene Lautmaschine Ppa Die angegebenen Zahlen sind aus den während des Trainings erzeugten Statistiken herausgezogen worden. Es wird daran erinnert, daß während des Trainings bekannte Aussprachen entsprechend zu bekannten Lautfolgen gesprochen worden sind und daß eine Folge von Erkennungszeichen als Antwort dazu erzeugt wurde. Die Anzahl, wie häufig jedes Erkennungszeichen erzeugt worden ist, wenn ein bekannter Laut ausgesprochen ist, wurde somit während eines Durchganges zur Verfügung gestellt. Für jeden Laut wird eine Verteilung, wie in Fig. 38, erzeugt.
  • Zusätzlich zur in Fig. 38 enthaltenen Informationsgewinnung aus den Trainingsdaten, wird die erwartete Zahl der Erkennungszeichen für einen gegebenen Laut auch aus den Trainingsdaten hergeleitet. D.h., wenn eine bekannte Aussprache entsprechend einem gegebenen Laut gesprochen ist, wird die Anzahl der erzeugten Erkennungszeichen notiert. Jedesmal wenn eine bekannte Aussprache gesprochen wird, wird eine Anzahl von Erkennungszeichen für den gegebenen Laut notiert. Aus dieser Information wird die meist wahrscheinliche oder erwartete Anzahl von Erkennungszeichen für den gegebenen Laut definiert. Fig. 39 ist eine Funktion, die die erwartete Anzahl von Erkennungszeichen für jeden Laut zeigt. Wenn die Laute den phonemischen Lauten entsprechen, dann sollte die erwartete Anzahl der Erkennungszeichen für jeden Laut typischerweise im Durchschnitt ungefähr eins betragen. Für phonetische Laute kann die Anzahl der Erkennungszeichen stark abweichen.
  • Die Informationsgewinnung durch Trainingsdaten in den Funktionen wird erreicht durch Verwendung von Informationen aus dem Vorwärts-Rückwärts-Algorithmus, so wie er ausführlich in Anhang II der Veröffentlichung "Continuous Speech Recognition by Statistical Methods" beschrieben ist. Kurz gesagt, enthält der Vorwärts-Rückwärts-Algorithmus die Bestimmung der Wahrscheinlichkeit für jeden Übergang zwischen einer Betriebsart i und einer Betriebsart (i+1) in einem Laut (a) Vorwärtsbetrachtung von einer Ausgangsbetriebsart eines Markovmodells zu einer Betriebsart i und Bestimmung der Statistiken des Erreichens der Betriebsart i in einer "Vorwärtsbewegung" und (b) Vorwärtsbetrachtung von der endgültigen Betriebsart eines Markovmodells zu einer Betriebsart (i+1) und Bestimmung der Statistiken des Erreichens der endgültigen Betriebsart von Betriebsart (i+1) in einer "Rückwärtsbewegung". Die Wahrscheinlichkeit des Übergangs von Betriebsart i zu Betriebsart (i+1) - bei gegebener Betriebsart i - und die dazugehörigen Erkennungszeichenausgaben werden mit anderen Statistiken zur Bestimmung der Wahrscheinlichkeit des Auftretens eines betreffenden Überganges bei einer bestimmten gegebenen Erkennungszeichenfolge kombiniert. In Anhang II der oben erwähnten Veröffentlichung ist die Mathematik und die Anwendung des Algorithmus detailliert beschrieben. Eine weitere Beschreibung steht nicht zur Verfügung.
  • Bekannterweise ist jedes Wort eine vordefinierte Folge von Lauten, wie es in Fig. 40 mit Bezug zu einem WORD 1 und einem WORD 2 beschrieben ist. Wenn die Lautfolge für jedes Wort und die bezüglich der Fig. 38 und der Fig. 39 diskutierte Information gegeben ist, dann kann eine Bestimmung durchgeführt werden, um herauszufinden, wie oft das Auftreten eines gegebenen Erkennungszeichen für ein spezielles betreffendes Wort W erwartet wird. Für ein Wort wie WORD 1 könnte die Anzahl, wie oft Erkennungszeichen 1 erwartet wird, berechnet werden als die Anzahl der Zählungen von Erkennungszeichen 1 für Laut P&sub1; plus die Anzahl der Zählungen von Erkennungszeichen 1 für Laut P&sub3; plus die Anzahl der Zählungen von Erkennungszeichen 1 für Laut P&sub6; usw.. In ähnlicher Weise könnte für das Wort WORD 1 die Anzahl, wie oft Erkennungszeichen 2 erwartet wird, berechnet werden als die Anzahl der Zählungen von Erkennungszeichen 2 für Laut P&sub1; plus die Anzahl der Zählungen von Erkennungszeichen 2 für Laut P&sub3; usw.. Die erwartete Zählung für jedes Erkennungszeichen für WORD 1 wird berechnet durch die Durchführung der obigen Schritte für jedes der 200 Erkennungszeichen.
  • In Fig. 41 ist die erwartete Zahl für jedes Erkennungszeichen in einem bestimmten Wort (z. B. WORD 1) angegeben.
  • Aus den in Fig. 41 gezeigten erwarteten Erkennungszeichenzählungen für ein gegebenes Wort wird ein "Bonuswert" für jedes Erkennungszeichen für das gegebene Wort errechnet. Der Bonuswert für ein Erkennungszeichen L' für ein gegebenes Wort W' stellt die Wahrscheinlichkeit dar, daß das Wort W' das Erkennungszeichen L' erzeugt hat. Vorzugsweise entspricht der Bonuswert der logarithmischen Wahrscheinlichkeit des von L' erzeugten Wortes W'. Vorzugsweise wird der Bonuswert bestimmt durch:
  • Bonuswert = log&sub1;&sub0;{Pr(L' W')}
  • Die Bonuswerte werden in einer Tabelle gespeichert, wie in Fig. 42 gezeigt ist. Für jedes Wort 1 bis W wird jedem Erkennungszeichen ein Bonuswert zugeordnet, der als V mit doppelter Indizierung gekennzeichnet ist. Der erste Index entspricht dem Erkennungszeichen und der zweite dem Wort. V&sub1;&sub2; ist somit der Bonuswert des Erkennungszeichens 1 für Wort 2.
  • In Fig. 37 ist das Verfahren zur Auswahl wahrscheinlicher Wortkandidaten aus einem Wörterverzeichnis durch das Abrufverfahren gezeigt, welches einen Schritt 8008 der Erzeugung von Erkennungszeichen als Antwort zu einer unbekannten gesprochenen Eingabe enthält. Dies wird durch den Akustikprozessor 1004 (aus Fig. 1) durchgeführt.
  • Für ein betreffendes Wort werden die erzeugten Erkennungszeichen in der Tabelle der Fig. 42 nachgeschlagen. Der Bonuswert von jedem erzeugten Erkennungszeichen für das betreffende Wort wird wieder erlangt. Dann werden die Bonuswerte akkumuliert, um einen Gesamtbonuswert für das betreffende Wort zu erhalten (Schritt 8010). Beispielsweise, wenn die Erkennungszeichen 1, 3 und 5 erzeugt werden, dann würden die Bonuswerte V&sub1;&sub1;, V&sub3;&sub1; und V&sub5;&sub1; errechnet und kombiniert werden. Wenn die Bonuswerte logarithmische Wahrscheinlichkeiten sind, dann werden sie aufsummiert um einen Gesamtbonuswert für Wort 1 zu bilden. Eine ähnliche Prozedur wird für jedes Wort des Wörterverzeichnisses verfolgt, so daß die Erkennungszeichen 1, 3 und 5 für jedes Wort zählen.
  • Der akkumulierte Bonuswert für jedes Wort dient als der Wahrscheinlichkeits-Trefferwert für das Wort. Die n-Wörter (wobei n eine vordefinierte ganze Zahl ist), die die höchsten akkumulierten Bonuswerte haben, werden als Wortkandidaten definiert, die später in einem Detailvergleich und einem Sprachmodell, wie oben beschrieben, weiterverarbeitet werden und ebenso wie die Bonuswerte werden "Strafwerte" errechnet. D. h., für jedes Wort wird ein Strafwert bestimmt und zugeordnet (Schritt 8012). Der Strafwert stellt die Wahrscheinlichkeit dar, daß ein betreffendes Erkennungszeichen nicht durch ein gegebenes Wort erzeugt worden ist. Es gibt verschiedene Verfahren zur Bestimmung des Strafwertes. Eine Möglichkeit zur Bestimmung des Strafwertes für ein durch eine phonemische Basisform dargestelltes Wort, enthält die Annahme, daß jeder phonemische Laut nur ein Erkennungszeichen erzeugt. Für ein gegebenes Erkennungszeichen und einen betreffenden phonemischen Laut entspricht der Strafwert für das gegebene Erkennungszeichen der logarithmischen Wahrscheinlichkeit, daß ein beliebiges anderes Erkennungszeichen durch den betreffenden phonemischen Laut erzeugt worden ist. Der Strafwert von Erkennungszeichen 1 für den Laut P&sub2; korrespondiert demnach mit der logarithmischen Wahrscheinlichkeit eines beliebigen Erkennungszeichens 2 bis 200, welches ein erzeugtes Erkennungszeichen ist. Die Annahme, daß es eine Erkennungszeichenausgabe pro phonemischem Laut gibt, hat, obwohl sie nicht richtig ist, zufriedenstellende Ergebnisse bei der Errechnung der Strafwerte geliefert. Wenn ein Strafwert für ein Erkennungszeichen für jeden Laut bestimmt ist, dann ist der Strafwert für ein Wort, welches eine Folge von bekannten Lauten begründet, abschließend bestimmt.
  • Der Strafwert von jedem Erkennungszeichen für jedes Wort ist in Fig. 43 gezeigt. Jeder Strafwert ist als PEN mit doppelter Indizierung identifiziert, wobei der erste Index das Erkennungszeichen und der zweite Index das Wort darstellend.
  • In Fig. 37 werden die in Schritt 8008 erzeugten Erkennungszeichen überprüft, um festzustellen, welche Erkennungszeichen von dem Erkennungszeichenalphabet nicht erzeugt worden sind. Der Strafwert für jedes nicht erzeugte Erkennungszeichen wird für jedes Wort errechnet. Um den Gesamtstrafwert für ein gegebenes Wort zu erhalten, werden die Strafwerte für jedes nicht erzeugte Erkennungszeichen für das gegebene Wort wieder erhalten und alle diese Strafwerte werden aufsummiert (Schritt 8014). Wenn jeder Strafwert einer logarithmischen "Null" -Wahrscheinlichkeit entspricht, dann werden die Strafwerte für das gegebene Wort über alle Erkennungszeichen auf summiert, wie bei den Bonuswerten. Die obige Prozedur wird für jedes Wort in dem Wörterpfadverzeichnis wiederholt, damit jedes Wort einen Gesamtbonuswert und einen Gesamtstrafwert für die Folge von erzeugten Erkennungszeichen erhält.
  • Wenn ein Gesamtbonuswert und ein Gesamtstrafwert für jedes Wort des Wörterverzeichnisses hergeleitet ist, dann wird ein Wahrscheinlichkeits-Trefferwert definiert durch die Kombination der beiden Werte (Schritt 8016). Wenn gewünscht, kann der Gesamtbonuswert stärker gewichtet werden als der Gesamtstrafwert oder andersherum.
  • Darüberhinaus wird der Wahrscheinlichkeits-Trefferwert für jedes Wort, vorzugsweise basierend auf der Länge und der Anzahl der zählenden Erkennungszeichen, skaliert (Schritt 8018). Insbesondere, nachdem der Gesamtbonuswert und der Gesamtstrafwert - die beide Summen von logarithmischen Wahrscheinlichkeiten darstellen
  • - aufaddiert worden sind, wird die Summe dividiert durch die Anzahl von erzeugten Spracherkennungszeichen und außerdem wird die Summe bei der Berechnung der Bonuswerte und der Strafwerte berücksichtigt. Das Ergebnis ist ein relativer Wahrscheinlichkeits-Trefferwert.
  • Ein weiterer Aspekt der Erfindung bezieht sich auf die Bestimmung, welche Erkennungszeichen in einer Zeichenfolge in den Bonuswert- und Strafwertberechnungen (z. B. Abrufverfahren) zu berücksichtigen sind. Wenn das Ende von einem Wort gekennzeichnet ist und die dazu entsprechenden Erkennungszeichen bekannt sind, dann werden vorzugsweise alle zwischen einer bekannten Anfangszeit und der bekannten Endzeit erzeugten Erkennungszeichen berücksichtigt. Wenn jedoch die Endzeit als nicht bekannt herausgefunden worden ist (in Schritt 8020), dann lehrt die Erfindung die folgende Verfahrensweise. Eine Bezugsendzeit wird definiert und ein Wahrscheinlichkeits-Trefferwert wird wiederholt nach der Bezugsendzeit bei aufeinanderfolgenden Zeitintervallen errechnet (Schritt 8022). Beispielsweise wird zwischen 500 ms und 1000 ms nach der Anfangszeit von der Wortaussprache der (skalierte) Wahrscheinlichkeits-Trefferwert für jedes Wort in 59 ms Intervallen errechnet. In dem Beispiel wird jedes Wort zehn (skalierte) Wahrscheinlichkeits-Trefferwerte haben.
  • Eine konservative Möglichkeit wird in der Auswahl, welche der zehn Wahrscheinlichkeits-Trefferwerte einem gegebenem Wort zugeordnet werden sollte, erhalten. Insbesondere für die für ein gegebenes Wort erhaltenen Serien von Wahrscheinlichkeits-Trefferwerten wird der Wahrscheinlichkeits-Trefferwert ausgewählt (Schritt 8024), der bezüglich der Wahrscheinlichkeits-Trefferwerte von anderen in demselben Zeitintervall erhaltenen Wörtern der höchste ist. Der höchste Wahrscheinlichkeits-Trefferwert wird dann von allen Wahrscheinlichkeits-Trefferwerten aus diesem Zeitintervall subtrahiert. Diesbezüglich wird das Wort mit dem höchsten Wahrscheinlichkeits-Trefferwert in einem gegebenen Intervall zu Null gesetzt und die Wahrscheinlichkeits-Trefferwerte der anderen, weniger wahrscheinlichen Worte, haben negative Werte. Der am wenigsten negative Wahrscheinlichkeits-Trefferwert für ein gegebenen Wort wird dem gegebenen Wort als der höchste relative Wahrscheinlichkeits-Trefferwert für das Wort zugeordnet.
  • Wenn Wahrscheinlichkeits-Trefferwerte zu jedem Wort zugeordnet werden, dann werden die n-Wörter mit den höchsten zugeordneten Wahrscheinlichkeits-Trefferwerten als Wortkandidaten als Resultat des Abrufens ausgewählt (Schritt 8026).
  • In einer Ausführungsform der Erfindung werden die n aus dem Abrufverfahren resultierenden Wörter als eine reduzierte Liste von Wörtern zur Verfügung gestellt, die dann gemäß dem oben beschriebenen Detailvergleich und dem Sprachmodell weiterverarbeitet werden. In dieser Ausführungsform agiert die durch Abrufverfahren erhaltene reduzierte Liste anstelle von der oben beschriebenen Akustikübereinstimmung. Diesbezüglich ist beobachtet worden, daß die Akustikübereinstimmung eine baumähnliche Verbandstruktur aufweist in welcher Basiswortformen als aufeinanderfolgende Laute eingegeben werden, wobei Wörter mit demselben Anfangs laut einem gemeinsamen Zweig entlang der Baumstruktur folgen. Für ein 2000 Wort großes Wörterverzeichnis hat sich herausgestellt, daß das Aufrufverfahren zwei- bis dreimal schneller als die schnelle Akustikübereinstimmung mit der baumähnlichen Verbandstruktur ist.
  • Alternativ kann jedoch die Akustikübereinstimmung in Verbindung mit der Abrufverfahren verwendet werden. D.h., von den trainierten Markovmodellen und den erzeugten Erkennungszeichenfolgen wird die schnelle näherungsweise Akustikübereinstimmung in Schritt 8028 parallel mit dem Abrufverfahren durchgeführt. Eine Liste wird durch die Akustikübereinstimmung erstellt und eine andere Liste wird durch das Abrufverfahren erstellt. In einer konservativen Möglichkeit werden die Zugänge auf einer Liste benutzt, um die andere Liste zu vergrößern. In einer Möglichkeit, die versucht die Anzahl der geeigneten Wortkandidaten zu verringern, treten nur Wörter auf, die in beiden Listen zur Weiterbehandlung erhalten worden sind. Die Beeinflussung der beiden Techniken in Schritt 8030 hängt von der Genauigkeit und den Berechnungszielen des Systems ab. Als eine weitere Alternative kann die verbandsähnliche Akustikübereinstimmung konsequent auf die Abrufverfahrensliste angewendet werden.
  • Eine Vorrichtung 8100 zur Durchführung des Abrufverfahrens ist in Fig. 44 gezeigt. Das Element 8102 speichert Wortmodelle, die wie oben beschrieben trainiert wurden. Von den auf die Wortmodelle angewendeten Statistiken errechnet ein Bonuswertgenerator 8104 die Bonuswerte von jedem Erkennungszeichen für jedes Wort und speichert die Bonuswerte in Bonuswerttabellen 8106.
  • In ähnlicher Weise errechnet ein Strafwertgenerator 8108 Strafwerte von jedem Erkennungszeichen für jedes Wort eines Wörterverzeichnisses und gibt die Werte in eine Strafwerttabelle 8110.
  • Ein Errechner für Wortwahrscheinlichkeits-Trefferwerte 8112 erhält Erkennungszeichen, die durch einen Akustikprozessor 8114 als Antwort auf eine unbekannte gesprochene Eingabe erzeugt wurden. Für ein gegebenes durch ein Wortauswahlelement 8116 ausgewähltes Wort kombiniert der Wortwahrscheinlichkeits-Treffer wert-Errechner 8112 die Bonuswerte von jedem erzeugten Erkennungszeichen für die ausgewählten Wörter mit den Strafwerten von jedem nicht erzeugten Erkennungszeichen. Der Wahrscheinlichkeits-Trefferwert-Errechner 8112 enthält Mittel zur Skalierung der Wahrscheinlichkeits-Trefferwerte, wie oben beschrieben.
  • Der Errechner der Wahrscheinlichkeits-Trefferwerte kann ebenso Mittel zur Wiederholung der Trefferwerterrechnung in nachfolgenden Zeitintervallen enthalten, die einer Bezugszeit folgen, braucht dies jedoch nicht.
  • Der Wahrscheinlichkeits-Trefferwert-Errechner 8112 stellt Worttrefferwerte einem Wortaufzähler 8120 zur Verfügung, der die Wörter gemäß der zugeordneten Wahrscheinlichkeits-Trefferwerte ordnet.
  • In einer Ausführungsform, die die durch Abrufverfahren hergeleitete Wortliste mit einer durch die näherungsweise Akustikübereinstimmung hergeleiteten Wortliste kombiniert, wird ein Listenvergleicher 8122 bereitgestellt. Der Listenvergleicher erhält als Eingabe die Abrufverfahrensliste von dem Wortauflister 8120 und von der Akustikübereinstimmung (der in verschiedenen Ausführungsformen weiter oben beschrieben worden ist).
  • Um die Speicherplatz- und Berechnungserfordernisse zu reduzieren, können verschiedene Merkmale enthalten sein. Erstens können die Bonuswerte und die Strafwerte als Integer im Bereich von 0 und 255 formatiert werden. Zweitens können die aktuellen Strafwerte ersetzt werden durch näherungsweise Strafwerte, die durch den entsprechenden Bonuswert als PEN= a.vote+b berechnet werden, wobei a, b Konstanten sind und die zumindest durch Quadratregression bestimmt werden können. Drittens können Erkennungszeichen zu Sprachklassen zusammengefaßt werden, wobei jede Klasse mindestens ein Erkennungszeichen enthält. Die Zuordnung von Erkennungszeichen zu Klassen kann bestimmt werden durch hierarchische Gruppierung der Erkennungszeichen, um die resultierenden gegenseitigen Formationen zwischen Sprachklassen und Wörtern zu maximieren.
  • Es sollte darüberhinaus noch erwähnt werden, daß erfindungsgemäß Ruheperioden erkannt (durch bekannte Verfahren) und ignoriert werden.
  • Die Erfindung wurde in PL/I auf einem IBM MVS System implementiert, sie kann jedoch auch in anderen Programmiersprachen und auf anderen Systemen implementiert werden.
  • (II) Bestimmung jedes Gesamttrefferwertes aus mehreren unabhängigen Worttrefferwerten
  • In Fig. 45 ist ein Diagramm 9000 dargestellt, welches den Informationsfluß gemäß einer allgemeinen Ausführungsform der Erfindung beschreibt. (Ein Flußdiagramm, das den Steuerungsfluß gemäß der erfindungsgemäßen Verfahrensweise beschreibt, kann abschließend aus Fig. 45 hergeleitet werden. Diesbezüglich ist festzustellen, daß Fig. 45 einem einzelnen Prozessorsystem oder einem Mehrfachprozessorsystem zugeordnet werden kann, in welchem eine Vielzahl von Worttrefferwerten parallel erzeugt werden können). In Schritt 9002 wird ein Wort aus einer Wortgruppe gewählt. Die Gruppe enthält die Wörter, die verarbeitet werden sollen, um zu errechnen, welches Wort (oder Wörter) am ehesten mit einer Erkennungszeichenfolge übereinstimmen, die durch einen Akustikprozessor erzeugt wurde - wie der Akustikprozessor 1004 aus Fig. 1. Es sollte noch erwähnt werden, daß der Ausdruck "Worttrefferwert" definiert ist, um die Wahrscheinlichkeit von einem Wort darzustellen oder, alternativ um die Wahrscheinlichkeit von einem "Lexem" darzustellen. Ein "Lexem" korrespondiert zu einer Aussprache von einem Wort für Wörter, die als Wörter mit einer Vielzahl von Aussprachen erkannt worden sind. (Beispielsweise sind die oben erwähnten THE1 und THE2 zwei Lexeme des Wortes "THE").
  • Für ein ausgewähltes betreffendes Wort werden die erzeugten Erkennungszeichen gemäß jedem von N unabhängigen Markovmodell- Algorithmen angewendet (Schritte 9006 bis 9010). "Unabhängige" Markovmodelle werden im allgemeinen charakterisiert als die Algorithmen, die in Basisformen von verschiedenen Gruppen von Markovmodellen vorgefunden werden oder in denen verschiedene Markovmodelldaten zur Erzeugung jeweiliger Worttrefferwerte verwendet werden, oder beides. Demgemäß sind Algorithmen, wie unten beschrieben, "unabhängig", wenn die Algorithmen auf Basisformen gefunden werden, die auf verschiedenen Markovmodellen basieren; oder wenn Algorithmus-Abrufverfahrensdaten, die aus Markovmodellen hergeleitet sind, verwendet werden und andere Algorithmen, die akustische Übereinstimmungsdaten verwenden; oder eine Kombination aus diesen Formen.
  • Für jeden unabhängigen Markovmodell-Algorithmus ist ein jeweiliger Worttrefferwert (WSI bis WSN) erzeugt worden. Diese verschiedenen Worttrefferwerte werden in Schritt 9012 kombiniert -zum Beispiel aufsummiert - um einen Gesamttrefferwert TS für das ausgewählte betreffende Wort zu bilden. Wenn ein Gesamttrefferwert nicht zu jedem Wort in der Gruppe zugeordnet worden ist, wie in Schritt 9014 bestimmt, dann wird ein anderes Wort aus der Gruppe ausgewählt (in Schritt 9016) und es wird dafür ein Gesamttrefferwert bestimmt. Nachdem jedes Wort einen Gesamttrefferwert (TS) zugeordnet bekommen hat, werden die Gesamttrefferwerte in dem Stapeldecodierer (siehe Stapeldecodierer-Beschreibung in Abschnitt (I)(J)) in Verbindung mit Ergebnissen aus einem Sprachmodell verwendet. Die Verwendung von dem Gesamttrefferwert (TS) wird durch Schritt 9018 wiedergegeben. Wörter, die den höheren Gesamttrefferwert haben und die eine ausreichende Wahrscheinlichkeit, basierend auf dem Sprachmodell, haben, werden zur Erweiterung des gewählten Pfades gemäß den Schritten 5070 und 5072 von dem in Fig. 22 beschriebenen Verfahren verwendet.
  • Betrachtet man als nächstes die Fig. 46, so erkennt man den Informationsfluß für eine spezielle Ausführungsform 9100.
  • Basiswortformen (B1) von einer ersten Sorte von Markovmodellen (z. B. phonetischen) sind anfänglich gespeichert worden. Ein betreffendes Wort mit einer Basisform B1 ist dann in Schritt 9104 ausgewählt worden.
  • Für das betreffende Wort ist eine Worttrefferwert-Übereinstimmung durch Anwendung einer Erkennungszeichenfolge, die als Antwort auf eine gesprochene Eingabe zu der Basisform B1 von dem betreffenden Wort erzeugt wurden (9108), erzeugt worden (Schritt 9106). Vorzugsweise wird die schnelle Anpassung an Basisformen durchgeführt, die aus einem phonetischen Markovmodell gebildet wurden. D.h., die einfache Schnellanpassung oder einer von den alternativen Schnellanpassungsverfahren (wie oben beschrieben) wird zur Bestimmung einer Worttrefferwert-Übereinstimmung für das betreffende Wort eingesetzt. Eine Worttrefferwert-Übereinstimmung wird für jedes Wort in einem Wörterverzeichnis bestimmt (Schritt 9108 und 9110).
  • Wenn alle Wörter in dem Wörterverzeichnis einer Worttrefferwert- Übereinstimmung (WSF) zugeordnet worden sind, dann wird aus den Wörtern eine Liste gebildet, in der die Wörter nach der Größe des Trefferwertes geordnet sind (Schritt 9112). Eine Anzahl von Wörtern an der Spitze der geordneten Liste werden charakterisiert als Wortkandidaten, während die anderen Wörter in dem Wörterverzeichnis unbeachtet bleiben. Aus den Schritten 9102 bis 9112 ergibt sich, daß die Anzahl der zu verarbeitenden Wörter weiter reduziert wird, und zwar von 5000 oder mehr Wörtern auf 20 bis 100 Wörter - wie dies weiter oben mit Bezug auf die einfache, näherungsweise (oder schnelle) Übereinstimmung oder mit Bezug auf die davon weitergeführten erhöhten Ausführungsformen beschrieben wurde.
  • Für jedes Wort des Wörterverzeichnisses gibt es also eine Basisform (B2), die in Form von einem zweiten Typ von Markovmodellen definiert ist. Wenn der erste Typ von Markovmodellen - wie er in der schnellen Anpassung verwendet wird - phonetisch ist, dann ist der zweite Typ von Markovmodellen vorzugsweise phonemisch. Jeder von den Basisformen B2, die die Basisform für die Wortkandidaten enthält, die nach der schnellen Anpassung verbleiben, sind anfänglich gespeichert worden.
  • Einer der Wortkandidaten wird in Schritt 9116 ausgewählt und die erzeugten Erkennungszeichen (aus Schritt 9108) werden auf die Basisform B2 für den ausgewählten Wortkandidaten gemäß der Detailvergleichs-Verfahrensweise angewendet. Ein Detailvergleich- Worttrefferwert (WSD) ist für den ausgewählten Wortkandidaten erzeugt worden, der auf den erzeugten Erkennungszeichen basiert (9118). Aus dem Schnellanpassungs-Trefferwert für einen gegebenen Wortkandidaten und aus dem Detailvergleich-Trefferwert für den gegebenen Wortkandidaten wird ein Gesamttrefferwert (TS) in Schritt 9120 gebildet. Nachdem ein Gesamttrefferwert für jeden Wortkandidaten (als ein Ergebnis aus den Schritten 9122 und 9124) werden die Gesamttrefferwerte in einem Stapeldecodierer verwendet (Schritt 9126).
  • In Fig. 47 enthält ein Algorithmus das Abrufverfahren und ein anderer enthält die akustische Übereinstimmung. In dieser Ausführungsform 9200 wird eine Gruppe von Wörtern in Schritt 9202 definiert. Die Gruppe kann Wörter aus dem Wörterverzeichnis darstellen oder sie kann alternativ Wörter in einer reduzierten Liste von Wortkandidaten darstellen, die durch Anwendung der Schnellanpassung oder einer anderen Technik zur Reduzierung der Anzahl der zu verarbeitenden Wörter hergeleitet werden.
  • In Schritt 9204 wird ein Wort aus der Gruppe ausgewählt und erzeugt einen Worttrefferwert aus einem Abrufverfahrens-Algorithmus, basierend auf einer Markovmodell-Basisform von Schritt 9206. Gemäß dem oben, in Abschnitt (I) (P) beschriebenen Abrufverfahrens-Algorithmus, hat jedes Erkennungszeichen einen jeweiligen Bonuswert für jedes Wort in dem Wörterverzeichnis und es hat jedes Erkennungszeichen einen jeweiligen Strafwert für jedes Wort in dem Wörterverzeichnis. Jeder Bonuswert ist ein Maß, das die Wahrscheinlichkeit, daß ein bestimmtes Erkennungszeichen in einem bestimmten Wort des Wörterverzeichnisses auftritt, anzeigt. Andererseits stellt jeder Strafwert einen Wert dar, der die Wahrscheinlichkeit anzeigt, daß ein Erkennungszeichen nicht in einem bestimmten Wort des Wörterverzeichnisses auftritt. Wie oben beschrieben, werden für ein gegebenes Wort und eine gegebene erzeugte Erkennungszeichenfolge die Bonuswerte entsprechend den Erkennungszeichen in der Zeichenfolge für das gegebene Wort auf summiert und die Strafwerte entsprechend der Erkennungszeichen in der Zeichenfolge für das gegebene Wort werden ebenfalls auf summiert. Diese Summe der Strafwerte wird mit der Summe der Bonuswerte kombiniert, um einen Abrufverfahrens-Worttrefferwert (WSP) für das gegebene Wort in Schritt 9208 zu schaffen. Der oben diskutierte Abrufverfahrens-Algorithmus kann, wie in Anschnitt (I) (P) vorgeschlagen, modifiziert und variiert werden. Außerdem kann der Abrufverfahrens-Algorithmus, falls gewünscht, auch nur die Bonuswerte ohne die Strafwerte enthalten.
  • Nachdem allen Wörtern ein Abrufverfahrens-Worttrefferwert (WSP) entsprechend den Schritten 9210, 9212 zugeordnet worden ist, wird wieder ein Wort in Schritt 9220 ausgewählt. Basierend auf den erzeugten Erkennungszeichen und einer Markovmodell-Basisform, die das ausgewählte Wort darstellt (9222) wird ein Worttrefferwert aus einer Akustikübereinstimmung (WSM) erzeugt (Schritt 9224). Der Akustikübereinstimmungstrefferwert kann ein Detail-Trefferwert oder ein Schnellanpassungs- Trefferwert sein und die Basisform kann alternativ phonetische Markovmodelle oder phonemische Markovmodelle enthalten. Darüberhinaus können die Markovmodelle aus Schritt 9206 und 9222 vom selben Typ oder von einem anderem Typ sein, entsprechend der erfindungsgemäßen technischen Lehre. Anschließend wird in den Schritten 9226 und 9228 jedem Wort in der Gruppe ein WSM-Trefferwert zugeordnet.
  • Wenn ein Wort aus der Gruppe einen Abrufverfahrens-Worttrefferwert (WSP) und einen Akustikübereinstimmungstrefferwert (WSM) hat, dann wird ein Wort in Schritt 9230 ausgewählt und ein Gesamttrefferwert (TS) wird dafür in Schritt 9232 errechnet. Der Gesamttrefferwert für jedes Wort ist die Summe von dem Abrufverfahrens-Trefferwert und dem Akustikübereinstimmungstrefferwert
  • - jeder Trefferwert wird in angemessener Weise gewichtet. Der Gesamttrefferwert wird in Schritt 9232 als TS = a*WSP + b*WSM gekennzeichnet, wobei WSP den Abrufverfahrens-Trefferwert für ein betreffendes Wort und WSM den Akustikübereinstimmungstrefferwert für das betreffende Wort darstellt. "a" und "b" stellen jeweilige Gewichtungsfaktoren für die beiden Trefferwerte dar. In den darauffolgenden Schritten 9234 und 9236 wird jedem Wort in der Gruppe ein Gesamttrefferwert zugeordnet.
  • Das Stapeldecodierungsverfahren (Schritt 9238) verwendet Wörter mit hohen Gesamttrefferwerten.
  • Ein weiteres, spezielles, alternatives, erfindungsgemäßes Ausführungsbeispiel 9200 wird in Fig. 48 in Informationsflußform beschrieben. Bei Schritt 9302 wird ein betreffendes Wort ausgewählt. Für das betreffende Wort wird ein Detailvergleich, basierend auf phonemischem Basisformen durchgeführt, und ein Trefferwert (WD1) in Schritt 9304 erzeugt. Der erzeugte Trefferwert basiert auf einer in Schritt 9306 als Antwort auf eine gesprochene Eingabe erzeugten Erkennungszeichenfolge. In Schritt 9308 wird ein zweiter Detailvergleich durchgeführt und ein Worttrefferwert (WD2) erzeugt. Der in Schritt 9308 erfolgte Trefferwert basiert auf der in Schritt 9306 erzeugten Erkennungszeichenfolge. In Schritt 9310 wird ein Gesamttrefferwert für das betreffende Wort bestimmt. In den nachfolgenden Schritten 9312 und 9314 wird jedes Wort in der Gruppe als das betreffende Wort verarbeitet, so daß jedes Wort einen entsprechenden Gesamttrefferwert hat. Die Gesamttrefferwerte werden dann in dem Stapeldecodierer verwendet (Schritt 9316).
  • In Fig. 49 wird eine Struktur 9400 entsprechend der Verfahrensweise aus Fig. 46 beschrieben. Der Stapeldecodierer 9402 ruft das Schnellanpassungsverfahren 9404 und das Detailtrefferverfahren 9406 auf, um Schnellanpassungs-Trefferwerte bzw. Detailvergleichs-Trefferwerte für Wörter in einer Gruppe von Wörtern, z. B. das Wörterverzeichnis oder eine Liste von daraus ausgewählten Wörtern, zu erzeugen. Der Schnellanpassungs-Trefferwert (WSF) und der Detailvergleich-Trefferwert (WSD) für ein betreffendes Wort werden durch ein Gesamttrefferwertverfahren 9408 kombiniert.
  • In Fig. 50 wird eine Struktur 9500 beschrieben, die die Verfahrensweise aus Fig. 47 implementiert. Insbesondere ein Stapeldecodierer 9502 wählt das nächste Wort entlang einem ausgewählten Wortpfad aus und hält die Endzeitverteilung von diesem nächsten Wort fest. Diese Endzeitverteilung wird dann als die Anfangszeitverteilung für ein folgendes nächstes Wort verwendet. Die Endzeitverteilung wird zu dem Schnellanpassungs-Algorithmusprozessor 9504 und zu dem Abrufverfahrens-Algorithmusprozessor 9506 gesandt. Basierend auf Erkennungszeichen aus dem Erkennungszeichengenerator 9508 werden Schnellanpassungs-Trefferwerte und Abrufverfahrens-Trefferwerte durch die jeweiligen Prozessoren 9504 und 9506 bestimmt. Die jeweiligen Trefferwerte für die wahrscheinlicheren Wörter (wie sie durch einen Wortkandidatengenerator 9510 bestimmt werden) werden in den Speicherelementen 9512 bzw. 9514 gespeichert. Ein Gesamtwertprozessor 9516 kombiniert dann die gespeicherten Trefferwerte und übergibt die Gesamttrefferwerte dem Stapeldecodierer 9502 für das nächste Wortauswahlverfahren.

Claims (28)

1. Verfahren zur Berechnung der Wahrscheinlichkeit der Übereinstimmung eines Wortes mit einer Spracheingabe in einem Spracherkennungssystem, das aus folgenden Schritten besteht:
(a) Erzeugung eines ersten Worttrefferwertes für ein betreffendes Wort aus einem Wörterverzeichnis, wobei der erste Worttrefferwert die auf einem ersten Algorithmus einer Akustikübereinstimmung basierende Wahrscheinlichkeit des betreffenden Wortes darstellt,
(b) Erzeugung eines zweiten Worttrefferwertes des betreffenden Wortes, basierend auf einem Algorithmus, welcher Bonus- und Abzugswerte für Erkennungszeichen ermittelt,
(c) Bildung eines Gesamtwerttrefferwertes des betreffenden Wortes, aus zumindest dem ersten und dem zweiten Worttrefferwert,
(d) Bestimmung der Wahrscheinlichkeit gemäß dem ersten Algorithmus, zu einer gegebenen Zeit in einer bestimmten Betriebsart zu sein um eine Akustikübereinstimmung zwischen eingehenden Erkennungszeichen und Wörtern aus einem Wörterverzeichnis herbeizuführen, in welchem jedes Wort durch eine Folge von Markovmodellen dargestellt ist, wobei jedes Markovmodell Betriebsarten und dazwischen liegende Übergänge anzeigt und wobei diese Bestimmung die folgenden Schritte (e) - (i) enthält:
(e) Erkennung einer jeden vorhergehenden Betriebsart, die einen zu der bestimmten Betriebsart führenden Übergang hat und der jeweiligen Wahrscheinlichkeit einer jeden dieser vorhergehenden Betriebsarten,
(f) Erkennung eines Wertes für jeden dieser vorhergehenden Betriebsarten, der die Wahrscheinlichkeit des Erkennungszeichens darstellt, das an dem Übergang zwischen jedem dar vorhergehenden Betriebsarten und der gegenwärtigen Betriebsart erzeugt werden muß, um mit der Folge von Erkennungszeichen übereinzustimmen, und
(g) Kombination der Wahrscheinlichkeit einer jeden vorhergehenden Betriebsart und des jeweiligen, die Wahrscheinlichkeit des Erkennungszeichens darstellenden Wertes, um eine betreffende Wahrscheinlichkeit der Betriebsart für einen entsprechenden Übergang zu schaffen,
(h) Bestimmung der Gesamtwahrscheinlichkeit in einer bestimmten Betriebsart zu sein, durch die betreffenden Wahrscheinlichkeiten der Betriebsarten für alle dorthin führenden Übergänge,
(i) Kombination der Gesamtwahrscheinlichkeiten von einem gegebenen Laut aus einem Wort, um die Wahrscheinlichkeit des gegebenen Lautes zu bestimmen, der die Folge der Erkennungszeichen erstellt,
(j) Bestimmung eines jeweiligen Erkennungszeichen-Bonuswertes für jedes Erkennungszeichen gemäß des zweiten Algorithmus, worin ein Erkennungszeichen-Bonuswert von einem gegebenen Erkennungszeichen die Wahrscheinlichkeit darstellt, daß das betreffende Wort das gegebene Erkennungszeichen zur Erzeugung akustischer Erkennungszeichen aus einem Wörterverzeichnis mit einem Akustikprozessor erstellt, wobei jedes Wort des Wörterverzeichnisses durch ein Wortmodell dargestellt wird, welches eine Folge von Markovmodell-Lautautomaten enthält, und wobei eine Reihe von speziellen Statistiken die Ausgangswahrscheinlichkeiten der Erkennungszeichen und die Übergangswahrscheinlichkeiten jedes Lautautomaten aus einem Wortmodell anzeigt, um mögliche Wortkandidaten aus dem Wörterverzeichnis für ein betreffendes Wort aus dem Wörterverzeichnis aus zuwählen und wobei die Bestimmung dieses Erkennungszeichen-Bonuswertes die folgenden Schritte (k)-(q) enthält:
(k) Kombination der Erkennungszeichen-Bonuswerte von dem betreffenden Wort von in der Zeichenfolge erzeugten Erkennungszeichen für eine gegebene Folge von Erkennungszeichen, die als Reaktion auf eine unbekannte, gesprochene Eingabe durch den Akustikprozessor erzeugt wurden,
(l) Errechnung der Erwartungszahl und der Verteilung der Erkennungszeichen des betreffenden Wortes mittels der speziellen Statistiken,
(m) Errechnung der logarithmischen Verteilung der Wahrscheinlichkeit der Erkennungszeichen des betreffenden Wortes mittels der erwarteten Verteilung der Erkennungszeichen, wobei die logarithmische Wahrscheinlichkeit des betreffenden, ein gegebenes Erkennungszeichen erzeugenden Wortes der Erkennungszeichen-Bonuswert des gegebenen Erkennungszeichens des betreffenden Wortes ist,
(n) Bestimmung der Wahrscheinlichkeit eines jeden Erkennungszeichens, das nicht durch das betreffende Wort erzeugt wird, als Erkennungszeichen-Abzugswert für das betreffende Wort,
(o) Zuweisung einer Länge der Folge der Erkennungszeichen zu dem betreffenden Wort,
(p) Herausziehung des Erkennungszeichen-Abzugswertes des betreffenden Wortes für jedes nicht in der zugewiesenen Länge vorkommende Erkennungszeichen, und
(q) Kombination der Bonuswerte aller in der zugewiesenen Länge vorkommenden Erkennungszeichen mit den Abzugswerten aller nicht in der zugewiesenen Länge vorkommenden Erkennungszeichen, um einen Wahrscheinlichkeitstrefferwert des betreffenden Wortes zu bilden.
2. Das Verfahren gemäß Anspruch 1 umfaßt den weiteren Schritt der:
(r) Teilung des Wahrscheinlichkeitstrefferwertes des betreffenden Wortes durch die Anzahl der Erkennungszeichen in der angewendeten Länge, um einen relativen Wahrscheinlichkeitstrefferwert zu schaffen,
(s) Wiederholung der Schritte (j) bis (q) für jedes Wort des Wörterverzeichnisses, und
(t) Auswahl der Wörter mit den n höchsten relativen Wahrscheinlichkeitstrefferwerten als Wortkandidaten.
3. Das Verfahren gemäß Anspruch 2, wobei der Anwendungsschritt die folgenden Schritte enthält:
(u) Festlegung einer Bezugsendzeit,
(v) Wiederholung des Kombinationsschrittes (q) in aufeinanderfolgenden Intervallen im Anschluß an die festgelegte Bezugsendzeit, und
(w) Bestimmung eines skalierten Wahrscheinlichkeitstrefferwertes für jedes Wort in jedem nachfolgenden Intervall im Verhältnis zu den relativen Wahrscheinlichkeitstrefferwerten der anderen Wörter in einem gegebenem Intervall und Zuordnung des höchsten relativen verhältnismäßigen Wahrscheinlichkeitstrefferwertes eines Wortes zu dem jeweiligen Wert.
4. Das Verfahren gemäß Anspruch 3 umfaßt den weiteren Schritt der:
(x) Herbeiführung einer ungefähren Akustikübereinstimmung an allen Wörtern in einer Gruppe von durch den Schritt (t) bestimmten Wörtern aus dem Wörterverzeichnis.
5. Das Verfahren gemäß Anspruch 4, bei dem jeder Lautautomat assoziiert ist mit (1.) mindestens einem Übergang und (2.) aktuellen Erkennungszeichen-Ausgabewahrscheinlichkeiten, wobei jede aktuelle Erkennungszeichen-Wahrscheinlichkeit die Wahrscheinlichkeit darstellt, daß ein bestimmtes Erkennungszeichen an einem gegebenem Übergang in dem Lautautomaten erzeugt wurde, und bei dem der Akustikübereinstimmungs- Herbeiführungsschritt folgende Schritte aufweist:
(aa) Bildung vereinfachter Lautautomten mit dem Schritt, die aktuellen Erkennungszeichen-Wahrscheinlichkeiten für ein gegebenes Erkennungszeichen an allen Übergängen, an denen das gegebene Erkennungszeichen in einem speziellen Lautautomaten erzeugt werden kann, zu ersetzen durch einen einfachen festgelegten Wert, und
(bb) Bestimmung der Wahrscheinlichkeit eines die Erkennungszeichen in der Zeichenfolge erzeugenden Lautes, basierend auf dem dazu entsprechenden, vereinfachten Lautautomaten.
6. Ein Verfahren gemäß Anspruch 5, worin jede Folge von Lauten, die einem Wort des Wörterverzeichnisses entspricht, eine phonetische Grundform darstellt, wobei das Verfahren den weiteren Schritt enthält, der:
(cc) Anordnung der Grundformen in eine Baumstruktur, in der sich Grundformen mit zumindest phonetisch ähnlichen Anfängen einen gemeinsamen Ast teilen, und wobei jedes Blatt der Baumstruktur einer kompletten Grundform entspricht.
7. Ein Verfahren gemäß Anspruch 5, worin der allen Wahrscheinlichkeiten der Erkennungszeichen zugeordnete spezifische Wert für ein besonderes Erkennungszeichen in einem gegebenen Lautautomaten gleich ist mit zumindest der maximalen aktuellen Wahrscheinlichkeit der Erkennungszeichen von allen Übergängen des besonderen Erkennungszeichens in dem gegebenen Lautautomaten.
8. Ein Verfahren gemäß Anspruch 7, worin jede Lautautomaten.
auch mit einer Längenverteilung eines jeden Lautes assoziiert ist (c'), welche die Wahrscheinlichkeit als eine Funktion der Anzahl der durch einen speziellen Laut erstellten Erkennungszeichen anzeigt, dieses Verfahren enthält außerdem den Schritt der:
(dd) Umwandlung der Längenverteilung eines jeden Lautes in eine einheitliche Wahrscheinlichkeitslängen-Scheinverteilung, die den Schritt der Zuweisung eines einheitlichen Wertes zu der Wahrscheinlichkeit eines gegebenen Lautes enthält, welcher eine beliebige Anzahl von Erkennungszeichen erzeugt, die in der Längenverteilung definiert sind,
(ee) Ermittlung der minimalen Länge von Erkennungszeichen mit einer von Null verschiedenen Wahrscheinlichkeit, und
(ff) Beschränkung der einheitlichen Scheinverteilung auf Längen, die zumindest die Länge der Minimumlänge haben, wobei den Längen, die kleiner als die Minimumlänge sind, die Wahrscheinlichkeit Null zugewiesen wird.
9. Das Verfahren gemäß Anspruch 8, worin der Kombinationsschritt die folgenden Schritte enthält:
(gg) Summierung der Bonuswerte der Erkennungszeichen in der Zeichenfolge für das betreffende Wort.
10. Das Verfahren gemäß Anspruch 1 umfaßt die Schritte der:
(hh) Erzeugung der Folge von Erkennungszeichen als Antwort auf eine gesprochene Eingabe, wobei jedes Erkennungszeichen (jj) aus einen Alphabet von Erkennungszeichen stammt und (kk) einen jeweiligen Klangtypen darstellt,
(ll) jeder Erkennungszeichen-Bonuswert stellt die Wahrscheinlichkeit dar, daß ein jeweiliges Erkennungszeichen erzeugt wird, sobald ein gegebenes Wort ausgesprochen ist, und
(mm) Ansammlung von einem Erkennungszeichen-Bonuswert für jedes von zumindest einigen der in der Zeichenfolge erzeugten Erkennungszeichen für ein betreffendes Wort,
die angesammelten Erkennungszeichen-Bonuswerte stellen Informationen dar, die die Wahrscheinlichkeit des betreffenden Wortes anzeigen.
11. Das Verfahren gemäß Anspruch 10 weist außerdem den Schritt auf:
(nn) Kombination der angesammelten Erkennungszeichen-Bonuswerte miteinander, um einen Wahrscheinlichkeitstrefferwert für das betreffende Wort zu schaffen,
(oo) Wiederholung der Schritte (mm) und (nn) für jedes Wort des Wörterverzeichnisses, und
(pp) Selektion der n-Wörter mit den höchsten Wahrscheinlichkeitstrefferwerten als Wortkandidaten, wobei n eine vordefinierte ganze Zahl ist.
12. Das Verfahren gemäß Anspruch 11, worin der den Bonuswert bestimmende Schritt den Schritt der (qq) Berechnung der logarithmischen Wahrscheinlichkeit des betreffenden Wortes enthält, welches das jeweilige Erkennungszeichen erzeugt, und
worin der Kombinationsschritt den Schritt der (rr) Aufsummierung der bereits bestimmten Erkennungszeichen-Bonuswerte des betreffenden Wortes enthält und
worin das Verfahren den weiteren Schritt enthält, der:
(ss) Bestimmung eines relativen Wahrscheinlichkeitstrefferwertes für das betreffende Wort, welcher gebildet wird durch die Summe der Bonuswerte geteilt durch die Anzahl der erzeugten, aufsummierten Erkennungszeichen.
13. Das Verfahren gemäß Anspruch 12 enthält weiterhin die Schritte der:
(tt) Wiederholung der Schritte (mm), (nn), (qq), (rr) und (ss) für jedes Wort des Wörterverzeichnisses, und
(uu) Selektion der n-Wörter mit den höchsten relativen Wahrscheinlichkeitstrefferwerten als Wortkandidaten, wobei n eine vordefinierte ganze Zahl ist.
14. Das Verfahren gemäß Anspruch 10 enthält den weiteren Schritt der:
(vv) Bestimmung eines Abzugswertes für jedes Erkennungszeichen für ein betreffendes Wort, worin der Abzugswert für ein gegebenes Erkennungszeichen die Wahrscheinlichkeit darstellt, daß das gegebene Erkennungszeichen nicht von dem betreffenden Wort erzeugt wurde, und
(ww) Kombination (1.) der Erkennungszeichen-Bonuswerte und (2.) der Abzugswerte, die dem betreffenden Wort entsprechen, worin jeder kombinierte Erkennungszeichen- Bonuswert einem als Antwort einer gesprochenen Eingabe erzeugtem Erkennungszeichen entspricht, und worin jeder kombinierte Abzugswert einem Erkennungszeichen entspricht, das nicht als Reaktion auf die gesprochene Eingabe erzeugt wurde.
15. Das Verfahren gemäß Anspruch 14 enthält die weiteren Schritte der:
(xx) Wiederholung der Schritte (hh), (ll), (mm), (vv) und (ww) für jedes Wort als das betreffende Wort,
(yy) Bestimmung des Erkennungszeichens in der Zeichenfolge, welches letzten Endes höchstwahrscheinlich einem das Wort darstellendem Ausdruck entspricht und,
(zz) Begrenzung der Bestimmung von Bonuswerten und Abzugswerten von Erkennungszeichen, die vor dem bereits bestimmten letztendlichen Erkennungszeichen erzeugt wurden.
16. Das Verfahren gemäß Anspruch 10, worin der den Bonuswert bestimmende Schritt (ll) die Schritte enthält der:
(aaa) Ausgestaltung eines jeden Wortes als eine Folge von Modellen, wobei jedes Modell durch einen Markovmodell-Lautautomaten dargestellt ist, die charakterisiert ist durch (1.) eine Vielzahl von Betriebsarten, (2.) eine Vielzahl von Übergängen, die sich von einer Betriebsart zu einer Betriebsart erstrecken, (3.) erste Mittel zur Speicherung einer Wahrscheinlichkeitszahl für das Auftreten von jedem Übergang, und (4.) zweite Mittel zur Speicherung einer Wahrscheinlichkeitszahl für jedes von zumindest einigen der Erkennungszeichen, die an jedem von zumindest einigen der Übergänge erzeugt wurden,
(bbb) Bestimmung von Wahrscheinlichkeitszahlen des Übergangs und Wahrscheinlichkeitszahlen der Erkennungszeichen mittels spezieller Daten, die durch die Sprechweise von bekannten Spracheingaben erzeugt wurden, und
(ccc) Erstellung einer Erwartungsverteilung von Erkennungszeichen für jedes Wort, basierend auf den bereits bestimmten Wahrscheinlichkeitszahlen der Übergänge und Wahrscheinlichkeitszahlen der Erkennungszeichen,
jeder Erkennungszeichen-Bonuswert wurde aus der Erwartungsverteilung der Erkennungszeichen hergeleitet.
17. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche 1 bis 16, worin der Bildungsschritt (c) die Gewichtung von zumindest einem der Worttrefferwerte bezüglich der anderen Worttrefferwerte und die Kombination der Worttrefferwerte nach deren Gewichtung enthält.
18. Das Verfahren nach einem oder mehreren der vorhergehenden Ansprüche 1 bis 17 weist weiterhin einen Schritt auf der:
Erzeugung akustischer Erkennungszeichen als Antwort auf die Aussprache der Spracheingaben, worin jedes Erkennungszeichen eine jeweilige Klasse der Spracheingabe kennzeichnet, wobei die Klassen auf vordefinierten Merkmalen der Spracheingabe basieren, und
worin der Schritt zur Erzeugung des ersten Worttrefferwertes den Schritt enthält der:
Darstellung eines jeden Wortes des Wörterverzeichnisses durch zumindest einen endlichen Wahrscheinlichkeits-Lautautomaten wobei ein dargestellter Lautautomat mit (1.) zumindest einem Übergang, (2.) einer Wahrscheinlichkeit für jeden Übergang, und (3.) den aktuellen Ausgabewahrscheinlichkeiten der Erkennungszeichen assoziiert ist, wobei jede aktuelle Ausgabewahrscheinlichkeit der Erkennungszeichen der Wahrscheinlichkeit entspricht, daß der dargestellte Lautautomat ein gegebenes Erkennungszeichen an einem gegebenen Übergang in Antwort auf einen Ausdruck erstellt, und wobei jede Ausgabewahrscheinlichkeit der Erkennungszeichen einem Wert zugeordnet ist.
19. Das Verfahren gemäß Anspruch 18, worin der Schritt der Erzeugung des ersten Worttrefferwertes außerdem die Schritte enthält der:
Herbeiführung einer detaillierten Akustikübereinstimmung für ein betreffendes Wort, basierend auf (1.) den zugeordneten Werten der Wahrscheinlichkeiten und (2.) den erzeugten Erkennungszeichen, und
Errechnung des ersten Worttrefferwertes für das betreffende Wort aus der herbeigeführten detaillierten Akustikübereinstimmung.
20. Das Verfahren gemäß Anspruch 19, worin der das Wort darstellende Schritt den Schritt enthält der:
Assoziierung eines jeden Lautautomaten mit einem entsprechenden Erkennungszeichen, wobei jeder Lautautomat durch einen phonemischen Lautautomaten gekennzeichnet ist.
21. Das Verfahren gemäß Anspruch 19, worin der das Wort darstellende Schritt den Schritt enthält der:
Assoziierung eines jeden Lautautomaten mit einem entsprechenden phonetischen Element, wobei jeder Lautautomat durch einen phonetischen Lautautomaten gekennzeichnet ist,
22. Das Verfahren gemäß Anspruch 18, worin der Schritt zur Erzeugung des zweiten Worttrefferwertes die Schritte enthält der:
Erzeugung akustischer Erkennungszeichen als Antwort auf die Sprechweise von Spracheingaben, worin jedes Erkennungszeichen eine jeweilige Klasse der Spracheingabe kennzeichnet, wobei die Klassen auf vordefinierten Spracheingabemerkmalen basieren, und
Bildung einer ersten Tabelle, in der jedes Erkennungszeichen im Alphabet einen Bonuswert für jedes Wort im Wörterverzeichnis aufweist, wobei jeder Erkennungszeichen-Bonuswert für ein betreffendes Wort die Wahrscheinlichkeit anzeigt, daß das betreffende Wort das den Bonuswert aufweisende Erkennungszeichen erzeugt hat,
Bildung einer zweiten Tabelle, in der für jedes Wort im Wörterverzeichnis jedem Erkennungszeichen ein Abzugswert zugeordnet ist, wobei für ein gegebenes Wort der einem gegebenen Erkennungszeichen zugeordnete Abzugswert die Wahrscheinlichkeit anzeigt, daß das gegebene Erkennungszeichen nicht gemäß dem Modell für das gegebene Wort erstellt wurde,
Bestimmung eines aufgerufenen Worttrefferwertes für ein betreffendes Wort für eine gegebene Folge von erzeugten Erkennungszeichen, das den Schritt der Kombination der jeweiligen Bonus- und Abzugswerte aller Erkennungszeichen in der Zeichenfolge für ein betreffendes Wort enthält, wobei der aufgerufene Worttrefferwert der zweite Worttrefferwert ist.
23. Das Verfahren gemäß Anspruch 21, worin der Schritt zur Erzeugung des zweiten Wortwertes die Schritte enthält der:
Bildung einer ersten Tabelle, in der jedes Erkennungszeichen im Alphabet einen Bonuswert für jedes Wort im Wörterverzeichnis aufweist, wobei jeder Erkennungszeichen-Bonuswert für ein betreffendes Wort die Wahrscheinlichkeit anzeigt, daß das betreffende Wort das den Bonuswert aufweisende Erkennungszeichen erzeugt hat,
Bildung einer zweiten Tabelle, in der für jedes Wort im Wörterverzeichnis jedem Erkennungszeichen ein Abzugswert zugeordnet ist, wobei für ein gegebenes Wort der einem gegebenen Erkennungszeichen zugeordnete Abzugswert die Wahrscheinlichkeit anzeigt, daß das gegebene Erkennungszeichen nicht gemäß dem Modell für das gegebene Wort erstellt wurde,
Bestimmung eines aufgerufenen Worttrefferwertes für ein betreffendes Wort für eine gegebene Folge von erzeugten Erkennungszeichen, das den Schritt der Kombination der je weiligen Bonus- und Abzugswerte aller Erkennungszeichen in der Zeichenfolge für das betreff ende Wort enthält, wobei der aufgerufene Worttrefferwert dein zweiten Worttrefferwert entspricht.
24. Das Verfahren gemäß Anspruch 19, worin die Erzeugung des zweiten Worttrefferwertes die Schritte enthält der:
Bildung vereinfachter Lautautomaten, mit dem Schritt der Ersetzung der aktuellen Wahrscheinlichkeiten der Erkennungszeichen für ein gegebenes Erkennungszeichen durch einen einzelnen spezifischen Wert an allen Übergängen in einem speziellen Lautautomaten, an denen das gegebene Erkennungszeichen erzeugt werden kann,
Herbeiführung einer näherungsweisen Akustikübereinstimmung für das betreffende Wort, basierend auf dem vereinfachten Lautautomaten und den erzeugten Erkennungszeichen, und
Auswertung einer schnellen Worttrefferwert-Übereinstimmung für das betreffende Wort mittels der hergestellten näherungsweisen Akustikübereinstimmung, wobei die schnelle Worttrefferwert-Übereinstimmung dem zweiten Worttrefferwert entspricht.
25. Das Verfahren gemäß Anspruch 24 enthält den weiteren Schritt der:
Auswahl der Lautautomaten aus einer ersten Gruppe von Lautautomaten, in denen die detaillierte Übereinstimmung herbeigeführt wurde, und
Auswahl der Lautautomaten aus einer zweiten Gruppe von Lautautomaten, in denen die ungefähre Übereinstimmung herbeigeführt wurde, wobei die zweite Gruppe von Lautautomaten sich von der ersten Gruppe der Lautautomaten unterscheidet.
26. Das Verfahren gemäß Anspruch 25, worin jeder aus einer der Lautautomatengruppe stammende Lautautomat einem Erkennungszeichen entspricht und als ein phonemischer Lautautomat charakterisiert ist, und worin jeder Lautautomat aus der anderen Gruppe einem phonetischen Element entspricht und als ein phonetischer Lautautomat charakterisiert ist.
27. Das Verfahren gemäß Anspruch 26, worin der Bildungsschritt die Gewichtung zumindest einer der Worttrefferwerte in Bezug auf die anderen Worttrefferwerte und die Kombination der Worttrefferwerte nach deren Gewichtung enthält.
28. Das Verfahren gemäß Anspruch 23 enthält weiterhin den Schritt:
Wiederholung der Schritte gemäß Anspruch 26 für jedes Wort aus dem Wörterverzeichnis als das betreffende Wort, um einen aufgerufenen Worttrefferwert für jedes Wort zu schaffen, und worin der Kombinationsschritt die Summierung der aufgerufenen Worttrefferwerte für ein gegebenes betreffendes Wort enthält, in dem zumindest ein Worttrefferwert mittels der Herbeiführung einer Akustikübereinstimmung für ein gegebenes betreffendes Wort gebildet wird.
DE8787104079T 1986-03-27 1987-03-20 Spracherkennungssystem. Expired - Lifetime DE3783154T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/845,155 US4718094A (en) 1984-11-19 1986-03-27 Speech recognition system

Publications (2)

Publication Number Publication Date
DE3783154D1 DE3783154D1 (de) 1993-02-04
DE3783154T2 true DE3783154T2 (de) 1993-07-01

Family

ID=25294540

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8787104079T Expired - Lifetime DE3783154T2 (de) 1986-03-27 1987-03-20 Spracherkennungssystem.

Country Status (5)

Country Link
US (1) US4718094A (de)
EP (1) EP0239016B1 (de)
JP (1) JPS62231996A (de)
CA (1) CA1257697A (de)
DE (1) DE3783154T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009003930B4 (de) * 2009-01-30 2016-12-22 Mitsubishi Electric Corporation Spracherkennungsvorrichtung

Families Citing this family (217)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0632012B2 (ja) * 1985-03-25 1994-04-27 株式会社東芝 音声認識装置
US4833712A (en) * 1985-05-29 1989-05-23 International Business Machines Corporation Automatic generation of simple Markov model stunted baseforms for words in a vocabulary
US4843631A (en) * 1985-12-20 1989-06-27 Dietmar Steinpichler Pattern recognition process
CA1311059C (en) * 1986-03-25 1992-12-01 Bruce Allen Dautrich Speaker-trained speech recognizer having the capability of detecting confusingly similar vocabulary words
JPS62231993A (ja) * 1986-03-25 1987-10-12 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン 音声認識方法
US4941178A (en) * 1986-04-01 1990-07-10 Gte Laboratories Incorporated Speech recognition using preclassification and spectral normalization
US5142593A (en) * 1986-06-16 1992-08-25 Kabushiki Kaisha Toshiba Apparatus and method for classifying feature data at a high speed
US4837831A (en) * 1986-10-15 1989-06-06 Dragon Systems, Inc. Method for creating and using multiple-word sound models in speech recognition
US4803729A (en) * 1987-04-03 1989-02-07 Dragon Systems, Inc. Speech recognition method
DE3711342A1 (de) * 1987-04-03 1988-10-20 Philips Patentverwaltung Verfahren zum erkennen zusammenhaengend gesprochener woerter
US4852180A (en) * 1987-04-03 1989-07-25 American Telephone And Telegraph Company, At&T Bell Laboratories Speech recognition by acoustic/phonetic system and technique
US4926488A (en) * 1987-07-09 1990-05-15 International Business Machines Corporation Normalization of speech by adaptive labelling
US4817156A (en) * 1987-08-10 1989-03-28 International Business Machines Corporation Rapidly training a speech recognizer to a subsequent speaker given training data of a reference speaker
JPH01102599A (ja) * 1987-10-12 1989-04-20 Internatl Business Mach Corp <Ibm> 音声認識方法
US5140668A (en) * 1987-11-10 1992-08-18 Nec Corporation Phoneme recognition utilizing relative positions of reference phoneme patterns and input vectors in a feature space
NZ226959A (en) * 1987-11-11 1990-07-26 Univ Melbourne Evoked response audiometer: determining locking of brain signals to audio stimulus
JPH01167898A (ja) * 1987-12-04 1989-07-03 Internatl Business Mach Corp <Ibm> 音声認識装置
JPH0636156B2 (ja) * 1989-03-13 1994-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声認識装置
US5220639A (en) * 1989-12-01 1993-06-15 National Science Council Mandarin speech input method for Chinese computers and a mandarin speech recognition machine
JP2795719B2 (ja) * 1990-03-07 1998-09-10 富士通株式会社 認識距離の差に基づく最良優先探索処理方法
US5129001A (en) * 1990-04-25 1992-07-07 International Business Machines Corporation Method and apparatus for modeling words with multi-arc markov models
US5202952A (en) * 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
JP2662120B2 (ja) * 1991-10-01 1997-10-08 インターナショナル・ビジネス・マシーンズ・コーポレイション 音声認識装置および音声認識用処理ユニット
US5222146A (en) * 1991-10-23 1993-06-22 International Business Machines Corporation Speech recognition apparatus having a speech coder outputting acoustic prototype ranks
EP0634042B1 (de) * 1992-03-06 2001-07-11 Dragon Systems Inc. Spracherkennungssystem für sprachen mit zusammengesetzten wörtern
EP0590173A1 (de) * 1992-09-28 1994-04-06 International Business Machines Corporation Computersystem zur Spracherkennung
US5406633A (en) * 1992-11-03 1995-04-11 Auditory System Technologies, Inc. Hearing aid with permanently adjusted frequency response
DE4323241A1 (de) * 1993-07-12 1995-02-02 Ibm Verfahren und Computersystem zur Suche fehlerhafter Zeichenketten in einem Text
US5737490A (en) * 1993-09-30 1998-04-07 Apple Computer, Inc. Method and apparatus for constructing continuous parameter fenonic hidden markov models by replacing phonetic models with continous fenonic models
CN1063554C (zh) * 1994-03-03 2001-03-21 李琳山 中文电脑的汉语语音输入系统及其方法
US5625748A (en) * 1994-04-18 1997-04-29 Bbn Corporation Topic discriminator using posterior probability or confidence scores
US5737723A (en) * 1994-08-29 1998-04-07 Lucent Technologies Inc. Confusable word detection in speech recognition
US5640557A (en) * 1994-11-18 1997-06-17 International Business Machines Corporation Method and system for processing logic blocks in a data processing system
US5729656A (en) * 1994-11-30 1998-03-17 International Business Machines Corporation Reduction of search space in speech recognition using phone boundaries and phone ranking
US5822728A (en) * 1995-09-08 1998-10-13 Matsushita Electric Industrial Co., Ltd. Multistage word recognizer based on reliably detected phoneme similarity regions
US5825977A (en) * 1995-09-08 1998-10-20 Morin; Philippe R. Word hypothesizer based on reliably detected phoneme similarity regions
US5684925A (en) * 1995-09-08 1997-11-04 Matsushita Electric Industrial Co., Ltd. Speech representation by feature-based word prototypes comprising phoneme targets having reliable high similarity
US5761687A (en) * 1995-10-04 1998-06-02 Apple Computer, Inc. Character-based correction arrangement with correction propagation
US5799276A (en) * 1995-11-07 1998-08-25 Accent Incorporated Knowledge-based speech recognition system and methods having frame length computed based upon estimated pitch period of vocalic intervals
US6446038B1 (en) * 1996-04-01 2002-09-03 Qwest Communications International, Inc. Method and system for objectively evaluating speech
US5870706A (en) * 1996-04-10 1999-02-09 Lucent Technologies, Inc. Method and apparatus for an improved language recognition system
US5875426A (en) * 1996-06-12 1999-02-23 International Business Machines Corporation Recognizing speech having word liaisons by adding a phoneme to reference word models
US6092044A (en) * 1997-03-28 2000-07-18 Dragon Systems, Inc. Pronunciation generation in speech recognition
JP3067683B2 (ja) * 1997-04-01 2000-07-17 日本電気株式会社 パターン認識装置および方法、情報記憶媒体
FR2769118B1 (fr) * 1997-09-29 1999-12-03 Matra Communication Procede de reconnaissance de parole
DE19754957A1 (de) * 1997-12-11 1999-06-17 Daimler Chrysler Ag Verfahren zur Spracherkennung
JP3004254B2 (ja) * 1998-06-12 2000-01-31 株式会社エイ・ティ・アール音声翻訳通信研究所 統計的シーケンスモデル生成装置、統計的言語モデル生成装置及び音声認識装置
MXPA01002514A (es) * 1998-09-09 2003-09-10 Asahi Chemical Ind Reconocedor de voz.
US6275801B1 (en) * 1998-11-03 2001-08-14 International Business Machines Corporation Non-leaf node penalty score assignment system and method for improving acoustic fast match speed in large vocabulary systems
US6266638B1 (en) * 1999-03-30 2001-07-24 At&T Corp Voice quality compensation system for speech synthesis based on unit-selection speech database
JP4465564B2 (ja) * 2000-02-28 2010-05-19 ソニー株式会社 音声認識装置および音声認識方法、並びに記録媒体
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7080011B2 (en) * 2000-08-04 2006-07-18 International Business Machines Corporation Speech label accelerators and techniques for using same
US7003455B1 (en) * 2000-10-16 2006-02-21 Microsoft Corporation Method of noise reduction using correction and scaling vectors with partitioning of the acoustic space in the domain of noisy speech
US6978239B2 (en) * 2000-12-04 2005-12-20 Microsoft Corporation Method and apparatus for speech synthesis without prosody modification
ITFI20010199A1 (it) 2001-10-22 2003-04-22 Riccardo Vieri Sistema e metodo per trasformare in voce comunicazioni testuali ed inviarle con una connessione internet a qualsiasi apparato telefonico
DE10207895B4 (de) * 2002-02-23 2005-11-03 Harman Becker Automotive Systems Gmbh Verfahren zur Spracherkennung und Spracherkennungssystem
US7092883B1 (en) * 2002-03-29 2006-08-15 At&T Generating confidence scores from word lattices
US7117148B2 (en) * 2002-04-05 2006-10-03 Microsoft Corporation Method of noise reduction using correction vectors based on dynamic aspects of speech and noise normalization
US7181392B2 (en) * 2002-07-16 2007-02-20 International Business Machines Corporation Determining speech recognition accuracy
US7496498B2 (en) * 2003-03-24 2009-02-24 Microsoft Corporation Front-end architecture for a multi-lingual text-to-speech system
JP4349216B2 (ja) * 2004-06-21 2009-10-21 富士ゼロックス株式会社 分布適合度検定装置、消耗品補給タイミング判定装置、画像形成装置、分布適合度検定方法及びプログラム
US7505902B2 (en) * 2004-07-28 2009-03-17 University Of Maryland Discrimination of components of audio signals based on multiscale spectro-temporal modulations
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7633076B2 (en) 2005-09-30 2009-12-15 Apple Inc. Automated response to and sensing of user activity in portable devices
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20080129520A1 (en) * 2006-12-01 2008-06-05 Apple Computer, Inc. Electronic device with enhanced audio feedback
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US9053089B2 (en) * 2007-10-02 2015-06-09 Apple Inc. Part-of-speech tagging using latent analogy
US8620662B2 (en) 2007-11-20 2013-12-31 Apple Inc. Context-aware unit selection
US8595004B2 (en) * 2007-12-18 2013-11-26 Nec Corporation Pronunciation variation rule extraction apparatus, pronunciation variation rule extraction method, and pronunciation variation rule extraction program
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) * 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8065143B2 (en) 2008-02-22 2011-11-22 Apple Inc. Providing text input using speech data and non-speech data
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8464150B2 (en) 2008-06-07 2013-06-11 Apple Inc. Automatic language identification for dynamic text processing
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8768702B2 (en) * 2008-09-05 2014-07-01 Apple Inc. Multi-tiered voice feedback in an electronic device
US8898568B2 (en) * 2008-09-09 2014-11-25 Apple Inc. Audio user interface
US8583418B2 (en) 2008-09-29 2013-11-12 Apple Inc. Systems and methods of detecting language and natural language strings for text to speech synthesis
US8712776B2 (en) * 2008-09-29 2014-04-29 Apple Inc. Systems and methods for selective text to speech synthesis
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8862252B2 (en) 2009-01-30 2014-10-14 Apple Inc. Audio user interface for displayless electronic device
US8380507B2 (en) 2009-03-09 2013-02-19 Apple Inc. Systems and methods for determining the language to use for speech generated by a text to speech engine
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10540976B2 (en) * 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8682649B2 (en) * 2009-11-12 2014-03-25 Apple Inc. Sentiment prediction from textual data
US8600743B2 (en) * 2010-01-06 2013-12-03 Apple Inc. Noise profile determination for voice-related feature
US8381107B2 (en) 2010-01-13 2013-02-19 Apple Inc. Adaptive audio feedback system and method
US8311838B2 (en) 2010-01-13 2012-11-13 Apple Inc. Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
WO2011089450A2 (en) 2010-01-25 2011-07-28 Andrew Peter Nelson Jerram Apparatuses, methods and systems for a digital conversation management platform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8713021B2 (en) 2010-07-07 2014-04-29 Apple Inc. Unsupervised document clustering using latent semantic density analysis
US8719006B2 (en) 2010-08-27 2014-05-06 Apple Inc. Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis
US8719014B2 (en) 2010-09-27 2014-05-06 Apple Inc. Electronic device with text error correction based on voice recognition data
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US10515147B2 (en) 2010-12-22 2019-12-24 Apple Inc. Using statistical language models for contextual lookup
US8781836B2 (en) 2011-02-22 2014-07-15 Apple Inc. Hearing assistance system for providing consistent human speech
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US20120310642A1 (en) 2011-06-03 2012-12-06 Apple Inc. Automatically creating a mapping between text data and audio data
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8812294B2 (en) 2011-06-21 2014-08-19 Apple Inc. Translating phrases from one language into another using an order-based set of declarative rules
US8706472B2 (en) 2011-08-11 2014-04-22 Apple Inc. Method for disambiguating multiple readings in language conversion
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US8762156B2 (en) 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US8775442B2 (en) 2012-05-15 2014-07-08 Apple Inc. Semantic search using a single-source semantic model
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
WO2013185109A2 (en) 2012-06-08 2013-12-12 Apple Inc. Systems and methods for recognizing textual identifiers within a plurality of words
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US8935167B2 (en) 2012-09-25 2015-01-13 Apple Inc. Exemplar-based latent perceptual modeling for automatic speech recognition
KR20150104615A (ko) 2013-02-07 2015-09-15 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US9977779B2 (en) 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9733821B2 (en) 2013-03-14 2017-08-15 Apple Inc. Voice control to diagnose inadvertent activation of accessibility features
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US10572476B2 (en) 2013-03-14 2020-02-25 Apple Inc. Refining a search based on schedule items
US10642574B2 (en) 2013-03-14 2020-05-05 Apple Inc. Device, method, and graphical user interface for outputting captions
CN110096712B (zh) 2013-03-15 2023-06-20 苹果公司 通过智能数字助理的用户培训
CN105144133B (zh) 2013-03-15 2020-11-20 苹果公司 对中断进行上下文相关处理
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
CN105027197B (zh) 2013-03-15 2018-12-14 苹果公司 训练至少部分语音命令系统
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
EP3008641A1 (de) 2013-06-09 2016-04-20 Apple Inc. Vorrichtung, verfahren und grafische benutzeroberfläche für gesprächspersistenz über zwei oder mehrere instanzen eines digitaler assistenten
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
AU2014278595B2 (en) 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
CN104267922B (zh) * 2014-09-16 2019-05-31 联想(北京)有限公司 一种信息处理方法及电子设备
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10008201B2 (en) * 2015-09-28 2018-06-26 GM Global Technology Operations LLC Streamlined navigational speech recognition
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9761227B1 (en) 2016-05-26 2017-09-12 Nuance Communications, Inc. Method and system for hybrid decoding for enhanced end-user privacy and low latency
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10943143B2 (en) * 2018-12-28 2021-03-09 Paypal, Inc. Algorithm for scoring partial matches between words

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3943295A (en) * 1974-07-17 1976-03-09 Threshold Technology, Inc. Apparatus and method for recognizing words from among continuous speech
US4038503A (en) * 1975-12-29 1977-07-26 Dialog Systems, Inc. Speech recognition apparatus
GB1569450A (en) * 1976-05-27 1980-06-18 Nippon Electric Co Speech recognition system
US4156868A (en) * 1977-05-05 1979-05-29 Bell Telephone Laboratories, Incorporated Syntactic word recognizer
US4277644A (en) * 1979-07-16 1981-07-07 Bell Telephone Laboratories, Incorporated Syntactic continuous speech recognizer
US4319085A (en) * 1980-04-08 1982-03-09 Threshold Technology Inc. Speech recognition apparatus and method
US4348553A (en) * 1980-07-02 1982-09-07 International Business Machines Corporation Parallel pattern verifier with dynamic time warping
JPS5752100A (en) * 1980-09-12 1982-03-27 Nippon Telegraph & Telephone Word voice recognizing system
US4513436A (en) * 1980-09-16 1985-04-23 Oki Electric Industry, Co., Ltd. Speech recognition system
AU7529981A (en) * 1980-09-19 1982-03-25 Hitachi Limited Language analysis by pattern recognition
US4394538A (en) * 1981-03-04 1983-07-19 Threshold Technology, Inc. Speech recognition system and method
JPS57147781A (en) * 1981-03-06 1982-09-11 Nec Corp Pattern matching device
US4400788A (en) * 1981-03-27 1983-08-23 Bell Telephone Laboratories, Incorporated Continuous speech pattern recognizer
US4435617A (en) * 1981-08-13 1984-03-06 Griggs David T Speech-controlled phonetic typewriter or display device using two-tier approach
JPS5844500A (ja) * 1981-09-11 1983-03-15 シャープ株式会社 音声認識方式
US4489434A (en) * 1981-10-05 1984-12-18 Exxon Corporation Speech recognition method and apparatus
US4489435A (en) * 1981-10-05 1984-12-18 Exxon Corporation Method and apparatus for continuous word string recognition
US4481593A (en) * 1981-10-05 1984-11-06 Exxon Corporation Continuous speech recognition
JPS58111989A (ja) * 1981-12-25 1983-07-04 シャープ株式会社 音声認識装置
US4587670A (en) * 1982-10-15 1986-05-06 At&T Bell Laboratories Hidden Markov model speech recognition arrangement
JPS60129798A (ja) * 1983-12-16 1985-07-11 沖電気工業株式会社 音声認識方式
US4593367A (en) * 1984-01-16 1986-06-03 Itt Corporation Probabilistic learning element
US4741036A (en) * 1985-01-31 1988-04-26 International Business Machines Corporation Determination of phone weights for markov models in a speech recognition system
JPS62118397A (ja) * 1985-11-15 1987-05-29 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 音声認識方法
JPS62220996A (ja) * 1986-03-18 1987-09-29 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン 音声認識方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009003930B4 (de) * 2009-01-30 2016-12-22 Mitsubishi Electric Corporation Spracherkennungsvorrichtung

Also Published As

Publication number Publication date
EP0239016A2 (de) 1987-09-30
DE3783154D1 (de) 1993-02-04
EP0239016B1 (de) 1992-12-23
CA1257697A (en) 1989-07-18
JPH0431600B2 (de) 1992-05-26
US4718094A (en) 1988-01-05
JPS62231996A (ja) 1987-10-12
EP0239016A3 (en) 1988-03-30

Similar Documents

Publication Publication Date Title
DE3783154T2 (de) Spracherkennungssystem.
DE69010941T2 (de) Verfahren und Einrichtung zur automatischen Bestimmung von phonologischen Regeln für ein System zur Erkennung kontinuierlicher Sprache.
DE4397100C2 (de) Verfahren zum Erkennen von Sprachsignalen und Spracherkennungssystem mit rekursiver Grammatik mit endlicher Zustandsanzahl
DE3337353C2 (de) Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells
DE69311303T2 (de) Sprachtrainingshilfe für kinder.
DE3876379T2 (de) Automatische bestimmung von kennzeichen und markov-wortmodellen in einem spracherkennungssystem.
DE3876207T2 (de) Spracherkennungssystem unter verwendung von markov-modellen.
DE3236832C2 (de) Verfahren und Gerät zur Sprachanalyse
DE60302407T2 (de) Umgebungs- und sprecheradaptierte Spracherkennung
DE3878541T2 (de) Verfahren und einrichtung, um ein markov-modell-referenzmuster von woertern zu erzeugen.
DE3236834C2 (de) Verfahren und Gerät zur Sprachanalyse
DE69725802T2 (de) Vorfilterung mittels lexikalischer Bäumen für die Spracherkennung
DE69908047T2 (de) Verfahren und System zur automatischen Bestimmung von phonetischen Transkriptionen in Verbindung mit buchstabierten Wörtern
DE19825205C2 (de) Verfahren, Vorrichtung und Erzeugnis zum Generieren von postlexikalischen Aussprachen aus lexikalischen Aussprachen mit einem neuronalen Netz
EP0925461A2 (de) Verfahren zur mehrsprachenverwendung eines hidden markov lautmodelles in einem spracherkennungssystem
DE2825186A1 (de) Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale
EP0797185A2 (de) Verfahren und Vorrichtung zur Spracherkennung
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung
EP1273003B1 (de) Verfahren und vorrichtung zum bestimmen prosodischer markierungen
EP0836175B1 (de) Verfahren und Anordnung zum Ableiten wenigstens einer Folge von Wörtern aus einem Sprachsignal
EP0285222B1 (de) Verfahren zum Erkennen zusammenhängend gesprochener Wörter
EP1058235B1 (de) Wiedergabeverfahren für sprachgesteuerte Systeme mit text-basierter Sprachsynthese
DE69126983T2 (de) Einrichtung zur mustererkennung mit einem kuenstlichen neuronalen netzwerk fuer kontextabhaengige modellierung
EP1282897B1 (de) Verfahren zum erzeugen einer sprachdatenbank für einen zielwortschatz zum trainieren eines spracherkennungssystems
DE102010040553A1 (de) Spracherkennungsverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8330 Complete renunciation