DE19581667C2 - Spracherkennungssystem und Verfahren zur Spracherkennung - Google Patents
Spracherkennungssystem und Verfahren zur SpracherkennungInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 52
- 238000013528 artificial neural network Methods 0.000 claims description 89
- 238000004422 calculation algorithm Methods 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 25
- 238000007781 pre-processing Methods 0.000 claims description 24
- 238000010183 spectrum analysis Methods 0.000 claims 2
- 238000009825 accumulation Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 claims 1
- 230000033764 rhythmic process Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 24
- 210000002569 neuron Anatomy 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000001228 spectrum Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 2
- 241000897276 Termes Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/088—Word spotting
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/24—Speech 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.
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.
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.
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.
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.
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),
- 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.
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)
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)
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)
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 |
-
1995
- 1995-04-25 CA CA002190619A patent/CA2190619A1/en not_active Abandoned
- 1995-04-25 GB GB9625251A patent/GB2304507B/en not_active Expired - Fee Related
- 1995-04-25 JP JP8500848A patent/JPH09507921A/ja active Pending
- 1995-04-25 AU AU23624/95A patent/AU685626B2/en not_active Ceased
- 1995-04-25 CN CN95193473A patent/CN1150852A/zh active Pending
- 1995-04-25 DE DE19581667T patent/DE19581667C2/de not_active Expired - Fee Related
- 1995-04-25 WO PCT/US1995/005006 patent/WO1995034064A1/en active Application Filing
-
1996
- 1996-06-17 US US08/664,893 patent/US5832181A/en not_active Expired - Lifetime
Patent Citations (3)
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 |