DE3878001T2 - Spracherkennungseinrichtung unter anwendung von phonemermittlung. - Google Patents
Spracherkennungseinrichtung unter anwendung von phonemermittlung.Info
- Publication number
- DE3878001T2 DE3878001T2 DE8888105316T DE3878001T DE3878001T2 DE 3878001 T2 DE3878001 T2 DE 3878001T2 DE 8888105316 T DE8888105316 T DE 8888105316T DE 3878001 T DE3878001 T DE 3878001T DE 3878001 T2 DE3878001 T2 DE 3878001T2
- Authority
- DE
- Germany
- Prior art keywords
- linear
- vector
- elements
- speech
- steps
- 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 - Fee Related
Links
- 238000012545 processing Methods 0.000 claims abstract description 38
- 239000013598 vector Substances 0.000 claims description 194
- 239000011159 matrix material Substances 0.000 claims description 74
- 238000000034 method Methods 0.000 claims description 44
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000011161 development Methods 0.000 description 40
- 230000018109 developmental process Effects 0.000 description 40
- 230000000875 corresponding effect Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 238000010606 normalization Methods 0.000 description 18
- 238000012549 training Methods 0.000 description 13
- 230000009467 reduction Effects 0.000 description 12
- 238000000605 extraction Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000002596 correlated effect Effects 0.000 description 9
- 238000002372 labelling Methods 0.000 description 9
- 230000015654 memory Effects 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 6
- 238000000926 separation method Methods 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- XWVFVITVPYKIMH-UHFFFAOYSA-N ethyl n-[4-[benzyl(2-phenylethyl)amino]-2-(2-fluorophenyl)-1h-imidazo[4,5-c]pyridin-6-yl]carbamate Chemical compound N=1C(NC(=O)OCC)=CC=2NC(C=3C(=CC=CC=3)F)=NC=2C=1N(CC=1C=CC=CC=1)CCC1=CC=CC=C1 XWVFVITVPYKIMH-UHFFFAOYSA-N 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000006911 nucleation Effects 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000009466 transformation Effects 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/10—Speech classification or search using distance or distortion measures between unknown speech and reference templates
-
- 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/02—Feature extraction for speech recognition; Selection of recognition unit
- G10L2015/025—Phonemes, fenemes or fenones being the recognition units
Landscapes
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Analysis (AREA)
- Telephonic Communication Services (AREA)
- Telephone Function (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Description
- Die Erfindung betrifft ein Verfahren zur Spracherkennung, insbesondere diejenigen Teile von Spracherkennungssystemen, die zur Erkennung von Mustern in durch Daten erfassten Versionen der empfangenen Sprache benutzt werden.
- Die meisten Systeme zur Spracherkennung benutzen eine Einrichtung, um die Daten in der Rohsprache in Repräsentationen der Sprache umzuwandeln, welche weniger als alle diejenigen Daten enthalten, die bei einer Digitalisierung des Sprachsignals enthalten wären, die aber noch die meisten wenn nicht alle Daten enthalten, die zur Identifizierung der Bedeutung der Worte benötigt werden, welche Wortbedeutung von dem Sprechenden beabsichtigt ist. Bei der Entwicklung oder beim "Training" des Spracherkennungssystems sollen die Muster der durch Daten erfassten Repräsentationen identifiziert werden, die für Sprachelemente wie Worte oder Phrasen charakteristisch sind. Die von unterschiedlichen Sprechern erzeugten Laute, mit denen dieselben Phrasen oder Redewendungen ausgesprochen werden sollen, unterscheiden sich voneinander. Ferner können andere Gründe für Mehrdeutigkeiten vorhanden sein, wie beispielsweise Geräusche und die Ungenauigkeit des modellierenden Verfahrens. Deshalb werden Unterprogramme benutzt, um unterschiedlichen mathematischen Kombinationen in den Elementen der durch Daten erfassten Repräsentation der Sprache Wahrscheinlichkeiten zuzuordnen. Ferner werden verschiedene Hypothesen geprüft, um zu bestimmen, welches Element einer Anzahl von möglichen Sprachelementen am wahrscheinlichsten dasjenige ist, das gerade gesprochen wird.
- Die Verfahren zur Durchführung dieser Operationen erfordern einen intensiven Rechenaufwand. Die Wahrscheinlichkeiten müssen für eine große Anzahl von Sprachelementen bestimmt werden,und die Begrenzung der Berechnung die beispielsweise durch Erfordernisse des Echtzeitbetriebs bedingt sind, begrenzen die Empfindlichkeit des benutzbaren Mustererkennungs- Algorithmus.
- Es ist deshalb Zielsetzung der Erfindung, die Berechnungszeit zu erhöhen, die der Erkennung eines gegebenen Musters gewidmet werden kann, und zwar ohne daß die Zeit erhöht wird, die für die gesamte Spracherkennung benötigt wird. Ferner soll das Verfahren zur Spracherkennung verbessert werden.
- Ein typischer Erkennungs-Algorithmus ist beschrieben in:
- COMPTES-RENDUS HEBDOMADAIRES DES SEANCES DE L'ACADEMIE DES SCIENCES, Band 273, Teil A, No. 10, 6. September 1971, Seiten 415-418, Paris, FR; J.P. HATON et al: "Extraction de paramètres et compression de l'information; application la reconnaissance de la parole".
- Die Zielsetzungen der Erfindung werden durch ein Spracherkennungssystem erreicht, das eine Phonem-Bewertungseinrichtung enthält, die Bewertungen erzeugt, von denen eine weitere Verarbeitung durchgeführt werden kann, um die gesprochenen Worte oder Phrasen zu identifizieren. Die Phonem- Bewertungseinrichtung enthält einen Triggergenerator, der eine Datenrepräsentation aller Segmente von neuer Sprache inspiziert, welche das Erkennungssystem empfängt. Wenn es in dieser Repräsentation ein Muster erkennt, das für eine breite Klasse von Phonemen charakteristisch ist, wird ein Sprachelement-Prozessor getriggert, der dann für jedes einer Anzahl von Phonemen dieser Klasse die Wahrscheinlichkeit berechnet, daß dieses Phonem zu diesem Zeitpunkt auftrat. Da der Sprachelement-Prozessor nur arbeitet, wenn er getriggert wurde, ergibt sich nur eine Wirksamkeit für eine kleine Untergruppe der Segmente der zugeführten Sprache. Deshalb ist der Berechnungsaufwand, der der Identifizierung irgend eines gegebenen Sprachelements gewidmet werden kann, größer als derjenige Betrag, der gewidmet werden könnte, wenn die Berechnung für jedes Segment der ankommenden Sprache zugeführt werden müßte.
- Gemäß einem anderen Merkmal der Erfindung benutzt die Berechnung zur Erkennung von Mustern in der Datenrepräsentation der Sprache eine nichtlineare Modellierung. Dies bedeutet, daß Muster nicht nur in den Elementen selbst, sondern auch in den Resultaten ihrer Multiplikation gesucht werden. Dadurch wird die Genauigkeit des Modellierverfahrens erhöht.
- Durch die Erfindung wurde deshalb ein Verfahren und eine Vorrichtung zur Sprachverarbeitung geschaffen, wobei entsprechend dem Anspruch 1 bzw. 7 eine Berechnung nichtlinearer Kombinationen vorgesehen ist.
- Diese und weitere Merkmale und Vorteile der Erfindung sollen in Verbindung mit der Zeichnung erläutert werden. Es zeigen:
- FIG. 1 ein Blockdiagramm eines Spracherkennungssystems gemäß der Erfindung;
- FIG. 2 ein Blockdiagramm der Phonem-Bewertungseinrichtung in FIG. 1;
- FIG. 3 ein Blockdiagramm zur Erläuterung der zeitlichen Steuerung durch den Vorprozessor in FIG. 2;
- FIG. 4 ein Blockdiagramm zur Erläuterung des Triggergenerators in FIG. 2;
- FIG. 5 ein Blockdiagramm zur Erläuterung des Sprachelement-Vorprozessors in FIG. 2;
- FIG. 6A, 6B und 6C ein Blockdiagramm zur Erläuterung des Sprachelement- Vorprozessors in FIG. 2;
- FIG. 7A, 7B, 7C und 7D ein Blockdiagramm zur Erläuterung eines Teils eines Entwicklungssystems zur Erzeugung der Triggermatrix, die in dem Triggergenerator in FIG. 3 benutzt wird;
- FIG. 8A, 8B, 8C und 8D ein Blockdiagramm zur Erläuterung der Dekorrelationsmatrix-Berechnung in FIG. 7A;
- FIG. 9 ein Diagramm zur Erläuterung der räumlichen Beziehung zwischen FIG. 9A und 9B;
- FIG. 9A und 9B ein Blockdiagramm zur Erläuterung eines Teils eines Entwicklungssystems zur Erzeugung der Dekorrelationsmatrix, die in dem Sprachelement-Prozessor in FIG. 6A, 6B und 6C benutzt wird und für die Auswahl von Vektorelementen, für eine weitere Verarbeitung in diesem Prozessor;
- FIG. 10A und 10B ein Blockdiagramm zur Erläuterung der Berechnung der ersten anfänglichen Konsonanten-Dekorrelationsmatrix und der Eigenwerte in FIG. 9A;
- FIG. 11 ein Diagramm zur Erläuterung der räumlichen Beziehungen zwischen FIG. 11A und 11B;
- FIG. 11A und 11B ein Blockdiagramm eines Teils eines Entwicklungssystems zur Berechnung der Modelliermatrix, die in dem Sprachelement-Prozessor in FIG. 6A, 6B und 6C benutzt wird;
- FIG. 12 ein Hardware-Ausführungsbeispiel des Spracherkennungssystems in den FIG. 1 - 9;
- FIG. 13 ein Blockdiagramm der Phonembewertungseinrichtung eines alternativen Ausführungsbeispiels der Erfindung;
- FIG. 14 ein Blockdiagramm zur Erläuterung der Empfangsfeld-Extraktion bei dem Ausführungsbeispiel in FIG. 13;
- FIG. 15 ein Blockdiagramm eines weiteren Ausführungsbeispiels gemäß der Erfindung; und
- FIG. 16 ein Blockdiagramm des Triggergenerators des Ausführungsbeispiels in FIG. 15.
- In dieser Beschreibung wird sowohl ein Produktsystem zur Spracherkennung und ein Entwicklungssystem zum "Trainieren" des Produktsystems beschrieben, nämlich zur Bestimmung von in dem Produktsystem zu benutzenden Parametern. In den FIG. 1 bis 6 ist ein Ausführungsbeispiel des Produktsystems dargestellt, und in den FIG. 7 bis 11 sind Teile des entsprechenden Entwicklungssystems dargestellt.
- Ein Spracherkennungssystem 10 in FIG. 1 enthält die phonemidentifizierende Einrichtung gemäß der Erfindung. Ein Sprachsignal in der Form beispielsweise des Ausgangssignals eines Mikrofons wird von einer Phonembeurteilungseinrichtung 12 empfangen, welche entsprechend der Lehre der Erfindung ausgebildet ist. Das Ausgangssignal der Beurteilungseinrichtung besteht zu irgend einem gegebenen Zeitpunkt aus einer Gruppe von Ausgangssignalen, wobei jeder Ausgang ein Wert ist, der zum Zwecke dieser Beschreibung als "Beurteilung" bezeichnet wird und von der Wahrscheinlichkeit abgeleitet ist, daß die empfangene Sprache zu diesem Zeitpunkt das diesem Ausgang zugeordnete Phonem darstellt.
- Im Idealfall würde ein Ausgang eine sehr hohe Wahrscheinlichkeit darstellen, während alle anderen viel geringere Wahrscheinlichkeiten anzeigen würden, wodurch ein einziges Phonem identifiziert würde. In der Praxis führen jedoch Geräusche, Änderungen der Stimmen und Abweichungen der Beurteilungseinrichtung 12 selbst von dem Idealfall in gewissen Fällen zu einer Gruppe von Ausgängen, die nicht so eindeutig sind. Eine Wort/Phrase-Bestimmungsschaltung 14 empfängt die Beurteilungen und beseitigt durch Befragen einer Bibliothek 16 von Worten und Phrasen in der Form von Phonemen die weniger wahrscheinlichen Phoneme von der Berücksichtigung und bestimmt, welche Worte und Phrasen empfangen wurden. Der Ausgang der Bestimmungsschaltung 14 ist bei dem dargestellten Ausführungsbeispiel umgeschriebene Sprache, aber der Ausgang kann eine einfachere Form aufweisen, beispielsweise eine Anzeige, welche von einer Gruppe von möglichen erwarteten Antworten gesprochen wurde.
- Die Einzelheiten der Bestimmungsschaltung 14 sollen nicht näher erläutert werden, da die spezielle Art, mit der die Phonembeurteilungen weiterverarbeitet werden, nicht Teil der Erfindung ist, während es von Interesse ist, daß die Bestimmungsschaltung 14 strikt entsprechend den Beurteilungen arbeitet, die durch die Beurteilungseinrichtung 12 erzeugt werden. Dies bedeutet, daß die Bestimmungsschaltung 14 nicht aufgrund von Daten in einer primitiveren Form wirksam wird, beispielsweise aufgrund der Rohsprache selbst oder deren Frequenzspektrum.
- FIG. 2 zeigt eine detaillierte Darstellung der Phonembeurteilungseinrichtung 12. Zwei getrennte Vorprozessoren 18 und 20 empfangen die Rohsprache und führen eine anfängliche Datenreduktion durch. Die im folgenden näher beschriebene Datenreduktion besteht aus einer Anzahl von Reduktionsschritten wie Normierung, Aufnahme von Leistungsspektren etc. Die meisten derartigen Schritte werden in den anfänglichen Phasen anderer Spracherkennungssysteme benutzt, allerdings nicht in denselben Kombinationen. Die Prozessoren 18 und 20 sind ähnlich ausgebildet, aber die speziellen Vorverarbeitungsschritte, die für die zeitliche Steuerung des Vorprozessors 18 ausgewählt wurden, sind solche welche Information weiterleiten, die am besten für die Erkennung der Zeitpunkte geeignet ist, zu denen die neuen Sprachelemente auftreten, während der Sprachelement-Vorprozessor 20 Datenreduktionselemente enthält, welche Information weiterleiten, die besser für die Identifizierung der speziellen Sprachelemente geeignet ist, welche bei dem dargestellten Ausführungsbeispiel Phoneme sind.
- Der Ausgang des ersten Vorprozessors 18 wird einem Triggergenerator 22 zugeführt, welche eine Anzeige liefert, wenn ein neues Sprachelement wahrscheinlich auftrat. Es wird ein "V-Trigger" erzeugt, wenn das wahrscheinliche Auftreten von einem Vokal oder einem anfänglichen Konsonanten stammt, und dieser Ausgang wird einem Anfangskonsonant-Prozessor 24 und einem Vokalprozessor 26 zugeführt. Es wird ein "F-Trigger" erzeugt, wenn es sich um einen wahrscheinlich aufgetretenen Endkonsonanten handelt. Dieser Ausgang wird einem Endkonsonanten-Prozessor 28 zugeführt.
- Immer wenn der Triggergenerator 22 ein V-Triggersignal erzeugt, erzeugen die Prozessoren 24 und 26 eine Anzahl von Ausgängen, von denen jeder eine von der Wahrscheinlichkeit abgeleitete "Beurteilung" ist, daß ein spezielles Anfangskonsonant- oder Vokal-Phonem aufgetreten ist. Wenn das V-Triggersignal nicht erzeugt wird, zeigen diese Schaltungen an, daß entsprechend ihren Beurteilungen keine Wahrscheinlichkeit gegeben ist, daß derartige Phoneme aufgetreten sind.
- In entsprechender Weise verursacht das F-Triggersignal, daß der Endkonsonant-Prozessor 28 eine Anzahl von Ausgängen erzeugt, von denen jeder eine "Beurteilung" ist, die von der Wahrscheinlichkeit abgeleitet wurde, daß die derzeit empfangene Sprache aus einem gegebenen Endkonsonant besteht.
- Es sei angenommen, daß die Rohsprache das Wort "cat" ist. Die Anfangskonsonant- und Vokalprozessoren 24 und 26 werden getriggert, um über das V-Triggersignal zu arbeiten, welches das Auftreten der Kombination des Konsonanten und des Vokals anzeigt. Diese Prozessoren erzeugen deshalb eine Anzahl von parallelen Ausgängen, von denen jeder die Wahrscheinlichkeit repräsentiert, daß ein spezieller Anfangskonsonant oder Vokal gesprochen wurde. Der Ausgang für den Laut "k" ist wahrscheinlich der größte unter diesen Ausgängen von dem Anfangskonsonant-Prozessor 24. In entsprechender Weise ist wahrscheinlich der Ausgang für den kurzen Laut "a" der größte unter diesen Ausgängen von dem Vokal-Prozessor 26. Die Bestimmungsschaltung 14 berücksichtigt diese Ausgänge sowie vorhergehende und folgende Ausgänge und schließt daraus, daß das zuerst gesprochene Phonem der Laut "k" war, und daß das nächste gesprochene Phonem der kurze Laut "a" war.
- Der Endlaut "t" verursacht nur dann, daß der Endkonsonant-Prozessor 28 durch das F-Triggersignal getriggert wird. Der Ausgang, den der Prozessor 28 für den Laut "t" erzeugt ist typischerweise größer als die Ausgangssignale die davon für die anderen Endkonsonanten-Phoneme erzeugt werden. Deshalb bestimmt die Bestimmungsschaltung 14, daß der Sprecher das Wort "cat" ausgesprochen hat.
- Aufgrund von Sprachvariationen kann das Wort "cat" zu mehr als einem einzigen V-Triggersignal führen, bei dem sowohl der Anfangskonsonant und der Vokal bearbeitet werden, und einem einzigen F-Triggersignal, bei dem der Endkonsonant bearbeitet wird. Beispielsweise kann der Anfangskonsonant und der Vokal verursachen, und in Abhängigkeit von unterschiedlichen V- Triggersignalen verursachen, daß das Triggersignal für den Anfangskonsonanten vor demjenigen des Vokals auftritt. Zusätzlich kann ferner mehr als ein Triggersignal auftreten, das für die Verarbeitung irgend eines der Konsonanten oder Vokale in dem Wort benutzt wird. Insbesondere wenn die Aussprache des Worts etwas gezogen wird, kann es oft vorkommen, daß beispielsweise die Aussprache des kurzen Lauts "a" die Anfangskonsonant- und Vokalprozessoren mehrfach triggert. Die Ausgänge dieser Prozessoren zeigen deshalb wiederholte Aussprachen dieses Lauts an, aber die Wort/Phrase-Bestimmungsschaltung 14 ist derart programmiert, daß sie ein derartiges mehrfaches Auftreten als den einzigen kurzen Laut "a" in einem Wort erkennt. Zusätzlich kann ein großer Anfangskonsonant-"t"-Ausgang bei einem gegebenen V-Triggersignal nach einem zur Verarbeitung des kurzen Vokals "a" auftreten. Die Wort/Phrase-Bestimmungsschaltung, die vorhergehende und folgende Ausgänge berücksichtigt, kann dann den Anfangskonsonant-Ausgang für "t" akzeptieren, um das Buchstabieren von "cat" zu beenden. Kurz gesagt kann die Bestimmungsschaltung 14 mit einer großen Vielfalt von Programmen ausgestattet sein, um von einer Sequenz von Phonembeurteilungen zu schließen, daß ein spezielles Wort gesprochen wurde. Da die spezifische Arbeitsweise der Bestimmungsschaltung nicht Teil der Erfindung ist, erübrigt sich eine weitergehende Erläuterung in diesem Zusammenhang.
- Die Trennung der Funktionen in Triggererzeugung und Phonemidentifizierung verringert den Rechenaufwand, weil die individualisierte Verarbeitung für jedes der verhältnismäßig großen Anzahl von möglichen Phonemen nur bei einem Triggersignal auftritt, aber nicht nach jedem Ausgang des Vorprozessors.
- Der zeitlich steuernde Vorprozessor 18 in FIG. 2 ist in FIG. 3 detailliert dargestellt. Ein digitalisierende Einrichtung 29 enthält eine 6,6-kHz Abtast-Halteschaltung und ein 12-Bit A/D-Wandler verarbeitet das Sprachsignal s(t), um eine Sequenz von digitalen Signalen an zu erzeugen, welche die Amplituden der verschiedenartigen Stichproben repräsentieren. Der nächste Block repräsentiert den Schritt der Trennung der Sequenz von an-Signalen in Untersequenzen von 111 Stichproben, welche sich mit einunddreißig Proben überlappen, so daß jede Untersequenz achtzig neue Proben enthält. Jede Untersequenz kann als Vektor bm mit Elementen bk,m angesehen werden. Da der mittlere oder Gleichstromwert des Eingangsstroms keine Information über den Wert zu der Spracherkennung trägt, wird der Mittelwert der Elemente in jedem Vektor durch die Schaltung 32 entfernt.
- In diesem Zusammenhang ist zu beachten, daß in der Zeichnung die unterschiedlichen Verfahren als durch getrennte Schaltungen durchgeführt dargestellt sind, wie es bei einem geeigneten fest verdrahteten System der Fall sein könnte. Diese Trennung in separate Schaltungen vereinfacht die Beschreibung. Es ist jedoch erkennbar, daß die meisten dieser Funktionen typischerweise durch eine verhältnismäßig kleine Anzahl gemeinsamer Hardwareelemente durchgeführt werden können. Speziell können die meisten Schritte normalerweise durch einen oder eine sehr kleine Anzahl von Mikroprozessoren durchgeführt werden.
- Der Grund für die Überlappung bei der durch den Block 30 durchgeführten Trennung wird offensichtlich, wenn der durch den Block 34 repräsentierte Schritt betrachtet wird. Dieser Schritt ist die Autokorrelation der Proben in jeder Untersequenz. Die Autokorrelation wird für zweiunddreißig Verzögerungen (eine davon von dem Wert Null) berechnet, so daß eine Überlappung von einunddreißig Proben benötigt wird. Für jeweils achtzig durch die digitalisierende Einrichtung 29 erzeugte Proben wird ein Vektor dm erzeugt. Jeder Vektor dm besteht aus zweiunddreißig Elementen dk,m, 0 ≤ k ≤ 31.
- Der Autokorrelationsschritt ist wie die meisten anderen Vorverarbeitungsschritte ein Schritt, der wahrscheinlich Daten eliminiert, die nicht wertvoll für die Identifizierung von Sprachelementen sind, der aber Daten aufrecht erhält, welche dies sind. Die spezielle Auswahl von Autokorrelation ist jedoch nicht kritisch. Bei einigen Versionen der Erfindung ist es beabsichtigt, eine diskrete Fourier-Transformation anstelle des Autokorrelationsschritts zu verwenden.
- Die Auswahl der Schritte zur Datenreduktion ist ein Kompromiss zwischen der Beibehaltung von Information und der Reduktion von Berechnungszeit.
- Der letztere Faktor bestimmt den nächsten Schritt, der durch den Block 36 repräsentiert wird, wobei einige individuelle Vektorelemente unverändert beibehalten werden, während andere durch Mittelwertbildung miteinander kombiniert werden, um den Vektor dm mit zweiunddreißig Elementen auf einen Vektor em mit zwölf Elementen zu reduzieren.
- Der nächste Block 38 in dem steuernden Vorprozessor repräsentiert die Berechnung der ersten Differenz. Auch in diesem Fall basiert die Auswahl eines Differenzschritts auf der Annahme, daß fast alle Information hinsichtlich der zeitlichen Steuerung in den ersten Differenzen beibehalten wird, während viel Information, die nicht zu der Bestimmung der zeitlichen Steuerung beiträgt, durch die Subtraktion eliminiert wird, welche diese Differenzen erzeugt. Obwohl angenommen wird, daß dies ein wertvoller Schritt bei der Steuerung der Vorverarbeitung ist, können Vorprozessoren mit Kombinationen von Schritten, welche die Berechnung der ersten Differenz nicht enthalten, erfolgreich die Lehre der Erfindung realisieren.
- Es wird ferner angenommen, daß eine unterschiedliche Behandlung von positiven Differenzen und negativen Differenzen bei der folgenden Verarbeitung vorteilhaft ist. Es wird deshalb ein durch den Block 40 repräsentierter Schritt vorgesehen, bei dem die positiven Elemente von den negativen Elementen getrennt werden, indem sie zu unterschiedlichen Vektorplätzen gebracht werden.
- Die Operationen in dem Block 40 repräsentieren nicht nur eine Trennung von Positiv und Negativ, sondern auch eine Geräuschverringerung. Um den Zweck dieser Operationen zu verstehen, ist zu beachten, daß das dargestellte Ausführungsbeispiel Gleit-Repräsentationen nach der ersten Berechnungsstufe in dem Block 32 benutzt, so daß ein ausreichender Bereich in den Repräsentationen enthalten ist, um den höchstmöglichen Ausgang des Autokorrelationsschritts zu umfassen, der etwa plus oder minus 3 x 10&sup8; (angenähert 80 x 2048 x 2048) beträgt. Mit einem Bereich dieser Größe können Elemente mit relativ kleinen Werten Geräusch repräsentieren. Bei diesem Ausführungsbeispiel werden Werte von 3200 oder weniger als kleine Werte angesehen. Diese kleinen Werte werden als Teil des Trennverfahrens des Blocks 40 eliminiert. Ein Eingangselement fk,m führt zu einem entsprechenden Ausgangselement gk,m wenn fk,m größer als 3200 ist. Sonst ist das entsprechende Element gk,m gleich Null. Ein anderes Element gk+12,m ist gleich -fk,m wenn fk,m negativer als -3200 ist. Sonst ist gk+12,m Null. Der Schritt des Blocks 40 erzeugt deshalb eine Vektor mit vierundzwanzig Elementen, wobei mindestens die Hälfte dieser Elemente gleich Null sind.
- Obwohl die Elemente mit der kleinsten Amplitude in dem Ausgang des Blocks 40 wahrscheinlich Geräusch repräsentieren, können kleine Änderungen in anderen Elementen mit geringer Amplitude wahrscheinlich mehr Information als Änderungen derselben absoluten Größe bei Elementen mit hoher Amplitude enthalten. Die Bedeutung liegt deshalb mit Wahrscheinlichkeit in den relativen, aber nicht den absoluten Größen der Änderungen. In Kenntnis dieser Annahme werden die Logarithmen der Vektorelemente in dem durch den Block 42 repräsentierten Schritt benutzt. Dabei wird der Logarithmus des Elementwerts geteilt durch 3200 benutzt, falls dieser Elementwert nicht Null ist, in welchem Fall der Ausgang des Blocks 42 für dieses Element Null ist. Es ist zu beachten, daß der Trennschritt des Blocks 40 nur zu Elementen führt, die positiv oder Null sind. Es besteht deshalb kein Bedarf im Block 42 mit dem (nicht definierten) Logarithmus einer negativen Zahl umzugehen.
- Der nächste Block 44 repräsentiert die Subtraktion des sich ändernden Mittelwerts der entsprechenden Elemente in den umgebenden dreizehn Vektoren von jedem Element. Auch dieser Schritt wird durchgeführt, weil angenommen wird, daß ein Schritt dieser Art Information von geringerer Bedeutung entfernt, während die bedeutsamste Information beibehalten wird. Speziell besteht der Zweck des den Ausgang des Blocks 44 enthaltenden Triggergenerators darin, daß die Stellen in der Sprache identifiziert werden, an denen bedeutsame Änderungen in den Sprachmustern vorhanden sind, wie beim Beginn oder Offset der Stimme. Es wird angenommen, daß die Subtraktion des gleitenden Durchschnitts derartige Änderungen verursacht, um eine deutliche Unterscheidung zu bewirken. Der Ausgangsvektor pm des Blocks 44 ist der Ausgang des zeitlich steuernden Vorprozessors 18 in FIG. 2.
- Der durch den Block 44 repräsentierte Schritt bewirkt eine Verzögerung von Sechs. Pm ist gleich hm-6, wenn dessen gleitende Durchschnitte entfernt sind. Eine Kompensation dafür und für andere Verzögerungen in der Triggererzeugung soll noch in Verbindung mit FIG. 6A erläutert werden.
- Der Triggergenerator 22 in FIG. 2 ist in FIG. 4 detaillierter dargestellt. Um das Auftreten von Sprachelementen zu identifizieren, also um Triggersignale zu erzeugen, wird der Ausgang des zeitlich steuernden Vorprozessors 18 mit Triggermatrizen V" und F" in dem Block 46 für Muster "modelliert", die vorher durch Beobachtung von bekannter Sprache als charakteristische Phoneme unterschiedlicher Klassen identifiziert wurden. Speziell für jeden Wert "m" wird die aus den acht Vektoren pm-7, ..., pm bestehende Matrix separate mit zwei Triggermatrizen V" und F" skalar multipliziert. Jede dieser Triggermatrizen hat ein separates Element, das jedem Element in der Matrix [p-7, ... , pm] entspricht, und jedes Triggermatrixelement repräsentiert das Ausmaß, in welchem sein entsprechendes element in [pm-7, ... , pm] das Auftreten eines Phonems der gegebenen Art anzeigt. Positive Elemente in der Triggermatrix ergeben positive Beiträge für das skalare Produkt, wenn eine Multiplikation mit positiven entsprechenden Elementen in der Datenmatrix erfolgt. In entsprechender Weise ergeben negative Elemente in der Triggermatrix positive Beiträge für das skalare Produkt, wenn eine Multiplikation mit negativen entsprechenden Elementen in der Datenmatrix erfolgt. Das Resultat der Multiplikation mit der V" Matrix ist ein Skalar qm, der anzeigt ob die Matrix[pm-7, ..., pm] von einem Vokal oder einem Anfangskonsonant herrührt, während das Resultat der Multiplikation mit der Matrix F" ein Skalar rm ist, der anzeigt ob diese Matrix aus einem Endkonsonanten resultierte. Aus Gründen, die bei der Erzeugung der Triggermatrix erläutert werden sollen, wird davon ausgegangen, daß durch den Block 46 eine Verzögerung von Drei eingeführt wird.
- In dem durch den Block 48 repräsentierten Schritt wird jeder der resultierenden Ausgänge qm und rm mit einem Schwellenwert von 4172 verglichen. Werte über der Schwelle repräsentieren das Auftreten eines Phonems dieser Klasse, während Werte, die gleich oder kleiner dem Schwellenwert sind, nicht als repräsentierend angesehen werden. Da von einer einzigen Aussprache eines gegebenen Phonems angenommen werden kann, daß dadurch mehrere Probengruppen in Folge zu einem Wert qm oder rm über dem Schwellenwert führen, wird jeder Wert qm oder rm, der den vorherbestimmten Schwellenwert überschreitet, mit dem nächsten vorhergehenden Wert und dem nächsten folgenden Wert verglichen, um zu bestimmen, ob der Wert qm oder rm ein lokales Maximum ist. Ein Triggersignal V oder F wird dann erzeugt, um den Zeitpunkt anzuzeigen, zu dem jedes lokale Maximum auftritt. Die Trigger V und F sind die beiden Ausgänge des Triggergenerators 22 in FIG.2.
- In dem Block 48 ist angedeutet, daß eine Verzögerung von einer Zeiteinheit bewirkt wird. Dies führt zu einer schließlich angesammelten Verzögerung von Zehn für den zeitlich steuerenden Vorprozessor und den Triggergenerator zusammen; sechs von der Subtraktion mit gleitendem Durchschnitt des Blocks 44, drei von der skalaren Multiplikation mit den Matrizen in dem Block 46, und eine von dem Schritt mit lokalem Maximum des Blocks 48. Die Trigger V und F werden deshalb um zehn Zeiteinheiten relativ zu dem Ausgang des Sprachelement-Vorprozessors verzögert, der im folgenden näher erläutert werden soll.
- FIG. 5 zeigt den Sprachelement-Vorprozessor 20 in FIG. 2 in detaillierter Darstellung. Wie der Vorprozessor 18 beginnt der Vorprozessor 20 mit dem Digitalisieren, dem Segmentieren und dem Entfernen des Mittelwerts, wie in den Blöcken 29,30 und 32 in FIG. 3 dargestellt ist. Diese entsprechen den ersten drei Blöcken in FIG. 3. Wie in Verbindung mit Block 56 noch näher erläutert werden soll, würde die Information, die in dem durch den Block 32 repräsentierten Schritt entfernt wird (also der Mittelwert), durch spätere Verarbeitung eliminiert, selbst wenn der durch den Block 32 repräsentierte Schritt nicht durchgeführt würde. Theoretisch ist deshalb der Schritt des Blocks 32 überflüssig. Dieser Schritt wird jedoch durchgeführt, weil die benutzte numerische Technik bei dem folgenden Schritt eine Beeinträchtigung der Genauigkeit erfährt, wenn eine verhältnismäßig große Gleichspannungs-(mittlere)-Komponente vorhanden ist.
- Der nächste Block 50 in FIG. 5 repräsentiert eine diskrete Fourier Transformation (DFT) mit 128 Stellen. Die schließlichen 17 Eingangsstellen (128 - 111 = 17) sind Null. Die Benutzung der Nullen, die von der Beibehaltung des Segmentationsprogramms herrührt, das in früheren Versionen der Vorrichtung benutzt wurde, bevor die Benutzung der DFT eingeführt wurde, wird wahrscheinlich bei einer weiteren Verfeinerung der Einrichtung eliminiert.
- Da der Eingang zu der DFT rein real ist, repräsentieren nur fündundsechzig der 128 komplexen Ausgänge der DFT nicht-redundante Daten. Deshalb ist der Ausgang des Blocks 50 ein komplexer Vektor dm mit fünfundsechzig Elementen.
- Der Block 52 repräsentiert die Erzeugung eines Leistungsspektrums. Speziell werden die im allgemeinen komplexen DFT-Werte dk,m mit ihrem komplexen konjugierten d*k,m multipliziert, um entsprechende reale Werte ek,m zu erzeugen. Dadurch wird die Menge der Daten an dieser Stelle um einen Faktor Zwei reduziert, während vermutlich die meisten der für eine Phonemidentifizierung benötigten Informationen beibehalten werden. Der nächste Block 54 ist ein "von Hann Fenster", um das Spektrum in konventioneller Weise zu glätten und die Seitenschleifen zu verringern, die von der Beendigung des Zeitbereichs herrühren. Wie in Block 56 erwähnt ist, wird der resultierende Vektor dann verarbeitet, um den Vektor fm mit fünfundsechzig Elementen zu einem Vektor mit sieben Elementen reduzieren.
- Bei dieser Verarbeitung werden die die niedrigsten Frequenzen repräsentierenden Elemente fallengelassen und Gruppen von anderen werden durch Mittelwertbildung kombiniert, um die folgende Rechenarbeit zu reduzieren. Es wird angenommen, daß die niedrigsten Frequenzkomponenten nicht für die Phonemidentifizierung notwendig sind, und daß die Mittelwertbildung der Frequenzkomponenten ein Kompromiss zwischen Beibehaltung von Information und Reduktion von Berechnung ist.
- Es wird ferner angenommen, daß gewisse zusätzliche Information von Wert in der durchschnittlichen Leistung des Signals vorhanden ist. Der Block 58 repräsentiert eine Berechnung der durchschnittlichen Leistung h m in der Gruppe von Proben, die zur Erzeugung der entsprechenden DFT des Blocks 50 benutzt werden. Diese mittlere Leistung hm wird dann in dem Block 60 mit dem Vektor mit sieben Elementen verknüpft, um den Vektor mit acht Elementen zu erhalten. Die in dem Schritt des Blocks 58 bestimmte mittlere Leistung hm enthält niederfrequente Komponenten, die in den Elementkombinationen des Blocks 56 eliminiert wurden. Da angenommen wird, daß diese niedrigsten Frequenzkomponenten keine für die Phonemidentifizierung wertvolle Information enthalten, wird in einigen Versionen dieser Erfindung beabsichtigt, die mittlere Leistung nur von denjenigen spektralen Komponenten zu berechnen, die zur Bildung der Elementkombinationen benutzt werden. In derartigen Versionen wird die mittlere Leistung von einer abgestuften (Hochpaß-) Version entweder des Leistungssprektrums oder des dem Fenster entsprechenden Leistungsspektrums berechnet. Die Phonemidentifizierungs- Information liegt wahrscheinlich in den relativen (also nicht in den absoluten) Größen der Variationen der individuellen Elemente pk,m des Vektors pm. Deshalb werden diese Elemente, die alle positiv oder Null sind, um Eins inkrementiert, und die Logarithmen der Resultate werden berechnet, wie in Block 62 angegeben ist. Die Inkrementierung um Eins bewährleistet, daß alle resultierenden Logarithmen Null oder positiv sind. Der resultierende Vektor mit acht Elementen ist der Ausgang des Sprachelement-Vorprozessors 20 in FIG. 2
- Der Zweck der Schaltungen des Sprachelement-Vorprozessors in FIG. 5 besteht darin, die ankommenden Daten auf eine bewältigbare Größe zu verringern. Das Resultat ist eine Repräsentation mit Datenreduktion des Eingangs, den die Sprachelement-Prozessoren 24, 26 und 28 in FIG. 2 hinsichtlich Mustern inspizieren, welche die individuellen Phoneme repräsentieren. FIG. 6A, 6B und 6C zeigen Details dieser Sprachelement-Prozessoren.
- Die Blöcke 64,66 und 68 in FIG. 6A repräsentieren Funktionen, die durch Schaltungen 24,26 bzw. 28 in FIG. 2 durchgeführt werden. Speziell repräsentiert jeder der Blöcke 64 und 68 die Anordnung eines Empfangsfelds, das ist eine Gruppe von neun aufeinanderfolgenden Vektoren für jeden Wert m , für den der Triggergenerator 22 in FIG. 2 ein V-Triggersignal erzeugt hat. Der Block 68 repräsentiert die Anordnung eines Empfangsfelds für jeden Wert m, für den der Triggergenerator 22 in FIG. 2 ein F-Triggersignal erzeugt hat.
- Wie oben angedeutet wurde, sind viele der beschriebenen Schritte, wie die Erzeugung einer diskreten Fourier Transformation, die Normierung etc. konventionell durch andere Spracherkennungssysteme durchgeführte Schritte, obwohl dabei nicht dieselbe Kombination vorgesehen ist. Zusätzlich haben einige der noch zu beschreibenden Schritte eine gewisse Ähnlichkeit mit der Mustererkennung bei vielen existierenden Systemen. Gemäß der Erfindung werden jedoch diese weiteren Schritte nur auf die Empfangsfelder ausgeübt. Die Empfangsfeldanordnung entsprechend den Blöcken 64,66 und 68 eliminieren alle anderen Vektoren von einer weiteren Verarbeitung. Dadurch wird der Gesamtverarbeitungsaufwand verringert und es wird angenommen, daß dies zusätzlich zur Genauigkeit der Phonemidentifizierung beiträgt.
- Die Extraktionsschritte 64,66 und 68 sind ähnlich zueinander. Wenn der Triggergenerator 22 ein V-Triggersignal für das Zeitelement m erzeugt, montiert der durch den Block 64 repräsentierte Extraktionsschritt ein Empfangsfeld, das aus den neun Vektoren qm-16, ... pm-8 besteht, während der durch den Block 66 repräsentierte Extraktionsschritt ein Empfangsfeld bildet, das aus den neun Vektoren qm-13. ..., qm-5 besteht. Wenn der Triggergenerator 22 ein F-Triggersignal für das Zeitelement m erzeugt, bildet der Extraktionsschritt entsprechend dem Block 68 ein Empfangsfeld, das aus den neun Vektoren qm-12, ... , qm-4 besteht. Wenn der Triggergenerator 22 kein V- oder F-Triggersignal während eines speziellen Zeitelements m erzeugt, wird kein Empfangsfeld für dieses Zeitelement gebildet.
- Ein großer Anteil der Verzögerung zwischen dem Auftreten eines V- oder F-Triggersignals und der Gruppe von Vektoren die in Abhängigkeit davon gebildet wurden, ist Kompensation für die zehn Zeiteinheiten, um die die V- und F-Triggersignale relativ zu den Ausgängen des Vorprozessors 20 verzögert werden. Die Differenzen zwischen den Verzögerungen, die durch die unterschiedlichen Schaltungen 64,66 und 68 verursacht werden, resultieren von Erfahrungen mit den Differenzen bei der zeitlichen Steuerung zwischen den Teilen der am meisten charakteristischen Sprache der Identitäten der Phoneme.
- Mit zwei später zu erläuternden Ausnahmen ist der Rest der Komponenten jeder der Phoneme identifizierenden Schaltungen 24,26 und 28 identisch zu denjenigen der anderen beiden, weshalb FIG. 6A, 6B und 6C lediglich die restlichen Komponenten der Schaltung 24 zeigen. Obwohl das System mit getrennten "Schaltungen" beschrieben wird, können diese Funktionen typischerweise durch einen gemeinsamen Mikroprozessor zur Durchführung entsprechender Programme durchgeführt werden.
- Sobald das Empfangsfeld ausgewählt ist, wird ein weiterer Schritt durchgeführt, um eine Reduktion von Daten und der dazugehörigen Berechnungsarbeit durchzuführen. Speziell werden die neun Vektoren des Empfangsfelds in Dreiergruppen aufgeteilt und entsprechende Elemente in den drei Vektoren einer Gruppe werden gemittelt, so daß drei Vektoren mit acht Elementen resultieren. Diese drei Vektoren werden verknüpft, um einen einzigen Vektor rn mit vierundzwanzig Elementen von jedem Empfangsfeld zu erzeugen. Der Block 70 repräsentiert die Mittelwertbildung und die Verknüpfung.
- Der Vektorindex ändert sich von m zu n in dem Block 70, um die Datenelimination zu reflektieren, die durch den Schritt des Blocks 64 (Empfangsfeld-Extraktion) durchgeführt wird. Weil dieser Schritt nur Empfangsfelder für diejenigen Werte von m bildet, für die ein V-Triggersignal erzeugt wurde, wird der Block 70 nicht wirksam für ein Empfangsfeld für jeden Wert von m, so daß "Löcher" in der Sequenz der Werte von m vorhanden sind. Der Index n repräsentiert eine Umnumerierung, welche die "Löcher" eliminiert.
- Wie in Verbindung mit der Beschreibung des Entwicklungssystems noch näher erläutert werden soll, werden gewisse konstante Vektoren und Matrizen für das Produktsystem der FIG. 1 - 6 von einem Entwicklungssystem erhalten, das einen großen Vorrat von Sprachproben verarbeitet, die durch einen oder mehrere Sprecher erzeugt wurden. Zur Erzeugung der Konstanten unterwirft das Entwicklungssystem die gesamte Sprache in dem Vorrat allen Verarbeitungsschritten, die bisher beschrieben wurden, so daß eine große Anzahl von Vektoren rn erzeugt wird, welche denjenigen entsprechen, die in dem Schritt des Blocks 70 erzeugt wurden. Das Entwicklungssystem berechnet die mittlere (mu) und die Standardabweichung (sigma) jedes der Elemente von allen diesen Vektoren rn und diese Konstanten werden in dem Produktsystem von FIG. 1 - 6 dazu benutzt, jedes der Elemente des betreffenden Vektors rn durch Subtraktion des Mittelwerts und Division des Resultats durch die Standardabweichung zu normieren, wie aus Block 72 ersichtlich ist. Das Resultat ist ein normierter Vektor sn. Diese Normierung wird durchgeführt, weil es wahrscheinlich ist, daß in einer durch ein Vektorelement repräsentierten Größe nicht der Wert in einem absoluten Sinn wichtig ist, sondern daß es vielmehr wichtig ist, wie die Abweichung von dem Mittelwert sich mit der Standardabweichung der entsprechenden Elemente in allen Vektoren vergleichen läßt. Dies bedeutet, daß eine kleine Änderung einer Größe, die nur kleinen Änderungen unterworfen wird, wahrscheinlich wichtiger als eine Änderung einer ähnlichen Größe mit einem Betrag ist, der sich innerhalb eines größeren Bereichs ändert. Ferner reduziert die Normierung den dynamischen Berechnungsbereich, der für die folgende Verarbeitung benötigt wird.
- Wie im folgenden noch deutlicher wird, wird die Phonemidentifizierung als ein Modell des menschlichen Prozesses zur Erkennung von Phonemen konstruiert. Es werden Observationen von Menschen benutzt, die einer aufgezeichneten oder gerade gesprochenen Sprache zuhören und es werden Abschnitte der Sprache mit den Phonemen versehen, welche sie erkennen. Im einen Sinne ist der Eingang zu dem"System" durch die Druckwellen gegeben, welche den durch den Menschen gehörten Laut bilden, während der Ausgang Phonemsymbole sind, mit denen er kurze Passagen des Lauts etikettiert. Beim "Trainieren" in einer Entwicklungsvorrichtung wie derjenigen, die in Verbindung mit den FIG. 7 - 11 beschrieben werden soll, wird das menschliche "System" durch Korrelation des Ausgangs mit dem Eingang modelliert.
- Um die Korrelation durchführen zu können, ist jedoch für das Modellierungsverfahren (wie für alle anderen der Anmelderin bekannten Spracherkennungsverfahren) ein beträchtliches Ausmaß von Datenreaktion erforderlich, bevor das Korrelationsverfahren begonnen wird. Dies bedeutet, daß das Korrelationsverfahren nicht die Phonemsymbole (oder in anderen Systemen, Symbole für Worte oder Phrasen) mit den Werten der Druckamplituden direkt beinhaltet, welche den Laut bilden. Statt dessen werden die Ausganssymbole mit den Resultaten einer Serie von Datenreduktions-Schritten korreliert, wie beispielsweise Block 72 von FIG. 6A zu entnehmen ist. Bei den meisten früheren Systemen wird dann das Training durch korrelierende Phoneme, Worte oder Phrasen mit den Elementen eines Vektors wie des Vektors sn durchgeführt, der durch die Serie von Datenreduktions-Schritten erzeugt wird.
- Im Gegensatz dazu führt das Entwicklungssystem in den FIG. 7-11 weitere Schritte vor der Korrelation durch, um das modellierte System direkter als nichtlineares System zu behandeln. Es wurde festgestellt, daß eine größere Genauigkeit erzielt wird, wenn anstelle einer Korrelation der Phoneme lediglich mit den Elementen von sn, die Phoneme mit einer nichtlinearen Repräsentation korreliert werden, die sowohl aus diesen Elementen als auch ihren Produkten und Potenzen bestehen, um die Parameter zu bestimmen, die in dem Produktsystem der FIG. 1-6 zu benutzen sind. Der erste dieser Schritte wird in dem Produktsystem durch den Block 74 reflektiert, welcher die Bildung des äußeren Produkts von sn repräsentiert, also die Bildung aller gesonderten Produkte der Elemente von sn. Der Block 75 zeigt, daß die Vektor sn mit seinem äußeren Produkt verknüft wird, um eine nichtlineare Repräsentation zu erzeugen. Diese nichtlineare Repräsentation ist ein Vektor un mit 324 Elementen.
- Die Verwendung des äußeren Produkts an dieser Stelle der Verarbeitung hat zwei Effekte. Erstens werden Terme zweiter Ordnung für das folgende Modellierverfahren verfügbar, wodurch das folgende Modellierverfahren auf die Elemente von sn nichtlinear ansprechen kann und so das zweifelsfrei nichtlineare menschliche "System" genauer nachgeahmt werden kann. Dadurch wird die Genauigkeit im Vergleich zu einem Modellierverfahren erhöht, für das die Eingangsdaten nicht diese Nichtlinearität aufweisen. Zweitens erhöht die Verwendung des äußeren Produkts die Größe des Vektors beträchtlich, der zu dem folgenden Modellierverfahren weitergeleitet wird. Wenn beispielsweise die Größe des Vektoreingangs zu dem Block 74 für das äußere Produkt vierundzwanzig beträgt, beträgt die Größe des Vektorausgangs des Blocks 75 324.
- Es wurde festgestellt, daß nach einem gewissen Punkt Erhöhungen der Länge des Vektoreingangs zu dem Schritt mit dem äußeren Produkt die Genauigkeit des Entwicklungssystems verbessern, aber die Genauigkeit des Produktsystems verringern. Der Grund dafür ist darin zu sehen, daß eine Erhöhung der Größe des äußeren Produkts verursacht, daß das Entwicklungssystem genauer die Eigenschaften der Sprache modelliert, die in der Datenbasis enthalten ist, welche das Entwicklungssystem für das "Training" benutzt. Wenn die Größe des äußeren Produkts stark ansteigt, werden die Eigenschaften der einzelnen Phoneme der Sprache in der durch das Entwicklungssystem benutzten Datenbasis mit großer Genauigkeit modelliert. Aufgrund von Unterschieden zwischen Sprechern und von Unterschieden in der Sprache eines einzigen Sprechers sind die Eigenschaften der einzelnen Phoneme der dem Produktsystem zugeführten Sprache nahezu mit Sicherheit nicht diejenigen in der Entwicklungs-Datenbasis. Die große Anzahl von Parametern, die bei dem Modellierungsverfahren zur Erkennung von Mustern in der Sprache benutzt werden, sind spezifisch für die Datenbasis des Entwicklungssystems, indizieren aber nicht neue Sprache. Die Genauigkeit des Produktsystems wird deshalb verschlechtert, wenn die Anzahl von Parametern eine gewisse Größe überschreitet. Die Größe des Vektoreingangs zu dem Block 74 wurde im Hinblick auf diese Betrachtung ausgewählt, um den besten Kompromiss zu erzielen.
- Der Bock 76 repräsentiert die Normierung des resultierenden Vektors un. Diese Normierung beinhaltet die Entfernung des Mittelwerts der Elemente des einzelnen Vektors un und Division durch den Mittelwert ihrer absoluten Werte. Grob angenähert bedeutet dies, daß laute Sprache und leise Sprache angeglichen werden. Zum Zwecke der Phonemidentifizierung beinhaltet die Lautstärke der Sprache keine Information. Die Auswahl des Mittelwerts der absoluten Werte für die Normierung von Vektor zu Vektor ist nicht kritisch. Es ist sogar beabsichtigt, in einigen Ausführungsbeispielen diesen Mittelwert durch die Standardabweichung der Vektorelemente zu ersetzen.
- An dieser Stelle des Verfahrens könnten die Daten direkt in das Modellierungsverfahren eintreten. Tatsächlich wurden einige Ausführungsbeispiele realisiert. Es wurde jedoch festgestellt, daß eine größere Genauigkeit erzielt werden kann, wenn ein weiteres ausmaß der Nichtlinearität hinzugefügt wird, indem wieder das äußere Produkt gebildet wird. Die nächste Berechnung eines äußeren Produkts ergibt Ausdrücke dritter und vierter Ordnung, da das Resultat aus Paaren von Produkten von linearen Termen und Termen zweiter Ordnung besteht. Der zweite Schritte für das äußere Produkt muß mit einer gewissen Sorgfalt durchgeführt werden, da bei einer einfachen Anwendung des geometrischen Ansteigens der Größe des Ausgangsvektors die Genauigkeit des Produktsystems stark verringert würde.
- FIG. 6B zeigt Schritte, die der Bildung des weiteren äußeren Produkts zugeordnet sind. Gewöhnlich ist eine gewisse Korrelation zwischen den Elementen des Vektors vn vorhanden, was bedeutet, daß auf einer statistischen Basis eine bessere als eine Zufallsvoraussage des Werts eines gegebenen Elements des Vektors vn erfolgen kann, wenn die Werte der anderen Elemente bekannt sind. Eine mathematische Modellierung ist jedoch effektiver, wenn diese auf nicht korrelierten Daten durchgeführt wird. Wie in Verbindung mit der Diskussion des Entwicklungssystems beschrieben werden soll, verarbeitet das Entwicklungssystem eine Entwicklungsdatenbasis, um eine Dekorrelationsmatrix D zu erzeugen, die vn in einen neuen Vektor wn transformiert, dessen Elemente nicht miteinander korreliert sind.
- Die spezielle Dekorrelationsmatrix D im Block 78 löst den Vektor vn in Eigenvektoren einer Kovarianzmatrix auf, die von den Daten der Entwicklungsdatembasis erzeugt wurde, was bedeutet, daß jedes Element von wn die Komponente von vn repräsentiert, die in der Richtung eines unterschiedlichen Eigenvektors liegt. Es wird angenommen, daß die Elemente von wn , die den höchsten Eigenwerten zugeordnet sind, diejenigen mit der größten Bedeutung für Phonemerkennung sind, während die Elemente, die den niedrigsten Eigenwerten zugeordnet sind, die am wenigsten bedeutsamen sind.
- Bei einem durch den Block 80 repräsentierten Schritt werden nur die zwanzig Elemente von wn ausgewählt, die den zwanzig höchsten Eigenwerten zugeordnet sind, welche durch das Entwicklungssystem berechnet werden (was bedeutet, daß nur die zwanzig "wichtigsten" Elemente von wn ausgewählt werden), und es werden die äußeren Produkte zn dieser zwanzig Elemente gebildet, wie dem Block 82 zu entnehmen ist. Bei einem durch den Block 84 repräsentierten Schritt wird ein Vektor xn mit 170 Elementen aus wn gebildet, indem die Elemente abgelegt werden, die den 154 niedrigsten Eigenwerten zugeordnet sind. xn wird mit zn verknüpft, um einen neuen Vektor an mit 380 Elementen zu bilden (siehe Block 86). Dadurch wird Extra-Nichtlinearität eingeführt, was aber ohne zu große Verlängerung des resultierenden Vektors aufgrund einer wohl überlegten Auswahl von Vektorelementen erfolgt.
- In FIG. 6C repräsentiert der Block 88 Dekorrelation und Modellierung, gerichtet auf ein spezielles Phonem, nämlich den Lauf "h". Mathematisch besteht dieser Schritt aus einer skalaren Multiplikation des Vektors an mit einem einzigen Vektor Kh". Kh" besteht aus einer Mehrzahl von Elementen, wovon eines jedem der Elemente des Vektors an entspricht. Jedes Element von Kh" repräsentiert das Ausmaß, in dem das entsprechende Element von an für das "h"-Phonem charakteristisch ist. Kh" wird während des Trainingsverfahrens von einer Dekorrelationsmatrix und einem "Kern"-Vektor erzeugt und das Produkt von an und Kh" ist mathematisch äquivalent mit einer anfänglichen Multiplikation von an mit der Dekorrelationsmatrix, gefolgt von einer skalaren Multiplikation des resultierenden dekorrelierten Vektors mit dem Kern.
- Wie bereits erwähnt wurde, kann ein großer Anteil des Vorteils der nicht linearen Modellierung ohne die zweite Serie von Schritten mit äußerem Produkt entsprechend den Blöcken 80-86 in FIG. 6B erzielt werden. In einem derartigen vereinfachten System ist die zur Bildung von K benutzte Dekorrelationsmatrix die gleiche wie die Matrix D, wie in Block 78 gezeigt ist, weshalb ein separater Dekorrelationsschritt 78 nicht benötigt wird und der Ausgang des Blocks 76 direkt zu dem Block 88 gelangt.
- Der Skalar Xhn, der von dem Schritt entsprechend Block 88 resultiert, bezieht sich auf die Wahrscheinlichkeit, daß der Laut, der den Vektor an verursachte, ein "h"-Laut war. Block 90 repräsentiert die Umwandlung von Xhn in ein "Wahrscheinlichkeitsverhältnis", was eine Größe ist, welche direkter diese Wahrscheinlichkeit repräsentiert. Bei der Prüfung und Suche nach Worten oder Phrasen multipliziert die Bestimmungsschaltung 14 (FIG. 1) im Ergebnis die Wahrscheinlichkeitsverhältnisse der Komponenten-Phoneme eines zu prüfenden Worts oder einer zu prüfenden Phrase, um zu einer Wahrscheinlichkeit für dieses Wort oder diese Phrase zu gelangen. Um die Berechnung zu vereinfachen, berechnet der Schritt entsprechend Block 90 den Logarithmus Yhn des Wahrscheinlichkeitsverhältnisses und liefert Yhn zu der Bestimmungsschaltung 14, die dann durch Addition "multipliziert". Es ist dieser Logarithmus, der als "Beurteilung" bezeichnet wird.
- Yhn wird als der Wert eines Polynoms in Xhn berechnet, dessen Konstante während des Entwicklungsverfahrens erzeugt werden und die für den Laut "h" charakteristisch sind. Speziell haben die Polynomkonstanten die Werte in Block 90 in Ausdrücken von (1) den Mittelwerten (mu) und den Standardabweichungen (sigma), etikettiert mit dem Index Null, von Xhn-Werten in den Entwicklungs-("Training")-Sprachdaten, die von den extrahierten Aufnahmefeldern resultieren, welche nicht das Phonem "h" enthalten, und (2) die Mittelwerte und Standardabweichungen, die mit dem Index 1 etikettiert sind, der Xhn-Werte in den Entwicklungs-Sprachdaten, die von den extrahierten Aufnahmefeldern resultieren, welche das Phonem "h" enthalten.
- Die Verarbeitung von Vokalen und von Endkonsonanten entspricht der Darstellung in FIG. 6-C für Anfangskonsonanten. Neben den Unterschieden bei der Aufnahmefeld-Extraktion unterscheidet sich die Verarbeitung für Vokale und Endkonsonanten von derjenigen von Anfangskonsonanten in zweierlei Hinsicht. Erstens sind Unterschiede bei den in den Blöcken 72 und 78 benutzten Parametern für die Normierung mit fixiertem Parameter und die Dekorrelation vorhanden, weil diese Parameter von dem Vokal- und Endkonsonant-Untergruppen der Datenbasis erzeugt werden, aber nicht von den Anfangskonsonant-Untergruppen. Zweitens wird die Elementauswahl entsprechend Block 80 und 84 unterschiedlich aus Gründen, die bei der Diskussion des Entwicklungssystems noch erläutert werden sollen.
- Von den Ausgängen des Blocks 80 und entsprechender Blöcke für andere Phoneme, führt die Bestimmungsschaltung 14 ein Suchprogramm durch, um die wahrscheinlich gesprochenen Worte und Phrasen zu finden. Wie bereits erwähnt wurde, soll die Arbeitsweise der Wort/Phrasen-Bestimmungsschaltung 14 nicht detailliert erläutert werden, da die Erfindung die Identifizierung der Phoneme betrifft. Deshalb ist damit die Beschreibung des Produktsystems vollständig.
- Es soll nun erläutert werden, in welcher Weise man zu den unterschiedlichen Parametern gelangt, die in dem Produktsystem in FIG. 1-6 benutzt werden. Das Produktsystem in den FIG. 1-6 wirkt auf eine unbekannte Sprache unter Verwendung vorherbestimmter Normierungsvektoren und Dekorrelations- und Modellierungsmatrizen, um die enthaltenen Phoneme zu bestimmen. Das Entwicklungssystem in den FIG. 7-11 wirkt auf bekannte Sprache und die zugeordneten Phoneme, um die Dekorrelations- und Modellierungsmatrizen zu berechnen.
- Die FIG. 7A - D betreffen einen Teil der Vorrichtung des Entwicklungssystems zur Berechnung der V"- und F"-Triggermatrizen, die bei dem Schritt entsprechend Block 46 in FIG. 4 benutzt werden, um die V- und F-Triggersignale zu erzeugen. Das Entwicklungssystem benutzt eine große Datenbasis bekannter Sprache und unterwirft diese einer Vorverarbeitung, die identisch mit derjenigen in FIG. 3 ist. Der Ausgang dieser Vorverarbeitung besteht aus einer Serie von M Vektoren mit vierundzwanzig Elementen. Der Zweck des Verfahrens in FIG. 7A und 7B besteht darin, ein mathematisches Modell des menschlichen "Systems" von Phonemerkennung zu erhalten, um eine Matrix zu erzeugen, deren skalare Multiplikation mit einer Sequenz von pm-Vektoren einen Skalar (qm oder rm in FIG. 4) erzeugt, der für die Wahrscheinlichkeit kennzeichnend ist, daß ein Phonem der gegebenen Klasse auftrat.
- Im allgemeinen ist eine Korrelation zwischen Elementen der Vektoren vorhanden. Wie bereits erwähnt wurde, ergibt sich jedoch das beste Modell, falls die Elemente der Eingänge nicht korreliert sind. Anstelle der Verwendung von nicht aufgearbeiteten Vektoren pm berechnet deshalb die Vorrichtung in FIG. 7A ein Trigger-Dekorrelationsmatrix Dt entsprechend Block 92, welche die Vektoren pm in neue Vektoren qm transformiert, deren Elemente keine Korrelation miteinander oder mit den Elementen des vorhergehenden Vektors qm-1 in der Sequenz aufweisen. Der Block 94 repräsentiert die Arbeitsweise der Dekorrelation durch Multiplikation der Dekorrelationsmatrix Dt durch einen Vektor mit auchtundvierzig Elementen, welcher aus der Verknüpfung von pm mit pm-1 besteht. (Es ist zu beachten, daß der Schritt des Blocks 92 auf alle Entwicklungsdaten durchgeführt werden muß, bevor der Schritt des Blocks 94 für irgend welche dieser Daten durchgeführt werden kann). Das Resultat ist ein Vektor qm mit vierundzwanzig Elementen.
- Die nächsten drei Blöcke repräsentieren das Kernstück der Korrelation des Systemeingangs mit dem Systemausgang, um das beste lineare Modell zu erhalten. Der Block 96 bildet Sequenzen mit sieben Vektoren von Vektoren qm in Matrizen rm, welche der Eingang zu dem System sind, oder zumindest eine dekorrelierte Version dieses Eingangs. Dieser Eingang wird in zwei parallelen Kernbildungsstufen durchgeführt, wie durch die Blöcke 98 und 100 in FIG. 7B repräsentiert wird. Bei diesen Kernbildungsschritten ist der Eingang rm mit dem Ausgang korreliert, der aus Etiketten Lvm und LFm besteht, die in dem Schritt des Blocks 102 erzeugt wurden. Bei diesem Schritt hört ein trainierter menschlicher Zuhörer die Sprache von der jeder Vektor pm erzeugt wurde und etikettiert diesen mit einer Anzeige darüber, ob diese Sprache in einem Vokal oder Anfangskonsonant enthalten ist oder nicht. Der Zuhörer liefert auch ein Etikett um anzuzeigen, ob diese Sprache in einem Endkonsonant vorhanden ist oder nicht. Das Resultat ist eine Sequenz von Werten Lmv und LmF. Wie im Block 102 angegeben ist, ist jeder dieser Werte entweder 1 oder 0, was davon abhängt, ob ein Phonem dieses speziellen Typs in der zugeordneten Sprache enthalten war. Diese Werte sind der Ausgang des zu modellierenden Systems und die durch die Blöcke 98 und 100 repräsentierten Kernbildungsschritte korrelieren diese Ausgänge mit den Eingängen rm.
- Der Block 98 repräsentiert deshalb die Bildung einer Matrix V mit einem Element für jedes Element in der 24 7 Matrix rm. Um ein gegebenes Element der Matrix V zu erzeugen, wird das entsprechende Element in jeder Eingangsmatrix rm mit einer Größe multipliziert, die aus der Differenz zwischen dem Etikett Lmv für diesen Vektor und dem Mittelwert von Lmv'-Werten besteht. Die resultierenden Werte werden für alle Entwicklungsdaten addiert und durch die gesamte Anzahl von Eingangsvektoren dividiert. Das Resultat ist der Wert Vk,l für den Kern. Der Kern F wird in entsprechender Weise erzeugt, aber der zur Herstellung des F-Kerns benutzte Ausgang ist LmF anstelle von Lmv.
- Die Subtraktion der Mittelwerte maximiert den numerischen Bereich in dem der lineare Teil des Kerns ausgedrückt werden kann, und die resultierende Änderung in den Ausgängen V und F des Modellierungsverfahrens verursacht kein Problem, da der Schwellenwert im Block 48 in FIG. 4 derart eingestellt ist, daß der Mittelwert entfernt wird.
- Die Benutzung der gleichen Matrix zur Erzeugung eines gemeinsamen Triggers sowohl für den Anfangskonsonant als auch für die Vokalphoneme resultiert aus frühen Studien, bei denen die Verwendung separater Matrizen anfänglich ins Auge gefaßt wurde. Eine Inspektion der für die beiden Trigger benutzten Matrizen ergab, daß sie im wesentlichen gleich aber zeitlich versetzt waren. Daraus wurde geschlossen, daß bei einer geeigneten Zeitverschiebung eine einzige Triggermatrix für beide Trigger benutzt werden kann, wodurch ein gewisser Rechenaufwand vermieden werden kann.
- Der Block 104 in FIG. 7C repräsentiert die Normierung der Kerne V und F durch Subtraktion von jedem Kernelement des Mittelwerts aller Elemente des Kerns, zu denen dieses Element gehört, sowie durch Division der Resultate für jeden Kern durch die Standardabweichung dieser Elemente dieses Kerns. Diese Kernnormierung ist nicht erforderlich, wurde aber aufgrund numerischer Überlegungen vorgesehen. Die Mittelwerte der Kerne sollten bereits klein sein, da die Mittelwerte sowohl der Eingänge als auch der Ausgänge in den Kernbildungsschritten Null oder nahezu Null sind. Die Mittelwerte der Eingänge sind wegen der Entfernung des gleitenden Mittelwerts in dem Block 44 von FIG. 3 nahezu Null. Die Breite des Fensters des gleitenden Durchschnitts ist nahezu doppelt so große wie diejenige der Kerne. Die Ausgänge werden Null gemacht, indem entsprechend den obigen Ausführungen die Mittelwerte der Etikette entfernt werden, wenn die Kerne gebildet werden.
- Die Matrizen V' und F', die aus der Normierung des Blocks 104 resultieren, werden dann mit der Dekorrelationsmatrix Dt kombiniert, wie in Block 106 in FIG. 7D angegeben ist, um zwei neue modellierende Matrizen V" und F" zu erzeugen.
- Die resultierenden Matrizen V" und F" werden bei dem Schritt in dem Block 46 von FIG: 4 benutzt, um zwei Funktionen gleichzeitig durchzuführen. Die erste Funktion besteht in der Transformation der Vektoren zu den nicht korrelierten Vektoren qm in FIG. 7A, wonach die Entwicklungsmodellierung durchgeführt wurde. Als zweites wird der resultierende nicht korrelierte Vektor mit den normierten Kernen V' und F' normiert, um anzuzeigen, ob Phoneme der angezeigten Art aufgetreten sind. Obwohl die Kernbildungsschritte 98 und 100 von FIG. 7B auf Sequenzen von nur sieben nicht korrelierten Vektoren ausgeübt werden, wird als Folge davon der Modellierungsschritt 46 von FIG. 4 auf Sequenzen von acht Vektoren pm ausgeübt, weil jeder der sieben dekorrelierten Vektoren nicht nur von dem entsprechenden korrelierten Vektor sondern auch von dem vorhergehenden korrelierten Vektor berechnet wird. Aus diesem Grunde sind die Werte V' und F', die als Eingang zur Stufe 106 dienen, 24 x 7 Matrizen, während die entsprechenden Ausgänge des Schritts 106 24 x 8 Matrizen sind.
- Es ist jetzt verständlich, warum die Verzögerung des Blocks 46 in FIG. 4 als Drei definiert wurde. Dieser Block repräsentiert den Schritt der Erzeugung der Ausgänge qm und rm durch skalare Multiplikation der Triggermatrizen mit einer Sequenz von Eingangsvektoren pm-7 ... pm. Dieser Schritt erzeugt implizit eine dekorrelierte Version der Sequenz pm-6 ... pm und modelliert diese dekorrelierte Sequenz. Da diese dekorrelierte Sequenz auf pm-3 zentriert ist, wird die Verzögerung der Stufe 46 als Drei angesehen.
- Die Berechnung der Dekorrelationsmatrix entsprechend dem Block 92 von FIG. 7A ist detaillierter in FIG. 8 dargestellt. In FIG. 8A repräsentiert der Block 108 die Berechnung eines Satzes von Kovarianzen. Für jedem Vektor in den Entwicklungsdaten wird die Kovarianz zwischen jedem der vierundzwanzig Elementen von pm und jedem der anderen Elemente von berechnet, wie auch die Kovarianz zwischen jedem Element von pm und jedem der Elemente des vorhergehenden Vektors pm-1. Diese Kovarianzen werden in einer Vektorgleichung in Block 110 von FIG. 8B benutzt, um die beste Vorhersage des Werts des 1-ten Elements von pm auf der Basis aller Elemente des vorhergehenden Vektors pm-1 und aller Elemente mit niedrigerem Index desselben Vektors zu bestimmen. Der Vektor a&sub1; besteht aus Koeffizienten für die beste Vorhersage des 1-ten Elements von auf der Basis aller Elemente von und aller Elemente mit niedrigerem Index von pm. Wenn also p1-1,m und alle Elemente von pm mit niedrigerem Index mit pm-1 zur Bildung eines neuen Vektors verknüpft werden, wird das Skalarprodukt von a&sub1; und dem neuen Vektor zur besten Vorhersage von
- Ein Dekorrelationsvektor erzeugt bei einer skalaren Multiplikation mit einem Vektor, der aus der Verknüpfung von pm-1 mit p1,m und allen Elementen von mit niedrigerem Index besteht, einen Wert, der proportional zu der Differenz zwischen p1,m und der besten Vorhersage von p1,m ist. Der durch den Block 112 in FIG. 8C repräsentierte Schritt ändert jeden Vorhersagevektor a&sub1;, der 1 + 24 Elemente aufweist, zu einem Dekorrelationsvektor a'&sub1;, der 1 + 25 Elemente aufweist, entsprechend den in diesem Block enthaltenen Gleichungen, welche eine Division durch einen Gewinnterm g&sub1; enthalten. Jeder der dekorrelierenden Vektoren a'&sub1; erzeugt ein Element eines dekorrelierten Vektors, wenn eine Multiplikation mit einer Untergruppe der Elemente in der Verknüpfung der korrelierten Vektoren pm und pm-1 erfolgt. Der Block 114 in FIG. 8D repräsentiert eine Verlängerung jedes Dekorrelationsvektors a'&sub1; mit Nullelementen, um einen neuen Vektor zu erzeugen, der dieselben Elemente gibt, wenn eine Multiplikation mit der Verknüpfung aller pm und pm-1 erfolgt. Die verlängerten Vektoren werden dann transponiert, um die Trigger-Dekorrelationsmatrix Dt zu bilden. Wegen der Division mit dem Gewinn g&sub1; im Block 112, ergibt die Verwendung der Dekorrelationsmatrix Dt im Block 94 von FIG. 7A einen Ausgangsvektor qm, dessen Elemente alle eine Einheits-Varianz in der Zeit haben. Die Kernbildungsschritte in den Blöcken 98 und 100 in FIG. 7B hängen davon ab, daß die Varianzen Eins sind.
- In den FIg. 9,10 und 11 sind die Teile des Entwicklungssystems dargestellt, welche die Matrizen zur Erkennung der einzelnen Phoneme wie des Lauts "h" erzeugen. Die anfänglichen Stufen der Verarbeitung in dem Entwicklungssystem sind dieselben wie diejenigen , die in dem Produktsystem benutzt wurden, was bedeutet, daß die bekannte Sprache den in FIG. 5 und 6A dargestellten Schritten unterworfen wird, welche in dem Produktsystem für eine anfängliche Sprachelement-Verarbeitung benutzt werden. Es ist zu beachten, daß deshalb diese Verarbeitung die vorhergehende Berechnung der Matrizen zur Erzeugung der V- und F-Trigger erfordert. Die vn-Werte werden nur von denjenigen Gruppen von Proben genommen, die durch die V- oder F- Trigger als "Aufnahmefeld" identifiziert wurden.
- Für den Rest der Diskussion soll agenommen werden, daß die zu erzeugende Matrix zur Anzeige benutzt werden soll, ob das Phonem "h" vorhanden ist. Deshalb sind die Werte von vn diejenigen, die von dem Aufnahmefeldern abgeleitet wurden, die durch das V(Anfangskonsonant oder Vokal)- Triggersignal identifiziert wurden. Von diesen Werten vn wird eine Korrelationsmatrix entsprechend Block 116 erzeugt. Da die durch den Schritt 116 produzierte Dekorrelationsmatrix von den Anfangskonsonant- Aufnahmefeldern erzeugt wird, unterscheidet sie sich im allgemeinen von der Triggerdekorrelationsmatrix in Block 92 von FIG. 7A. Zu dem in Block 116 dargestellten Schritt parallele Schritte erzeugen eine getrennte Dekorrelationsmatrix und eine getrennte Endkonsonanten-Dekorrelationsmatrix, die als Vokal- bzw. Endkonsonant-Phoneme benutzt werden.
- Die durch den Block 116 dargestellte spezielle Verarbeitung ist in FIG. 10 detaillierter dargestellt. Die in FIG. 10 berechnete Matrix eliminiert nur Korrelation zwischen dem einzelnen Elementen in einem gegebenen Vektor vn. Sie unterscheidet sich von der Triggerdekorrelationsmatrix in FIG. 8 unter anderem dadurch, daß sie nicht jegliche oder irgendeine Korrelation zwischen den Elementen von vn und von vn-1 eliminiert. Der Grund hierfür ist darin zu sehen, daß im Gegensatz zu aufeinanderfolgenden Vektoren von pm, die in FIG. 8 dekorreliert werden, aufeinanderfolgende Vektoren vn, die in FIG. 10 dekorreliert werden, keine feste Zeitbeziehung zwischen sich haben.
- Der Block 118 repräsentiert die Berechnung der Kovarianzmatrix R, deren Elemente die Varianzen und Kovarianzen unter den Elementen der Vektoren vn sind, die von denjenigen Segmenten der Entwicklungsdaten abgeleitet werden, die als Aufnahmefelder für Anfangskonsonanten identifiziert wurden. Block 120 zeigt ein Verfahren zum Verarbeiten der Kovarianzmatrix R, um Vektoren a&sub1; zu ermitteln, deren Funktionen ähnlich denjenigen sind, die durch die Vektoren a&sub1;' durchgeführt werden sollen, welche in FIG. 8 erzeugt wurden. Die allgemeine durch FIG. 8 repräsentierte Vorgehensweise (wobei geeignete Einstellungen gemacht werden, um die Tatsache zu berücksichtigen, daß in FIG. 10 versucht wird, Intervektor-Korrelation zu eliminieren) kann bei einigen Ausführungsbeispielen anstelle des Verfahrens von FIG. 10 benutzt werden. Das Verfahren in FIG. 10 wurde deshalb dargestellt, weil die resultierende Dekorrelationsmatrix Eingangsvektoren in Eigenvektorkomponenten auflöst und deshalb die Reduktion der Vektorlänge vereinfacht, die in Verbindung mit den Blöcken 80 und 84 von FIG. 6B beschrieben wurde.
- Der Block 120 in FIG. 10B repräsentiert den Schritt des Auffindens der Eigenwerte und Eigenvektoren der Kovarianzmatrix R. Das Resultat sind 324 Eigenvektoren und 324 Eigenvektoren a&sub1; entsprechend 324 Elementen. Jeder Eigenvektor wird durch Division mit der Quadratwurzel seines entsprechenden Eigenwerts normiert (Block 122), um neue Eigenvektoren a&sub1;' zu erzeugen. Jeder Eigenvektor a&sub1;' führt bei einer skalaren Multiplikation mit einem Vektor vn, im Block 126 in FIG. 9 zu einem anderen Element einer Transformation wn, deren Elemente keine Korrelation zueinander aufweisen. Als Folge des Normierungsschritts 122 und der Tatsache, daß der spezielle Algorithmus für den Block 120 Eigenvektoren mit Einheitsnorm aufweist, sind die Varianzen der Elemente von wn gleich der Einheit (Eins). Durch Vertauschen von jedem a&sub1; und durch Verwendung als unterschiedliche Zeile einer Matrix (Block 124), erhält man eine Dekorrelationsmatrix D. Diese Matrix wird dazu benutzt, entsprechend Block 126 vn zu dekorrelieren, um einen nicht korrelierten Vektor wn zu erzeugen.
- Der Ausgang wn des Blocks 126 ist ein Vektor mit 324 Elementen. Jedes dieser Elemente ist eine lineare Kombination der Elemente des Vektors vn. Wegen des Normierungsschritts im Block 122 in FIG. 10B sind alle Varianzen all dieser Kombinationen gleich. Beim Fehler einer derartigen Normierung wären jedoch die Varianzen beträchtlich unterschiedlich, und es wurde angenommen, daß die Elemente, deren Varianzen die kleinsten gewesen wären, die geringste Bedeutung bei der Identifizierung von Sprachelementen haben.
- Um Rechenarbeit zu verringern, werden deshalb die durch die Eigenvektoren erzeugten 154 Elemente, deren Eigenwerte die kleinsten sind, entfernt (Block 128). Dadurch werden die Elemente eliminiert, deren Varianzen vor der Normierung die kleinsten waren. Dies führt zu einem Vektor xn mit 170 Elementen. Gleichzeitig werden die zwanzig "wichtigsten" Elemente ausgewählt (Block 130) und deren äußeres Produkt berechnet. Dieser in Block 132 dargestellte Schritt zeigt an, daß das äußere Produkt der zwanzig "bedeutsamsten" Elemente aus 210 zusätzlichen Elementen besteht. Diese bilden einen Vektor zn, der entsprechend Block 134 mit xn verknpüft wird, um einen Vektor an mit 380 Elementen zu bilden.
- Obwohl die Elemente von wn nicht korreliert sind, ist dies bei den Elementen an im allgemeinen nicht der Fall. Der Block 136 repräsentiert die Berechnung einer zweiten Anfangskonsonant-Dekorrelationsmatrix D' von allen denjenigen Vektoren an, die von den Entwicklungsdaten abgeleitet wurden. Diese Dekorrleationsmatrix kann entweder in der bisher beschriebenen Weise berechnet werden, oder auch in irgend einer anderen Weise, die zu einem Operator führt, der den Eingangsvektor dekorreliert. Nach Berechnung dieser zweiten Dekorrelationsmatrix D' wird jeder Vektor an dekorreliert (Block 138), um einen neuen nicht korrelierten Vektor bn zu erzeugen.
- Die resultierenden Vektoren bn werden entsprechend FIG. 11 zur Berechnung einer "h"-Phonem-Matrix benutzt. Dies ist ein Prozess zum Modellieren eines Systems, dessen Eingang die Vektoren bn sind und dessen Ausgang entsprechend Etiketten Lhn sind. Ein menschlicher Beobachter erzeugt die Werte Lhn in einem Schritt entsprechend Block 140, um anzuzeigen, ob die Sprache in dem n-ten Aufnahmefeld das Phonem "h" enthält. Es ist zu beachten, daß bei der Erfindung der Beobachter nicht alle Laute in der Entwicklungsdatenbasis etikettieren muß, um ein Etikett herzustellen, das anzeigt ob der Laut "h" enthalten ist oder nicht. Der Beobachter muß nur denjenigen Segmenten zuhören, die der V-Trigger als Segmente identifiziert, bei denen ein Anfangskonsonant auftritt. Dadurch wird weitgehend die Zeit verringert, die für die Entwicklung oder das"Training " erforderlich ist.
- Der Ausdruck Phonem wird hier in dem Sinne benutzt, der mehr oder weniger Standard ist. Bei einer gegebenen Sprache sind zwei Laute dasselbe Phonem, wenn die Substitution des einen für den anderen bei irgendeinem Auftreten in dieser Sprache nicht zu einem Unterschied in der Bedeutung des Worts oder der Phrase führt, wenn der betreffende Laut benutzt wird. In entsprechender Weise sind zwei Laute unterschiedliche Phoneme, wenn eine derartige Substitution mitunter zu einer unterschiedlichen Bedeutung führt. Etikettierung der Sprache mit dem geeigneten Phonem muß weitgehend durch einen geübten Zuhörer erfolgen, der die unterschiedlichen Phoneme kennt und hinsichtlich des Symbolismus instruiert wurde, welcher zu deren Identifizierung benutzt wird.
- Der Label- oder Etikettierungsprozess entsprechend Block 140 wird jedoch nicht vollständig durch menschliche Arbeit durchgeführt und in diesem Ausmaß kann die Benutzung von Phonemen beim Gegenstand der Erfindung als etwas unterschiedlich im Vergleich zu üblicheren Benutzungen der Bezeichnung angesehen werden. Die für "Phoneme" benutzten Labels hängen nicht nur von der Identität des tatsächlichen linguistischen Phonems ab, sondern auch von dessen Umgebung. Wenn beispielsweise ein Symbol für ein gegebenes linguistisches Phonem benutzt wird, dem unmittelbar ein stimmhafter Konsonant vorausgeht, der sich von dem Symbol unterscheidet, das benutzt wird, wenn demselben Phonem nicht unmittelbar ein derartiger Konsonant vorausgeht. Bei dem Etikettierverfahren gibt die betreffende Person typischerweise nur den Namen des Phonems ein und seine Markierungen werden dann automatisch durch die Entwicklungssystem- Software entsprechend der phonetischen Umgebung modifiziert.
- Die tatsächliche Berechnung des Kerns zeigt Block 142. Diese Berechnung ist im Prinzip die gleiche wie im Block 98 und 100 von FIG. 7B dargestellt. Der Unterschied zwischen dem Kernbildungsschritt von Block 142 und den Blöcken 98 und 100 ist darin zu sehen, daß der letztere zu 24 x 7 Matrizen führt (Matrizen mit mehreren Spalten), während der zuerst genannte Schritt zu einem Vektor mit 380 Elementen führt (zu einer Matrix mit einer einzigen Spalte). Die 24 x 7 Matrizen könnten als Vektoren mit 168 Elementen für die Zwecke der skalaren Multiplikation angesehen werden, bei der sie benutzt werden. Die Matrix-Repräsentation ist lediglich eine zweckmäßigere Anzeige des Ursprungs der konstituierenden Elemente.
- Der Block 144 in FIG. 11A zeigt das Normierungsäquivalent der Normierung, die im Block 104 in FIG. 7C durchgeführt wird. Ein in dem Block 146 in FIG. 11B dargestellter Kombinationsschritt ist im Ergebnis mit dem Schritt äquivalent, der durch den Block 106 in FIG. 7D repräsentiert wird. Speziell ergibt dieser Schritt eine Matrix, die gleichzeitig die beiden Funktionen der Dekorrelation und der Modellierung durchführt. Das Resultat ist der Vektor Kh" mit 380 Elementen, der bei dem Schritt in Block 88 in FIG. 6C benutzt wird, um eine Anzeige der Wahrscheinlichkeit zu erzeugen, daß der gerade modellierte Vektor von Sprache abgeleitet wurde, die das Phonem "h" enthält.
- Bisher wurden die wesentlichen Vorgehensweisen bei der Entwicklung oder dem "Training " des Phonem-Identifizierungssystems und dessen Arbeitsweise nach dem Training beschrieben. Es ist jedoch zu beachten, daß der Etikettierungsprozess, bei dem der Zuhörer Sprachsegmente etikettiert, um das Auftreten eines speziellen Phonems zu zeigen, einer gewissen Beurteilung auf seiten des Zuhörers unterworfen ist. Von besonderer Bedeutung ist hier die Beurteilung, wann ein Phonem auftritt. Dies bedeutet, daß in einigen Fällen der Zuhörer , dessen Spracherkennungsverfahren modelliert wird, ein Sprachsegment genauso einfach als das Phonem enthaltend bezeichnen könnte, wie es bei dem unmittelbar folgenden Segment der Fall wäre. Ersichtlich beeinflusst seine Auswahl, welches Sprachsegment etikettiert werden soll, die vielfältigen Matrizen, die während des Trainingsverfahrens berechnet wreden, und es ist auch im allgemeinen ein gewisser Einfluß auf die Systemgenauigkeit vorhanden.
- Um die Arbeitsweise des Systems zu optimieren, kann die anfängliche Etikettierung, die durch die betreffende Person durchgeführt wird, so eingestellt werden, daß die Resultate des Produktsystems verbessert werden. Das Etikettieren wird nach einer anfänglichen Berechnung von Parametern durch die Wirkungsweise des resultierenden Produktsystems auf die Entwicklungsdatenbasis und durch Beobachtung der Arbeitsweise verbessert. Nach dem Einwirken des Produktsystems auf die Entwicklungsdaten werden dessen Resultate geprüft, um die Zeitpunkte zu ermitteln, bei denen das Triggersignal das V-oder F-Label um lediglich eine kleine Anzahl von Zeitsegmenten verfehlte. Bei diesen Vorgängen werden die V- oder F-Label zu den Zeitpunkten verschoben, die durch die V- oder F-Triggersignale angezeigt wurden. Dies kann automatisch erfolgen (beispielsweise kann ein Computer die Etiketten bewegen, wenn die Diskrepanz der zeitlichen Steuerung unter einem vorherbestimmten Schwellenwert liegt), oder eine Intervention kann durch eine Person durchgeführt werden, so daß die V- oder F-Etikettierung nur in denjenigen Fällen verschoben wird, in denen die Person damit einverstanden ist, daß die durch das V- oder F-Triggersignal angezeigte Zeit genauso akzeptierbar ist wie die Zeit, die anfänglich durch die betreffende Person etikettiert wurde.
- Das Resultat dieser Operation ist eine modifizierte Datenbasis. Dies bedeutet, daß die als Eingang benutzte Rohsprache dieselbe ist wie diejenige, die anfänglich für das Training benutzt wurde, daß aber der Ausgang des menschlichen "Phonemerkennungssystems" geändert wurde. Mit dieser neuen Datenbasis wird der Trainingsprozess wiederholt und das resultierende Produktsystem wird erneut betätigt, um dessen Arbeitsweise zu beobachten. Im allgemeinen sind die Zeitpunkte des Auftretens der V- und F-Triggersignale in dem "neuen" Produktsystem etwas unterschiedlich von denjenigen der letzten Betätigung des Produktsystems, und es ist noch eine gewisse Diskrepanz zwischen den Etiketten und der zeitlichen Steuerung der Triggersignale vorhanden. Deshalb werden die Positionen der V- und F- Etiketten erneut eingestellt. Die Arbeitsweise des Systems kann entsprechend einer geeigneten Bewertungszahl beurteilt werden, die einfach von der Anzahl der Zeitsteuerungssignale abhängt, die durch das Produktsystem erzeugt werden und mit den V- oder F-Etiketten der betreffenden Person koinzidieren, wobei die Anzahl der V- oder F-Etiketten ohne ein begleitendes Taktsignal auftritt, und die Anzahl der Taktsignale ohne ein begleitendes V- oder F-Etikett auftritt. Dieses Verfahren zur Einstellung dauert an, bis die Bewertungszahl, durch die die Arbeitsweise des Systems beurteilt wird, nicht weiter verbessert wird.
- Wie bereits erwähnt wurde, werden die dargestellten Ausführungsbeispiele mit Hilfe ihrer separaten Funktionen erläutert, obwohl viele dieser separaten Funktionen typischerweise durch eine gemeinsame Schaltung durchgeführt werden können. FIG. 12 zeigt beispielsweise eine Anordnung zur Durchführung der Funktionen, die in Verbindung mit dem Produktsystem in FIG. 1-6 beschrieben wurden. In FIG. 12 transformiert ein Mikrofon 148 das Schaltsignal in ein elektrisches Signal. Die Mikrofonschaltung kann wahlweise eine Schaltung 150 für eine automatische Verstärkungssteuerung enthalten, um den dynamischen Bereich des Signals zu begrenzen. Ein A/D-Wandler 152 prüft das resultierende Analogsignal und wandelt die Proben in digitale Repräsentationen um. Diese digitalen Repräsentationen werden einem ersten Mikroprozessor 154 zugeführt, der besonders geeignet für eine Signalverarbeitung ist. Beispielsweise ist ein TMS 32020 Mikroprozessor mit der üblichen Unterstützungsschaltung verwendbar. Der Mikroprozessor 154 enthält einen Lesespeicher ROM 156 für eine Programmspeicherung und einen Lese/Schreib-Speicher 158 zur Speicherung von Zwischenresultaten. Der Mikroprozessor 154 führt die gesamte Triggererzeugung durch, sowie alle Vorverarbeitungsschritte für die Phonemerkennung. Der Ausgang des Mikroprozessors 154 beinhaltet deshalb Triggersignale und die Repräsentationen mit Datenreduktion, wovon die Aufnahmefelder gebildet werden.
- Diese Ausgänge werden von einem weiteren Mikroprozessor 160 empfangen, der wie der Mikroprozessor 154 ausgebildet sein kann, und der in entsprechender Weise mit einem ROM 162 und einem Lese/Schreib-Speicher 164 ausgestattet ist. Das Programm in dem ROM 162 unterscheidet sich jedoch von demjenigen in dem Speicher 156, so daß der Mikroprozessor 160 den Rest der Phonemidentifizierung durchführen kann. Sein Ausgang ist der Logarithmus der Wahrscheinlichkeitsverhältnisse für die unterschiedlichen Phoneme.
- Ein weiterer Mikroprozessor 166, der in entsprechender Weise mit einem ROM 168 und einem Lese/Schreib-Speicher 170 versehen ist, könnte typischerweise ein Mehrzweck-Mikroprozessor wie ein Prozessor der Serie Motorola 68000 sein. Diese Mikroprozessor kann die Wort/Phrase- Bestimmung durchführen und könnte typischerweise mit einem Hilfsprozessor 172 in Verbindung stehen, der entsprechend den Resultaten wirksam wird, die durch den Mikroprozessor 166 erzeugt werden.
- Die Speicheranforderungen für ein derartiges System hängen von dessen spezifischen Parametern ab. Die Speicher 156 und 158 könnten insgesamt etwa 14 Kilybyte erfordern, während die Speicher 162 und 164 etwa 200 Kilobyte insgesamt benötigen könnten. Da der Mikroprozessor 166 eine Bibliothek von Worten und Phrasen benötigt, kann die Kapazität der Speicher 168 und 170 größenordnungsmäßig ein oder zwei Megabyte betragen. Die anordnung in FIG. 12 ist jedoch lediglich ein Beispiel einer Hardware-Anordnung und die Lehre der Erfindung kann auch mit Hardware erzielt werden, die sich wesentlich von derjenigen in FIG. 12 unterscheidet.
- Wie bereits erwähnt wurde, kann die Erfindung auch mit Einrichtungen realisiert werden, die sich beträchtlich von dem beschriebenen Ausführungsbeispiel unterscheiden. Praktisch Erprobungen haben gezeigt, daß verbesserte Ergebnisse mit einer Einrichtung erzielt werden können, die alle Sprachelement-Prozessoren (entsprechend den Prozessoren 24,26 und 28 in FIG. 2) betätigt, wenn eines der Triggersignale auftritt. Dies bedeutet, daß die Schaltungen entsprechend dem Endkonsonant-Prozessor 28 in FIG. 2 nicht nur beim Auftreten eines F-Triggersignals wirksam werden, sondern auch beim Auftreten eines V-Triggersignals. In entsprechender Weise werden die Schaltungen entsprechend den Anfangskonsonant- und Vokalprozessoren 24 und 26 nicht nur beim Auftreten eines V-Triggersignals wirksam, sondern auch beim Auftreten eines F-Triggersignals. Deshalb kann ein Schaltbild entsprechend FIG. 2 zu einem Schaltbild entsprechend FIG. 13 vereinfacht werden.
- In dieser Figur arbeiten der zeitgebende Vorprozessor 18, der Sprachelement-Vorprozessor 20 und der Triggergenerator 22 wie oben beschrieben. Der Ausgang des Triggergenerators 22, nämlich das V-Triggersignal und das F-Triggersignal werden jedoch einer ODER-Schaltung 176 zugeführt und das resultierende Triggersignal wird an einen Sprachelementprozessor 178 weitergeleitet.
- Abgesehen von drei Ausnahmen ist der Prozessor 178 äquivalent einer Kombination der drei Prozessoren 24,26 und 28 in FIG. 2. Der erste Ausnahme besteht darin, daß die Verarbeitungsschaltungen in dem Prozessor 178 dasselbe Triggersignal für alle Phoneme empfangen. Dies bedeutet, daß alle das von der ODER-Schaltung 176 erzeugte Triggersignal empfangen. Der zweite Unterschied besteht darin, daß der durch den Block 180 in FIG. 14 repräsentierte Extraktionsschritt die Aufnahmefeld-Extraktion ersetzt, die durch die Blöcke 64,66 und 68 in FIG. 6A repräsentiert wird. Wie aus FIG. 14 ersichtlich ist, werden anstelle der Verwendung von drei getrennten Aufnahmefeldern für die drei Klassen von Phonemen (nämlich Anfangskonsonanten, Vokale und Endkonsonanten) bei dem Ausführungsbeispiel in FIG. 13 und 14 ein einziger Typ des Aufnahmefelds benutzt, bestehend aus Vektoren qm-14 bis qm-6 für alle Klassen von Phonemen.
- Der dritte Unterschied betrifft den Block 78 von FIG. 6B, wobei der Vektor vn, der von dem ersten nichtlinearen Schritt herrührt, mit einer Dekorrelationsmatrix D dekorreliert wird. In dem vorher beschriebenen Ausführungsbeispiel wurden getrennte Dekorrelationsmatrizen für die unterschiedlichen Klassen von Phonemen benutzt. Es war deshalb möglich, daß derselbe Vektor vn mit drei getrennten Matrizen mit 104.976 Elementen in Echtzeit multipliziert wurde. Bei dieser alternativen Version wird eine einzige Dekorrelationsmatrix für alle Arten von Phonemen benutzt, so daß nur eine einzige Matrixmultiplikation für irgend einen gegebenen Vektor vn erforderlich ist.
- Diese Dekorrelationsmatrix D wird wie die entsprechende Matrix D im ersten Ausführungsbeispiel in dem Block 116 (FIG. 9A) erzeugt, welcher die Dekorrelationsmatrix-Berechnung des Entwicklungssystems repräsentiert. Die resultierende Dekorrelationsmatrix unterscheidet sich von der entsprechenden Matrix des ersten Ausführungsbeispiels aus zwei Gründen. Der erste besteht darin, daß die Vektoren vn, die der Block 116 von der Schaltung in FIG. 6A empfängt, nicht aus den Aufnahmefeldern resultieren, die in FIG. 6A dargestellt sind, sondern aus den in FIG. 14 dargestellten Aufnahmefeldern. Der zweite Grund ist darin zu sehen, daß der Block 116 bei dem zweiten Ausführungsbeispiel anstelle dieser Vektoren vn, die während der Etikettierung als zu einer dieser drei Klassen gehörig identifiziert werden, alle Vektoren vn während der Etikettierung als zu einer der drei Klassen gehörig identifiziert werden.
- Dieses abgewandelte Ausführungsbeispiel verringert die Berechnungszeit, weil einige der extrem berechnungsintensiven Dekorrelations- Berechnungen eliminiert werden. Es wurde festgestellt, daß dies zusätzlich zu einer größeren Genauigkeit in dem Produktsystem führt.
- FIG. 15 zeigt eine weitere Vereinfachung der Ausbildung des Produktsystems. Die Anordnung in FIG. 15 enthält keinen Vorprozessor zur zeitlichen Steuerung. Der Triggergenerator 182 empfängt statt dessen den Ausgang des Sprachelement-Vorprozessors 20. Der Sprachelement-Vorprozessor 184 der Anordnung in FIG. 15 empfängt wie der Sprachelementprozessor 178 in FIG. 13 nur ein einziges Triggersignal und es werden Aufnahmefelder in der gleichen Weise wie bei dem Aufnahmefeld-Extraktionsschritt in FIG. 14 assembliert.
- Der Triggergenerator 182 in FIG. 15 ist jedoch einfacher als die vorhergehenden Triggergeneratoren. Anstelle einer Modellierung breiter Klassen von Phonemen wird einfach bestimmt, ob genug Energie in einem Segment vorhanden war, so daß dieses Segment verständliche Sprache enthalten konnte.
- Wie auf FIG. 16 ersichtlich ist, empfängt der Triggergenerator 182 das erste Element q0,m des Vektors qm von dem Sprachelement-Vorprozessor in FIG. 5 und bestimmt, ob das erste Element dieses Vektors einen vorherbestimmten Schwellenwert überschreitet. Das erste Element ist eine Anzeige für die Energie in dem Sprachelement, und der Schwellenwert wird auf einen Betrag eingestellt, der niedriger als derjenige ist, der sich aus sehr leiser Sprache ergibt, aber höher als derjenige der meisten Intervalle ohne Sprache ist. Der Block 186 repräsentiert diese Bestimmung des Schwellenwerts. Der Block 188 repräsentiert die Erzeugung eines Triggersignals bei jedem dritten Segment, dessen Energie den Schwellenwert überschreitet. Das Intervall mit drei Segmenten wird ausgewählt, weil keine bedeutungsvollen Laute auftreten, deren Dauer kürzer als drei Segmente ist. Das resultierende Triggersignal wird dann benutzt, um wie vorher den Sprachelement-Prozessor zu triggern.
- Der Rest der Arbeitsweise ist ähnlich demjenigen der vorhergehenden Ausführungsbeispiele. Wie die Anordnung in FIG. 13 und 14 benutzt die Anordnung von FIG. 15 und 16 eine einzige Dekorrelationsmatrix in dem Schritt des Blocks 78 in FIG. 6B, wobei der Vektor vn der von der ersten Nichtlinearisierung herrührt, mit einer Dekorrelationsmatrix D dekorreliert wird. Die Dekorrelationsmatrix der Anordnung in FIG. 15 und 16 ist jedoch unterschiedlich, da sie von Vektoren erzeugt wird, die durch die Benutzung des Energieniveau-Triggersignals in FIG. 16, aber nicht durch die Benutzung der Triggersignale mit mehr Selektivität in anderen Versionen ausgewählt wurden.
- Es ist erkennbar, daß die Anordnung von FIG. 15 und 16 ermöglicht, daß mehr Sprachsegmente durch den Sprachelement-Prozessor 184 als bei der vorher beschriebenen Anordnung bearbeitet werden können. Ein einfaches Energieniveau-Triggersignal eliminiert weniger Sprachsegmente als dies bei einer Triggermatrix der Fall ist, die für bekannte Sprachelemente modelliert wurde. Deshalb erzeugt der Sprachelement-Prozessor 184 viele Ausgänge, in denen alle Phonembeurteilungen sehr niedrig sind. Die Bestimmungsschaltung 14 in FIG. 1 prüft jeden Ausgang, um zu bestimmen, ob alle Beurteilungen niedrig sind. Wenn dies der Fall ist, wird nicht die Wort/Phrasen-Bibliothek 16 veranlaßt, den Ausgang zu interpretieren. In anderen Worten bedeutet dies, daß die Bestimmungsschaltung 14 die Ausgänge klassiert, um diejenigen zu eliminieren, bei denen unwahrscheinlich ist, daß sie bedeutsame Sprache enthalten. Durchgeführte Simulationen zeigen an, daß diese einfache Art von System ebenfalls zu vorteilhaften Ergebnissen führt.
- Aus der obigen Beschreibung ist ersichtlich, daß die Lehre der Erfindung in einer Vielzahl von Ausführungsbeispielen benutzt werden kann, die sich in vielerlei Hinsicht von den beschriebenen Ausführungsbeispielen unterscheidet. Wie bereits erwähnt wurde, sind beispielsweise die Datenreduktions-Sequenzen, die in Verbindung mit dem Triggervorprozessor und dem Sprachelement-Vorprozessor beschrieben wurden, lediglich als bei spielhaft anzusehen, da sie durch andere Sequenzen ersetzt werden können, welche es ermöglichen, einen großen anteil der nicht erforderlichen Daten zu eliminieren, während Informationen beibehalten werden, die für die zu identifizierende Sprache charakteristisch sind.
- Obwohl in beiden Ausführungsbeispielen getrennte Modellierungsmatrizen Verwendung finden, um V- und F-Triggersignale zu erzeugen, könnte auch eine einzige Matrix in dem zweiten Ausführungsbeispiel vorgesehen werden. Obwohl ein oder zwei Arten von Triggern und eine oder drei Arten von Aufnahmefeldern benutzt wurden, kann es in gewissen Ausführungsbeispielen zweckmäßig sein, eine andere Anzahl von Triggern und Aufnahmefeldern zu benutzen.
- Es würde ferner die Verwendung einer nichtlinearen Modellierung nur in Verbindung mit der Verarbeitung von Sprachelementen beschrieben, aber nicht in Verbindung mit der Triggerverarbeitung, da es ohne weiteres ersichtlich ist, daß eine derartige nichtlineare Modellierung auch für eine Triggerverarbeitung benutzt werden könnte. Die beschriebene nichtlineare Modellierung ist ersichtlich nur ein Beispiel von vielen Möglichkeiten hinsichtlich der Auswahl nichtlinearer Elemente zum Modellieren.
- Daraus geht hervor, daß die Lehre der Erfindung in einer großen Vielfalt von Einrichtungen realisiert werden kann, so daß durch die Erfindung ein wesentlicher technischer Fortschritt erzielt werden kann.
Claims (12)
1. Verfahren zur Spracherkennung, wobei
A. ein Sprachsignal empfangen wird,
B. das Sprachsignal in eine Sequenz von digitalen Größen umgewandelt
(29) wird,
C. die digitalen Größen einer Sequenz (30,50,52,54,56,58,60,62,64,66,68,
70,72) von digitalen Verarbeitungsschritten unterworfen werden,
einschließlich einer Sequenz von Vektor-Verarbeitungsschritten, deren
Ausgänge Vektoren mit mehreren Elementen sind und deren Eingänge
Vektorausgänge vorhergehender Verarbeitungsschritte enthalten,
dadurch gekennzeichnet, daß die Sequenz von
Vektor-Verarbeitungsschritten einen ersten nicht linearen Schritt (74) enthält, der die
Berechnung von nicht linearen Kombinationen von unterschiedlichen
der Eingangselemente umfaßt, um einen ersten Ausgangsvektor mit
einem nicht linearen Schritt zu erzeugen, der getrennte erste nicht
lineare Schrittelemente enthält, welche das Resultat jeder derartigen
berechneten Kombination repräsentieren, sowie einen zweiten nicht
linearen Schritt (82) enthält, welcher die Berechnung nicht linearer
Kombinationen unterschiedlicher Elemente des ersten Ausgangsvektors
mit einem nicht linearen Schritt umfaßt, um einen zweiten
Ausgangsvektor mit einem nicht linearen Schritt zu erzeugen, der getrennte
zweite nicht lineare Schrittelemente enthält, die das Resultat jeder
derartigen berechneten Kombination enthalten, und daß
D. der Vektorausgang der Sequenz von Vektoren verarbeitenden Schritten
modelliert (88) wird, um Sprachelement-Beurteilungssignale zu erzeugen,
welche die Zahlenwerte repräsentieren, die sich auf die
Wahrscheinlichkeit beziehen, daß die Sprache betreffende vorherbestimmte in
Frage kommende Sprachelemente enthält.
2. Verfahren nach Anspruch 1, wobei der Eingang mindestens eines nicht
linearen Schritts eine Mehrzahl von Zeitintervall-Vektoren enthält,
jedes Element eines der Zeitintervall-Vektoren ein Sprachzeitintervall
repräsentiert, welche das Gleiche wie dasjenige ist, das durch die anderen
Elemente des gleichen Zeitintervallvektors repräsentiert wurde, aber sich
von dem Sprachzeitintervall unterscheidet, das durch die Elemente eines
anderen der Zeitintervallvektoren repräsentiert wurde, und wobei mindestens
ein nicht linearer Schritt das Berechnen nicht linearer Kombinationen von
Elementen unterschiedlicher der Zeitintervallvektoren umfaßt, um in
seinem Ausgang ein getrenntes Element zu enthalten, welches das
Resultat jeder derartig berechneten Kombination repräsentiert.
3. Verfahren nach Anspruch 1 oder 2, wobei der Vektorausgang der Sequenz
von Vektoren verarbeitenden Schritten der bei dem
Modellierungsschritt modelliert wird, den zweiten Ausgangsvektor mit nicht linearem
Schritt enthält.
4. Verfahren nach Anspruch 1, 2 oder 3, wobei der Modellierungsschritt
zur Erzeugung als die Sprachelement-Beurteilungssignale
Phonem-Beurteilungssignale umfaßt, welche betreffende Zahlenwerte repräsentieren, die sich
auf die Wahrscheinlichkeit beziehen, daß die Sprache betreffende Phoneme
enthält.
5. Verfahren nach Anspruch 2, wobei der zweite nicht lineare Schritt die
Berechnung von nicht linearen Kombinationen unterschiedlicher Elemente
des ersten Ausgangsvektors für einen nicht linearen Schritt umfaßt,
indem
A. lineare Kombinationen der ersten nicht linearen Schrittelemente
berechnet werden und
B. nicht lineare Kombinationen unterschiedlicher der linearen Kombinationen
berechnet werden, wodurch nicht lineare Kombinationen unterschiedlicher
Elemente des ersten Ausgangsvektors mit nicht linearen Schritten
berechnet werden.
6. Verfahren nach Anspruch 5, wobei
A. der Schritt zur Berechnung linearer Kombinationen der ersten nicht
linearen Schrittelemente die Berechnung der Komponenten mit höchster
Varianz als die nicht linearen Kombinationen umfaßt, wobei die
Komponenten mit höchster Varianz die Komponenten des ersten
Eingangsvektors mit nicht linearen Schritten in den Richtungen der
Eigenvektoren der Kovarianz-Matrix der ersten Eingangsvektoren mit nicht
linearen Schritten sind, welche den größten Eigenwerten zugeordnet
sind, und wobei
8. der Schritt der Berechnung nicht linearer Kombinationen
unterschiedlicher der linearen Kombinationen die Berechnung nicht linearer
Kombinationen der Komponenten mit der höchsten Varianz umfaßt, aber die
Berechnung der nicht linearen Kombinationen mindestens einiger der
Komponenten des ersten Eingangsvektors mit nicht linearen Schritten
in der Richtung der Eigenvektoren des ersten Eingangsvektors mit
nicht linearen Schritten ausgelassen wird, welche den niedrigsten
Eigenwerten zugeordnet sind.
7. Sprachprozessor zum Empfang eines Sprachsignals mit
A. einer Einrichtung zum Empfang eines Sprachsignals und einer
Einrichtung (29) zur Umwandlung des Sprachsignals in eine
Sequenz von digitalen Größen, mit
B. einer Einrichtung zum Unterwerfen der digitalen Größen unter
eine Sequenz (30,50,52,54,56,58,60,62,64,66,68,70,72) von
digitalen Verarbeitungsschritten, die eine Sequenz von Vektoren
verarbeitenden Schritten enthalten, deren Ausgänge Vektoren mit
mehreren Elementen sind und deren Eingänge Vektorausgänge
vorhergehender Verarbeitungsschritte enthalten, dadurch gekennzeichnet,
daß die Sequenz von Vektoren verarbeitenden Schritten einen
ersten nicht linearen Schritt (74) enthält, welcher die Berechnung
nicht linearer Kombinationen von unterschiedlichen Eingangselementen
umfaßt, um einen ersten Ausgangsvektor mit nicht linearen Schritten
zu erzeugen, der getrennte erste Elemente mit nicht linearen
Schritten enthält, welche das Resultat jeder derartig berechneten
Kombination repräsentieren, sowie einen zweiten nicht linearen
Schritt (82), welcher die Berechnung von nicht linearen Kombinationen
unterschiedlicher Elemente des ersten Ausgangsvektors mit nicht
linearen Schritten umfaßt, um einen zweiten Ausgangsvektor mit
nicht linearen Schritten zu erzeugen, welcher getrennte zweite
Elemente mit nicht linearen Schritten enthält, welche das Resultat
jeder derartig berechneten Kombination repräsentieren, und daß
C. eine Einrichtung zum Modellieren (88) des Vektorausgangs der
Sequenz von Vektoren erzeugenden Schritten vorgesehen ist, um
Sprachelement-Beurteilungssignale zu erzeugen, welche betreffende
Zahlenwerte repräsentieren, welche auf die Wahrscheinlichkeit bezogen
sind, daß die Sprache betreffende vorherbestimmte in Frage kommende
Sprachelemente enthält.
8. Sprachprozessor nach Anspruch 7, wobei der Eingang mindestens eines
der nicht linearen Schritte eine Mehrzahl von Zeitintervallvektoren
enthält, wobei jedes Element eines der Zeitintervallvektoren ein
Sprachzeitintervall repräsentiert, welches das Gleiche wie dasjenige ist, das
durch die anderen Elemente desselben Zeitintervallvektors präsentiert
wird, aber sich von dem Sprachzeitintervall unterscheidet, das von den
Elementen eines anderen der Zeitintervallvektoren repräsentiert wird,
und wobei mindestens ein nicht linearer Schritt das Berechnen nicht
linearer Kombinationen von Elementen unterschiedlicher der
Zeitintervallvektoren umfaßt, um in diesem Ausgang ein getrenntes Element zu
enthalten, welches das Resultat jeder derartig berechneten
Kombination enthält.
9. Sprachprozessor nach Anspruch 7 oder 8, wobei der Vektorausgang der
Sequenz von Vektoren verarbeitenden Schritten, welcher in der
Modellierungseinrichtung modelliert wird, dan zweiten
Ausgangsvektor mit nicht linearen Schritten enthält.
10. Sprachprozessor nach Anspruch 7,8 oder 9, wobei die
Modellierungseinrichtung eine Einrichtung zur Erzeugung als die Sprachelement-
Beurteilungssignale Phonem-Beurteilungssignale umfaßt, welche
betreffende Zahlenwerte repräsentieren, welche auf die
Wahrscheinlichkeit bezogen sind, daß die Sprache betreffende Phoneme enthält.
11. Sprachprozessor nach Anspruch 7, wobei der zweite nicht lineare
Schritt die Berechnung der nicht linearen Kombinationen
unterschiedlicher Elemente des ersten Ausgangsvektors mit nicht linearen
Schritten umfaßt, indem
A. lineare Kombinationen der ersten nicht linearen Schrittelemente
berechnet werden und
B. nicht lineare Kombinationen anderer der linearen Kombinationen
berechnet werden, wodurch nicht lineare Kombinationen
unterschiedlicher Elemente des ersten Ausgangsvektors mit nicht linearen
Schritten berechnet werden.
12. Sprachprozessor nach Anspruch 11, wobei
A. der Schritt der Berechnung linearer Kombinationen der ersten
Elemente mit nicht linearen Schritten die Berechnung von
Komponenten mit höchster Varianz als die linearen Kombinationen
umfaßt, wobei die Komponenten mit höchster Varianz die Komponenten
des ersten Eingangsvektors mit nicht linearen Schritten in den
Richtungen der Eigenvektoren der Kovarianz-Matrix der ersten
Eingangsvektoren mit nicht linearen Schritten sind, welche den
größten Eigenwerten zugeordnet sind, und wobei
B. der Schritt der Berechnung nicht linearer Kombinationen von
unterschiedlichen der linearen Kombinationen die Berechnung
nicht linearer Kombinationen mit Komponenten mit der höchsten
Varianz umfaßt, aber die Berechnung der nicht linearen
Kombinationen mindestens einiger der Komponenten des ersten
Eingangsvektors mit nicht linearen Schritten in Richtungen der
Eigenvektoren des ersten Eingangsvektors mit nicht linearen
Schritten ausläßt, welche den niedrigsten Eigenwerten
zugeordnet sind.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/036,380 US5027408A (en) | 1987-04-09 | 1987-04-09 | Speech-recognition circuitry employing phoneme estimation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3878001D1 DE3878001D1 (de) | 1993-03-18 |
| DE3878001T2 true DE3878001T2 (de) | 1993-09-02 |
Family
ID=21888296
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE8888105316T Expired - Fee Related DE3878001T2 (de) | 1987-04-09 | 1988-03-31 | Spracherkennungseinrichtung unter anwendung von phonemermittlung. |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5027408A (de) |
| EP (1) | EP0286035B1 (de) |
| JP (1) | JP3114975B2 (de) |
| AT (1) | ATE85451T1 (de) |
| CA (1) | CA1329272C (de) |
| DE (1) | DE3878001T2 (de) |
Families Citing this family (135)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5027408A (en) | 1987-04-09 | 1991-06-25 | Kroeker John P | Speech-recognition circuitry employing phoneme estimation |
| US5168524A (en) * | 1989-08-17 | 1992-12-01 | Eliza Corporation | Speech-recognition circuitry employing nonlinear processing, speech element modeling and phoneme estimation |
| JPH03132797A (ja) * | 1989-10-19 | 1991-06-06 | Matsushita Electric Ind Co Ltd | 音声認識装置 |
| US5263120A (en) * | 1991-04-29 | 1993-11-16 | Bickel Michael A | Adaptive fast fuzzy clustering system |
| US5652827A (en) * | 1991-11-08 | 1997-07-29 | The Trustees Of The University Of Pennsylvania | Identifying an object by fast and robust signal processing |
| EP0634042B1 (de) * | 1992-03-06 | 2001-07-11 | Dragon Systems Inc. | Spracherkennungssystem für sprachen mit zusammengesetzten wörtern |
| JPH06332492A (ja) * | 1993-05-19 | 1994-12-02 | Matsushita Electric Ind Co Ltd | 音声検出方法および検出装置 |
| 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 |
| US5680510A (en) * | 1995-01-26 | 1997-10-21 | Apple Computer, Inc. | System and method for generating and using context dependent sub-syllable models to recognize a tonal language |
| 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 |
| US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
| WO2001073757A1 (en) | 2000-03-24 | 2001-10-04 | Eliza Corporation | Remote server object architecture for speech recognition |
| US7366766B2 (en) * | 2000-03-24 | 2008-04-29 | Eliza Corporation | Web-based speech recognition with scripting and semantic objects |
| US7370086B2 (en) | 2000-03-24 | 2008-05-06 | Eliza Corporation | Web-based speech recognition with scripting and semantic objects |
| US6868380B2 (en) | 2000-03-24 | 2005-03-15 | Eliza Corporation | Speech recognition system and method for generating phonotic estimates |
| US20020059072A1 (en) * | 2000-10-16 | 2002-05-16 | Nasreen Quibria | Method of and system for providing adaptive respondent training in a speech recognition application |
| US20040104062A1 (en) * | 2002-12-02 | 2004-06-03 | Yvon Bedard | Side panel for a snowmobile |
| DE10147734A1 (de) * | 2001-09-27 | 2003-04-10 | Bosch Gmbh Robert | Verfahren zum Einstellen einer Datenstruktur, insbesondere von phonetischen Transkriptionen für ein sprachbedientes Navigationssystem |
| US7340392B2 (en) * | 2002-06-06 | 2008-03-04 | International Business Machines Corporation | Multiple sound fragments processing and load balancing |
| US7788097B2 (en) * | 2002-06-06 | 2010-08-31 | Nuance Communications, Inc. | Multiple sound fragments processing and load balancing |
| US8200486B1 (en) * | 2003-06-05 | 2012-06-12 | The United States of America as represented by the Administrator of the National Aeronautics & Space Administration (NASA) | Sub-audible speech recognition based upon electromyographic signals |
| US7584098B2 (en) * | 2004-11-29 | 2009-09-01 | Microsoft Corporation | Vocabulary-independent search of spontaneous speech |
| US7729909B2 (en) * | 2005-03-04 | 2010-06-01 | Panasonic Corporation | Block-diagonal covariance joint subspace tying and model compensation for noise robust automatic speech recognition |
| US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
| US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
| US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
| US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
| 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 |
| US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
| US9959870B2 (en) | 2008-12-11 | 2018-05-01 | Apple Inc. | Speech recognition involving a mobile device |
| US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
| US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
| US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
| US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
| US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
| US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
| US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
| 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 |
| DE202011111062U1 (de) | 2010-01-25 | 2019-02-19 | Newvaluexchange Ltd. | Vorrichtung und System für eine Digitalkonversationsmanagementplattform |
| US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
| US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
| US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
| US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
| US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
| US9536517B2 (en) | 2011-11-18 | 2017-01-03 | At&T Intellectual Property I, L.P. | System and method for crowd-sourced data labeling |
| 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 |
| 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 |
| KR20250004158A (ko) | 2013-02-07 | 2025-01-07 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
| US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
| WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
| US9922642B2 (en) | 2013-03-15 | 2018-03-20 | Apple Inc. | Training an at least partial voice command system |
| 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 |
| HK1220268A1 (zh) | 2013-06-09 | 2017-04-28 | 苹果公司 | 用於實現跨數字助理的兩個或更多個實例的會話持續性的設備、方法、和圖形用戶界面 |
| US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
| JP2016521948A (ja) | 2013-06-13 | 2016-07-25 | アップル インコーポレイテッド | 音声コマンドによって開始される緊急電話のためのシステム及び方法 |
| US10791216B2 (en) | 2013-08-06 | 2020-09-29 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
| 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 |
| US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
| US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
| US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
| US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
| US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
| 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 |
| US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
| US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
| US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
| US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
| US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
| 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 |
| US9606986B2 (en) | 2014-09-29 | 2017-03-28 | Apple Inc. | Integrated word N-gram and class M-gram language models |
| US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
| 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 |
| US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
| US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
| 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 |
| US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
| US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
| 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 |
| US10055767B2 (en) * | 2015-05-13 | 2018-08-21 | Google Llc | Speech recognition for keywords |
| 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 |
| US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
| US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
| US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
| US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
| US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
| 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 |
| 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 |
| DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
| US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
| US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
| 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 |
| 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 |
| DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
| DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
| 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 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3727193A (en) * | 1971-05-18 | 1973-04-10 | School Of Electrical Eng | Signal vector recognition system |
| US4156868A (en) * | 1977-05-05 | 1979-05-29 | Bell Telephone Laboratories, Incorporated | Syntactic word recognizer |
| US4241329A (en) * | 1978-04-27 | 1980-12-23 | Dialog Systems, Inc. | Continuous speech recognition method for improving false alarm rates |
| US4227177A (en) * | 1978-04-27 | 1980-10-07 | Dialog Systems, Inc. | Continuous speech recognition method |
| US4277644A (en) * | 1979-07-16 | 1981-07-07 | Bell Telephone Laboratories, Incorporated | Syntactic continuous speech recognizer |
| US4400828A (en) * | 1981-03-27 | 1983-08-23 | Bell Telephone Laboratories, Incorporated | Word recognizer |
| US4400788A (en) * | 1981-03-27 | 1983-08-23 | Bell Telephone Laboratories, Incorporated | Continuous speech pattern recognizer |
| JPS5879300A (ja) * | 1981-11-06 | 1983-05-13 | 日本電気株式会社 | パタ−ン距離計算方式 |
| JPS58130396A (ja) * | 1982-01-29 | 1983-08-03 | 株式会社東芝 | 音声認識装置 |
| JPS58145998A (ja) * | 1982-02-25 | 1983-08-31 | ソニー株式会社 | 音声過渡点検出方法 |
| US4712243A (en) * | 1983-05-09 | 1987-12-08 | Casio Computer Co., Ltd. | Speech recognition apparatus |
| US4723290A (en) * | 1983-05-16 | 1988-02-02 | Kabushiki Kaisha Toshiba | Speech recognition apparatus |
| JPS59216284A (ja) * | 1983-05-23 | 1984-12-06 | Matsushita Electric Ind Co Ltd | パタ−ン認識装置 |
| US4606069A (en) * | 1983-06-10 | 1986-08-12 | At&T Bell Laboratories | Apparatus and method for compression of facsimile information by pattern matching |
| US4718093A (en) * | 1984-03-27 | 1988-01-05 | Exxon Research And Engineering Company | Speech recognition method including biased principal components |
| US5027408A (en) | 1987-04-09 | 1991-06-25 | Kroeker John P | Speech-recognition circuitry employing phoneme estimation |
-
1987
- 1987-04-09 US US07/036,380 patent/US5027408A/en not_active Expired - Lifetime
-
1988
- 1988-03-31 EP EP88105316A patent/EP0286035B1/de not_active Expired - Lifetime
- 1988-03-31 DE DE8888105316T patent/DE3878001T2/de not_active Expired - Fee Related
- 1988-03-31 AT AT88105316T patent/ATE85451T1/de not_active IP Right Cessation
- 1988-04-08 JP JP63087075A patent/JP3114975B2/ja not_active Expired - Lifetime
- 1988-04-08 CA CA000563601A patent/CA1329272C/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP3114975B2 (ja) | 2000-12-04 |
| EP0286035B1 (de) | 1993-02-03 |
| US5027408A (en) | 1991-06-25 |
| CA1329272C (en) | 1994-05-03 |
| ATE85451T1 (de) | 1993-02-15 |
| DE3878001D1 (de) | 1993-03-18 |
| EP0286035A1 (de) | 1988-10-12 |
| JPS6413595A (en) | 1989-01-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3878001T2 (de) | Spracherkennungseinrichtung unter anwendung von phonemermittlung. | |
| DE69033084T2 (de) | Schaltung zur Spracherkennung unter Anwendung von nichtlinearer Verarbeitung, Sprachelementmodellierung und Phonembewertung | |
| DE60000074T2 (de) | Linear prädiktive Cepstral-Merkmale in hierarchische Subbänder organisiert für die HMM-basierte Spracherkennung | |
| DE69705830T2 (de) | Sprachverarbeitung | |
| DE69127961T2 (de) | Verfahren zur Spracherkennung | |
| DE69029001T2 (de) | Verfahren und Einrichtung zur Erkennung von Signalzeitfolgen mit von Signalvariationen unabhängigem Lernen | |
| DE69619284T2 (de) | Vorrichtung zur Erweiterung der Sprachbandbreite | |
| DE3337353C2 (de) | Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells | |
| DE69315374T2 (de) | Spracherkennungssystem zur naturgetreuen Sprachübersetzung | |
| DE69226594T2 (de) | Spracherkennungseinrichtung mit Sprachkodierer, der Rangstufen von akustischen Prototypen ausgibt. | |
| DE69326044T2 (de) | Verfahren zur Erkennung von Sprachsignalen | |
| DE69529356T2 (de) | Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile | |
| DE69831114T2 (de) | Integration mehrfacher Modelle für die Spracherkennung in verschiedenen Umgebungen | |
| DE69432943T2 (de) | Verfahren und Vorrichtung zur Sprachdetektion | |
| DE2659096C2 (de) | ||
| DE69321656T2 (de) | Verfahren zur Spracherkennung | |
| DE2825110A1 (de) | Verfahren zur erkennung kontinuierlicher sprachsignale | |
| DE69423692T2 (de) | Sprachkodiergerät und Verfahren unter Verwendung von Klassifikationsregeln | |
| DE2825186A1 (de) | Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale | |
| DE2825082A1 (de) | Verfahren zur spracherkennung | |
| DE69224253T2 (de) | Sprachkodiergerät | |
| EP0925461A2 (de) | Verfahren zur mehrsprachenverwendung eines hidden markov lautmodelles in einem spracherkennungssystem | |
| DE69229124T2 (de) | Mehrteiliger expertsystem | |
| DE10030105A1 (de) | Spracherkennungseinrichtung | |
| DE69930961T2 (de) | Vorrichtung und verfahren zur sprachsegmentierung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |