DE19581667C2 - Spracherkennungssystem und Verfahren zur Spracherkennung - Google Patents

Spracherkennungssystem und Verfahren zur Spracherkennung

Info

Publication number
DE19581667C2
DE19581667C2 DE19581667T DE19581667T DE19581667C2 DE 19581667 C2 DE19581667 C2 DE 19581667C2 DE 19581667 T DE19581667 T DE 19581667T DE 19581667 T DE19581667 T DE 19581667T DE 19581667 C2 DE19581667 C2 DE 19581667C2
Authority
DE
Germany
Prior art keywords
neural networks
frames
speech recognition
data
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19581667T
Other languages
English (en)
Other versions
DE19581667T1 (de
Inventor
Shay-Ping Thomas Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of DE19581667T1 publication Critical patent/DE19581667T1/de
Application granted granted Critical
Publication of DE19581667C2 publication Critical patent/DE19581667C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/24Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (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)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)

Description

Die vorliegende Erfindung betrifft ein Spracherkennunssystem und ein Verfahren zur Spracherkennung der im Oberbegriff des Patentanspruchs 1 bzw. 10 genannten Art.
Ein derartiges Spracherkennungssystem und Verfahren zur Spracherkennung ist in der EP 574 951 A2 beschrieben. Dieses Spracherkennungssystem umfaßt einen Kennzeichenextrahierabschnitt, eine Vielzahl von neuronalen Netzwerken, einen Auswähler und eine Ausgabesteuereinheit. Der Kennzeichenextraktionsabschnitt empfängt analoge Sprachdaten, die in Rahmen aufgeteilt werden und wobei jeder Rahmen in einen Merkmalsvektor umgeformt wird. Jedes neuronale Netzwerk wurde auf ein Sprachmuster trainiert, wobei die Sprachmuster unterschiedliche Kennzei­ chen aufweisen. Jedes neuronale Netzwerk gibt einen Anpassungswert aus, der die Übereinstimmung des dem neuronalen Netzwerk gelernten Sprachmusters mit dem Sprachmuster der Sprachdaten angibt. Der Auswahlabschnitt erzeugt Auswahldaten, die das neuronale Netzwerk angeben, das den höchsten Anpassungswert aufweist.
Ein ähnliches Spracherkennungssystem und Verfahren zur Spracherkennung ist aus der FR 2 689 292 A1 bekannt. Dieses Spracherkennungssystem umfaßt unter anderem einen Vokalerkennungsschaltkries, basierend auf Markov-Ketten, einen Schaltkreis zur Durchführung einer zepstralen Analyse und ein oder mehrere neuronale Netz­ werke. Ein in ein Mikrofon gesprochenes Wort wird digitalisiert und in akustische Wellenmuster umgewandelt. Diese Wellenmuster werden dann mit für Referenzwor­ te charakteristische Daten in dem neuronalen Netz verglichen.
Ferner ist der Einsatz neuronaler Netzwerke zur automatischen Mustererkennung aus DE 39 16 478 A1 bekannt. Eine zweidimensionale Eingangsschicht wird in Seg­ mente unterteilt, wobei sich benachbarte Segmente teilweise überlappen. Jedes neuronale Element einer nachgeschalteten verborgenen Schicht wird aus einem gewichteten Summenwert der Amplituden eines Segments der Eingangsschicht ge­ bildet. Die verborgene Schicht wird dann zu einer eindimensionalen Ausgangs­ schicht vernetzt, wobei das Element der Ausgangsschicht, das den größten Sum­ menwert aufweist, dem zu erkennenden Muster entspricht.
Es ist die Aufgabe der Erfindung, ein Spracherkennungssystem und ein Verfahren zur Spracherkennung anzugeben, die Sprache von verschiedenen Sprechern erken­ nen und immun gegen Hintergrundlärm sind.
Diese Aufgabe wird gelöst durch die unabhängigen Ansprüche 1 und 10.
Bevorzugte Ausführungsformen sind Gegenstand der Unteransprüche.
Ein Vorteil der Erfindung besteht darin, für Echtzeitanwendungen geeignet zu sein.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, ein Spracherken­ nungssystem und ein Verfahren zur Spracherkennung zu bieten, das kein wie­ derholtes Training erfordert.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, ein Spracherken­ nungssystem und ein Verfahren zur Spracherkennung zu bieten, das ein globales Minimum bei jedem vorgegebenen Satz von Eingangsvektoren erreicht.
Ein nochmals weiterer Vorteil der vorliegenden Erfindung besteht darin, eine Spra­ cherkennungssystem und ein Verfahren zur Spracherkennung zu bieten, das zu einer starken Verminderung der Berechnungskomplexität führt.
Im folgenden wird eine bevorzugte Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Dabei zeigen:
Fig. 1 ein Kontextblockdiagramm eines Spracherkennungssystems zeigt.
Fig. 2 ein konzeptuelles Diagramm eines Spracherkennungssy­ stems, gemäß einer bevorzugten Ausführungsform der vorlie­ gende Erfindung zeigt.
Fig. 3 ein Flußdiagramm eines Verfahrens zum Betreiben des in Fig. 2 dargestellten Spracherkennungssystems zeigt.
Fig. 4 Dateneingaben und Datenausgaben eines Teile-und-Herr­ sche-Algorithmuses einer bevorzugten Ausführungsform der vor­ liegenden Erfindung zeigt.
Fig. 5 ein Flußdiagramm eines Verfahrens zur Ausführung eines Teile-und-Herrsche-Algorithmuses einer bevorzugten Ausfüh­ rungsform der vorliegenden Erfindung zeigt.
Fig. 6 ein Flußdiagramm eines Verfahrens zum Training eines neuralen Netzes zur Erkennung von Sprache gemäß einer bevor­ zugten Ausführungsform der vorliegenden Erfindung zeigt.
GENAUE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
Fig. 1 zeigt ein kontextuelles Blockdiagramm eines Spracher­ kennungssystems, gemäß der vorliegenden Erfindung. Das System umfaßt ein Mikrofon 1 oder eine äquivalente Vorrichtung zum Empfang einer Audioeingabe in Form einer Spracheingabe und zur Umwandlung des Schalls in elektrische Energie, eine Vor­ verarbeitungsschaltung 3, die elektrische Signale von einem Mikrofon 1 empfängt und verschiedene Aufgaben, wie die Wel­ lenformabtastung, die Analog-zu-Digital (A/D) Wandlung, die zepstrale Analyse, etc. vornimmt und einem Computer 5, der eine Programm zur Erkennung von Sprache auswertet und somit ein Ausgangssignal erzeugt, das die erkannte Sprache identi­ fiziert.
Der Betrieb des Systems beginnt, wenn ein Benutzer in das Mi­ krofon 1 spricht. In einer bevorzugten Ausführungsform wird das in Fig. 1 dargestellte System für die isolierte Worter­ kennung verwendet. Eine isolierte Worterkennung findet statt, wenn eine Person, die in das Mikrofon spricht, wahrnehmbare Pausen zwischen jedem Wort macht.
Wenn ein Sprecher ein Wort ausspricht, so erzeugt das Mikro­ fon 1 ein Signal, das die akustische Wellenform des Wortes darstellt. Dieses Signal wird dann zur Vorverarbeitungsschal­ tung 3 gegeben für eine Digitalisierung mittels eines (nicht gezeigten) A/D-Wandlers. Das digitalisierte Signal wird dann einer zepstralen Analyse unterzogen, ein Verfahren einer Merkmalsextraktion, das auch durch die Vorverarbeitungsschal­ tung 3 durchgeführt wird. Der Computer 5 empfängt die Ergeb­ nisse der zepstralen Analyse und verwendet die Ergebnisse, um die Identität des gesprochenen Wortes zu bestimmen.
Das Folgende ist eine detailliertere Beschreibung der Vorver­ arbeitungsschaltung 3 und des Computers 5. Die Vorverarbei­ tungsschaltung 3 kann eine Kombination von Hardware- und Softwarekomponenten aufweisen, um ihre Aufgaben durchzufüh­ ren. Beispielsweise kann die A/D Wandlung durch eine spezia­ lisierte integrierte Schaltung durchgeführt werden, während die zepstrale Analyse durch Software durchgeführt werden kann, die auf einem Mikroprozessor ausgeführt wird.
Die Vorverarbeitungsschaltung 3 umfaßt eine passende Vorrich­ tung für die A/D Wandlung. Typischerweise ist das Signal vom Mikrofon 1 ein Analogsignal. Ein (nicht gezeigter) A/D Wand­ ler tastet die Signale vom Mikrofon 1 mehrere tausend Male pro Sekunde (beispielsweise zwischen 8000 und 14000 mal pro Sekunde in einer bevorzugten Ausführungsform) ab. Jede der Abtastungen wird dann in ein digitales Wort umgewandelt, wo­ bei die Länge des Wortes zwischen 12 und 32 Bit beträgt. Das digitalisierte Signal umfaßt eines oder mehrere der digitalen Worte. Fachleute werden verstehen, daß die Abtastrate und die Wortlänge des A/D Wandlers variieren kann und daß die oben angegebenen Zahlen keine Beschränkungen der Abtastrate oder der Wortlänge des A/D Wandlers, der in der vorliegenden Er­ findung eingeschlossen ist, bedeutet.
Die zepstrale Analyse oder die Merkmalsextraktion, die mit dem digitalisierten Signal durchgeführt wird, ergibt eine Darstellung des Signals, das die relevanten Merkmale der ge­ sprochenen Sprache kennzeichnet. Es kann als ein Datenvermin­ derungsverfahren angesehen werden, das die lebenden Kennzei­ chen der Sprache zurückhält und unerwünschte Interferenz von irrelevanten Eigenschaften des digitalisierten Signals elimi­ niert, um so das Entscheidungsverfahren des Computers 5 zu erleichtern.
Die zepstrale Analyse wird folgendermaßen durchgeführt. Als erstes werden die digitalen Abtastungen, die das digitali­ sierte Signal ausmachen, in eine Sequenz von Sätzen unter­ teilt. Jeder Satz umfaßt Abtastungen, die während eines Zeit­ intervalls fester Länge gewonnen wurden. Aus Illustrations­ gründen beträgt das Zeitintervall in einer bevorzugten Aus­ führungsform der vorliegenden Erfindung 15 Millisekunden. Wenn die Dauer eines gesprochenen Wortes beispielsweise 150 Millisekunden beträgt, wird die Schaltung 3 eine Sequenz von zehn Sätzen digitalisierter Abtastungen erzeugen.
Als nächstes wird eine lineare Vorhersageanalyse p.-ter Ord­ nung (üblicherweise p = 12 bis 14) auf jeden Satz von Abta­ stungen angewandt, um p Vorhersagekoeffizienten zu erzielen. Die Vorhersagekoeffizienten werden dann in Zepstralkoeffizi­ enten umgewandelt, wobei die folgende Rekursionformel ange­ wendet wird:
wobei c(n) den Vektor der Zepstralkoeffizienten darstellt, a(n) die Vorhersagekoeffizienten darstellt, 1 ≦ n ≦ p, p gleich der Zahl der Zepstralkoeffizienten ist, n einen ganz­ zahligen Index und k einen ganzzahligen Index darstellt. a(k) stellt den k-ten Vorhersagekoeffizienten und c(n-k) stellt den (n-k) ten Zepstralkoeffizienten dar.
Der Vektor der Zepstralkoeffizienten wird üblicherweise mit­ tels einem Sinusfensters der folgenden Form gewichtet:
α(n) = 1 + (L/2) sin(πn/L) Gleichung (2),
wobei 1 ≦ n ≦ p und L eine ganzzahlige Konstante ist, was den gewichteten Zepstralvektor C(n) ergibt, wobei
C(n) = c(n) α(n) Gleichung (3)
Diese Wichtung wird allgemein als zepstrales Anheben (cepstrum liftering) bezeichnet. Der Effekt dieses Anhebever­ fahrens besteht darin, die spektralen Spitzen im Spektrum der Sprachabtastung zu glätten. Es wurde auch herausgefunden, daß das zepstrale Anheben die bestehenden Variationen bei den ho­ hen und niedrigen Zepstralkoeffizienten unterdrückt und somit die Leistungsfähigkeit des Spracherkennungssystems beträcht­ lich verbessert.
Somit besteht das Ergebnis der zepstralen Analyse in einer Folge von geglätteten log Spektren, wobei jedes Spektrum ei­ nem diskreten Zeitintervall mit der Zeitdauer, während der das Wort gesprochen wurde, entspricht.
Die signifikaten Merkmale des Sprachsignals sind somit im Spektrum bewahrt. Für jedes Spektrum erzeugt die Vorverarbei­ tungsschaltung 3 jeweilige Datenrahmen, die Datenpunkte des Spektrums umfassen. Die Erzeugung eines Datenrahmens pro Spektrum ergibt eine zeitlich geordnete Sequenz von Datenrah­ men. Diese Sequenz wird an den Computer 5 gegeben.
In einer bevorzugten Ausführungsform enthält jeder Datenrah­ men zwölf Datenpunkte, wobei jeder der Datenpunkte den Wert des zepstral geglätteten Spektrums an einer speziellen Fre­ quenz enthält. Die Datenpunkte sind 32-Bit-Digitalsworte. Fachleute werden verstehen, daß die vorliegende Erfindung keine Grenzen bei der Zahl der Datenpunkte pro Rahmen oder der Bitlänge der Datenpunkte setzt. Die Zahl der Datenpunkte, die im Datenrahmen enthalten ist, kann zwölf oder eine andere passende Zahl betragen, während die Datenpunktbitlänge 32 Bits, 16 Bits oder jeden anderen Wert annehmen kann.
Die wesentliche Funktion des Computer 5 besteht darin, die Identität des Wortes, das gesprochen wurde, zu bestimmen. In einer bevorzugten Ausführungsform der vorliegenden Erfindung kann der Computer 5 ein Aufteilungsprogramm zur Manipulation der Sequenz von Datenrahmen, eine Vielzahl neuraler Netze für das Berechnen polynomialer Erweiterungen und eine Auswahlvor­ richtung, die die Ausgabesignale der neuralen Netze verwen­ det, um das gesprochene Wort als ein bekanntes Wort zu klas­ sifizieren, enthalten. Weitere Details des Betriebs des Com­ puters 5 werden weiter unten gegeben.
Fig. 2 zeigt ein konzeptuelles Diagramm eines Spracherken­ nungssystems, gemäß einer bevorzugten Ausführungsform der vorliegende Erfindung.
In einer bevorzugten Ausführungsform erkennt das Spracherken­ nungssystem isoliert gesprochene Worte. Ein Mikrofon 1 em­ pfängt die Spracheingabe, von einer sprechenden Person und wandelt die Eingabe in elektrische Signale um. Die elektri­ schen Signale werden zur Vorverarbeitungsschaltung 3 gegeben.
Die Vorverarbeitungsschaltung 3 führt die obigen in Bezug auf Fig. 1 beschriebenen Funktionen durch. Die Schaltung 3 führt eine A/D Wandlung und eine zepstrale Analyse durch und die Schaltung 3 kann eine Kombination aus Hardware und Software­ komponenten umfassen, um ihre Aufgaben durchzuführen. Das Ausgabesignal der Vorverarbeitungsschaltung 3 nimmt die Form einer Sequenz von Datenrahmen an, die das gesprochene Wort darstellen. Jeder Datenrahmen umfaßt einen Satz von Daten­ punkten (32 Bit Worte), die einem diskreten Zeitintervall der Zeitdauer, während der das Wort gesprochen wurde, entspre­ chen. Das Ausgangssignal der Schaltung 3 wird an den Computer 5 gegeben.
Der Computer 5 kann ein digitaler Allzweckcomputer oder ein spezieller Computer sein. Der Computer 5 umfaßt geeignete Hardware und/oder Software für die Durchführung eines Teile- und-Herrsche-Algorithmuses 11. Der Computer 5 umfaßt ferner eine Vielzahl neuraler Netze, die durch das 1. neurale Netz 12, das 2. neurale Netz 13 und das N. neurale Netz 14 darge­ stellt werden. Das Ausgangssignal jedes neuralen Netzes 12, 13 und 14 wird in einem jeweiligen Akkumulator 15, 16 und 17 gegeben. Die Ausgabesignale der Akkumulatoren 15-17 werden in eine Auswahlvorrichtung 18 gegeben, deren Ausgangssignal das erkannte Sprachwort darstellt.
Der Teile-und-Herrsche-Algorithmus 11 empfängt die Sequenz der Datenrahmen von der Vorverarbeitungsschaltung 3 und er­ zeugt aus der Sequenz von Datenrahmen eine Vielzahl von Da­ tenblöcken. Im wesentlichen teilt der Algorithmus 11 die Se­ quenz von Datenrahmen in einen Satz von Datenblöcken, von de­ nen jeder einen Untersatz von Datenrahmen aus der Eingabese­ quenz umfaßt, auf. Die Details des Betriebs des Teile-und- Herrsche-Algorithmuses 11 werden im Abschnitt mit dem Titel "Teile-und-Herrsche-Algorithmus" beschrieben. Der erste Da­ tenblock umfaßt den ersten Datenrahmen und jeden vierten Da­ tenrahmen, der danach in der Sequenz von Datenrahmen auf­ taucht. Der zweite Datenblock umfaßt den zweiten Datenrahmen und jeden vierten Datenrahmen in der nachfolgenden Sequenz. Und so weiter, wobei aufeinanderfolgende Datenrahmen jedem der vier Datenblöcke der Reihe nach zugeordnet werden, bis jeder Datenblock die gleiche Anzahl Datenrahmen enthält. Wenn die Zahl der Datenrahmen nicht ausreicht, um es zu ermögli­ chen, daß jeder Block eine identische Anzahl von Datenrahmen umfaßt, so wird der letzte Datenrahmen in der Sequenz in die übrigbleibenden Datenblöcke kopiert, so daß jeder die gleiche Anzahl Datenrahmen enthält.
Eine Vorrichtung zur Verteilung der Datenblöcke wird verwen­ det, um die Datenblöcke von Algorithmus 11 zu den Eingängen der neuralen Netze 12, 13 und 14 zu übertragen. Der Reihe nach wird jeder Datenblöck gleichzeitig zu den neuralen Net­ zen 12, 13 und 14 übertragen. Während Fig. 2 nur drei neurale Netze im Spracherkennungssystem zeigt, wird ein Fachmann er­ kennen, daß eine beliebige Zahl neuraler Netze verwendet wer­ den kann, wenn eine spezielle Anwendung mehr oder weniger als die drei neuralen Netze benötigt.
Ein Fachmann wird erkennen, daß jedes neurale Netz eine Viel­ zahl von Neuronen umfaßt.
In einer bevorzugten Ausführungsform der vorliegenden Erfin­ dung kann jedes der neuralen Netze vorher trainiert worden sein, um einen spezifischen Satz Sprachphoneme zu erkennen.
Im allgemeinen umfaßt ein gesprochenes Wort ein oder mehrere Sprachphoneme.
Neurale Netze 12, 13 und 14 dienen als Klassifizierer, die bestimmten, welches Wort gesprochen wurde, basierend auf den Datenblöcken. Im allgemeinen nimmt ein Klassifizierer eine Entscheidung vor, zu welcher Klasse ein Eingabemuster gehört. In einer bevorzugten Ausführungsform der vorliegenden Erfin­ dung ist jede Klasse mit einem bekannten Wort gekennzeichnet und Datenblöcke werden aus einem vorbestimmten Satz gespro­ chenener Worte (dem trainierten Satz) erhalten und verwendet, um die Grenzen zwischen den Klassen zu bestimmen, Grenzen die die Erkennungsleistung für jede Klasse maximieren.
In einer bevorzugten Ausführungsform wird ein parametrisches Entscheidungsverfahren verwendet, um zu bestimmen, ob ein ge­ sprochenes Wort einer bestimmten Klasse zugehört. Mit diesem Verfahren berechnet jedes neurale Netz eine andere Diskrimin­ antenfunktion yj(X), wobei X = {x1, x2,...,xi} der Satz von Datenpunkten ist, die in einem Datenblock enthalten sind, i ein ganzzahliger Index und j ein ganzzahliger Index ist, der dem neuralen Netz entspricht. Beim Emfpangen eines Daten­ blockes berechnen die neuralen Netze die jeweiligen Diskrimi­ nantenfunktionen. Wenn die Diskriminantenfunktion, die durch eine spezielle neurales Netz berechnet wird, größer als die Diskriminantenfunktion jedes der anderen Netze ist, dann ge­ hört der Datenblock zur speziellen Klasse, die dem neuralen Netz entspricht.
Mit anderen Worten, jedes neurale Netz definiert eine andere Klasse; somit erkennt jedes neurale Netz ein anderes Wort. Beispielsweise kann das neurale Netz 12 trainiert sein, um das Wort "eins" zu erkennen, das neurale Netz 13 kann trai­ niert sein, um das Wort "zwei" zu erkennen, und so weiter. Das Verfahren zum Trainieren der neuralen Netze wird unten im Abschnitt mit dem Titel "Neurales Netz-Training" beschrieben. Die Diskriminantenfunktionen, die von den neuralen Netzen der vorliegenden Erfindung berechnet wurden, basieren auf der Verwendung einer polynomialen Erweiterung und im weiteren Sinn, der Verwendung einer orthogonalen Funktion, wie bei­ spielsweise Sinus, Cosinus, Exponential-/Logarithmusfunktion, Fourrier Transformation, Legendresches Polynom, nicht linea­ ren Basisfunktionen, wie beispielsweise der Volterra-Funktion oder einer radiale Basisfunktion oder dergleichen, oder einer Kombination der polynomialen Erweiterung und der orthogonalen Funktionen.
Eine bevorzugte Ausführungsform verwendet eine polynomiale Erweiterung, deren allgemeiner Fall durch Gleichung 4 wie folgt darstellt wird:
wobei xi die Koprozessoreingabegrößen darstellt und eine Funktion wie beispielsweise xi = fi(zj), wobei zj eine belie­ bige Variable ist und wobei die Indizes i und j irgendwelche positive ganze Zahlen sein können; wobei y das Ausgangssignal des neuralen Netzkoprozessors darstellt; wobei wi-1 das Ge­ wicht des i-ten Neurons darstellt, wobei g1i, ..., gni Aus­ blendfunktionen des i-ten Neurons darstellen und ganzzahlig sind, in einer bevorzugten Ausführungsform 0 oder größer, und n die Zahl der Koprozessoreingangsgrößen ist.
Jeder Term der Gleichung 4 drückt ein Neuronenausgangssignal aus und das Gewicht und die Ausblendfunktionen, die mit einem solchen Neuron verbunden sind. Die Zahl der Terme der polyno­ mialen Erweiterung, die in einem neuralen Netz verwendt wird, basiert auf einer Zahl von Faktoren, wie der Zahl der verfüg­ baren Neuronen, der Zahl der Trainingsbeispiele, etc. Es sollte verständlich sein, daß die Terme höherer Ordnung der polynomialen Erweiterung gewöhnlicherweise weniger Wichtig­ keit aufweisen als die Terme niedrigerer Ordnung. Somit wer­ den in einer bevorzugten Ausführungsform die Terme niedriger Ordnung gewählt, wenn immer das möglich ist, basierend auf den verschiedenen oben erwähnten Faktoren. Da auch die Ein­ heit der Messungen, die mit den verschiedenen Eingangsgrößen verbunden ist, variieren kann, kann es sein, daß die Ein­ gangsgrößen normiert werden müssen, bevor sie verwendet wer­ den.
Gleichung 5 ist eine alternative Darstellung der Gleichung 4, die Terme bis zur dritten Ordnung zeigt.
wobei die Variablen dieselbe Bedeutung wie in Gleichung 4 ha­ ben, und wobei f1(i) ein Indexfunktion im Bereich von n + 1 bis 2n; ist, f2(i,j) eine Indexfunktion im Bereich von 2n + 1 bis 2n + (n)(n - 1)/2 ist, und f3(i,j) im Bereich von 2n + 1 + (n) (n - 1)/2 bis 3n + (n) (n - 1)/2 liegt. Und f4 bis f6 in ähnlicher Weise dargestellt sind.
Fachleute werden erkennen, daß die Ausblendfunktionen in den Termen eingebettet sind, die durch Gleichung 5 ausgedrückt sind. Beispielsweise kann Gleichung 5 folgendermaßen darge­ stellt werden:
wobei die Variablen die gleiche Bedeutung wie in Gleichung 4 haben.
Es sollte angemerkt werden, daß obwohl die Ausblendfunktions­ terme gin explizit nur im letzten gezeigten Term der Glei­ chung 6 auftauchen, es verständlich sein sollte, daß jeder der anderen Terme seinen eigenen giN Term, der explizit ge­ zeigt ist (beispielsweise für w1x1 Term g12 = 1 und die anderen gi2 = 0, i = 2, 3, ..., n) aufweist. N ist irgendeine positive ganze Zahl und stellt das N-te Neuron im Netz dar.
Bei der vorliegenden Erfindung wird ein neurales Netz für je­ den Datenblock, den es empfängt, ein Ausgangssignal erzeugen. Da ein gesprochenes Wort durch eine Sequenz von Datenblöcken dargestellt werden kann, kann jedes neurale Netz eine Sequenz von Ausgangssignalen erzeugen. Um die Klassifizierleistung des Spracherkennungssystems zu vergrößen, wird jede Sequenz von Ausgangssignalen durch einen Akkumulator summiert.
Ein solcher Akkumulator ist mit dem Ausgang jedes neuralen Netzes verbunden. Wie oben unter Betrachtung der Fig. 2 be­ schrieben wurden, reagiert der Akkumulator 15 auf das Aus­ gangssignal vom neuralen Netz 12, der Akkumulator 16 reagiert auf das Ausgangssignal vom neuralen Netz 13 und der Akkumula­ tor 17 reagiert auf das Ausgangssignal vom neuralen Netz 14. Die Funktion eines Akkumulators besteht darin, die Sequenz von Ausgangssignalen eines neuralen Netzes aufzusummieren. Dies erzeugt eine Summe, die dem neuralen Netz entspricht, und somit entspricht die Summe einer Klasse, die mit einem bekannten Wort gekennzeichnet ist. Der Akkumulator 15 addiert jedes sukzessive Ausgangssignal vom neuralen Netz 12 zu einer Akkumulatorsumme und die Akkumulatoren 16 und 17 führen die gleiche Funktion für die neuralen Netze 13 beziehungsweise 14 durch. Jeder Akkumulator gibt seine Summe als ein Ausgangssi­ gnal aus.
Die Auswahlvorrichtung 18 empfängt die Summe von den Akkumu­ latoren entweder sequentiell oder gleichzeitig. Im ersten Fall empfängt die Auswahlvorrichtung 18 die Summen der Reihe nach von jedem der Akkumulatoren, beispielsweise indem sie zuerst die Summe vom Akkumulator 15 empfängt, dann die Summe vom Akkumulator 16 und so weiter; oder im zweiten Fall em­ pfängt die Auswahlvorrichtung 18 die Summe von den Akkumula­ toren 15, 16 und 17 gleichzeitig. Nach dem Empfang der Summe bestimmt die Auswahlvorrichtung 18 dann, welche Summe die größte ist und weist die entsprechende bekannte Wortmarke zu, das ist das erkannte Sprachwort, und gibt dies als Ausgangs­ signal des Spracherkennungssystems aus.
Fig. 3 zeigt ein Flußdiagramm eines Verfahrens zum Betreiben des in Fig. 2 dargestellten Spracherkennungssystems. Im Ka­ sten 20 wird ein gesprochenes Wort vom Benutzer durch das Mi­ krofon 1 empfangen und in ein elektrisches Signal umgewan­ delt.
Im Kasten 22 wird eine A/D Wandlung des Sprachsignals durch­ geführt. In einer bevorzugten Ausführungsform wird die A/D- Wandlung durch die Vorverarbeitungsschaltung 9 der Fig. 2 durchgeführt.
Als nächstes wird im Kasten 24 eine zepstrale Analyse des di­ gitalen Signals, das man von der A/D Wandlung erhält, durch­ geführt. Die zepstrale Analyse wird in einer bevorzugten Aus­ führungsform auch von der Vorverarbeitungsschaltung 9 der Fig. 2 durchgeführt. Die zepstrale Analyse erzeugt eine Se­ quenz von Datenrahmen, die die relevanten Merkmale des ge­ sprochenen Wortes beinhalten.
In einem Kasten 26 wird ein Teile-und-Herrsche-Algorithmus, dessen Schritte in Fig. 5 gezeigt sind, verwendet, um eine Vielzahl von Datenblöcken aus der Sequenz der Datenrahmen zu bilden. Der Teile-und-Herrsche-Algorithmus ist ein Verfahren der Aufteilung der Sequenz von Rahmen in einen Satz kleine­ rer, besser handhabbarer Datenblöcke.
Im Kasten 28 wird einer der Datenblöcke zu den neuralen Net­ zen übertragen. Vom Ausgangskasten 28 geht das Verfahren zum Kasten 30 weiter.
Im Kasten 30 verwendet jedes der neuralen Netze den Daten­ block beim Berechnen einer Diskriminantenfunktion, die auf einer polynomialen Erweiterung basiert. Eine andere Diskrimi­ nantenfunktion wird durch jedes neurale Netz berechnet und als Ausgangssignal ausgegeben. Die durch ein neurales Netz berechnete Diskriminantenfunktion wird vor dem Betreiben des Spracherkennungssystems berechnet, indem das Verfahren zum Trainieren des neuralen Netzes, wie es in Fig. 6 gezeigt ist, verwendet wird.
Im Kasten 32 wird das Ausgangssignal jedes neuralen Netzes zu einer Summe hinzuaddiert, wobei eine Summe für jedes neurale Netz erzeugt wird. Dieser Schritt erzeugt eine Vielzahl neuraler Netzsummen, wobei jede Summe einem neuralen Netz entspricht.
Im Entscheidungskasten 34 wird eine Überprüfung durchgeführt, um zu bestimmen, ob ein anderer Datenblock vorhanden ist, der an die neuralen Netze übertragen werden muß. Wenn dem so ist, so kehrt das Verfahren zum Kasten 28 zurück. Wenn dem nicht so ist, so geht das Verfahren zum Kasten 36 weiter.
Als nächstes bestimmt im Kasten 36 die Auswahlvorrichtung, welche neurale Netzsumme die größte ist, und weist die be­ kannte Wortkennzeichnung zu, die der Summe entspricht, als Ausgangssignal des Spracherkennungssystems.
TEILE-UND-HERRSCHE-ALGORITHMUS
Fig. 4 zeigt die Dateneingaben und Ausgaben eines Teile-und- Herrsche-Algorithmus einer bevorzugten Ausführungsform der vorliegenden Erfindung. Der Teile-und-Herrsche-Algorithmus ist ein Verfahren des Aufteilens der Sequenz von Datenrahmen in einen Satz kleinerer Datenblöcke. Die Eingangsgröße des Algorithmuses ist die Sequenz von Datenrahmen 38, die im dar­ gestellten Beispiel die Datenrahmen 51-70 umfassen. Die Se­ quenz der Datenrahmen 38 enthält Daten, die die relevanten Merkmale einer Sprachabtastung darstellen.
In einer bevorzugten Ausführungsform enthält jeder Datenrah­ men zwölf Datenpunkte, wobei jeder der Datenpunkte den Wert einer zepstral geglätteten spektralen Hüllkurve an einer spe­ ziellen Frequenz darstellt.
Die Datenpunkte sind digitale 32 Bit Worte. Jeder Datenrahmen entspricht einem diskreten Zeitintervall der Zeitdauer, wäh­ rend der die Sprachabtastung gesprochen wurde.
Fachleute werden erkennen, daß die vorliegende Erfindung bei der Zahl der Datenpunkte pro Rahmen oder der Bitlänge der Da­ tenpunkte keine Begrenzungen aufstellt; die Zahl der Daten­ punkte, die in einem Datenrahmen enthalten sind, kann zwölf oder irgendeine andere Anzahl betragen, während die Daten­ punktbitlänge 32 Bits, 16 Bits oder einen anderen Wert anneh­ men kann.
Zusätzlich können die Datenpunkte verwendet werden, um andere Daten als die Werte von einer zeptstral geglätteten spektra­ len Hüllkurve darzustellen. Beispielsweise kann in verschie­ denen Anwendungen jeder Datenpunkt eine spektrale Amplitude an einer speziellen Frequenz darstellen.
Der Teile-und-Herrsche-Algorithmus 11 empfängt jeden Rahmen der Sprachabtastung sequentiell und weist den Rahmen einem von mehreren Datenblöcken zu. Jeder Datenblock umfaßt einen Untersatz von Datenrahmen aus der Eingangssequenz der Rahmen. Datenblöcke 42, 44, 46 und 48 werden durch den Teile-und- Herrsche-Algorithmus 11 ausgegeben. Obwohl Fig. 4 den Algo­ rithmus zeigt, wie er nur vier Datenblöcke erzeugt, ist der Teile-und-Herrsche-Algorithmus 11 nicht auf die Erzeugung von nur vier Datenblöcken beschränkt und kann verwendet werden, um entweder mehr oder weniger als vier Blöcke zu erzeugen.
Fig. 5 zeigt ein Flußdiagramm eines Verfahrens zur Ausführung eines Teile-und-Herrsche-Algorithmuses einer bevorzugten Aus­ führungsform der vorliegenden Erfindung. Der Teile-und-Herr­ sche-Algorithmus teilt eine Sequenz von Datenrahmen in einen Satz von Datenblöcken gemäß der folgenden Schritte auf.
Wie im Kasten 75 dargestellt ist, wird zuerst die durch den Algorithmus zu erzeugenden Zahl von Datenblöcken berechnet. Die Zahl der zu erzeugenden Datenblöcke wird auf die folgende Art erzeugt. Als erstes werden die Zahl der Rahmen per Daten­ block und die Zahl der Rahmen in der Sequenz empfangen. So­ wohl die Zahl der Blöcke als auch die Zahl der Rahmen sind ganze Zahlen. Als zweites wird die Zahl der Rahmen durch die Zahl der Rahmen pro Block geteilt. Als nächstes wird das Er­ gebnis der Division aufgerundet auf die nächste ganze Zahl, was die Zahl der Datenblöcke ergibt, die vom Teile-und-Herr­ sche-Algorithmus erzeugt werden muß. Beim Ausgangskasten 75 geht das Verfahren zum Kasten 77 weiter.
Im Kasten 77 wird der erste Rahmen der Sequenz von Rahmen gleich gesetzt einer Variablen, die aktueller Rahmen genannt wird. Ein Fachmann wird erkennen, daß der aktuelle Rahmen entweder durch eine Software-Variable oder als Hardware in Form eines Registers oder einer Speichervorrichtung darge­ stellt werden kann.
Als nächstes wird im Kasten 79 eine aktuelle Blockvariable gleich dem ersten Block gesetzt. In der Software kann der ak­ tuelle Block eine Software-Variable sein, die einen Daten­ block darstellt. Bei einer Hardware-Implementiertung kann der aktuelle Block aus einem oder mehreren Registern oder Spei­ chervorrichtungen bestehen. Nachdem der aktuelle Block dem ersten Block gleichgesetzt wurde, wird der aktuelle Rahmen dem aktuellen Block zugewiesen. Das Verfahren geht dann zum Entscheidungskasten 81.
Als nächstes wird, wie das durch den Entscheidungskasten 81 dargestellt ist, eine Überprüfung durchgeführt, um zu bestim­ men, ob es mehr Rahmen aus der Sequenz von Rahmen gibt, die bearbeitet werden müssen, oder nicht. Wenn dem so ist, geht das Verfahren zum Kasten 83 weiter. Wenn dem nicht so ist, so springt das Verfahren zum Kasten 91.
Im Kasten 83 wird der nächste Rahmen aus der Sequenz von Rah­ men empfangen und der aktuellen Rahmenvariablen gleichge­ setzt.
Im Kasten 85 wird die aktuelle Blockvariable dem nächsten Block gleichgesetzt und dann wird die aktuelle Rahmenvariable der aktuellen Blockvariablen zugewiesen. Nach dem Ausgangska­ sten 85 geht das Verfahren zum Entscheidungskasten 87.
Wie im Entscheidungskasten 87 dargestellt ist, geht das Ver­ fahren, wenn die aktuelle Blockvariable dem letzten Block entspricht, zum Kasten 89, ansonsten geht das Verfahren zum Kasten 81 zurück.
Im Kasten 89 wird der nächste Block dem ersten Block gleich­ gesetzt und nach dem Ausgangskasten 89 kehrt das Verfahren zum Entscheidungskasten 81 zurück.
Der Kasten 91 wird vom Entscheidungskasten 81 betreten. Im Kasten 91 wird eine Überprüfung durchgeführt, um zu bestim­ men, ob die aktuelle Blockvariable dem letzten Block gleich ist. Wenn dem so ist, endet das Verfahren. Wenn dem nicht so ist, wird der aktuelle Rahmen jedem der verbleibenden Daten­ blöcke zugewiesen, die auf den aktuellen Block folgen, bis zum einschließlich letzten Block, wie oben bei der Beschrei­ bung der Fig. 2 erläutert wurde.
TRAININGSALGORITHMUS
Das Spracherkennungssystem der vorliegenden Erfindung hat zwei prinzipielle Betriebsarten: (1) eine Trainingsbetriebs­ art, in welcher Beispiele von gesprochenen Worten verwendet werden, um die neuralen Netze zu trainieren, und (2) eine Er­ kennungsbetriebsart, in der unbekannte gesprochene Worte identifiziert werden. Bezieht man sich auf Fig. 2, muß der Benutzer ganz allgemein neurale Netze 12, 13 und 14 trainie­ ren, indem er in das Mikrofon 1 alle die Worte spricht, die das System erkennen soll. In einigen Fällen kann das Training auf mehrere Benutzer begrenzt sein, die jedes Wort einmal sprechen. Fachleute werden jedoch erkennen, daß das Training eine beliebige Zahl verschiedener Sprecher erfordern kann, die jedes Wort mehr als einmal aussprechen.
Damit ein neurales Netz verwendet werden kann, müssen die Ge­ wichte jeder Neuronschaltung bestimmt werden. Dies kann durch die Verwendung eines passenden Trainingsalgorithmuses gesche­ hen.
Bei der Implementierung eines neuralen Netzes der vorliegen­ den Erfindung wählt man allgemein die Zahl der Neuronen oder Neuronenschaltungen, die gleich oder kleiner als die Zahl der Trainingsbeispiele sein muß, die dem Netz präsentiert werden.
Ein Trainingsbeispiel ist definiert als ein Satz von gegebe­ nen Eingangsgrößen und gegebenen Ausgangsgrößen. In einer be­ vorzugten Auführungsform der vorliegenden Erfindung erzeugt jedes in das Mikrofon 1 der Fig. 2 gesprochene Wort minde­ stens ein Trainingsbeispiel.
Bei einer bevorzugten Ausführungsform der vorliegenden Erfin­ dung ist der für die neuralen Netze verwendete Trainingsalgo­ rithmus in Fig. 6 gezeigt.
Fig. 6 zeigt ein Flußdiagramm eines Verfahrens zum Training eines neuralen Netzes, damit es Sprache erkennen kann, gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Als erstes wird, betrachtet man Kasten 93, ein Beispiel eines bekannten Wortes in ein Mikrofon des Spracherkennungssystems gesprochen.
Im Kasten 95 wird eine A/D Wandlung des Sprachsignals durch­ geführt. Eine zepstrale Analyse des digitalen Signals, das aus der A/D Wandlung ausgegeben wird, wird durchgeführt. Die zepstrale Analyse erzeugt eine Sequenz von Datenrahmen, die die relevanten Merkmale des gesprochenen Wortes enthalten. Jeder Datenrahmen umfaßt zwölf 32 Bit Worte, die die Ergeb­ nisse der zepstralen Analyse eines Zeitschlitzes des gespro­ chenen Wortes darstellen. In einer bevorzugten Ausführungs­ form beträgt die Zeit des Zeitschlitzes 15 Millisekunden.
Fachleute werden verstehen, daß die vorliegende Erfindung keine Begrenzungen der Bitlänge der Worte in den Datenrahmen festlegt; die Bitlänge kann 32 Bits, 16 bits oder irgendeine andere Zahl betragen. Zusätzlich kann die Zahl der Worte pro Datenrahmen und die Dauer des Zeitschlitzes variieren, in Ab­ hängigkeit von der beabsichtigten Anwendung der vorliegenden Erfindung.
Als nächstes wird im Kasten 97 ein Teile-und-Herrsche-Algo­ rithmus (dessen Schritte in Fig. 5 gezeigt sind) verwendet, um eine Vielzahl von Blöcken aus der Sequenz der Datenrahmen zu erzeugen.
Im Kasten 99 wird einer der Blöcke, die durch den Teile-und- Herrsche-Algorithmus erzeugt wurden, ausgewählt. Der Ein­ gangsteil eines Trainingsbeispiels wird gleich dem ausgewäh­ len Block gesetzt.
Im Kasten 101 wird, wenn das neurale Netz trainiert wird, um den ausgewählten Block zu erkennen, der Ausgangsteil des Blockes auf eins gesetzt, ansonsten wird er auf Null gesetzt. Beim Ausgangskasten 101 setzt sich das Verfahren mit Kasten 103 fort.
Als nächstes wird im Kasten 103 das Trainingsbeispiel im Speicher des Computers 5 gespeichert (Fig. 1 und 2). Dies ge­ stattet es, daß eine Vielzahl von Trainingsbeispielen erzeugt und gespeichert wird.
Im Entscheidungskasten 105 wird eine Überprüfung durchge­ führt, um zu bestimmen, ob es einen anderen Datenblock gibt, der aus der aktuellen Sequenz von Datenrahmen erzeugt wurde, der beim Training des neuralen Netzes verwendet werden soll. Wenn dem so ist, kehrt das Verfahren zum Kasten 99 zurück. Wenn nicht, geht das Verfahren zum Entscheidungskasten 107.
Im Entscheidungskasten 107 wird eine Bestimmung durchgeführt, um zu sehen, ob es ein anderes gesprochen Wort gibt, das in der Trainingssitzung verwendet werden soll. Wenn dem so ist, kehrt das Verfahren zum Kasten 93 zurück. Wenn dem nicht so ist, geht das Verfahren zum Kasten 109.
Im Kasten 109 wird ein Vergleich zwischen der Zahl der be­ reitgestellten Trainingsbeispiele und der Zahl der Neuronen im neuralen Netz vorgenommen. Wenn die Zahl der Neuronen gleich ist der Zahl der Trainingsbeispiele, kann eine Matrix­ inversionstechnik verwendet werden, um den Wert jedes Gewich­ tes festzulegen. Wenn die Zahl der Neuronen nicht gleich ist der Zahl der Trainingsbeispiele, wird eine Schätztechnik der kleinsten Quadrate (least-squares estimation technique) ver­ wendet, um den Wert jedes Gewichtes festzulegen. Geeignete Schätztechniken der kleinsten Quadrate umfassen beispielswei­ se kleinste Quadrate, erweitere kleinste Quadrate, Pseudoin­ versierung, Kalman-Filter, Algorithmus der maximalen Wahr­ scheinlichkeit, Bayesian Schätzung und dergleichen.

