DE3236834C2 - Verfahren und Gerät zur Sprachanalyse - Google Patents

Verfahren und Gerät zur Sprachanalyse

Info

Publication number
DE3236834C2
DE3236834C2 DE3236834A DE3236834A DE3236834C2 DE 3236834 C2 DE3236834 C2 DE 3236834C2 DE 3236834 A DE3236834 A DE 3236834A DE 3236834 A DE3236834 A DE 3236834A DE 3236834 C2 DE3236834 C2 DE 3236834C2
Authority
DE
Germany
Prior art keywords
word
audio signal
keyword
speaker
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3236834A
Other languages
English (en)
Other versions
DE3236834A1 (de
Inventor
Lawrence George Bahler
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 DE3236834A1 publication Critical patent/DE3236834A1/de
Application granted granted Critical
Publication of DE3236834C2 publication Critical patent/DE3236834C2/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
    • G10L15/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/12Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/193Formal grammars, e.g. finite state automata, context free grammars or word networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

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)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Telephonic Communication Services (AREA)

Description

Die Erfindung betrifft ein Verfahren zur Sprachanalyse gemäß dem Oberbegriff des Patentanspruchs 1 sowie ein Gerät zur Durch­ führung dieses Verfahrens.
Insbesondere befaßt sich die Erfindung mit einem Ver­ fahren und einem Gerät zum Erkennen von Schlüsselwör­ tern in einem kontinuierlichen Sprachsignal im Echtzeit­ betrieb.
Es sind bereits verschiedene Spracherkennungssysteme vorgeschlagen worden, die dazu dienen, isolierte (sprachliche) Äuße­ rungen zu erkennen, indem sie ein unbekanntes isolier­ tes Sprachsignal, welches in geeigneter Weise aufbe­ reitet 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, die beispiels­ weise ein Teil einer Silbe, ein Wort, eine Phrase usw. sein können. Verschiedene derartige Systeme wurden mit begrenztem Erfolg eingesetzt, um isolierte Schlüssel­ wörter zu erkennen. Dabei zeigte es sich, daß ein be­ stimmtes bekanntes System, welches im wesentlichen ge­ mäß den Lehren der US-PS 4 038 503 arbeitet, besonders erfolgreich eingesetzt werden kann und geeignet ist, ein bestimmtes Schlüsselwort aus einem begrenzten Vo­ kabular von Schlüsselwörtern sicher zu erkennen, wenn die Grenzen (Anfang und Ende) des unbe­ kannten Sprachsignals durch Pausen gebildet sind, die von dem Erkennungssystem ermittelt werden. Das System basiert also auf der Annahme, daß das Intervall, in dem das unbekannte Sprachsignal auftritt, wohl definiert ist und ein einziges Schlüsselwort enthält.
Auf kontinuierliche Sprachsignale, wie z. B. in der kontinuierlichen Umgangssprache, in der die Schlüs­ selwortgrenzen nicht von vornherein bekannt bzw. mar­ kiert sind, wurden ebenfalls bereits verschiedene Ver­ fahren angewandt, um die ankommenden Signale in Segmente zu unterteilen, d. h. um die Grenzen der linguistischen Einheiten, wie z. B. der Phoneme, Silben, Worte, Wortketten, Sätze usw. vor der Einleitung eines Schlüsselworterkennungsprozesses zu bestimmen. Diese vor­ bekannten, der kontinuierlichen Sprachauswertung dienen­ den Systeme waren jedoch nur in begrenztem Maße erfolgreich, was teilweise darauf 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 Wort­ schätze zuverlässig und mit einer niedrigen Quote von Fehlalarmen erkannt werden. Weiterhin ist die Erken­ nungsgenauigkeit sehr empfindlich für die Unterschiede zwischen den Stimm- bzw. Sprech-Charakteristiken unter­ schiedlicher Sprecher. Außerdem reagieren die bekannten Systeme sehr empfindlich auf Verzerrungen der zu ana­ lysierenden Audiosignale, wie sie typischerweise auf­ treten, wenn diese Audiosignale beispielsweise über das normale Telefonnetz übertragen werden.
Die US-PS 4 227 176, 4 241 329 und 4 227 177 be­ schreiben wirtschaftlich brauchbare und wirksame Ver­ fahren zur erfolgreichen Erkennung von Schlüsselwör­ tern in kontinuierlichen Sprachsignalen, die im Echt­ zeitbetrieb ausgewertet werden. Diese bekannten Ver­ fahren 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äßt. 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 wurde, sowohl hinsichtlich der Anzahl der ausgelösten Fehlalarme wie auch hinsichtlich ihrer Unabhängigkeit vom jeweiligen Sprecher gewisse Nachteile.
Die in den genannten US-Patentschriften beschriebenen Verfahren zur kontinuierlichen Spracherkennung sind in erster Linie darauf gerichtet, in einem "offenen Vokabular" eine Anzahl von Schlüsselwörtern in einer kontinuierlichen Sprache zu erkennen bzw. zu lokali­ sieren. Unter einer kontinuierlichen Sprache mit "of­ fenem Vokabular" ist dabei eine Sprache zu verstehen, in der dem Spracherkennungsgerät nicht alle Wörter bekannt sind. Bei einer speziellen Anwendung kann eine kontinuierliche Wortkette erkannt werden, wobei als Ergebnis des Erkennungsprozesses die Identität jedes einzelnen Wortelements der kontinuierlichen Wortkette ermittelt wird. Dabei ist unter einer kon­ tinuierlichen Wortkette im vorliegenden Zusammenhang eine Anzahl von erkennbaren Elementen (ein "geschlos­ senes Vokabular") zu verstehen, die durch die "Stille" bzw. durch Pausen begrenzt sind. Insofern besteht bei­ spielsweise eine gewisse Verwandtschaft zu den handels­ üblichen Ausrüstungen, auf die vorstehend eingegangen wurde, und zwar bezüglich der Auswertung isolierter Wörter, für die die (Wort-)Grenzen von vornherein be­ kannt sind. Im vorliegenden Fall sind jedoch die Gren­ zen unbekannt und müssen vom Erkennungssystem selbst erkannt werden. Außerdem sind die zu erkennenden Ele­ mente nicht mehr einzelne Wortelemente, sondern Wortketten, die dadurch gebildet sind, daß mehrere Elemente miteinander zu einer Kette bzw. einem Strang verbunden sind.
Während bisher verschiedene Verfahren und Geräte zum Erkennen von kontinuierlichen Sprachsignalen entwickelt wurden, zeigt eine nähere Überprüfung, daß dabei wenig Aufmerksamkeit darauf verwandt wurde, die Spracher­ kennungsgeräte automatisch so einzuüben, daß sie die nötigen Parameter erzeugen, die eine exakte Spracher­ kennung möglich machen. Außerdem sind die bisher an­ gewandten Verfahren bzw. Einrichtungen zum Bestimmen der "Stille" bzw. der Pausen und zur Anwendung einer grammatikalischen Syntax, obwohl sie ihre Aufgaben in gewissem Umfang erfüllen, in mancherlei Hinsicht noch verbesserungsbedürftig.
Der Erfindung liegt daher, ausgehend vom Stande der Technik, die Aufgabe zugrunde, ein Verfahren und ein Gerät zur Spracherkennung bzw. Sprachanalyse anzugeben, bei dem im Verlauf eines Übungsprogrammes eine verbes­ serte Wirksamkeit hinsichtlich der Erzeugung neuer Erkennungsmuster erreicht werden kann.
Diese Aufgabe wird bei dem eingangs angegebenen Ver­ fahren gemäß der Erfindung durch folgende Verfahrens­ schritte gelöst:
Es wird mindestens ein erstes und ein zweites Zielmuster erzeugt, derart, daß jedes der beiden Zielmuster eine von zwei verschiedenen Darstellungen einer Pause in dem ankommenden Audiosignal darstellt;
das ankommende Audiosignal wird mit dem ersten und mit dem zweiten Zielmuster verglichen;
es wird ein erster und ein zweiter numerischer Meßwert erzeugt, derart, daß jeder der beiden Meßwerte das Er­ gebnis eines der beiden zuvor durchgeführten Vergleiche darstellt; und
auf der Basis der zuvor erzeugten Meßwerte wird eine Entscheidung getroffen, ob in dem ankommenden Audio­ signal eine Pause ermittelt wurde oder nicht.
Aus der DE-OS 23 47 738 ist zwar bereits ein Verfahren zum Erkennen von Schlüsselwörtern in einem ankommenden Audiosignal bei der Durchführung einer Sprachanalyse mit Hilfe eines Sprachanalysegerätes, welches mindestens ein Schlüsselwort erkennen kann, bekannt, bei dem folgende Verfahrensschritte ausgeführt werden:
Es wird mindestens ein erstes und ein zweites Zielmuster erzeugt, derart, daß jedes der beiden Zielmuster eines von zwei verschiedenen Schlüsselwörtern in dem ankommenden Audiosignal darstellt;
das ankommende Audiosignal wird mit dem ersten und mit dem zweiten Zielmuster verglichen;
es wird ein erster und ein zweiter numerischer Meßwert (Korrelationsziffer) erzeugt, derart, daß jeder der beiden Meßwerte das Ergebnis eines der beiden zuvor durchgeführten Vergleiche darstellt, und
auf der Basis der zuvor erzeugten Meßwerte wird eine Entscheidung getroffen, ob in dem ankommenden Audiosignal ein Schlüsselwort ermittelt wurde oder nicht. Dabei findet sich jedoch in dieser Druckschrift kein Hinweis auf die Möglichkeit der Erkennung von Pausen.
Was das Gerät anbelangt, so wird die gestellte Aufgabe erfindungsgemäß durch ein Gerät mit den Merkmalen der Ansprüche 6 bzw. 8 gelöst.
Gemäß der Erfindung wird ein Verfahren bzw. ein Gerät angegeben, mit dem es auf effektive Weise möglich ist, in einem unbekannten Audioeingangssignal Pausen zu erkennen, wobei der Erkennungsprozeß unter Verwendung einer grammatika­ lischen Syntax durchgeführt wird und wobei der Erken­ nungsprozeß so ausgelegt ist, daß für verschiedene Sprecher und damit für verschiedene Stimm- bzw. Sprach­ charakteristiken gleichmäßig gute Ergebnisse erhalten werden, die zuverlässig sind und zu einer geringeren Anzahl von Fehlalarmen führen, wobei außerdem im Echt­ zeitbetrieb gearbeitet werden kann.
Insbesondere befaßt sich die Erfindung auch damit, in einem ankommenden Audiosignal die "Stille" bzw. Pausen bzw. Wortgrenzen zu erkennen. Erfindungsgemäß werden dabei zumindest eine erste und eine zweite Zielschablone erzeugt, welche zwei ver­ schiedene Darstellungen einer Pause in dem ankommen­ den Audiosignal beinhalten, wobei das ankommende Audio­ signal mit der ersten und der zweiten Zielschablone verglichen wird, um als Ergebnis des Vergleichs ein numerisches Maß bzw. einen numerischen Meßwert zu erzeugen und dann zumindest auf der Basis dieser Meß­ werte zu entscheiden, ob eine Stille bzw. Pause ent­ deckt wurde.
In einer anderen Ausgestaltung betrifft die Erfindung ein Verfahren zur Erkennung von Pausen in einem Audio­ signal, wobei folgende Schritte ausgeführt werden:
es wird ein numerischer Meßwert für die Wahrscheinlichkeit erzeugt, daß der im Augenblick ankommende Teil des Audiosignals einem Bezugsmuster entspricht, welches eine Pause darstellt; der numeri­ sche Meßwert wird dann gemäß einer Syntax-abhängigen Entschei­ dung wirksam geändert, wobei die Syntax-abhängige Entscheidung die Erkennung eines unmittelbar vorausgehenden Teils des Audiosignals gemäß einer grammatikalischen Syntax darstellt, aus dem wirksam geänderten Meßwert wird dann bestimmt, ob der vorliegende Signalteil einer Pause entspricht.
In weiterer Ausgestaltung befaßt sich die vorliegende Erfindung mit einem Verfahren zur Bildung von Bezugs­ mustern, die bekannte Schlüsselworte darstellen und auf einen bestimmten Sprecher zugeschnitten sind. Da­ bei werden sprecherunabhängige Bezugsmuster bereitge­ stellt, welche die Schlüsselwörter darstellen. Außer­ dem werden unter Verwendung dieser sprecherunabhängi­ gen Bezugsmuster die Grenzen der Schlüsselwörter in Audiosignalen bestimmt, die von dem betreffenden Sprecher gesprochen werden. Anschließend übt man dann die Sprachanalyse-Einrichtungen auf den betreffenden Sprecher ein, indem man mit den Wortgrenzen arbeitet, die für die von dem betreffenden Sprecher gesprochenen Schlüsselwörter ermittelt wurden.
Die Erfindung befaßt sich auch mit einem Verfahren zur Bildung von Bezugsmustern, die ein zuvor unbe­ kanntes Schlüsselwort darstellen, wobei man zunächst sprecherunabhängige Bezugsmuster zur Verfügung stellt, welche Schlüsselworten entsprechen, die den Analysier­ einrichtungen bereits zuvor bekannt waren, woraufhin man die Grenzen des unbekannten Schlüsselwortes unter Verwendung der sprecherunabhängigen Bezugsmuster be­ stimmt. Anschließend übt man die Sprachanalysierein­ richtungen unter Verwendung der zuvor von diesen für das zunächst unbekannte Schlüsselwort bestimmten Gren­ zen derart ein, daß statistische Daten erzeugt werden können, die das zuvor unbekannte Schlüsselwort be­ schreiben.
In weiterer Ausgestaltung befaßt sich die Erfindung mit einem Verfahren der Spracherkennung, bei dem die Folge der zu erkennenden Schlüsselwörter durch eine grammatikalische Syntax beschrieben wird, die durch mehrere, miteinander verbundene Entscheidungsknoten charakterisiert ist. Bei dieser Ausgestaltung wird zunächst eine Folge numerischer Werte zum Erkennen von Schlüsselwörtern in dem Audiosignal bereitge­ stellt, wobei man eine dynamische Programmierung an­ wendet. Anschließend wird die grammatikalische Syntax dazu verwendet, die Werte zu bestimmen, für die ein Fortschreiten im Erkennungsprozeß zulässig ist. Schließlich wird die Anzahl der Entscheidungsknoten durch ein Zusammenfalten der Syntax derart verringert, daß ansonsten zulässige Vorrückschritte entsprechend der zusammengefalteten bzw. zusammengeklappten Syntax verworfen werden.
Die Erfindung wird nachstehend anhand von Zeichnungen noch näher erläutert.
Es zeigen:
Fig. 1 ein Flußdiagramm, welches einen allge­ meinen Überblick über die erfindungs­ gemäß auszuführende Schrittfolge ver­ mitteln soll;
Fig. 1A ein elektrisches Blockschaltbild einer bevorzugten Ausführungsform eines Ge­ räts zur Durchführung des erfindungs­ gemäßen 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 eines Digital- Rechnerprogramms für eine Reihe von Schritten des Verfahrens gemäß Fig. 1;
Fig. 4 eine grafische Darstellung des erfin­ dungsgemäßen Verfahrens zur gegenseiti­ gen Ausrichtung von Mustern;
Fig. 5 ein elektrisches Blockschaltbild eines Wahrscheinlichkeitsfunktions-Prozessors für eine bevorzugte Ausführungsform eines Geräts zur Durchführung des er­ findungsgemäßen Verfahrens;
Fig. 6 ein elektrisches schematisches Block­ schaltbild einer Schaltung zum Sub­ trahieren und zur Absolutwertbildung für ein bevorzugtes Gerät zur Durch­ führung des erfindungsgemäßen Ver­ fahrens;
Fig. 7 ein elektrisches Schaltbild einer lo­ gischen Schaltung zum Erfassen eines Übertrags für eine bevorzugte Aus­ führungsform eines Geräts zur Durch­ fü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 Ausführungsform eines Prozessors für ein Gerät für die Durch­ führung des erfindungsgemäßen Verfahrens;
Fig. 9A eine schematische "Fluß"-Darstellung für einen Syntax-Prozessor zum Erkennen einer durch Pausen begrenzten Wortkette aus fünf Ziffern;
Fig. 9B eine schematische "Fluß"-Darstellung für ein Flußdiagramm gemäß Fig. 9A nach dem "Falten" bzw. Zusammenklappen desselben zur Verringerung der Anzahl der Knoten und
Fig. 10 ein elektrisches Blockschaltbild zur Er­ läuterung einer Schaltung für eine se­ quentielle Decodierung und Musteraus­ richtung für eine bevorzugte Ausführungs­ form eines Geräts zur Durchführung des erfindungsgemäßen Verfahren.
Im übrigen sind entsprechende Elemente in den ver­ schiedenen Figuren jeweils mit den gleichen Bezugs­ zeichen bezeichnet.
Beschreibung eines bevorzugten Ausführungsbeispiels
Bei einem bevorzugten Ausführungsbeispiel der Erfindung, welches nachstehend erläutert wird, erfolgt die Spracherkennung und -einübung mit einem Gerät, welches sowohl speziell konzipierte elektronische Baugruppen zur analogen und digitalen Aufbereitung von ankommenden hörfrequenten Datensignalen - im allgemeinen Sprachsignalen - umfaßt als auch einen Mehrzweck-Digitalrechner, der erfindungsgemäß derart programmiert ist, daß mit seiner Hilfe weitere Schrit­ te zur Datenverarbeitung und zur numerischen Auswer­ tung 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 Kosten­ aufwand erfolgen kann. Dabei ist jedoch zu beachten, daß einige der Aufgaben, die beim betrachteten System von den Hardware-Kreisen ausgeführt werden, auch mit­ tels geeigneter Programme (Software) gelöst werden könnten, und daß einige der Aufgaben, die beim be­ trachteten 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 Einzelpro­ bleme sowohl die Hardware-Lösungen als auch die 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 Wortket­ ten in kontinuierlichen Sprachsignalen auch dann er­ kannt werden können, wenn diese Signale beispielswei­ se aufgrund ihrer Übertragung über eine Telefonlei­ tung verzerrt sind. Folglich können die Sprachein­ gangssignale am Eingang 10 in Fig. 1 als Sprachsignale betrachtet werden, die ausgehend von einem Kohlemikro­ fon über eine Telefonleitung beliebiger Länge und/oder mit einer Anzahl von Schaltstellen zu einem Empfänger übertragen wurden. Eine typische Anwendung der Erfin­ dung besteht in der Erkennung kontinuierlicher Wort­ ketten in hörfrequenten Daten, die über das Telefon­ system von einer unbekannten Quelle, insbesondere von einem unbekannten Sprecher, empfangen wurden. Andererseits kann das Eingangssignal auch ein belie­ biges Audio-Datensignal sein, beispielsweise ein Spracheingangssignal, welches über den Rundfunk, bei­ spielsweise von einer privaten Sendestation, über­ tragen 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 oder andere erkennbare Einzelheiten (Hinweise) ent­ halten. 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 Be­ zeichnungen zu betrachten sind. Dies ist eine bequeme Möglichkeit, eine erkennbare Folge von Audiosignalen oder von dieser Folge entsprechenden Signalen zu bezeichnen, welche zusammengefaßt die Wortketten ergeben, die mit Verfahren und Gerät gemäß der Erfindung erfaßt 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 Sprachsignal bzw. das analoge Audiosignal vom Ein­ gang 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 Abtast­ frequenz von 8000 Abtastvorgängen pro Sekunde. (Bei anderen Ausführungsbeispielen wird mit anderen Ab­ tastfrequenzen gearbeitet, beispielsweise mit einer Frequenz von 16 kHz, wenn ein besonders hochwertiges Digitalsignal erhalten werden soll.) Das Ausgangs­ signal des A/D-Wandlers 13 wird über Leitungen 15 dem Eingang eines Autokorrelationswandlers 17 bzw. einer Korrelationsschaltung zugeführt, wo die ankom­ menden digitalen Eingangssignale, mit einer Frequenz von 100 Hz zu einer Kurzzeit-Autokorrelationsfunktion aufbereitet und an Ausgangsleitungen 19 gelegt werden. Jede Autokorrelationsfunktion umfaßt dabei 32 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 Ausgangsleitungen 19 anstehenden Autokorrelations­ funktionen werden in einer Schaltung 21 einer Fourier- Transformation unterworfen, um auf den Ausgangslei­ tungen 23 der Schaltung 21 innerhalb vorgegebener Zeitfenster liegende Kurzzeit-Leistungsspektren zu erhalten. Die Leistungsspektren werden dabei mit der­ selben Frequenz erzeugt, mit der die Autokorrelations­ funktionen 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 Signalpegel innerhalb eines bestimmten Frequenzbandes. Die Schaltung 21 zur Durchführung der Fourier-Trans­ formation umfaßt vorzugsweise Schaltkreise zur Er­ zeugung einer Zeitfensterfunktion, insbesondere zur Erzeugung der Hamming-Funktion, wodurch das Übersprechen aus benachbarten Frequenzbändern reduziert wird.
Beim betrachteten ersten Ausführungsbeispiel erfolgen die Fourier-Transformation sowie die weiteren Schrit­ te der Datenverarbeitung vorzugsweise unter Steuerung durch einen Mehrzweck-Digitalrechner, der in geeigneter Weise programmiert ist und mit einem peripheren Feld- bzw. 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 Cor­ poration, Maynard, Massachusetts, USA, verwendet. Ferner wurde als Feld- bzw. Matrixprozessor (Array- Prozessor) ein Prozessor der in der US-PS 4 228 498 beschriebenen Art verwendet. Die nachstehend noch an­ hand von Fig. 3 zu erläuternde Programmierung ist speziell auf die Möglichkeiten und die charakteristi­ schen Eigenschaften der vor stehend angesprochenen handelsüblichen digitalen Prozessoreinheiten zuge­ schnitten.
Die den einzelnen Zeitfenstern zugeordneten Kurzzeit- Leistungsspektren werden in einer Schaltung 25 einer Frequenzgangentzerrung unterworfen, und zwar in Abhängigkeit von den Ampli­ tuden-Spitzenwerten, die in den einzelnen Frequenz­ bändern bzw. Kanälen auftreten, wie dies nachstehend noch näher erläutert wird. Die hinsichtlich des Fre­ quenzgangs entzerrten Spektren werden mit einer Fre­ quenz von 100 Hz erzeugt und über Leitungen 26 ü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 hinge­ wiesen werden, daß die Transformation die Genauigkeit verbessert, mit der das unbekannte eingangsseitige Audiosignal an Zielmusterschablonen in einem Bezugs­ vokabular angepaßt werden kann. Bei Ausführungsbei­ spiel 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 40 übertragen, wo sie mit Bezugsmustern 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 Ent­ scheidung hinsichtlich der Identität der gerade empfangenen Wortkette (Ausgang 44). Die Kandidaten- Worte werden folglich entsprechend der höchsten, beim Vergleich ermittelten Übereinstimmung ausgewählt. Beim Ausführungsbeispiel dient der Auswahlprozeß dabei da­ zu, die Wahrscheinlichkeit, daß ein Schlüsselwort ver­ loren 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 das System spe­ ziell entwickelte diskrete Schaltung sein kann. Beim Ausführungsbeispiel empfängt der Steuerprozessor 45 die vorverarbeiteten Audiodaten von einem Vorprozessor 46, der nachstehend anhand von Fig. 2 noch näher er­ lä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 an­ kommenden Daten im Echtzeit-Betrieb zu verarbeiten. Daher können mit Vorteil verschiedene spezielle dis­ krete Schaltungen verwendet werden, um die Arbeits­ geschwindigkeit des Steuerprozessors 45 zu erhöhen.
Insbesondere führt ein sogenannter Vektorprozessor 48a, wie er beispielsweise in der US-PS 4 228 498 beschrie­ ben ist, durch Ausnutzung des sogenannten 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 Vektorprozessor 48a eingesetzt werden, um die Arbeitsgeschwindigkeit des Systems um den Faktor 10 zu erhöhen.
Während beim bevorzugten Ausführungsbeispiel der Er­ findung als Steuerprozessor ein Digitalrechner ver­ wendet wird, erfolgt beim abgewandelten Ausführungs­ beispiel gemäß Fig. 10 ein beträchtlicher Teil der Datenaufbereitung außerhalb des Steuerprozessors 45 in einem sequentiell arbeitenden Decodierprozessor 49. Die Struktur dieses Prozessors wird in Verbindung mit Fig. 10 noch näher erläutert. Insgesamt hat das be­ trachtete System zur Spracherkennung sowohl hinsicht­ lich der Arbeitsgeschwindigkeit als auch hinsichtlich der Möglichkeit, die einzelnen Kreise hardware-mäßig oder software-mäßig zu realisieren oder mit Hardware/Soft­ ware-Kombinationen zu arbeiten, eine hohe Flexi­ bilität.
Vorprozessor (Preprocessor)
Bei dem System gemäß Fig. 2 werden die Autokorrelations­ operationen, mit denen zwangsläufig eine Mittelwertbildung verbunden ist, digital auf der Basis der digitalen Da­ ten ausgeführt, die von dem A/D-Wandler 13 angeliefert werden, der die ankommenden analogen Audiodaten am Eingang 10, im allgemeinen ein Sprachsignal, auf­ bereitet. Der A/D-Wandler 13 liefert ein digitales Ein­ gangssignal über die Leitungen 15. Dabei erfolgt die zeitliche Steuerung der A/D-Umsetzung und der Ausfüh­ rung der Autokorrelationsfunktionen durch einen Takt­ oszillator 51, dessen Grundfrequenz von 256 kHz mit Hilfe eines Frequenzteilers 52 heruntergeteilt wird, um eine Impulsfolge mit einer Impulsfolgefrequenz von 8 kHz zu erhalten. Diese Impulsfolge steuert den A/D-Wandler 13 und ein Latch-Register 53, in dem die 12 Bit-Worte der letzten Umsetzung jeweils solange ge­ speichert sind, bis die nächste Umsetzung beendet ist.
Die Autokorrelationsprodukte werden mit Hilfe eines digitalen Multiplizierers 56 erzeugt, der die im Latch-Re­ gister 53 gespeicherte Zahl mit dem Ausgang eines 32 Wort-Schieberegisters 58 multipliziert. Das 32-Wort-Schiebe­ register 58 arbeitet dabei als umlaufendes Schiebe­ register und wird mit der hohen Grundfrequenz (256 kHz) fortgeschaltet, so daß pro A/D-Umsetzung ein komplet­ ter Umlauf der Daten des Schieberegisters erfolgt. Einmal während jedes vollständigen Umlaufs übernimmt das 32-Wort-Schieberegister 58 die in dem Latch-Register 53 ge­ speicherten Daten. Ein erster Eingang des digitalen Multiplizierers 56 ist direkt mit Latch-Register 53 verbunden, während der andere Eingang des Multipli­ zierers (abgesehen von der nachstehend angesprochenen Ausnahme) das jeweilige Ausgangssignal des Schiebe­ registers über einen Multiplexer 59 empfängt. Die Multiplikationen werden mit der höheren Taktfrequenz ausgeführt.
Jeder Digitalwert vom Ausgang des A/D-Wandlers 13 wird also mit jedem der 31 zuvor erzeugten Wandlerausgangs­ signale multipliziert. Man sieht, daß die auf diese Weise erzeugten Signale einer Multiplikation des Ein­ gangssignals 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 Latch-Re­ gisters 53 immer dann mit sich selbst multipliziert wird, wenn ein neuer Wert in das Schieberegister ein­ gespeichert 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 wird der Eingang A auf den Ausgang durchgeschaltet - seinen Eingang B auf seinen Ausgang zum digitalen Multiplizierer 56 durchschaltet. Man sieht außerdem, daß die aufgrund einer einzigen A/D-Umsetzung durch Multiplikation mit ihren 31 Vor­ gä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 weite­ res 32 Wort-Schieberegister 63 derart mit einem Addie­ rer 65 verbunden wird, daß ein Satz von 32 akkumulierten Werten gebildet wird. Jedes Wort kann folglich umlaufen, nachdem es zu dem entsprechenden Schritt vom Ausgang des digitalen Multiplizierers 56 addiert ist. Die Umlaufschlei­ fe enthält dabei ein Gatter 67, welches von einem durch N teilenden Teiler 69 gesteuert wird, der sei­ nerseits mit dem niedrigeren Taktsignal (8 kHz) ge­ steuert wird. Der Teiler 69 teilt die niedrigere Takt­ frequenz durch einen Faktor N, der die Anzahl der in jedem Augenblick für den Additionsvorgang vorgesehe­ nen Autokorrelationsfunktionen bestimmt, so daß eine Mittelwertbildung erfolgt, ehe der Inhalt des 32-Wort-Schiebe­ registers 63 ausgelesen wird.
Beim Ausführungsbeispiel werden vor dem Auslesen je­ weils 80 Proben addiert. Mit anderen Worten gilt also für den Divisor des Teilers 69 der Wert N = 80. Nach­ dem 80 umgesetzte Proben korreliert und addiert sind, triggert der Teiler 69 eine Rechner-Interrupt-Schaltung 71 über eine Leitung 72. Zu diesem Zeitpunkt werden die Inhalte des 32-Wort-Schieberegisters 63 nacheinander über eine geeignete Schnittstelle 73 in den Rechner­ speicher eingelesen, wobei die 32 aufeinanderfolgen­ den Worte aus dem Register dem Rechner über die Schnitt­ stelle 73 in geordneter Folge zugeführt werden. Man sieht, daß diese Datenübertragung von einer Peripherie­ einheit, dem Autokorrelations-Vorprozessor, zum Rechner typischerweise nach dem Verfahren des direkten Spei­ cherzugriffs (DMA-Verfahren) erfolgen kann. Unter der Voraussetzung, daß eine Mittelwertbildung über 80 Pro­ ben erfolgt und daß die ursprüngliche Abtastfrequenz bei 8 kHz liegt wird deutlich, daß in den Rechner pro Sekunde 100 gemittelte Autokorrelationsfunktionen eingespeichert werden.
Während der Schieberegisterinhalt in den Rechner aus­ gelesen 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. Akkumuliervorgang erneut beginnen kann.
Die Funktion des Systems gemäß Fig. 2 läßt sich mathematisch wie folgt beschreiben:
Wenn man annimmt, daß der A/D-Wandler 13 eine zeitli­ che Folge von Signalen S (t) erzeugt, wobei t = 0,T₀, 2T₀, . . . und wobei T₀ = Abtastintervall (beim Ausfüh­ rungsbeispiel Sekunden), dann kann die digi­ tale Korrelationsschaltung gemäß Fig. 2 unter Ver­ nachlässigung der undefinierten Startbedingungen als eine Schaltung zum Berechnen der folgenden Auto­ korrelationsfunktion angesehen werden:
wobei j = 0, 1, 2 . . . , 31; t = 80 T₀, 160 T₀, . . . , 80n T₀, . . . Diese Autokorrelationsfunktionen ent­ sprechen den korrelierten Ausgangssignalen auf den Ausgangs-Leitungen 19 in Fig. 1.
Betrachtet man Fig. 3, so erkennt man, daß der Digital- Korrelator zum Rechner kontinuierlich eine Folge von Datenblöcken überträgt, und zwar mit einer Geschwindig­ keit, bei der eine vollständige Autokorrelationsfunktion alle 10 ms übertragen wird. Dies entspricht dem Block 77 in Fig. 3. Jeder Datenblock stellt die Autokorrelations­ funktion dar, die für ein entsprechendes Zeit-Unter­ intervall erhalten wurde. Wie oben ausgeführt, werden die betrachteten Autokorrelationsfunktionen dem Rechner mit einer Frequenz von hundert 32 Wort-Funktionen pro Sekunde zugeführt.
Beim ersten Ausführungsbeispiel erfolgt die Verarbei­ tung der Autokorrelationsfunktionsdaten mittels eines geeignet programmierten Spezial-Digitalrechners. Das Flußdiagramm, welches die Funktionen umfaßt, die auf­ grund des Rechnerprogramms ausgeführt werden, ist in Fig. 3 gezeigt. Dabei ist jedoch erneut darauf hinzu­ weisen, 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 gewis­ se zeitliche Mittelung der Autokorrelationsfunktionen durchführt, die auf der Basis der Augenblickswerte er­ zeugt werden, können die gemittelten Autokorrelations­ funktionen, die an den Rechner ausgelesen werden, immer noch gewisse anomale Diskontinuitäten oder Un­ gleichmäßigkeiten aufweisen, die die ordnungsgemäße Verarbeitung und Auswertung der Proben beeinträchti­ gen können. Jeder Datenblock, d. h. jede Autokorrela­ tionsfunktion a(j,t) - wird folglich zunächst zeitlich geglättet - Block 78. Das Glätten erfolgt dabei vorzugs­ weise so, daß für die geglättete Autokorrelations­ funktion folgende Gleichung gilt:
as(j,t) = C₀ a(j,t) + C₁ a(j,t-T) + C₂ a(j,t-2T) (2)
wobei a(j,t) = ungeglättete, eingelesene Autokorrela­ tionsfunktion gemäß Gleichung (1); as(j,t) = geglättete Autokorrelationsfunktion (Ausgang Block 78), j = Verzö­ gerungszeit, t = Echtzeit und T = Zeitintervall zwi­ schen zwei aufeinanderfolgenden Autokorrelations­ funktionen = 0,01 s beim Ausführungsbeispiel.
Die Gewichtungsfunktionen 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′schen 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ättungs­ funktion 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 Arbeitsgeschwin­ digkeit zu erhalten, die Transformation der Autokorrelationsfunktionen in den Frequenzbereich beim Ausführungsbeispiel in einer 8 Bit-Berech­ nung durchgeführt wird. Bei der oberen Grenz­ frequenz 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 an­ gemessen ist. Der Frequenzgang des Systems wird da­ her so gewählt, daß sich ein schräger Verlauf er­ gibt, 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 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+1, 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 ausge­ gangen 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 Signalintervall abzuschätzen, indem der Spitzenabsolutwert der Autokorrelation ge­ funden wird. Für die geschätzte Leistung gilt:
Zur Aufbereitung der Autokorrelation für die 8 Bit- Spektrumanalyse wird die geglättete Autokorrelations­ funktion bezüglich P(t) blockweise normiert - Block 80 - und die acht höherwertigen Bits jedes normierten Wertes werden in die diskreten Schaltungen zur Spektrumanalyse ein­ gegeben. Für die normierte (und geglättete) Autokorre­ lationsfunktion 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 Autokor­ relationsfunktion c(j,t) einer Kosinus-Fourier-Trans­ formation 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 (πi/8000)f(j)), j = 0, 1, 2, . . . , 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πi/63) 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.63Hz; (7)
j = 0, 1, 2, . . . , 31
wobei es sich um die analysierten Frequenzen handelt, die in regelmäßigen Abständen auf der sogenannten "mel"-Kurve (Melodie-Kurve) der subjekten musikalischen Tonhöhe liegen. Man erkennt, daß dies einem subjektiven Tonhöhen-(mel-Skala)-Frequenz-Achsenabstand für Fre­ quenzen auf der Bandbreite eines typischen Kommuni­ kationskanals 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 null­ symmetrisch ist, nur die positiven Werte von j be­ nötigt. Um jedoch zu vermeiden, daß die Nacheilung für den Null-Wert zweimal gezählt wird, wird die Ko­ sinusmatrix so gewählt, daß gilt:
S(0,j) = 126/2 = 63, für alle j (8).
Das berechnete Leistungsspektrum ist somit durch fol­ gende Gleichung gegeben:
wobei das j-ste Ergebnis der Frequenz f(j) entspricht.
Man sieht weiterhin, daß jeder Punkt oder Wert in jedem Spektrum einem zugeordneten Frequenzband ent­ spricht. Während diese Fourier-Transformation voll­ ständig mittels der üblichen Rechner-Hardware durch­ geführt werden kann, kann der Prozeß beträchtlich beschleunigt werden, wenn ein externer, als diskrete Schaltung aufgebauter Multiplizierer oder ein Peri­ pheriegerä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 Frequenzglättung sorgen, wobei jedes Spektrum frequenzmäßig entsprechend der oben angege­ benen bevorzugten (Hamming-)Fenster-Bewichtungs- Funktion g(i) geglättet wird. Dies entspricht dem Block 83 innerhalb des Blockes 85, welcher der hardware­ mäßigen Realisierung der Fourier-Transformation ent­ spricht.
Wenn ein beträchtliches Hintergrundgeräusch vorhanden ist, sollte in dieser Verfahrensstufe von der Funktion S′(j,t) ein geschätztes Leistungsspektrum des Hinter­ grundgeräusches abgezogen werden. Dabei sollten das bzw. die Signalintervalle, das bzw. die zur Darstellung des Ge­ räuschs gewählt wurden, keine Sprachsignale enthalten. Die optimale Regel für die Wahl der Geräuschrahmen­ intervalle ändert sich je nach Anwendung. Wenn der 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 unmittel­ bar 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 ein Zeitintervall mit einer minimalen Amplitude während der letzten ein oder zwei Sekunden eines Audioeingangssignals wählt.
Wie weiter unten noch näher beschrieben werden wird, führt die Verwendung des "Pausen"-Musters mit mini­ maler Amplitude bzw. in Wirklichkeit die Verwendung zweier verschiedener "Pausen"-Muster zu einer deut­ lich vorteilhafteren Arbeitsweise des Geräts. Während von dem FFT-Gerät - Block 85 - nacheinander geglättete Leistungsspektren empfangen werden, er­ reicht man eine Kommunikationskanalentzerrung, indem für diese Spektren eine (im allgemeinen verschiedene) Spitzenleistungsspektrum-Einhüllende bestimmt wird und indem das Ausgangssignal des FFT-Geräts, wie dies nachstehend beschrieben wird, entsprechend multipli­ ziert wird. Jedes neu erzeugte Spitzenamplituden­ spektrum p(j,t), welches einem ankommenden, unter Ver­ wendung der Fensterfunktion ermittelten Leistungs­ spektrum S′(j,t) entspricht und von diesem auf den neuesten Stand gebracht wird, wobei j schrittweise über die verschiedenen Frequenzbänder des Spektrums fortgezählt wird, ist das Ergebnis einer Spitzener­ fassungsfunktion 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" Spitzenamplitudenspektrums p(j,t-T), die vor dem Empfang eines neuen, unter Berücksichtigung einer Fensterfunktion ermittelten Spektrums bestimmt wurden, mit dem neu eintreffenden Spektrum S′(j,t) auf einer Frequenzband- für -Frequenzband-Basis ver­ glichen. 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 1023/1024 beim betrachteten Ausführungsbeispiel mul­ tipliziert. Dies entspricht dem langsam abfallenden Teil der Spitzendetektorfunktion. Wenn die Leistungs­ amplitude in einem Frequenzband j des ankommenden Spektrums S′(j,t) größer ist als die Leistungsampli­ tude in dem entsprechenden Frequenzband des abgefal­ lenen Spitzenamplitudenspektrums, dann wird der ab­ gefallene Spitzenamplitudenspektrumwert für dieses Frequenzband bzw. diese Frequenzbänder durch den Spektrumwert des entsprechenden Bandes des ankommenden, unter Verwendung der Fensterfunktion ermittelten Spektrums ersetzt. Dies entspricht dem schnell an­ steigenden Teil der Spitzendetektorfunktion. Mathe­ matisch gilt für die Spitzendetektorfunktion folgende Gleichung:
p(j,t) = max{p(j,t-T)·(1-E); P(t)·S′(j,t)}j=0, 1, . . . , 31 (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 normaler­ weise, 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 Sprech­ charakteristik zu erwarten ist. Zum Bestimmen des Pausenintervalls kann das gleiche Verfahren wie zum Aus­ wählen des Hintergrundgeräuschintervalls angewandt werden. Die Amplituden (√der letzten 128 Signalintervalle werden geprüft, und es wird der Minimalwert ermittelt. Wenn die Amplitude des gerade laufenden Signalintervalls kleiner ist als das Vierfache dieses Minimums, wird das laufen­ de Intervall als Pausenintervall 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 Frequenzbandspitzenwert mit den Spitzenwerten ge­ mittelt wird, die den benachbarten Frequenzen der neu erzeugten Spitzenspektren entsprechen, bei die Breite des gesamten Frequenzbandes, das zur Mittelwert­ bildung beiträgt, ungefähr gleich dem typischen Fre­ quenzabstand zwischen den Formantfrequenzen ist. Wie der Fachmann weiß, beträgt dieser Abstand etwa 1 kHz. Durch die Mittelwertbildung in dieser spe­ ziellen Weise wird die nützliche Information in den Spektren, d. h. die lokalen Änderungen, die Formant­ resonanzen enthüllen, erhalten, während die Gesamt­ anhebung bzw. die Grobanhebung im Frequenzspektrum unterdrückt wird. Das Spitzenspektrum wird erfindungs­ gemäß vorzugsweise dadurch bezüglich der Frequenz ge­ glättet, daß man die Mittelwertbildung nach einer Funktion ausführt, welche sieben benachbarte Frequenz­ bänder erfaßt und für die folgende Gleichung gilt:
Bezüglich der Enden des durchgelassenen Frequenzbandes wird davon ausgegangen, daß p(k,t) für k< 31 und k < 0 O ist. Die normierende Einhüllende h(j) berücksichtigt die Anzahl der tatsächlich summierten gültigen Daten­ elemente. 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ät­ tete Spitzenamplitudenspektrum e(j/t) wird dann ver­ wendet, um das gerade empfangene Leistungsspektrum S′(j,t) zu normieren und hinsichtlich des Frequenz­ gangs zu entzerren, und zwar dadurch, daß die Ampli­ tudenwerte jedes Frequenzbandes des ankommenden ge­ glätteten Spektrums S′(j,t) durch den entsprechenden Frequenzbandwert in dem geglätteten Spitzenspektrum e(j,t) geteilt werden. Diese Division entspricht folgender Gleichung:
sn(j,t) = (S′(j,t)/e(j,t)) 32767 (12)
wobei sn(f,t) das spitzennormierte, geglättete Leistungs­ spektrum ist und wobei j über die einzelnen Frequenz­ bänder fortgeschaltet wird. Dies entspricht dem Block 91. Man erhält auf diese Weise eine Folge von frequenz­ entzerrten und normierten Kurzzeitleistungsspektren, welche die Änderungen im Frequenzgehalt des ankommenden Audiosignals betonen, während alle generalisierten Langzeitfrequenzerhöhungen oder -verzerrungen unter­ drückt werden. Dieses Verfahren der Frequenzkompensation hat sich bei der Erkennung von Sprachsignalen, die über frequenzverzerrende Verbindungsleitungen, wie z. B. Telefonleitungen, übertragen werden, gegenüber den üblichen Methoden der Frequenzkompensation als besonders vorteilhaft erwiesen, bei denen der durch­ schnittliche Leistungspegel im gesamten Signal oder in jedem einzelnen Frequenzband als Basis für die Kompensation genommen wird.
An dieser Stelle 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 Audio­ signale darstellen, immer noch Spektren sind, die mit einer Frequenz von 100 Hz auftreten.
Die normierten und frequenzentzerrten Spektren gemäß Block 91 werden gemäß Block 93 einer Amplituden­ transformation unterworfen, welche eine nicht-lineare Maßstabsänderung der Spektrumamplitudenwerte bewirkt. Bezeichnet man die einzelnen frequenzentzerrten und normieren Spektren mit sn(j,t) (vgl. Gleichung 12) in denen j den Index für die verschiedenen Frequenz­ bä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:
wobei A der Mittelwert des Spektrums sn(j,t) von j=0 bis 31 ist und wie folgt definiert ist:
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 log₂ A (15).
Diese Maßstabsfunktion (Gleichung 13) führt zu einem sanften Schwellwerteffekt und einem allmählichen Sätti­ gungseffekt 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 Mit­ telwerts 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 loga­ rithmischen Maßstab ist die Funktion x(j,t) zu Null symmetrisch und besitzt ein Schwellwert- und Sättigungsverhalten, welches an das Ansprechverhalten eines Gehörnervs denken läßt. 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,04 s, 0,02 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 Kurzzeit­ leistungsspektren, die nachstehend als Rahmen bezeich­ net werden, werden gemäß Block 95 gespeichert, und zwar in einem FIFO-Speicher und beim Ausführungsbei­ spiel 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 Erkennungs­ system 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 zeit­ lich vorgegriffen oder zurückgegriffen werden kann.
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 Sekun­ den gespeichert. Ein Rahmen, der in dem umlaufenden Speicher zum Zeitpunkt t₁ eintritt, geht also verloren bzw. wird 2,56 Sekunden später aus dem Speicher heraus­ geschoben, 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 be­ kannten Vokabular von Worten verglichen, um die Ein­ gangsdaten in Wortgruppen, die Wortketten genannt werden, zu bestimmen und zu identifizieren. Jedes Wort des Vokabulars wird durch ein Referenzmuster dargestellt, welches statistisch eine Anzahl von verarbeiteten Leistungsspektren darstellt, die zu mehreren, nicht überlappenden Mehrfach-Rahmen (vorzugsweise 3 Rahmen-Zeichensatzmustern) zu­ sammengestellt sind. Diese Muster werden vorzugsweise so gewählt, daß sie signifikante akustische Eigen­ heiten der Worte des Vokabulars am besten darstellen, und sind im Block 96 gespeichert.
Die Spektren, welche die Referenzmuster bilden, werden aus den Worten erzeugt, die in den verschie­ denen Kontexten gesprochen werden, wobei dasselbe System, welches oben beschrieben wurde, verwendet wird, um das kontinuierliche unbekannte Sprachein­ gangssignal am Eingang 10 in Fig. 1 zu verarbei­ ten. Zu jedem Wort des Vokabulars gehören somit im all­ gemeinen mehrere Folgen von Zeichensatzmustern P(i)₁, P(i)₂, . . . , welche in einem Bereich der Kurzzeitleistungs­ spektren 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)j als ein Feld mit 96 Elementen angesehen werden, welches drei ausgewählte Rahmen umfaßt, die zu einer Reihenfolge geordnet sind. Die das Muster bildenden Rahmen sollten mindestens einen Abstand von 30 ms ha­ ben, um eine Störkorrelation aufgrund der Zeitdomänen- Glättung zu vermeiden. Bei anderen Ausführungsformen der Erfindung kann eine andere Strategie der Proben­ bildung für die Wahl der Rahmen verwirklicht werden. Bevorzugt erfolgt die Auswahl der Rahmen jedoch so, daß diese einen konstanten zeitlichen Abstand voneinan­ der haben, vorzugsweise einen Abstand von 30 ms, und daß die sich nicht überlappenden Zeichensatzmuster über das Zeitintervall hinweg, welches das Schlüssel­ wort definiert, Abstände voneinander haben. Im ein­ zelnen entspricht ein erstes Zeichensatzmuster P₁ einem Teil des Schlüsselwortes in der Nähe des An­ fangs 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 Serie oder Folge von Zielmustern bilden, die die Wort­ schablone bilden, mit welcher die ankommenden Audio­ daten verglichen werden. Die Zielmuster P₁, P₂ . . . umfassen jeweils statistische Daten, die aus dem ent­ sprechenden Wert P(i)j unter der Annahme erzeugt werden, daß alle P(i)j unabhängige Gauss′sche 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 entspre­ chende Sammlung von Zeichensatzmusterfeldwerten um­ fassen. Eine weiter verfeinerte Wahrscheinlichkeits­ statistik wird weiter unten beschrieben.
Der Fachmann weiß, daß nahezu alle Worte regional und/oder hinsichtlich ihres Kontextes mehr als eine Aus­ sprache haben können und damit mehr als eine "Schreib­ weise" von Zeichensatzmustern. Ein Wort des Vokabulars mit der Musterschreibweise P₁, P₂ . . . gemäß den obigen Ausführungen kann also tatsächlich allgemein durch die Folge p(i)₁, p(i)₂, . . . i = 1, 2, . . . , M ausge­ drückt werden, wobei jeder der p(i)j-Werte eine mög­ liche alternative Beschreibung der j-ten Klasse von Zeichensatzmustern darstellt, und wobei insgesamt M unterschiedliche "Schreibweisen" für das Wort vor­ handen sind.
Von den Target-Mustern t₁, t₂, . . . ti, . . . stellt also jedes im ganz allgemeinen Sinne mehrere alternative statistische "Schreibweisen" für die i-te Gruppe oder Klasse der Zeichensatzmuster dar. Beim Ausführungs­ beispiel 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 Varverarbeitung der ankommenden Audiosignale und die Audiobildung der Referenzmuster ist nunmehr abgeschlossen.
Verarbeitung der gespeicherten Spektren
Ein tieferes Studium des Schlüsselworterkennungsver­ fahrens von verketteten phonetischen Mustern in er­ faßten Worten, wie es in den US-PS 4 241 329 und 4 227 177 beschrieben ist, hat gezeigt, daß dies ein Sonderfall eines allgemeineren und möglicherweise über­ legenen 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 be­ zeichnet wird, durch die bzw. das der Prozeß der Entscheidungsfindung hindurchlaufen kann. Der Zwi­ schenraum zwischen gestrichelten senkrechten Linien 120, 122 stellt jeden der hypothetischen Zustände dar, durch die der Entscheidungsfindungsprozeß hindurch­ laufen kann, um zu bestimmen, ob ein Muster zu einem vorliegenden bzw. im Augenblick zu prüfenden oder lau­ fenden Phonem paßt oder nicht. Dieser Zwischenraum ist in einen Bereich 124 für eine erforderliche Ver­ weilzeit und einen Bereich 126 für eine möglicherweise erforderliche bzw. optionelle Verweilzeit unterteilt. Der Bereich für die erforderliche Verweilzeit ent­ spricht der Mindestdauer des jeweils zu untersuchenden Phonems oder Musters. Der Bereich der optionellen Ver­ weilzeit stellt die maximale zusätzliche Dauer des Musters dar. Jeder der Kreise in den Bereichen für die optionelle 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 be­ reits 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 Mindestverweilzeitinter­ vall 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 (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 optionellen Verweilzeit des laufenden Musters (Phonems) erfolgen oder am letzten Knoten des erforderlichen Verweilzeitintervalls.
Das in den US-PS 4 241 329; 4 227 176 und 4 227 177 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 be­ deutet, daß ein Rahmen besser zu dem nächsten Phonem oder Muster paßt als zu dem laufenden Phonem oder Muster. Die Trefferquote bzw. der Wahrscheinlichkeits­ wert für das Gesamtwort ist jedoch die mittlere Tref­ ferquote bzw. der Wahrscheinlichkeitswert für die Muster bzw. 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 an­ deren 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 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 Trefferquote pro Knoten am günstigsten ist. Da das Standardschlüsselwortverfahren gemäß den US-PS 4 241 329, 4 227 176 und 4 227 177 die möglichen Pfade nicht prüft, nachdem die Entschei­ dung 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 eine Strategie angewandt, bei der eine mittlere Tref­ ferquote pro Knoten berücksichtigt wird. Wenn man diese Strategie bei einer Wortkettenerkennung anwendet, wie sie nachstehend noch näher beschrieben wird, er­ gibt sich dabei das Problem, daß man entweder alle partiellen Worttreffer entsprechend der Anzahl der erfaßten Knoten normieren muß, was bezüglich des Rechenaufwands nicht effektiv ist, oder daß man bei der Akkumulation so vor­ gehen muß, daß eine ausdrückliche Normierung nicht erforderlich ist. Eine natürliche Vorgabe besteht da­ rin, 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 Ele­ mentmustertreffern bzw. Wahrscheinlichkeitswerten. Weiterhin wird die Trefferquote 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 Trefferquote 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-PS 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 je­ dem 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 An­ fangszeit 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 Rückwärtsverfolgung zum Finden der Kette wird immer dann ausgeführt, wenn das Pausenwort die höchste Wort­ trefferzahl hat, und diese Operation endet bei oder 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 Wort­ kettensuche dazu zwingt, die gesamte Spracherzeugung während einer Äußerung in ein Wort der Kette einzu­ schließen, hat sie einen Vorteil gegenüber der ein­ facheren 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. Zeit­ gabemuster erforderlich, da der Wortverketter für jedes angenommene Wortende eine neue Wortanfangszeit ausgibt.
Der einfachste Wortverketter geht davon aus, daß diese Wortanfangszeiten korrekt sind. Beim Erfassen einer Pause geht er davon aus, daß die Kette von Wor­ ten 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 Endtreffer­ quote zu wählen. Da gewöhnlich ein vom Kontext abhängi­ ger Übergang zwischen je zwei benachbarten Worten der Kette vorhanden ist, kann es besonders vorteil­ haft sein, dem Gerät zu gestatten, die Nachbarschaft jedes Wortanfangs nach dem besten Ende des voraus­ gehenden Wortes abzusuchen.
Gemäß Fig. 3 stellen 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 Ver­ fahren 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 zusammengefaßt werden:
Wie oben ausgeführt, bestehen die gespeicherten Bezugs­ muster aus den Mittelwerten, den Standardabweichungen und Bereichsnormiertermen von zuvor zusammengestellten 96 Elementmustern, die zu den verschiedenen Sprech­ musterklassen gehören, die erkannt werden sollen. Der Vergleich wird aufgrund eines Wahrscheinlich­ keitsmodells der Werte x(j,t) erreicht, die zu erwar­ ten sind, wenn das Spracheingangssignal zu einer be­ stimmten Klasse gehört. Während für das Wahrschein­ lichkeitsmodell eine Gauss′sche 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
(wobei in der statistische Mittelwert ist und wobei s′ die Standardabweichung der Variablen x ist) weniger Rechenarbeit und hat sich als nahezu ebenso brauchbar wie die Gauss′sche Verteilung erwiesen, wenn beispiels­ weise unabhängig vom Sprecher das Verfahren der iso­ lierten Worterkennung angewandt werden soll, welches in der US-PS 4 038 503 beschrieben ist. Das Maß der Ähnlichkeit L(x|k) zwischen einem unbekannten Ein­ gangsmuster x und dem k-ten gespeicherten Bezugsmuster ist proportional zum Logarithmus der Wahrscheinlich­ keit und wird in der nachfolgenden Formel mit 100 angenommen:
Zum Kombinieren der Wahrscheinlichkeitswerte L einer Folge von Mustern mit dem Ziel der Bildung des Wahr­ scheinlichkeitswertes eines gesprochenen Wortes oder Satzes wird der Wert L(x|k) für jeden Rahmen einge­ stellt, indem der beste (kleinste) Wert aller Bezugs­ muster für diesen Rahmen subtrahiert wird, und zwar gemäß folgender. Gleichung:
L′(x|k) = L(x|k) - min L(x|i) (18)
i = 1
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 Wahrschein­ lichkeit verknüpft ist, so daß eine Entscheidung zugunsten der angezeigten Folge die richtige Entscheidung wäre.
Der Vergleich der unbekannten Eingangsspektrummuster mit den gespeicherten bekannten Mustern erfolgt durch Berechnung der folgenden Funktion:
wobei ik = 1/s′ik) für das k-te Referenzmuster. Bei einer normalen programmierten Berechnung würden die folgenden Befehle ausgeführt, um die algebraische Funktion |x-u| (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 Vorzeichen­ wechsel, um den Absolutwert zu erhalten
  • 4. multipliziere mit
  • 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 er­ forderlichen Schritte zur Auswertung derselben beträgt dann 5 × 96 × 222 = 106 560 Schritte, ohne die zusätzlichen allgemeinen Programmschritte, und dies muß in weniger als 10 ms geschehen, um mit der Echt­ zeit-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 auszuwer­ ten. In Anbetracht der erforderlichen Geschwindigkeit wird erfindungsgemäß vorzugsweise ein spezieller Modul (Wahrscheinlichkeitsfunktions-Hardware-Modul) 200 (Fig. A) verwendet, der mit einem System-Vektorprozessor gemäß der US-PS 4 228 498 kompatibel ist.
Bei dem speziellen Modul 200 werden die fünf oben aufge­ führten Schritte gleichzeitig mit zwei Sätzen von Argumenten , 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-Vektorprozessor mit einer Geschwindigkeit von 8 Millionen Befehlen pro Se­ kunde arbeitet, ergibt sich bei dem hier verwendeten speziellen Modul 200 für die Wahrscheinlichkeits­ funktionen eine effektive Berechnungsgeschwindigkeit von etwa 80 Millionen Befehlen pro Sekunde.
Wie Fig. 5 zeigt, arbeitet der spezielle Modul 200 mit einer Kombination von sogenannten Pipeline-Operationen und Parallel-Operationen, um gleichzeitig jeweils zehn Schritte ausführen zu können. Dabei führen zwei unabhängige Bereiche 202 und 204 jeweils fünf arithme­ tische Schritte mit den unabhängigen Eingangsdaten­ argumenten aus und die zwei Ergebnisse werden in einem Addierer 206 zusammengefaßt, der mit deren Ausgängen verbunden ist. Die Akkumulation der Summierungen des Addierers 206 bilden die Summierung von 1 bis 96 ge­ mäß Gleichung 19, die von der Recheneinheit des Standard-Vektorprozessors gemäß US-PS 4 228 498 ver­ arbeitet wird.
Die im Pipeline-Betrieb arbeitenden Register speichern die Zwischendaten bei den folgenden Stufen der Daten­ verarbeitung:
  • 1. Eingangsargumente (getaktete Register 208, 210, 212, 214, 216, 218)
  • 2. Betrag von x-u (getaktete Register 220, 222)
  • 3. Ausgang des Multiplizierers (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 be­ stimmt. Gemäß Fig. 6 enthält jeder der Schaltkreise 228, 230 zur Subtraktion und Absolutwert-Bildung jeweils eine erste und eine zweite 8 Bit-Subtraktionsschaltung 232, 234, von denen die eine dazu dient, die Differenz x-u zu bestimmen, während die anderem die Differenz u-x bestimmt, sowie einen Multiplexer 236 zur Auswahl des positiven Ergebnisses. Die Eingangsargumente x 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 Differenzbildung in den 8 Bit-Subtraktionsschaltungen 232 und 234 ein Übertrag auf die neunte Bit-Stelle entstehen kann (z. B.: (127-(-28) = 255), sind spezielle Schaltungsein­ richtungen erforderlich, die der Auswertung des Über­ trags dienen. (Das Vorliegen eines Übertrags wird mittels eines Übertrag-Detektors 235 festgestellt, an dessen Eingängen über eine Leitung 235a das Vor­ zeichen von x 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 je­ weils einem UND-Gatter 268 bzw. 270 mit drei Ein­ gängen und einem ODER-Gatter 272. Aus der Wahrheits­ tabelle gemäß Fig. 8 wird die Verknüpfung zwischen der Übertragbedingung und den Eingangssignalen deut­ lich.
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 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:
Der Multiplexer 236 wird somit so gesteuert, daß er als 8-poliger elektrischer Schalter mit vier Schalt­ stellungen arbeitet. Der "Schiebevorgang" um 1 Bit wird kombinatorisch ausgeführt, indem man die Aus­ gänge der Subtraktionsschaltungen zu den entsprechen­ den Multiplexereingängen durchschaltet. Der Schiebe­ vorgang entspricht einer Division durch 2.
Wenn bei einer Subtraktion ein Übertrag auftritt, ent­ spricht das Ausgangssignal des Multiplexers dem durch 2 geteilten Ausgangssignal einer der Subtraktions­ schaltungen. Diese Bedingung muß später bei der Be­ rechnung 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 Multipli­ kationsprodukte eines 8 × 8 Bit-Multiplizierers 252, 254 um 1 Bit nach oben verschieben, was einer Multi­ plikation mit 2 entspricht, sobald das Übertrag-Bit gesetzt ist (logischer Pegel "1"). Die Multiplikation wird mittels einer handelsüblichen integrierten Schal­ tung mit der TRW-Baustein-Bezeichnung MPY-8-HJ durch­ gefü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 8 × 8 Bit-Multiplizierer 252, 254 erzeugen somit das Produkt von und |x-u| bei jedem Taktimpuls (wobei die zeit­ liche Steuerung für den Wert von in der richtigen Weise durch die besonderen Datenregister 256, 258 er­ folgt). Die Ausgangssignale der 8 × 8 Bit-Multiplizierer 252, 254 werden gepuffert in die Pipeline-Register 224, 226 einge­ speist und über Leitungen 260, 262 und einen Addierer 206 an die übrige Schaltung ausgegeben.
Derselbe spezielle Modul 200 wird auch zum Be­ rechnen des inneren Produktes zweier Vektoren verwen­ det, wie dies bei einer Matrix-Multiplikation erfor­ derlich ist. Dies wird durch die Gatter-Schaltungen 264, 266 erreicht, die einen Parallel-Pfad zu den Schaltungskreisen 228 bzw. 230 zur Subtraktion und zur Ab­ solutwert-Bildung bilden. Beim Vorliegen der Bypass- Bedingung werden die Daten x und von den Eingangs­ leitungen direkt als Eingangssignale für die Multi­ plikation in die Pipeline-Register 220, 222 einge­ speist.
Musterausrichtung für ganze Wörter
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 umfaßt auch Daten über die minimale und die maximale Verweilzeit, die mit jedem Bezugsmuster ver­ knüpft sind. Bei der Anwendung einer dynamischen Pro­ grammierung 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.
Diese Register entsprechen den Kreisen in Fig. 4 wo­ bei 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 Wahr­ scheinlichkeitswert, 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 beschrie­ bene Weise jeweils auf den neuesten Stand gebracht. Das erste Register für jede Wortschablone, d. h. das­ jenige 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 Wahrscheinlichkeitswert für die Hypothese, daß im vo­ rausgegangenen Rahmen irgendein Wort beendet wurde).
Das zweite Register einer Wortschablone enthält die Summe eines Wertes a, nämlich des Wahrscheinlichkeits­ wertes 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 an­ gezeigte Wort gesprochen wird und daß es im voraus­ gehenden Rahmen begonnen hat.
Während die einzelnen Register entsprechend den Ver­ weilzeiten zwischen der Minimaldauer und der Maximal­ dauer auf den neuesten Stand gebracht werden (das optionelle Verweilzeitintervall), wird ein eigenes Speicherregister dazu verwendet, die besten gespei­ cherten Wahrscheinlichkeitswerte (Registerinhalt) in den Registern zu speichern, die dem optionellen Ver­ weilzeitintervall 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 Verweilzeit­ intervall 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 Wahrscheinlich­ keitswert des laufenden Rahmens bezüglich des erwähnten nächsten Bezugs- oder Zielmusters addiert wird.
In Fig. 4 sollen die verschiedenen Pfeile, die zu der ersten Position 128 des erforderlichen Verweilzeit­ intervalls eines Referenzmusters führen, anzeigen, daß der Übergang von dem optionellen Register bzw. Zustand zum erforderlichen Verweilzeitregister bzw. -zustand zu jedem Zeitpunkt während des optionellen Verweilzeit­ intervalls oder ausgehend vom letzten Register des er­ forderlichen 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 optionellen Verweilzeitintervall den besten Wert enthält (zuzüg­ lich des letzten Registers des vorausgegangenen er­ forderlichen 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 Ver­ weilzeiten 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 Er­ zeugung schlechterer Werte führen wird.
Die Analyse wird in der beschriebenen Weise fortge­ setzt, wobei alle Register sämtlicher Referenzmuster aller Wortschablonen verwendet werden. Das letzte Re­ gister bzw. die letzten Registers 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 Wahrscheinlichkeits­ werte wird eine Folge von (Zeit-)Dauer-Zählungen bei­ behalten, um die Dauer des bestens Wortendes in jeder Rahmenzeit zu ermitteln. Der Zählvorgang wird bei­ "eins" in dem-ersten Register des ersten Schablonen­ muster des Worts eingeleitet. Für jedes zweite und fol­ gende Register eines Schablonenmusters wird der mit dem vorangehenden Register verknüpfte Zählerstand um "eins" erhöht. Für jedes Register, welches dem Beginn eines Referenzmusters (einem anderen als dem ersten Referenzmuster eines Wortes) entspricht, d. h. bei­ spielsweise die erste Position 128 des erforderlichen Verweilzeitintervalls, ist jedoch der Zählerstand des­ optionellen Verweilzeitregisters (oder des letzten Registers für die erforderliche Verweilzeit) für das vorausgegangene Bezugsmuster, welches der voraus­ gegangenen Rahmenzeit den besten Wahrscheinlichkeits­ wert 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 beschrie­ bene "Rückwärtsverfolgung" für jede Rahmenzeit zu er­ halten, werden die Identifizierung für das zu diesem Zeitpunkt endende Wort mit dem höchsten Wert und des­ sen Dauer in einen umlaufenden Pufferspeicher über­ tragen. 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. Eine 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 Pau­ senwort 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 Bot­ schaft wird zu einer Anzeige oder einer anderen ge­ steuerten 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).
Hinsichtlich der Ketten von kontinuierlich gesprochenen Vokabularworten, die durch Pausen bzw. "Stille" be­ grenzt sind, wirkt die "Stille" als Kontroll- bzw. Befehlswort, um den Umfang der "Vokabularworte" zu begrenzen, auf die das System ansprechen soll und die es erkennen soll. Dabei ist es, wie oben erwähnt, bei einem Gerät der betrachteten Art nicht ungewöhnlich, daß für ein gewisses Zeitintervall ein Signal mit minimaler Amplitude erfaßt wird, welches dann als "Stille" eingestuft wird.
Vorzugsweise können bei einer bevorzugten Ausführungs­ form der Erfindung mehr als eine "Aussprache" bzw. Darstellung für die "Stille" verwendet werden, wie dies auch für die Aussprache bzw. Darstellung anderer "Schlüsselwörter" gilt. Das Gerät kann das Vorliegen der "Stille" also nicht nur dann erkennen, wenn sie mit einem von vornherein vorgegebenen Satz von Kri­ terien übereinstimmt, d. h. mit einem a priori vor­ gegebenen Zielmuster; vielmehr kann auch mit einem dynamisch veränderlichen Zielmuster bzw. einer dyna­ misch veränderlichen Schablone gearbeitet werden, um die Fähigkeit des Geräts, die "Stille" zu erkennen, noch weiter zu verbessern. Ein vorausgehender oder zwei zweite Teile des Sprachsignales können folglich, wie oben ausgeführt, periodisch geprüft werden, und man kann ein sich dynamisch änderndes Modell der "Stille" bestimmen, indem man beispielsweise typische Muster auswählt, welche im Verlauf der letzten Sekunden eine minimale Amplitude besaßen, um ein frühe­ res dynamisches Modell der "Stille" auf den neuesten Stand zu bringen oder um entsprechend dem nachstehend beschriebenen Einübungsverfahren ein neues dynamisches Modell der "Stille" zu entwickeln. Die "Stille" kann also durch mehr als eine "Aussprache" bzw. Darstellung von Zielmustern definiert werden, wodurch die Wahr­ scheinlichkeit der Verbesserung der genauen Erfassung der "Stille" verbessert wird.
Üben der Bezugsmuster
Um die Probenelemente u und die Varianzen s′ für die Konstruktion der Bezugs- bzw. Referenzmuster zu erhalten, wird eine Anzahl von "Äußerungen" bzw. Sprachproben jedes Voka­ bularwortes in das Spracherkennungssystem eingegeben, und die Gesamt-Statistiken der entsprechenden vorver­ arbeiteten 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 we­ sentlicher 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 Inter­ vall beginnen, werden gebildet und entsprechend dem mit diesem Intervall verknüpften Bezugsmuster klassi­ fiziert. Anschließende Beispiele desselben Vokabular­ wortes werden in ähnlicher Weise in eine gleiche An­ zahl von gleichen Intervallen geteilt. Die Mittel­ werte un 31237 00070 552 001000280000000200012000285913112600040 0002003236834 00004 31118d Varianzen der Elemente der Drei-Rahmen- Muster, die aus den entsprechend geordneten Inter­ vallen gewonnen werden, werden für alle verfügbaren Proben des Vokabularwortes akkumuliert, um einen Satz von Bezugsmustern für dieses Wort zu bilden. Die An­ zahl der Intervalle (der Bezugsmuster) sollte in der Größenordnung von zwei oder drei pro in dem Vokabular­ wort enthaltenem linguistischem Phonem liegen.
Zur Gewinnung der besten Ergebnisse werden der Anfang und das Ende jedes Vokabularwortes mittels eines Ver­ fahrens markiert, bei dem die aufgezeichnete Audio­ signalform 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 wer­ den, 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 Erkennungsprozeß 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 ermit­ telten 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 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 Erkennungs­ prozessor nicht korrekt erkannt werden, ignoriert werden, da bei einer falsch erkannten Äußerung die Wahrscheinlichkeit besteht, daß diese schlecht pla­ zierte 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 einen Aufschrieb (script) veranlaßt, 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 Durchläufen durch das Trainings- Script erforderlich ist.
Wenn die höchst-mögliche Erkennungsgenauigkeit ange­ strebt wird, ist es vorteilhaft, das Trainingspro­ gramm mit einem Satz von zuvor bestimmten sprecher­ unabhä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 Worte 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 sprecherunab­ hä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 Erkennungs­ verfahren unter Verwendung der Bezugsmuster des ersten Durchlaufs bestimmt werden. Bei jedem Durchlauf werden außerdem die Gesamt-Statistiken für alle Sprecher abgeleitet.
Das System kann vorteilhafterweise auf einen bestimmten Sprecher eingeübt werden, indem man die zuvor erzeugten sprecherunabhängigen Muster verwendet, um in Kombina­ tion mit der "Stille"-Schablone die Grenzen des spre­ cherabhängigen Spracheingangssignals zu bestimmen. Vorzugsweise wird das von einem bestimmten Sprecher stammende Spracheingangssignal nicht in isolierter Form geliefert, sondern als eine kontinuierliche Wort­ kette. Bei Verwendung kontinuierlicher Sprachsignale während des Einübens lassen sich nämlich genauere Er­ gebnisse erreichen. Unter Verwendung der im System verfügbaren sprecherunabhängigen Bezugsmuster werden also zunächst die Grenzen der "sprecherabhängigen" Sprache, d. h. die Grenzen eines von einem bestimmten Sprecher stammenden Sprachsignals bestimmt, woraufhin dann in mehreren Durchläufen, wie sie vorstehend für das Einüben des Systems beschrieben wurden, zunächst in einem ersten Durchlauf eine Unterteilung jedes Wortes in gleichmäßige Unterintervalle erfolgt, wäh­ rend im zweiten Durchlauf aufgrund des Erkennungspro­ zesses unter Verwendung der im ersten Durchlauf ermit­ telten Muster neue Unterintervalle bestimmt werden.
Überraschenderweise kann ein ähnliches Verfahren auch mit Vorteil für zunächst unbekannte Vokabularworte angewandt werden. In diesem Fall werden die Grenzen eines zunächst unbekannten Vokabularwortes bestimmt, indem man erstens die sprecherunabhängigen Muster für andere Vokabularworte verwendet, um das unbekannte Schlüsselwort zu erkennen, und indem man zweitens die von vornherein bekannte Tatsache ausnutzt, daß das Auftreten der "Stille" am Beginn und am Ende des Worts dasselbe begrenzt. Die Grenzen werden dann aufgrund ei­ nes relativ besseren Wertes bestimmt, welcher zum An­ passen der sprecherunabhängigen Bezugsmuster an das unbekannte Vokabularwort gebildet wird, anstatt der Bezugsmuster an die "Stille" anzupassen. Unter Ver­ wendung des so erhaltenen Ergebnisses können die Gren­ zen des unbekannten Vokabularwortes "gesetzt" werden, woraufhin das vorstehend beschriebene Zwei-Schritt- Verfahren angewandt werden kann, gemäß welchem das Wort gleichmäßig in Unterintervalle unterteilt wird, um in einem ersten Durchgang eine Gesamtstatistik zu erhalten, und gemäß welchem in einem zweiten Durchlauf das normale Erkennungsverfahren angewandt wird, wobei die beim ersten Durchlauf erzeugten Bezugsmuster ver­ wendet werden. Diese automatisierte Verfahrensführung führt im Vergleich zu dem manuellen "Setzen" der Gren­ zen eines zunächst unbekannten Wortes zu vorteilhaften Ergebnissen.
Es sollte klar sein, daß die Erkennung der "Stille" unter Verwendung mindestens zweier verschiedener Aus­ sprachen bzw. Darstellungen für die Stille, von denen eine vorzugsweise dynamisch bestimmt wird, in Verbin­ dung mit dem Einüben des Systems auf einen neuen Sprecher schlagende Vorteile bietet. Ebenso wichtig ist es in diesem Zusammenhang, darauf hinzuweisen, daß das Wort "Stille" als Kontroll- bzw. Steuerwort dient, um eine Antwort bzw. Reaktion des Systems zu triggern. Vorausgesetzt, daß ihre Erkennung hinreichend sicher ist, könnten auch andere "Steuerworte" verwendet werden. Außerdem könnten, unter gewissen Umständen mehrere "Steuerworte" verwendet werden, um bei einem Erkennungs­ vorgang als "Signalposten" zu dienen. Vorzugsweise wird beim bevorzugten Ausführungsbeispiel jedoch das Voka­ bularwort "Stille" als einziges Steuerwort verwendet. Die Mindest-Verweilzeit (erforderliche Verweilzeit) und die Maximal-Verweilzeit (erforderliche plus optionelle Verweilzeit) werden vorzugsweise während der Übungs­ vorgänge bestimmt. Bei einem weiteren Ausführungs­ beispiel der Erfindung wird das System unter Einsatz mehrerer Sprecher in der vor stehend beschriebenen Weise trainiert. Außerdem werden im Verlauf der Übungen, wie oben beschrieben, durch den Erkennungsprozeß au­ tomatisch 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 Verweil­ zeiten für jedes Muster geprüft, und die minimalen und maximalen Verweilzeiten für das Muster werden ausgewählt. Gemäß einer weiteren Ausführungsform der Erfindung wird ein Histogramm bzw. Säulendiagramm der Verweilzeit erzeugt, und die minimale und die maxi­ male Verweilzeit werden auf die 25% bzw. die 75%- Linien gelegt. Auf diese Weise wird eine hohe Erkennungsgenauigkeit erreicht, während die Häufig­ keit von Fehlalarmen klein gehalten wird. Für die minimale und die maximale Verweilzeit können auch andere Werte gewählt werden, wobei stets ein Kompro­ miß 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 Er­ kennungsgenauigkeit, also im allgemeinen auf Kosten einer entsprechend größeren Häufigkeit von Fehl­ alarmen, erreicht.
Syntax-Prozessor
Die Verkettung von zwei oder mehr speziellen Wort­ schablonen ist ein triviales Beispiel für eine Syntax­ steuerung des Entscheidungsprozesses. Gemäß Fig. 9 umfaßt ein Syntax-Prozessor 308 zum Erfas­ sen 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 Vo­ kabularwort 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 am Knoten 313 zugeführt. Bei der Ermittlung einer Pause am Ende der Äußerung gemäß der Messung der De­ tektorschablone am Knoten 313 können die Marken (label) und die Zeiten für die geäußerten Worte alternierend von den Rückwärtsverfolgungs-Pufferspei­ chern des ersten Satzes und des zweiten Satzes von Schablonen zurückverfolgt werden. Wichtig ist, daß die Position der Pausendetektorschablone gewährleistet, daß zur eine Pause bzw. die Stille nach Wortfolgen mit einer ungeraden Anzahl von Worten erfaßt werden kann.
Etwas kompliziertere Syntax-Netzwerke können reali­ siert werden, indem man jedem Syntax-Knoten 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 wer­ den, indem man die Kettenlänge am Eingang zu einem zweiten Pausenregister 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 das erste Vokabularregister 310 freigegeben werden, wenn die Kettenlänge 0, 2 oder 4 beträgt, 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 Ein­ satz von fünf vollständigen Sätzen von dynamischen Programmierakkumulatoren erforderlich machen würden, ermöglicht dieses Verfahren den Einsatz einer geringe­ ren Anzahl von Akkumulatoren, die mehrfach verwendet werden, wobei lediglich eine geringfügige Reduzierung der typischen Erkennungsgenauigkeit eintritt.
Bei dem speziell bevorzugten Ausführungsbeispiel, welches hier beschrieben wird, ist das System so ge­ staltet, daß es entweder eine Kette von fünf Ziffern oder ein bekanntes Vokabularwort erkennen kann, welches keine Ziffer ist. Diese grammatikalische Syntax ist in Fig. 9A bildhaft dargestellt. In Fig. 9A stellt jeder der Knoten 314a, 314b, . . . 314h eine Stufe des Erkennungsprozesses dar. Dabei stellen die Knoten 314a und 314g die Erkennung der "Stille" dar, während die Knoten 314b, 314c, 314d, 314e und 314f die Erkennung einer Ziffer darstellen. Schließlich stellt der Knoten 314h die Erkennung eines Vokabularworts dar, bei dem es sich weder um eine Ziffer noch um die "Stille" handelt. Gemäß der Syntaxsteuerung des betrachteten Geräts bzw. Systems muß folglich zuerst die "Stille" erkannt werden, was dem Knoten 314a entspricht, wobei an diesem Punkt die Erkennung einer Ziffer die Steue­ rung zum Knoten 314b führt, während die Erkennung ei­ ner "Nicht-Ziffer" die Steuerung zum Knoten 314h führt (diese "Führungen" bzw. Bewegungen stellen zu­ lässige bzw. "legale" Vorrückschritte durch die gram­ matikalische Syntax dar). Am Knoten 314b besteht die einzige zulässige Weiterführung, die von diesem Knoten wegführt, in dem Übergang zum Knoten 314c, bei dem es sich um einen Ziffernknoten handelt. Beim Knoten 314h ist die einzig mögliche Weiterführung, die von diesem Knoten wegführt, der Übergang zu dem Knoten 314g, der der "Stille" zugeordnet ist. Die be­ schriebenen Weiterführungen bzw. Übergänge sind die einzig zulässigen bzw. "legalen" Übergänge, die von dem steuernden Syntax-Prozessor 308 erlaubt werden, welcher in Verbindung mit Fig. 10 beschrieben wird. Wichtig ist auch, darauf hinzuweisen, daß der Syntax- Prozessor gemäß Fig. 9A ähnlich wie bei dem System gemäß Fig. 9 beträchtlich vereinfacht werden kann, indem man ihn "auf sich selbst zurückfaltet" (zusam­ menklappen der Knotenstruktur) und indem man "Ver­ längerungen (augments) " verwendet, um den Fluß bzw. das Fortschreiten durch eine "gefaltete" bzw. "zusam­ mengeklappte" Syntax-Knotennetzwerkstruktur (Fig. 9B) zu steuern. Das System gemäß Fig. 9A kann also so um­ gezeichnet werden, wie dies in Fig. 9B dargestellt ist, vorausgesetzt, daß man bezüglich des Fortschrei­ tens von einem Knoten zum nächsten längs der Verbin­ dungsliniensegmente gewisse Einschränkungen vorsieht.
In Fig. 9B ist die zusammengeklappte und vergrößerte Syntax-Knotenstruktur diagrammartig dargestellt. Im einzelnen wird ein Knoten 314x zum (einzigen) Stille- Knoten, die Knoten 314u, 314v und 314w sind die neuen Ziffern-Knoten (sie entsprechen den alten Knoten 314b, 314c, 314d, 314e und 314f), und der Knoten 314h bleibt der Nicht-Ziffer-, Nicht-Stille-Knoten hat nunmehr eine "Doppelfunktion". Dies bedeutet, daß der Stille-Knoten 314x entweder die Stille am Beginn einer Wortketten­ erkennung oder die Stille darstellt, welche die Wort­ kettenerkennung beendet. In ähnlicher Weise haben auch die Knoten 314u und 314v insofern eine Doppelfunktion, als der Knoten 314u entweder die erste oder die vierte Ziffer einer Wortkette darstellt, während der Knoten 314v die zweite oder dritte Ziffer darstellt. Im Be­ trieb wird der Zugang zu jedem Knoten gemäß der Zif­ fernwortzählung zugelassen. Die Knoten in Fig. 9B ent­ sprechen einer Berechnung, die für verschiedene Hypo­ thesen parallel durchgeführt wird. Dabei stellen die Bögen die Abhängigkeiten der verschiedenen Hypothesen voneinander dar. In Fig. 9B sind nur drei Ziffer- Hypothesen im aktiven Zustand gehalten anstelle der fünf aktiven Ziffer-Hypothesen, die in Fig. 9A darge­ stellt sind. Im Betrieb wird diese Reduzierung der Zahl der aktiven Hypothesen dadurch erreicht, daß man Daten über einen Eingangsbogen nur dann akzeptiert, wenn ihnen der richtige Wortzählerstand zugeordnet ist, d. h. einer der akzeptierbaren Wortzählerstände aus dem Satz von alternativen Wortzählerständen für den betreffenden Bogen. Der Knoten 314u akzeptiert die über den Eingangsbogen vom Knoten 314x zugeführten Daten also nur dann, wenn der den Daten zugeordnete Wortzählerstand Null ist, was stets gilt, da die Daten auf allen Bögen, die von dem Stille-Knoten ausgehen, ihren Wortzählerstand auf Null gesetzt bekommen. Der Knoten 314u akzeptiert außerdem über den Eingangs­ bogen Daten vom Knoten 314w, wenn der den Daten zu­ geordnete Wortzählerstand drei ist. Außerdem wählt ein Knoten die am besten passenden Daten aus allen akzeptierbaren Eingangssignalen. Somit stellt der Knoten 314u entweder die Hypothese dar, daß eine Zif­ fer als die erste Ziffer in der Äußerung oder daß ei­ ne Ziffer als die vierte Ziffer in der Äußerung er­ kannt ist, wobei die Entscheidung lediglich davon ab­ hängt, ob die Daten vom Knoten 314x oder vom Knoten 314w ausgewählt wurden. In ähnlicher Weise akzeptiert der Stille-Knoten die über den Bogen vom Knoten 314v eintreffenden Daten immer wenn der Knoten 314v einen zugeordneten Wortzählerstand von fünf aufweist. Außer­ dem akzeptiert der Stille-Knoten Eingangssignale vom Knoten 314h und von sich selbst, von dem Stille- Knoten 314x. Der Stille-Knoten wählt dann unter die­ sen akzeptablen Eingangssignalen die am besten passen­ den Daten aus.
Der Effekt der "gefalteten", verlängerten bzw. ver­ größerten Syntax-Struktur besteht darin, daß sowohl der erforderliche Speicherbedarf als auch die Rechen­ belastung für das Gerät gesenkt werden. Andererseits ergibt sich aufgrund der Abweisung gewisser Daten und des Erzwingens einer Entscheidung das Risiko,daß die falsche Information verworfen wird und daß eine unzutreffende Entscheidung getroffen wird. Wenn jedoch die Genauigkeit der Erkennung hoch ist, wie dies bei dem hier beschriebenen Gerät der Fall ist, dann ist die Wahrscheinlichkeit, daß "gute" Daten verworfen werden, sehr gering. Wenn also beispielsweise der Knoten 314u das Eingangssignal vom Knoten 314x zu­ gunsten eines Eingangssignals vom Knoten 314w ver­ wirft, dann wird der Effekt erreicht, daß die wesent­ lich weniger wahrscheinlichen Eingangsdaten vom Stille- Knoten verworfen werden. Dies ist ein bevorzugtes Be­ triebsverfahren, da das Gerät an jedem einzelnen Punkt im zeitlichen Ablauf nur entscheiden muß, ob die Kette gerade beginnt oder ob in der Kette bereits drei Worte gesprochen wurden. Die Wahrscheinlichkeit, bezüglich dieser Entscheidung einen Fehler zu machen, ist außer­ ordentlich gering. Die gefaltete bzw. zusammenge­ klappte Syntax braucht kein zusätzliches Register pro Knoten, um die Anzahl der Worte mitzuzählen, die er­ kannt wurden. (Im allgemeineren Fall kann der Zähler­ stand der Anzahl der in einer grammatikalischen Syn­ taxkette erkannten Wörter entsprechen.) Die Vorteile der gefalteten Syntax, nämlich der reduzierte Spei­ cher- und Rechenbedarf überwiegen aber deren oben angegebene Nachteile.
Ein weiterer zusätzlicher Vorteil der Verwendung einer "Syntax" bei der Schlüsselworterkennung besteht darin, daß die Entscheidung, ob die "Stille" einge­ treten ist oder nicht, in der Ausnutzung der von vorn­ herein vorhandenen Kenntnisse (der grammatikalischen Syntax) erfolgt. Beim betrachteten Ausführungsbeispiel verlangt die Syntax, daß die "Stille" einer Wortkette vorangeht und dieser folgt. Diese Syntax ermöglicht es, dem Gerät die "Stille" zuverlässiger zu ermitteln und die Grenzen zwischen der kontinuierlichen Wort­ kette und der "Stille" exakt zu definieren. Das kriti­ sche Element des erfindungsgemäßen Verfahrens ist die Feststellung der "Stille" in Kombination mit der Wort­ kette. Die "Stille" wird am Ende der Wortkette somit zuverlässig entdeckt, da der akkumulierte Wert für die "Stille"-Darstellungen einen "guten Wahrschein­ lichkeitswert" des zuvor empfangenen Audiosprach­ signals enthält, wenn er einer Erkennung der Wortkette entspricht, welche die Erfordernisse der grammatika­ lischen Syntax erfüllt. Es ist die Bestimmung der "Stille" in ihrer Syntax, welche eine präzisere und zuverlässige Erkennung ermöglicht. Dies ist ein deut­ licher Vorteil, beispielsweise im Vergleich zur Erken­ nung der "Stille" in Form eines Amplituden-Minimums, unabhängig von der Sprach-Syntax.
Das realisierte, nach dem Spracherkennungsverfahren arbeitende System
Wie oben ausgeführt, wurde ein bevorzugtes Ausführungs­ beispiel der Erfindung entwickelt, bei dem die Signal- und Datenmanipulation, soweit sie über die Vorverarbei­ tung 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 Spezial- Vektor-Rechnerprozessor eingesetzt wurde, wie er bei­ spielsweise in der US-PS 4 228 498 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 Bezugs­ muster in einer vorgegebenen Folge, die vom Rechner über die Leitungen 320 eintrifft, wird zu den vor­ handenen Werten in einem der Speicher 322 bzw. 324 addiert. Diese Speicher arbeiten, wie unten beschrie­ ben, alternierend unter Steuerung durch einen Syntax- Prozessor 308, der die Werte empfängt, die dem Ende jedes möglichen Worts entsprechen bzw. unter Steuerung 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 Phonem­ signalen 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 Erkennung jeder Unterbrechung bzw. Pause einen Ent­ scheidungsmechanismus 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 ent­ halten 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 Wahrscheinlich­ keitswerte entspricht, die vom Vektor-Prozessor über die Leitung 320 angeliefert werden, und die Werte werden dann in der nachstehend beschriebenen Weise auf den neuesten Stand gebracht und neu in den anderen Speicher, den Speicher 324, eingeschrieben. Während des nächsten 10 ms-Rahmens werden die nunmehr alten Werte aus dem Speicher 324 ausgelesen, während die neuen Werte in den nunmehr anderen Speicher 322 einge­ schrieben werden. Diese Wechselfunktion dauert unter Steuerung durch den Syntax-Prozessor, durch das Minimal­ wert-Register 326 und durch andere Steuer- und Takt­ signale an. Wie oben erwähnt, ist jedes Wort in den Speichern 322 und 324 eine 32-Bit-Ziffer. Die niedrig­ wertigen Bits, die Bits 0 bis 15, werden verwendet, um die akkumulierten Wahrscheinlichkeitswerte zu speichern. Außerdem werden die Bits 16 bis 23 verwer­ tet, um die Phonemdauer aufzuzeichnen, während die Bits 24 bis 31 verwendet werden, um die Dauer der Wort­ zeiten 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über­ tragungsgeschwindigkeit ausgegeben und aus dem Muster­ wertspeicher mit einer niedrigeren Geschwindigkeit ausgelesen mit der die Schaltung gemäß Fig. 10 ar­ beitet. Auf diese Weise werden die Ausgangssignale des ausgewählten Speichers 322 bzw. 324 über das aus­ gewählte Gatter 330 bzw. 332 an die Leitungen 334 angelegt, ohne daß zwischendurch eine Steuerung durch den Syntax-Prozessor oder das Minimalwert-Register erfolgen würde. Die Leitungen 334 sind mit Addierern 336, 338, 340 verbunden, die dazu dienen, den Wahr­ scheinlichkeitswert 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 ei­ nem der Speicher 322 bzw. 324 geliefert wird, von dem Musterwertspeicher über die Leitungen 342 ausge­ geben und zu dem alten Wahrscheinlichkeitswert ad­ diert und dann in dem Speicher gespeichert, welcher nunmehr für das Einschreiben verwendet wird. Die Aus­ wahl des Speichers erfolgt dabei in Abhängigkeit vom Signalpegel auf den Leitungen 344. Gleichzeitig wer­ den die Zählerstände für die Wortdauer und die Phonem­ dauer um "eins" erhöht.
Auf diese Weise werden der Zählerstand für die Wort­ dauer, der Zählerstand für die Phonemdauer und die Wahrscheinlichkeitswerte normalerweise auf den neuesten Stand gebracht.
Die zwei Ausnahmen für die normale, vorstehend er­ läuterte Regel für das Auf-den-neuesten-Stand-bringen der Daten entsprechen dem Beginn eines neuen Phonems und dem Beginn eines neuen Wortes. Bei 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. Statt dessen wird der Wahrscheinlichkeitswert über die Leitung 342 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 Verweil­ zeit 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 voraus­ gegangenen 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 Minimal­ wert wird in das Minimalwert-Register geladen, indem man das Vorzeichen-Bit des Ausgangssignals eines Sub­ traktions-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 Ausgabeprozeß wird durch die Verwendung eines Gatter-Elements 348 gesteuert, welches beim Start eines neuen Phonems freigegeben wird, wobei gleichzeitig Steuersignale an zwei Gat­ ter 332 und 330 gelegt werden, durch die diese Gat­ ter während des Beginns eines neuen Phonems gesperrt werden.
Der Syntax-Prozessor 308 (vgl. Fig. 9B) wird dazu ver­ wendet, 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 Wahrscheinlich­ keitswert auf den neuesten Stand gebracht werden soll, wird nicht das Ausgangssignal eines der Speicher 322, 324 verwendet. Statt dessen wird der beste Wahrschein­ lichkeitswert, 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 gleich­ zeitig 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-Wahr­ scheinlichkeitswert addiert wird.
Bei dieser, durch Schaltungen (statt durch Programme) realisierten Ausführungsform wird daher jedes Register, gemäß einer Verweilzeit eines Bezugsrahmens, konti­ nuierlich auf den neuesten Stand gebracht. Der Syntax- Prozessor ist so ausgelegt, daß er, wenn die Wahr­ scheinlichkeitswerte ein "Pausen"-Wort darstellen, die erforderlichen Steuersysteme bereitstellt, um eine Schaltung oder einen Rechner zu befähigen, eine Rückwärtsverfolgung durchzuführen, um die er­ kannten Orte zu bestimmen.
Dabei versteht es sich, daß das Verfahren und die Vor­ richtung, welche vorstehend zur kontinuierlichen Sprach­ erkennung bei Wortketten beschrieben wurden, auch die spezielle Anwendungsmöglichkeit einer isolierten Sprach­ erkennung umfassen.

Claims (12)

1. Verfahren zum Erkennen von Pausen zwischen aufeinan­ derfolgenden Schlüsselwörtern in einem ankommenden Audiosignal bei der Durchführung einer Sprachanalyse mit Hilfe eines Sprachanalysegerätes, welches minde­ stens ein Schlüsselwort erkennen kann, gekennzeichnet durch folgende Verfahrensschritte:
es wird mindestens ein erstes und ein zweites Zielmu­ ster erzeugt, derart, daß jedes der beiden Zielmuster eine von zwei verschiedenen Darstellungen einer Pause in dem ankommenden Audiosignal darstellt;
das ankommende Audiosignal wird mit dem ersten und mit dem zweiten Zielmuster verglichen;
es wird ein erster und ein zweiter numerischer Meßwert erzeugt, derart, daß jeder der beiden Meßwerte das Er­ gebnis eines der beiden zuvor durchgeführten Verglei­ che darstellt; und
auf der Basis der zuvor erzeugten Meßwerte wird eine Entscheidung getroffen, ob in dem ankommenden Audio­ signal eine Pause ermittelt wurde oder nicht.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß mindestens eines der zwei Zielmuster in Form eines sich dynamisch ändernden Pausen-Zielmusters in Abhän­ gigkeit von dem ankommenden Audiosignal erzeugt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich­ net, daß einer der numerischen Meßwerte gemäß einer auf der Auswertung eines unmittelbar vorausgehenden Teils des Audiosignals basierenden Syntax-abhängigen Entscheidung geändert wird und daß aus dem geänderten Meßwert bestimmt wird, ob der vorliegende Signalteil einer Pause entspricht.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß sprecherunabhängige Zielmuster be­ reitgestellt werden, welche die Schlüsselwörter dar­ stellen, daß die Grenzen der Schlüsselwörter in Audio­ signalen, die von einem bestimmten Sprecher gesprochen werden unter Verwendung der sprecherunabhängigen Ziel­ muster bestimmt werden und daß die Sprachanalyse­ einrichtungen auf diesen Sprecher eingeübt werden, in­ dem man die Grenzen verwendet, die für die von diesem Sprecher gesprochenen Schlüsselwörter ermittelt wurden.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß ein Schlüsselwort in einem von einem bestimmten Spre­ cher erzeugten ankommenden Audiosignal unter Verwen­ dung der ermittelten Schlüsselwortgrenzen in einer An­ zahl von Unterintervallen unterteilt wird, daß für je­ des Unterintervall erzwungen wird, daß dieses einem bestimmten Zielmuster entspricht, daß die Teilschritte der Unterteilung und der Erzwingung der Entsprechung für eine Anzahl von Audioeingangssignalen wiederholt wird, welche dasselbe Schlüsselwort darstellen, daß statistische Daten erzeugt werden, welche die Zielmu­ ster beschreiben, die den einzelnen Unterintervallen zugeordnet sind, und daß ein zweiter Durchlauf durch die Audioeingangssignale durchgeführt wird, die das Schlüsselwort darstellen, um unter Verwendung der gesammelten statistischen Daten für die Schlüsselworte von den Analysiereinrichtungen erzeugte Unterintervalle zu erhalten.
6. Gerät zum Erkennen von Pausen zwischen aufeinanderfolgenden Schlüsselwörtern in einem ankommenden Audiosignal zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 5, gekennzeichnet durch folgende Merkmale:
es sind Einrichtungen vorgesehen, mit deren Hilfe mindestens eine erste und eine zweite Zielschablone erzeugbar sind, von denen jede eine von zwei verschiedenen Darstellungen einer Pause in dem ankommenden Audiosignal darstellt;
es sind Vergleichseinrichtungen vorgesehen, mit deren Hilfe das ankommende Audiosignal mit der ersten und der zweiten Zielschablone vergleichbar ist;
es sind Einrichtungen zum Erzeugen numerischer Meßwerte vorgesehen, die das Ergebnis der Vergleiche darstellen, und
es sind Entscheidungseinrichtungen vorgesehen, mit deren Hilfe auf der Basis von zumindest den Meßwerten entscheidbar ist, ob eine Pause ermittelt wurde.
7. Gerät nach Anspruch 6, dadurch gekennzeichnet, daß die Einrichtungen zur Erzeugung der Meßwerte derart ausgebildet sind, daß mit ihrer Hilfe für die eine der mindestens zwei Zielschablonen eine sich dynamisch ändernde Pausen-Zielschablone erzeugbar ist, wobei diese sich dynamisch ändernde Schablone in Abhängigkeit von dem ankommenden Audiosignal erzeugbar ist.
8. Gerät zum Erkennen von Pausen zwischen aufeinanderfolgenden Schlüsselwörtern in einem ankommenden Audiosignal zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 5, gekennzeichnet durch folgende Merkmale:
es sind Einrichtungen vorgesehen, mit deren Hilfe ein numerischer Meßwert für die Wahrscheinlichkeit erzeugbar ist, daß der im Augenblick ankommende Teil des Audiosignals einem Bezugsmuster entspricht, welches eine Pause darstellt;
es sind Einrichtungen vorgesehen, mit deren Hilfe zu dem numerischen Meßwert ein syntaxabhängiger Wert addierbar ist, um einen neuen Wert zu erzeugen, wobei der syntaxabhängige Wert die Erkennung eines unmittelbar vorausgehenden Teils des Audiosignals gemäß einer grammatikalischen Syntax darstellt; und
es sind Einrichtungen vorgesehen, mit deren Hilfe aus dem neuen Wert bestimmbar ist, ob der vorliegende Signalanteil einer Pause entspricht.
9. Gerät nach einem der Ansprüche 6 bis 8, gekennzeichnet durch folgende Merkmale:
es sind Einrichtungen zum Bereitstellen sprecherunabhängiger Bezugsmuster vorgesehen, welche die Schlüsselworte darstellen;
es sind Einrichtungen zum Bestimmen der Grenzen der Schlüsselworte in Audiosignalen, die von dem Sprecher gesprochen werden, unter Verwendung der sprecherunabhängigen Bezugsmuster vorgesehen;
es sind Einrichtungen vorgesehen, mit deren Hilfe die Sprachanalyse-Einrichtungen auf den Sprecher einübbar sind, indem die Grenzen verwendet werden, die für die vom Sprecher gesprochenen Schlüsselworte ermittelt wurden.
10. Gerät nach Anspruch 9, dadurch gekennzeichnet, daß die Einrichtungen zum Einüben der Sprachanalyse-Einrichtungen folgende Merkmale aufweisen:
es sind Einrichtungen vorgesehen, mit deren Hilfe ein Schlüsselwort, welches ein ankommendes Audiosignal darstellt, welches von dem Sprecher stammt, wiederholt unter Verwendung der Schlüsselwortgrenzen in eine Anzahl von Unterintervallen unterteilbar ist;
es sind Einrichtungen vorgesehen, mit deren Hilfe für jedes Unterintervall wiederholt dessen Übereinstimmung mit einem einzigartigen Bezugsmuster erzwingbar ist;
es sind Einrichtungen vorgesehen, mit deren Hilfe statistische Daten erzeugbar sind, welche die Bezugsmuster beschreiben, die den einzelnen Unterintervallen zugeordnet sind; und
es sind Einrichtungen vorgesehen, mit deren Hilfe ein zweiter Durchlauf durch die Audioeingangssignale, die das Schlüsselwort darstellen, ausführbar ist, um unter Verwendung der gesamten statistischen Daten von den Analysiereinrichtungen erzeugte Unterintervalle für die Schlüsselworte zu erhalten.
11. Gerät nach Anspruch 10, dadurch gekennzeichnet, daß Einrichtungen vorgesehen sind, mit deren Hilfe ein Audiosignal bereitstellbar ist, welches das von dem Sprecher gesprochene unbekannte Schlüsselwort in isolierter Form enthält.
12. Gerät nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet, daß die Einübungseinrichtungen folgende Merkmale aufweisen:
es sind Einrichtungen vorgesehen, mit deren Hilfe ein ankommendes Audiosignal, welches dem zuvor unbekannten Schlüsselwort entspricht, unter Verwendung der Grenzen wiederholt in eine Anzahl von Unterintervallen unterteilbar ist;
es sind Einrichtungen vorgesehen, mit deren Hilfe die Übereinstimmung jedes Unterintervalls mit einem einzigartigen Bezugsmuster wiederholt erzwingbar ist;
es sind Einrichtungen vorgesehen, mit deren Hilfe statistische Daten erzeugbar sind, welche das mit jedem einzelnen Unterintervall verknüpfte Bezugsmuster beschreiben; und
es sind Einrichtungen vorgesehen, mit deren Hilfe unter Verwendung der gesammelten statistischen Daten ein zweiter Durchlauf durch die das zuvor unbekannte Schlüsselwort darstellenden Audio-Eingangssignale durchführbar ist, um durch die Analysiereinrichtungen erzeugte Unterintervalle für das Schlüsselwort bereitzustellen.
DE3236834A 1981-10-05 1982-10-05 Verfahren und Gerät zur Sprachanalyse Expired - Fee Related DE3236834C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/309,209 US4481593A (en) 1981-10-05 1981-10-05 Continuous speech recognition

Publications (2)

Publication Number Publication Date
DE3236834A1 DE3236834A1 (de) 1983-10-06
DE3236834C2 true DE3236834C2 (de) 1995-09-28

Family

ID=23197172

Family Applications (1)

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

Country Status (6)

Country Link
US (1) US4481593A (de)
JP (3) JPS58134700A (de)
CA (1) CA1182223A (de)
DE (1) DE3236834C2 (de)
FR (1) FR2520913B1 (de)
GB (1) GB2107100B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19854341A1 (de) * 1998-11-25 2000-06-08 Alcatel Sa Verfahren und Schaltungsanordnung zur Sprachpegelmessung in einem Sprachsignalverarbeitungssystem
DE10120168A1 (de) * 2001-04-18 2002-10-24 Deutsche Telekom Ag Verfahren zur Bestimmung von Intensitätskennwerten von Hintergrundgeräuschen in Sprachpausen von Sprachsignalen

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE33597E (en) * 1982-10-15 1991-05-28 Hidden Markov model speech recognition arrangement
US4587670A (en) * 1982-10-15 1986-05-06 At&T Bell Laboratories Hidden Markov model speech recognition arrangement
JPS60501180A (ja) * 1983-03-28 1985-07-25 エクソン リサ−チ アンド エンジニアリング カンパニ− スピ−チ認識方法および装置
US4627091A (en) * 1983-04-01 1986-12-02 Rca Corporation Low-energy-content voice detection apparatus
US4723290A (en) * 1983-05-16 1988-02-02 Kabushiki Kaisha Toshiba Speech recognition apparatus
US4720802A (en) * 1983-07-26 1988-01-19 Lear Siegler Noise compensation arrangement
US4868879A (en) * 1984-03-27 1989-09-19 Oki Electric Industry Co., Ltd. Apparatus and method for recognizing speech
US4713778A (en) * 1984-03-27 1987-12-15 Exxon Research And Engineering Company Speech recognition method
US4718093A (en) * 1984-03-27 1988-01-05 Exxon Research And Engineering Company Speech recognition method including biased principal components
US4718092A (en) * 1984-03-27 1988-01-05 Exxon Research And Engineering Company Speech recognition activation and deactivation method
US4718088A (en) * 1984-03-27 1988-01-05 Exxon Research And Engineering Company Speech recognition training method
US4713777A (en) * 1984-05-27 1987-12-15 Exxon Research And Engineering Company Speech recognition method having noise immunity
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
JPH0632012B2 (ja) * 1985-03-25 1994-04-27 株式会社東芝 音声認識装置
US4980918A (en) * 1985-05-09 1990-12-25 International Business Machines Corporation Speech recognition system with efficient storage and rapid assembly of phonological graphs
US4833712A (en) * 1985-05-29 1989-05-23 International Business Machines Corporation Automatic generation of simple Markov model stunted baseforms for words in a vocabulary
US4759068A (en) * 1985-05-29 1988-07-19 International Business Machines Corporation Constructing Markov models of words from multiple utterances
US4977599A (en) * 1985-05-29 1990-12-11 International Business Machines Corporation Speech recognition employing a set of Markov models that includes Markov models representing transitions to and from silence
GB8527913D0 (en) * 1985-11-12 1985-12-18 Pa Consulting Services Analysing transitions in finite state machines
US5023911A (en) * 1986-01-10 1991-06-11 Motorola, Inc. Word spotting in a speech recognition system without predetermined endpoint detection
US4827521A (en) * 1986-03-27 1989-05-02 International Business Machines Corporation Training of markov models used in a speech recognition system
JPS6350896A (ja) * 1986-08-21 1988-03-03 沖電気工業株式会社 音声認識装置
US4829578A (en) * 1986-10-02 1989-05-09 Dragon Systems, Inc. Speech detection and recognition apparatus for use with background noise of varying levels
US4896358A (en) * 1987-03-17 1990-01-23 Itt Corporation Method and apparatus of rejecting false hypotheses in automatic speech recognizer systems
US4805218A (en) * 1987-04-03 1989-02-14 Dragon Systems, Inc. Method for speech analysis and speech recognition
FR2639737B1 (fr) * 1988-11-30 1991-01-11 Bull Sa Circuit integre de programmation dynamique
US5761639A (en) * 1989-03-13 1998-06-02 Kabushiki Kaisha Toshiba Method and apparatus for time series signal recognition with signal variation proof learning
JP3002204B2 (ja) * 1989-03-13 2000-01-24 株式会社東芝 時系列信号認識装置
US4994983A (en) * 1989-05-02 1991-02-19 Itt Corporation Automatic speech recognition system using seed templates
US5509104A (en) * 1989-05-17 1996-04-16 At&T Corp. Speech recognition employing key word modeling and non-key word modeling
CA2015410C (en) * 1989-05-17 1996-04-02 Chin H. Lee Speech recognition employing key word modeling and non-key word modeling
DE4111781A1 (de) * 1991-04-11 1992-10-22 Ibm Computersystem zur spracherkennung
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
US5388183A (en) * 1991-09-30 1995-02-07 Kurzwell Applied Intelligence, Inc. Speech recognition providing multiple outputs
US5502774A (en) * 1992-06-09 1996-03-26 International Business Machines Corporation Automatic recognition of a consistent message using multiple complimentary sources of information
JP2818362B2 (ja) * 1992-09-21 1998-10-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 音声認識装置のコンテキスト切換えシステムおよび方法
JP2524472B2 (ja) * 1992-09-21 1996-08-14 インターナショナル・ビジネス・マシーンズ・コーポレイション 電話回線利用の音声認識システムを訓練する方法
US5425129A (en) * 1992-10-29 1995-06-13 International Business Machines Corporation Method for word spotting in continuous speech
CA2158849C (en) * 1993-03-25 2000-09-05 Kevin Joseph Power Speech recognition with pause detection
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
JPH07210190A (ja) * 1993-12-30 1995-08-11 Internatl Business Mach Corp <Ibm> 音声認識方法及びシステム
US5642444A (en) * 1994-07-28 1997-06-24 Univ North Carolina Specialized image processing system architecture and method for image data arrays
DE4432632A1 (de) * 1994-09-14 1996-03-21 Philips Patentverwaltung System zum Ausgeben von Sprachinformation in Rekation auf eingegebene Sprachsignale
US5615301A (en) * 1994-09-28 1997-03-25 Rivers; W. L. Automated language translation system
US5594834A (en) * 1994-09-30 1997-01-14 Motorola, Inc. Method and system for recognizing a boundary between sounds in continuous speech
DE19508711A1 (de) * 1995-03-10 1996-09-12 Siemens Ag Verfahren zur Erkennung einer Signalpause zwischen zwei Mustern, welche in einem zeitvarianten Meßsignal vorhanden sind
AU5738296A (en) * 1995-05-26 1996-12-11 Applied Language Technologies Method and apparatus for dynamic adaptation of a large vocab ulary speech recognition system and for use of constraints f rom a database in a large vocabulary speech recognition syst em
US5806034A (en) * 1995-08-02 1998-09-08 Itt Corporation Speaker independent speech recognition method utilizing multiple training iterations
US5822728A (en) * 1995-09-08 1998-10-13 Matsushita Electric Industrial Co., Ltd. Multistage word recognizer based on reliably detected phoneme similarity regions
US5825977A (en) * 1995-09-08 1998-10-20 Morin; Philippe R. Word hypothesizer based on reliably detected phoneme similarity regions
US5684925A (en) * 1995-09-08 1997-11-04 Matsushita Electric Industrial Co., Ltd. Speech representation by feature-based word prototypes comprising phoneme targets having reliable high similarity
DE19624988A1 (de) * 1996-06-22 1998-01-02 Peter Dr Toma Verfahren zur automatischen Erkennung eines gesprochenen Textes
US5842161A (en) * 1996-06-25 1998-11-24 Lucent Technologies Inc. Telecommunications instrument employing variable criteria speech recognition
DE19633693C1 (de) * 1996-08-21 1997-11-20 Max Planck Gesellschaft Verfahren und Vorrichtung zur Erfassung von Targetmustern in einer Textur
WO1998014934A1 (en) * 1996-10-02 1998-04-09 Sri International Method and system for automatic text-independent grading of pronunciation for language instruction
US5995928A (en) * 1996-10-02 1999-11-30 Speechworks International, Inc. Method and apparatus for continuous spelling speech recognition with early identification
US5903675A (en) * 1996-12-20 1999-05-11 Apple Computer, Inc. System and method for compressing data using a dynamically changing compression window
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
US6076057A (en) * 1997-05-21 2000-06-13 At&T Corp Unsupervised HMM adaptation based on speech-silence discrimination
US6011854A (en) * 1997-09-18 2000-01-04 Sony Corporation Automatic recognition of audio information in a broadcast program
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
US6711536B2 (en) * 1998-10-20 2004-03-23 Canon Kabushiki Kaisha Speech processing apparatus and method
JP3252815B2 (ja) * 1998-12-04 2002-02-04 日本電気株式会社 連続音声認識装置及び方法
US20020069064A1 (en) * 1999-02-08 2002-06-06 Dejaco Andrew P. Method and apparatus for testing user interface integrity of speech-enabled devices
US6233557B1 (en) * 1999-02-23 2001-05-15 Motorola, Inc. Method of selectively assigning a penalty to a probability associated with a voice recognition system
US6327564B1 (en) * 1999-03-05 2001-12-04 Matsushita Electric Corporation Of America Speech detection using stochastic confidence measures on the frequency spectrum
US7058573B1 (en) * 1999-04-20 2006-06-06 Nuance Communications Inc. Speech recognition system to selectively utilize different speech recognition techniques over multiple speech recognition passes
US7283964B1 (en) 1999-05-21 2007-10-16 Winbond Electronics Corporation Method and apparatus for voice controlled devices with improved phrase storage, use, conversion, transfer, and recognition
US7120582B1 (en) 1999-09-07 2006-10-10 Dragon Systems, Inc. Expanding an effective vocabulary of a speech recognition system
US7263484B1 (en) 2000-03-04 2007-08-28 Georgia Tech Research Corporation Phonetic searching
US6901362B1 (en) * 2000-04-19 2005-05-31 Microsoft Corporation Audio segmentation and classification
US7080011B2 (en) * 2000-08-04 2006-07-18 International Business Machines Corporation Speech label accelerators and techniques for using same
JP2002149187A (ja) * 2000-11-07 2002-05-24 Sony Corp 音声認識装置および音声認識方法、並びに記録媒体
US7133827B1 (en) 2002-02-06 2006-11-07 Voice Signal Technologies, Inc. Training speech recognition word models from word samples synthesized by Monte Carlo techniques
DE10220524B4 (de) 2002-05-08 2006-08-10 Sap Ag Verfahren und System zur Verarbeitung von Sprachdaten und zur Erkennung einer Sprache
EP1361740A1 (de) * 2002-05-08 2003-11-12 Sap Ag Verfahren und System zur Verarbeitung von Sprachinformationen eines Dialogs
EP1363271A1 (de) 2002-05-08 2003-11-19 Sap Ag Verfahren und System zur Verarbeitung und Speicherung von Sprachinformationen eines Dialogs
US7788097B2 (en) * 2002-06-06 2010-08-31 Nuance Communications, Inc. Multiple sound fragments processing and load balancing
US7340392B2 (en) * 2002-06-06 2008-03-04 International Business Machines Corporation Multiple sound fragments processing and load balancing
JP4301102B2 (ja) * 2004-07-22 2009-07-22 ソニー株式会社 音声処理装置および音声処理方法、プログラム、並びに記録媒体
KR100744288B1 (ko) * 2005-12-28 2007-07-30 삼성전자주식회사 음성 신호에서 음소를 분절하는 방법 및 그 시스템
WO2010019831A1 (en) * 2008-08-14 2010-02-18 21Ct, Inc. Hidden markov model for speech processing with training method
ES2540995T3 (es) * 2010-08-24 2015-07-15 Veovox Sa Sistema y método para reconocer un comando de voz de usuario en un entorno con ruido
JP6645063B2 (ja) * 2014-07-29 2020-02-12 ヤマハ株式会社 ターゲット文字列の推定
US9462456B2 (en) 2014-11-19 2016-10-04 Qualcomm Incorporated Method and apparatus for creating a time-sensitive grammar
US10121471B2 (en) * 2015-06-29 2018-11-06 Amazon Technologies, Inc. Language model speech endpointing
JP2018170539A (ja) * 2017-03-29 2018-11-01 ソニー株式会社 スピーカ装置、オーディオデータ供給装置及びオーディオデータ再生システム

Family Cites Families (20)

* 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
GB1435779A (en) * 1972-09-21 1976-05-12 Threshold Tech Word recognition
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
US4038503A (en) * 1975-12-29 1977-07-26 Dialog Systems, Inc. Speech recognition apparatus
GB1569450A (en) * 1976-05-27 1980-06-18 Nippon Electric Co Speech recognition system
JPS592040B2 (ja) * 1976-08-24 1984-01-17 日本電信電話株式会社 音声認織装置
US4228498A (en) * 1977-10-12 1980-10-14 Dialog Systems, Inc. Multibus processor for increasing execution speed using a pipeline effect
US4301329A (en) * 1978-01-09 1981-11-17 Nippon Electric Co., Ltd. Speech analysis and synthesis apparatus
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
US4227177A (en) * 1978-04-27 1980-10-07 Dialog Systems, Inc. Continuous speech recognition method
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
JPS5629292A (en) * 1979-08-17 1981-03-24 Nippon Electric Co Continuous voice identifier
US4412098A (en) * 1979-09-10 1983-10-25 Interstate Electronics Corporation Audio signal recognition computer
JPS56121100A (en) * 1980-02-29 1981-09-22 Nissan Motor Voice identification driving device
US4336421A (en) * 1980-04-08 1982-06-22 Threshold Technology, Inc. Apparatus and method for recognizing spoken words
DE3236000A1 (de) * 1982-09-29 1984-03-29 Blaupunkt-Werke Gmbh, 3200 Hildesheim Verfahren zum klassifizieren von audiosignalen

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19854341A1 (de) * 1998-11-25 2000-06-08 Alcatel Sa Verfahren und Schaltungsanordnung zur Sprachpegelmessung in einem Sprachsignalverarbeitungssystem
US6539350B1 (en) 1998-11-25 2003-03-25 Alcatel Method and circuit arrangement for speech level measurement in a speech signal processing system
DE10120168A1 (de) * 2001-04-18 2002-10-24 Deutsche Telekom Ag Verfahren zur Bestimmung von Intensitätskennwerten von Hintergrundgeräuschen in Sprachpausen von Sprachsignalen

Also Published As

Publication number Publication date
GB2107100A (en) 1983-04-20
FR2520913B1 (fr) 1986-12-19
JPS58134700A (ja) 1983-08-10
DE3236834A1 (de) 1983-10-06
JPH05232984A (ja) 1993-09-10
CA1182223A (en) 1985-02-05
JPH0816187A (ja) 1996-01-19
FR2520913A1 (fr) 1983-08-05
US4481593A (en) 1984-11-06
GB2107100B (en) 1985-09-11

Similar Documents

Publication Publication Date Title
DE3236834C2 (de) Verfahren und Gerät zur Sprachanalyse
DE3236832C2 (de) Verfahren und Gerät zur Sprachanalyse
DE3236885A1 (de) Verfahren und geraet zur sprachanalyse
DE69432943T2 (de) Verfahren und Vorrichtung zur Sprachdetektion
DE69311303T2 (de) Sprachtrainingshilfe für kinder.
DE2613258C2 (de) Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache
DE3337353C2 (de) Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells
DE69420842T2 (de) Spracherkennung unter anwendung einer zweidurchgängigen suchmethode
DE69033084T2 (de) Schaltung zur Spracherkennung unter Anwendung von nichtlinearer Verarbeitung, Sprachelementmodellierung und Phonembewertung
DE3783154T2 (de) Spracherkennungssystem.
DE69831114T2 (de) Integration mehrfacher Modelle für die Spracherkennung in verschiedenen Umgebungen
DE69225371T2 (de) Schlüsselwörtererkennung in einem zusammenhängenden Text mittels zweier &#34;Hidden Markov&#34; Modelle
DE2753277C2 (de) Verfahren und Einrichtung zur Spracherkennung
DE60124842T2 (de) Rauschrobuste Mustererkennung
DE3878001T2 (de) Spracherkennungseinrichtung unter anwendung von phonemermittlung.
DE19636739C1 (de) Verfahren zur Mehrsprachenverwendung eines hidden Markov Lautmodelles in einem Spracherkennungssystem
DE69427083T2 (de) Spracherkennungssystem für mehrere sprachen
DE68924134T2 (de) Spracherkennungssystem.
DE2825110A1 (de) Verfahren zur erkennung kontinuierlicher sprachsignale
DE2659096C2 (de)
DE602005000603T2 (de) Verfahren zur Bestimmung von Wahrscheinlichkeitsparametern für ein veränderliches Zustandsraummodell
DE2825082A1 (de) Verfahren zur spracherkennung
DE2659083A1 (de) Verfahren und vorrichtung zur sprechererkennung
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung
DE10030105A1 (de) Spracherkennungseinrichtung

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