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
Links
- 238000000034 method Methods 0.000 claims description 154
- 230000007704 transition Effects 0.000 claims description 112
- 238000009826 distribution Methods 0.000 claims description 95
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000004422 calculation algorithm Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 22
- 230000014509 gene expression Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 230000000670 limiting effect Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 2
- 238000000605 extraction Methods 0.000 claims description 2
- 238000009825 accumulation Methods 0.000 claims 1
- 238000011156 evaluation Methods 0.000 claims 1
- 230000001939 inductive effect Effects 0.000 claims 1
- 230000007774 longterm Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 38
- 239000013598 vector Substances 0.000 description 27
- 230000008569 process Effects 0.000 description 24
- 230000006978 adaptation Effects 0.000 description 20
- 238000012549 training Methods 0.000 description 17
- 238000013459 approach Methods 0.000 description 16
- 230000002829 reductive effect Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 10
- 230000001186 cumulative effect Effects 0.000 description 10
- 238000007792 addition Methods 0.000 description 9
- 239000002858 neurotransmitter agent Substances 0.000 description 9
- 210000000721 basilar membrane Anatomy 0.000 description 6
- 238000007667 floating Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 5
- 239000003550 marker Substances 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 230000002269 spontaneous effect Effects 0.000 description 4
- 238000007476 Maximum Likelihood Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005755 formation reaction Methods 0.000 description 3
- 210000002768 hair cell Anatomy 0.000 description 3
- 210000000067 inner hair cell Anatomy 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 101100313477 Arabidopsis thaliana THE1 gene Proteins 0.000 description 2
- 101100412671 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RGA1 gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- XOFYZVNMUHMLCC-ZPOLXVRWSA-N prednisone Chemical compound O=C1C=C[C@]2(C)[C@H]3C(=O)C[C@](C)([C@@](CC4)(O)C(=O)CO)[C@@H]4[C@@H]3CCC2=C1 XOFYZVNMUHMLCC-ZPOLXVRWSA-N 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241000588316 Amazophrynella vote Species 0.000 description 1
- 108091027981 Response element Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 210000000860 cochlear nerve Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000003027 ear inner Anatomy 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
- G10L15/142—Hidden Markov Models [HMMs]
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
- G10L15/142—Hidden Markov Models [HMMs]
- G10L15/144—Training of HMMs
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/187—Phonemic 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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)
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 | インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン | 音声認識方法及び装置 |
-
1986
- 1986-03-27 US US06/845,155 patent/US4718094A/en not_active Expired - Lifetime
-
1987
- 1987-02-02 CA CA000528791A patent/CA1257697A/en not_active Expired
- 1987-02-27 JP JP62043238A patent/JPS62231996A/ja active Granted
- 1987-03-20 EP EP87104079A patent/EP0239016B1/de not_active Expired
- 1987-03-20 DE DE8787104079T patent/DE3783154T2/de not_active Expired - Lifetime
Cited By (1)
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 |