Claims (17)

1. Spracherkennungssystem, das auf eine Audioeingabe (1) reagiert, aus der das System Äußerungen menschlicher Sprache identifiziert, wobei das System fol­ gendes umfaßt:
eine Vorverarbeitungsschaltung (3) für die Analyse der Audioeingabe (1), wobei die Vorverarbeitungsschaltung (3) eine Sequenz von Rahmen (38) erzeugt, die das Ergebnis der Analyse darstellt;
einen Computer (5), der auf die Sequenz von Rahmen (38) der Vorverar­ beitungsschaltung (3) anspricht;
eine Vielzahl neuronaler Netze (12, 13, 14) für das Berechnen polynominaler Er­ weiterungen, wobei jedes der neuronalen Netze (12, 13, 14) mindestens ein Aus­ gangssignal erzeugt; und
eine Auswahlvorrichtung (18), die auf das mindestens eine Ausgangssignal von jedem der neuronalen Netze (12, 13, 14) anspricht und als Ausgangssignal eine Kennzeichnung erzeugt, die die Sprachäußerung darstellt,
dadurch gekennzeichnet, daß
der Computer (5) einen Algorithmus ausführt, bei dem er die Sequenz von Rah­ men (38) der Vorverarbeitungsschaltung (3) in Datenblöcke (42, 44, 46, 48) auf­ teilt und als Ausgangssignal eine Vielzahl dieser Datenblöcke (42, 44, 46, 48) er­ zeugt, wobei jeder Datenblock (42, 44, 46, 48) eine Vielzahl von Rahmen umfaßt; und
jedes der neuronalen Netze (12, 13, 14) auf die Vielzahl der Datenblöcke (42, 44, 46, 48) anspricht.
2. Spracherkennungssystem nach Anspruch 1, wobei die Audioeingabe (1) in Form isolierter Worte erfolgt.
3. Spracherkennungssystem nach Anspruch 1 oder 2, wobei die Vorver­ arbeitungsschaltung (3) eine Vorrichtung für die Umwandlung des analogen Si­ gnals in ein digitales Signal umfaßt.
4. Spracherkennungssystem nach einem der Ansprüche 1 bis 3, wobei die Vorver­ arbeitungsschaltung (3) eine Vorrichtung zur Durchführung einer zepstralen Ana­ lyse umfaßt.
5. Spracherkennungssystem nach Anspruch 4, wobei jeder Datenblock (42, 44, 46, 48) eine gleiche Anzahl von Rahmen umfaßt.
6. Spracherkennungssystem nach Anspruch 4, wobei jeder Datenblock einen Rahmen aus der Sequenz von Rahmen umfaßt, wobei ein erster Datenblock ei­ nen ersten Rahmen, ein zweiter Datenblock, der einen zweiten Rahmen umfaßt, und so weiter, bis zu einem N-ten Datenblock, der auch einen Rahmen aus der Sequenz von Rahmen umfaßt, wobei der erste Datenblock ferner einen (N + 1)-ten Rahmen, der zweite Datenblock ferner einen (N + 2)-ten Rahmen und so weiter bis zum N-ten Datenblock, der auch einen (2N)-ten Rahmen aus der Sequenz von Rahmen umfaßt.
7. Spracherkennungssystem nach einem der Ansprüche 1 bis 6, wobei der Algo­ rithmus, die neuronalen Netze und die Auswahlvorrichtung auf mindestens einer integrierten Schaltung enthalten sind.
8. Spracherkennungssystem nach einem der Ansprüche 1 bis 7, wobei der Algo­ rithmus, die neuronalen Netze (12, 13, I14) und die Auswahlvorrichtung (18) in ei­ nem Computerprogramm enthalten sind.
9. Spracherkennungssystem nach einem der Ansprüche 1 bis 8, wobei die menschliche Sprache aus einer Vielzahl von Phonemen besteht, wobei
die Vorverarbeitungsschaltung (3) eine spektrale Analyse der Audioeingabe (1) durchführt;
die Vielzahl neuronaler Netze (12, 13, 14) jeden der Datenblöcke klassifizieren, wobei jedes der neuronalen Netze (12, 13, 14) vorher trainiert wurde, um ein spezifisches Phonemen aus der Vielzahl der Sprachphoneme zu erkennen, wobei jedes neuronale Netz jeden der Datenblöcke empfängt;
eine Vielzahl von Akkumulatoren (15, 16, 17), wobei jeder Akkumulator auf das Ausgangssignal eines neuronalen Netzes aus der Vielzahl der neuronalen Netze anspricht und ein Ausgangssignal erzeugt; und
die Auswahlvorrichtung auf die Ausgangssignale der Akkumulatoren (15, 16, 17) anspricht, um das größte Ausgangssignal der Ausgangssignale der Akkumulato­ ren (15, 16, 17) auszuwählen, wobei die Auswahlvorrichtung ein Ausgangssignal erzeugt, das die Identität der Sprachabtastung darstellt.
10. Ein Verfahren zur Spracherkennung, das Äußerungen menschlicher Sprache identifiziert, mit den Schritten:
  • a) Vorverarbeiten (24) zum Analysieren einer Audioeingabe (1) und zum Erzeu­ gen einer Sequenz von Rahmen (38), die das Ergebnis der Analyse darstellt;
  • b) Berechnen (30) polynominaler Erweiterungen in einer Vielzahl von neuronalen Netzwerken (12, 13, 14), wobei jedes der neuronalen Netzwerke mindestens ein Ausgangssignal erzeugt; und
  • c) Erzeugen (36) einer Kennzeichnung, die die Sprachäußerung darstellt, als Antwort auf das mindestens eine Ausgangssignal jedes der neuronalen Netzwer­ ke (12, 13, 14),
