DE3236832A1 - Verfahren und geraet zur sprachanalyse - Google Patents

Verfahren und geraet zur sprachanalyse

Info

Publication number
DE3236832A1
DE3236832A1 DE19823236832 DE3236832A DE3236832A1 DE 3236832 A1 DE3236832 A1 DE 3236832A1 DE 19823236832 DE19823236832 DE 19823236832 DE 3236832 A DE3236832 A DE 3236832A DE 3236832 A1 DE3236832 A1 DE 3236832A1
Authority
DE
Germany
Prior art keywords
target pattern
keyword
frame
pattern
word
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.)
Granted
Application number
DE19823236832
Other languages
English (en)
Other versions
DE3236832C2 (de
Inventor
Stephen Lloyd 02140 Cambridge Mass. Moshier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Exxon Mobil Corp
Original Assignee
Exxon Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Exxon Corp filed Critical Exxon Corp
Publication of DE3236832A1 publication Critical patent/DE3236832A1/de
Application granted granted Critical
Publication of DE3236832C2 publication Critical patent/DE3236832C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)
  • Document Processing Apparatus (AREA)
  • Telephonic Communication Services (AREA)

Description

HOEGER, STELLRECHT'& T=WRTKTET=J^!36832
PATENTANWÄLTE UHLANDSTRASSE 14 γ; · D roOO STUTTGART 1
A 45 325 b Anmelder: Verbex Corporation
k - 176 2 Oak Park
28. September 1982 Bedford, MA 01730
USA
Verfahren und Gerät zur Sprachanalyse
Die Erfindung betrifft ein Verfahren zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem Audiosignal, bei welchem jedes Schlüsselwort in charakteristischer Weise durch eine Schablone mit mindestens einem Zielmuster dargestellt ist, bei dem jedes Ziemuster mindestens ein Kurzzeit-Leistungsspektrum darstellt und bei dem jedem Zielmuster mindestens eine einer erforderlichen Verweilzeit zugeordnete Position und mindestens eine einer optioneilen Verweilzeit zugeordnete Position zugeordnet sind, sowie ein Gerät zur Durchführung dieses Verfahrens.
Es sind bereits verschiedene Spracherkennungssysteme vorgeschlagen worden, die dazu dienen, isolierte Äußerungen zu erkennen, indem sie ein unbekanntes isoliertes Audiosignal·, welches in geeigneter Weise aufbereitet wird, mit ein oder mehreren zuvor vorbereiteten Darstellungen bekannter Schlüsselwörter vergleichen. Dabei wird der Begriff "Schlüsselwort" in dem Sinne verwendet, daß er eine verbundene Gruppe von Phonemen und Schallereignissen bezeichnen soll und beispiels-
-13-BAD ORIGINAL
2236832
A 45 325 b
k - 176 - 13 -
28. September 1982
weise ein Teil einer Silbe, ein Wort, eine Phrase usw. sein kann. Verschiedene derartige Systeme wurden mit begrenztem Erfolg eingesetzt, um isolierte Schlüsselwörter zu erkennen. Dabei zeigte es sich, daß ein bestimmtes bekanntes System, welches.im wesentlichen gemäß den Lehren der US-PS 4 038 503 arbeitet, besonders erfolgreich-eingesetzt werden kann und geeignet ist, ein bestimmtes Schlüsselwort aus einem begrenzten Vokabular von Schlüsselwörtern sicher zu erkennen, vorausgesetzt, daß die Grenzen (Anfang und Ende) des unbekannten Audiosignals durch den Zustand der Stille oder durch ein Hintergrundgeräusch (also durch Pausen im Sinne der vorliegenden Anmeldung) gebildet sind, die von dem Erkennungssystem ermittelt werden. Das System basiert also auf der Annahme, daß das Intervall, in dem das unbekannte Audiosignal auftritt, wohl definiert ist und eine einzige SchLüsselwortaußerung enthält.
Bei einem.kontinuierlichen Audiosignal, wie z.B. in der kontinuierlichen Umgangssprache, in der die Schlüsselwortgrenzen nicht von vornherein bekannt bzw. markiert sind, wurden ebenfalls bereits verschiedene Verfahren angewandt, um die ankommenden Audiodaten in Segmente zu unterteilen, d.h. um die Grenzen der linguistischen Einheiten, wie z.B. der Phoneme, Silben, Worte, Sätze usw. vor der Einleitung eines Schlüsselworterkennungsprozesses zu bestimmen. Diese vorbekannten, der kontinuierlichen Sprachauswertung dienenden Systeme waren jedoch nur in begrenztem Maße
-14-
A 45 325 b
k - 176 - 14-
28. September 1982
erfolgreich, was teilweilse dar.auf zurückzuführen ist, daß bei ihnen kein befriedigendes Segmentierverfahren gefunden wurde. Auch für andere wichtige Probleme wurde bisher, noch keine befriedigende Lösung gefunden. Beispielsweise können derzeit nur begrenzte Wortschätze zuverlässig und mit einer niedrigen Quote von Fehlalarmen erkannt werden. Weiterhin ist die Erkennungsgenauigkeit sehr empfindlich für die Unterschiede zwischen den Stimm- bzw. Sprech-Charakteristiken unterschiedlicher Sprecher. Außerdem reagieren die bekannten Systeme sehr empfindlich auf Verzerrungen der zu analysierenden Audiosignale, wie sie typischerweise auftreten, wenn diese Audiosignale beispielsweise über das normale. Telefonnetz übertragen werden.
Die US-PSen 4 227 176, 4 241 329 und 4 227 177 beschreiben wirtschaftlich brauchbare und wirksame Verfahren zur erfolgreichen Erkennung von Schlüsselwörtern in kontinuierlichen Sprachsignalen, die im Echtzeitbetrieb ausgewertet werden. Diese bekannten Verfahren werden derzeit wirtschaftlich angewandt und haben sich sowohl im Experiment wie auch in der Praxis als sehr zuverlässig erwiesen, da sich mit ihnen in einer sprecherunabhängigen Umgebung eine niedrige Fehlerquote erreichen lässt. Obwohl die Systeme gemäß den genannten Patentschriften gemäß dem derzeitigen Stand der Technik als. Spitzenprodukte anzusehen sind, haben sie dennoch hinsichtlich des Konzepts, von welchem bei ihrer Entwicklung ausgegangen
-15-
A 45 325 b
k - 176 · - 15 -
28. September 1982
wurde, sowohl hinsichtlich der Anzahl der ausgelösten-Fehlalarme wie auch hinsichtlich ihrer Unabhängigkeit von jeweiligen Sprecher gewisse Nachteile.
Die in dsn genannten US-Patentschriften beschriebenen Verfahren zur kontinuierlichen Spracherkennung sind in erster Linie darauf gerichtet, in einem kontinuierlichen Sprachsignal eines von mehreren vorgegebenen Schlüsselwörtern zu erkennen bzw. zu lokalisieren. Bei anderen.Anwendungen kann eine kontinuierliche Wortkette erkannt, .werden, wobei das Ergebnis der Analyse bzw. des Erkennungsprozesses darin besteht, daß jedes einzelne Worteleraent der kontinuierlichen Wortkette erkannt wird. Dabei ist unter einer kontinuierlichen Wortkette im vorliegenden Zusammenhang eine Folge von mehreren erkennbaren Elementen zu verstehen, die durch Pausen begrenzt sind. In dieser Beziehung sind die betrachteten Systeme mit den eingangs erwähnten komerziell eingesetzten System zu vergleichen, die der Erkennung isolierter Wörter dienen, wobei die Wortgrenzen von vornherein bekannt sind. Im vorliegenden Fall geht es jedoch darum, daß die Grenzen bzw. die Pausen, zunächst unbekannt sind und von dem Erkennungssystem, selbst erkannt werden müssen- Außerdem sind die zu prüfenden. Sprachelemente keine Schlüsselwortelemente mehr, sondern eine Anzahl von.miteinander verknüpften bzw.. verketteten Elementen, die einen Wort strang bzw»· eine Wortkette, bilden. Auch für die Erkennung von kontinuierlichen Wortketten wurden
-16-
BAD ORIGINAL
A 45 325 b
k - 176 - 16 -
28. September 1982
bereits verschiedene Verfahren, und Geräte vorgeschlagen; diese Verfahren und Geräte haben jedoch wieder verschiedene Nachteile, beispielsweise hinsichtlich der Fehlalärm-Quote, der sprecherunabhängigen Leistung und des Echtzeit-Betriebes.
Ausgehend vom Stande der Technik und. der vorstehend aufgezeigten Problematik liegt der Erfindung die Aufgabe zugrunde, ein Verfahren und., ein Gerät zur Sprachanalyse anzugeben, welches bei der Erkennung von kontinuierlichen Wortketten in einem kontinuierlichen, nicht-markierten Audiosignal zu. deutlich verbesserten Ergebnissen führt. Dabei wird gleichzeitig angestrebt, daß das Verfahren, bzw. das Gerät relativ unempfindlich gegenüber Phasen- und Amplituden-Verzerrungen der unbekannten. Audiosignal-Eingangsdaten sind, daß sie relativ unempfindlich gegen Schwankungen in der Artikulationsgeschwindigkeit der unbekannten Audio-Eingangssignale sind und daß sie bei von verschiedenen Sprechern erzeugten Sprachsignalen eine gleichmäßig gute Wirksamkeit besitzen und damit gegenüber unterschiedlichen Stimm- bzw. Sprachcharakteristiken, unempfindlich sind, daß sie zuverlässig sind und mit einer verringerten Fehlalarmrate arbeiten und daß sie im Echtzeitbetrieb arbeiten können.
Die gestellte Aufgäbe, wird, was das Verfahren anbelangt, bei einem Verfahren der eingangs beschriebenen Art durch folgende Verfahrensschritte gelöst:
-17-
k - 176 - 17 -
28. September 1982
man bildet, während sich wiederholender Rahmenzeiten aus dem Audiosignal jeweils eine das Audiosignal darstellende Folge von Rahmenmustern; man erzeugt ein numerisches Maß für die Ähnlichkeit jedes dieser Rahmenmuster mit jedem der Zielmuster; man akkumuliert für j.edes der Zielmuster die Position für die erforderliche Verweilzeit und. die optionelle Verweilzeit und unter Auswertung der numerischen Maße einen numerischen Wert, der die Übereinstimmung des gerade gebildeten Rahmenmusters mit. der betreffenden Zielmuster-Verweilzeitposition darstellt und man erzeugt auf der Basis der numerischen Werte eine Erkennungsentscheidung, wenn in dem Audiosignal eine vorgegebene Folge auftritt.
Zur Durchführung des erfindungsgemäßen Verfahrens hat sich dabei, ein Gerät besonders bewährt, welches durch folgende. Merkmale gekennzeichnet ist: es sind Einrichtungen vorgesehen, mit deren Hilfe während sich wiederholender Rahmenzeiten aus dem Äudiosignal jeweils eine das Audiosignal darstellende Folge von Rahmenmustern erzeugbar ist; es sind Einrichtungen vorgesehen, mit deren Hilfe ein numerisches Maß für die Ähnlichkeit jedes dieser Rahmenmuster mit jedem der Zielmuster erzeugbar ist;
es sind Akkumuliereinrichtungen vorgesehen, mit deren Hilfe für jedes Zielmuster die Positionen für die erforderliche Verweilzeit und die optionelle Verweilzeit und unter Auswertung der numerischen Maße ein
-18-
A 45 325 b
k - 176 - 18 -
28. September 1982
numerischer Wert akkumulierbar ist, der die Übereinstimmung des gerade gebildeten Rahmenmusters mit der betreffenden Zielmuster-Verweilzeitposition darstellt und
es sich Einrichtungen vorgesehen, mit deren Hilfe auf der Basis der numerischen Werte eine Erkennungsentscheidung erzeugbar ist, wenn in. dem Audiosignal eine vorgegebene Folge .auftritt.
Im einzelnen.sind die erfindungsgemäß'.auzuwertenden Audiosignale speziell Sprachsignale,- in denen mit Verfahren, und Gerät gemäß der Erfindung Schlüsselwörter erkannt werden sollen. Jedes Schlüsselwort ist dabei durch eine Schlüsselwortschablone charakterisiert, welche mindestens ein Zielmuster umfasst. Dabei stellt jedes. Zielmuster mindestens ein Kurzzeit-LeistungsSpektrum dar und ist mit. mindestens einer Position für eine erforderliche Verweilzeit verknüpft, welcher, mindestens --eine Position für eine optioneile Verweilzeit folgt. Im allgemeinen hat jedes Zielmuster mehrere Positionen für die erforderliche und für die optionelle Verweilzeit.
Bei dem erfindungsgemäßen Erkennungsverfahren wird mit einer sich wiederholenden Rahmenzeit aus dem Audiosignal eine Folge von Rahmenmustern.erzeugt, wobei diese Folge, von Rahmenmustern das.Audiosignal darstellen bzw. für dieses repräsentativ ist. Numerische Messwerte der Ähnlichkeit jedes einzelnen Rahmenmusters mit jedem einzelnen Zielmuster werden anschließend
-19-
A 45 325 b
k - 176 -19 -
28. September 1982
erzeugt. Für die erforderlichen und optioneilen Verweilzeitpositionen jedes Zielmusters wird ferner unter Auswertung der numerischen Messwerte ein numerischer Wert erzeugt, der repräsentativ- dafür ist, in welchem Umfang das gerade erzeugte, das Audiosignal darstellende. Rahmenmuster mit den Verweilzeit-Positionen des betreffenden Zielmusters übereinstimmt. Weiterhin wird auf der Basis der numerischen Werte beim Auftreten eines vorgegebenen Ereignisses in dem. .Audiosignal eine Erkennungsentscheidung getroffen.. Das vorgegebene Ereignis ist dabei vorzugsweise das Erkennen von "Stille" bzw. das Erkennen einer Pause.
In Ausgestaltung der Erfindung gehören dabei zu dem Akkumuliervorgang folgende Schritte:
1. das Akkumulieren der zweiten und späteren Verweilzeit-Positionen für jedes Zielmuster, der Summe .des akkumulierten Wertes für die Verweilzeit-Positionen des vorausgegangenen Zielmusters während der vorausgegangenen.Rahmenzeit und des laufenden numerischen Messwertes, welcher mit dem. Zielmuster verknüpft ist;
2. da Akkumulieren der ersten.-.erforderlichen Verweilzeit-Position für jedes erste Schlüsselwort-Zielmuster, der Summe, des besten akkumulierten Wertes während der vorangegangenen Rahmenzeit, welcher mit dem Ende eines
-20-
A 45 325 b
k - 176 - 20 -
28. September 1982
Schlüsselwortes verknüpft ist und des laufenden numerischen Messwerts, welcher mit dem ersten Schlüsselwort-Zielmuster verknüpft ist;
3. das Akkumulieren der Summe des am besten endenden akkumulierten Wertes für das vorausgehende Zielmuster desselben. Schlüsselwortes für.jede erste . Verweilzeit-Position jedes anderen Zielmusters und des laufenden numerischen Messwertes, welcher mit dem Zielmuster verknüpft ist.
Das erfindungsgemäße Verfahren umfasst, ferner vorzugsweise den Schritt, daß in Verbindung mit jeder Rahmenzeit-Position an den Rahmenzeit-Positionen die Identität und Dauer des Schlüsselwortes mit dem besten Wert und mit einer gültigen Endung in dieser Rahmenzeit-Position gespeichert werden und daß außerdem in Verbindung mit dem akkumulierten Wert bei jeder Verweilzeit-Position, ein Wortdauerzählerstand gespeichert wird, der. der Zeitpositionslänge des Schlüsselwortes entspricht, welches mit dem akkumulierten Wert an dieser Verweilzeitposition verknüpft ist. Damit kann der Schritt für die Erzeugung des Erkennungssignals außerdem eine Rückwärtsverfolgung umfassen, bei der die gespeicherten Schlüsselwort-Identitätis- und -dauer-Informationen überprüft werden, um in einer Wortkette jedes Schlüsselwort zu erkennen.
-21-
A 45 325 b
k - 176 - 21 -
28. September 1982
Gemäß einem weiteren Aspekt wird bei dem erfindungsgemäßen Verfahren in Verbindung mit jedem akkumulierten Wert, der den Verweilzeitpositionen entspricht, eine Schlüsselwortdauer-Zählung bzw. ein Schlüsselwortdauer-Zählerstand gespeichert. Der Schlüsselwortdauer-Zählerstand entspricht dabei der Anzahl der numerischen Messwerte (d.h. dem Zeitpositionszählerstand), die akkumuliert, wurden, um den genannten Positionswert für das laufende Schlüsselwortmuster zu bilden. Außerdem besteht erfindungsgemäß die Möglichkeit, die Übertragung der akkumulierten Werte in Abhängigkeit von einem von der Syntax kontrollierten Element auszuführen .
Ein Gerät durch Durchführung des erfindungsgemäßen Verfahrens kann Hardware-mäßig oder Software-mäßig oder mittels einer Hardware/Software-Kombination realisiert werden. Spezielle Hardware-Ausgestaltungen zur Durchführung des- erfindungsgemäßen Verfahrens werden in./der Detailbeschreibung näher -erläutert.
Im übrigen werden weitere Einzelheiten und Vorteile der Erfindung nachstehend anhand von Zeichnungen noch näher erläutert und/oder sind Gegenstand weiterer Schutzansprüche.. Es zeigen:
-22-
A 45 325 b
k - 176 - 22 -
28. September 1982
Fig. 1 ein Flußdiagramm, welches einen allgemeinen überblick über die erfindungsgemäß auszuführende Schrittfolge vermitteln soll;
Fig. 1A ein elektrisches Blockschaltbild einer bevorzugten Ausführungsform eines Geräts zur Durchführung des erfindungsgemäßeii Verfahrens;
Fig. 2 ein schematisches Blockschaltbild eines elektronischen Geräts zur Durchführung gewisser vorbereitender Operationen für das Verfahren gemäß Fig. 1;
Fig. 3 ein Flußdiagramm in Form eine Digital-Rechnerprogramms für eine Reihe von Schritten des Verfahrens gemäß Fig. 1;
Fig. 4 eine grafische Darstellung des erfindungsgemäßen Verfahrens zur gegenseitigen Ausrichtung von Mustern;
Fig. 5 ein elektrisches Blockschaltbild eines Wahrscheinlichkeitsfunktions-Prozessors für eine bevorzugte Ausführungsform eines Geräts zur Durchführung des erfindungsgemäßen Verfahrens;
-23-
k - 176 - 23 -
28. September 1982
Fig. 6 ein elektrisches schematisches Blockschaltbild einer Schaltung zum Subtrahieren und zur Absolutwertbildung für ein bevorzugtes Gerät zur Durchführung des erfindungsgemäßen Verfahrens ;
Fig. 7 ein elektrisches Schaltbild einer logischen Schaltung zum Erfassen eines Übertrags für eine bevorzugte Ausführungsform eines Geräts zur Durchführung des erfindungsgemäßen Verfahrens;
Fig. 8 eine Wahrheitstabelle für die Schaltung gemäß Fig. 7;
Fig. 9 ein schematisches Flußdiagramm für
einen Syntax-Prozessor gemäß einer
bevorzugten Ausfuhrungsform eines
Prozessors- für ein Gerät für die Durchführung des erfindungsgemäßen Verfahrens;
Fig. 10 ein elektrisches Blockschaltbild zur Erläuterung einer Schaltung für eine sequentielle Decodierung und Musterausrichtung für eine bevorzugte Ausführungsform eines Geräts zur Durchführung des erfindungsgemäßen Verfahrens.
In den verschiedenen Figuren sind entsprechende Elemente jeweils mit den gleichen Bezugszeichen bezeichnet.
A 45 325 b
]c - 176 - 24 -
.28. September 1982
Beschreibung eines bevorzugten Ausführungsbeispiels
Bei einem besonders bevorzugten Ausführungsbeispiel der Erfindung, welches nachstehend erläutert wird, erfolgt die Spracherkennung mittels eines Gerätes, welches sowohl speziell konzipierte elektronische Baugruppen zur analogen und digitalen Aufbereitung ' von ankommenden hörfrequenten Datensignalen - im allgemeinen Sprachsignalen - umfasst als auch einen Mehrzweck-Digitalrechner, der erfindungsgemäß derart programmiert ist/ daß mit seiner Hilfe weitere Schritte zur Datenverarbeitung und zur numerischen Auswertung der dabei erhaltenen Ergebnisse ausgeführt werden können. Die Aufteilung der einzelnen Aufgaben auf die Hardware-Teile und die Software-Teile des Geräts bzw. des Systems ist dabei so durchgeführt, daß insgesamt ein System erhalten wird, mit dem die Spracherkennung im Echtzeit-Betrieb bei mäßigem Kostenaufwand erfolgen kann. Dabei ist jedoch zu beachten, daß einige der Aufgaben, die beim betrachteten System von den Hardware-Kreisen ausgeführt werden, auch mittels geeigneter -Programme (Software) gelöst werden könnten,und daß einige der Aufgaben, die beim betrachteten System mittels entsprechender Programme gelöst werden, in Ausgestaltung der Erfindung auch mittels spezieller Schaltkreise gelöst werden könnten. Dementsprechend werden nachstehend, soweit dies zweckmäßig erscheint, für verschiedene Einzelprobleme sowohl die Hardware-Lösungen als auch die
-25-
Ά 45 325 b
k - 176 - 25 -
28. September 1982
Software-Lösungen für ein erfindungsgemäßes Gerät beschrieben.
Ein wichtiger Aspekt der Erfindung besteht darin, daß mit Hilfe des. erfindungsgemäßen Gerätes Wortketten in kontinuierlichen Sprachsignalen auch dann erkannt werden können, wenn diese Signale beispielsweise aufgrund ihrer Übertragung über eine Telefonleitung verzerrt sind. Folglich können die Spracheingangssignale am Eingang 10 in Fig. 1 als Sprachsignale betrachtet.werden, die ausgehend von einem Kohlemikrofon über eine Telefonleitung beliebiger Länge und/oder .mit einer Anzahl von Schaltstellen zu einem Empfänger übertragen wurden. Eine typische Anwendung der Erfindung besteht in der Erkennung kontinuierlicher Wortketten in hörfrequenten Daten, die über das Telefonsystem von einer unbekannten Quelle*empfangen wurden. Andererseits kann das Eingangssignal auch ein beliebiges Audio-Datensignal sein, beispielsweise ein Spracheingangssignal, welches über den. Rundfunk, beispielsweise von einer privaten Sendestation, übertragen wurde oder welches über eine private Leitung übertragen wurde. oder welches von einer in der. "Nähe des Geräts stehenden Person gesprochen wurde.
Wie aus der nachstehenden Beschreibung noch deutlich werden wird, befassen sich Verfahren und Gerät gemäß der Erfindung mit der Erkennung von Sprachsignalen, welche eine Folge von Klangelementen oder Phonemen
*) insbesondere von einem unbekannten Sprecher
-26-
A 45 325 b
28. September 1982
oder andere erkennbare Einzelheiten (Hinweise) enthalten. In..der vorliegenden Beschreibung - und in den Ansprüchen - wird von "einem Wort", "einem Element", "einer Folge von Zielmustern", "einem Schablonenmuster" oder "einem Elementmuster" gesprochen, wobei diese fünf Bezeichnungen als allgemeine und äquivalente Bezeichnungen zu..betrachten sind. Dies ist eine bequeme Möglichkeit, eine erkennbare Folge von Audiosignalen oder von dieser Folge entsprechenden Signalen zu bezeichnen, welche zusammengefasst die Wortkette ergeben, die mit. Verfahren, und Gerät gemäß der Erfindung erfasst und erkannt, werden können.. Die einzelnen Bezeichnungen sollten dabei im weitesten Sinne so verstanden werden, daß sie.alles von: einem einzigen Phonem, einer einzigen Silbe oder einem einzigen Klang bis zu einer Folge von Worten (im grammatikalischen Sinne) umfassen oder auch nur ein einziges Wort.
Das Sprechsignal bzw. das analoge Audiosignal vom Eingang 10 gelangt zu einem Analog/Digital-Wandler 13 - A/D-Wandler - -wo die analogen Daten in ein digitales Signal umgesetzt werden. Der A/D—Wandler 13 ist so ausgebildet, daß die Amplitudenwerte in 12 Bit-Signale umgesetzt werden, und zwar mit einer Abtastfrequenz von 8000 Abtastvorgängen pro Sekunde. (Bei anderen .Ausführungsbeispielen wird mit anderen Abtastfrequenzen gearbeitet, beispielsweise mit einer Frequenz von 16 kHz, wenn ein besonders hochwertiges Digitalsignal erhalten werden, soll.) Das Ausgangs-
-27-
A 45 325 b
28. September 1982
signal des A/D-Wandl'ers 13 wird über Leitungen 15 dem Eingang eines Autokorrelationswandlers 17 bzw. einer Korrelationsschaltung zugeführt, wo die ankommenden, digitalen Eingangssignale mit einer Frequenz von 100 Hz zu " einer Kurzzeit-Autokorrelationsfunktion aufbereitet und an Ausgangsleitungen 19 gelegt werden. Jede Autokorrelationsfunktion umfasst dabei 3 2 Werte bzw. Kanäle, wobei jeder Wert mit einer Auflösung von
30 Bit berechnet wird. Die Autokorrelationsschaltung wird nachstehend .in Verbindung mit Fig. 2 noch näher erläutert.
Die auf den. Leitungen 19 anstehenden Autokorrelationsfunktionen werden in einer Schaltung 21 einer Fourier-Transformation unterworfen, um auf den Ausgangsieitungen 23 der Schaltung 21 innerhalb vorgegebener Zeitfenster Liegende Kurzzeit-Leistungsspektren zu erhalten. Die Leistungsspektren werden dabei mit derselben Frequenz erzeugt, mit der die Autokorrelationsfunktionen erzeugt werden, d.h. mit einer Frequenz von 100 Hz, und jedes Kurzzeit-Leistungsspektrum wird in Form von 31 numerischen Werten ausgegeben, von denen jeder als 16 Bit-Signal dargestellt wird. Jeder der
31 Werte des.Kurzzeit-Spektrums entspricht dabei dem Signalpegei innerhalb eines bestimmten Frequenzbandes. Die Schaltung 21 zur Durchführung der. Fourier-Transformation, umfasst vorzugsweise Schaltkreise zur Erzeugung einer Zeitfensterfunktion, insbesondere zur Erzeugung der Hamming-Funktion, wodurch das
-28-
A 45 325 fa
Übersprechen aus.benachbarten Frequenzbändern reduziert wird.
Beim betrachteten ersten Ausführungsbeispiel erfolgen die Fourier-Transformation sowie die weiteren Schritte der Datenverarbeitung vorzugsweise unter Steuerung durch einen.Mehrzweck-Digitalrechner, der in geeigneter Weise programmiert ist und mit einem peripheren Feldbzw. Matrix-Prozessor arbeitet, um die Rechenoperationen zu beschleunigen,. die beim erfindungsgemäßen Verfahren wiederholt erforderlich sind. Speziell wurde ein Rech-. ner des Typs PDP-11 der Firma Digital Equipment Corporation, Maynard, Massachusetts, USA, verwendet. Ferner wurde als Feld- bzw. Matrixprozessor (Array-Prozessor) ein Prozessor der in der ÜS-PS 4 228 498 beschriebenen Art verwendet. Die nachstehend noch anhand von.Fig. 3 zu erläuternde Programmierung ist speziell auf die Möglichkeiten und die charakteristischen Eigenschaften der vorstehend angesprochenen handelsüblichen digitalen Prozessoreinheiten zugeschnitten.
Die den einzelnen Zeitfenstern zugeordneten Kurzzeit-Leistungsspektren werden einer Frequenzgangentzerrung unterworfen, und zwar in Abhängigkeit von den Amplituden-Spitzenwerten, die in den einzelnen Frequenzbändern bzw. Kanälen auftreten, wie dies nachstehend noch näher erläutert, wird. Die hinsichtlich des Frequenzgangs entzerrten Spektren werden, mit einer Frequenz von 100 Hz erzeugt und über Leitungen 26
-29-
A 45 325 b
28. September 1982
übertragen, wobei jedes Spektrum durch 31 numerische Werte dargestellt wird, die mit einer Auflösung von 16 Bit pro Wert übertragen werden. Um die endgültige Auswertung.der ankommenden Audiodaten zu erleichtern, werden die hinsichtlich des Frequenzgangs entzerrten, den einzelnen Zeitfenstern zugeordneten Spektren, die über die Leitungen 26 übertragen werden-, gemäß Block 35 einer Amplitudentransformation" unterzogen, und zwar einer nicht-linearen Amplitudentransformation. Diese Transformation wird weiter unten noch.näher erläutert, und es soll an.dieser Stelle lediglich darauf hingewiesen werden, daß die Transformation die Genauigkeit verbessert, mit der das unbekannte eingangsseitige Audiosignal an Zielmusterschablonen in einem Bezugsvokabular angepasst werden kann. Bei Ausführungsbeispiel wird die Transformation für alle Spektren vor dem Vergleich derselben mit Mustern durchgeführt, welche die Elemente des Bezugsvokabulars darstellen.
Nach der AmpLitudentransformation werden die Spektren über die Leitungen 38 zum Block 4 0 übertragen, wo sie mit den Elementschablonen verglichen werden, wie dies nachstehend noch im einzelnen erläutert wird. Die Bezugsmuster stellen gemäß Block 42 die Elemente des Bezugsvokabulars in einer statistischen Form dar, die für einen Vergleich mit den transformierten und entzerrten Spektren geeignet ist. Jedesmal, wenn eine "Pause" festgestellt wird, erfolgt eine Entscheidung hinsichtlich der Identität der gerade
A 45 325 b
empfangenen Wortkette (Ausgang 44). Die Kandidaten-Worte werden folglich entsprechend der höchsten, beim Vergleich ermittelten Übereinstimmung ausgewählt. Beim Ausführungsbeispiel dient der Auswahlprozess dabei dazu, die Wahrscheinlichkeit, daß ein Schlüsselwort verloren geht (oder falsch erkannt wird) auf ein Minimum zu reduzieren.
Fig. 1A zeigt ein Spracherkennungssystem gemäß der Erfindung, bei. dem ein sogenannter Controller bzw. ein Steuerprozessor 45 vorgesehen ist, der beispielweise durch einen Mehrzweck-Digitalrechner des Typs PDP-11 gebildet sein, kann oder auch eine für da.s System speziell entwickelte diskrete Schaltung sein kann . Beim Ausführungsbeispiel empfängt der Steuerprozessor 4 5 die vorverarbeiteten Audiodaten von einem Vorprozessor 46, der nachstehend anhand von Fig. 2 noch näher erläutert wird. Der Vorprozessor 46 empfängt die analogen Audio-Eingangssignale über eine Leitung 47 und liefert die bearbeiteten Daten über eine Schnittstelle 48 an den Steuerprozessor 45.
Im allgemeinen ist die Arbeitsgeschwindigkeit des Steuerprozessors, wenn es sich bei diesem um einen Mehrzweck-Rechner handelt, nicht hoch genug, die ankommenden Daten im Echtzeit-Betrieb zu verarbeiten. Daher können mit Vorteil verschiedene, spezielle diskrete Schaltungen verwendet werden, um die .Arbeitsgeschwindigkeit des Steuerprozessors 45 zu erhöhen.
-31-
A 45 325 b
28. September 1982 O Δ 000 O Z
Insbesondere führt ein sogenannter Vektorprozessor 48a, wie er beispielsweise in der USr-PS 4 228 4 98 beschrieben ist,- durch Ausnutzung des sogenanngen Pipeline-Effektes zu einer deutlich verbesserten .Feld- bzw. Matrix-Verarbeitungsgeschwindigkeit. Zusätzlich kann, wie dies in Fig. 4, 5 und 6 noch- näher beschrieben wird, ein Wahrscheinlichkeitsfunktions-Prozessor 48b in Verbindung mit dem Vektorproze.ssor. 48a eingesetzt werden, um die Arbeitsgeschwindigkeit des Systems um den Faktor 1.0 zu erhöhen.
Während beim bevorzugten Ausführungsbeispiel der Erfindung als Steuerprozessor ein Digitalrechner verwendet wird, erfolgt beim abgewandelten Ausführungsbeispiel gemäß Fig. 10 ein beträchtlicher Teil der Datenaufbereitung außerhalb des Steuerprozessors 45 in einem sequentiell arbeitenden Decodierprozessor Die Struktur dieses Prozessors wird in Verbindung mit Fig. 10.noch, näher erläutert. Insgesamt hat das betrachtete System zur Spracherkennung sowohl hinsichtlich der Arbeitsgeschwindigkeit als auch hinsichtlich der Möglichkeit, . die einzelnen Kreise hardware-mäßig oder software-maßig zu realisieren oder mit Hardware/ Software-Kombinationen zu arbeiten, eine hohe Flexibilität.
-32-
A 45 325 b
28. September 1982
Vorprozessor (Preprocessor)
Bei dem System gemäß Fig. 2 werden die Autokorrelationsoperationen, -mit denen zwangsläufig eine Mittelwertbildung verbunden ist, digital auf der Basis der digitalen Daten ausgeführt, die von dem A/D-Wandler 13 angeliefert werden, .der die ankommenden analogen Audiodaten auf der Leitung 10, im allgemeinen ein Sprachsignal, aufbereitet. Der Wandler 13 liefert ein digitales Eingangssignal über die Leitungen 15. Dabei erfolgt die zeitliche Steuerung der A/D-Umsetzung und der Ausführung der Autokorrelationsfunktionen durch einen Taktoszillator 51 , dessen Grundfrequenz von 256 000. Hz mit Hilfe eines Frequenzteilers 52 heruntergeteilt wird, um eine Impulsfolge mit einer Impulsfolgefrequenz von 800 0 Hz zu erhalten. Diese Impulzfolge steuert den A/D-Wandler 13 und ein Latch-Register 53, in dem die 12 Bit-Worte der letzten Umsetzung jeweils solange gespeichert sind, bis die nächste Umsetzung beendet ist.
Die Autokorrelationsprodukte werden mit Hilfe eines digitalen Multiplizierers 56 erzeugt, der die im Register 53 gespeicherte Zahl mit dem Ausgang eines 32 Wort-Schieberegisters 58 multipliziert. Das Schieberegister 58 arbeitet dabei als umlaufendes Schieberegister und wird mit der hohen Gr.undfrequenz (256 kHz) fortgeschaltet, so daß pro A/D-Umsetzung ein kompletter Umlauf der Daten des Schieberegisters erfolgt. Einmal während jedes vollständigen Umlaufs übernimmt
-33-
A 45 325 b
das Schieberegister 58 die in dem Register 53 gespeicherten Daten. Ein erster Eingang des digitalen Multiplizierers 56 ist direkt mit dem Register 53 verbunden, während der andere Eingang des Multiplizierers (abgesehen von der nachstehend angesprochenen Ausnahme) das jeweilige Ausgangssignal des Schieberegisters, über einen Multiplexer. 59 empfängt. Die Multiplikationen werden mit der. höheren Taktfrequenz ausgeführt.
Jeder Digitalwert vom Ausgang des A/D-Wandlers wird also mit jedem, der 31. zuvor erzeugten. Wandlerausgangssignale multipliziert. Man sieht, daß die auf diese Weise erzeugten .Signale einer Multiplikation des Eingangssignals mit sich selbst entsprechen, und zwar mit einer Verzögerung um je einen von 32 Zeitschritten, von denen der eine der Verzögerung Null entspricht. Zur Erzeugung der Korrelation mit der Verzögerung Null, d.h. zur Erzeugung des Leitungswertes des Signals, bewirkt der Multiplexer 59, daß der Inhalt des Registers 53 immer dann mit sich selbst multipliziert wird, wenn ein neuer Wert in das Schieberegister eingespeichert wird. Diese Zeitfunktion wird gemäß Block 60 erreicht, der für eine Schaltung steht, die dafür sorgt, daß der Multiplexer 59 außer bei der Übernahme neuer Daten - in diesem Fall w ird der Eingang A auf den Ausgang durchgeschaltet - seinen Eingang B auf seinen Ausgang zum Multiplizierer 56 durchschalten Man sieht außerdem,, daß die aufgrund einer einzigen
-34-
A 45 325 b
k - 176 - 34 -
28. September 1982
A/D-Umsetzung durch Multiplikation mit ihren 31 Vorgängern erhaltenen Produkte die Energieverteilung bzw. das Spektrum über ein vernünftiges Abtastintervall nicht hinreichend genau darstellen. Folglich ist in dem System, gemäß.Fig. 2 für eine Mittelwertbildung bei diesen Sätzen von Produkten gesorgt.
Ein Rechenvorgang, mit dem diese Mittelwertbildung erreicht wird, wird dadurch realisiert, daß ein weiteres 32 Wort-Schieberegister 63 derart mit einem Addierer 65 verbunden wird, daß ein Satz von 32 Akkumulatoren gebildet wird. Jedes Wort kann folglich umlaufen, nachdem es zu. dem entsprechenden Schritt vom Ausgang des Multiplizierers 56 addiert ist. Die Umlaufschleife enthält dabei ein Gatter 67, welches von einem durch N teilenden Teiler 6 9 gesteuert wird, der seinerseits mit dem niedrigeren Taktsignal (8 kHz) gesteuert wird. Der Teiler 69 teilt die niedrigere Taktfrequenz, durch einen Faktor N, der die Anzahl der in jedem Augenblick für den Additionsvorgang vorgesehenen Autokorrelationsfunktionen bestimmt, so daß eine Mittelwertbildung erfolgt, ehe der Inhalt des Schieberegisters 6 3 ausgelesen wird.
Beim Ausführungsbeispiel werden vor dem. Auslesen jeweils 80 Proben addiert. Mit anderen Worten gilt also für den Divisor des Teilers 69 der Wert N = 80. Nachdem 80 umgesetzte Proben korreliert und addiert sind, triggert der Teiler 6 9 eine Rechner-Interrupt-Schaltung 71 über eine Leitung 72. Zu diesem Zeitpunkt werden
-35-
A 45 325 b
k - 176 - 35 -
28. September 1982 3
die Inhalte des Schieberegisters 6 3 nacheinander über eine geeignete Schnittstelle 73 in den Rechnerspeicher eingelesen, wobei die 32 aufeinanderfolgenden Worte aus dem Register dem Rechner .über die Schnittstelle 73 in geordneter Folge zugeführt.werden. Man sieht, daß diese Datenübertragung von einer Peripherieeinheit, dem Autokorrelations-Vorprozessor, zum Rechner typischerweise nach dem Verfahren des direkten Speicherzugriffs (DMA-Verfahren) erfolgen kann. Unter der Voraussetzung, daß eine Mittelwertbildung über 80 Proben erfolgtrund daß die ursprüngliche Abtastfrequenz bei 8000 kHz liegt wird deutlich, daß .in den Rechner pro Sekunde 100 gemittelte Autokorrelationsfunktionen eingespeichert werden.
Während der Schieberegisterinhalt .in den Rechner ausgelesen wird, ist das Gatter 67 gesperrt, so daß der Registerinhalt für jedes Wort wirksam.auf Null zurück-, gesetzt wird, damit der Addier- bzw. Akkumuiiervorgang erneut beginnen kann.
Die Funktion des Systems gemäß Fig. 2 lässt sich mathematisch wie folgt beschreiben:
Wenn man annimmt, daß der A/D-Wandler 13 eine zeitliche Folge von Signalen S (t) erzeugt, wobei t = 0,TQ, 2Tq7... und wobei TQ = Abtastintervall (beim Ausführungsbeispiel Sekunden), dann kann die digitale Korrelationsschaltung gemäß Fig. 2 unter Vernachlässigung der Undefinierten Startbedingungen
-36-
A 45 325 b
28. September 1982
als eine Schaltung zum Berechnen der folgenden Autokorrelationsfunktion angesehen .werden:
79
j, t) = JI S(t+kTo) S(t+(k-j) To) (1)
k=0
wobei j =0, 1, 2 . .., 31; t = 80 T , 160 T , . .., 8On T , ... Diese Autokorreiationsfunktionen entsprechen den korrelierten Ausgangssignalen auf den Leitungen 19 in Fig. 1.
Betrachtet man Fig. 3, so erkennt man, daß der Digital-Korrela.tor zum Rechner kontinuierlich eine Folge von' Datenblöcken überträgt, und 2.via.r mit einer Geschwindigkeit, bei der eine vollständige. Autokorrelationsfunktion alle 10 ms übertragen wird. Dies entspricht dem Block in Fig. 3..Jeder Dätenblock stellt die Autokorrelationsfunktion dar, die für ein entsprechendes Zeit-Unterintervall erhalten wurde. Wie oben ausgeführt, werden die betrachteten Autokorrelationsfunktionen dem Rechner mit einer Frequenz von hundert 32 Wort-Funktionen pro Sekunde zugeführt. Dieses Analysierintervall wird nachstehend als ein "Rahmen" bezeichnet.
Beim ersten Ausführungsbeispiel erfolgt die Verarbeitung der Autokorrelationsfunktionsdaten mittels eines geeignet programmierten Spezial-Digitalrechners. Das Flußdiagramm, welches die Funktionen umfasst, die aufgrund des Rechnerprogramms ausgeführt werden, ist in
■37-
A 45 325 b
28. September 1982 ·-ν ν ν %/*
Fig. 3 gezeigt. Dabei ist jedoch erneut darauf hinzuweisen, daß die verschiedenen Schritte auch mittels diskreter Schaltungen realisiert werden können, während andererseits gewisse Funktionen des Systems gemäß Fig.2 durch eine entsprechende Überarbeitung des Flußdiagramms gemäß Fig. 3 zusätzlich ausgeführt werden könnten.
Obwohl der Digitalkorrelator gemäß Fig. 2 eine gewisse zeitliche Mittelung der Autokorrelationsfunktionen durchführt, die auf der Basis der Augenblickswerte erzeugt werden, können die gemittelten Autokorrelationsfunktionen, die an den Rechner ausgelesen werden, immer noch gewisse anomale Diskontinuitäten oder Ungleichmäßigkeiten aufweisen, die die ordnungsgemäße Verarbeitung und Auswertung der Proben beeinträchtigen können. Jeder Datenblock, d.h. jede Autokorrelationsfunktion a(j,t) - wird folglich zunächst zeitlich geglättet - Block 78. Das Glätten erfolgt dabei vorzugsweise so, daß für die geglättete Autokorrelationsfunktion folgende Gleichung gilt:
(j,t) = Co a(j,t) '■+ C1 a(j,t-T) + C2a(j,t-2T) (2]
wobei a(j,t) = ungeglättete, eingelesene Autokorrelationsfunktion gemäß Gleichung (1); a (j,t) = geglättete Autokorrelationsfunktion (Ausgang Block 78), j = Verzögerungszeit, t = Echtzeit und T = Zeitintervall zwischen zwei aufeinanderfolgenden Autokorrelationsfunktionen (Rahmen) = 0,01 s beim Ausführungsbeispiel.
-38-
A 45 325 b
k - 176 _ 38 _ 3236832
28. September 1982
Die Bewichtungsfunktionen bzw. Gewichte C , C , C^ werden beim Ausführungsbeispiel vorzugsweise mit 1/4, 1/2, 1/4 gewählt, obwohl auch andere Werte gewählt werden könnten. Eine Glättungsfunktion zur Annäherung einer Gauss'sehen Impulswiedergabe mit einer unteren Grenzfrequenz von 20 Hz könnte beispielsweise durch ein Unterprogramm realisiert werden. Experimente zeigten jedoch, daß die leichter.zu realisierende Glättungsfunktion. gemäß Gleichung 2 befriedigende Ergebnisse liefert. Man sieht, daß die Glättungsfunktion für jeden Wert j der Verzögerung getrennt angewandt wird.
Wie nachstehend noch deutlich werden wird, sind.für die anschließende Analyse verschiedene Operationen hinsichtlich des.Kurzzeit-Fourier-Leistungspektrums des Sprachsignals erforderlich- Dabei wird, um einfache Schaltungen und eine hohe Arbeitsgeschwindigkeit zu erhalten, die Transformation der Autokorrelationsfunktionen in. den Frequenzbereich beim Ausführungsbeispiel in einer 8.Bit-Berech- . nung. . durchgeführt wird. Bei der oberen Grenzfrequenz des Bandpasses in der Nähe von 3 kHz nimmt die spektrale Leistungsdichte auf einen Pegel ab, bei dem die Auflösung in 8 Bit-Signale nicht mehr angemessen ist. Der Frequenzgang des Systems wird daher so gewählt, daß sich ein schräger Verlauf ergibt, gemäß welchem pro Oktave eine Anhebung um 6 dB erreicht wird - Block 79. Diese Anhebung bei den hohen Frequenzen wird erreicht, indem man die zweite
-39-
A 45 325 b
28. September 1982
Ableitung der Autokorrelationsfunktion bezüglich des Arguments derselben, d.h. die Zeitverzögerung bzw. Nacheilung verwendet. Für die abgeleitete Funktion gilt:
b(j,t) = -a(j+l, t) + 2a(j,t) - a(j-1,t) (3)
Zur Auswertung der Ableitung für j=0 wird, angenommen, daß die Autokorrelationsfunktion zu Null symmetrisch ist, so daß gilt: a(-j,t) = a(+j,t). Außerdem sind keine Daten für a (32) vorhanden, so daß davon ausgegangen wird, daß die Ableitung bei j = 31 dieselbe ist wie die Ableitung bei j = 30.
Wie aus dem Flußdiagramm gemäß Fig. 3 deutlich wird, besteht der nächste Schritt des Analysierverfahrens nach der Anhebung der hohen Frequenzen darin, die Signalenergie im laufenden Rahmenintervall abzuschätzen, indem der Spitzenabsolutwert der Autokorrelation gefunden wird. Für die geschätzte Leistung gilt:
P(t) = max Ib(i,t)l (4) .
Zur Aufbereitung der Autokorrelation für die 8 Bit-Spektrumanalyse wird die geglättete Autokorrelationsf unkt ion bezüglich P(t) blockweise normiert - Block 80 - und die acht höherwertigen Bits jedes normierten Wertes werden
-40-
A 45 325 b
28. September 1982
in die diskreten Schaltungen zur Spektrumanalyse eingegeben. Für die normierte (und geglättete) Autokorrelationsfunktion gilt folglich:
c(j,t) = 127 b(j,t)/P(t) . (5) .
Gemäß Block 81 wird jede zeitlich geglättete, durch die Frequenzanhebung aufbereitete, normierte Autokorrelationsfunktion c(j,t) einer Kosinus-Fourier-Transformation unterworfen, um ein Leistungsspektrum mit 31 Punkten zu erzeugen. Die Matrix, der Kosinus-Werte ergibt sich gemäß folgender Gleichung:
S(i,j) = 126 g(i) (cos (JTi/8000)f (j)) , j = 0, 1, 2r ....,31 (6)
wobei S (i,.j) die spektrale Energie in einem Band mit der Mittelfrequenz f(j) (in Hz) zum Zeitpunkt t ist; wobei g(i) = 1/2(1 + cos 2 5Ti/6-3) die Einhüllende der (Hamming-)Fensterfunktion ist, die dazu dient, die Seitenbänder zu unterdrücken und wobei gilt:
f(j) = 30 + 1000 (0.0552J + 0.438)-1 /0' 63„ . ...
Π.Ζ ', \ I)
j = 0, 1, 2, ..., 31
-41-
A 45 -325 b
k - 176
28. September 1982
m 4 «t
- 41 -
wobei es sich um die analysierten Frequenzen handelt, die in regelmäßigen Abständen auf der sogenannten "me1"-Kurve (Melodie-Kurve) der Subjekten musikalischen Tonhöhe liegen. Man erkennt, daß dies einem subjektiven Tonhöhen-(mel-Skala)-Frequenz-Achsenabstand für Frequenzen auf der Bandbreite eines typischen KommunikationskanaLs zwischen etwa 300. und 3500 Hz entspricht.
Da die Spektrumanalyse das Summieren über Nacheilungen zwischen -31 und +31 erforderlich macht, werden unter der Voraussetzung, daß die Autokorrelation nullsymmetrisch . ist, nur die positiven. Werte von j benötigt. Um jedoch zu vermeiden, daß.die Nacheilung für den Null-Wert zweimal gezählt wird, wird die Kosinusmatrix so gewählt, daß gilt:
S(O,j) = 126/2 = 63, für alle j.
Das berechnete Leistungsspektrum ist somit durch folgende Gleichung gegeben:
S1 (j,t) =
31
a (i/t) S
i=0
j = 0,1,. ..,31 (9) ,
wobei das j-ste Ergebnis der Frequenz f(j) entspricht.
-42-
A 45 325 b k - 176
28. September 1982
- 42 -
Man sieht weiterhin, daß jeder. Punkt oder Wert in jedem Spektrum einem zugeordneten Frequenzband entspricht. Während diese Fourier-Transformation vollständig mittels der üblichen Rechner-Hardware durchgeführt werden kann, kann der Prozess, beträchtlich beschleunigt werden, wenn ein externer, als diskrete Schaltung aufgebauter Multiplizierer oder ein Peripheriegerät zur schnellen Fourier-Transformation FFT-Gerät (Fast Fourier Transform) - verwendet wird. Aufbau und Funktion derartiger Geräte.bzw. Moduln sind jedoch.wohlbekannt und sollen daher hier nicht detailliert beschrieben werden. Vorteilhaft sind . ■ in das periphere FFT-Gerät Schaltkreise integriert, die für die Freguenzglättung soxgen, wobei jedes Spektrum frequenzmäßig entsprechend der oben angegebenen bevorzugten (Hamming-)Fenster-Bewichtungs-Funktion g(i) geglättet wird-.~ Dies entspricht dem Block 83 .innerhalb des Blockes 85, welcher der hardwaremäßigen Realisierung der Fourier-Transformation entspricht .
Wenn ein beträchtliches Hintergrundgeräusch vorhanden ist, sollte in dieser Verfahrensstufe von der Funktion S'(j,t) ein geschätztes Leistungsspektrum des Hintergrundgeräusches abgezogen werden. Dabei sollten der bzw. die Rahmen der bzw. die zur Darstellung des Geräuschs gewählt wurden, keine Sprachsignale enthalten. Die optimale.Regel für die Wahl der Geräuschrahmenintervalle ändert sich je nach Anwendung. Wenn der
-43-
k - 176 - 43 --
28. September 1982
Sprecher beispielsweise bei einer Kommunikation in zwei Richtungen mit einer Maschine beschäftigt ist, die durch das Spracherkennungsgerät gesteuert wird, dann ist es beispielsweise bequem., willkürlich einen Rahmen in dem Intervall zu wählen, welches unmittelbar auf den Zeitpunkt folgt, zu welchem die Maschine das Sprechen über ihre Sprecheinheit beendet hat. In weniger eingeschränkten Situationen kann der geeignete Geräuschrahmen gefunden werden,.indem man einen Rahmen nit einer minimalen Amplitude während der letzten ein oder zwei Sekunden eines Audioeingangssignals wählt.
Während von dem FFT-Gerät - Block 85 - nacheinander geglättete Leistungsspektren empfangen werden, erreicht man eine Kommunikationskanalentzerrung, indem für diese Spektren eine (Im allgemeinen verschiedene) Spi.tzenleistungsspektrum-Einhüllende bestimmt wird und indem das Ausgangssignal des FFT-Geräts, wie dies nachstehend beschrieben wird, entsprechend multipliziert wird. Jedes neu erzeugte Spitzenamplituden- -spektrum p(j,t), welches einem ankommenden, unter Verwendung der Fensterfunktion ermittelten Leistungsspektrum S'(j,t) entspricht und von diesem auf den neuesten Stand gebracht wird, wobei j schrittweise
-44-
k - 176 - 44 -
28. September 1982
über die verschiedenen Frequenzbänder des Spektrums fortgezählt wird, ist das Ergebnis einer Spitzenerfassungsfunktion mit schnellem Anstieg und langsamem Abfall für jedes bzw. jeden der Spektrumbänder bzw. -kanäle. Die mit Hilfe der Fensterfunktion ermittelten Leistungsspektren werden bezüglich der zugeordneten Werte des entsprechenden Spitzenamplitudenspektrums normiert. Dies entspricht dem Block 87.
Beim betrachteten Ausführungsbeispiel werden die Werte des "alten" Spitzenamplitudenspektrumsp(j,t-T), die vor dem Empfang eines neuen, unter Berücksichtigung einer Fensterfunktion ermittelten Spektrums bestimmt wurden, mit. dem neu eintreffenden Spektrum S1 (j,t) auf einer Frequenzband- für -Frequenband-Basis verglichen. Das neue Spitzenspektrum p(j,t) wird dann gemäß folgenden Regeln erzeugt: die LeistungSamplitude in jedem Band des "alten" Spitzenamplitudenspektrums wird mit einem festen Bruchteil, beispielsweise mit 1.023/1024 beim betrachteten Ausführungsbeispiel multipliziert. Dies entspricht dem langsam abfallenden Teil der Spitzendetektorfunktion. Wenn die Leistungsamplitude in einem Frequenzband j des ankommenden Spektrums S'(j,t) größer ist als die Leistungsamplitude in dem entsprechenden Frequenzband des abgefallenen Spitzenamplitudenspektrums, dann wird der abgefallene Spitzenamplitudenspektrumwert für dieses Frequenzband, bzw. diese Frequenzbänder durch den Spektrumwert des entsprechenden Bandes des ankommenden, unter Verwendung der Fensterfunktion ermittelten
-45-
a 45 325 b '"*""*' ·:"'~* ""'5236832
k - 176 - 45 -
28. September 1982
Spektrums ersetzt. Dies entspricht dem schnell ansteigenden Teil der Spitzendetektorfunktion. Mathematisch gilt für die Spitzendetektorfunktion folgende Gleichung:
p(j,t) = irex£p(j,t-T)-(1-E); P(t)-S1 (j ,t)J J=O,1,...,3I (10)
wobei j für die einzelnen Frequenzbänder weitgezählt wird, wobei p(j,t) das resultierende Spektrum ist, wobei p(j, t-T) das "alte" bzw. das vorangehende Spitzenspektrum ist, wobei S'(j^t) das neu ankommende, teilweise verarbeitete Leistungsspektrum ist, wobei P(t) die geschätzte Leistung zur Zeit t ist und wobei E der Abfallparameter ist.
Gemäß Gleichung 10 fällt das Spitzenspektrum normalerweise, wenn ein höherer Wert des Spektrumeingangs signals fehlt, mit dem Faktor 1-E ab. Typischerweise gilt E = 1/1024. Es kann jedoch unerwünscht sein, das Spitzenspektrum während der Pausenintervalle abfallen zu lassen, insbesondere, wenn keine schnelle Änderung in den Kommunikationskanälen oder in der Sprechcharakteristik zu erwarten ist. Zum Bestimmen des Pausenrahmens kann das gleiche Verfahren wie zum Auswählen der Hintergrundgeräuschrahmen angewandt werden. Die Amplituden (VP(t)J der letzten 128 Rahmen werden geprüft, und es wird der Minimalwert ermittelt. Wenn die Amplitude des gerade laufenden Rahmens kleiner
-46-
k - 176 - 46 -
28. September 1982
ist als das Vierfache dieses Minimums, wird der laufende Rahmen als Pausenrahmen bestimmt, und für E wird der Wert 1/1024 durch den Wert 0 ersetzt.
Nachdem das Spitzenspektrum erzeugt ist, wird das daraus resultierende Spitzenamplitudenspektrum p(j,t) gemäß Block 89 frequenzmäßig geglättet, indem jeder Frequen2bandspitzenwert mit den Spitzenwerten gemittelt wird, die den benachbarten Frequenzen der neu erzeugten Spitzenspektren entsprechen, vobei die Breite des gesamten Frequenzbandes,das zur Mittelwertbildung beiträgt, ungefähr gleich dem typischen Frequenzabstand zwischen den .Formantf requenzen ist. Wie der Fachmann weiß, beträgt dieser Abstand etwa 1000 Hz. Durch die Mittelwertbildung in dieser speziellen Weise wird die nützliche Information in den
Spektren, d.h. die lokalen Änderungen, die Formantresonanzen enthüllen, erhalten, während die Gesamtanhebung bzw. die Grobanhebung im Frequenzspektrum unterdrückt wird. Das Spitzenspektrum wird erfindungsgemäß vorzugsweise dadurch bezüglich der Frequenz geglättet, daß man die Mittelwertbildung nach einer Funktion ausführt, welche sieben benachbarte Frequenzbänder erfasst und für die folgende Gleichung gilt:
J + 3
3^~ p(k,t) (11) k=j-3
-47-
A 45 325 b k - 176
28. September 1982
- 47 -
Bezüglich der Enden des durchgelassenen Frequenzbandes wird davon ausgegangen, daß p(k,t) für k>31 und k <£. 0 ist. Die normierende Einhüllende h(j) berücksichtigt die Anzahl der tatsächlich summierten gültigen Datenelemente. Folglich gilt: h(0) = 7/4; h(1) = 7/5, h(2) = 7/6, h(3) = 1, ..., h(28) = 1, h(29) = 7/6, h(30) = 7/5 und h(31) =7/4. Das resultierende geglättete Spitzenamplitudenspektrum e(j/t) wird dann verwendet, um das gerade empfangene Leistungsspektrum S'(j,t) zu normieren und hinsichtlich des Frequenzgangs zu entzerren, und zwar dadurch, daß die Amplitudenwerte jedes Frequenzbandes des ankommenden geglätteten Spektrums S'(j,t) durch den entsprechenden Frequenzbandwert in dem geglätteten Spitzenspektrum e(j,t) geteilt werden. Diese Division entspricht folgender Gleichung:
J,t) = (S'(j,t) / e(j,-t)i 32767 (12)
wobei s (f,t) das spitzennormierte, geglättete Leistungsspektrum ist und wobei j über die einzelnen Frequenzbänder fortgeschaltet wird·. Dies entspricht dem Block 91. Man erhält auf diese Weise eine Folge von frequenzentzerrten und normierten Kurzzeitleistungsspektren, welche die Änderungen im Frequenzgehalt des ankommenden Audiosignals betonen, während alle generalisierten: Langzeitfrequenzerhöhungen oder -Verzerrungen unterdrückt werden. Dieses Verfahren der Frequenzkompensation
-48-
k - 176
28. September 1982
k - 176 - 48 -
hat sich bei der Erkennung von Sprachsignalen, die über frequenzverzerrende Verbindungsleitungen, wie z.B. Telefonleitungen, übertragen werden,.gegenüber den üblichen Methoden der Frequenzkorapensation als besonders vorteilhaft erwiesen, bei denen der durchschnittliche Leistungspegel im gesamten Signal oder in jedem einzelnen Frequenzband als Basis für die Kompensation genommen wird.
.An dieser Stella ist es nützlich, darauf hinzuweisen, daß zwar die aufeinanderfolgenden Spektren auf die verschiedene Weise bearbeitet und entzerrt wurden, daß aber die Daten, welche die ankommenden Audiosignale darstellen, immer noch Spektren sind, die mit einer Frequenz von 100 Hz auftreten.
Die normierten und frequenzentzerrten Spektren gemäß Block 91 werden gemäß Block 9 3 einer Amplitudentransformation unterworfen, welche eine nicht-lineare Maßstabsänderung der Spektrumamplitudenwerte bewirkt. Bezeichnet man die einzelnen frequenzentzerrten und normieren Spektren mit s (j, t) (vgl. Gleichung 12), in denen j den Index für die verschiedenen Frequenzbänder des Spektrums bildet, während t die Echtzeit bezeichnet, dann gilt für das nicht-lineare Spektrum x(j,t) mit geändertem Maßstab folgende lineare Gleichung:
s (j,t) - A
x(j,t)· = 128 — j=0, 1, ...,30 (13)
-49-
A 45 325 b . " "
k - 176 - 49 -
28. September T982
wobei A der Mittelwert des Spektrums s (j,t) von j=0 bis 31 ist und wie folgt definiert ist:
1 31
A = y~ s (j,t) (14)
32 J=O n
wobei j als Index den einzelnen Frequenzbändern des Leistungsspektrums zugeordnet ist.
Der einunddreißigste Term des Spektrums wird durch den Logarithmus von A ersetzt, so daß gilt:
x(31,t) = 16 log9 A
Diese Maßstabsfunktion (Gleichung 13) führt zu einem sanften Schwellwerteffekt und einem allmählichen Sättigungseffekt für die spektralen Intensitäten, welche stark vom Kurzzeit-Mittelwert A abweichen. Mathematisch ist.die Funktion für Intensitäten in der Nähe des Mittelwerts annähernd linear. Für Intensitäten, die weiter vom Mittelwert abliegen, ist die Funktion annähernd logarithmisch und für extreme Intensitätswerte ist die Funktion im wesentlichen konstant. In einem logarithmischen Maßstab ist die Funktion x(j,t) zu Null symmetrisch und besitzt ein Schwellwert- und Sättigungsverhalten, welches an das Ansprechverhalten
-50-
k - 176 - 50 -
28. September 1982
eines Gehörnervs denken lässt. In der Praxis ist das gesamte Erkennungssystem wesentlich besser mit dieser speziellen, nicht-linearen Maßstabsfunktion-als ein System mit einer linearen oder einer logarithmischen Abbildung der Spektrumamplituden.
Es wird also eine Folge von amplitudentransformierten, hinsichtlich des Frequenzgangs entzerrten, normierten,. Kurzzeitleistungsspektren x(j,t) erzeugt, wobei t = 0,0-1 s, 0,0 2 s... und j=0, ..., 30 (entsprechend den Frequenzbändern der erzeugten Leistungsspektren). Für jedes Spektrum werden 32 Wörter vorgesehen und der Wert von A (Gleichung 15), der Mittelwert der Spektrumwerte, wird als das zweiunddreißigste Wort gespeichert. Die amplitudentransformierten Kurzzeitleistungsspektren, die nachstehend als Rahmen bezeichnet werden, werden gemäß Block 95 gespeichert, und zwar in einem umlaufenden Speicher, welcher in der Betriebsart "zuerst rein - zuerst raus" (first-in first-out = FIFO) arbeitet und beim Ausführungsbeispiel eine Speicherkapazität von 256 Zweiunddreißig-Wort-Spektren besitzt. Für die Analyse stehen also 2,56 Sekunden, des Audioeingangssignals zur Verfügung. Diese Speicherkapazität führt bei dem Erkennungssystem zu der Flexibilität, nötigenfalls für die Analyse und Auswertung auf Spektren zurückzugreifen, die unterschiedlichen Echtzeiten zugeordnet sind, so daß je nach den Erfordernissen ..der Analyse zeitlich vorgegriffen oder zurückgegriffen werden kann.
-51-
A 45 325 b
k - 176 - 51 -
28. September 198 2
Die Rahmen für die letzten 2,56 Sekunden sind also in dem umlaufenden Speicher gespeichert und bei Bedarf verfügbar. Im Betrieb wird jeder Rahmen für 2,56 Sekunden gespeichert. Ein Rahmen, der in den umlaufenden Speicher zum Zeitpunkt t.. eintritt, geht also verloren bzw. wird 2,56 Sekunden später aus dem Speicher herausgeschoben, wenn zum Zeitpunkt t.. + 2,56 s ein neuer Rahmen eingespeichert wird.
Die Rahmen, die den umlaufenden Speicher passieren, werden vorzugsweise im Echtzeitbetrieb mit einem bekannten Vokabular von Worten verglichen, um die Eingangsdaten in Wortgruppen, die Wortketten genannt werden, zu bestimmen und zu identifizieren. Jedes Wort des Vokabulars wird durch ein Schablonenmuster dargestellt, welches statistisch eine Anzahl von verarbeiteten Leistungsspektren darstellt, die zu mehreren, nicht überlappenden Mehrfach—Rahmen (vorzugsweise 3 Rahmen ■-Zeichensatzmustern) zusammengestellt sind. Diese Muster werden vorzugsweise so gewählt, daß sie signifikante akustische Eigenheiten der Worte des Vokabulars am besten darstellen und sind im. Block 96 gespeichert.
Die Spektren, welche die Zeichensatzmuster bilden, ■werden aus den~Worten erzeugt, die in den verschiedenen Kontexten gesprochen werden, wobei dasselbe System, welches oben beschrieben wurde, verwendet wird, um das kontinuierliche unbekannte Sprachein-
-52-
A 45 325 b
k - 176 - 52 -
28. September 1982
gangssignal von der Leitung 10 in Fig. 1 zu verarbeiten. Zu jedem Wort des Vokabulars gehören somit im allgemeinen mehrere Folgen von Zeichensatzmustern -P(D1, P(D^,..., welche in einem Bereich der Kurzzeitleistungsspektren eine Bezeichnung dieses i-ten Schlüsselworts darstellen. Die Sammlung von Zeichensatzmustern für jedes Schlüsselwort bildet die statistische Basis, auf welcher die Zielmuster erzeugt werden.
Beim Ausführungsbeispiel können die Zeichensatzmuster P(i). als ein Feld mit 96 Elementen angesehen werden, welches drei ausgewählte Rahmen umfasst, die zu einer Reihenfolge geordnet sind. Die das Muster bildenden Rahmen sollten mindestens einen Abstand von 30 ms haben, um eine Störkorrelation aufgrund der Zeitdomänen Glättung zu vermeiden. Bei anderen Ausführungsformen der Erfindung kann eine andere Strategie der Probenbildung für die Wahl der Rahmen verwirklicht werden. Bevorzugt erfolgt die Auswahl der Rahmen jedoch so, daß diese einen konstanten zeitlichen Abstand voneinander haben, vorzugsweise einen Abstand von 30 ms, und daß die sich nicht überlappenden Zeichensatzmuster über das Zeitintervall hinweg, welches das Schlüsselwort definiert, Abstände voneinander haben. Im einzelnen entspricht ein erstes Zeichensatzmuster P1 einem Teil des .Schlüsselwortes in der Nähe des Anfangs desselben, während ein zweites Muster P_ einem zeitlich späteren Teil entspricht usw., wobei die Muster P-, P,... die statistische Basis für eine
-53-
A 45 325 b
k - 176 - 53 -
28. September 1982
Serie oder Folge von Zielmustern bilden, die die Wortschablone bilden, mit welcher die ankommenden Audiodaten verglichen werden. Die Zielmuster P , P„... umfassen jeweils statistische Daten, die aus dem entsprechenden Wert P(i). unter der Annahme erzeugt werden, daß alle P(i). unabhängige Gauss'sehe Variable sind, die die Erzeugung einer Wahrscheinlichkeitsstatistik hinsichtlich der Übereinstimmung der Undefinierten eintreffenden Rahmen mit den Zielmustern gestatten. Die Zielmuster bestehen also aus einem Feld, in dem die einzelnen Werte die mittlere Standard-Abweichung und einen. Bereichsnormierungsfaktor für eine entsprechende Sammlung von Zeichensatzmusterfeidwerten umfassen. Eine weite'r verfeinerte Wahrscheinlichkeitsstatistik wird weiter unten beschrieben.
Der Fachmann weiß, daß nahezu alle Worte regional und/ oder hinsichtlich ihres Kontextes mehr als eine Aussprache haben können und damit mehr als eine "Schreibweise" von Zeichensatzmustern. Ein Wort des Vokabulars mit der Musterschreibweise P , P2-·· 9emäß ^en obigen Ausführungen kann also tatsächlich allgemein durch die Folge p(i),, p(i)2/ ··· i = 1/ 2, ..., M ausgedrückt werden, wobei jeder der p(i) .-Werte eine mögliche alternative Beschreibung der j-ten Klasse von Zeichensatzmustern darstellt, und wobei insgesamt M unterschiedliche "Schreibweisen" für das Wort vorhanden sind.
-54-
BAD ORIGINAL
k - 176 - 54 -
28. September 1982
Von den Target-Mustern tq , t2, ... t±, ... stellt also jedes im ganz allgemeinen Sinne mehrere alternative statistische "Schreibweisen" für die i-te Gruppe oder Klasse der Zeichensatzmuster dar. Beim Ausführungsbeispiel wird die Bezeichnung "Target-Muster" bzw. "Zielmuster" in ganz allgemeinem Sinne verwendet, und jedes Zielmuster kann daher ein oder mehrere zulässige alternative "statistische Schreibweisen" haben.
Die Vorverarbeitung der ankommenden Audiosignale und die Audiobildung der Referenzmuster ist nunmehr abgeschlossen.
Verarbeitung der gespeicherten Spektren
Ein tieferes Studium des Schlüsselworterkennungsverfahrens von verketteten phonetischen Mustern in erfassten Worten, wie es in den "JS-?Sen 4 241 329 und 4 227 177 beschrieben ist, hat gezeigt, daß dies ein Sonderfall eines allgemeineren und möglicherweise überlegenen Erkennungsverfahrens ist. unter Bezugnahme auf Fig. 4 kann die Worterkennungssuche als das Problem des Auffindens eines geeigneten Pfades durch einen abstrakten Zustandsraum dargestellt werden. In dieser Figur stellt jeder Kreis einen möglichen Zustand dar, der auch als Verweilzeitposition oder -register bezeichnet wird, durch die bzw. das der Prozess der Entscheidungsfindung hindurchlaufen kann. Der Zwischenraum zwischen gestrichelten senkrechten Linien
-55-
A 45 325 b
k - 176 - 55 -
28. September 1982
120, 122 stellt jeden der hypothetischen Zustände dar, durch die der. Entscheidungsf indung.sprozess hindurchlaufen kann, um zu bestimmen, ob ein Muster zu einem vorliegenden bzw. im Augenblick zu prüfenden oder laufenden Phonem passt oder nicht. Dieser Zwischenraum ist in einen Bereich 124 für eine erforderliche Verweilzeit und einen Bereich 126 für eine möglicherweise erforderliche .bzw. optioneile Verweilzeit unterteilt. Der Bereich.für die erforderliche Verweilzeit entspricht der Mindestdauer des jeweils zu untersuchenden Phonems oder Musters. Der Bereich der optioneilen Verweilzeit .stellt die maximale zusätzliche Dauer des Musters dar. Jeder der Kreise in den.Bereichen für die optxonelle und die erforderliche Verweilzeit stellt, einen Zeitrahmen des Kontinuums von gebildeten Rahmen dar. und entspricht den 0,01 s-Intervallen von Rahmen zu Rahmen. Somit identifiziert jeder Kreis eine hypothetische, laufende phonetische Position in einer Wort-Aussprache und stellt zusammen mit der Anzahl von 0,01 s-Rahmen, die nach der Hypothese bereits verstrichen sind, seit das gerade untersuchte bzw. laufende. Phonem begann, wobei diese Anzahl der Anzahl der früheren Kreise oder. Positionen in diesem Phonem oder Zielmuster entspricht/ die gegenwärtige Dauer.des Musters dar. Nachdem ein Muster (Phonem) begonnen hat und nachdem das. Mindestverweilzeitintervall verstrichen ist, gibt es mehrere mögliche Pfade für das Vorrücken zu dem ersten Knoten bzw. zur ersten Position (Kreis) 128 des nächsten Zielmusters (Phonem). Dies ist davon abhängig, wann die Entscheidung } zum nächsten Muster
-56-
A 45 325 b
k - 176 ,fi
28. September 1982
(Phonem) der Aussprache, vorzurücken, getroffen wird. Diese Entscheidungsmöglichkeiten sind in Fig. 4 durch die verschiedenen Pfeile dargestellt, die zum Kreis 128 führen. Ein Übergang zum nächsten Muster (Phonem), dessen Anfang durch den Kreis 128 dargestellt ist, kann an jedem, Knoten bzw. an jeder Position während der optioneilen Verweilzeit des laufenden Musters .(Phonems) erfolgen - oder am letzten Knoten des erforderlichen Verweilzeitintervalls.
Das in den US-PSen 4 241 329; 4 227 176 und 4 227 beschriebene Schlüsselworterkennungsverfahren bewirkt den Übergang an dem ersten derartigen Knoten, an dem der Wahrscheinlichkeitswert für das nächste Muster (Phonem) besser ist als der Wahrscheinlichkeitswert bezüglich des laufenden Musters (Phonems). Dies bedeutet, daß ein Rahmen 'besser zu dem nächsten Phonem oder Muster passt als zu dem laufenden Phonem oder Muster. Die.Txefferquote bzw. der Wahrscheinlichkeitswert für das Gesamtwort ist jedoch die mittlere Tefferquote. bzw. der Wahrscheinlichkeitswert für die Muster bz.w. Phoneme pro Rahmen, d.h. pro Knoten in dem durchlaufenden Pfad. Dieselbe Definition für die gesamte Trefferquote für ein Wort bis zum Erreichen des jeweiligen Knotens kann benutzt werden, um zu entscheiden, wann der Übergang erfolgen muß. Mit anderen Worten · wird also entschieden, ob der Übergang zum nächsten Muster beispielsweise bei.der ersten Gelegenheit erfolgen soll, was beispielsweise einem Übergang längs der Linie 130 entspricht, oder zu einem späteren
-57-
Copy
A 45 325 b
k - 176
28. SeDtember 1982
- 57 -
Zeitpunkt, was beispielsweise einem Übergang längs der Linie 132 entsprechen würde. Im günstigsten Fall wählt man denjenigen Weg zum nächsten Muster (Phonem), für welches die mittlere Trefferguote pro Knoten am günstigsten ist. Da das Standardschlüsselwortverfahren gemäß den üS-PSen 4 241 329, 4 227 176 und 4 227 177 die möglichen Pfade nicht prüft, nachdem die Entscheidung für einen übergang zum nächsten Muster .(Phonem) gefallen ist, kann also dort eine nicht völlig optimale Entscheidung bezüglich der mittleren Trefferquote pro Knoten getroffen werden.
Für die Erkennung von Wortketten wird erfindungsgemäß eine Strategie angewandt, bei der eine mittlere Trefferguote pro Knoten berücksichtigt wird. Wenn man diese Strategie bei einer Wortkettenerkennung anwendet, wie sie nachstehend noch näher beschrieben wird, ergibt sich dabei das Problem, daß man entweder alle partiellen Worttreffer entsprechend der Anzahl der erfassten Knoten normieren muß,was bezüglich des Rechenaufwands nicht effektiv ist, oder daß man bei der Akkumulation so vorgehen muß-, daß eine ausdrückliche Normierung nicht erforderlich ist. Eine natürliche Vorgabe besteht darin, bei der Suche in dem geschlossenen Vokabular die nicht-normierte Trefferquote für das beste Wort zu verwenden, welches in der laufenden Analysezeit endet. In diesem Fall ist die summierte Trefferquote von allen Knoten stets die Summe derselben Zahl von Elementmustertreffern bzw. Wahrscheinlichkeitswerten. Weiterhin wird die Trefferquote
-58-
BAD ORIGINAL
copy j
A 45 325 b
k - 176 - 58 -
28. September 1982
durch diese Vorgabe in die Trefferquote für die beste bzw. wahrscheinlichste Wortkette transformiert, die am laufenden Analyseknoten endet.
Die Strategie der Entscheidung aufgrund der mittleren Trefferguote pro Knoten kann durch eine dynamische Programmierung mit dem Vektorprozessor gemäß der US-PS 4 228 498 realisiert werden. Wenn der Prozessor auf diese Weise programmiert wird, ergibt sich eine Verarbeitungsgeschwindigkeit, die etwas höher ist als für das Standardschlüsselworterkennungsverfahren, welches in den US-PSen 4 241 329, 4 227 176 und 4 227 177 beschrieben ist, und zwar obwohl mehr Hypothesentests erforderlich sind.
Allgemein gesagt erinnert sich das Programm, wenn Wortketten erkannt werden sollen, an den Namen des besten hypothetischen Vokabularwortes, welches-an jedem einzelnen -Analyseknoten endet. Es erinnert sich außerdem an den Knoten (die Zeit), an dem (zu der) dieses beste Wort begann. Die beste Wortkette wird dann gefunden, indem man vom Ende der Äußerung (des Phonems) rückwärts sucht und den gespeicherten Wortnamen notiert und das nächst-vorangehende Wort zur angegebenen Anfangszeit des laufenden Wortes findet.
Indem man auch eine Pause als Vokabularwort betrachtet, wird es unnötig, zu spezifizieren, wieviele Worte in der Wortkette enthalten sind. Der Vorgang der
-59-
A 45 325 b
k - 176 - 59 -
28. September 1982
Rückwärtsverfolgung zum Finden der Kette wird immer dann ausgeführt, wenn das Pausenwort die höchste Worttrefferzahl hat, und diese Operation endet bei der nächsten, zuvor entdeckten Pause. Auf diese Weise wird immer dann eine Kette gefunden, wenn der Sprecher eine Pause macht, um Luft zu holen.
Das hier beschriebene Wortketten-Erkennungsverfahren liegt um eine Stufe der Abstraktion höher als die Erkennung von einzelnen Schlüsselworten. Da die Wortkettensuche dazu zwingt, die gesamte Spracherzeugung während einer Äußerung in ein Wort der Kette einzuschließen, hat sie einen Vorteil gegenüber der einfacheren Wortauffindung, wo häufig die-falsche Art von Wörtern innerhalb längerer Wörter entdeckt wird.
Vorteilhafterweise sind für die Wortkette keine Takt- bzw. Zeitgabemuster erforderlich, da der Wortverketter für -jedes angenommene Wortende eine neue Wortanfangszeit ausgibt.
Der einfachste Kettenverketter geht davon aus, daß diese Wortanfangszeiten korrekt sind-. Beim Erfassen •einer Pause geht er davon aus, daß die Kette von Worten gerade beendet ist und daß der Beginn des letzten Wortes das Ende des vorangehenden Wortes ist, welches eine Pause sein kann. Es ist dann eine einfache Sache, sich nach hinten durch die Kette zu tasten und an jeder Wortgrenze das Wort mit der besten Endtrefferquote zu wählen. Da gewöhnlich ein vom Kontext abhängiger Übergang zwischen je zwei benachbarten Worten
-60-
A 45 325 b
k - 176 - 60 -
28. September 1982
der Kette vorhanden ist, kann es besonders vorteilhaft sein, dem Gerät zu gestatten, die Nachbarschaft jedes Wortanfangs nach dem besten Ende des vorausgehenden Wortes abzusuchen.
Verfahren und Gerät gemäß der Erfindung sollen nachstehend anhand der jeweiligen Hardware- und Software-Ausführungen mehr ins Einzelne gehend erläutert werden.
Gemäß Fig. 3 s-cellen die im Block 95 gespeicherten Spektren bzw. Rahmen die ankommenden kontinuierlichen Audiodaten dar, welche mit den gespeicherten Schablonen oder Zielmustern verglichen werden, die in Block 96 gespeichert sind und Schlüsselworte .des Vokabulars darstellen., wobei der Vergleich nach folgendem Verfahren erfolgt:
Für jeden 10 ms-Rahmen wird im Block 97 ein Muster zum Vergleich mit den gespeicherten Bezugsmustern gebildet, indem der laufende Spektrumvektor s(j,t), das Spektrum s(j,t-0,03) des drittletzten Rahmens und das Spektrum s(j,t-0,06) des sechstletzten Rahmens zu folgendem Feld bzw. Muster aus 96 Elementen zusammengefasst werden:
js(j,t-0,06), j=0,...,31
x(j,t) = . s(j-32,t-0,03, j=32,...,63 s(j-64,t), j=64,...,95
-61-
A 45 325 b
k - 176
28. September 1982
Wie oben ausgeführt, bestehen die gespeicherten Bezugsmuster aus den Mittelwerten, den Standardabweichungen und Bereichsnormiertermen von zuvor zusammengestellten 96 Elementmustern, die zu den verschiedenen Sprechmusterklassen gehören, die erkannnt werden sollen. Der Vergleich wird aufgrund eines Wahrscheinlichkeitsmodells der Werte x(j,t) erreicht," die zu erwarten sind, wenn das Spracheingangssignal zu einer bestimmten Klasse gehört. Während für das Wahrscheinlichkeitsmodell· eine Gauss'sehe Verteilung verwendet werden kann.(vgl. die oben erwähnten US-Patente 4 241 329, 4 227 176 und 4 227 177) ,erfordert die Laplace-Verteilung
ρ (χ) - =Cl / YT s ' ) exp- ( TT I x-m ( /s ' )
(wobei m der statistische Mittelwert ist und wobei s1 die Standardabweichung der Variablen χ ist) weniger Rechenarbeit und hat sich als nahezu ebenso brauchbar wie die Gauss'sehe Verteilung erwiesen, wenn beispielsweise unabhängig vom Sprecher das Verfahren der isolierten Worterkennung angewandt werden soll·, welches in der US-PS 4 038 503 beschrieben ist. Das Maß der Ähnlichkeit L(x f k) zwischen einem unbekannten Eingangsmuster .χ und dem k-ten gespeicherten Bezugsmuster ist proportional· zum Logarithmus der Wahrscheinlichkeit und wird in der ."nachfolgenden Formel mit 100 angenommen:
-62-
k - 176 - 62 -
28. September 19 82
96 I χ. - u.
L(X |k) = ^. +A1, (17)
i=1 s ik
96
1
wobei A1 = ^> 1ns1..
Zum Kombinieren der Wahrscheinlichkeitswerte L· einer Folge von Mustern mit dem Ziel der Bildung, des Wahrscheinlichkeitswertes eines gesprochenen Wortes oder Satzes wird der Wert L(x | k) für jeden Rahmen eingestellt, indem der beste (kleinste) Wert aller Bezugsmuster für diesen Rahmen subtrahiert wird, und zwar gemäß folgender Gleichung:
L1 (x j k) = L(x j k) - min L(x | i) (18)
Auf diese Weise wird das am besten zu jedem Rahmen passende Muster den Wert Null haben. Die eingestellten Werte für eine hypothetische Folge von Bezugsmustern können Rahmen für Rahmen addiert werden, um einen Folgewert zu erhalten, der direkt mit der Wahrscheinlichkeit verknüpft ist, so daß eine Entscheidung zugunsten der angezeigten Folge die richtige Entscheidung wäre.
-63-
A 45 325 b
k - 176 -6 3-
28. September 1982
Der Vergleich der unbekannten Eingangsspektrummuster mit den gespeicherten bekannten Mustern erfolgt durch Berechnung der folgenden Funktion:
96 _
σ = !>~ ■& I χ - U I + C (19)
wobei s., = i/s1.,) für das k-te Referenzmuster. Bei einer normalen programmierten Berechnung würden die folgenden Befehle ausgeführt, um die algebraische Funktion s jx-uI {gemäß Gleichung 19) zu berechnen:
1. berechne x-u
2. prüfe das Vorzeichen von x-u
3. wenn x-u negativ ist, bewirke einen Vorzeichenwechsel, um den Absolutwert zu erhalten
4. multipliziere mit s
5. addiere das Ergebnis in einen Akkumulator.
Bei einem typischen Spracherkennungssystem mit einem 20-Wort-Vokabular würden ungefähr 222 verschiedene Referenzmuster vorhanden sein. Die Anzahl der erforderlichen Schritte zur Auswertung derselben
-64-
A 45 325 b
k - 176 - 64 -
28. September 1982
beträgt dann 5 χ 96 χ 222 = 106560 Schritte, ohne die zusätzlichen allgemeinen Programmschritte, und dies muß in weniger als 10 ms geschehen, .um mit der Echtzeit-Spektrumrahmen-Geschwindigkeit Schritt zu halten. Der Prozessor muß daher in der Lage sein, pro Sekunde nahezu 11 Millionen Befehle auszuführen,.und zwar nur, um gerade die Wahrscheinlichkeitsfunktionen auszuwerten. In Anbetracht der erforderlichen Geschwindigkeit wird erfindungsgemäß vorzugsweise ein spezieller Wahrscheinlichkeitsfunktions-Hardware-Modul 200 (Fig.4) verwendet, der mit einem System-Vektorprozessor gemäß der US-PS 4 228 498 kompatibel ist.
Bei dem Spezialmodul 200 werden die fünf oben aufgeführten Schritte gleichzeitig mit zwei Sätzen von Argumenten -.s, x, u ausgeführt, so daß im Endeffekt in der Zeit, die normalerweise für die Ausführung eines einzigen Befehls erforderlich ist, zehn Befehle ausgeführt werden. Da der Basis-Vektorproz.essor mit einer Geschwindigkeit von 8 Millionen Befehlen pro Sekunde arbeitet, ergibt sich bei dem hier verwendeten speziellen Modul 200 für die Wahrscheinlichkeitsfunktionen eine effektive Berechnungsgeschwindigkeit von etwa 80 Millionen Befehlen pro Sekunde.
Wie Fig. 5 zeigt, arbeitet der Modul 20 0 mit einer Kombination von sogenannten Pipeline-Operationen und Parallel-Operationen, um gleichzeitig jeweils zehn Schritte ausführen zu können. Dabei.führen zwei
-65-
A 45 325 ij
* - 176 _ 65 .
28. September 19 82
unabhängige Bereiche 202 und 204 jeweils fünf arithmetische Schritte mit den unabhängigen. Eingangsdatenargumenten aus,und die zwei Ergebnisse werden in einem Addierer 206 zusammengefasst, der mit deren Ausgängen verbunden ist. Die Akkumulation der Summierungen des Addierers 206. bilden "die Summierung von 1 bis 96 gemäß Gleichung "19, die von der Recheneinheit des Standard-Vektorprozessors gemäß US-PS 4 288 4 98 verarbeitet wird.
Die im Pipeline-Betrieb arbeitenden Register speichern die Zwischendaten bei den folgenden Stufen der Datenverarbeitung:
1. Eingangsargumente (getaktete Register 208, 210, 212, 214, 216, 218)
2. Betrag von x-u (getaktete Register 220, 222)
3. Ausgang des Multiplizieren (getaktete Register 224, 226).
Anhand der Eingangsdaten in den getakteten Registern 208 bis 218 wird die Größe von x-u durch Schaltkreise 228, 230 zur Subtraktion und Absolutwert-Bildung bestimmt. Gemäß Fig. 6 enthält jeder der Schaltkreise 228, 230 zur.Subtraktion und Betragsbildung jeweils eine erste und eine zweite Subtraktionsschaltung 232, 234, von denen die eine dazu dient, die Differenz
-66-
A 45 325 b
k - 176 - 66 -
28. September 1982
x-u zu bestimmen, während die andere, die Differenz u-x bestimmt, sowie einen Multiplexer 236 zur Auswahl des positiven Ergebnisses- Die Eingangsargumente χ und u, die über die Leitungen 238, 240 von den Registern 208 bzw. 210 zugeführt werden, sind 8 Bit-Ziffern zwischen -128 und +127. Da bei der Differenz-bildung in den 8 Bit-Subtraktionsschaltungen 232 und 234 ein Übertrag auf die neunte Bit-Stelle entstehen kann (z.B.: (127-(-128) = 255), sind spezielle Schaltungseinrichtungen erforderlich, die der Auswertung des Übertrags dienen. (Das Vorliegen eines Übertrags wird mittels eines Übertrag-Detektors·235 festgestellt, an desse.n Eingängen über eine Leitung 235a das Vorzeichen von χ und über eine Leitung 235b das Vorzeichen von u sowie, über eine Leitung 235c das Vorzeichen der Differenz x-u zugeführt werden).
Wie Fig. 7 zeigt, sind die Übertrag-Detektoren beim Ausführungsbeispiel kombinierte Schaltungen aus jeweils einem UND-Gatter 268 bzw. 27 0 mit drei Eingängen und einem ODER-Gatter 272. Aus der Wahrheitstabelle gemäß Fig. 8 wird die Verknüpfung zwischen der Übertragbedingung und den Eingangssignalen deutlich.
Die Berücksichtigung der Übertragbedingung erfolgt dadurch, daß der Multiplexer 236,mit dessen Hilfe das positive Subtraktionsergebnis ausgewählt wird, vier Wahlmöglichkeiten bietet. Die Entscheidung wird dabei durch die binären Pegel.auf den Leitungen 242 und 244
-67-
A 45 325 b
k " 176 - f?7
28. September 1982
bestimmt. Dabei ist der Pegel auf der Leitung 242 dem Vorzeichen der Differenz x-u zugeordnet, während das Vorhandensein eines Übertrags durch eine "1" auf der Leitung 244 angezeigt wird.
Insgesamt bestehen folgende Möglichkeiten:
Leitung 242 Leitung 244
0 0 wähle Ausgang der Sub
traktionsschaltung 232
1 0 wähle Ausgang der Sub
traktionsschaltung 234
0 1 wähle Ausgang der Sub
traktionsschaltung 232
um'1 Bit nach unten verschoben
1 1 wähle Ausgang der Sub
traktionsschaltung 234
um 1 Bit nach unten verschoben
Der Multiplexer 236 wird somit so gesteuert, daß er als 8-poliger elektrischer Schalter mit vier Schaltstellungen arbeitet. Der "Schiebevorgang" um 1 Bit wird kombinatorisch ausgeführt, indem man die Ausgange der Subtraktionsschaltungen zu den entsprechenden Multiplexereingängen durchschaltet. Der Schiebevorgang entspricht einer Division durch 2.
-68-
A 45 325 b
k - 176 - 68 -
28. September 1982
Wenn bei einer Subtraktion ein. Übertrag auftritt, entspricht das Ausgangssignal .des Multiplexers dem durch 2 geteilten Ausgangssignal einer der Subtraktionsschaltungen. Diese Bedingung muß später bei der Berechnung berücksichtigt werden, damit das Endergebnis dann mit 2 multipliziert wird, um den richtigen Maßstabsfaktor wieder herzustellen. Diese Multiplikation erfolgt bezüglich des Ausgangssignals des Multiplexers hinter dem letzten "Pipeline"-Register. Aus diesem Grund wird in den Pipeline-Registern 220, 222, 224, 226 ein Extra-Bit bereitgehalten, um die zweiten Multiplexer 248, 250 zu steuern, welche die Multiplikationsprodukte eines 8x8 Bit-Multiplizierers 252, 254 um 1 Bit nach oben verschieben, was einer Multiplikation mit 2 entspricht, sobald das Übertrag-Bit gesetzt ist (logischer Pegel "1"). Die Multiplikation wird mittels einer handelsüblichen integrierten Schaltung mit der TRW-Baustein-Bezeichnung MPY-8-HJ durchgeführt, der zwei Ziffern mit jeweils 8 Bit zugeführt werden' können und die an ihrem Ausgang das Produkt der beiden Ziffern liefert.
Die Multiplizierer 252, 254 erzeugen somit das Produkt von ¥ und | x-u|bei jedem Taktimpuls (wobei die zeitliche 'Steuerung für den Wert von s in der richtigen Weise durch die besonderen Datenregister 256, 258 erfolgt) . Die Ausgangssignale der Multiplizierer 252, 254 werden.gepuffert in die Register 224, 225 eingespeist und über Leitungen 260, 262 und einen Addierer 206 an die übrige Schaltung ausgegeben.
-69-
A 45 325 b
Jc - 176 " _ go _
28. September 1982
Derselbe Spezial-Hardware-Modul. 200 wird auch zum Berechnen des inneren Produktes zweier Vektoren verwendet, wie dies bei einer Matrix-Multiplikation erforderlich ist. -Dies wird durch die Gatter-Schaltungen 264, 266 erreicht, die einen Parallel-Pfad zu den Schaltungen 228 bzw. 230 zur Subtraktion..und zur Absolutwert-Bildung bilden. Beim Vorliegen der Bypass-Bedingung werden die Daten χ und s von den Eingangsleitungen direkt als Eingangssignale für die Multiplikation in die Pipeline-Register 220, 222 eingespeist.
Wortpegelmusterausrichtung '
Ein dynamisches Programmierverfahren (Block 101) wird vorzugsweise angewandt, um die Korrespondenz zwischen einem unbekannten Eingangssprachsignal und jeder Schablone für ein Wort des Vokabulars zu optimieren. Jede Wortschablone besteht dabei nicht nur aus einer Folge der .oben angesprochenen Bezugsmusterstatistiken, sondern umfasst auch Daten über die minimale und die maximale Freizeit, die mit jedem Bezugsmuster verknüpft ist. Bei der Anwendung einer dynamischen Programmierung wird für jedes Wort des Vokabulars ein Satz von Speicherregistern vorgesehen. Die Anzahl der Register ist dabei gleich der Summe der maximalen Verweilzeiten der Referenzmuster, die das Wort bilden, d.h. proportional zur längsten zulässigen.Wortdauer.
-70-
A 45 325 b
k - 176 - 70 -
28. September 1982
Diese Register entsprechen den Kreisen in Fig.· 4, wobei jeder Kreis für ein Register steht.
Für jeden Rahmen des Eingangssprachsignals werden alle diese Register eingelesen und ausgelesen. Dabei enthält jedes Register, wie dies nachstehend noch detailliert beschrieben wird, den berechneten Wahrscheinlichkeit swert, welcher der Hypothese entspricht, daß das angezeigte Wort des Vokabulars gesprochen wird und daß die laufende Position in diesem Wort dem jeweiligen Referenzmuster und der dem Register zugeordneten Verweilzeit entspricht. Es wird dafür gesorgt, daß alle diese Register zunächst schwache Wahrscheinlichkeitswerte enthalten, um so anzuzeigen, daß zunächst keine der dargestellten Hypothesen eine brauchbare Wahrscheinlichkeit besitzt.
Der Registerinhalt wird auf die nachstehend beschriebene Weise jeweils auf den neuesten Stand gebracht. Das erste Register für jede Wortschablone, d.h. dasjenige Register, welches der Hypothese entspricht, daß mit dem Sprechen des Wortes gerade begonnen wurde, enthält die Summe eines Wertes a und eines Wertes b, wobei a der Wahrscheinlichkeitswert: des laufendes Rahmens bezüglich des ersten Bezugsmusters des Wortes ist und wobei b der beste Wert aller letzten Register sämtlicher Vokabularworte ist (d.h. der akkumulierte WahrscheinlichkeLtswert für die Hypothese,daß im vorausgegangenen Rahmen irgendein Wort beendet wurde).
-71-
A 45 325 b
k - 176 _ 71 _
28. September 1982
Das zweite Register einer Wortschablone enthält die Summe eines Wertes a, nämlich des Wahrscheinlichkeitswertes des vorliegenden Rahmens bezüglich des ersten Bezugsmuster des Wortes und des Wertes b, nämlich des Inhalts des ersten Registers für den vorausgegangenen Rahmen. Das zweite Register enthält also den Wert, der sich aufgrund der Hypothese ergibt, daß das angezeigte Wort gesprochen wird und daß es im vorausgehenden Rahmen begonnen hat.
Während die einzelnen Register entsprechend den Verweilzeiten zwischen der Minimaldauer und der Maximaldauer auf den neuesten Stand gebracht werden (das optioneile Verweilzeitintervall), wird ein eigenes Speicherregister dazu verwendet, die besten gespeicherten Wahrscheinlichkeitswerte (Registerinhalt) in den Registern zu speichern, die dem optionellen Verweilzeitintervall für jeden folgenden "laufenden Rahmen" entsprechen. Dieser beste Wert, der während der vorangehenden Rahmenzeit gefunden wurde, wird benutzt, um die nächsten Inhalte des ersten Registers zu berechnen, die dem erforderlichen Verweilzeitintervall des nächsten Zielmusters bzw. der nächsten Schablone für das Wort entsprechen. Die gegenwärtigen Inhalte der ersten Register des nächsten Bezugsmusters werden also erzeugt, indem der genannte beste Wert (des vorausgegangenen Zielmusters) zum Wahrscheinlichkeitswert des laufenden Rahmens bezüglich des erwähnten nächsten Bezugs- oder Zielmusters addiert wird.
-72-
A 45 325 b
k - 176 - 72 -
28. September 1982
In Fig. 4 sollen die verschiedenen Pfeile, die -zu dem ersten Register 128 des erforderlichen .Verweilzeitintervalls eines Referenzmusters führen.,. anzeigen, daß der Übergang von dem optioneilen Register- bzw. Zustand zum erforderlichen V.erweilzeitregister bzw. . -zustand zu jedem Zeitpunkt während des optioneilen. Verweilzeitintervalls oder ausgehend vom.letzten Register des erforderlichen Verweilzeitintervalls erfolgen kann. Auf der Grundlage der laufenden Information., ist somit die ■ am besten passende Korrespondenz bzw. Entsprechung zwischen der Wortschablone und den Eingangsmustern diejenige, welche sich aufgrund der Hypothese ergibt, daß dann, wenn das nächste Muster gerade beginnt, das vorausgehende Muster eine Dauer hat., die dem Register entspricht,.welches in dem vorausgehenden optioneilen Verweilzeitintervall den besten Wert enthält (zuzüglich des letzten Registers des vorausgegangenen erforderlichen Zeitintervalls, dem Register 300 beim Ausführungsbeispiel). Nach der Theorie der dynamischen Programmierung ist es nicht erforderlich, die zuvor akkumulierten Werte, welche sämtlichen möglichen Verweilzeiten entsprechen, zu speichern, da-.".nach, der Theorie jeder Verweilzeitübergang, der zu einem schlechteren Wert führte, auch weiterhin während aller folgenden Stufen der Datenverarbeitung zur Erzeugung schlechterer Werte führen wird.
Die Analyse wird in der beschriebenen Weise fortgesetzt, wobei alle Register sämtlicher Referenzmuster
— / ο ■"
A 45 325 b
k -176 - 73 -
28. September 1982
aller Wortschablonen verwendet, werden. Das letzte Register bzw. die letzten Register, des letzten Musters jeder Wortschablone enthält den Wert,der sich aufgrund der Hypothese ergibt, daß das Wort gerade beendet wurde.
'Im Verlauf der Akkumulation der Wahrscheinlichkeitswerte wird eine Folge von (Zeit-)Dauer-Zählungen beibehalten, um die Dauer des besten Wortendes in jeder Rahmenzeit zu ermitteln. Der Zählvorgang wird bei "eins" in dem.ersten Register des ersten Schablonenmuster des Worts eingeleitet. Für jedes zweite und folgende Register eines Schablonenmusters wird der mit dem vorangehenden Register verknüpfte Zählerstand um "eins" erhöht. Für jedes Register, welches den 3eginn eines Referenzmusters (einem anderen als denx ersten Referenzmuster eines Wortes) entspricht, d.h. beispielsweise das erste Register 128 des erforderlichen Verweilzeitintervalls, ist jedoch der Zählerstand des optioneilen Verweilzeitregisters (oder des letzten Registers für die erforderliche Verweilzeit) für das vorausgegangene Bezugsmuster, welches in der vorausgegangenen Rahmenzeit den besten Wahrscheinlichkeitswert hat, derjenige Zählerstand, der erhöht wird, um die Zeitdauerzählung für das Register zu bilden.
Um ein. .System für die nachstehend, noch näher beschriebene "Rückwärtsverfolgung" für jede Rahmenzeit zu erhalten, werden die Identifizierung für das zu diesem
-74-
A 45 325 b
k - 176 - 74 -
28. September 1982
Zeitpunkt endende. Wort mit dem höchsten Wert und dessen Dauer .in einen umlaufenden. Pufferspeicher übertragen. Wenn eine Wortfolge endet., ermöglichen die gespeicherten Wortdauern, die Rückwärtsverfolgung vom Ende des letzten "besten" Wortes über dessen Dauer zu dem besten vorangehenden Wort, welches unmittelbar vor dem ."letzten. Wort" endet usw., bis alle Worte der Wortkette identifiziert sind.
Ketten von .kontinuierlich gesprochenen Vokabularworten sind durch Pausen begrenzt. Sine der .Wortschablonen entspricht daher der Bedingung "Pause. = .Stille bzw. Hintergrundgeräusch". Immer wenn sich für das "Pausen"-Wort der beste Wahrscheinlichkeitswert ergibt, wird angenommen, daß.eine Folge von Worten gerade beendet wurde. Ein Zustands- bzw. Flag-Register wird abgefragt, um festzustellen, ob seit der letzten Einleitung des Erkennungsprozesses irgendein anderes Wort als das Pausenwort den besten Wert hatte. Wenn mindestens ein von dem.Pausenwort verschiedenes Wort einen "besten Wert" hatte (Block 103), dann wird die ..Wortkette in dem umlaufenden Pufferspeicher rückwärts verfolgt (Block 105) und die dabei erhaltene, erkannte Botschaft wird zu einer Anzeige oder einer anderen gesteuerten Einrichtung übertragen. Anschließend wird der umlaufende Pufferspeicher gelöscht, um eine wiederholte Übertragung der Botschaften zu verhindern. Außerdem wird das Zustandsregister gelöscht. Das Gerät ist damit.bereit, die nächste Wortkette zu erkennen (Block 107).
-75-
A 45 325 b
k - 176 _ 75 _
28. September 1982
Üben der Bezugsmuster
Um die Probenelemente u und die Varianzen s' für die Konstruktion der Referenzmuster zu erhalten, wird eine Anzahl von "Äußerungen" bzw. Sprachproben jedes Vokabularwortes in das Spracherkennungssystem eingegeben/ und die Gesamt-Statistiken der entsprechenden vorverarbeiteten Spektrumrahmen werden ausgewertet. Für einen erfolgreichen Betrieb des Systems .ist dabei die Entscheidung darüber, welche Eingangsrahmen welchen Ziel- bzw. Bezugsmustern entsprechen sollten, von wesentlicher Bedeutung.
Beim Fehlen besserer Information, wie z.B. bei von Hand gewählten signifikanten akustischen Phonemen des Eingangswortes wird das Zeitintervall · zwischen dem Beginn und dem Ende eines gesprochenen Worts in eine Anzahl von gleichmäßigen Unterintervallen geteilt. Jedes dieser Unterintervalle wird dabei gezwungen, einem bestimmten Bezugsmuster zu entsprechen. Ein oder mehrere Drei-Rahmen-Muster, die in jedem Intervall beginnen, werden gebildet und entsprechend dem mit diesem Intervall verknüpften Bezugsmuster klassifiziert. Anschließende Beispiele desselben Vokabularwortes werden in ähnlicher Weise in eine gleiche Anzahl von gleichen Intervallen geteilt. Die Mittelwerte und Varianzen der Elemente der Drel-Rahmen-Muster, die aus den entsprechend geordneten Intervallen gewonnen werden, werden für alle verfügbaren
-76-
A 45 325 b
k - 176 _ 76
28. September 1982
Proben des Vokabularwortes akkumuliert, um einen Satz von Bezugsmustern für dieses Wort zu bilden. Die Anzahl der Intervalle (der Bezugsmuster) sollte in der Größenordnung von zwei oder drei pro in dem Vokabularwort enthaltenem linguistischem Phonem liegen.
Zur Gewinnung der besten Ergebnisse werden der Anfang und das Ende jedes Vokabularwortes mittels eines Verfahrens markiert, bei dem die aufgezeichnete Audiosignalform und die Spektrumrahmen von Hand geprüft werden. Zur automatischen Durchführung dieser Prüfung ist es.erforderlich, daß jedes Wort einzeln gesprochen wird und daß am Wortanfang und am Wortende eine Pause liegt, damit das Gerät die Wortgrenzen genau finden kann. Die Bezugsmuster können von jeder derartigen Probe jedes gesprochenen Wortes einzeln erstellt werden, wobei alle Varianzen in dem Referenzmuster auf brauchbare Konstante gesetzt werden. Danach kann das Trainingsmaterial aus Äußerungen bestehen, die für die zu erkennenden Äußerungen typisch sind, wobei die Wort- und Segmentgrenzen dort liegen, wo --sie auch beim Erkennungsprozess aufgefunden werden. Wenn die Statistiken für eine geeignete Anzahl von Trainingsäußerungen, akkumuliert bzw. gesammelt "sind, werden die ursprünglichen Bezugsmuster durch die so ermittelten Bezugsmuster ersetzt. Danach wird ein zweiter Durchlauf mit dem Übungsmaterial, durchgeführt. Dieses Mal werden die Worte in Intervalle unterteilt, und zwar auf der Basis der Entscheidungen, die von dem
-77-
A 45 325 b
k - 176 _ 77 _
28. September 1982
Erkennungsprozessor gemäß Fig. 3 getroffen werden. Jedes Drei-Rahmen-Eingangsmuster (oder ein typisches Eingangsmuster für jedes Bezugsmuster) wird nach dem vorstehend beschriebenen Musterabgleichverfahren einem Bezugsmuster zugeordnet. Die Mittelwerte und Varianzen .werden ein zweites Mal gesammelt, um den endgültigen Satz von Bezugsmustern zu bilden, die vollständig mit dem Verfahren kompatibel sind, gemäß welchem sie von dem Erkennungsgerät benutzt werden.
Bei jedem Übungsdurchlauf ist es vorteilhaft, wenn irgendwelche Übungsphrasen,, die von dem Erkennungsprozessor nicht korrekt · erkannt werden, ignoriert werden, da bei einer falsch erkannten Äußerung die Wahrscheinlichkeit besteht, daß diese schlecht plazierte Intervallgrenzen hat. Bei Beendigung des Trainingsdurchlaufs kann versucht werden, die zuvor nicht bzw. falsch erkannten Phrasen mit den neuen Referenzmustern zu vergleichen,und die Referenzmuster können dann weiter auf den neuesten Stand gebracht werden, wenn nunmehr der Erkennungsvorgang erfolgreich ist. - - .
Statt die schlecht bzw. nicht erkannten Phrasen zu ignorieren, besteht auch die Möglichkeit, für jede Übungsäußerung eine Mehrwort-Schablone zu bilden. Diese Schablone ist dann einfach eine Verkettung der Schablonen für die einzelnen Worte einer Äußerung in der richtigen Reihenfolge. Der Sprecher wird durch
-78-
BAD ORIGINAL
A 45 325 b
k - 176 - 78 -
28. September 1982
einen Aufschrieb (script) veranlasst, die angegebene Wortfolge zu sprechen, und der Erkennungsprozessor nimmt nur bezug auf die Mehrfach-Schablone und die Pausenschablone. Die Wortgrenzen- und Referenzmuster-Klassifizierung ist dann für das gegebene Script und .die verfügbaren Bezugsmuster optimal. Ein Nachteil dieses Verfahrens besteht darin, daß gegebenenfalls eine größere Anzahl von Durchlaufen durch das Trainings-Script erforderlich ist.
.Wenn die höchst-mögliche Erkennungsgenauigkeit angestrebt wird, ist es vorteilhaft, das Trainingsprogramm mit einem Satz von zuvor bestimmten sprecherunabhängigen Bezugsmustern für - das zu erkennende Vokabular zu beginnen. Die sprecherunabhängigen Muster werden dabei aus Phrasen gewonnen, die für die zu erkennenden Phrasen typisch sind und die zumindest von einigen verschiedenen Sprechern gesprochen wurden. Dabei können die Wortgrenzen durch eine manuelle Prüfung der aufgezeichneten Audioschwingungen bestimmt werden. Anschließend wird das gerade beschriebene Zwei-Schritt-Verfahren angewandt, um die sprecherunabhängigen Muster zu gewinnen. Beim ersten Durchlauf werden die Unterintervalle gleichmäßig bezüglich jedes Wortes aufgeteilt. Beim zweiten Durchlauf werden die Unterintervalle so gewählt wie sie durch das Erkennungsverfahren unter. Verwendung der Bezugsmuster des ersten Durchlaufs bestimmt werden. Bei jedem Durchlauf werden außerdem die Gesamt-Statistiken für alle Sprecher
-79-
A 45 325 b
k - 176 - 79 -
28. September 1982
abgeleitet. Zum Einüben des Systems .-auf einen bestimmten Sprecher werden sprecherunabhängige Muster verwendet, als wenn sie das Ergebnis des ersten Trainingsdurchlaufs wären. Nunmehr wird nur noch das Verfahren des zweiten Schrittes - möglicherweise zweimal - ausgeführt.
Die Mindest-Verweilzeit (erforderlicheVerweilzeit) und die Maximal-Verweilzeit (erforderliche plus optioneile Verweilzeit) werden vorzugsweise während der Übungsvorgänge bestimmt. Bei einem bevorzugten Ausführungsbeispiel der Erfindung wird das System unter Einsatz mehrerer Sprecher in der vorstehend beschriebenen Weise trainiert. Außerdem werden im Verlauf der Übungen, wie oben beschrieben, durch den Erkennungsprozess automatisch die Mustergrenzen in Übereinstimmung mit dem oben beschriebenen Verfahren bestimmt. Diese Grenzen werden aufgezeichnet, und die Verweilzeiten für jedes, von dem System erkannte Schlüsselwort werden gespeichert.
Am Ende eines Trainingsdurchlaufs werden die Verweilzeiten für jedes Muster geprüft, und die minimalen und maximalen Verweilzeiten für das Muster werden ausgewählt. Gemäß einer bevorzugten Ausführungsform der Erfindung wird ein Hystogramm bzw. Säulendiagramm der Verweilzeit erzeugt, und die minimale und die maximale Verweilzeit werden auf die 25% bzw. die 75%-Linien gelegt. Auf diese Weise wird eine hohe
-80-
A 45 325 b
k - 176 - 80 -
28. September 1982
Erkennungsgenauigkeit erreicht, während die Häufigkeit von Fehlalarmen klein gehalten wird. Für die minimale und die maximale Verweilzeit können auch andere Werte gewählt, werden, wobei stets ein Konipromiss zwischen der Erkennungsgenauigkeit und der Häufigkeit eines Fehlalarms zu treffen ist. Wenn eine niedrige Mindestverweilzeit und eine hohe maximale Verweilzeit gewählt werden, dann wird die höhere Erkennungsgenauigkeit, also im allgemeinen auf Kosten einer entsprechend größeren Häufigkeit von Fehlalarmen, erreicht.
Syntax-Prozessor
Die Verkettung von zwei oder mehr speziellen Wortschablonen ist ein triviales Beispiel für eine Syntaxsteuerung des Entscheidungsprozesses. Gemäß Fig. 9 umfasst eine Syntaxschaltungsanordnung 30 8 zum Erfassen von .'Wortfolgen mit einer ungeraden Anzahl (1,3,5,7...) von Worten zwei unabhängige Sätze von Musterausrichtregistern 310, 312, die für. jedes Vokabularwort vorgesehen sind. Die Eingangsgröße für die erste Schablone ist der Wert für eine Pause oder der beste Wert aus dem Satz von zweiten Schablonen, und zwar Je-'.nachdem, welcher Wert besser ist. Die Eingangsgröße für die zweite Schablone ist der beste Wert vom ersten Satz von Schablonen. Dieser Wert wird außerdem einer zweiten Pausendetektorschablone
-81-
A 45 325 b
k - 176 - 81 -
28. September 1982
am Knoten 313 zugeführt. Bei der Ermittlung einer Pause am Ende der Äußerung gemäß der Messung der Detektorschablone am Knoten 313 können die Marken (label) und die Zeiten für die geäußerten Worte alternierend von den Rückwärtsverfolgungs-Pufferspeichern des ersten Satzes und des zweiten Satzes von Schablonen zurückverfolgt werden. Wichtig ist, daß die Position der Pausendetektorschablone gewährleistet, daß nur eine Pause bzw. die Stille nach Wortfolgen mit einer ungeraden Anzahl von Worten erfasst werden kann.
Etwas kompliziertere Syntax-Netzwerke können realisiert werden, indem man jedem Syntax-Knoten, wie z.B. den Knoten 313a und 3T3b in Fig. 9, eine Liste von zulässigen Wortkettenlängen zuordnet. Beispielsweise kann in dem Syntax-Netzwerk gemäß Fig. 9, welches jede Kette akzeptiert, die eine ungerade Anzahl von Worten enthält, die Kettenlänge auf eine bestimmte ungerade Zahl, beispielsweise auf 5, festgelegt werden, indem man die Kettenlänge am Eingang zum zweiten Pausenregister 313a prüft. Wenn die Länge der Kette an diesem Punkt nicht 5 ist, wird das Register (für das laufende Analysier-Intervall) inaktiv,und es kann kein Kettenergebnis aus diesem Register ausgelesen werden. Wenn die Kettenlänge jedoch 5 ist, kann eine Kettenerkennung gemeldet werden. In entsprechender Weise kann da.s erste Vokabularregister 310 freigegeben werden, wenn die Kettenlänge 0, 2 oder 4 beträgt,
■82-
A 45 325 b
k J- 176 - 82 -
28. September 1982
während das zweite Register nur freigegeben wird, wenn die Länge der ankommenden Kette 1 oder 3 ist. Obwohl die optimalen Ergebnisse für eine 5-Wort-Kette den Einsatz von fünf vollständigen Sätzen von dynamischen Programmierakkumulatoren erforderlich machen würden, ermöglicht, dieses Verfahren den Einsatz einer geringeren Anzahl von Akkumulatoren, die mehrfach verwendet werden, wobei lediglich eine geringfügige Reduzierung der typischen.Erkennungsgenauigkeit eintritt.
-83-
A 45 325 b
k - 176 - 83 -
28. September 1982
Das realisierte, nach dem Spracherkennungsverfahren arbeitende System
Wie oben ausgeführt, wurde ein bevorzugtes Ausführungsbeispiel der Erfindung entwickelt, bei dem die Signal- und Datenmanipulation,soweit sie über die Vorverarbeitung im Vorprozessor gemäß Fig. 2 hinausging, mittels eines Rechners des Typs PDP-11 der Firma Digital Equipment Corporation realisiert und gesteuert wurde, wobei dieser Rechner in Verbindung mit dem SpezialVektor-Rechnerprozessor eingesetzt wurde, wie er beispielsweise in der US-PS 4 2 28 4 98 beschrieben ist.
Das erfindungsgemäße Verfahren kann nicht nur durch entsprechende Programmierung eines Rechners realisiert werden, sondern auch durch den Einsatz entsprechender Schaltungen.
Im Betrieb arbeitet das Gerät gemäß Fig. 10 nach dem Verfahren der dynamischen Programmierung. Jede neue Folge von Wahrscheinlichkeitswerten, d.h. jede Folge von Wahrscheinlichkeitswerten bezüglich jedem Bezugsmuster in einer vorgegebenen Folge,die vom Rechner über die Leitungen 320 eintrifft, wird zu den vorhandenen Werten in einem der Speicher 322 bzw. 324 addiert. Diese Speicher arbeiten, wie unten beschrieben, alternierend unter Steuerung durch einen Syntax-Prozessor 308, der die Werte empfängt, die dem Ende jedes möglichen Worts entsprechen bzw. unter Steuerung
-84-
A 45 325 b
k - 176 - 84 -
28. September 1982
durch ein Minimalwert-Register 326, welches die Aus-' gangssignale der Speicher 322 und 324 in Abhängigkeit von dem gewählten Speicher und den nächsten Phonemsignalen ersetzen kann bzw. unter Steuerung durch die übrigen Steuer- und Taktsignale.
Im Betrieb folgt die Schaltung den Regeln für das Auf-den-neuesten-Stand-bringen der Register, die den einzelnen Kreisen in Fig..4 entsprechen, um bei der Erjcennung jeder Unterbrechung bzw. Pause einen Entscheidungsmechanismus zu liefern, durch den die beste Anpassung erreicht werden kann.
Die Speicher 322 und 324 haben denselben Aufbau und sind alle 10 ms austauschbar, d.h. jedesmal, wenn ein neuer Rahmen analysiert wird. Die Speicher enthalten eine Anzahl von 32-Bit-Worten, wobei die Anzahl von 32-Bit-Worten der Gesamtzahl der Register (bzw. der Kreise in Fig. 4) entspricht, die mit den Worten des Maschinenvokabulars verknüpft sind. Zunächst ist ein Speicher, beispielsweise der Speicher 322, mit "schlechten" Wahrscheinlichkeitswerten gefüllt, d.h. mit Wahrscheinlichkeitswerten, die im vorliegenden Fall einen großen Wert haben. Anschließend wird der Speicher 322 sequentiell in einer vorgegebenen Folge ausgelesen, die der Folge der neuen Wahrscheinlichkeitswerte entspricht, die vom Vektor-Prozessor über die Leitung 320 angeliefert werden, und die Werte werden dann in der nachstehend beschriebenen Weise
-85-
A 45 325 b
k - 176 - 85 -
28. September 1982
auf den neuesten Stand gebracht und neu in den anderen Speicher, den Speicher 324, eingeschrieben. Während des nächsten 1O ms-Rahmens werden die nunmehr alten Werte aus dem Speicher 324 ausgelesen, während die neuen Werte in den nunmehr anderen Speicher 322 eingeschrieben werden. Diese Wechselfunktion dauert unter Steuerung durch den Syntax-Prozessor, durch das Minimalwert-Register 326 und durch andere Steuer- und Taktsignale an. Wie oben erwähnt, ist jedes Wort in den Speichern 322. und 324 eine .32-Bifc-üiffer. Die niedrigwertigen Bits, die Bits 0 bis 15, werden verwendet, um die akkumulierten Wahrscheinlichkeitswerte -zu speichern. Außerdem werden die Bits 16 bis 23 verwertet, um die Phonemdauer aufzuzeichnen, während die Bits 24 bis 31 verwendet werden, um die Dauer der Wortzeiten in den Registern zu speichern.
Die ankommenden Wahrscheinlichkeitswerte vom Rechner werden für jede Rahmenzeit in einem Musterwertspeicher 328 gespeichert. Diese Information wird vom Rechner als eine Art "burst" mit einer sehr hohen Datenübertragungsgeschwindigkeit ausgegeben und aus dem Musterwertspeicher mit einer niedrigeren Geschwindigkeit ausgelesen mit der die Schaltung gemäß Fig. 10 arbeitet. Auf diese Weise werden die AusgangssignaIe des ausgewählten Speichers 322 bzw. 324 über das ausgewählte Gatter 33.0 bzw. 332 an die Leitungen 334 angelegt, ohne daß zwischendurch eine Steuerung durch den Syntax-Prozessor oder das Minimalwert-Register
-86-
A 45 325 b
k - 176 - 86 -
28. September 1982
erfolgen würde. Die Leitungen 334 sind.rait Addierern 336, 338, 340 verbunden, die dazu dienen, den Wahrscheinlichkeitswert und die Zählerstände für die Phonemdauer bzw. die Targetmusterdauer sowie für die Wortdauer auf den neuesten Wert zu bringen. Auf diese Weise wird der Wahrscheinlichkeitswert, der dem Wert für den vorangehenden Rahmen entspricht und aus einem der Speicher 322 bzw. 324 geliefert wird, von dem Musterwertspeicher über die Leitungen 342 ausgegeben und zu dem alten Wahrscheinlichkeitswert addiert und dann in dem Speicher - gespeichert, welcher nunmehr für das Einschreiben verwendet wird. Die Auswahl des Speichers erfolgt dabei in Abhängigkeit vom Signalpegel auf den Leitungen 344. Gleichzeitig werden die Zählerstände für die Wortdauer und die Phonemdauer um "eins" erhöht.
Auf diese Weise werden der Zählerstand für die Wortdauex·, der Zählerstand für die Phonemdauer und die Wahrscheinlichkeitswerte normalerweise auf den neuesten Stand gebracht.
Die zwei Ausnahmen für die normale, vorstehend erläuterte Regel für das Auf-den-neuesten-Stand-bringen der Daten entsprechen dem Beginn eines neuen Phonems und dem Beginn eines neuen Wortes. 3ei einem Beginn eines neues Phonems, welcher nicht ein Beginn eines neuen Wortes ist, wird der erste Speicher des Phonems nicht nach der üblichen Regel auf den neuesten Stand gebracht. Stattdessen wird der Wahrscheinlichkeitswert
-87-
A 45 325 b
k - 176 - 87 -
28.September 1982
über die Leitung 34 2 zu dem Minimalwert des Registers für- die optionelle Verweilzeit für den vorangegangenen Bezugsrahmen bzw. das vorangegangene Phonem bzw. dem Minimalwert im Register für die erforderliche Verweilzeit für das letzte Phonem addiert. Dies wird unter Verwendung des Minimalwert-Registers 326 ausgeführt. Das Ausgangssignal des Minimalwert-Registers stellt den Minimalwert für das frühere Phonem in der vorausgegangenen Rahmenzeit dar. Dieser Wert wird dadurch erhalten, -daß man die Inhalte der Minimalwert-Register ständig auf den neuesten Stand bringt, sobald ein neuer Minimalwert geliefert wird. Der neue Minimalwert wird-in das Minimalwert-Register geladen, indem man das Vorzeichen-Bit des Ausgangssignals eines Subtraktions-Rechenelements 346 auswertet. Dieses Element 346 vergleicht den jeweils gespeicherten Minimalwert mit dem neuen MinimaLwert aus dem gerade auf den neuesten Stand gebrachten Register. Das Minimalwert-Register speichert außerdem den Wortdauer-Zählerstand und den Phonemdauer-Zählerstand, die dem Register mit dem Minimalwert- entsprechen. All diese Informationen werden über die Leitungen 334 beim Beginn eines neuen Phonems ausgegeben. Dieser Ausgabeprozess wird durch die Verwendung eines Gatter-Elements 348 gesteuert/ welches beim Start eines neuen Phonems freigegeben wird, wobei gleichzeitig Steuersignale an zwei Gatter 332 und 33ο gelegt werden, durch die diese Gatter während des Beginns eines neuen Phonems gesperrt werden.
-88-
A 45 325 b
k - 176 - 88 -
28. SeDtember 1982
Der Syntax-Prozessor 308 wird dazu verwendet, das erste Register für das.erste Phonem für ein neues Wort, auf den neuesten Stand zu bringen., und zwar mit dem besten Wert - unter Berücksichtigung der Syntax - eines Wortes, welches im vorangehenden Rahmen endet. Wenn der Wert eines Registers, welches dem ersten Register des ersten Phonems eines neuen Wortes entspricht, durch einen eintreffenden Wahrscheinlichkeitswert auf den neuesten Stand gebracht werden soll, wird nicht das Ausgangssignal eines .der Speicher 322, 32 4 verwendet. Stattdessen wird der beste Wahrscheinlichkeitswert,vorzugsweise unter Berücksichtigung der Syntax, für die im vorangehenden Rahmen endenden Worte verwendet. Diese Funktion wird ermöglicht, indem die Gatter 330 und 332 gesperrt werden und indem gleichzeitig ein Gatter 350 freigegeben wird, um den besten verfügbaren Wert, der in einem Register 352 gespeichert ist, auf die Leitungen 334 zu geben, damit dieser zu dem über die Leitungen 342 ankommenden Muster-Wahrscheinlichkeitswert addiert wird.
Bei dieser, durch Schaltungen {statt durch Programme) realisierten Ausfuhrungsform wird daher jedes Register, gemäß einer Verweilzeit eines Bezugsrahmens, kontinuierlich auf den neuesten Stand gebracht. Der Syntax-Prozessor ist so.ausgelegt, daß er, wenn die Wahrscheinlichkeitswerte ein "Pausen"-Wort darstellen, die erforderlichen Steuersysteme bereitstellt, um eine Schaltung oder einen Rechner zu befähigen,
A 45 325 b
k - 176 - 89 -
28. September 1982
eine Rückwärtsverfolgung durchzuführen, um die erkannten Orte, zu bestimmen.
Aus Vorstehendem wird deutlich, daß die verschiedenen Ziele der Erfindung erreicht werden und daß weitere vorteilhafte Ergebnisse erreicht werden.
Dabei versteht es sich, daß das Verfahren und die Vorrichtung, welche vorstehend zur. kontinuierlichen Spracherkennung bei Wortketten beschrieben wurden, auch die spezielle Anwendungsmöglichkeit einer isolierten Spracherkennung umfassen. Weiter versteht es sich, daß dem Fachmann, ausgehend von den beschriebenen Ausführungsbeispielen, zahlreiche Möglichkeiten für Änderungen, Vereinfachungen und/oder Ergänzungen zu Gebote stehen, ohne daß er dabei den Grundgedanken der Erfindung verlassen müsste.

Claims (19)

  1. HOEGER1 STELLRECHf &/pX'RTNER 3236832
    PATENTANWÄLTE UHLANDSTRASSE 14 c · D 7000 STUTTGART 1
    A 45 325 b
    k - 176
    28. September 1982
    Patentansprüche
    Verfahren zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem Audiosignal, bei welchem jedes Schlüsselwort in charakteristischer Weise durch eine Schablone mit mindestens einem Zielmuster dargestellt ist, bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt und bei dem jedem Zielmuster mindestens eine einer erforderlichen Verweilzeit zugeordnete-Position und mindestens eine einer optionellen Verweilzeit zugeordnete Position zugeordnet sind, gekennzeichnet durch folgende Verfahrensschritte:
    Man bildet während sich wiederholender Rahmenzeiten aus dem Audiosignal jeweils eine das Audiosignal· darstellende Folge von Rahmenmustern;
    man erzeugt ein numerisches Maß für die Ähnlichkeit jedes dieser Rahmenmuster mit jedem der Zielmuster;
    -2-
    A 45 325 b
    k - 176 - 2 -
    28. September 1982
    man akkumuliert für jedes der Zielmuster die Position für die erforderliche Verweilzeit und die optionelle Verweilzeit und unter Auswertung der numerischen Maße einen numerischen Wert, der die Übereinstimmung des gerade gebildeten Rahmenmusters mit der betreffenden Zielmuster-Verweilzeitposition darstellt und
    ir.an erzeugt auf der Basis der numerischen Werte eine Erkennungsentscheidung, wenn in dem Audiosignal eine vorgegebene Folge auftritt.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Akkumuliervorgang folgende Schritte umfasst:
    a) Man akkumuliert für jedes Zielmuster zweite und spätere Positionen für die erforderliche Verweilzeit und für jedes Zielmuster die Position für die optioneile Verweilzeit, die Summe des akkumulierten Wertes für die Verweilzeitposition für das vorangegangene Zielmuster und das augenblickliche numerische Maß, welches dem Zielmuster zugeordnet ist;
    b) man akkumuliert für jedes erste Schlüsselwort-Zielmuster die erste Position für die erforderliche Verweilzeit, die Summe des besten akkumulierten Wertes während der vorausgegangenen Rahmenzeit, die dem Ende eines
    -3-
    A 45 325 b
    k - 176 - 3 -
    28. September 1982
    Schlüsselwortes zugeordnet ist, und das laufende numerische Maß, welches dem ersten Schlüsselwort-Zielmuster zugeordnet ist, und
    c) man akkumuliert für die erste Position der erforderlichen Verweilzeit jedes anderen Zielmusters die Summe des am besten endenden akkumulierten Wertes für das vorausgegangene Zielmuster desselben Schlüsselwortes und das laufende numerische Maß, welches dem Zielmuster zugeordnet ist,
  3. 3. Verfahren nach Anspruch 2, dadurch .gekennzeichnet, daß man in Verbindung mit jeder Rahmenzeitposition die Identität und Dauer - in der Rahmenzeitposition - des Schlüsselwortes mit dem besten Wert und. ein gültiges Ende an jeder dieser Rahmenzeitpositionen speichert und daß der Entscheidungsschritt den Schritt der Rückwärtsverfolgung durch gespeicherte Schlüsselwort-Identitäts- und Dauerinformation zum Bestimmen jedes Schlüsselworts in einer Wortkette umfasst.
  4. 4. Verfahren nach Anspruch 3, gekennzeichnet durch den zusätzlichen Schritt, daß in Verbindung mit jedem akkumulierten Wert für jede Verweilzeitposition ein Wortdauerzählerstand gespeichert wird, der der Zeitpositionslänge des Schlüsselwortes entspricht, die dem akkumulierten Wert bei der Verweilzeitposition zugeordnet ist.
    A 45 325 b
    k - 176 - 4 -
    28. September 1982
  5. 5. Verfahren nach. Anspruch 4, gekennzeichnet durch den zusätzlichen Verfahrensschritt/ daß in Verbindung mit jedem akkumulierten Wert für jede Verweilzeitposition ein Zielmusterdauerzählerstand gespeichert wird, der der Positionsfolge der Verweilzeitposition in dem Zielmuster entspricht.
  6. 6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, · daß die Entscheidungserzeugungs- und Akkumulierschritte die Steuerung der Übertragung akkumulierter Werte in Abhängigkeit von einem Syntaxerzeugungselement einschließen.
  7. 7. Gerät zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem Audiosignal, bei welchem jedes Schlüsselwort in charakteristischer Weise durch eine Schablone mit mindestens einem Zielmuster dargestellt ist, bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt und bei dem jedem Zielmuster mindestens eine einer erforderlichen Verweilzeit zugeordnete Position und.mindestens eine einer optioneilen Verweilzeit zugeordnete Position zugeordnet sind, zur Durchführung des Verfahrens nach.einem der Ansprüche 1 bis 6, gekennzeichnet durch folgende Merkmale:
    -5-
    A 45 325 b
    k - 176 - 5 -
    28. September 1982
    es sind Einrichtungen vorgesehen, mit deren Hilfe während sich wiederholender Rahmenzeiten aus dem Audiosignal jeweils eine das Audiosignal darstellende Folge von Rahmenmustern erzeugbar ist;
    es sind Einrichtungen vorgesehen/ mit deren Hilfe ein-numerisches Maß für die Ähnlichkeit jedes dieser Rahmenmuster mit jedem der Zielmuster erzeugbar ist/
    es sind Akkumuliereinrichtungen vorgesehen, mit deren Hilfe für jedes Zielmuster die Positionen für die erforderliche Verweilzeit und die optioneile Verweilzeit und unter Auswertung der numerischen. Maße ein numerischer Wert akkumulierbar ist, der die Übereinstimmung des gerade gebildeten Rahmenmusters mit der betreffenden Zielmuster-Verweilzeitposition darstellt, und
    es sind Einrichtungen vorgesehen, mit deren Hilfe auf der Basis der numerischen Werte eine Erkennungsentscheidung erzeugbar ist, wenn in dem Audiosignal eine vorgegebene Folge auftritt.
  8. 8. Gerät nach Anspruch 7, dadurch gekennzeichnet, daß Erkennungseinrichtungen zum Erkennen der vorgegebenen Folge in dem Audiosignal vorgesehen sind.
    —6 —
    • U # *
    A 45 325 b
    k - 176 - 6 -
    28. September 1982
  9. 9. Gerät nach Anspruch 8, dadurch gekennzeichnet, daß die vorgegebene Folge ein Pausen-Muster ist.
  10. 10. Gerät nach Anspruch 7, dadurch gekennzeichnet, daß die Akkumulationseinrichtungen folgende Elemente umfassen:
    a) erste Akkumulationseinrichtungen, mit deren Hilfe für jedes Zielmuster zweite und spätere Positionen für die erforderliche Verweilzeit und für jedes Zielmuster die Position für die optionelle Verweilzeit, die Summe des akkumulierten Wertes für die Verweilzeitposition für das vorangegangene Zählmuster und das augenblickliche numerische Maß akkumulierbar sind, welches dem Zielmuster zugeordnet ist;
    b) es sind zweite · Akkumuliereinrichtungen vorgesehen, mit deren Hilfe für jedes erste Schlüsselwort-Zielmuster die erste Position für die erforderliche Verweilzeit, die Summe des besten akkumulierten Wertes während der vorausgegangenen Rahmenzeit,, die dem Ende eines Schlüsselwortes zugeordnet ist., und das laufende numerische Maß akkumulierbar sind, welches dem ersten Schlüsselwort-Zielmuster zugeordnet ist;
    -7-
    A 45 325 b
    k - 176 - 7 -
    23. September T982
    c) es sind dritte Akkumulationseinrichtungen vorgesehen, mit deren Hilfe für die erste Position der erforderlichen Verweilzeit jedes anderen Zielmusters die Summe des am besten endenden akkumulierten Wertes für das vorangegangene Zielmuster desselben Schlüsselwortes und das laufende, numerische Maß akkumulierbar sind, welches dem Zielmuster zugeordnet ist.
  11. 11. Gerät nach Anspruch 10, dadurch gekennzeichnet, daß Speichereinrichtungen vorgesehen sind, mit deren Hilfe in Verbindung mit jeder Rahmenzeitposition die Identität und Dauer - in der Rahmenzeitposition - des Schlüsselwortes mit dem besten Wert und'ein gültiges Ende an jeder dieser Rahmenzeitpositionen speicherbar sind und daß Einrichtungen vorgesehen sind, mit deren Hilfe der Entscheidungserzeugungsschritt derart ausführbar ist, daß der Schritt der Rückwärtsverfolgung durch die gespeicherte Schlüsselwort-Identitäts- und Dauerinformation zum Bestimmen jedes Schlüsselworts in einer Wortkette umfasst wird.
  12. 12. Gerät nach Anspruch 11, dadurch gekennzeichnet, daß Speichereinrichtungen vorgesehen sind, mit deren Hilfe in Verbindung mit jedem akkumulierten Wert für jede Verweilzeitposition ein Wortdauerzählerstand, speicherbar ist, der der Zeitpositionslänge des Schlüsselwortes entspricht, die dem
    — 8—
    A 45 325 b
    k - 176 - 8 -
    28. September 1982
    akkumulierten Wert bei der Verweilzeitposition zugeordnet ist.
  13. 13. Gerät nach Anspruch 12, dadurch gekennzeichnet/ daß Speichereinrichtungen vorgesehen sind, mit deren Hilfe in Verbindung mit jedem akkumulierten Wert für jede Verweilzeitposition ein Zielmusterdauerzählerstand speicherbar ist, der der Positionsfolge der Verweilzeitposition in dem Zielmuster entspricht.
  14. 14. Gerät nach Anspruch I1. dadurch gekennzeichnet, daß die Entscheidungserzeugungseinrichtungen und die Akkumulationseinrichtungen derart ausgebildet sind, daß die Entscheidungserzeugungs- und Akkumulierschritte die Steuerung der Übertragung akkumulierter Werte in.Abhängigkeit von einem Syntax-Element einschließen.
  15. 15. Verfahren zur Sprachanalyse zum Erkennen.mindestens eines Schlüsselwortes in einem Audiosignal, insbesondere nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß man zur Nachbildung einer Pause in dem ankommenden. Audiosignal folgende Schritte ausführt:
    man überwacht die Amplitude vorgegebener, eine kurze. Zeit dauernder Teile des auszuwertenden Audiosignals während eines vorgegebenen Zeit-
    -9-
    A 45 325 b
    k - 176 -'■ · - 9 -
    28. September 1982
    Intervalls, welches langer als etwa 1 s ist und man wählt einen Pausen- bzw. Hintergrundsgeräuschrahmen aus, indem man einen während der vorgegebenen Zeit auftretenden Rahmen minimaler Amplitude auswählt.
  16. 16. Verfahren zur Sprachanalyse nach Anspruch 15, bei dem jedes Schlüsselwort durch eine Schablone gekennzeichnet.ist, welche mindestens ein Zielmuster umfasst, wobei jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt, gekennzeichnet durch folgende Verfahrensschritte:
    a) man bildet während sich wiederholender Rahmenzeiten aus dem Audiosignal jeweils eine das Audiosignal darstellende Folge von Rahmenmustern und
    b) man prüft die Rahmen während des vorgegebenen Zeitintervalls und wählt einen der Rahmen als einen das Hintergrundgeräusch in dem auszuwertenden Audiosignal· darstellenden Rahmen aus.
  17. 17. Verfahren zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem. Audiosignal·, insbesondere nach einem der Ansprüche 1 bis 6,. dadurch gekennzeichnet, daß man zur Herbeiführung einer Kontro^e über ein. unbekanntes Audioeingangssignal folgende Schritte durchführt:
    -10-
    A 45 325 b
    k - 176 - 10 -
    28.September 1982
    man empfängt das Audioeingangssignal, und erzeugt jedesmal dann ein Ausgangssignal, wenn ein spezielles bekanntes Kontrollwort gefunden wird und man verwendet, das Ausgangssignal für dieses Kontrollwort , um., eine weitere Spracherkennungsverarbeitung des AudioeingangssignaIs zu bewirken.
  18. 18. Verfahren zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem Audiosignal, bei welchem.jedes. Schlüsselwort in charakteristischer Weise durch.eine Schablone, mit mindestens einem Zielmuster dangestellt ist, bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt und bei dem jedem Zielmuster mindestens eine einer erforderlichen Verweilzeit, zugeordnete Position und mindestens eine einer optioneilen Verweilzeit zugeordnete Position zugeordnet sind, insbesondere.nach einem der Ansprüche 1 bis 6, gekennzeichnet durch folgende Verfahrensschritte:
    man unterteilt-.ein einem Schlüsselwort entsprechendes ankommendes Audiosignal in mehrere Unterintervalle;
    man erzwingt, daß jedes Unterintervall einem bestimmten Bezugsmuster entspricht;
    man wiederholt diese Schritte für mehrere Audioeingangssignale, die dasselbe Schlüsselwort darstellen;
    -11-
    A 45 325 b
    k - 176 - 11 -
    28. September 1982
    man erzeugt statistische Daten, welche die den einzelnen UnterIntervallen zugeordneten Referenzmuster beschreiben und
    man führt einen zweiten Durchgang durch die das Schlüsselwort darstellenden Audioeingangssignale durch und verwendet, die akkumulierten statistischen Daten, um aufgrund des Verfahrens erzeugte Unterintervalle für die Schlüsselworte zu erhalten.
  19. 19. Verfahren, nach Anspruch 18, dadurch gekennzeichnet, daß man die UnterintervalIe anfänglich derart wählt, daß sie zwischen dem Anfang und dem Ende eines Schlüsselworts des Audioeingangssignals gleichmäßiae Abstände voneinander aufweisen.
    -12-
DE3236832A 1981-10-05 1982-10-05 Verfahren und Gerät zur Sprachanalyse Expired - Fee Related DE3236832C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/309,208 US4489435A (en) 1981-10-05 1981-10-05 Method and apparatus for continuous word string recognition

Publications (2)

Publication Number Publication Date
DE3236832A1 true DE3236832A1 (de) 1983-09-01
DE3236832C2 DE3236832C2 (de) 1995-10-19

Family

ID=23197169

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3236832A Expired - Fee Related DE3236832C2 (de) 1981-10-05 1982-10-05 Verfahren und Gerät zur Sprachanalyse

Country Status (6)

Country Link
US (1) US4489435A (de)
JP (2) JPS58134699A (de)
CA (1) CA1182222A (de)
DE (1) DE3236832C2 (de)
FR (1) FR2520912B1 (de)
GB (2) GB2159997B (de)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60179797A (ja) * 1983-10-27 1985-09-13 日本電気株式会社 パタンマツチング装置
US5218668A (en) * 1984-09-28 1993-06-08 Itt Corporation Keyword recognition system and method using template concantenation model
US4718094A (en) * 1984-11-19 1988-01-05 International Business Machines Corp. Speech recognition system
US4811399A (en) * 1984-12-31 1989-03-07 Itt Defense Communications, A Division Of Itt Corporation Apparatus and method for automatic speech recognition
US5241649A (en) * 1985-02-18 1993-08-31 Matsushita Electric Industrial Co., Ltd. Voice recognition method
JPH0632012B2 (ja) * 1985-03-25 1994-04-27 株式会社東芝 音声認識装置
US4820059A (en) * 1985-10-30 1989-04-11 Central Institute For The Deaf Speech processing apparatus and methods
JPS63501603A (ja) * 1985-10-30 1988-06-16 セントラル インステイチユ−ト フオ ザ デフ スピ−チ処理装置および方法
US4797929A (en) * 1986-01-03 1989-01-10 Motorola, Inc. Word recognition in a speech recognition system using data reduced word templates
US5023911A (en) * 1986-01-10 1991-06-11 Motorola, Inc. Word spotting in a speech recognition system without predetermined endpoint detection
JPS62232000A (ja) * 1986-03-25 1987-10-12 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン 音声認識装置
US4831550A (en) * 1986-03-27 1989-05-16 International Business Machines Corporation Apparatus and method for estimating, from sparse data, the probability that a particular one of a set of events is the next event in a string of events
US4882757A (en) * 1986-04-25 1989-11-21 Texas Instruments Incorporated Speech recognition system
US5159637A (en) * 1988-07-27 1992-10-27 Fujitsu Limited Speech word recognizing apparatus using information indicative of the relative significance of speech features
US5592389A (en) * 1990-12-03 1997-01-07 Ans, Llp Navigation system utilizing audio CD player for data storage
US5748840A (en) * 1990-12-03 1998-05-05 Audio Navigation Systems, Inc. Methods and apparatus for improving the reliability of recognizing words in a large database when the words are spelled or spoken
US5454062A (en) * 1991-03-27 1995-09-26 Audio Navigation Systems, Inc. Method for recognizing spoken words
JPH04362698A (ja) * 1991-06-11 1992-12-15 Canon Inc 音声認識方法及び装置
US5199077A (en) * 1991-09-19 1993-03-30 Xerox Corporation Wordspotting for voice editing and indexing
US5379420A (en) * 1991-12-26 1995-01-03 Trw Inc. High-speed data searching apparatus and method capable of operation in retrospective and dissemination modes
WO1993018484A1 (en) * 1992-03-10 1993-09-16 Oracle Corporation Method and apparatus for comparison of data strings
JP2524472B2 (ja) * 1992-09-21 1996-08-14 インターナショナル・ビジネス・マシーンズ・コーポレイション 電話回線利用の音声認識システムを訓練する方法
JP2818362B2 (ja) * 1992-09-21 1998-10-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 音声認識装置のコンテキスト切換えシステムおよび方法
US5425129A (en) * 1992-10-29 1995-06-13 International Business Machines Corporation Method for word spotting in continuous speech
US5671328A (en) * 1992-12-30 1997-09-23 International Business Machines Corporation Method and apparatus for automatic creation of a voice recognition template entry
US5615296A (en) * 1993-11-12 1997-03-25 International Business Machines Corporation Continuous speech recognition and voice response system and method to enable conversational dialogues with microprocessors
US5642444A (en) * 1994-07-28 1997-06-24 Univ North Carolina Specialized image processing system architecture and method for image data arrays
US5822728A (en) * 1995-09-08 1998-10-13 Matsushita Electric Industrial Co., Ltd. Multistage word recognizer 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
US5825977A (en) * 1995-09-08 1998-10-20 Morin; Philippe R. Word hypothesizer based on reliably detected phoneme similarity regions
DE19540859A1 (de) * 1995-11-03 1997-05-28 Thomson Brandt Gmbh Verfahren zur Entfernung unerwünschter Sprachkomponenten aus einem Tonsignalgemisch
US5842161A (en) * 1996-06-25 1998-11-24 Lucent Technologies Inc. Telecommunications instrument employing variable criteria speech recognition
US5926652A (en) * 1996-12-20 1999-07-20 International Business Machines Corporation Matching of wild card patterns to wild card strings associated with named computer objects
US6122613A (en) * 1997-01-30 2000-09-19 Dragon Systems, Inc. Speech recognition using multiple recognizers (selectively) applied to the same input sample
US6092044A (en) * 1997-03-28 2000-07-18 Dragon Systems, Inc. Pronunciation generation in speech recognition
DE19723293A1 (de) * 1997-06-04 1998-12-10 Siemens Ag Mustererkennungsverfahren
JP4279909B2 (ja) * 1997-08-08 2009-06-17 ドーサ アドバンスズ エルエルシー 音声認識装置における認識対象表示方式
US6272455B1 (en) * 1997-10-22 2001-08-07 Lucent Technologies, Inc. Method and apparatus for understanding natural language
US7085710B1 (en) * 1998-01-07 2006-08-01 Microsoft Corporation Vehicle computer system audio entertainment system
DE19804047C2 (de) * 1998-02-03 2000-03-16 Deutsche Telekom Mobil Verfahren und Einrichtung zur Erhöhung der Erkennungswahrscheinlichkeit von Spracherkennungssystemen
US6243678B1 (en) * 1998-04-07 2001-06-05 Lucent Technologies Inc. Method and system for dynamic speech recognition using free-phone scoring
US6393399B1 (en) 1998-09-30 2002-05-21 Scansoft, Inc. Compound word recognition
US20020069064A1 (en) * 1999-02-08 2002-06-06 Dejaco Andrew P. Method and apparatus for testing user interface integrity of speech-enabled devices
US7120582B1 (en) 1999-09-07 2006-10-10 Dragon Systems, Inc. Expanding an effective vocabulary of a speech recognition system
US6493667B1 (en) * 1999-08-05 2002-12-10 International Business Machines Corporation Enhanced likelihood computation using regression in a speech recognition system
JP3834169B2 (ja) * 1999-09-22 2006-10-18 日本放送協会 連続音声認識装置および記録媒体
US6931292B1 (en) * 2000-06-19 2005-08-16 Jabra Corporation Noise reduction method and apparatus
US7080011B2 (en) * 2000-08-04 2006-07-18 International Business Machines Corporation Speech label accelerators and techniques for using same
US6832194B1 (en) * 2000-10-26 2004-12-14 Sensory, Incorporated Audio recognition peripheral system
JP2002149187A (ja) * 2000-11-07 2002-05-24 Sony Corp 音声認識装置および音声認識方法、並びに記録媒体
DE10220524B4 (de) 2002-05-08 2006-08-10 Sap Ag Verfahren und System zur Verarbeitung von Sprachdaten und zur Erkennung einer Sprache
EP1363271A1 (de) 2002-05-08 2003-11-19 Sap Ag Verfahren und System zur Verarbeitung und Speicherung von Sprachinformationen eines Dialogs
CA2530899C (en) * 2002-06-28 2013-06-25 Conceptual Speech, Llc Multi-phoneme streamer and knowledge representation speech recognition system and method
US20040064315A1 (en) * 2002-09-30 2004-04-01 Deisher Michael E. Acoustic confidence driven front-end preprocessing for speech recognition in adverse environments
US6960098B1 (en) * 2004-07-13 2005-11-01 Mei-Chuan Tseng Pipe component pre-embedded socket structure
US8175874B2 (en) * 2005-11-17 2012-05-08 Shaul Shimhi Personalized voice activity detection
US20080177536A1 (en) * 2007-01-24 2008-07-24 Microsoft Corporation A/v content editing
US8595642B1 (en) 2007-10-04 2013-11-26 Great Northern Research, LLC Multiple shell multi faceted graphical user interface
DE602008002726D1 (de) * 2008-05-26 2010-11-04 Ublox Ag Verfahren zur Bearbeitung eines von einem analogen Eingangssignal eines GNSS-Empfängers abgeleiteten digitalen Signals, Basisbandschaltung eines GNSS-Empfängers zur Durchführung des Verfahrens und GNSS-Empfänger
CN101887720A (zh) * 2009-05-13 2010-11-17 鸿富锦精密工业(深圳)有限公司 声讯语义辨识***及方法
US11024302B2 (en) * 2017-03-14 2021-06-01 Texas Instruments Incorporated Quality feedback on user-recorded keywords for automatic speech recognition systems
US10311874B2 (en) 2017-09-01 2019-06-04 4Q Catalyst, LLC Methods and systems for voice-based programming of a voice-controlled device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2347738A1 (de) * 1972-09-21 1974-03-28 Threshold Tech Spracherkennungsverfahren und vorrichtung zur durchfuehrung desselben
DE2659096A1 (de) * 1975-12-29 1977-07-07 Dialog Syst Verfahren und vorrichtung zur spracherkennung
DE2825082A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur spracherkennung
DE2825186A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale
DE2825110A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur erkennung kontinuierlicher sprachsignale
US4228498A (en) * 1977-10-12 1980-10-14 Dialog Systems, Inc. Multibus processor for increasing execution speed using a pipeline effect

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3816722A (en) * 1970-09-29 1974-06-11 Nippon Electric Co Computer for calculating the similarity between patterns and pattern recognition system comprising the similarity computer
US4059725A (en) * 1975-03-12 1977-11-22 Nippon Electric Company, Ltd. Automatic continuous speech recognition system employing dynamic programming
GB1557286A (en) * 1975-10-31 1979-12-05 Nippon Electric Co Speech recognition
JPS592040B2 (ja) * 1976-08-24 1984-01-17 日本電信電話株式会社 音声認織装置
US4107460A (en) * 1976-12-06 1978-08-15 Threshold Technology, Inc. Apparatus for recognizing words from among continuous speech
US4156868A (en) * 1977-05-05 1979-05-29 Bell Telephone Laboratories, Incorporated Syntactic word recognizer
US4301329A (en) * 1978-01-09 1981-11-17 Nippon Electric Co., Ltd. Speech analysis and synthesis apparatus
JPS5525150A (en) * 1978-08-10 1980-02-22 Nec Corp Pattern recognition unit
JPS597120B2 (ja) * 1978-11-24 1984-02-16 日本電気株式会社 音声分析装置
US4238597A (en) * 1979-04-26 1980-12-09 General Electric Company Process for producing copolyester-carbonates
JPS56116148A (en) * 1980-02-15 1981-09-11 Nec Corp Audio typewriter
JPS57174093A (en) * 1981-04-21 1982-10-26 Syst Nogyo Center:Kk Methane fermentation method and apparatus

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2347738A1 (de) * 1972-09-21 1974-03-28 Threshold Tech Spracherkennungsverfahren und vorrichtung zur durchfuehrung desselben
DE2659096A1 (de) * 1975-12-29 1977-07-07 Dialog Syst Verfahren und vorrichtung zur spracherkennung
US4038503A (en) * 1975-12-29 1977-07-26 Dialog Systems, Inc. Speech recognition apparatus
US4228498A (en) * 1977-10-12 1980-10-14 Dialog Systems, Inc. Multibus processor for increasing execution speed using a pipeline effect
DE2825082A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur spracherkennung
DE2825186A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale
DE2825110A1 (de) * 1978-04-27 1979-11-08 Dialog Syst Verfahren zur erkennung kontinuierlicher sprachsignale
US4227177A (en) * 1978-04-27 1980-10-07 Dialog Systems, Inc. Continuous speech recognition method
US4227176A (en) * 1978-04-27 1980-10-07 Dialog Systems, Inc. Continuous speech recognition method
US4241329A (en) * 1978-04-27 1980-12-23 Dialog Systems, Inc. Continuous speech recognition method for improving false alarm rates

Also Published As

Publication number Publication date
FR2520912B1 (fr) 1987-02-27
JPS58134699A (ja) 1983-08-10
FR2520912A1 (fr) 1983-08-05
GB2107101A (en) 1983-04-20
GB8501044D0 (en) 1985-02-20
GB2107101B (en) 1986-01-15
JPH0736475A (ja) 1995-02-07
GB2159997A (en) 1985-12-11
US4489435A (en) 1984-12-18
GB2159997B (en) 1986-05-29
DE3236832C2 (de) 1995-10-19
CA1182222A (en) 1985-02-05

Similar Documents

Publication Publication Date Title
DE3236832C2 (de) Verfahren und Gerät zur Sprachanalyse
DE3236834C2 (de) Verfahren und Gerät zur Sprachanalyse
DE3236885A1 (de) Verfahren und geraet zur sprachanalyse
DE69430082T2 (de) Verfahren und Vorrichtung zur Sprachdetektion
DE3783154T2 (de) Spracherkennungssystem.
DE69010941T2 (de) Verfahren und Einrichtung zur automatischen Bestimmung von phonologischen Regeln für ein System zur Erkennung kontinuierlicher Sprache.
DE2659083C2 (de) Verfahren und Vorrichtung zur Sprechererkennung
DE69420842T2 (de) Spracherkennung unter anwendung einer zweidurchgängigen suchmethode
DE2613258C2 (de) Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache
DE2753277C2 (de) Verfahren und Einrichtung zur Spracherkennung
DE69421911T2 (de) Spracherkennung mit pausedetektion
DE69311303T2 (de) Sprachtrainingshilfe für kinder.
DE2825110A1 (de) Verfahren zur erkennung kontinuierlicher sprachsignale
DE2659096C2 (de)
DE69416670T2 (de) Sprachverarbeitung
DE3878852T2 (de) Spracherkennung.
DE2825082A1 (de) Verfahren zur spracherkennung
DE2825186A1 (de) Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale
DE69414752T2 (de) Sprecherunabhängiges Erkennungssystem für isolierte Wörter unter Verwendung eines neuronalen Netzes
DE602005000603T2 (de) Verfahren zur Bestimmung von Wahrscheinlichkeitsparametern für ein veränderliches Zustandsraummodell
DE69623364T2 (de) Einrichtung zur Erkennung kontinuierlich gesprochener Sprache
DE2918533A1 (de) Spracherkennungssystem
DE69920047T2 (de) Detektion von reiner sprache in einem audio signal, mit hilfe einer detektionsgrösse (valley percentage)
CN110910283A (zh) 生成法律文书的方法、装置、设备和存储介质
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee