DE3236832A1 - Verfahren und geraet zur sprachanalyse - Google Patents
Verfahren und geraet zur sprachanalyseInfo
- Publication number
- DE3236832A1 DE3236832A1 DE19823236832 DE3236832A DE3236832A1 DE 3236832 A1 DE3236832 A1 DE 3236832A1 DE 19823236832 DE19823236832 DE 19823236832 DE 3236832 A DE3236832 A DE 3236832A DE 3236832 A1 DE3236832 A1 DE 3236832A1
- Authority
- DE
- Germany
- Prior art keywords
- target pattern
- keyword
- frame
- pattern
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000004458 analytical method Methods 0.000 title claims abstract description 21
- 238000001228 spectrum Methods 0.000 claims abstract description 91
- 230000005236 sound signal Effects 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000000694 effects Effects 0.000 claims abstract description 5
- 238000001514 detection method Methods 0.000 claims description 17
- 238000009825 accumulation Methods 0.000 claims description 12
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000003252 repetitive effect Effects 0.000 claims description 4
- 230000003595 spectral effect Effects 0.000 abstract description 5
- 238000000926 separation method Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 41
- 230000015654 memory Effects 0.000 description 30
- 230000008569 process Effects 0.000 description 30
- 238000005311 autocorrelation function Methods 0.000 description 25
- 230000000875 corresponding effect Effects 0.000 description 23
- 230000009466 transformation Effects 0.000 description 12
- 238000012935 Averaging Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 10
- 239000013598 vector Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000009499 grossing Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 239000000523 sample Substances 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 229910052799 carbon Inorganic materials 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000010183 spectrum analysis Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000012884 algebraic function Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 210000000860 cochlear nerve Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
- Document Processing Apparatus (AREA)
- Telephonic Communication Services (AREA)
Description
HOEGER, STELLRECHT'& T=WRTKTET=J^!36832
PATENTANWÄLTE UHLANDSTRASSE 14 γ; · D roOO STUTTGART 1
A 45 325 b Anmelder: Verbex Corporation
k - 176 2 Oak Park
28. September 1982 Bedford, MA 01730
USA
Verfahren und Gerät zur Sprachanalyse
Die Erfindung betrifft ein Verfahren zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem
Audiosignal, bei welchem jedes Schlüsselwort in charakteristischer Weise durch eine Schablone mit mindestens
einem Zielmuster dargestellt ist, bei dem jedes Ziemuster mindestens ein Kurzzeit-Leistungsspektrum darstellt
und bei dem jedem Zielmuster mindestens eine einer erforderlichen Verweilzeit zugeordnete Position
und mindestens eine einer optioneilen Verweilzeit zugeordnete Position zugeordnet sind, sowie ein Gerät
zur Durchführung dieses Verfahrens.
Es sind bereits verschiedene Spracherkennungssysteme
vorgeschlagen worden, die dazu dienen, isolierte Äußerungen zu erkennen, indem sie ein unbekanntes isoliertes
Audiosignal·, welches in geeigneter Weise aufbereitet wird, mit ein oder mehreren zuvor vorbereiteten
Darstellungen bekannter Schlüsselwörter vergleichen. Dabei wird der Begriff "Schlüsselwort" in dem Sinne
verwendet, daß er eine verbundene Gruppe von Phonemen und Schallereignissen bezeichnen soll und beispiels-
-13-BAD ORIGINAL
2236832
A 45 325 b
k - 176 - 13 -
28. September 1982
weise ein Teil einer Silbe, ein Wort, eine Phrase usw. sein kann. Verschiedene derartige Systeme wurden mit
begrenztem Erfolg eingesetzt, um isolierte Schlüsselwörter zu erkennen. Dabei zeigte es sich, daß ein bestimmtes
bekanntes System, welches.im wesentlichen gemäß den Lehren der US-PS 4 038 503 arbeitet, besonders
erfolgreich-eingesetzt werden kann und geeignet ist, ein bestimmtes Schlüsselwort aus einem begrenzten Vokabular
von Schlüsselwörtern sicher zu erkennen, vorausgesetzt, daß die Grenzen (Anfang und Ende) des unbekannten
Audiosignals durch den Zustand der Stille oder durch ein Hintergrundgeräusch (also durch Pausen im
Sinne der vorliegenden Anmeldung) gebildet sind, die von dem Erkennungssystem ermittelt werden. Das System
basiert also auf der Annahme, daß das Intervall, in dem das unbekannte Audiosignal auftritt, wohl definiert
ist und eine einzige SchLüsselwortaußerung enthält.
Bei einem.kontinuierlichen Audiosignal, wie z.B. in der kontinuierlichen Umgangssprache, in der die Schlüsselwortgrenzen
nicht von vornherein bekannt bzw. markiert sind, wurden ebenfalls bereits verschiedene Verfahren
angewandt, um die ankommenden Audiodaten in Segmente zu unterteilen, d.h. um die Grenzen der
linguistischen Einheiten, wie z.B. der Phoneme, Silben, Worte, Sätze usw. vor der Einleitung eines Schlüsselworterkennungsprozesses
zu bestimmen. Diese vorbekannten, der kontinuierlichen Sprachauswertung dienenden
Systeme waren jedoch nur in begrenztem Maße
-14-
A 45 325 b
k - 176 - 14-
28. September 1982
erfolgreich, was teilweilse dar.auf zurückzuführen ist,
daß bei ihnen kein befriedigendes Segmentierverfahren
gefunden wurde. Auch für andere wichtige Probleme wurde bisher, noch keine befriedigende Lösung gefunden.
Beispielsweise können derzeit nur begrenzte Wortschätze zuverlässig und mit einer niedrigen Quote von
Fehlalarmen erkannt werden. Weiterhin ist die Erkennungsgenauigkeit sehr empfindlich für die Unterschiede
zwischen den Stimm- bzw. Sprech-Charakteristiken unterschiedlicher
Sprecher. Außerdem reagieren die bekannten Systeme sehr empfindlich auf Verzerrungen der zu analysierenden
Audiosignale, wie sie typischerweise auftreten, wenn diese Audiosignale beispielsweise über
das normale. Telefonnetz übertragen werden.
Die US-PSen 4 227 176, 4 241 329 und 4 227 177 beschreiben wirtschaftlich brauchbare und wirksame Verfahren
zur erfolgreichen Erkennung von Schlüsselwörtern in kontinuierlichen Sprachsignalen, die im Echtzeitbetrieb
ausgewertet werden. Diese bekannten Verfahren werden derzeit wirtschaftlich angewandt und
haben sich sowohl im Experiment wie auch in der Praxis als sehr zuverlässig erwiesen, da sich mit
ihnen in einer sprecherunabhängigen Umgebung eine niedrige Fehlerquote erreichen lässt. Obwohl die
Systeme gemäß den genannten Patentschriften gemäß dem derzeitigen Stand der Technik als. Spitzenprodukte
anzusehen sind, haben sie dennoch hinsichtlich des Konzepts, von welchem bei ihrer Entwicklung ausgegangen
-15-
A 45 325 b
k - 176 · - 15 -
28. September 1982
wurde, sowohl hinsichtlich der Anzahl der ausgelösten-Fehlalarme
wie auch hinsichtlich ihrer Unabhängigkeit von jeweiligen Sprecher gewisse Nachteile.
Die in dsn genannten US-Patentschriften beschriebenen
Verfahren zur kontinuierlichen Spracherkennung sind in erster Linie darauf gerichtet, in einem kontinuierlichen
Sprachsignal eines von mehreren vorgegebenen Schlüsselwörtern zu erkennen bzw. zu lokalisieren.
Bei anderen.Anwendungen kann eine kontinuierliche Wortkette erkannt, .werden, wobei das Ergebnis der Analyse
bzw. des Erkennungsprozesses darin besteht, daß jedes einzelne Worteleraent der kontinuierlichen Wortkette
erkannt wird. Dabei ist unter einer kontinuierlichen Wortkette im vorliegenden Zusammenhang eine
Folge von mehreren erkennbaren Elementen zu verstehen, die durch Pausen begrenzt sind. In dieser Beziehung
sind die betrachteten Systeme mit den eingangs erwähnten komerziell eingesetzten System zu vergleichen,
die der Erkennung isolierter Wörter dienen, wobei die Wortgrenzen von vornherein bekannt sind. Im vorliegenden
Fall geht es jedoch darum, daß die Grenzen bzw. die Pausen, zunächst unbekannt sind und von dem Erkennungssystem,
selbst erkannt werden müssen- Außerdem
sind die zu prüfenden. Sprachelemente keine Schlüsselwortelemente
mehr, sondern eine Anzahl von.miteinander verknüpften bzw.. verketteten Elementen, die einen
Wort strang bzw»· eine Wortkette, bilden. Auch für die
Erkennung von kontinuierlichen Wortketten wurden
-16-
BAD ORIGINAL
A 45 325 b
k - 176 - 16 -
28. September 1982
bereits verschiedene Verfahren, und Geräte vorgeschlagen;
diese Verfahren und Geräte haben jedoch wieder verschiedene Nachteile, beispielsweise hinsichtlich
der Fehlalärm-Quote, der sprecherunabhängigen Leistung
und des Echtzeit-Betriebes.
Ausgehend vom Stande der Technik und. der vorstehend
aufgezeigten Problematik liegt der Erfindung die Aufgabe zugrunde, ein Verfahren und., ein Gerät zur Sprachanalyse anzugeben, welches bei der Erkennung von kontinuierlichen
Wortketten in einem kontinuierlichen, nicht-markierten Audiosignal zu. deutlich verbesserten
Ergebnissen führt. Dabei wird gleichzeitig angestrebt, daß das Verfahren, bzw. das Gerät relativ unempfindlich
gegenüber Phasen- und Amplituden-Verzerrungen der unbekannten. Audiosignal-Eingangsdaten sind, daß sie relativ
unempfindlich gegen Schwankungen in der Artikulationsgeschwindigkeit
der unbekannten Audio-Eingangssignale sind und daß sie bei von verschiedenen Sprechern
erzeugten Sprachsignalen eine gleichmäßig gute Wirksamkeit besitzen und damit gegenüber unterschiedlichen
Stimm- bzw. Sprachcharakteristiken, unempfindlich sind,
daß sie zuverlässig sind und mit einer verringerten Fehlalarmrate arbeiten und daß sie im Echtzeitbetrieb
arbeiten können.
Die gestellte Aufgäbe, wird, was das Verfahren anbelangt,
bei einem Verfahren der eingangs beschriebenen Art durch folgende Verfahrensschritte gelöst:
-17-
k - 176 - 17 -
28. September 1982
man bildet, während sich wiederholender Rahmenzeiten
aus dem Audiosignal jeweils eine das Audiosignal darstellende Folge von Rahmenmustern;
man erzeugt ein numerisches Maß für die Ähnlichkeit jedes dieser Rahmenmuster mit jedem der Zielmuster;
man akkumuliert für j.edes der Zielmuster die Position
für die erforderliche Verweilzeit und. die optionelle Verweilzeit und unter Auswertung der numerischen
Maße einen numerischen Wert, der die Übereinstimmung des gerade gebildeten Rahmenmusters mit. der betreffenden
Zielmuster-Verweilzeitposition darstellt und man erzeugt auf der Basis der numerischen Werte eine
Erkennungsentscheidung, wenn in dem Audiosignal eine vorgegebene Folge auftritt.
Zur Durchführung des erfindungsgemäßen Verfahrens hat sich dabei, ein Gerät besonders bewährt, welches
durch folgende. Merkmale gekennzeichnet ist: es sind Einrichtungen vorgesehen, mit deren Hilfe
während sich wiederholender Rahmenzeiten aus dem Äudiosignal jeweils eine das Audiosignal darstellende
Folge von Rahmenmustern erzeugbar ist; es sind Einrichtungen vorgesehen, mit deren Hilfe
ein numerisches Maß für die Ähnlichkeit jedes dieser Rahmenmuster mit jedem der Zielmuster erzeugbar
ist;
es sind Akkumuliereinrichtungen vorgesehen, mit deren
Hilfe für jedes Zielmuster die Positionen für die erforderliche
Verweilzeit und die optionelle Verweilzeit und unter Auswertung der numerischen Maße ein
-18-
A 45 325 b
k - 176 - 18 -
28. September 1982
numerischer Wert akkumulierbar ist, der die Übereinstimmung
des gerade gebildeten Rahmenmusters mit der betreffenden Zielmuster-Verweilzeitposition darstellt
und
es sich Einrichtungen vorgesehen, mit deren Hilfe auf der Basis der numerischen Werte eine Erkennungsentscheidung
erzeugbar ist, wenn in. dem Audiosignal eine vorgegebene Folge .auftritt.
Im einzelnen.sind die erfindungsgemäß'.auzuwertenden
Audiosignale speziell Sprachsignale,- in denen mit Verfahren, und Gerät gemäß der Erfindung Schlüsselwörter
erkannt werden sollen. Jedes Schlüsselwort ist dabei durch eine Schlüsselwortschablone charakterisiert,
welche mindestens ein Zielmuster umfasst. Dabei stellt jedes. Zielmuster mindestens ein Kurzzeit-LeistungsSpektrum
dar und ist mit. mindestens einer Position für eine erforderliche Verweilzeit verknüpft,
welcher, mindestens --eine Position für eine optioneile
Verweilzeit folgt. Im allgemeinen hat jedes Zielmuster mehrere Positionen für die erforderliche und
für die optionelle Verweilzeit.
Bei dem erfindungsgemäßen Erkennungsverfahren wird mit einer sich wiederholenden Rahmenzeit aus dem
Audiosignal eine Folge von Rahmenmustern.erzeugt, wobei
diese Folge, von Rahmenmustern das.Audiosignal darstellen
bzw. für dieses repräsentativ ist. Numerische Messwerte der Ähnlichkeit jedes einzelnen Rahmenmusters
mit jedem einzelnen Zielmuster werden anschließend
-19-
A 45 325 b
k - 176 -19 -
28. September 1982
erzeugt. Für die erforderlichen und optioneilen Verweilzeitpositionen
jedes Zielmusters wird ferner unter Auswertung der numerischen Messwerte ein numerischer
Wert erzeugt, der repräsentativ- dafür ist, in welchem Umfang das gerade erzeugte, das Audiosignal
darstellende. Rahmenmuster mit den Verweilzeit-Positionen des betreffenden Zielmusters übereinstimmt. Weiterhin
wird auf der Basis der numerischen Werte beim Auftreten eines vorgegebenen Ereignisses in dem. .Audiosignal eine
Erkennungsentscheidung getroffen.. Das vorgegebene Ereignis
ist dabei vorzugsweise das Erkennen von "Stille" bzw. das Erkennen einer Pause.
In Ausgestaltung der Erfindung gehören dabei zu dem Akkumuliervorgang folgende Schritte:
1. das Akkumulieren der zweiten und späteren Verweilzeit-Positionen
für jedes Zielmuster, der Summe .des akkumulierten Wertes für die Verweilzeit-Positionen
des vorausgegangenen Zielmusters während der vorausgegangenen.Rahmenzeit und des
laufenden numerischen Messwertes, welcher mit dem. Zielmuster verknüpft ist;
2. da Akkumulieren der ersten.-.erforderlichen Verweilzeit-Position
für jedes erste Schlüsselwort-Zielmuster, der Summe, des besten akkumulierten
Wertes während der vorangegangenen Rahmenzeit, welcher mit dem Ende eines
-20-
A 45 325 b
k - 176 - 20 -
28. September 1982
Schlüsselwortes verknüpft ist und des laufenden numerischen Messwerts, welcher mit dem ersten
Schlüsselwort-Zielmuster verknüpft ist;
3. das Akkumulieren der Summe des am besten endenden akkumulierten Wertes für das vorausgehende Zielmuster
desselben. Schlüsselwortes für.jede erste . Verweilzeit-Position jedes anderen Zielmusters
und des laufenden numerischen Messwertes, welcher mit dem Zielmuster verknüpft ist.
Das erfindungsgemäße Verfahren umfasst, ferner vorzugsweise
den Schritt, daß in Verbindung mit jeder Rahmenzeit-Position an den Rahmenzeit-Positionen die Identität
und Dauer des Schlüsselwortes mit dem besten Wert und mit einer gültigen Endung in dieser Rahmenzeit-Position
gespeichert werden und daß außerdem in Verbindung mit dem akkumulierten Wert bei jeder Verweilzeit-Position,
ein Wortdauerzählerstand gespeichert wird, der. der Zeitpositionslänge des Schlüsselwortes
entspricht, welches mit dem akkumulierten Wert an dieser Verweilzeitposition verknüpft ist. Damit kann der
Schritt für die Erzeugung des Erkennungssignals außerdem eine Rückwärtsverfolgung umfassen, bei der die
gespeicherten Schlüsselwort-Identitätis- und -dauer-Informationen
überprüft werden, um in einer Wortkette jedes Schlüsselwort zu erkennen.
-21-
A 45 325 b
k - 176 - 21 -
28. September 1982
Gemäß einem weiteren Aspekt wird bei dem erfindungsgemäßen
Verfahren in Verbindung mit jedem akkumulierten Wert, der den Verweilzeitpositionen entspricht, eine
Schlüsselwortdauer-Zählung bzw. ein Schlüsselwortdauer-Zählerstand
gespeichert. Der Schlüsselwortdauer-Zählerstand entspricht dabei der Anzahl der numerischen
Messwerte (d.h. dem Zeitpositionszählerstand), die akkumuliert, wurden, um den genannten Positionswert für das laufende Schlüsselwortmuster zu bilden.
Außerdem besteht erfindungsgemäß die Möglichkeit, die
Übertragung der akkumulierten Werte in Abhängigkeit von einem von der Syntax kontrollierten Element auszuführen
.
Ein Gerät durch Durchführung des erfindungsgemäßen Verfahrens kann Hardware-mäßig oder Software-mäßig
oder mittels einer Hardware/Software-Kombination
realisiert werden. Spezielle Hardware-Ausgestaltungen zur Durchführung des- erfindungsgemäßen Verfahrens
werden in./der Detailbeschreibung näher -erläutert.
Im übrigen werden weitere Einzelheiten und Vorteile der Erfindung nachstehend anhand von Zeichnungen noch
näher erläutert und/oder sind Gegenstand weiterer Schutzansprüche.. Es zeigen:
-22-
A 45 325 b
k - 176 - 22 -
28. September 1982
Fig. 1 ein Flußdiagramm, welches einen allgemeinen überblick über die erfindungsgemäß
auszuführende Schrittfolge vermitteln soll;
Fig. 1A ein elektrisches Blockschaltbild einer bevorzugten Ausführungsform eines Geräts
zur Durchführung des erfindungsgemäßeii Verfahrens;
Fig. 2 ein schematisches Blockschaltbild eines elektronischen Geräts zur Durchführung
gewisser vorbereitender Operationen für das Verfahren gemäß Fig. 1;
Fig. 3 ein Flußdiagramm in Form eine Digital-Rechnerprogramms für eine Reihe von
Schritten des Verfahrens gemäß Fig. 1;
Fig. 4 eine grafische Darstellung des erfindungsgemäßen Verfahrens zur gegenseitigen
Ausrichtung von Mustern;
Fig. 5 ein elektrisches Blockschaltbild eines Wahrscheinlichkeitsfunktions-Prozessors
für eine bevorzugte Ausführungsform eines Geräts zur Durchführung des erfindungsgemäßen
Verfahrens;
-23-
k - 176 - 23 -
28. September 1982
Fig. 6 ein elektrisches schematisches Blockschaltbild einer Schaltung zum Subtrahieren
und zur Absolutwertbildung für ein bevorzugtes Gerät zur Durchführung
des erfindungsgemäßen Verfahrens ;
Fig. 7 ein elektrisches Schaltbild einer logischen Schaltung zum Erfassen eines
Übertrags für eine bevorzugte Ausführungsform eines Geräts zur Durchführung
des erfindungsgemäßen Verfahrens;
Fig. 8 eine Wahrheitstabelle für die Schaltung gemäß Fig. 7;
Fig. 9 ein schematisches Flußdiagramm für
einen Syntax-Prozessor gemäß einer
bevorzugten Ausfuhrungsform eines
Prozessors- für ein Gerät für die Durchführung des erfindungsgemäßen Verfahrens;
einen Syntax-Prozessor gemäß einer
bevorzugten Ausfuhrungsform eines
Prozessors- für ein Gerät für die Durchführung des erfindungsgemäßen Verfahrens;
Fig. 10 ein elektrisches Blockschaltbild zur
Erläuterung einer Schaltung für eine sequentielle Decodierung und Musterausrichtung
für eine bevorzugte Ausführungsform eines Geräts zur Durchführung des erfindungsgemäßen Verfahrens.
In den verschiedenen Figuren sind entsprechende Elemente jeweils mit den gleichen Bezugszeichen bezeichnet.
A 45 325 b
]c - 176 - 24 -
.28. September 1982
Bei einem besonders bevorzugten Ausführungsbeispiel der Erfindung, welches nachstehend erläutert wird,
erfolgt die Spracherkennung mittels eines Gerätes, welches sowohl speziell konzipierte elektronische
Baugruppen zur analogen und digitalen Aufbereitung ' von ankommenden hörfrequenten Datensignalen - im
allgemeinen Sprachsignalen - umfasst als auch einen Mehrzweck-Digitalrechner, der erfindungsgemäß derart
programmiert ist/ daß mit seiner Hilfe weitere Schritte zur Datenverarbeitung und zur numerischen Auswertung
der dabei erhaltenen Ergebnisse ausgeführt werden können. Die Aufteilung der einzelnen Aufgaben
auf die Hardware-Teile und die Software-Teile des Geräts bzw. des Systems ist dabei so durchgeführt,
daß insgesamt ein System erhalten wird, mit dem die Spracherkennung im Echtzeit-Betrieb bei mäßigem Kostenaufwand
erfolgen kann. Dabei ist jedoch zu beachten, daß einige der Aufgaben, die beim betrachteten System
von den Hardware-Kreisen ausgeführt werden, auch mittels geeigneter -Programme (Software) gelöst werden
könnten,und daß einige der Aufgaben, die beim betrachteten System mittels entsprechender Programme
gelöst werden, in Ausgestaltung der Erfindung auch mittels spezieller Schaltkreise gelöst werden könnten.
Dementsprechend werden nachstehend, soweit dies zweckmäßig erscheint, für verschiedene Einzelprobleme
sowohl die Hardware-Lösungen als auch die
-25-
Ά 45 325 b
k - 176 - 25 -
28. September 1982
Software-Lösungen für ein erfindungsgemäßes Gerät beschrieben.
Ein wichtiger Aspekt der Erfindung besteht darin, daß mit Hilfe des. erfindungsgemäßen Gerätes Wortketten
in kontinuierlichen Sprachsignalen auch dann erkannt werden können, wenn diese Signale beispielsweise
aufgrund ihrer Übertragung über eine Telefonleitung verzerrt sind. Folglich können die Spracheingangssignale
am Eingang 10 in Fig. 1 als Sprachsignale betrachtet.werden, die ausgehend von einem Kohlemikrofon
über eine Telefonleitung beliebiger Länge und/oder .mit einer Anzahl von Schaltstellen zu einem Empfänger
übertragen wurden. Eine typische Anwendung der Erfindung
besteht in der Erkennung kontinuierlicher Wortketten in hörfrequenten Daten, die über das Telefonsystem
von einer unbekannten Quelle*empfangen wurden. Andererseits kann das Eingangssignal auch ein beliebiges
Audio-Datensignal sein, beispielsweise ein Spracheingangssignal, welches über den. Rundfunk, beispielsweise
von einer privaten Sendestation, übertragen wurde oder welches über eine private Leitung
übertragen wurde. oder welches von einer in der. "Nähe
des Geräts stehenden Person gesprochen wurde.
Wie aus der nachstehenden Beschreibung noch deutlich
werden wird, befassen sich Verfahren und Gerät gemäß der Erfindung mit der Erkennung von Sprachsignalen,
welche eine Folge von Klangelementen oder Phonemen
*) insbesondere von einem unbekannten Sprecher
-26-
A 45 325 b
28. September 1982
oder andere erkennbare Einzelheiten (Hinweise) enthalten. In..der vorliegenden Beschreibung - und in den
Ansprüchen - wird von "einem Wort", "einem Element", "einer Folge von Zielmustern", "einem Schablonenmuster"
oder "einem Elementmuster" gesprochen, wobei diese fünf Bezeichnungen als allgemeine und äquivalente Bezeichnungen
zu..betrachten sind. Dies ist eine bequeme Möglichkeit, eine erkennbare Folge von Audiosignalen
oder von dieser Folge entsprechenden Signalen zu bezeichnen, welche zusammengefasst die Wortkette ergeben, die mit.
Verfahren, und Gerät gemäß der Erfindung erfasst und erkannt, werden können.. Die einzelnen Bezeichnungen
sollten dabei im weitesten Sinne so verstanden werden, daß sie.alles von: einem einzigen Phonem, einer einzigen
Silbe oder einem einzigen Klang bis zu einer Folge von Worten (im grammatikalischen Sinne) umfassen oder
auch nur ein einziges Wort.
Das Sprechsignal bzw. das analoge Audiosignal vom Eingang 10 gelangt zu einem Analog/Digital-Wandler 13
- A/D-Wandler - -wo die analogen Daten in ein digitales Signal umgesetzt werden. Der A/D—Wandler 13 ist so
ausgebildet, daß die Amplitudenwerte in 12 Bit-Signale umgesetzt werden, und zwar mit einer Abtastfrequenz
von 8000 Abtastvorgängen pro Sekunde. (Bei anderen .Ausführungsbeispielen wird mit anderen Abtastfrequenzen
gearbeitet, beispielsweise mit einer Frequenz von 16 kHz, wenn ein besonders hochwertiges
Digitalsignal erhalten werden, soll.) Das Ausgangs-
-27-
A 45 325 b
28. September 1982
signal des A/D-Wandl'ers 13 wird über Leitungen 15
dem Eingang eines Autokorrelationswandlers 17 bzw. einer Korrelationsschaltung zugeführt, wo die ankommenden,
digitalen Eingangssignale mit einer Frequenz von 100 Hz zu " einer Kurzzeit-Autokorrelationsfunktion
aufbereitet und an Ausgangsleitungen 19 gelegt werden.
Jede Autokorrelationsfunktion umfasst dabei 3 2 Werte bzw. Kanäle, wobei jeder Wert mit einer Auflösung von
30 Bit berechnet wird. Die Autokorrelationsschaltung
wird nachstehend .in Verbindung mit Fig. 2 noch näher
erläutert.
Die auf den. Leitungen 19 anstehenden Autokorrelationsfunktionen
werden in einer Schaltung 21 einer Fourier-Transformation unterworfen, um auf den Ausgangsieitungen
23 der Schaltung 21 innerhalb vorgegebener Zeitfenster Liegende Kurzzeit-Leistungsspektren zu
erhalten. Die Leistungsspektren werden dabei mit derselben Frequenz erzeugt, mit der die Autokorrelationsfunktionen
erzeugt werden, d.h. mit einer Frequenz von 100 Hz, und jedes Kurzzeit-Leistungsspektrum wird
in Form von 31 numerischen Werten ausgegeben, von denen jeder als 16 Bit-Signal dargestellt wird. Jeder der
31 Werte des.Kurzzeit-Spektrums entspricht dabei dem
Signalpegei innerhalb eines bestimmten Frequenzbandes. Die Schaltung 21 zur Durchführung der. Fourier-Transformation,
umfasst vorzugsweise Schaltkreise zur Erzeugung einer Zeitfensterfunktion, insbesondere zur
Erzeugung der Hamming-Funktion, wodurch das
-28-
A 45 325 fa
Übersprechen aus.benachbarten Frequenzbändern reduziert
wird.
Beim betrachteten ersten Ausführungsbeispiel erfolgen
die Fourier-Transformation sowie die weiteren Schritte der Datenverarbeitung vorzugsweise unter Steuerung
durch einen.Mehrzweck-Digitalrechner, der in geeigneter
Weise programmiert ist und mit einem peripheren Feldbzw. Matrix-Prozessor arbeitet, um die Rechenoperationen
zu beschleunigen,. die beim erfindungsgemäßen Verfahren wiederholt erforderlich sind. Speziell wurde ein Rech-.
ner des Typs PDP-11 der Firma Digital Equipment Corporation,
Maynard, Massachusetts, USA, verwendet. Ferner wurde als Feld- bzw. Matrixprozessor (Array-Prozessor)
ein Prozessor der in der ÜS-PS 4 228 498 beschriebenen Art verwendet. Die nachstehend noch anhand
von.Fig. 3 zu erläuternde Programmierung ist speziell auf die Möglichkeiten und die charakteristischen
Eigenschaften der vorstehend angesprochenen handelsüblichen digitalen Prozessoreinheiten zugeschnitten.
Die den einzelnen Zeitfenstern zugeordneten Kurzzeit-Leistungsspektren
werden einer Frequenzgangentzerrung unterworfen, und zwar in Abhängigkeit von den Amplituden-Spitzenwerten,
die in den einzelnen Frequenzbändern bzw. Kanälen auftreten, wie dies nachstehend
noch näher erläutert, wird. Die hinsichtlich des Frequenzgangs entzerrten Spektren werden, mit einer Frequenz
von 100 Hz erzeugt und über Leitungen 26
-29-
A 45 325 b
28. September 1982
übertragen, wobei jedes Spektrum durch 31 numerische Werte dargestellt wird, die mit einer Auflösung von
16 Bit pro Wert übertragen werden. Um die endgültige
Auswertung.der ankommenden Audiodaten zu erleichtern, werden die hinsichtlich des Frequenzgangs entzerrten,
den einzelnen Zeitfenstern zugeordneten Spektren, die über die Leitungen 26 übertragen werden-, gemäß Block
35 einer Amplitudentransformation" unterzogen, und zwar einer nicht-linearen Amplitudentransformation. Diese
Transformation wird weiter unten noch.näher erläutert, und es soll an.dieser Stelle lediglich darauf hingewiesen
werden, daß die Transformation die Genauigkeit verbessert, mit der das unbekannte eingangsseitige
Audiosignal an Zielmusterschablonen in einem Bezugsvokabular angepasst werden kann. Bei Ausführungsbeispiel
wird die Transformation für alle Spektren vor dem Vergleich derselben mit Mustern durchgeführt,
welche die Elemente des Bezugsvokabulars darstellen.
Nach der AmpLitudentransformation werden die Spektren über die Leitungen 38 zum Block 4 0 übertragen, wo
sie mit den Elementschablonen verglichen werden, wie dies nachstehend noch im einzelnen erläutert wird.
Die Bezugsmuster stellen gemäß Block 42 die Elemente des Bezugsvokabulars in einer statistischen Form dar,
die für einen Vergleich mit den transformierten und entzerrten Spektren geeignet ist. Jedesmal, wenn
eine "Pause" festgestellt wird, erfolgt eine Entscheidung hinsichtlich der Identität der gerade
A 45 325 b
empfangenen Wortkette (Ausgang 44). Die Kandidaten-Worte werden folglich entsprechend der höchsten, beim
Vergleich ermittelten Übereinstimmung ausgewählt. Beim Ausführungsbeispiel dient der Auswahlprozess dabei dazu,
die Wahrscheinlichkeit, daß ein Schlüsselwort verloren geht (oder falsch erkannt wird) auf ein Minimum
zu reduzieren.
Fig. 1A zeigt ein Spracherkennungssystem gemäß der
Erfindung, bei. dem ein sogenannter Controller bzw. ein Steuerprozessor 45 vorgesehen ist, der beispielweise
durch einen Mehrzweck-Digitalrechner des Typs PDP-11 gebildet sein, kann oder auch eine für da.s System speziell
entwickelte diskrete Schaltung sein kann . Beim Ausführungsbeispiel empfängt der Steuerprozessor 4 5
die vorverarbeiteten Audiodaten von einem Vorprozessor 46, der nachstehend anhand von Fig. 2 noch näher erläutert
wird. Der Vorprozessor 46 empfängt die analogen Audio-Eingangssignale über eine Leitung 47 und liefert
die bearbeiteten Daten über eine Schnittstelle 48 an den Steuerprozessor 45.
Im allgemeinen ist die Arbeitsgeschwindigkeit des Steuerprozessors, wenn es sich bei diesem um einen
Mehrzweck-Rechner handelt, nicht hoch genug, die ankommenden Daten im Echtzeit-Betrieb zu verarbeiten.
Daher können mit Vorteil verschiedene, spezielle diskrete Schaltungen verwendet werden, um die .Arbeitsgeschwindigkeit des Steuerprozessors 45 zu erhöhen.
-31-
A 45 325 b
28. September 1982 O Δ 000 O Z
Insbesondere führt ein sogenannter Vektorprozessor 48a, wie er beispielsweise in der USr-PS 4 228 4 98 beschrieben
ist,- durch Ausnutzung des sogenanngen Pipeline-Effektes
zu einer deutlich verbesserten .Feld- bzw. Matrix-Verarbeitungsgeschwindigkeit. Zusätzlich kann,
wie dies in Fig. 4, 5 und 6 noch- näher beschrieben
wird, ein Wahrscheinlichkeitsfunktions-Prozessor 48b
in Verbindung mit dem Vektorproze.ssor. 48a eingesetzt
werden, um die Arbeitsgeschwindigkeit des Systems um
den Faktor 1.0 zu erhöhen.
Während beim bevorzugten Ausführungsbeispiel der Erfindung
als Steuerprozessor ein Digitalrechner verwendet wird, erfolgt beim abgewandelten Ausführungsbeispiel gemäß Fig. 10 ein beträchtlicher Teil der
Datenaufbereitung außerhalb des Steuerprozessors 45 in einem sequentiell arbeitenden Decodierprozessor
Die Struktur dieses Prozessors wird in Verbindung mit Fig. 10.noch, näher erläutert. Insgesamt hat das betrachtete
System zur Spracherkennung sowohl hinsichtlich der Arbeitsgeschwindigkeit als auch hinsichtlich
der Möglichkeit, . die einzelnen Kreise hardware-mäßig oder software-maßig zu realisieren oder mit Hardware/
Software-Kombinationen zu arbeiten, eine hohe Flexibilität.
-32-
A 45 325 b
28. September 1982
Bei dem System gemäß Fig. 2 werden die Autokorrelationsoperationen,
-mit denen zwangsläufig eine Mittelwertbildung verbunden ist, digital auf der Basis der digitalen Daten
ausgeführt, die von dem A/D-Wandler 13 angeliefert werden, .der die ankommenden analogen Audiodaten auf
der Leitung 10, im allgemeinen ein Sprachsignal, aufbereitet.
Der Wandler 13 liefert ein digitales Eingangssignal
über die Leitungen 15. Dabei erfolgt die zeitliche Steuerung der A/D-Umsetzung und der Ausführung
der Autokorrelationsfunktionen durch einen Taktoszillator 51 , dessen Grundfrequenz von 256 000. Hz mit
Hilfe eines Frequenzteilers 52 heruntergeteilt wird, um eine Impulsfolge mit einer Impulsfolgefrequenz von
800 0 Hz zu erhalten. Diese Impulzfolge steuert den A/D-Wandler 13 und ein Latch-Register 53, in dem die
12 Bit-Worte der letzten Umsetzung jeweils solange gespeichert sind, bis die nächste Umsetzung beendet ist.
Die Autokorrelationsprodukte werden mit Hilfe eines digitalen Multiplizierers 56 erzeugt, der die im Register
53 gespeicherte Zahl mit dem Ausgang eines 32 Wort-Schieberegisters 58 multipliziert. Das Schieberegister
58 arbeitet dabei als umlaufendes Schieberegister und wird mit der hohen Gr.undfrequenz (256 kHz)
fortgeschaltet, so daß pro A/D-Umsetzung ein kompletter Umlauf der Daten des Schieberegisters erfolgt.
Einmal während jedes vollständigen Umlaufs übernimmt
-33-
A 45 325 b
das Schieberegister 58 die in dem Register 53 gespeicherten Daten. Ein erster Eingang des digitalen
Multiplizierers 56 ist direkt mit dem Register 53 verbunden, während der andere Eingang des Multiplizierers
(abgesehen von der nachstehend angesprochenen Ausnahme) das jeweilige Ausgangssignal des Schieberegisters,
über einen Multiplexer. 59 empfängt. Die Multiplikationen werden mit der. höheren Taktfrequenz
ausgeführt.
Jeder Digitalwert vom Ausgang des A/D-Wandlers wird also mit jedem, der 31. zuvor erzeugten. Wandlerausgangssignale
multipliziert. Man sieht, daß die auf diese Weise erzeugten .Signale einer Multiplikation des Eingangssignals
mit sich selbst entsprechen, und zwar mit einer Verzögerung um je einen von 32 Zeitschritten, von
denen der eine der Verzögerung Null entspricht. Zur Erzeugung der Korrelation mit der Verzögerung Null,
d.h. zur Erzeugung des Leitungswertes des Signals, bewirkt der Multiplexer 59, daß der Inhalt des Registers
53 immer dann mit sich selbst multipliziert wird, wenn ein neuer Wert in das Schieberegister eingespeichert
wird. Diese Zeitfunktion wird gemäß Block 60 erreicht, der für eine Schaltung steht, die dafür
sorgt, daß der Multiplexer 59 außer bei der Übernahme neuer Daten - in diesem Fall w ird der Eingang A auf
den Ausgang durchgeschaltet - seinen Eingang B auf seinen Ausgang zum Multiplizierer 56 durchschalten
Man sieht außerdem,, daß die aufgrund einer einzigen
-34-
A 45 325 b
k - 176 - 34 -
28. September 1982
A/D-Umsetzung durch Multiplikation mit ihren 31 Vorgängern
erhaltenen Produkte die Energieverteilung bzw. das Spektrum über ein vernünftiges Abtastintervall
nicht hinreichend genau darstellen. Folglich ist in dem System, gemäß.Fig. 2 für eine Mittelwertbildung
bei diesen Sätzen von Produkten gesorgt.
Ein Rechenvorgang, mit dem diese Mittelwertbildung erreicht wird, wird dadurch realisiert, daß ein weiteres 32 Wort-Schieberegister 63 derart mit einem Addierer
65 verbunden wird, daß ein Satz von 32 Akkumulatoren gebildet wird. Jedes Wort kann folglich umlaufen,
nachdem es zu. dem entsprechenden Schritt vom Ausgang des Multiplizierers 56 addiert ist. Die Umlaufschleife
enthält dabei ein Gatter 67, welches von einem durch N teilenden Teiler 6 9 gesteuert wird, der seinerseits
mit dem niedrigeren Taktsignal (8 kHz) gesteuert wird. Der Teiler 69 teilt die niedrigere Taktfrequenz,
durch einen Faktor N, der die Anzahl der in jedem Augenblick für den Additionsvorgang vorgesehenen
Autokorrelationsfunktionen bestimmt, so daß eine Mittelwertbildung erfolgt, ehe der Inhalt des Schieberegisters
6 3 ausgelesen wird.
Beim Ausführungsbeispiel werden vor dem. Auslesen jeweils
80 Proben addiert. Mit anderen Worten gilt also für den Divisor des Teilers 69 der Wert N = 80. Nachdem
80 umgesetzte Proben korreliert und addiert sind, triggert der Teiler 6 9 eine Rechner-Interrupt-Schaltung
71 über eine Leitung 72. Zu diesem Zeitpunkt werden
-35-
A 45 325 b
k - 176 - 35 -
28. September 1982 3
die Inhalte des Schieberegisters 6 3 nacheinander über eine geeignete Schnittstelle 73 in den Rechnerspeicher
eingelesen, wobei die 32 aufeinanderfolgenden Worte aus dem Register dem Rechner .über die Schnittstelle
73 in geordneter Folge zugeführt.werden. Man
sieht, daß diese Datenübertragung von einer Peripherieeinheit, dem Autokorrelations-Vorprozessor, zum Rechner
typischerweise nach dem Verfahren des direkten Speicherzugriffs (DMA-Verfahren) erfolgen kann. Unter der
Voraussetzung, daß eine Mittelwertbildung über 80 Proben erfolgtrund daß die ursprüngliche Abtastfrequenz
bei 8000 kHz liegt wird deutlich, daß .in den Rechner
pro Sekunde 100 gemittelte Autokorrelationsfunktionen eingespeichert werden.
Während der Schieberegisterinhalt .in den Rechner ausgelesen
wird, ist das Gatter 67 gesperrt, so daß der Registerinhalt für jedes Wort wirksam.auf Null zurück-,
gesetzt wird, damit der Addier- bzw. Akkumuiiervorgang erneut beginnen kann.
Die Funktion des Systems gemäß Fig. 2 lässt sich mathematisch wie folgt beschreiben:
Wenn man annimmt, daß der A/D-Wandler 13 eine zeitliche
Folge von Signalen S (t) erzeugt, wobei t = 0,TQ,
2Tq7... und wobei TQ = Abtastintervall (beim Ausführungsbeispiel
Sekunden), dann kann die digitale Korrelationsschaltung gemäß Fig. 2 unter Vernachlässigung
der Undefinierten Startbedingungen
-36-
A 45 325 b
28. September 1982
als eine Schaltung zum Berechnen der folgenden Autokorrelationsfunktion
angesehen .werden:
79
j, t) = JI S(t+kTo) S(t+(k-j) To) (1)
k=0
wobei j =0, 1, 2 . .., 31; t = 80 T , 160 T , . ..,
8On T , ... Diese Autokorreiationsfunktionen entsprechen
den korrelierten Ausgangssignalen auf den Leitungen 19 in Fig. 1.
Betrachtet man Fig. 3, so erkennt man, daß der Digital-Korrela.tor
zum Rechner kontinuierlich eine Folge von' Datenblöcken überträgt, und 2.via.r mit einer Geschwindigkeit,
bei der eine vollständige. Autokorrelationsfunktion alle 10 ms übertragen wird. Dies entspricht dem Block
in Fig. 3..Jeder Dätenblock stellt die Autokorrelationsfunktion
dar, die für ein entsprechendes Zeit-Unterintervall erhalten wurde. Wie oben ausgeführt, werden
die betrachteten Autokorrelationsfunktionen dem Rechner mit einer Frequenz von hundert 32 Wort-Funktionen pro
Sekunde zugeführt. Dieses Analysierintervall wird nachstehend als ein "Rahmen" bezeichnet.
Beim ersten Ausführungsbeispiel erfolgt die Verarbeitung
der Autokorrelationsfunktionsdaten mittels eines
geeignet programmierten Spezial-Digitalrechners. Das Flußdiagramm, welches die Funktionen umfasst, die aufgrund
des Rechnerprogramms ausgeführt werden, ist in
■37-
A 45 325 b
28. September 1982 ·-ν ν ν %/*
Fig. 3 gezeigt. Dabei ist jedoch erneut darauf hinzuweisen, daß die verschiedenen Schritte auch mittels
diskreter Schaltungen realisiert werden können, während andererseits gewisse Funktionen des Systems gemäß Fig.2
durch eine entsprechende Überarbeitung des Flußdiagramms gemäß Fig. 3 zusätzlich ausgeführt werden könnten.
Obwohl der Digitalkorrelator gemäß Fig. 2 eine gewisse
zeitliche Mittelung der Autokorrelationsfunktionen durchführt, die auf der Basis der Augenblickswerte erzeugt
werden, können die gemittelten Autokorrelationsfunktionen, die an den Rechner ausgelesen werden,
immer noch gewisse anomale Diskontinuitäten oder Ungleichmäßigkeiten
aufweisen, die die ordnungsgemäße Verarbeitung und Auswertung der Proben beeinträchtigen
können. Jeder Datenblock, d.h. jede Autokorrelationsfunktion a(j,t) - wird folglich zunächst zeitlich
geglättet - Block 78. Das Glätten erfolgt dabei vorzugsweise so, daß für die geglättete Autokorrelationsfunktion
folgende Gleichung gilt:
(j,t) = Co a(j,t) '■+ C1 a(j,t-T) + C2a(j,t-2T) (2]
wobei a(j,t) = ungeglättete, eingelesene Autokorrelationsfunktion
gemäß Gleichung (1); a (j,t) = geglättete Autokorrelationsfunktion (Ausgang Block 78), j = Verzögerungszeit,
t = Echtzeit und T = Zeitintervall zwischen zwei aufeinanderfolgenden Autokorrelationsfunktionen
(Rahmen) = 0,01 s beim Ausführungsbeispiel.
-38-
A 45 325 b
k - 176 _ 38 _ 3236832
28. September 1982
Die Bewichtungsfunktionen bzw. Gewichte C , C , C^
werden beim Ausführungsbeispiel vorzugsweise mit 1/4, 1/2, 1/4 gewählt, obwohl auch andere Werte gewählt
werden könnten. Eine Glättungsfunktion zur Annäherung einer Gauss'sehen Impulswiedergabe mit einer unteren
Grenzfrequenz von 20 Hz könnte beispielsweise durch ein Unterprogramm realisiert werden. Experimente
zeigten jedoch, daß die leichter.zu realisierende Glättungsfunktion. gemäß Gleichung 2 befriedigende
Ergebnisse liefert. Man sieht, daß die Glättungsfunktion für jeden Wert j der Verzögerung getrennt
angewandt wird.
Wie nachstehend noch deutlich werden wird, sind.für die anschließende Analyse verschiedene Operationen
hinsichtlich des.Kurzzeit-Fourier-Leistungspektrums
des Sprachsignals erforderlich- Dabei wird, um
einfache Schaltungen und eine hohe Arbeitsgeschwindigkeit zu erhalten, die Transformation der
Autokorrelationsfunktionen in. den Frequenzbereich beim Ausführungsbeispiel in einer 8.Bit-Berech- .
nung. . durchgeführt wird. Bei der oberen Grenzfrequenz des Bandpasses in der Nähe von 3 kHz nimmt
die spektrale Leistungsdichte auf einen Pegel ab, bei dem die Auflösung in 8 Bit-Signale nicht mehr angemessen
ist. Der Frequenzgang des Systems wird daher so gewählt, daß sich ein schräger Verlauf ergibt,
gemäß welchem pro Oktave eine Anhebung um 6 dB erreicht wird - Block 79. Diese Anhebung bei den
hohen Frequenzen wird erreicht, indem man die zweite
-39-
A 45 325 b
28. September 1982
Ableitung der Autokorrelationsfunktion bezüglich des Arguments derselben, d.h. die Zeitverzögerung bzw.
Nacheilung verwendet. Für die abgeleitete Funktion gilt:
b(j,t) = -a(j+l, t) + 2a(j,t) - a(j-1,t) (3)
Zur Auswertung der Ableitung für j=0 wird, angenommen,
daß die Autokorrelationsfunktion zu Null symmetrisch ist, so daß gilt: a(-j,t) = a(+j,t). Außerdem sind
keine Daten für a (32) vorhanden, so daß davon ausgegangen wird, daß die Ableitung bei j = 31 dieselbe ist
wie die Ableitung bei j = 30.
Wie aus dem Flußdiagramm gemäß Fig. 3 deutlich wird, besteht der nächste Schritt des Analysierverfahrens
nach der Anhebung der hohen Frequenzen darin, die Signalenergie im laufenden Rahmenintervall abzuschätzen,
indem der Spitzenabsolutwert der Autokorrelation gefunden wird. Für die geschätzte Leistung gilt:
P(t) = max Ib(i,t)l (4) .
Zur Aufbereitung der Autokorrelation für die 8 Bit-Spektrumanalyse
wird die geglättete Autokorrelationsf unkt ion bezüglich P(t) blockweise normiert - Block 80 - und die
acht höherwertigen Bits jedes normierten Wertes werden
-40-
A 45 325 b
28. September 1982
in die diskreten Schaltungen zur Spektrumanalyse eingegeben. Für die normierte (und geglättete) Autokorrelationsfunktion gilt folglich:
c(j,t) = 127 b(j,t)/P(t) . (5) .
Gemäß Block 81 wird jede zeitlich geglättete, durch die Frequenzanhebung aufbereitete, normierte Autokorrelationsfunktion
c(j,t) einer Kosinus-Fourier-Transformation
unterworfen, um ein Leistungsspektrum mit
31 Punkten zu erzeugen. Die Matrix, der Kosinus-Werte ergibt sich gemäß folgender Gleichung:
S(i,j) = 126 g(i) (cos (JTi/8000)f (j)) , j = 0, 1, 2r ....,31 (6)
wobei S (i,.j) die spektrale Energie in einem Band mit der Mittelfrequenz f(j) (in Hz) zum Zeitpunkt t ist;
wobei g(i) = 1/2(1 + cos 2 5Ti/6-3) die Einhüllende der
(Hamming-)Fensterfunktion ist, die dazu dient, die
Seitenbänder zu unterdrücken und wobei gilt:
f(j) = 30 + 1000 (0.0552J + 0.438)-1 /0' 63„ . ...
Π.Ζ ', \ I)
j = 0, 1, 2, ..., 31
-41-
A 45 -325 b
k - 176
28. September 1982
m 4 «t
- 41 -
wobei es sich um die analysierten Frequenzen handelt, die in regelmäßigen Abständen auf der sogenannten
"me1"-Kurve (Melodie-Kurve) der Subjekten musikalischen
Tonhöhe liegen. Man erkennt, daß dies einem subjektiven Tonhöhen-(mel-Skala)-Frequenz-Achsenabstand für Frequenzen
auf der Bandbreite eines typischen KommunikationskanaLs
zwischen etwa 300. und 3500 Hz entspricht.
Da die Spektrumanalyse das Summieren über Nacheilungen zwischen -31 und +31 erforderlich macht, werden unter
der Voraussetzung, daß die Autokorrelation nullsymmetrisch . ist, nur die positiven. Werte von j benötigt.
Um jedoch zu vermeiden, daß.die Nacheilung für den Null-Wert zweimal gezählt wird, wird die Kosinusmatrix
so gewählt, daß gilt:
S(O,j) = 126/2 = 63, für alle j.
Das berechnete Leistungsspektrum ist somit durch folgende
Gleichung gegeben:
S1 (j,t) =
31
a (i/t) S
i=0
j = 0,1,. ..,31 (9) ,
wobei das j-ste Ergebnis der Frequenz f(j) entspricht.
-42-
A 45 325 b k - 176
28. September 1982
- 42 -
Man sieht weiterhin, daß jeder. Punkt oder Wert in jedem Spektrum einem zugeordneten Frequenzband entspricht.
Während diese Fourier-Transformation vollständig mittels der üblichen Rechner-Hardware durchgeführt
werden kann, kann der Prozess, beträchtlich beschleunigt werden, wenn ein externer, als diskrete
Schaltung aufgebauter Multiplizierer oder ein Peripheriegerät zur schnellen Fourier-Transformation FFT-Gerät
(Fast Fourier Transform) - verwendet wird. Aufbau und Funktion derartiger Geräte.bzw. Moduln
sind jedoch.wohlbekannt und sollen daher hier nicht
detailliert beschrieben werden. Vorteilhaft sind . ■ in das periphere FFT-Gerät Schaltkreise integriert,
die für die Freguenzglättung soxgen, wobei jedes Spektrum frequenzmäßig entsprechend der oben angegebenen
bevorzugten (Hamming-)Fenster-Bewichtungs-Funktion g(i) geglättet wird-.~ Dies entspricht dem
Block 83 .innerhalb des Blockes 85, welcher der hardwaremäßigen
Realisierung der Fourier-Transformation entspricht .
Wenn ein beträchtliches Hintergrundgeräusch vorhanden ist, sollte in dieser Verfahrensstufe von der Funktion
S'(j,t) ein geschätztes Leistungsspektrum des Hintergrundgeräusches
abgezogen werden. Dabei sollten der bzw. die Rahmen der bzw. die zur Darstellung des Geräuschs
gewählt wurden, keine Sprachsignale enthalten. Die optimale.Regel für die Wahl der Geräuschrahmenintervalle
ändert sich je nach Anwendung. Wenn der
-43-
k - 176 - 43 --
28. September 1982
Sprecher beispielsweise bei einer Kommunikation in zwei Richtungen mit einer Maschine beschäftigt ist,
die durch das Spracherkennungsgerät gesteuert wird, dann ist es beispielsweise bequem., willkürlich einen
Rahmen in dem Intervall zu wählen, welches unmittelbar auf den Zeitpunkt folgt, zu welchem die Maschine
das Sprechen über ihre Sprecheinheit beendet hat. In weniger eingeschränkten Situationen kann der geeignete
Geräuschrahmen gefunden werden,.indem man einen Rahmen
nit einer minimalen Amplitude während der letzten ein oder zwei Sekunden eines Audioeingangssignals
wählt.
Während von dem FFT-Gerät - Block 85 - nacheinander geglättete Leistungsspektren empfangen werden, erreicht
man eine Kommunikationskanalentzerrung, indem für diese Spektren eine (Im allgemeinen verschiedene)
Spi.tzenleistungsspektrum-Einhüllende bestimmt wird
und indem das Ausgangssignal des FFT-Geräts, wie dies nachstehend beschrieben wird, entsprechend multipliziert
wird. Jedes neu erzeugte Spitzenamplituden- -spektrum p(j,t), welches einem ankommenden, unter Verwendung
der Fensterfunktion ermittelten Leistungsspektrum S'(j,t) entspricht und von diesem auf den
neuesten Stand gebracht wird, wobei j schrittweise
-44-
k - 176 - 44 -
28. September 1982
über die verschiedenen Frequenzbänder des Spektrums fortgezählt wird, ist das Ergebnis einer Spitzenerfassungsfunktion
mit schnellem Anstieg und langsamem Abfall für jedes bzw. jeden der Spektrumbänder bzw.
-kanäle. Die mit Hilfe der Fensterfunktion ermittelten Leistungsspektren werden bezüglich der zugeordneten
Werte des entsprechenden Spitzenamplitudenspektrums normiert. Dies entspricht dem Block 87.
Beim betrachteten Ausführungsbeispiel werden die Werte
des "alten" Spitzenamplitudenspektrumsp(j,t-T), die
vor dem Empfang eines neuen, unter Berücksichtigung einer Fensterfunktion ermittelten Spektrums bestimmt
wurden, mit. dem neu eintreffenden Spektrum S1 (j,t)
auf einer Frequenzband- für -Frequenband-Basis verglichen. Das neue Spitzenspektrum p(j,t) wird dann
gemäß folgenden Regeln erzeugt: die LeistungSamplitude
in jedem Band des "alten" Spitzenamplitudenspektrums wird mit einem festen Bruchteil, beispielsweise mit
1.023/1024 beim betrachteten Ausführungsbeispiel multipliziert.
Dies entspricht dem langsam abfallenden Teil der Spitzendetektorfunktion. Wenn die Leistungsamplitude
in einem Frequenzband j des ankommenden Spektrums S'(j,t) größer ist als die Leistungsamplitude
in dem entsprechenden Frequenzband des abgefallenen Spitzenamplitudenspektrums, dann wird der abgefallene
Spitzenamplitudenspektrumwert für dieses Frequenzband, bzw. diese Frequenzbänder durch den
Spektrumwert des entsprechenden Bandes des ankommenden, unter Verwendung der Fensterfunktion ermittelten
-45-
a 45 325 b '"*""*' ·:"'~* ""'5236832
k - 176 - 45 -
28. September 1982
Spektrums ersetzt. Dies entspricht dem schnell ansteigenden Teil der Spitzendetektorfunktion. Mathematisch
gilt für die Spitzendetektorfunktion folgende Gleichung:
p(j,t) = irex£p(j,t-T)-(1-E); P(t)-S1 (j ,t)J J=O,1,...,3I (10)
wobei j für die einzelnen Frequenzbänder weitgezählt wird, wobei p(j,t) das resultierende Spektrum ist,
wobei p(j, t-T) das "alte" bzw. das vorangehende Spitzenspektrum ist, wobei S'(j^t) das neu ankommende,
teilweise verarbeitete Leistungsspektrum ist, wobei P(t) die geschätzte Leistung zur Zeit t ist und wobei
E der Abfallparameter ist.
Gemäß Gleichung 10 fällt das Spitzenspektrum normalerweise, wenn ein höherer Wert des Spektrumeingangs signals
fehlt, mit dem Faktor 1-E ab. Typischerweise gilt E = 1/1024. Es kann jedoch unerwünscht sein, das
Spitzenspektrum während der Pausenintervalle abfallen
zu lassen, insbesondere, wenn keine schnelle Änderung in den Kommunikationskanälen oder in der Sprechcharakteristik
zu erwarten ist. Zum Bestimmen des Pausenrahmens kann das gleiche Verfahren wie zum Auswählen
der Hintergrundgeräuschrahmen angewandt werden. Die Amplituden (VP(t)J der letzten 128 Rahmen werden
geprüft, und es wird der Minimalwert ermittelt. Wenn die Amplitude des gerade laufenden Rahmens kleiner
-46-
k - 176 - 46 -
28. September 1982
ist als das Vierfache dieses Minimums, wird der laufende Rahmen als Pausenrahmen bestimmt, und für E wird
der Wert 1/1024 durch den Wert 0 ersetzt.
Nachdem das Spitzenspektrum erzeugt ist, wird das daraus resultierende Spitzenamplitudenspektrum p(j,t)
gemäß Block 89 frequenzmäßig geglättet, indem jeder Frequen2bandspitzenwert mit den Spitzenwerten gemittelt
wird, die den benachbarten Frequenzen der neu erzeugten Spitzenspektren entsprechen, vobei die
Breite des gesamten Frequenzbandes,das zur Mittelwertbildung
beiträgt, ungefähr gleich dem typischen Frequenzabstand zwischen den .Formantf requenzen ist.
Wie der Fachmann weiß, beträgt dieser Abstand etwa 1000 Hz. Durch die Mittelwertbildung in dieser speziellen
Weise wird die nützliche Information in den
Spektren, d.h. die lokalen Änderungen, die Formantresonanzen
enthüllen, erhalten, während die Gesamtanhebung bzw. die Grobanhebung im Frequenzspektrum
unterdrückt wird. Das Spitzenspektrum wird erfindungsgemäß vorzugsweise dadurch bezüglich der Frequenz geglättet,
daß man die Mittelwertbildung nach einer Funktion ausführt, welche sieben benachbarte Frequenzbänder
erfasst und für die folgende Gleichung gilt:
J + 3
3^~ p(k,t) (11) k=j-3
-47-
A 45 325 b k - 176
28. September 1982
- 47 -
Bezüglich der Enden des durchgelassenen Frequenzbandes
wird davon ausgegangen, daß p(k,t) für k>31 und k <£.
0 ist. Die normierende Einhüllende h(j) berücksichtigt die Anzahl der tatsächlich summierten gültigen Datenelemente.
Folglich gilt: h(0) = 7/4; h(1) = 7/5, h(2) = 7/6, h(3) = 1, ..., h(28) = 1, h(29) = 7/6,
h(30) = 7/5 und h(31) =7/4. Das resultierende geglättete Spitzenamplitudenspektrum e(j/t) wird dann verwendet,
um das gerade empfangene Leistungsspektrum S'(j,t) zu normieren und hinsichtlich des Frequenzgangs
zu entzerren, und zwar dadurch, daß die Amplitudenwerte jedes Frequenzbandes des ankommenden geglätteten
Spektrums S'(j,t) durch den entsprechenden Frequenzbandwert in dem geglätteten Spitzenspektrum
e(j,t) geteilt werden. Diese Division entspricht folgender Gleichung:
J,t) = (S'(j,t) / e(j,-t)i 32767 (12)
wobei s (f,t) das spitzennormierte, geglättete Leistungsspektrum ist und wobei j über die einzelnen Frequenzbänder
fortgeschaltet wird·. Dies entspricht dem Block 91. Man erhält auf diese Weise eine Folge von frequenzentzerrten
und normierten Kurzzeitleistungsspektren,
welche die Änderungen im Frequenzgehalt des ankommenden Audiosignals betonen, während alle generalisierten:
Langzeitfrequenzerhöhungen oder -Verzerrungen unterdrückt werden. Dieses Verfahren der Frequenzkompensation
-48-
k - 176
28. September 1982
k - 176 - 48 -
hat sich bei der Erkennung von Sprachsignalen, die über frequenzverzerrende Verbindungsleitungen, wie
z.B. Telefonleitungen, übertragen werden,.gegenüber den üblichen Methoden der Frequenzkorapensation als
besonders vorteilhaft erwiesen, bei denen der durchschnittliche Leistungspegel im gesamten Signal oder
in jedem einzelnen Frequenzband als Basis für die Kompensation genommen wird.
.An dieser Stella ist es nützlich, darauf hinzuweisen,
daß zwar die aufeinanderfolgenden Spektren auf die verschiedene Weise bearbeitet und entzerrt wurden,
daß aber die Daten, welche die ankommenden Audiosignale darstellen, immer noch Spektren sind, die
mit einer Frequenz von 100 Hz auftreten.
Die normierten und frequenzentzerrten Spektren gemäß
Block 91 werden gemäß Block 9 3 einer Amplitudentransformation
unterworfen, welche eine nicht-lineare Maßstabsänderung der Spektrumamplitudenwerte bewirkt.
Bezeichnet man die einzelnen frequenzentzerrten und normieren Spektren mit s (j, t) (vgl. Gleichung 12),
in denen j den Index für die verschiedenen Frequenzbänder des Spektrums bildet, während t die Echtzeit
bezeichnet, dann gilt für das nicht-lineare Spektrum x(j,t) mit geändertem Maßstab folgende lineare
Gleichung:
s (j,t) - A
x(j,t)· = 128 — j=0, 1, ...,30 (13)
x(j,t)· = 128 — j=0, 1, ...,30 (13)
-49-
A 45 325 b . " "
k - 176 - 49 -
28. September T982
wobei A der Mittelwert des Spektrums s (j,t) von j=0 bis 31 ist und wie folgt definiert ist:
1 31
A = y~ s (j,t) (14)
A = y~ s (j,t) (14)
32 J=O n
wobei j als Index den einzelnen Frequenzbändern des Leistungsspektrums zugeordnet ist.
Der einunddreißigste Term des Spektrums wird durch den Logarithmus von A ersetzt, so daß gilt:
x(31,t) = 16 log9 A
Diese Maßstabsfunktion (Gleichung 13) führt zu einem sanften Schwellwerteffekt und einem allmählichen Sättigungseffekt
für die spektralen Intensitäten, welche stark vom Kurzzeit-Mittelwert A abweichen. Mathematisch
ist.die Funktion für Intensitäten in der Nähe des Mittelwerts annähernd linear. Für Intensitäten, die weiter
vom Mittelwert abliegen, ist die Funktion annähernd logarithmisch und für extreme Intensitätswerte ist
die Funktion im wesentlichen konstant. In einem logarithmischen Maßstab ist die Funktion x(j,t) zu
Null symmetrisch und besitzt ein Schwellwert- und Sättigungsverhalten, welches an das Ansprechverhalten
-50-
k - 176 - 50 -
28. September 1982
eines Gehörnervs denken lässt. In der Praxis ist das gesamte Erkennungssystem wesentlich besser mit dieser
speziellen, nicht-linearen Maßstabsfunktion-als ein System mit einer linearen oder einer logarithmischen
Abbildung der Spektrumamplituden.
Es wird also eine Folge von amplitudentransformierten, hinsichtlich des Frequenzgangs entzerrten, normierten,.
Kurzzeitleistungsspektren x(j,t) erzeugt, wobei t = 0,0-1 s, 0,0 2 s... und j=0, ..., 30 (entsprechend den
Frequenzbändern der erzeugten Leistungsspektren). Für jedes Spektrum werden 32 Wörter vorgesehen und
der Wert von A (Gleichung 15), der Mittelwert der Spektrumwerte, wird als das zweiunddreißigste Wort
gespeichert. Die amplitudentransformierten Kurzzeitleistungsspektren, die nachstehend als Rahmen bezeichnet
werden, werden gemäß Block 95 gespeichert, und zwar in einem umlaufenden Speicher, welcher in der
Betriebsart "zuerst rein - zuerst raus" (first-in first-out
= FIFO) arbeitet und beim Ausführungsbeispiel eine Speicherkapazität von 256 Zweiunddreißig-Wort-Spektren
besitzt. Für die Analyse stehen also 2,56 Sekunden, des Audioeingangssignals zur Verfügung.
Diese Speicherkapazität führt bei dem Erkennungssystem zu der Flexibilität, nötigenfalls für die
Analyse und Auswertung auf Spektren zurückzugreifen, die unterschiedlichen Echtzeiten zugeordnet sind,
so daß je nach den Erfordernissen ..der Analyse zeitlich vorgegriffen oder zurückgegriffen werden kann.
-51-
A 45 325 b
k - 176 - 51 -
28. September 198 2
Die Rahmen für die letzten 2,56 Sekunden sind also in
dem umlaufenden Speicher gespeichert und bei Bedarf verfügbar. Im Betrieb wird jeder Rahmen für 2,56 Sekunden
gespeichert. Ein Rahmen, der in den umlaufenden Speicher zum Zeitpunkt t.. eintritt, geht also verloren
bzw. wird 2,56 Sekunden später aus dem Speicher herausgeschoben, wenn zum Zeitpunkt t.. + 2,56 s ein neuer
Rahmen eingespeichert wird.
Die Rahmen, die den umlaufenden Speicher passieren, werden vorzugsweise im Echtzeitbetrieb mit einem bekannten
Vokabular von Worten verglichen, um die Eingangsdaten in Wortgruppen, die Wortketten genannt
werden, zu bestimmen und zu identifizieren. Jedes Wort des Vokabulars wird durch ein Schablonenmuster
dargestellt, welches statistisch eine Anzahl von verarbeiteten Leistungsspektren darstellt, die zu
mehreren, nicht überlappenden Mehrfach—Rahmen (vorzugsweise 3 Rahmen ■-Zeichensatzmustern) zusammengestellt
sind. Diese Muster werden vorzugsweise so gewählt, daß sie signifikante akustische Eigenheiten
der Worte des Vokabulars am besten darstellen und sind im. Block 96 gespeichert.
Die Spektren, welche die Zeichensatzmuster bilden, ■werden aus den~Worten erzeugt, die in den verschiedenen
Kontexten gesprochen werden, wobei dasselbe System, welches oben beschrieben wurde, verwendet
wird, um das kontinuierliche unbekannte Sprachein-
-52-
A 45 325 b
k - 176 - 52 -
28. September 1982
gangssignal von der Leitung 10 in Fig. 1 zu verarbeiten.
Zu jedem Wort des Vokabulars gehören somit im allgemeinen mehrere Folgen von Zeichensatzmustern -P(D1,
P(D^,..., welche in einem Bereich der Kurzzeitleistungsspektren
eine Bezeichnung dieses i-ten Schlüsselworts darstellen. Die Sammlung von Zeichensatzmustern für
jedes Schlüsselwort bildet die statistische Basis, auf welcher die Zielmuster erzeugt werden.
Beim Ausführungsbeispiel können die Zeichensatzmuster P(i). als ein Feld mit 96 Elementen angesehen werden,
welches drei ausgewählte Rahmen umfasst, die zu einer Reihenfolge geordnet sind. Die das Muster bildenden
Rahmen sollten mindestens einen Abstand von 30 ms haben, um eine Störkorrelation aufgrund der Zeitdomänen Glättung
zu vermeiden. Bei anderen Ausführungsformen der Erfindung kann eine andere Strategie der Probenbildung für die Wahl der Rahmen verwirklicht werden.
Bevorzugt erfolgt die Auswahl der Rahmen jedoch so, daß diese einen konstanten zeitlichen Abstand voneinander
haben, vorzugsweise einen Abstand von 30 ms, und daß die sich nicht überlappenden Zeichensatzmuster
über das Zeitintervall hinweg, welches das Schlüsselwort definiert, Abstände voneinander haben. Im einzelnen
entspricht ein erstes Zeichensatzmuster P1
einem Teil des .Schlüsselwortes in der Nähe des Anfangs desselben, während ein zweites Muster P_ einem
zeitlich späteren Teil entspricht usw., wobei die Muster P-, P,... die statistische Basis für eine
-53-
A 45 325 b
k - 176 - 53 -
28. September 1982
Serie oder Folge von Zielmustern bilden, die die Wortschablone bilden, mit welcher die ankommenden Audiodaten
verglichen werden. Die Zielmuster P , P„... umfassen jeweils statistische Daten, die aus dem entsprechenden
Wert P(i). unter der Annahme erzeugt werden, daß alle P(i). unabhängige Gauss'sehe Variable sind,
die die Erzeugung einer Wahrscheinlichkeitsstatistik hinsichtlich der Übereinstimmung der Undefinierten
eintreffenden Rahmen mit den Zielmustern gestatten. Die Zielmuster bestehen also aus einem Feld, in dem
die einzelnen Werte die mittlere Standard-Abweichung und einen. Bereichsnormierungsfaktor für eine entsprechende
Sammlung von Zeichensatzmusterfeidwerten umfassen. Eine weite'r verfeinerte Wahrscheinlichkeitsstatistik wird weiter unten beschrieben.
Der Fachmann weiß, daß nahezu alle Worte regional und/
oder hinsichtlich ihres Kontextes mehr als eine Aussprache haben können und damit mehr als eine "Schreibweise"
von Zeichensatzmustern. Ein Wort des Vokabulars mit der Musterschreibweise P , P2-·· 9emäß ^en obigen
Ausführungen kann also tatsächlich allgemein durch die Folge p(i),, p(i)2/ ··· i = 1/ 2, ..., M ausgedrückt
werden, wobei jeder der p(i) .-Werte eine mögliche alternative Beschreibung der j-ten Klasse von
Zeichensatzmustern darstellt, und wobei insgesamt M unterschiedliche "Schreibweisen" für das Wort vorhanden
sind.
-54-
BAD ORIGINAL
k - 176 - 54 -
28. September 1982
Von den Target-Mustern tq , t2, ... t±, ... stellt also
jedes im ganz allgemeinen Sinne mehrere alternative statistische "Schreibweisen" für die i-te Gruppe oder
Klasse der Zeichensatzmuster dar. Beim Ausführungsbeispiel wird die Bezeichnung "Target-Muster" bzw.
"Zielmuster" in ganz allgemeinem Sinne verwendet, und jedes Zielmuster kann daher ein oder mehrere zulässige
alternative "statistische Schreibweisen" haben.
Die Vorverarbeitung der ankommenden Audiosignale und die Audiobildung der Referenzmuster ist nunmehr abgeschlossen.
Ein tieferes Studium des Schlüsselworterkennungsverfahrens von verketteten phonetischen Mustern in erfassten Worten, wie es in den "JS-?Sen 4 241 329 und
4 227 177 beschrieben ist, hat gezeigt, daß dies ein Sonderfall eines allgemeineren und möglicherweise überlegenen
Erkennungsverfahrens ist. unter Bezugnahme auf Fig. 4 kann die Worterkennungssuche als das Problem
des Auffindens eines geeigneten Pfades durch einen abstrakten Zustandsraum dargestellt werden. In dieser
Figur stellt jeder Kreis einen möglichen Zustand dar, der auch als Verweilzeitposition oder -register bezeichnet
wird, durch die bzw. das der Prozess der Entscheidungsfindung hindurchlaufen kann. Der Zwischenraum
zwischen gestrichelten senkrechten Linien
-55-
A 45 325 b
k - 176 - 55 -
28. September 1982
120, 122 stellt jeden der hypothetischen Zustände dar,
durch die der. Entscheidungsf indung.sprozess hindurchlaufen kann, um zu bestimmen, ob ein Muster zu einem
vorliegenden bzw. im Augenblick zu prüfenden oder laufenden Phonem passt oder nicht. Dieser Zwischenraum
ist in einen Bereich 124 für eine erforderliche Verweilzeit und einen Bereich 126 für eine möglicherweise
erforderliche .bzw. optioneile Verweilzeit unterteilt.
Der Bereich.für die erforderliche Verweilzeit entspricht der Mindestdauer des jeweils zu untersuchenden
Phonems oder Musters. Der Bereich der optioneilen Verweilzeit .stellt die maximale zusätzliche Dauer des
Musters dar. Jeder der Kreise in den.Bereichen für die optxonelle und die erforderliche Verweilzeit
stellt, einen Zeitrahmen des Kontinuums von gebildeten
Rahmen dar. und entspricht den 0,01 s-Intervallen von Rahmen zu Rahmen. Somit identifiziert jeder Kreis
eine hypothetische, laufende phonetische Position in einer Wort-Aussprache und stellt zusammen mit der
Anzahl von 0,01 s-Rahmen, die nach der Hypothese bereits verstrichen sind, seit das gerade untersuchte
bzw. laufende. Phonem begann, wobei diese Anzahl der Anzahl der früheren Kreise oder. Positionen in diesem
Phonem oder Zielmuster entspricht/ die gegenwärtige Dauer.des Musters dar. Nachdem ein Muster (Phonem)
begonnen hat und nachdem das. Mindestverweilzeitintervall
verstrichen ist, gibt es mehrere mögliche Pfade für das Vorrücken zu dem ersten Knoten bzw. zur ersten
Position (Kreis) 128 des nächsten Zielmusters (Phonem). Dies ist davon abhängig, wann die Entscheidung } zum
nächsten Muster
-56-
A 45 325 b
k - 176 ,fi
28. September 1982
(Phonem) der Aussprache, vorzurücken, getroffen wird. Diese Entscheidungsmöglichkeiten sind in Fig. 4 durch
die verschiedenen Pfeile dargestellt, die zum Kreis 128 führen. Ein Übergang zum nächsten Muster (Phonem),
dessen Anfang durch den Kreis 128 dargestellt ist, kann an jedem, Knoten bzw. an jeder Position während
der optioneilen Verweilzeit des laufenden Musters .(Phonems) erfolgen - oder am letzten Knoten des
erforderlichen Verweilzeitintervalls.
Das in den US-PSen 4 241 329; 4 227 176 und 4 227 beschriebene Schlüsselworterkennungsverfahren bewirkt
den Übergang an dem ersten derartigen Knoten, an dem der Wahrscheinlichkeitswert für das nächste Muster
(Phonem) besser ist als der Wahrscheinlichkeitswert bezüglich des laufenden Musters (Phonems). Dies bedeutet,
daß ein Rahmen 'besser zu dem nächsten Phonem oder Muster passt als zu dem laufenden Phonem oder
Muster. Die.Txefferquote bzw. der Wahrscheinlichkeitswert für das Gesamtwort ist jedoch die mittlere Tefferquote.
bzw. der Wahrscheinlichkeitswert für die Muster bz.w. Phoneme pro Rahmen, d.h. pro Knoten in
dem durchlaufenden Pfad. Dieselbe Definition für die
gesamte Trefferquote für ein Wort bis zum Erreichen des jeweiligen Knotens kann benutzt werden, um zu
entscheiden, wann der Übergang erfolgen muß. Mit anderen Worten · wird also entschieden, ob der Übergang
zum nächsten Muster beispielsweise bei.der ersten
Gelegenheit erfolgen soll, was beispielsweise einem Übergang längs der Linie 130 entspricht, oder zu
einem späteren
-57-
Copy
A 45 325 b
k - 176
28. SeDtember 1982
- 57 -
Zeitpunkt, was beispielsweise einem Übergang längs der Linie 132 entsprechen würde. Im günstigsten Fall
wählt man denjenigen Weg zum nächsten Muster (Phonem), für welches die mittlere Trefferguote pro Knoten am
günstigsten ist. Da das Standardschlüsselwortverfahren gemäß den üS-PSen 4 241 329, 4 227 176 und 4 227 177
die möglichen Pfade nicht prüft, nachdem die Entscheidung für einen übergang zum nächsten Muster .(Phonem)
gefallen ist, kann also dort eine nicht völlig optimale Entscheidung bezüglich der mittleren Trefferquote pro
Knoten getroffen werden.
Für die Erkennung von Wortketten wird erfindungsgemäß
eine Strategie angewandt, bei der eine mittlere Trefferguote pro Knoten berücksichtigt wird. Wenn man
diese Strategie bei einer Wortkettenerkennung anwendet, wie sie nachstehend noch näher beschrieben wird, ergibt
sich dabei das Problem, daß man entweder alle partiellen Worttreffer entsprechend der Anzahl der
erfassten Knoten normieren muß,was bezüglich des Rechenaufwands nicht
effektiv ist, oder daß man bei der Akkumulation so vorgehen
muß-, daß eine ausdrückliche Normierung nicht erforderlich ist. Eine natürliche Vorgabe besteht darin,
bei der Suche in dem geschlossenen Vokabular die nicht-normierte Trefferquote für das beste Wort zu
verwenden, welches in der laufenden Analysezeit endet. In diesem Fall ist die summierte Trefferquote von
allen Knoten stets die Summe derselben Zahl von Elementmustertreffern
bzw. Wahrscheinlichkeitswerten. Weiterhin wird die Trefferquote
-58-
BAD ORIGINAL
copy j
A 45 325 b
k - 176 - 58 -
28. September 1982
durch diese Vorgabe in die Trefferquote für die beste bzw. wahrscheinlichste Wortkette transformiert,
die am laufenden Analyseknoten endet.
Die Strategie der Entscheidung aufgrund der mittleren Trefferguote pro Knoten kann durch eine dynamische
Programmierung mit dem Vektorprozessor gemäß der US-PS 4 228 498 realisiert werden. Wenn der Prozessor
auf diese Weise programmiert wird, ergibt sich eine Verarbeitungsgeschwindigkeit, die etwas höher ist als
für das Standardschlüsselworterkennungsverfahren, welches in den US-PSen 4 241 329, 4 227 176 und
4 227 177 beschrieben ist, und zwar obwohl mehr Hypothesentests erforderlich sind.
Allgemein gesagt erinnert sich das Programm, wenn Wortketten erkannt werden sollen, an den Namen des
besten hypothetischen Vokabularwortes, welches-an jedem
einzelnen -Analyseknoten endet. Es erinnert sich außerdem an den Knoten (die Zeit), an dem (zu der)
dieses beste Wort begann. Die beste Wortkette wird dann gefunden, indem man vom Ende der Äußerung (des
Phonems) rückwärts sucht und den gespeicherten Wortnamen notiert und das nächst-vorangehende Wort zur angegebenen Anfangszeit
des laufenden Wortes findet.
Indem man auch eine Pause als Vokabularwort betrachtet, wird es unnötig, zu spezifizieren, wieviele Worte
in der Wortkette enthalten sind. Der Vorgang der
-59-
A 45 325 b
k - 176 - 59 -
28. September 1982
Rückwärtsverfolgung zum Finden der Kette wird immer
dann ausgeführt, wenn das Pausenwort die höchste Worttrefferzahl hat, und diese Operation endet bei der
nächsten, zuvor entdeckten Pause. Auf diese Weise wird immer dann eine Kette gefunden, wenn der Sprecher eine
Pause macht, um Luft zu holen.
Das hier beschriebene Wortketten-Erkennungsverfahren liegt um eine Stufe der Abstraktion höher als die
Erkennung von einzelnen Schlüsselworten. Da die Wortkettensuche
dazu zwingt, die gesamte Spracherzeugung während einer Äußerung in ein Wort der Kette einzuschließen,
hat sie einen Vorteil gegenüber der einfacheren Wortauffindung, wo häufig die-falsche Art
von Wörtern innerhalb längerer Wörter entdeckt wird.
Vorteilhafterweise sind für die Wortkette keine Takt- bzw. Zeitgabemuster
erforderlich, da der Wortverketter für -jedes angenommene Wortende eine neue Wortanfangszeit ausgibt.
Der einfachste Kettenverketter geht davon aus, daß diese Wortanfangszeiten korrekt sind-. Beim Erfassen
•einer Pause geht er davon aus, daß die Kette von Worten gerade beendet ist und daß der Beginn des letzten
Wortes das Ende des vorangehenden Wortes ist, welches eine Pause sein kann. Es ist dann eine einfache Sache,
sich nach hinten durch die Kette zu tasten und an jeder Wortgrenze das Wort mit der besten Endtrefferquote
zu wählen. Da gewöhnlich ein vom Kontext abhängiger Übergang zwischen je zwei benachbarten Worten
-60-
A 45 325 b
k - 176 - 60 -
28. September 1982
der Kette vorhanden ist, kann es besonders vorteilhaft sein, dem Gerät zu gestatten, die Nachbarschaft
jedes Wortanfangs nach dem besten Ende des vorausgehenden Wortes abzusuchen.
Verfahren und Gerät gemäß der Erfindung sollen nachstehend anhand der jeweiligen Hardware- und Software-Ausführungen
mehr ins Einzelne gehend erläutert werden.
Gemäß Fig. 3 s-cellen die im Block 95 gespeicherten
Spektren bzw. Rahmen die ankommenden kontinuierlichen Audiodaten dar, welche mit den gespeicherten Schablonen
oder Zielmustern verglichen werden, die in Block 96 gespeichert sind und Schlüsselworte .des Vokabulars
darstellen., wobei der Vergleich nach folgendem Verfahren erfolgt:
Für jeden 10 ms-Rahmen wird im Block 97 ein Muster zum Vergleich mit den gespeicherten Bezugsmustern gebildet,
indem der laufende Spektrumvektor s(j,t), das Spektrum s(j,t-0,03) des drittletzten Rahmens und das Spektrum
s(j,t-0,06) des sechstletzten Rahmens zu folgendem Feld bzw. Muster aus 96 Elementen zusammengefasst
werden:
js(j,t-0,06), j=0,...,31
x(j,t) = . s(j-32,t-0,03, j=32,...,63
s(j-64,t), j=64,...,95
-61-
A 45 325 b
k - 176
28. September 1982
Wie oben ausgeführt, bestehen die gespeicherten Bezugsmuster
aus den Mittelwerten, den Standardabweichungen und Bereichsnormiertermen von zuvor zusammengestellten
96 Elementmustern, die zu den verschiedenen Sprechmusterklassen gehören, die erkannnt werden sollen.
Der Vergleich wird aufgrund eines Wahrscheinlichkeitsmodells der Werte x(j,t) erreicht," die zu erwarten
sind, wenn das Spracheingangssignal zu einer bestimmten
Klasse gehört. Während für das Wahrscheinlichkeitsmodell· eine Gauss'sehe Verteilung verwendet
werden kann.(vgl. die oben erwähnten US-Patente 4 241 329, 4 227 176 und 4 227 177) ,erfordert die
Laplace-Verteilung
ρ (χ) - =Cl / YT s ' ) exp- ( TT I x-m ( /s ' )
(wobei m der statistische Mittelwert ist und wobei s1
die Standardabweichung der Variablen χ ist) weniger Rechenarbeit und hat sich als nahezu ebenso brauchbar
wie die Gauss'sehe Verteilung erwiesen, wenn beispielsweise
unabhängig vom Sprecher das Verfahren der isolierten Worterkennung angewandt werden soll·, welches
in der US-PS 4 038 503 beschrieben ist. Das Maß der Ähnlichkeit L(x f k) zwischen einem unbekannten Eingangsmuster
.χ und dem k-ten gespeicherten Bezugsmuster ist proportional· zum Logarithmus der Wahrscheinlichkeit
und wird in der ."nachfolgenden Formel mit 100 angenommen:
-62-
k - 176 - 62 -
28. September 19 82
96 I χ. - u.
L(X |k) = ^.
+A1, (17)
i=1 s ik
96
1
wobei A1 = ^> 1ns1..
1
wobei A1 = ^> 1ns1..
Zum Kombinieren der Wahrscheinlichkeitswerte L· einer
Folge von Mustern mit dem Ziel der Bildung, des Wahrscheinlichkeitswertes
eines gesprochenen Wortes oder Satzes wird der Wert L(x | k) für jeden Rahmen eingestellt,
indem der beste (kleinste) Wert aller Bezugsmuster für diesen Rahmen subtrahiert wird, und zwar
gemäß folgender Gleichung:
L1 (x j k) = L(x j k) - min L(x | i) (18)
Auf diese Weise wird das am besten zu jedem Rahmen passende Muster den Wert Null haben. Die eingestellten
Werte für eine hypothetische Folge von Bezugsmustern können Rahmen für Rahmen addiert werden, um einen
Folgewert zu erhalten, der direkt mit der Wahrscheinlichkeit verknüpft ist, so daß eine Entscheidung zugunsten
der angezeigten Folge die richtige Entscheidung wäre.
-63-
A 45 325 b
k - 176 -6 3-
28. September 1982
Der Vergleich der unbekannten Eingangsspektrummuster mit den gespeicherten bekannten Mustern erfolgt
durch Berechnung der folgenden Funktion:
96 _
σ = !>~ ■& I χ - U I + C (19)
σ = !>~ ■& I χ - U I + C (19)
wobei s., = i/s1.,) für das k-te Referenzmuster. Bei
einer normalen programmierten Berechnung würden die folgenden Befehle ausgeführt, um die algebraische
Funktion s jx-uI {gemäß Gleichung 19) zu berechnen:
1. berechne x-u
2. prüfe das Vorzeichen von x-u
3. wenn x-u negativ ist, bewirke einen Vorzeichenwechsel,
um den Absolutwert zu erhalten
4. multipliziere mit s
5. addiere das Ergebnis in einen Akkumulator.
Bei einem typischen Spracherkennungssystem mit einem 20-Wort-Vokabular würden ungefähr 222 verschiedene
Referenzmuster vorhanden sein. Die Anzahl der erforderlichen Schritte zur Auswertung derselben
-64-
A 45 325 b
k - 176 - 64 -
28. September 1982
beträgt dann 5 χ 96 χ 222 = 106560 Schritte, ohne die zusätzlichen allgemeinen Programmschritte, und dies
muß in weniger als 10 ms geschehen, .um mit der Echtzeit-Spektrumrahmen-Geschwindigkeit
Schritt zu halten. Der Prozessor muß daher in der Lage sein, pro Sekunde nahezu 11 Millionen Befehle auszuführen,.und zwar nur,
um gerade die Wahrscheinlichkeitsfunktionen auszuwerten. In Anbetracht der erforderlichen Geschwindigkeit
wird erfindungsgemäß vorzugsweise ein spezieller Wahrscheinlichkeitsfunktions-Hardware-Modul 200 (Fig.4)
verwendet, der mit einem System-Vektorprozessor gemäß der US-PS 4 228 498 kompatibel ist.
Bei dem Spezialmodul 200 werden die fünf oben aufgeführten Schritte gleichzeitig mit zwei Sätzen von
Argumenten -.s, x, u ausgeführt, so daß im Endeffekt
in der Zeit, die normalerweise für die Ausführung eines einzigen Befehls erforderlich ist, zehn Befehle
ausgeführt werden. Da der Basis-Vektorproz.essor mit einer Geschwindigkeit von 8 Millionen Befehlen pro Sekunde
arbeitet, ergibt sich bei dem hier verwendeten speziellen Modul 200 für die Wahrscheinlichkeitsfunktionen eine effektive Berechnungsgeschwindigkeit
von etwa 80 Millionen Befehlen pro Sekunde.
Wie Fig. 5 zeigt, arbeitet der Modul 20 0 mit einer Kombination von sogenannten Pipeline-Operationen und
Parallel-Operationen, um gleichzeitig jeweils zehn Schritte ausführen zu können. Dabei.führen zwei
-65-
A 45 325 ij
* - 176 _ 65 .
28. September 19 82
unabhängige Bereiche 202 und 204 jeweils fünf arithmetische
Schritte mit den unabhängigen. Eingangsdatenargumenten aus,und die zwei Ergebnisse werden in einem
Addierer 206 zusammengefasst, der mit deren Ausgängen
verbunden ist. Die Akkumulation der Summierungen des Addierers 206. bilden "die Summierung von 1 bis 96 gemäß
Gleichung "19, die von der Recheneinheit des Standard-Vektorprozessors gemäß US-PS 4 288 4 98 verarbeitet
wird.
Die im Pipeline-Betrieb arbeitenden Register speichern die Zwischendaten bei den folgenden Stufen der Datenverarbeitung:
1. Eingangsargumente (getaktete Register 208, 210, 212, 214, 216, 218)
2. Betrag von x-u (getaktete Register 220, 222)
3. Ausgang des Multiplizieren (getaktete Register
224, 226).
Anhand der Eingangsdaten in den getakteten Registern 208 bis 218 wird die Größe von x-u durch Schaltkreise
228, 230 zur Subtraktion und Absolutwert-Bildung bestimmt. Gemäß Fig. 6 enthält jeder der Schaltkreise
228, 230 zur.Subtraktion und Betragsbildung jeweils eine erste und eine zweite Subtraktionsschaltung 232,
234, von denen die eine dazu dient, die Differenz
-66-
A 45 325 b
k - 176 - 66 -
28. September 1982
x-u zu bestimmen, während die andere, die Differenz u-x
bestimmt, sowie einen Multiplexer 236 zur Auswahl des positiven Ergebnisses- Die Eingangsargumente χ und u,
die über die Leitungen 238, 240 von den Registern 208 bzw. 210 zugeführt werden, sind 8 Bit-Ziffern zwischen
-128 und +127. Da bei der Differenz-bildung in den
8 Bit-Subtraktionsschaltungen 232 und 234 ein Übertrag
auf die neunte Bit-Stelle entstehen kann (z.B.: (127-(-128) = 255), sind spezielle Schaltungseinrichtungen
erforderlich, die der Auswertung des Übertrags dienen. (Das Vorliegen eines Übertrags wird
mittels eines Übertrag-Detektors·235 festgestellt, an desse.n Eingängen über eine Leitung 235a das Vorzeichen
von χ und über eine Leitung 235b das Vorzeichen von u sowie, über eine Leitung 235c das Vorzeichen der
Differenz x-u zugeführt werden).
Wie Fig. 7 zeigt, sind die Übertrag-Detektoren beim Ausführungsbeispiel kombinierte Schaltungen aus jeweils
einem UND-Gatter 268 bzw. 27 0 mit drei Eingängen und einem ODER-Gatter 272. Aus der Wahrheitstabelle gemäß Fig. 8 wird die Verknüpfung zwischen
der Übertragbedingung und den Eingangssignalen deutlich.
Die Berücksichtigung der Übertragbedingung erfolgt dadurch, daß der Multiplexer 236,mit dessen Hilfe das
positive Subtraktionsergebnis ausgewählt wird, vier Wahlmöglichkeiten bietet. Die Entscheidung wird dabei
durch die binären Pegel.auf den Leitungen 242 und 244
-67-
A 45 325 b
k " 176 - f?7
28. September 1982
bestimmt. Dabei ist der Pegel auf der Leitung 242 dem
Vorzeichen der Differenz x-u zugeordnet, während das Vorhandensein eines Übertrags durch eine "1" auf der
Leitung 244 angezeigt wird.
Insgesamt bestehen folgende Möglichkeiten:
Leitung 242 Leitung 244
0 0 wähle Ausgang der Sub
traktionsschaltung 232
1 0 wähle Ausgang der Sub
traktionsschaltung 234
0 1 wähle Ausgang der Sub
traktionsschaltung 232
um'1 Bit nach unten verschoben
1 1 wähle Ausgang der Sub
traktionsschaltung 234
um 1 Bit nach unten verschoben
Der Multiplexer 236 wird somit so gesteuert, daß er als 8-poliger elektrischer Schalter mit vier Schaltstellungen
arbeitet. Der "Schiebevorgang" um 1 Bit
wird kombinatorisch ausgeführt, indem man die Ausgange der Subtraktionsschaltungen zu den entsprechenden
Multiplexereingängen durchschaltet. Der Schiebevorgang entspricht einer Division durch 2.
-68-
A 45 325 b
k - 176 - 68 -
28. September 1982
Wenn bei einer Subtraktion ein. Übertrag auftritt, entspricht das Ausgangssignal .des Multiplexers dem durch
2 geteilten Ausgangssignal einer der Subtraktionsschaltungen. Diese Bedingung muß später bei der Berechnung
berücksichtigt werden, damit das Endergebnis dann mit 2 multipliziert wird, um den richtigen Maßstabsfaktor
wieder herzustellen. Diese Multiplikation erfolgt bezüglich des Ausgangssignals des Multiplexers
hinter dem letzten "Pipeline"-Register. Aus diesem Grund wird in den Pipeline-Registern 220, 222, 224,
226 ein Extra-Bit bereitgehalten, um die zweiten Multiplexer 248, 250 zu steuern, welche die Multiplikationsprodukte
eines 8x8 Bit-Multiplizierers 252, 254 um 1 Bit nach oben verschieben, was einer Multiplikation
mit 2 entspricht, sobald das Übertrag-Bit gesetzt ist (logischer Pegel "1"). Die Multiplikation
wird mittels einer handelsüblichen integrierten Schaltung mit der TRW-Baustein-Bezeichnung MPY-8-HJ durchgeführt,
der zwei Ziffern mit jeweils 8 Bit zugeführt werden' können und die an ihrem Ausgang das Produkt
der beiden Ziffern liefert.
Die Multiplizierer 252, 254 erzeugen somit das Produkt von ¥ und | x-u|bei jedem Taktimpuls (wobei die zeitliche
'Steuerung für den Wert von s in der richtigen Weise durch die besonderen Datenregister 256, 258 erfolgt)
. Die Ausgangssignale der Multiplizierer 252, 254 werden.gepuffert in die Register 224, 225 eingespeist
und über Leitungen 260, 262 und einen Addierer 206 an die übrige Schaltung ausgegeben.
-69-
A 45 325 b
Jc - 176 " _ go _
28. September 1982
Derselbe Spezial-Hardware-Modul. 200 wird auch zum Berechnen
des inneren Produktes zweier Vektoren verwendet, wie dies bei einer Matrix-Multiplikation erforderlich
ist. -Dies wird durch die Gatter-Schaltungen 264, 266 erreicht, die einen Parallel-Pfad zu den
Schaltungen 228 bzw. 230 zur Subtraktion..und zur Absolutwert-Bildung
bilden. Beim Vorliegen der Bypass-Bedingung werden die Daten χ und s von den Eingangsleitungen direkt als Eingangssignale für die Multiplikation
in die Pipeline-Register 220, 222 eingespeist.
Wortpegelmusterausrichtung '
Ein dynamisches Programmierverfahren (Block 101) wird vorzugsweise angewandt, um die Korrespondenz zwischen
einem unbekannten Eingangssprachsignal und jeder Schablone für ein Wort des Vokabulars zu optimieren.
Jede Wortschablone besteht dabei nicht nur aus einer Folge der .oben angesprochenen Bezugsmusterstatistiken,
sondern umfasst auch Daten über die minimale und die maximale Freizeit, die mit jedem Bezugsmuster verknüpft
ist. Bei der Anwendung einer dynamischen Programmierung wird für jedes Wort des Vokabulars ein
Satz von Speicherregistern vorgesehen. Die Anzahl der Register ist dabei gleich der Summe der maximalen
Verweilzeiten der Referenzmuster, die das Wort bilden,
d.h. proportional zur längsten zulässigen.Wortdauer.
-70-
A 45 325 b
k - 176 - 70 -
28. September 1982
Diese Register entsprechen den Kreisen in Fig.· 4, wobei
jeder Kreis für ein Register steht.
Für jeden Rahmen des Eingangssprachsignals werden alle diese Register eingelesen und ausgelesen. Dabei
enthält jedes Register, wie dies nachstehend noch detailliert beschrieben wird, den berechneten Wahrscheinlichkeit
swert, welcher der Hypothese entspricht, daß das angezeigte Wort des Vokabulars gesprochen
wird und daß die laufende Position in diesem Wort dem jeweiligen Referenzmuster und der dem Register
zugeordneten Verweilzeit entspricht. Es wird dafür gesorgt, daß alle diese Register zunächst schwache
Wahrscheinlichkeitswerte enthalten, um so anzuzeigen,
daß zunächst keine der dargestellten Hypothesen eine brauchbare Wahrscheinlichkeit besitzt.
Der Registerinhalt wird auf die nachstehend beschriebene Weise jeweils auf den neuesten Stand gebracht.
Das erste Register für jede Wortschablone, d.h. dasjenige Register, welches der Hypothese entspricht,
daß mit dem Sprechen des Wortes gerade begonnen wurde, enthält die Summe eines Wertes a und eines Wertes b,
wobei a der Wahrscheinlichkeitswert: des laufendes Rahmens bezüglich des ersten Bezugsmusters des Wortes
ist und wobei b der beste Wert aller letzten Register sämtlicher Vokabularworte ist (d.h. der akkumulierte
WahrscheinlichkeLtswert für die Hypothese,daß im vorausgegangenen Rahmen irgendein Wort beendet wurde).
-71-
A 45 325 b
k - 176 _ 71 _
28. September 1982
Das zweite Register einer Wortschablone enthält die Summe eines Wertes a, nämlich des Wahrscheinlichkeitswertes des vorliegenden Rahmens bezüglich des ersten
Bezugsmuster des Wortes und des Wertes b, nämlich des Inhalts des ersten Registers für den vorausgegangenen
Rahmen. Das zweite Register enthält also den Wert, der sich aufgrund der Hypothese ergibt, daß das angezeigte
Wort gesprochen wird und daß es im vorausgehenden Rahmen begonnen hat.
Während die einzelnen Register entsprechend den Verweilzeiten zwischen der Minimaldauer und der Maximaldauer
auf den neuesten Stand gebracht werden (das optioneile Verweilzeitintervall), wird ein eigenes
Speicherregister dazu verwendet, die besten gespeicherten Wahrscheinlichkeitswerte (Registerinhalt) in
den Registern zu speichern, die dem optionellen Verweilzeitintervall für jeden folgenden "laufenden
Rahmen" entsprechen. Dieser beste Wert, der während der vorangehenden Rahmenzeit gefunden wurde, wird
benutzt, um die nächsten Inhalte des ersten Registers zu berechnen, die dem erforderlichen Verweilzeitintervall
des nächsten Zielmusters bzw. der nächsten Schablone für das Wort entsprechen. Die gegenwärtigen
Inhalte der ersten Register des nächsten Bezugsmusters werden also erzeugt, indem der genannte beste Wert
(des vorausgegangenen Zielmusters) zum Wahrscheinlichkeitswert des laufenden Rahmens bezüglich des erwähnten
nächsten Bezugs- oder Zielmusters addiert wird.
-72-
A 45 325 b
k - 176 - 72 -
28. September 1982
In Fig. 4 sollen die verschiedenen Pfeile, die -zu dem ersten Register 128 des erforderlichen .Verweilzeitintervalls
eines Referenzmusters führen.,. anzeigen, daß der Übergang von dem optioneilen Register- bzw. Zustand
zum erforderlichen V.erweilzeitregister bzw. . -zustand zu jedem Zeitpunkt während des optioneilen. Verweilzeitintervalls
oder ausgehend vom.letzten Register des erforderlichen
Verweilzeitintervalls erfolgen kann. Auf der Grundlage der laufenden Information., ist somit die ■
am besten passende Korrespondenz bzw. Entsprechung zwischen der Wortschablone und den Eingangsmustern
diejenige, welche sich aufgrund der Hypothese ergibt, daß dann, wenn das nächste Muster gerade beginnt, das
vorausgehende Muster eine Dauer hat., die dem Register entspricht,.welches in dem vorausgehenden optioneilen
Verweilzeitintervall den besten Wert enthält (zuzüglich des letzten Registers des vorausgegangenen erforderlichen
Zeitintervalls, dem Register 300 beim Ausführungsbeispiel). Nach der Theorie der dynamischen
Programmierung ist es nicht erforderlich, die zuvor akkumulierten Werte, welche sämtlichen möglichen Verweilzeiten
entsprechen, zu speichern, da-.".nach, der
Theorie jeder Verweilzeitübergang, der zu einem schlechteren Wert führte, auch weiterhin während
aller folgenden Stufen der Datenverarbeitung zur Erzeugung schlechterer Werte führen wird.
Die Analyse wird in der beschriebenen Weise fortgesetzt, wobei alle Register sämtlicher Referenzmuster
— / ο ■"
A 45 325 b
k -176 - 73 -
28. September 1982
aller Wortschablonen verwendet, werden. Das letzte Register
bzw. die letzten Register, des letzten Musters jeder Wortschablone enthält den Wert,der sich aufgrund
der Hypothese ergibt, daß das Wort gerade beendet wurde.
'Im Verlauf der Akkumulation der Wahrscheinlichkeitswerte wird eine Folge von (Zeit-)Dauer-Zählungen beibehalten,
um die Dauer des besten Wortendes in jeder Rahmenzeit zu ermitteln. Der Zählvorgang wird bei
"eins" in dem.ersten Register des ersten Schablonenmuster des Worts eingeleitet. Für jedes zweite und folgende
Register eines Schablonenmusters wird der mit dem vorangehenden Register verknüpfte Zählerstand um
"eins" erhöht. Für jedes Register, welches den 3eginn eines Referenzmusters (einem anderen als denx ersten
Referenzmuster eines Wortes) entspricht, d.h. beispielsweise das erste Register 128 des erforderlichen
Verweilzeitintervalls, ist jedoch der Zählerstand des optioneilen Verweilzeitregisters (oder des letzten
Registers für die erforderliche Verweilzeit) für das vorausgegangene Bezugsmuster, welches in der vorausgegangenen
Rahmenzeit den besten Wahrscheinlichkeitswert hat, derjenige Zählerstand, der erhöht wird, um
die Zeitdauerzählung für das Register zu bilden.
Um ein. .System für die nachstehend, noch näher beschriebene
"Rückwärtsverfolgung" für jede Rahmenzeit zu erhalten, werden die Identifizierung für das zu diesem
-74-
A 45 325 b
k - 176 - 74 -
28. September 1982
Zeitpunkt endende. Wort mit dem höchsten Wert und dessen Dauer .in einen umlaufenden. Pufferspeicher übertragen.
Wenn eine Wortfolge endet., ermöglichen die gespeicherten Wortdauern, die Rückwärtsverfolgung vom
Ende des letzten "besten" Wortes über dessen Dauer zu dem besten vorangehenden Wort, welches unmittelbar
vor dem ."letzten. Wort" endet usw., bis alle Worte der
Wortkette identifiziert sind.
Ketten von .kontinuierlich gesprochenen Vokabularworten
sind durch Pausen begrenzt. Sine der .Wortschablonen
entspricht daher der Bedingung "Pause. = .Stille bzw. Hintergrundgeräusch". Immer wenn sich für das "Pausen"-Wort
der beste Wahrscheinlichkeitswert ergibt, wird angenommen, daß.eine Folge von Worten gerade beendet
wurde. Ein Zustands- bzw. Flag-Register wird abgefragt, um festzustellen, ob seit der letzten Einleitung des
Erkennungsprozesses irgendein anderes Wort als das Pausenwort den besten Wert hatte. Wenn mindestens ein
von dem.Pausenwort verschiedenes Wort einen "besten Wert" hatte (Block 103), dann wird die ..Wortkette in
dem umlaufenden Pufferspeicher rückwärts verfolgt (Block 105) und die dabei erhaltene, erkannte Botschaft
wird zu einer Anzeige oder einer anderen gesteuerten Einrichtung übertragen. Anschließend wird
der umlaufende Pufferspeicher gelöscht, um eine wiederholte Übertragung der Botschaften zu verhindern.
Außerdem wird das Zustandsregister gelöscht. Das Gerät ist damit.bereit, die nächste Wortkette zu
erkennen (Block 107).
-75-
A 45 325 b
k - 176 _ 75 _
28. September 1982
Um die Probenelemente u und die Varianzen s' für die Konstruktion der Referenzmuster zu erhalten, wird eine
Anzahl von "Äußerungen" bzw. Sprachproben jedes Vokabularwortes in das Spracherkennungssystem eingegeben/
und die Gesamt-Statistiken der entsprechenden vorverarbeiteten Spektrumrahmen werden ausgewertet. Für
einen erfolgreichen Betrieb des Systems .ist dabei die Entscheidung darüber, welche Eingangsrahmen welchen
Ziel- bzw. Bezugsmustern entsprechen sollten, von wesentlicher Bedeutung.
Beim Fehlen besserer Information, wie z.B. bei von Hand gewählten signifikanten akustischen Phonemen
des Eingangswortes wird das Zeitintervall · zwischen dem Beginn und dem Ende eines gesprochenen Worts in
eine Anzahl von gleichmäßigen Unterintervallen geteilt. Jedes dieser Unterintervalle wird dabei gezwungen,
einem bestimmten Bezugsmuster zu entsprechen. Ein oder mehrere Drei-Rahmen-Muster, die in jedem Intervall
beginnen, werden gebildet und entsprechend dem mit diesem Intervall verknüpften Bezugsmuster klassifiziert.
Anschließende Beispiele desselben Vokabularwortes werden in ähnlicher Weise in eine gleiche Anzahl
von gleichen Intervallen geteilt. Die Mittelwerte und Varianzen der Elemente der Drel-Rahmen-Muster,
die aus den entsprechend geordneten Intervallen gewonnen werden, werden für alle verfügbaren
-76-
A 45 325 b
k - 176 _ 76
28. September 1982
Proben des Vokabularwortes akkumuliert, um einen Satz von Bezugsmustern für dieses Wort zu bilden. Die Anzahl
der Intervalle (der Bezugsmuster) sollte in der Größenordnung von zwei oder drei pro in dem Vokabularwort
enthaltenem linguistischem Phonem liegen.
Zur Gewinnung der besten Ergebnisse werden der Anfang und das Ende jedes Vokabularwortes mittels eines Verfahrens
markiert, bei dem die aufgezeichnete Audiosignalform und die Spektrumrahmen von Hand geprüft
werden. Zur automatischen Durchführung dieser Prüfung ist es.erforderlich, daß jedes Wort einzeln gesprochen
wird und daß am Wortanfang und am Wortende eine Pause liegt, damit das Gerät die Wortgrenzen genau finden
kann. Die Bezugsmuster können von jeder derartigen Probe jedes gesprochenen Wortes einzeln erstellt werden,
wobei alle Varianzen in dem Referenzmuster auf brauchbare Konstante gesetzt werden. Danach kann das
Trainingsmaterial aus Äußerungen bestehen, die für die zu erkennenden Äußerungen typisch sind, wobei die
Wort- und Segmentgrenzen dort liegen, wo --sie auch beim Erkennungsprozess aufgefunden werden. Wenn die
Statistiken für eine geeignete Anzahl von Trainingsäußerungen, akkumuliert bzw. gesammelt "sind, werden
die ursprünglichen Bezugsmuster durch die so ermittelten Bezugsmuster ersetzt. Danach wird ein zweiter
Durchlauf mit dem Übungsmaterial, durchgeführt. Dieses Mal werden die Worte in Intervalle unterteilt, und
zwar auf der Basis der Entscheidungen, die von dem
-77-
A 45 325 b
k - 176 _ 77 _
28. September 1982
Erkennungsprozessor gemäß Fig. 3 getroffen werden. Jedes Drei-Rahmen-Eingangsmuster (oder ein typisches
Eingangsmuster für jedes Bezugsmuster) wird nach dem vorstehend beschriebenen Musterabgleichverfahren einem
Bezugsmuster zugeordnet. Die Mittelwerte und Varianzen .werden ein zweites Mal gesammelt, um den endgültigen
Satz von Bezugsmustern zu bilden, die vollständig mit dem Verfahren kompatibel sind, gemäß welchem sie von
dem Erkennungsgerät benutzt werden.
Bei jedem Übungsdurchlauf ist es vorteilhaft, wenn irgendwelche Übungsphrasen,, die von dem Erkennungsprozessor nicht korrekt · erkannt werden, ignoriert
werden, da bei einer falsch erkannten Äußerung die Wahrscheinlichkeit besteht, daß diese schlecht plazierte
Intervallgrenzen hat. Bei Beendigung des Trainingsdurchlaufs kann versucht werden, die zuvor
nicht bzw. falsch erkannten Phrasen mit den neuen Referenzmustern zu vergleichen,und die Referenzmuster
können dann weiter auf den neuesten Stand gebracht werden, wenn nunmehr der Erkennungsvorgang erfolgreich
ist. - - .
Statt die schlecht bzw. nicht erkannten Phrasen zu ignorieren, besteht auch die Möglichkeit, für jede
Übungsäußerung eine Mehrwort-Schablone zu bilden. Diese Schablone ist dann einfach eine Verkettung der
Schablonen für die einzelnen Worte einer Äußerung in der richtigen Reihenfolge. Der Sprecher wird durch
-78-
BAD ORIGINAL
A 45 325 b
k - 176 - 78 -
28. September 1982
einen Aufschrieb (script) veranlasst, die angegebene Wortfolge zu sprechen, und der Erkennungsprozessor
nimmt nur bezug auf die Mehrfach-Schablone und die Pausenschablone. Die Wortgrenzen- und Referenzmuster-Klassifizierung
ist dann für das gegebene Script und .die verfügbaren Bezugsmuster optimal. Ein Nachteil
dieses Verfahrens besteht darin, daß gegebenenfalls eine größere Anzahl von Durchlaufen durch das Trainings-Script
erforderlich ist.
.Wenn die höchst-mögliche Erkennungsgenauigkeit angestrebt
wird, ist es vorteilhaft, das Trainingsprogramm mit einem Satz von zuvor bestimmten sprecherunabhängigen
Bezugsmustern für - das zu erkennende Vokabular zu beginnen. Die sprecherunabhängigen Muster
werden dabei aus Phrasen gewonnen, die für die zu erkennenden Phrasen typisch sind und die zumindest
von einigen verschiedenen Sprechern gesprochen wurden. Dabei können die Wortgrenzen durch eine manuelle
Prüfung der aufgezeichneten Audioschwingungen bestimmt werden. Anschließend wird das gerade beschriebene
Zwei-Schritt-Verfahren angewandt, um die sprecherunabhängigen Muster zu gewinnen. Beim ersten Durchlauf
werden die Unterintervalle gleichmäßig bezüglich jedes Wortes aufgeteilt. Beim zweiten Durchlauf werden die
Unterintervalle so gewählt wie sie durch das Erkennungsverfahren unter. Verwendung der Bezugsmuster des ersten
Durchlaufs bestimmt werden. Bei jedem Durchlauf werden außerdem die Gesamt-Statistiken für alle Sprecher
-79-
A 45 325 b
k - 176 - 79 -
28. September 1982
abgeleitet. Zum Einüben des Systems .-auf einen bestimmten
Sprecher werden sprecherunabhängige Muster verwendet, als wenn sie das Ergebnis des ersten
Trainingsdurchlaufs wären. Nunmehr wird nur noch das Verfahren des zweiten Schrittes - möglicherweise
zweimal - ausgeführt.
Die Mindest-Verweilzeit (erforderlicheVerweilzeit) und
die Maximal-Verweilzeit (erforderliche plus optioneile
Verweilzeit) werden vorzugsweise während der Übungsvorgänge bestimmt. Bei einem bevorzugten Ausführungsbeispiel
der Erfindung wird das System unter Einsatz mehrerer Sprecher in der vorstehend beschriebenen
Weise trainiert. Außerdem werden im Verlauf der Übungen, wie oben beschrieben, durch den Erkennungsprozess automatisch
die Mustergrenzen in Übereinstimmung mit dem oben beschriebenen Verfahren bestimmt. Diese
Grenzen werden aufgezeichnet, und die Verweilzeiten für jedes, von dem System erkannte Schlüsselwort werden
gespeichert.
Am Ende eines Trainingsdurchlaufs werden die Verweilzeiten
für jedes Muster geprüft, und die minimalen und maximalen Verweilzeiten für das Muster werden
ausgewählt. Gemäß einer bevorzugten Ausführungsform der Erfindung wird ein Hystogramm bzw. Säulendiagramm
der Verweilzeit erzeugt, und die minimale und die maximale Verweilzeit werden auf die 25% bzw. die 75%-Linien
gelegt. Auf diese Weise wird eine hohe
-80-
A 45 325 b
k - 176 - 80 -
28. September 1982
Erkennungsgenauigkeit erreicht, während die Häufigkeit
von Fehlalarmen klein gehalten wird. Für die minimale und die maximale Verweilzeit können auch
andere Werte gewählt, werden, wobei stets ein Konipromiss
zwischen der Erkennungsgenauigkeit und der Häufigkeit eines Fehlalarms zu treffen ist. Wenn eine
niedrige Mindestverweilzeit und eine hohe maximale Verweilzeit gewählt werden, dann wird die höhere Erkennungsgenauigkeit,
also im allgemeinen auf Kosten einer entsprechend größeren Häufigkeit von Fehlalarmen,
erreicht.
Die Verkettung von zwei oder mehr speziellen Wortschablonen ist ein triviales Beispiel für eine Syntaxsteuerung
des Entscheidungsprozesses. Gemäß Fig. 9 umfasst eine Syntaxschaltungsanordnung 30 8 zum Erfassen
von .'Wortfolgen mit einer ungeraden Anzahl (1,3,5,7...) von Worten zwei unabhängige Sätze von
Musterausrichtregistern 310, 312, die für. jedes Vokabularwort
vorgesehen sind. Die Eingangsgröße für die erste Schablone ist der Wert für eine Pause oder
der beste Wert aus dem Satz von zweiten Schablonen, und zwar Je-'.nachdem, welcher Wert besser ist. Die
Eingangsgröße für die zweite Schablone ist der beste Wert vom ersten Satz von Schablonen. Dieser Wert
wird außerdem einer zweiten Pausendetektorschablone
-81-
A 45 325 b
k - 176 - 81 -
28. September 1982
am Knoten 313 zugeführt. Bei der Ermittlung einer Pause am Ende der Äußerung gemäß der Messung der Detektorschablone
am Knoten 313 können die Marken (label) und die Zeiten für die geäußerten Worte
alternierend von den Rückwärtsverfolgungs-Pufferspeichern
des ersten Satzes und des zweiten Satzes von Schablonen zurückverfolgt werden. Wichtig ist, daß
die Position der Pausendetektorschablone gewährleistet, daß nur eine Pause bzw. die Stille nach Wortfolgen
mit einer ungeraden Anzahl von Worten erfasst werden kann.
Etwas kompliziertere Syntax-Netzwerke können realisiert werden, indem man jedem Syntax-Knoten, wie z.B.
den Knoten 313a und 3T3b in Fig. 9, eine Liste von
zulässigen Wortkettenlängen zuordnet. Beispielsweise kann in dem Syntax-Netzwerk gemäß Fig. 9, welches
jede Kette akzeptiert, die eine ungerade Anzahl von Worten enthält, die Kettenlänge auf eine bestimmte
ungerade Zahl, beispielsweise auf 5, festgelegt werden, indem man die Kettenlänge am Eingang zum zweiten
Pausenregister 313a prüft. Wenn die Länge der Kette an diesem Punkt nicht 5 ist, wird das Register (für
das laufende Analysier-Intervall) inaktiv,und es kann
kein Kettenergebnis aus diesem Register ausgelesen werden. Wenn die Kettenlänge jedoch 5 ist, kann eine
Kettenerkennung gemeldet werden. In entsprechender Weise kann da.s erste Vokabularregister 310 freigegeben
werden, wenn die Kettenlänge 0, 2 oder 4 beträgt,
■82-
A 45 325 b
k J- 176 - 82 -
28. September 1982
während das zweite Register nur freigegeben wird, wenn
die Länge der ankommenden Kette 1 oder 3 ist. Obwohl
die optimalen Ergebnisse für eine 5-Wort-Kette den Einsatz
von fünf vollständigen Sätzen von dynamischen Programmierakkumulatoren erforderlich machen würden,
ermöglicht, dieses Verfahren den Einsatz einer geringeren Anzahl von Akkumulatoren, die mehrfach verwendet
werden, wobei lediglich eine geringfügige Reduzierung der typischen.Erkennungsgenauigkeit eintritt.
-83-
A 45 325 b
k - 176 - 83 -
28. September 1982
Das realisierte, nach dem Spracherkennungsverfahren
arbeitende System
Wie oben ausgeführt, wurde ein bevorzugtes Ausführungsbeispiel der Erfindung entwickelt, bei dem die Signal-
und Datenmanipulation,soweit sie über die Vorverarbeitung
im Vorprozessor gemäß Fig. 2 hinausging, mittels eines Rechners des Typs PDP-11 der Firma Digital
Equipment Corporation realisiert und gesteuert wurde, wobei dieser Rechner in Verbindung mit dem SpezialVektor-Rechnerprozessor
eingesetzt wurde, wie er beispielsweise in der US-PS 4 2 28 4 98 beschrieben ist.
Das erfindungsgemäße Verfahren kann nicht nur durch entsprechende Programmierung eines Rechners realisiert
werden, sondern auch durch den Einsatz entsprechender
Schaltungen.
Im Betrieb arbeitet das Gerät gemäß Fig. 10 nach dem
Verfahren der dynamischen Programmierung. Jede neue
Folge von Wahrscheinlichkeitswerten, d.h. jede Folge von Wahrscheinlichkeitswerten bezüglich jedem Bezugsmuster
in einer vorgegebenen Folge,die vom Rechner über die Leitungen 320 eintrifft, wird zu den vorhandenen
Werten in einem der Speicher 322 bzw. 324 addiert. Diese Speicher arbeiten, wie unten beschrieben,
alternierend unter Steuerung durch einen Syntax-Prozessor 308, der die Werte empfängt, die dem Ende
jedes möglichen Worts entsprechen bzw. unter Steuerung
-84-
A 45 325 b
k - 176 - 84 -
28. September 1982
durch ein Minimalwert-Register 326, welches die Aus-'
gangssignale der Speicher 322 und 324 in Abhängigkeit von dem gewählten Speicher und den nächsten Phonemsignalen
ersetzen kann bzw. unter Steuerung durch die übrigen Steuer- und Taktsignale.
Im Betrieb folgt die Schaltung den Regeln für das Auf-den-neuesten-Stand-bringen der Register, die den
einzelnen Kreisen in Fig..4 entsprechen, um bei der Erjcennung jeder Unterbrechung bzw. Pause einen Entscheidungsmechanismus
zu liefern, durch den die beste Anpassung erreicht werden kann.
Die Speicher 322 und 324 haben denselben Aufbau und sind alle 10 ms austauschbar, d.h. jedesmal, wenn
ein neuer Rahmen analysiert wird. Die Speicher enthalten eine Anzahl von 32-Bit-Worten, wobei die Anzahl
von 32-Bit-Worten der Gesamtzahl der Register (bzw. der Kreise in Fig. 4) entspricht, die mit den Worten
des Maschinenvokabulars verknüpft sind. Zunächst ist ein Speicher, beispielsweise der Speicher 322, mit
"schlechten" Wahrscheinlichkeitswerten gefüllt, d.h. mit Wahrscheinlichkeitswerten, die im vorliegenden
Fall einen großen Wert haben. Anschließend wird der Speicher 322 sequentiell in einer vorgegebenen Folge
ausgelesen, die der Folge der neuen Wahrscheinlichkeitswerte entspricht, die vom Vektor-Prozessor über
die Leitung 320 angeliefert werden, und die Werte werden dann in der nachstehend beschriebenen Weise
-85-
A 45 325 b
k - 176 - 85 -
28. September 1982
auf den neuesten Stand gebracht und neu in den anderen
Speicher, den Speicher 324, eingeschrieben. Während des nächsten 1O ms-Rahmens werden die nunmehr alten
Werte aus dem Speicher 324 ausgelesen, während die neuen Werte in den nunmehr anderen Speicher 322 eingeschrieben
werden. Diese Wechselfunktion dauert unter Steuerung durch den Syntax-Prozessor, durch das Minimalwert-Register
326 und durch andere Steuer- und Taktsignale an. Wie oben erwähnt, ist jedes Wort in den
Speichern 322. und 324 eine .32-Bifc-üiffer. Die niedrigwertigen
Bits, die Bits 0 bis 15, werden verwendet, um die akkumulierten Wahrscheinlichkeitswerte -zu
speichern. Außerdem werden die Bits 16 bis 23 verwertet, um die Phonemdauer aufzuzeichnen, während die Bits
24 bis 31 verwendet werden, um die Dauer der Wortzeiten in den Registern zu speichern.
Die ankommenden Wahrscheinlichkeitswerte vom Rechner werden für jede Rahmenzeit in einem Musterwertspeicher
328 gespeichert. Diese Information wird vom Rechner als eine Art "burst" mit einer sehr hohen Datenübertragungsgeschwindigkeit
ausgegeben und aus dem Musterwertspeicher mit einer niedrigeren Geschwindigkeit ausgelesen mit der die Schaltung gemäß Fig. 10 arbeitet.
Auf diese Weise werden die AusgangssignaIe
des ausgewählten Speichers 322 bzw. 324 über das ausgewählte Gatter 33.0 bzw. 332 an die Leitungen 334
angelegt, ohne daß zwischendurch eine Steuerung durch den Syntax-Prozessor oder das Minimalwert-Register
-86-
A 45 325 b
k - 176 - 86 -
28. September 1982
erfolgen würde. Die Leitungen 334 sind.rait Addierern
336, 338, 340 verbunden, die dazu dienen, den Wahrscheinlichkeitswert
und die Zählerstände für die Phonemdauer bzw. die Targetmusterdauer sowie für die
Wortdauer auf den neuesten Wert zu bringen. Auf diese Weise wird der Wahrscheinlichkeitswert, der dem Wert
für den vorangehenden Rahmen entspricht und aus einem der Speicher 322 bzw. 324 geliefert wird, von
dem Musterwertspeicher über die Leitungen 342 ausgegeben und zu dem alten Wahrscheinlichkeitswert addiert
und dann in dem Speicher - gespeichert, welcher nunmehr für das Einschreiben verwendet wird. Die Auswahl
des Speichers erfolgt dabei in Abhängigkeit vom Signalpegel auf den Leitungen 344. Gleichzeitig werden
die Zählerstände für die Wortdauer und die Phonemdauer um "eins" erhöht.
Auf diese Weise werden der Zählerstand für die Wortdauex·, der Zählerstand für die Phonemdauer und die
Wahrscheinlichkeitswerte normalerweise auf den neuesten Stand gebracht.
Die zwei Ausnahmen für die normale, vorstehend erläuterte
Regel für das Auf-den-neuesten-Stand-bringen der Daten entsprechen dem Beginn eines neuen Phonems
und dem Beginn eines neuen Wortes. 3ei einem Beginn eines neues Phonems, welcher nicht ein Beginn eines
neuen Wortes ist, wird der erste Speicher des Phonems nicht nach der üblichen Regel auf den neuesten Stand
gebracht. Stattdessen wird der Wahrscheinlichkeitswert
-87-
A 45 325 b
k - 176 - 87 -
28.September 1982
über die Leitung 34 2 zu dem Minimalwert des Registers für- die optionelle Verweilzeit für den vorangegangenen
Bezugsrahmen bzw. das vorangegangene Phonem bzw. dem Minimalwert im Register für die erforderliche Verweilzeit
für das letzte Phonem addiert. Dies wird unter Verwendung des Minimalwert-Registers 326 ausgeführt.
Das Ausgangssignal des Minimalwert-Registers stellt den Minimalwert für das frühere Phonem in der vorausgegangenen
Rahmenzeit dar. Dieser Wert wird dadurch erhalten, -daß man die Inhalte der Minimalwert-Register
ständig auf den neuesten Stand bringt, sobald ein neuer Minimalwert geliefert wird. Der neue Minimalwert wird-in das Minimalwert-Register geladen, indem
man das Vorzeichen-Bit des Ausgangssignals eines Subtraktions-Rechenelements
346 auswertet. Dieses Element 346 vergleicht den jeweils gespeicherten Minimalwert
mit dem neuen MinimaLwert aus dem gerade auf den neuesten Stand gebrachten Register. Das Minimalwert-Register
speichert außerdem den Wortdauer-Zählerstand und den Phonemdauer-Zählerstand, die dem Register mit
dem Minimalwert- entsprechen. All diese Informationen
werden über die Leitungen 334 beim Beginn eines neuen Phonems ausgegeben. Dieser Ausgabeprozess wird durch
die Verwendung eines Gatter-Elements 348 gesteuert/ welches beim Start eines neuen Phonems freigegeben
wird, wobei gleichzeitig Steuersignale an zwei Gatter 332 und 33ο gelegt werden, durch die diese Gatter
während des Beginns eines neuen Phonems gesperrt werden.
-88-
A 45 325 b
k - 176 - 88 -
28. SeDtember 1982
Der Syntax-Prozessor 308 wird dazu verwendet, das erste Register für das.erste Phonem für
ein neues Wort, auf den neuesten Stand zu bringen., und zwar mit dem besten Wert - unter Berücksichtigung der
Syntax - eines Wortes, welches im vorangehenden Rahmen endet. Wenn der Wert eines Registers, welches dem
ersten Register des ersten Phonems eines neuen Wortes entspricht, durch einen eintreffenden Wahrscheinlichkeitswert
auf den neuesten Stand gebracht werden soll, wird nicht das Ausgangssignal eines .der Speicher 322,
32 4 verwendet. Stattdessen wird der beste Wahrscheinlichkeitswert,vorzugsweise
unter Berücksichtigung der Syntax, für die im vorangehenden Rahmen endenden Worte
verwendet. Diese Funktion wird ermöglicht, indem die Gatter 330 und 332 gesperrt werden und indem gleichzeitig
ein Gatter 350 freigegeben wird, um den besten verfügbaren Wert, der in einem Register 352 gespeichert
ist, auf die Leitungen 334 zu geben, damit dieser zu dem über die Leitungen 342 ankommenden Muster-Wahrscheinlichkeitswert
addiert wird.
Bei dieser, durch Schaltungen {statt durch Programme)
realisierten Ausfuhrungsform wird daher jedes Register,
gemäß einer Verweilzeit eines Bezugsrahmens, kontinuierlich auf den neuesten Stand gebracht. Der
Syntax-Prozessor ist so.ausgelegt, daß er, wenn
die Wahrscheinlichkeitswerte ein "Pausen"-Wort darstellen, die erforderlichen Steuersysteme bereitstellt,
um eine Schaltung oder einen Rechner zu befähigen,
A 45 325 b
k - 176 - 89 -
28. September 1982
eine Rückwärtsverfolgung durchzuführen, um die erkannten
Orte, zu bestimmen.
Aus Vorstehendem wird deutlich, daß die verschiedenen Ziele der Erfindung erreicht werden und daß weitere
vorteilhafte Ergebnisse erreicht werden.
Dabei versteht es sich, daß das Verfahren und die Vorrichtung,
welche vorstehend zur. kontinuierlichen Spracherkennung bei Wortketten beschrieben wurden, auch die
spezielle Anwendungsmöglichkeit einer isolierten Spracherkennung umfassen. Weiter versteht es sich, daß dem
Fachmann, ausgehend von den beschriebenen Ausführungsbeispielen,
zahlreiche Möglichkeiten für Änderungen, Vereinfachungen und/oder Ergänzungen zu Gebote stehen,
ohne daß er dabei den Grundgedanken der Erfindung verlassen müsste.
Claims (19)
- HOEGER1 STELLRECHf &/pX'RTNER 3236832PATENTANWÄLTE UHLANDSTRASSE 14 c · D 7000 STUTTGART 1A 45 325 bk - 17628. September 1982PatentansprücheVerfahren zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem Audiosignal, bei welchem jedes Schlüsselwort in charakteristischer Weise durch eine Schablone mit mindestens einem Zielmuster dargestellt ist, bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt und bei dem jedem Zielmuster mindestens eine einer erforderlichen Verweilzeit zugeordnete-Position und mindestens eine einer optionellen Verweilzeit zugeordnete Position zugeordnet sind, gekennzeichnet durch folgende Verfahrensschritte:Man bildet während sich wiederholender Rahmenzeiten aus dem Audiosignal jeweils eine das Audiosignal· darstellende Folge von Rahmenmustern;man erzeugt ein numerisches Maß für die Ähnlichkeit jedes dieser Rahmenmuster mit jedem der Zielmuster;-2-A 45 325 bk - 176 - 2 -28. September 1982man akkumuliert für jedes der Zielmuster die Position für die erforderliche Verweilzeit und die optionelle Verweilzeit und unter Auswertung der numerischen Maße einen numerischen Wert, der die Übereinstimmung des gerade gebildeten Rahmenmusters mit der betreffenden Zielmuster-Verweilzeitposition darstellt undir.an erzeugt auf der Basis der numerischen Werte eine Erkennungsentscheidung, wenn in dem Audiosignal eine vorgegebene Folge auftritt.
- 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Akkumuliervorgang folgende Schritte umfasst:a) Man akkumuliert für jedes Zielmuster zweite und spätere Positionen für die erforderliche Verweilzeit und für jedes Zielmuster die Position für die optioneile Verweilzeit, die Summe des akkumulierten Wertes für die Verweilzeitposition für das vorangegangene Zielmuster und das augenblickliche numerische Maß, welches dem Zielmuster zugeordnet ist;b) man akkumuliert für jedes erste Schlüsselwort-Zielmuster die erste Position für die erforderliche Verweilzeit, die Summe des besten akkumulierten Wertes während der vorausgegangenen Rahmenzeit, die dem Ende eines-3-A 45 325 bk - 176 - 3 -28. September 1982Schlüsselwortes zugeordnet ist, und das laufende numerische Maß, welches dem ersten Schlüsselwort-Zielmuster zugeordnet ist, undc) man akkumuliert für die erste Position der erforderlichen Verweilzeit jedes anderen Zielmusters die Summe des am besten endenden akkumulierten Wertes für das vorausgegangene Zielmuster desselben Schlüsselwortes und das laufende numerische Maß, welches dem Zielmuster zugeordnet ist,
- 3. Verfahren nach Anspruch 2, dadurch .gekennzeichnet, daß man in Verbindung mit jeder Rahmenzeitposition die Identität und Dauer - in der Rahmenzeitposition - des Schlüsselwortes mit dem besten Wert und. ein gültiges Ende an jeder dieser Rahmenzeitpositionen speichert und daß der Entscheidungsschritt den Schritt der Rückwärtsverfolgung durch gespeicherte Schlüsselwort-Identitäts- und Dauerinformation zum Bestimmen jedes Schlüsselworts in einer Wortkette umfasst.
- 4. Verfahren nach Anspruch 3, gekennzeichnet durch den zusätzlichen Schritt, daß in Verbindung mit jedem akkumulierten Wert für jede Verweilzeitposition ein Wortdauerzählerstand gespeichert wird, der der Zeitpositionslänge des Schlüsselwortes entspricht, die dem akkumulierten Wert bei der Verweilzeitposition zugeordnet ist.A 45 325 bk - 176 - 4 -28. September 1982
- 5. Verfahren nach. Anspruch 4, gekennzeichnet durch den zusätzlichen Verfahrensschritt/ daß in Verbindung mit jedem akkumulierten Wert für jede Verweilzeitposition ein Zielmusterdauerzählerstand gespeichert wird, der der Positionsfolge der Verweilzeitposition in dem Zielmuster entspricht.
- 6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, · daß die Entscheidungserzeugungs- und Akkumulierschritte die Steuerung der Übertragung akkumulierter Werte in Abhängigkeit von einem Syntaxerzeugungselement einschließen.
- 7. Gerät zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem Audiosignal, bei welchem jedes Schlüsselwort in charakteristischer Weise durch eine Schablone mit mindestens einem Zielmuster dargestellt ist, bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt und bei dem jedem Zielmuster mindestens eine einer erforderlichen Verweilzeit zugeordnete Position und.mindestens eine einer optioneilen Verweilzeit zugeordnete Position zugeordnet sind, zur Durchführung des Verfahrens nach.einem der Ansprüche 1 bis 6, gekennzeichnet durch folgende Merkmale:-5-A 45 325 bk - 176 - 5 -28. September 1982es sind Einrichtungen vorgesehen, mit deren Hilfe während sich wiederholender Rahmenzeiten aus dem Audiosignal jeweils eine das Audiosignal darstellende Folge von Rahmenmustern erzeugbar ist;es sind Einrichtungen vorgesehen/ mit deren Hilfe ein-numerisches Maß für die Ähnlichkeit jedes dieser Rahmenmuster mit jedem der Zielmuster erzeugbar ist/es sind Akkumuliereinrichtungen vorgesehen, mit deren Hilfe für jedes Zielmuster die Positionen für die erforderliche Verweilzeit und die optioneile Verweilzeit und unter Auswertung der numerischen. Maße ein numerischer Wert akkumulierbar ist, der die Übereinstimmung des gerade gebildeten Rahmenmusters mit der betreffenden Zielmuster-Verweilzeitposition darstellt, undes sind Einrichtungen vorgesehen, mit deren Hilfe auf der Basis der numerischen Werte eine Erkennungsentscheidung erzeugbar ist, wenn in dem Audiosignal eine vorgegebene Folge auftritt.
- 8. Gerät nach Anspruch 7, dadurch gekennzeichnet, daß Erkennungseinrichtungen zum Erkennen der vorgegebenen Folge in dem Audiosignal vorgesehen sind.—6 —• U # *A 45 325 bk - 176 - 6 -28. September 1982
- 9. Gerät nach Anspruch 8, dadurch gekennzeichnet, daß die vorgegebene Folge ein Pausen-Muster ist.
- 10. Gerät nach Anspruch 7, dadurch gekennzeichnet, daß die Akkumulationseinrichtungen folgende Elemente umfassen:a) erste Akkumulationseinrichtungen, mit deren Hilfe für jedes Zielmuster zweite und spätere Positionen für die erforderliche Verweilzeit und für jedes Zielmuster die Position für die optionelle Verweilzeit, die Summe des akkumulierten Wertes für die Verweilzeitposition für das vorangegangene Zählmuster und das augenblickliche numerische Maß akkumulierbar sind, welches dem Zielmuster zugeordnet ist;b) es sind zweite · Akkumuliereinrichtungen vorgesehen, mit deren Hilfe für jedes erste Schlüsselwort-Zielmuster die erste Position für die erforderliche Verweilzeit, die Summe des besten akkumulierten Wertes während der vorausgegangenen Rahmenzeit,, die dem Ende eines Schlüsselwortes zugeordnet ist., und das laufende numerische Maß akkumulierbar sind, welches dem ersten Schlüsselwort-Zielmuster zugeordnet ist;-7-A 45 325 bk - 176 - 7 -23. September T982c) es sind dritte Akkumulationseinrichtungen vorgesehen, mit deren Hilfe für die erste Position der erforderlichen Verweilzeit jedes anderen Zielmusters die Summe des am besten endenden akkumulierten Wertes für das vorangegangene Zielmuster desselben Schlüsselwortes und das laufende, numerische Maß akkumulierbar sind, welches dem Zielmuster zugeordnet ist.
- 11. Gerät nach Anspruch 10, dadurch gekennzeichnet, daß Speichereinrichtungen vorgesehen sind, mit deren Hilfe in Verbindung mit jeder Rahmenzeitposition die Identität und Dauer - in der Rahmenzeitposition - des Schlüsselwortes mit dem besten Wert und'ein gültiges Ende an jeder dieser Rahmenzeitpositionen speicherbar sind und daß Einrichtungen vorgesehen sind, mit deren Hilfe der Entscheidungserzeugungsschritt derart ausführbar ist, daß der Schritt der Rückwärtsverfolgung durch die gespeicherte Schlüsselwort-Identitäts- und Dauerinformation zum Bestimmen jedes Schlüsselworts in einer Wortkette umfasst wird.
- 12. Gerät nach Anspruch 11, dadurch gekennzeichnet, daß Speichereinrichtungen vorgesehen sind, mit deren Hilfe in Verbindung mit jedem akkumulierten Wert für jede Verweilzeitposition ein Wortdauerzählerstand, speicherbar ist, der der Zeitpositionslänge des Schlüsselwortes entspricht, die dem— 8—A 45 325 bk - 176 - 8 -28. September 1982akkumulierten Wert bei der Verweilzeitposition zugeordnet ist.
- 13. Gerät nach Anspruch 12, dadurch gekennzeichnet/ daß Speichereinrichtungen vorgesehen sind, mit deren Hilfe in Verbindung mit jedem akkumulierten Wert für jede Verweilzeitposition ein Zielmusterdauerzählerstand speicherbar ist, der der Positionsfolge der Verweilzeitposition in dem Zielmuster entspricht.
- 14. Gerät nach Anspruch I1. dadurch gekennzeichnet, daß die Entscheidungserzeugungseinrichtungen und die Akkumulationseinrichtungen derart ausgebildet sind, daß die Entscheidungserzeugungs- und Akkumulierschritte die Steuerung der Übertragung akkumulierter Werte in.Abhängigkeit von einem Syntax-Element einschließen.
- 15. Verfahren zur Sprachanalyse zum Erkennen.mindestens eines Schlüsselwortes in einem Audiosignal, insbesondere nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß man zur Nachbildung einer Pause in dem ankommenden. Audiosignal folgende Schritte ausführt:man überwacht die Amplitude vorgegebener, eine kurze. Zeit dauernder Teile des auszuwertenden Audiosignals während eines vorgegebenen Zeit--9-A 45 325 bk - 176 -'■ · - 9 -28. September 1982Intervalls, welches langer als etwa 1 s ist und man wählt einen Pausen- bzw. Hintergrundsgeräuschrahmen aus, indem man einen während der vorgegebenen Zeit auftretenden Rahmen minimaler Amplitude auswählt.
- 16. Verfahren zur Sprachanalyse nach Anspruch 15, bei dem jedes Schlüsselwort durch eine Schablone gekennzeichnet.ist, welche mindestens ein Zielmuster umfasst, wobei jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt, gekennzeichnet durch folgende Verfahrensschritte:a) man bildet während sich wiederholender Rahmenzeiten aus dem Audiosignal jeweils eine das Audiosignal darstellende Folge von Rahmenmustern undb) man prüft die Rahmen während des vorgegebenen Zeitintervalls und wählt einen der Rahmen als einen das Hintergrundgeräusch in dem auszuwertenden Audiosignal· darstellenden Rahmen aus.
- 17. Verfahren zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem. Audiosignal·, insbesondere nach einem der Ansprüche 1 bis 6,. dadurch gekennzeichnet, daß man zur Herbeiführung einer Kontro^e über ein. unbekanntes Audioeingangssignal folgende Schritte durchführt:-10-A 45 325 bk - 176 - 10 -28.September 1982man empfängt das Audioeingangssignal, und erzeugt jedesmal dann ein Ausgangssignal, wenn ein spezielles bekanntes Kontrollwort gefunden wird und man verwendet, das Ausgangssignal für dieses Kontrollwort , um., eine weitere Spracherkennungsverarbeitung des AudioeingangssignaIs zu bewirken.
- 18. Verfahren zur Sprachanalyse zum Erkennen mindestens eines Schlüsselwortes in einem Audiosignal, bei welchem.jedes. Schlüsselwort in charakteristischer Weise durch.eine Schablone, mit mindestens einem Zielmuster dangestellt ist, bei dem jedes Zielmuster mindestens ein Kurzzeit-Leistungsspektrum darstellt und bei dem jedem Zielmuster mindestens eine einer erforderlichen Verweilzeit, zugeordnete Position und mindestens eine einer optioneilen Verweilzeit zugeordnete Position zugeordnet sind, insbesondere.nach einem der Ansprüche 1 bis 6, gekennzeichnet durch folgende Verfahrensschritte:man unterteilt-.ein einem Schlüsselwort entsprechendes ankommendes Audiosignal in mehrere Unterintervalle;man erzwingt, daß jedes Unterintervall einem bestimmten Bezugsmuster entspricht;man wiederholt diese Schritte für mehrere Audioeingangssignale, die dasselbe Schlüsselwort darstellen;-11-A 45 325 bk - 176 - 11 -28. September 1982man erzeugt statistische Daten, welche die den einzelnen UnterIntervallen zugeordneten Referenzmuster beschreiben undman führt einen zweiten Durchgang durch die das Schlüsselwort darstellenden Audioeingangssignale durch und verwendet, die akkumulierten statistischen Daten, um aufgrund des Verfahrens erzeugte Unterintervalle für die Schlüsselworte zu erhalten.
- 19. Verfahren, nach Anspruch 18, dadurch gekennzeichnet, daß man die UnterintervalIe anfänglich derart wählt, daß sie zwischen dem Anfang und dem Ende eines Schlüsselworts des Audioeingangssignals gleichmäßiae Abstände voneinander aufweisen.-12-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/309,208 US4489435A (en) | 1981-10-05 | 1981-10-05 | Method and apparatus for continuous word string recognition |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3236832A1 true DE3236832A1 (de) | 1983-09-01 |
DE3236832C2 DE3236832C2 (de) | 1995-10-19 |
Family
ID=23197169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3236832A Expired - Fee Related DE3236832C2 (de) | 1981-10-05 | 1982-10-05 | Verfahren und Gerät zur Sprachanalyse |
Country Status (6)
Country | Link |
---|---|
US (1) | US4489435A (de) |
JP (2) | JPS58134699A (de) |
CA (1) | CA1182222A (de) |
DE (1) | DE3236832C2 (de) |
FR (1) | FR2520912B1 (de) |
GB (2) | GB2107101B (de) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60179797A (ja) * | 1983-10-27 | 1985-09-13 | 日本電気株式会社 | パタンマツチング装置 |
US5218668A (en) * | 1984-09-28 | 1993-06-08 | Itt Corporation | Keyword recognition system and method using template concantenation model |
US4718094A (en) * | 1984-11-19 | 1988-01-05 | International Business Machines Corp. | Speech recognition system |
US4811399A (en) * | 1984-12-31 | 1989-03-07 | Itt Defense Communications, A Division Of Itt Corporation | Apparatus and method for automatic speech recognition |
US5241649A (en) * | 1985-02-18 | 1993-08-31 | Matsushita Electric Industrial Co., Ltd. | Voice recognition method |
JPH0632012B2 (ja) * | 1985-03-25 | 1994-04-27 | 株式会社東芝 | 音声認識装置 |
US4820059A (en) * | 1985-10-30 | 1989-04-11 | Central Institute For The Deaf | Speech processing apparatus and methods |
EP0243479A4 (de) * | 1985-10-30 | 1989-12-13 | Central Inst Deaf | Sprachverarbeitungsanordnung und -verfahren. |
US4797929A (en) * | 1986-01-03 | 1989-01-10 | Motorola, Inc. | Word recognition in a speech recognition system using data reduced word templates |
US5023911A (en) * | 1986-01-10 | 1991-06-11 | Motorola, Inc. | Word spotting in a speech recognition system without predetermined endpoint detection |
JPS62232000A (ja) * | 1986-03-25 | 1987-10-12 | インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン | 音声認識装置 |
US4831550A (en) * | 1986-03-27 | 1989-05-16 | International Business Machines Corporation | Apparatus and method for estimating, from sparse data, the probability that a particular one of a set of events is the next event in a string of events |
US4882757A (en) * | 1986-04-25 | 1989-11-21 | Texas Instruments Incorporated | Speech recognition system |
US5159637A (en) * | 1988-07-27 | 1992-10-27 | Fujitsu Limited | Speech word recognizing apparatus using information indicative of the relative significance of speech features |
US5454062A (en) * | 1991-03-27 | 1995-09-26 | Audio Navigation Systems, Inc. | Method for recognizing spoken words |
US5592389A (en) * | 1990-12-03 | 1997-01-07 | Ans, Llp | Navigation system utilizing audio CD player for data storage |
US5748840A (en) * | 1990-12-03 | 1998-05-05 | Audio Navigation Systems, Inc. | Methods and apparatus for improving the reliability of recognizing words in a large database when the words are spelled or spoken |
JPH04362698A (ja) * | 1991-06-11 | 1992-12-15 | Canon Inc | 音声認識方法及び装置 |
US5199077A (en) * | 1991-09-19 | 1993-03-30 | Xerox Corporation | Wordspotting for voice editing and indexing |
US5379420A (en) * | 1991-12-26 | 1995-01-03 | Trw Inc. | High-speed data searching apparatus and method capable of operation in retrospective and dissemination modes |
WO1993018484A1 (en) * | 1992-03-10 | 1993-09-16 | Oracle Corporation | Method and apparatus for comparison of data strings |
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 |
US5671328A (en) * | 1992-12-30 | 1997-09-23 | International Business Machines Corporation | Method and apparatus for automatic creation of a voice recognition template entry |
US5615296A (en) * | 1993-11-12 | 1997-03-25 | International Business Machines Corporation | Continuous speech recognition and voice response system and method to enable conversational dialogues with microprocessors |
US5642444A (en) * | 1994-07-28 | 1997-06-24 | Univ North Carolina | Specialized image processing system architecture and method for image data arrays |
US5684925A (en) * | 1995-09-08 | 1997-11-04 | Matsushita Electric Industrial Co., Ltd. | Speech representation by feature-based word prototypes comprising phoneme targets having reliable high similarity |
US5825977A (en) * | 1995-09-08 | 1998-10-20 | Morin; Philippe R. | Word hypothesizer based on reliably detected phoneme similarity regions |
US5822728A (en) * | 1995-09-08 | 1998-10-13 | Matsushita Electric Industrial Co., Ltd. | Multistage word recognizer based on reliably detected phoneme similarity regions |
DE19540859A1 (de) * | 1995-11-03 | 1997-05-28 | Thomson Brandt Gmbh | Verfahren zur Entfernung unerwünschter Sprachkomponenten aus einem Tonsignalgemisch |
US5842161A (en) * | 1996-06-25 | 1998-11-24 | Lucent Technologies Inc. | Telecommunications instrument employing variable criteria speech recognition |
US5926652A (en) * | 1996-12-20 | 1999-07-20 | International Business Machines Corporation | Matching of wild card patterns to wild card strings associated with named computer objects |
US6122613A (en) * | 1997-01-30 | 2000-09-19 | Dragon Systems, Inc. | Speech recognition using multiple recognizers (selectively) applied to the same input sample |
US6092044A (en) * | 1997-03-28 | 2000-07-18 | Dragon Systems, Inc. | Pronunciation generation in speech recognition |
DE19723293A1 (de) * | 1997-06-04 | 1998-12-10 | Siemens Ag | Mustererkennungsverfahren |
JP4279909B2 (ja) * | 1997-08-08 | 2009-06-17 | ドーサ アドバンスズ エルエルシー | 音声認識装置における認識対象表示方式 |
US6272455B1 (en) * | 1997-10-22 | 2001-08-07 | Lucent Technologies, Inc. | Method and apparatus for understanding natural language |
US7085710B1 (en) * | 1998-01-07 | 2006-08-01 | Microsoft Corporation | Vehicle computer system audio entertainment system |
DE19804047C2 (de) * | 1998-02-03 | 2000-03-16 | Deutsche Telekom Mobil | Verfahren und Einrichtung zur Erhöhung der Erkennungswahrscheinlichkeit von Spracherkennungssystemen |
US6243678B1 (en) * | 1998-04-07 | 2001-06-05 | Lucent Technologies Inc. | Method and system for dynamic speech recognition using free-phone scoring |
US6393399B1 (en) | 1998-09-30 | 2002-05-21 | Scansoft, Inc. | Compound word recognition |
US20020069064A1 (en) * | 1999-02-08 | 2002-06-06 | Dejaco Andrew P. | Method and apparatus for testing user interface integrity of speech-enabled devices |
US7120582B1 (en) | 1999-09-07 | 2006-10-10 | Dragon Systems, Inc. | Expanding an effective vocabulary of a speech recognition system |
US6493667B1 (en) * | 1999-08-05 | 2002-12-10 | International Business Machines Corporation | Enhanced likelihood computation using regression in a speech recognition system |
JP3834169B2 (ja) * | 1999-09-22 | 2006-10-18 | 日本放送協会 | 連続音声認識装置および記録媒体 |
US6931292B1 (en) * | 2000-06-19 | 2005-08-16 | Jabra Corporation | Noise reduction method and apparatus |
US7080011B2 (en) * | 2000-08-04 | 2006-07-18 | International Business Machines Corporation | Speech label accelerators and techniques for using same |
US6832194B1 (en) * | 2000-10-26 | 2004-12-14 | Sensory, Incorporated | Audio recognition peripheral system |
JP2002149187A (ja) * | 2000-11-07 | 2002-05-24 | Sony Corp | 音声認識装置および音声認識方法、並びに記録媒体 |
DE10220524B4 (de) | 2002-05-08 | 2006-08-10 | Sap Ag | Verfahren und System zur Verarbeitung von Sprachdaten und zur Erkennung einer Sprache |
EP1363271A1 (de) | 2002-05-08 | 2003-11-19 | Sap Ag | Verfahren und System zur Verarbeitung und Speicherung von Sprachinformationen eines Dialogs |
AU2003280474A1 (en) * | 2002-06-28 | 2004-01-19 | Conceptual Speech, Llc | Multi-phoneme streamer and knowledge representation speech recognition system and method |
US20040064315A1 (en) * | 2002-09-30 | 2004-04-01 | Deisher Michael E. | Acoustic confidence driven front-end preprocessing for speech recognition in adverse environments |
US6960098B1 (en) * | 2004-07-13 | 2005-11-01 | Mei-Chuan Tseng | Pipe component pre-embedded socket structure |
US8175874B2 (en) * | 2005-11-17 | 2012-05-08 | Shaul Shimhi | Personalized voice activity detection |
US20080177536A1 (en) * | 2007-01-24 | 2008-07-24 | Microsoft Corporation | A/v content editing |
US8595642B1 (en) | 2007-10-04 | 2013-11-26 | Great Northern Research, LLC | Multiple shell multi faceted graphical user interface |
DE602008002726D1 (de) * | 2008-05-26 | 2010-11-04 | Ublox Ag | Verfahren zur Bearbeitung eines von einem analogen Eingangssignal eines GNSS-Empfängers abgeleiteten digitalen Signals, Basisbandschaltung eines GNSS-Empfängers zur Durchführung des Verfahrens und GNSS-Empfänger |
CN101887720A (zh) * | 2009-05-13 | 2010-11-17 | 鸿富锦精密工业(深圳)有限公司 | 声讯语义辨识系统及方法 |
US11024302B2 (en) * | 2017-03-14 | 2021-06-01 | Texas Instruments Incorporated | Quality feedback on user-recorded keywords for automatic speech recognition systems |
US10311874B2 (en) | 2017-09-01 | 2019-06-04 | 4Q Catalyst, LLC | Methods and systems for voice-based programming of a voice-controlled device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2347738A1 (de) * | 1972-09-21 | 1974-03-28 | Threshold Tech | Spracherkennungsverfahren und vorrichtung zur durchfuehrung desselben |
DE2659096A1 (de) * | 1975-12-29 | 1977-07-07 | Dialog Syst | Verfahren und vorrichtung zur spracherkennung |
DE2825186A1 (de) * | 1978-04-27 | 1979-11-08 | Dialog Syst | Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale |
DE2825082A1 (de) * | 1978-04-27 | 1979-11-08 | Dialog Syst | Verfahren zur spracherkennung |
DE2825110A1 (de) * | 1978-04-27 | 1979-11-08 | Dialog Syst | Verfahren zur erkennung kontinuierlicher sprachsignale |
US4228498A (en) * | 1977-10-12 | 1980-10-14 | Dialog Systems, Inc. | Multibus processor for increasing execution speed using a pipeline effect |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3816722A (en) * | 1970-09-29 | 1974-06-11 | Nippon Electric Co | Computer for calculating the similarity between patterns and pattern recognition system comprising the similarity computer |
US4059725A (en) * | 1975-03-12 | 1977-11-22 | Nippon Electric Company, Ltd. | Automatic continuous speech recognition system employing dynamic programming |
GB1557286A (en) * | 1975-10-31 | 1979-12-05 | Nippon Electric Co | Speech recognition |
JPS592040B2 (ja) * | 1976-08-24 | 1984-01-17 | 日本電信電話株式会社 | 音声認織装置 |
US4107460A (en) * | 1976-12-06 | 1978-08-15 | Threshold Technology, Inc. | Apparatus for recognizing words from among continuous speech |
US4156868A (en) * | 1977-05-05 | 1979-05-29 | Bell Telephone Laboratories, Incorporated | Syntactic word recognizer |
US4301329A (en) * | 1978-01-09 | 1981-11-17 | Nippon Electric Co., Ltd. | Speech analysis and synthesis apparatus |
JPS5525150A (en) * | 1978-08-10 | 1980-02-22 | Nec Corp | Pattern recognition unit |
JPS597120B2 (ja) * | 1978-11-24 | 1984-02-16 | 日本電気株式会社 | 音声分析装置 |
US4238597A (en) * | 1979-04-26 | 1980-12-09 | General Electric Company | Process for producing copolyester-carbonates |
JPS56116148A (en) * | 1980-02-15 | 1981-09-11 | Nec Corp | Audio typewriter |
JPS57174093A (en) * | 1981-04-21 | 1982-10-26 | Syst Nogyo Center:Kk | Methane fermentation method and apparatus |
-
1981
- 1981-10-05 US US06/309,208 patent/US4489435A/en not_active Expired - Lifetime
-
1982
- 1982-09-21 GB GB08226886A patent/GB2107101B/en not_active Expired
- 1982-09-21 GB GB08501044A patent/GB2159997B/en not_active Expired
- 1982-10-04 FR FR8216619A patent/FR2520912B1/fr not_active Expired
- 1982-10-05 JP JP57174094A patent/JPS58134699A/ja active Pending
- 1982-10-05 CA CA000412843A patent/CA1182222A/en not_active Expired
- 1982-10-05 DE DE3236832A patent/DE3236832C2/de not_active Expired - Fee Related
-
1991
- 1991-09-26 JP JP3317576A patent/JPH0736475A/ja active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2347738A1 (de) * | 1972-09-21 | 1974-03-28 | Threshold Tech | Spracherkennungsverfahren und vorrichtung zur durchfuehrung desselben |
DE2659096A1 (de) * | 1975-12-29 | 1977-07-07 | Dialog Syst | Verfahren und vorrichtung zur spracherkennung |
US4038503A (en) * | 1975-12-29 | 1977-07-26 | Dialog Systems, Inc. | Speech recognition apparatus |
US4228498A (en) * | 1977-10-12 | 1980-10-14 | Dialog Systems, Inc. | Multibus processor for increasing execution speed using a pipeline effect |
DE2825186A1 (de) * | 1978-04-27 | 1979-11-08 | Dialog Syst | Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale |
DE2825082A1 (de) * | 1978-04-27 | 1979-11-08 | Dialog Syst | Verfahren zur spracherkennung |
DE2825110A1 (de) * | 1978-04-27 | 1979-11-08 | Dialog Syst | Verfahren zur erkennung kontinuierlicher sprachsignale |
US4227177A (en) * | 1978-04-27 | 1980-10-07 | Dialog Systems, Inc. | Continuous speech recognition method |
US4227176A (en) * | 1978-04-27 | 1980-10-07 | Dialog Systems, Inc. | Continuous speech recognition method |
US4241329A (en) * | 1978-04-27 | 1980-12-23 | Dialog Systems, Inc. | Continuous speech recognition method for improving false alarm rates |
Also Published As
Publication number | Publication date |
---|---|
GB2107101B (en) | 1986-01-15 |
GB2159997B (en) | 1986-05-29 |
US4489435A (en) | 1984-12-18 |
DE3236832C2 (de) | 1995-10-19 |
JPS58134699A (ja) | 1983-08-10 |
FR2520912A1 (fr) | 1983-08-05 |
GB2159997A (en) | 1985-12-11 |
GB8501044D0 (en) | 1985-02-20 |
FR2520912B1 (fr) | 1987-02-27 |
CA1182222A (en) | 1985-02-05 |
JPH0736475A (ja) | 1995-02-07 |
GB2107101A (en) | 1983-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3236832C2 (de) | Verfahren und Gerät zur Sprachanalyse | |
DE3236834C2 (de) | Verfahren und Gerät zur Sprachanalyse | |
DE3236885A1 (de) | Verfahren und geraet zur sprachanalyse | |
DE69430082T2 (de) | Verfahren und Vorrichtung zur Sprachdetektion | |
DE3783154T2 (de) | Spracherkennungssystem. | |
DE69010941T2 (de) | Verfahren und Einrichtung zur automatischen Bestimmung von phonologischen Regeln für ein System zur Erkennung kontinuierlicher Sprache. | |
DE3878001T2 (de) | Spracherkennungseinrichtung unter anwendung von phonemermittlung. | |
DE60124842T2 (de) | Rauschrobuste Mustererkennung | |
DE2659083C2 (de) | Verfahren und Vorrichtung zur Sprechererkennung | |
DE69420842T2 (de) | Spracherkennung unter anwendung einer zweidurchgängigen suchmethode | |
DE2613258C2 (de) | Schaltungsanordnung zum Erkennen von einem oder mehreren Schlüsselworten in kontinuierlicher Sprache | |
DE2753277C2 (de) | Verfahren und Einrichtung zur Spracherkennung | |
DE69421911T2 (de) | Spracherkennung mit pausedetektion | |
DE2825110A1 (de) | Verfahren zur erkennung kontinuierlicher sprachsignale | |
DE2659096C2 (de) | ||
DE69416670T2 (de) | Sprachverarbeitung | |
DE2825082A1 (de) | Verfahren zur spracherkennung | |
DE2825186A1 (de) | Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale | |
DE602005000603T2 (de) | Verfahren zur Bestimmung von Wahrscheinlichkeitsparametern für ein veränderliches Zustandsraummodell | |
CN110910283A (zh) | 生成法律文书的方法、装置、设备和存储介质 | |
DE2918533A1 (de) | Spracherkennungssystem | |
DE69920047T2 (de) | Detektion von reiner sprache in einem audio signal, mit hilfe einer detektionsgrösse (valley percentage) | |
DE19942178C1 (de) | Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung | |
DE2636032C3 (de) | Elektrische Schaltungsanordnung zum Extrahieren der Grundschwingungsperiode aus einem Sprachsignal | |
DE60133537T2 (de) | Automatisches umtrainieren eines spracherkennungssystems |
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 |