gekennzeichnet durch den folgenden Schritt:
  • a) Aufteilen (26) der Sequenz von Rahmen (38) in Datenblöcke (42, 44, 46, 48), wobei eine Vielzahl der Datenblöcke (42, 44, 46, 48) in die neuronalen Netzwerke (12, 13, 14) für das Berechnen (30) der polynominalen Erweiterungen eingegeben werden und jeder Datenblock eine Vielzahl der Rahmen (38) umfaßt.
11. Verfahren nach Anspruch 10, wobei das Vorverarbeiten (24) ein Digitalisieren der Audioeingabe (1) umfaßt.
12. Verfahren nach Anspruch 10 oder 11, wobei der Vorverarbeiten (24) eine zepstrale Analyse umfaßt.
13. Verfahren nach einem der Ansprüche 10 bis 12, wobei jeder Datenblock (42, 44, 46, 48) eine gleiche Anzahl von Rahmen (38) umfaßt.
14. Verfahren gemäß einem der Ansprüche 10 bis 13, wobei das Vorverarbeiten (24) ferner eine spektrale Analyse der Audioeingabe (1) umfaßt.
15. Verfahren nach einem der Ansprüche 10 bis 14, wobei in einem Trainings­ schritt die neuronalen Netzwerke (12, 13, 14) vor der Spracherkennung trainiert wurden, damit jedes neuronale Netzwerk ein spezifisches Phonemen aus der Vielzahl der Sprachphoneme erkennt, wobei jedes neuronale Netz jeden der Da­ tenblöcke empfängt.
16. Verfahren nach einem der Ansprüche 10 bis 14, wobei dieses Verfahren einen Akkumulationsschritt (32) umfaßt, wobei das Ausgangssignal jedes neuronalen Netzes in eine entsprechende neuronale Netzsumme akkumuliert wird.
17. Verfahren nach einem der Ansprüche 10 bis 16, wobei beim Erzeugen (36) der Kennzeichnung das größte Ausgangssignal der neuronalen Netzwerke (12, 13, 14) ausgewählt wird, wobei das Ergebnis die Identität der Sprachabtastung darstellt.
DE19581667T 1994-06-06 1995-04-25 Spracherkennungssystem und Verfahren zur Spracherkennung Expired - Fee Related DE19581667C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US25484494A 1994-06-06 1994-06-06
PCT/US1995/005006 WO1995034064A1 (en) 1994-06-06 1995-04-25 Speech-recognition system utilizing neural networks and method of using same

Publications (2)

Publication Number Publication Date
DE19581667T1 DE19581667T1 (de) 1997-05-07
DE19581667C2 true DE19581667C2 (de) 1999-03-11

Family

ID=22965804

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19581667T Expired - Fee Related DE19581667C2 (de) 1994-06-06 1995-04-25 Spracherkennungssystem und Verfahren zur Spracherkennung

Country Status (8)

Country Link
US (1) US5832181A (de)
JP (1) JPH09507921A (de)
CN (1) CN1150852A (de)
AU (1) AU685626B2 (de)
CA (1) CA2190619A1 (de)
DE (1) DE19581667C2 (de)
GB (1) GB2304507B (de)
WO (1) WO1995034064A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192353B1 (en) * 1998-02-09 2001-02-20 Motorola, Inc. Multiresolutional classifier with training system and method
DE19837102A1 (de) * 1998-08-17 2000-02-24 Philips Corp Intellectual Pty Verfahren und Anordnung zum Durchführen einer Datenbankanfrage
US6320623B1 (en) * 1998-11-13 2001-11-20 Philips Electronics North America Corporation Method and device for detecting an event in a program of a video and/ or audio signal and for providing the program to a display upon detection of the event
JP3908965B2 (ja) 2002-02-28 2007-04-25 株式会社エヌ・ティ・ティ・ドコモ 音声認識装置及び音声認識方法
EP1363271A1 (de) 2002-05-08 2003-11-19 Sap Ag Verfahren und System zur Verarbeitung und Speicherung von Sprachinformationen eines Dialogs
EP1361740A1 (de) * 2002-05-08 2003-11-12 Sap Ag Verfahren und System zur Verarbeitung von Sprachinformationen eines Dialogs
DE10220524B4 (de) 2002-05-08 2006-08-10 Sap Ag Verfahren und System zur Verarbeitung von Sprachdaten und zur Erkennung einer Sprache
CN104021373B (zh) * 2014-05-27 2017-02-15 江苏大学 一种半监督语音特征可变因素分解方法
US9761221B2 (en) * 2015-08-20 2017-09-12 Nuance Communications, Inc. Order statistic techniques for neural networks
CN109421053A (zh) * 2017-08-24 2019-03-05 河海大学 一种基于语音识别的书写机械手系统
EP4361894A1 (de) * 2017-12-28 2024-05-01 Syntiant Immer eingeschalteter schlüsselwortdetektor
US10970441B1 (en) 2018-02-26 2021-04-06 Washington University System and method using neural networks for analog-to-information processors
US10991370B2 (en) 2019-04-16 2021-04-27 International Business Machines Corporation Speech to text conversion engine for non-standard speech
US20210303662A1 (en) * 2020-03-31 2021-09-30 Irdeto B.V. Systems, methods, and storage media for creating secured transformed code from input code using a neural network to obscure a transformation function

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3916478A1 (de) * 1989-05-20 1990-11-22 Standard Elektrik Lorenz Ag Neuronale netzwerkarchitektur
FR2689292A1 (fr) * 1992-03-27 1993-10-01 Lorraine Laminage Procédé et système de reconnaissance vocale à réseau neuronal.
EP0574951A2 (de) * 1992-06-18 1993-12-22 Seiko Epson Corporation Spracherkennungssystem

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4624008A (en) * 1983-03-09 1986-11-18 International Telephone And Telegraph Corporation Apparatus for automatic speech recognition
US5047952A (en) * 1988-10-14 1991-09-10 The Board Of Trustee Of The Leland Stanford Junior University Communication system for deaf, deaf-blind, or non-vocal individuals using instrumented glove
DE69030561T2 (de) * 1989-12-28 1997-10-09 Sharp Kk Spracherkennungseinrichtung
US5408588A (en) * 1991-06-06 1995-04-18 Ulug; Mehmet E. Artificial neural network method and architecture
JP3323894B2 (ja) * 1991-06-27 2002-09-09 株式会社日立製作所 ニューラルネットワーク学習方法及び装置
US5259030A (en) * 1991-07-17 1993-11-02 Harris Corporation Antijam improvement method and apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3916478A1 (de) * 1989-05-20 1990-11-22 Standard Elektrik Lorenz Ag Neuronale netzwerkarchitektur
FR2689292A1 (fr) * 1992-03-27 1993-10-01 Lorraine Laminage Procédé et système de reconnaissance vocale à réseau neuronal.
EP0574951A2 (de) * 1992-06-18 1993-12-22 Seiko Epson Corporation Spracherkennungssystem

Also Published As

Publication number Publication date
JPH09507921A (ja) 1997-08-12
CA2190619A1 (en) 1995-12-14
GB2304507A (en) 1997-03-19
WO1995034064A1 (en) 1995-12-14
GB2304507B (en) 1999-03-10
GB9625251D0 (en) 1997-01-22
US5832181A (en) 1998-11-03
CN1150852A (zh) 1997-05-28
AU2362495A (en) 1996-01-04
AU685626B2 (en) 1998-01-22
DE19581667T1 (de) 1997-05-07

Similar Documents

Publication Publication Date Title
DE69619284T2 (de) Vorrichtung zur Erweiterung der Sprachbandbreite
DE69534942T2 (de) System zur sprecher-identifizierung und-überprüfung
DE69529356T2 (de) Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile
DE69127961T2 (de) Verfahren zur Spracherkennung
DE69518705T2 (de) Verfahren und Vorrichtung zur Spracherkennung
DE69827586T2 (de) Technik zur Adaptation von Hidden Markov Modellen für die Spracherkennung
DE69121145T2 (de) Spektralbewertungsverfahren zur verbesserung der widerstandsfähigkeit gegen rauschen bei der spracherkennung
DE3878001T2 (de) Spracherkennungseinrichtung unter anwendung von phonemermittlung.
DE3236832C2 (de) Verfahren und Gerät zur Sprachanalyse
DE69524994T2 (de) Verfahren und Vorrichtung zur Signalerkennung unter Kompensation von Fehlzusammensetzungen
DE69726526T2 (de) Schema und Modelladaption bei Mustererkennung welche auf Taylorausdehnung basiert
DE2659096C2 (de)
DE4397106B4 (de) Schnelles auf einer Baumstruktur basierendes Verfahren zur Vektorquantisierung
DE69010941T2 (de) Verfahren und Einrichtung zur automatischen Bestimmung von phonologischen Regeln für ein System zur Erkennung kontinuierlicher Sprache.
DE69311303T2 (de) Sprachtrainingshilfe für kinder.
DE69627580T2 (de) Verfahren zur Rauschverminderung in einem Sprachsignal
DE69321656T2 (de) Verfahren zur Spracherkennung
DE69901606T2 (de) Breitbandsprachsynthese von schmalbandigen sprachsignalen
DE19581667C2 (de) Spracherkennungssystem und Verfahren zur Spracherkennung
DE2825186A1 (de) Verfahren zur verringerung der falschanzeige in spracherkennungsverfahren fuer kontinuierliche sprachsignale
DE2825110A1 (de) Verfahren zur erkennung kontinuierlicher sprachsignale
DE69229124T2 (de) Mehrteiliger expertsystem
DE3236834A1 (de) Verfahren und geraet zur sprachanalyse
WO2002017303A1 (de) Verfahren und vorrichtung zur künstlichen erweiterung der bandbreite von sprachsignalen
DE3236885A1 (de) Verfahren und geraet zur sprachanalyse

Legal Events

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