-
Hintergrund der Erfindung
-
I. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft im Allgemeinen das Gebiet der Kommunikation
und insbesondere die Erzeugung von Sprach-Templates bzw. -Vorlagen
für sprecherunabhängige Sprachenkennungssysteme.
-
II. Hintergrund
-
Spracherkennung
(VR – voice
recognition) stellt eine der wichtigsten Techniken dar, um eine
Maschine mit simulierter Intelligenz auszustatten, um Befehle des
Benutzers oder Benutzer-Sprachbefehle zu erkennen und eine menschliche
Schnittstelle mit der Maschine zu erleichtern. VR stellt auch eine Schlüsseltechnik
für ein
menschliches Sprachverständnis
dar. Systeme, die Techniken einsetzen, um eine linguistische Nachricht
aus einem akustischen Sprachsignal wiederzugewinnen, werden als
Spracherkenner bezeichnet. Der Begriff „Spracherkenner" wird hier verwendet,
um im Allgemeinen jede Sprach-Benutzer-Schnittstellen-aktivierte
Vorrichtung zu bezeichnen. Ein Spracherkenner weist typischerweise
einen akustischen Prozessor und einen Wortdecodierer auf. Der akustische
Prozessor extrahiert eine Sequenz von Informations-tragenden Merkmalen
oder Vektoren, die erforderlich sind, um eine VR der ankommenden
rohen bzw. unverarbeiteten Sprache zu erreichen. Der Wortdecodierer
decodiert die Sequenz von Merkmalen oder Vektoren, um ein aussagekräftiges und
gewünschtes
Ausgabeformat zu liefern, wie eine Sequenz von linguistischen Wörtern, die
der eingegebenen Äußerung entsprechen.
-
Der
akustische Prozessor stellt ein Front-End-Sprachanalyse-Teilsystem
in einem Spracherkenner dar. Als Antwort auf ein eingegebenes Sprachsignal
liefert der akustische Prozessor eine geeignete Repräsentation,
um das zeit variierende Sprachsignal zu charakterisieren. Der akustische Prozessor
sollte irrelevante Information entfernen, wie Hintergrundrauschen,
Kanalverzerrung, Sprechercharakteristiken und Art des Sprechens.
Eine effiziente akustische Verarbeitung liefert Spracherkennenn
eine verbesserte akustische Diskriminierungsleistung. Zu diesem
Zweck ist eine nützliche
zu analysierende Charakteristik die Kurzzeit-Spektraleinhüllende (short
time spectral envelope). Zwei allgemein verwendete Spektralanalysetechniken
zur Charakterisierung der Kurzzelt-Spektraleinhüllenden sind LPC (linear predictive
coding) und Filterbank-basierte Spektralmodellierung. Beispielhafte
LPC-Techniken werden beschrieben in dem U.S.-Patent Nr. 5,414,796,
das der Anmelderin der vorliegenden Erfindung erteilt wurde und
durch Bezugnahme hier vollständig
aufgenommen ist, und von L.B. Rabiner & R. W. Schafer „Digital Processing of Speech
Signals", 396–453 (1978),
was ebenfalls durch Bezugnahme hier vollständig aufgenommen ist.
-
Die
Verwendung von VR (auch allgemein als Spracherkennung bezeichnet)
wird zunehmend wichtig aus Gründen
der Sicherheit. Zum Beispiel kann VR verwendet werden, um die manuelle
Aufgabe des Drückens
von Knöpfen
bzw. Tasten auf einer Tastatur eines drahtlosen Telefons zu ersetzen.
Dies ist insbesondere Wichtig, wenn ein Benutzer einen Telefonanruf
initiiert, während
er Auto fährt.
Bei der Benutzung eines Telefons ohne VR muss der Fahrer eine Hand
von dem Lenkrad entfernen und die Telefontastatur betrachten, während er
die Knöpfe
zum Wählen
des Anrufs drückt.
Dies erhöht
die Wahrscheinlichkeit eines Autounfalls. Ein sprachaktiviertes
Telefon (d.h. ein Telefon, das für
eine Spracherkennung ausgebildet ist) ermöglicht dem Fahrer, Telefonanrufe
zu tätigen,
während
er kontinuierlich auf die Strasse schaut. Und ein Freisprechsystem
ermöglicht
dem Fahrer zusätzlich,
beide Hände
auf dem Lenkrad zu belassen während
des Aufbaus bzw. Tätigens
eines Anrufs.
-
Spracherkennungsvorrichtungen
werden entweder als Sprecher-abhängige
oder Sprecher-unabhängige
Vorrichtungen klassifiziert. Sprecherabhängige Vorrichtungen, die weiter
verbreitet sind, sind trainiert, Befehle von bestimm ten Benutzern
zu erkennen. Im Gegensatz dazu können
sprecherunabhängige
Vorrichtungen Sprachbefehle von jedem Benutzer akzeptieren. Um die
Leistung eines gegebenen VR-Systems zu verbessern, ob sprecherabhängig oder
sprecherunabhängig,
ist ein Training erforderlich, um das System mit gültigen Parametern auszustatten.
In anderen Worten, das System muss lernen, bevor es optimal funktionieren
kann.
-
Eine
sprecherabhängige
VR-Vorrichtung arbeitet typischerweise in zwei Phasen, eine Trainingsphase
und eine Erkennungsphase. In der Trainingsphase fordert das VR-System
den Benutzer auf, jedes der Wörter
in dem Vokabular des Systems einmal oder zweimal (typischerweise
zweimal) zu sprechen, so dass das System die Charakteristiken der Sprache
des Benutzers für
diese bestimmten Wörter oder
Phrasen lernen kann. Ein beispielhaftes Vokabular für eine Freisprechanlage
kann die Zahlen auf der Tastatur umfassen; die Schlüsselwörter „Anruf", „senden", „wählen", „abbrechen", „zurücksetzen", „hinzufügen", „löschen", „Historie", „Programm", „ja" und „nein"; und die Namen einer
vordefinierten Anzahl von üblicherweise
angerufenen Kollegen, Freunden oder Familienmitgliedern. Sobald
das Training beendet ist, kann der Benutzer Anrufe in der Erkennungsphase
initiieren durch Sprechen der trainierten Schlüsselwörter, welche die VR-Vorrichtung erkennt
durch Vergleichen der gesprochenen Äußerungen mit den vorher trainierten Äußerungen
(als Vorlagen gespeichert) und Wählen
der besten Übereinstimmung.
Wenn zum Beispiel der Name „John" einer der trainierten
Namen ist, kann der Benutzer einen Anruf an John initiieren durch
Sprechen der Phrase „Rufe
John an". Das VR-System
erkennt die Wörter „anrufen" und „John" und wählt die
Nummer, die der Benutzer vorher als die Telefonnummer von John eingegeben
hat.
-
Eine
sprecherunabhängige
VR-Vorrichtung verwendet ebenfalls eine Trainingsvorlage, die ein vorher
aufgezeichnetes Vokabular einer vordefinierten Größe enthält (z.B.
bestimmte Steuerungswörter, die
Zahlen null bis neun und ja und nein). Eine große Anzahl von Sprechern (z.B.
100) muss aufgezeichnet werden, die jedes Wort in dem Vokabular
sprechen.
-
Ein
Beispiel einer Vorlagen-erstellenden Lösung unter Verwendung einer
anfänglichen
Segmentierung und Grenzkorrektur wird in dem Dokument U.S.-Patent
Nr. 4,802,224 offenbart.
-
Herkömmlicherweise
werden sprecherunabhängige
VR-Vorlagen konstruiert durch Vergleichen einer Test-Datenbank,
die Wörter
enthält,
die von einem ersten Satz von Sprechern (typischerweise 100 Sprecher)
gesprochen werden, mit einer Trainings-Datenbank, welche dieselben
Wörter
enthält, die
von einem zweiten Satz von Sprechern (genauso viele wie in dem ersten
Satz) gesprochen werden. Ein Wort, das von einem Benutzer gesprochen
wird, wird typischerweise als eine Äußerung (utterance) bezeichnet.
Jede Äußerung der
Trainings-Datenbank wird zuerst zeitnormalisiert und dann quantisiert
(typischerweise vektorquantisiert gemäß herkömmlichen Techniken), bevor
sie getestet wird auf eine Konvergenz mit den Äußerungen der Test-Datenbank. Jedoch
ist die Zeitnormalisierungstechnik angewiesen auf eine Information,
die nur von einzelnen Rahmen (periodische Segmente einer Äußerung)
mit maximalen Unterschieden zu dem vorherigen Rahmen erlangt werden.
Es wäre
vorteilhaft, ein Verfahren zum Aufbau von sprecherunabhängigen VR-Vorlagen
vorzusehen, das mehr Information einer gegebenen Äußerung verwendet.
Es wäre
weiter wünschenswert,
die Genauigkeit oder Konvergenz von herkömmlichen Techniken zum Aufbau
von sprecherunabhängigen
VR-Vorlagen basierend auf dem Typ der Äußerung zu erhöhen. Somit
besteht eine Notwendigkeit für
ein Verfahren zur Konstruktion von sprecherunabhängigen Spracherkennungsvorlagen, das
eine verbesserte Genauigkeit vorsieht und eine größere Meine
an Information in den Äußerungen verwendet.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung betrifft ein Verfahren zur Konstruktion von
sprecherunabhängigen Spracherkennungsvorlagen,
das eine verbesserte Genauigkeit liefert und eine größere Menge
von Information in den Äußerungen verwendet.
Demgemäß ist in
einem Aspekt der Erfindung ein Verfahren gemäß Anspruch 1 zur Erzeugung
von Sprachvorlagen zur Verwendung in einem sprecherunabhängigen Spracherkennungssystem
vorgesehen. Das Verfahren umfasst vorteilhafterweise ein Segmentieren jeder Äußerung einer
ersten Vielzahl von Äußerungen,
um eine Vielzahl von zeitgruppierten Segmenten für jede Äußerung zu erzeugen, wobei jedes
zeitgruppierte Segment von einem Spektralmittel dargestellt wird;
ein Quantisieren der Vielzahl von Spektralmitteln für alle der
ersten Vielzahl von Äußerungen, um
eine Vielzahl von Vorlagenvektoren zu erzeugen; ein Vergleichen
jedes der Vielzahl von Vorlagenvektoren mit einer zweiten Vielzahl
von Äußerungen,
um zumindest ein Vergleichsergebnis zu erzeugen; ein Abgleichen
bzw. Abstimmen der ersten Vielzahl von Äußerungen mit der Vielzahl von
Vorlagenvektoren, wenn das zumindest eine Vergleichsergebnis zumindest
einen vordefinierten Schwellenwert überschreitet, um ein optimales
Abgleichspfadergebnis zu erzeugen; ein zeitliches Partitionieren
bzw. Aufteilen der ersten Vielzahl von Äußerungen gemäß dem optimalen
Abgleichspfadergebnis; und ein Wiederholen der Quantisierung, des
Vergleichs, des Abgleichs und der Aufteilung, bis das zumindest
eine Vergleichsergebnis nicht mindestens einen vordefinierten Schwellenwerts überschreitet.
-
Die
Erfindung wird auch durch andere Ausführungsbeispiele definiert,
die den Vorrichtungen der Ansprüche
10 und 17 entsprechen und einem Computerprogramm gemäß Anspruch
16.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm eines Systems zur Konstruktion und Implementierung
von Sprachvorlagen für
eine sprecherunabhängige
Spracherkennung.
-
2 ist
ein Blockdiagramm eines Spracherkennungsteilsystems, das in dem
System von 1 verwendet werden kann.
-
3 ist
ein Ablaufdiagramm, das Verfahrensschritte darstellt, die von einem
Spracherkennungsteilsystem, wie dem Teilsystem von 2, durchgeführt werden,
um eingegebene Sprachwerte zu erkennen.
-
4 ist
ein Blockdiagramm eines Vorlagen-erstellenden Teilsystems, das in
dem System von 1 verwendet werden kann.
-
5 ist
ein Blockdiagramm eines Vorlagen-erstellenden Teilsystems, das in
dem System von 1 verwendet werden kann.
-
6 ist
ein Ablaufdiagramm, das Verfahrensschritte darstellt, die von einem
Vorlagen-erstellenden Teilsystem, wie dem Teilsystem von 4 oder
dem Teilsystem von 5, durchgeführt werden, um Sprachvorlagen
zu erstellen.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsbeispiele
-
Wie
in 1 dargestellt, umfasst ein System 10 zur
Konstruktion und Implementierung von Sprachvorlagen für sprecherunabhängige Spracherkennung
ein sprecherunabhängiges
Vorlagenerstellungs-Teilsystem 12 und ein Spracherkennungsteilsystem 14.
Das sprecherunabhängige
Vorlagenerstellungsteilsystem 12 ist mit dem Spracherkennungsteilsystem 14 verbunden.
-
Sprecherunabhängige Sprachvorlagen
werden mit dem sprecherunabhängigen
Vorlagenerstellungsteilsystem 12 erstellt, wie im Folgenden
unter Bezugnahme auf die 4–6 beschrieben
wird. Die Vorlagen werden an das Spracherkennungsteilsystem 14 geliefert
zur Verwendung bei der Erkennung von eingegebener Sprache von einem
Benutzer, wie im Folgenden unter Bezugnahme auf die 2–3 beschrieben
wird.
-
Wie
in 2 dargestellt, umfasst ein Spracherkennungsteilsystem 100 einen
Analog-Digital-Wandler (A/D) 102, einen Front-End-Akustikprozessor 104,
einen Merkmalsextraktor 106, eine Sprachvorlagen-Datenbank 108,
eine Mustervergleichslogik 110 und eine Entscheidungslogik 112. Der
akustische Prozessor 104 und der Merkmalsextraktor 106 sind
als eine Vorrichtung implementiert, zum Beispiel ein Parameterextraktor.
Der akustische Prozessor 104 umfasst ein Frequenzanalysemodul 114.
Der Merkmalsextraktor 106 umfasst einen Endpunkt-Detektor 116,
ein zeitgruppierendes (timeclustering) Sprachsegmentierungsmodul 118 und
einen Sprachpegelnormalisierer 120.
-
Der
A/D 102 ist mit dem akustischen Prozessor 104 verbunden.
Der akustische Prozessor 104 ist mit dem Merkmalsextraktor 106 verbunden.
In dem Merkmalsextraktor 106 ist der Endpunkt-Detektor 116 mit
dem zeitgruppierenden Sprachsegmentierungsmodul 118 verbunden,
das mit dem Amplituden-Quantisierer 120 verbunden ist.
Der Merkmalsextraktor 106 ist mit der Mustervergleichslogik 110 verbunden.
Die Mustervergleichslogik 110 ist mit der Vorlagen-Datenbank 108 und
der Entscheidungslogik 112 verbunden.
-
Das
Spracherkennungsteilsystem 100 kann sich zum Beispiel in
einem drahtlosen Telefon oder einer Freisprecheinrichtung befinden.
Ein Benutzer (nicht gezeigt) spricht ein Wort oder eine Phrase und erzeugt
ein Sprachsignal. Das Sprachsignal wird in ein elektrisches Sprachsignal
s(t) mit einem herkömmlichen
Transducer (nicht gezeigt) konvertiert. Das Sprachsignal s(t) wird
an den A/D 102 geliefert, der das Sprachsignal in digitalisierte
Sprachwerte s(n) gemäß einem
bekannten Abtastverfahren umwandelt, wie zum Beispiel eine PCM (pulse
coded modulation), ein A-Gesetz oder μ-Gesetz.
-
Die
Sprachwerte s(n) werden an den akustischen Prozessor 104 geliefert
zur Parameterbestimmung. Der akustische Prozessor 104 erzeugt
einen Satz von Parametern, der die Charakteristiken des eingegebenen
Sprachsignals s(t) modelliert. Die Parameter können bestimmt werden gemäß einer
einer Anzahl von bekannten Sprachparameterbestimmungstechniken,
einschließlich
Sprachcodercodierung, DFT(discrete Fourier transform)-basierte Cepstrum-Koeffiezienten
(z.B. FFT(fast Fourier transform)-basierte Cepstrum-Koeffiezienten),
LPCs (linear predictive coeffizients) oder eine Bark-Skala-Analyse,
wie beschrieben wird in dem oben erwähnten U.S.- Patent Nr. 5,414,796 und von Lawrence
Rabiner & Büng-Hwang
Juang, „Fundamentals of
Speech Recognition",
(1993). Der Satz von Parametern ist vorteilhafterweise Rahmen-basiert
(in periodische Rahmen segmentiert). Der akustische Prozessor 104 kann
als ein digitaler Signalprozessor (DSP) implementiert werden. Der
DSP kann einen Sprachcodierer umfassen. Alternativ kann der akustische
Prozessor 104 als ein Sprachcodierer implementiert werden.
-
Jeder
Rahmen von Parametern wird an den Merkmalsextrahierer 106 geliefert.
In dem Merkmalsextrahierer 106 verwendet der Endpunkt-Detektor 116 die
extrahierten Parameter, um die Endpunkte einer Äußerung (d.h. eines Worts) zu
erfassen. In einem Beispiel wird die Endpunkt-Erfassung vorteilhafterweise
durchgeführt
gemäß einer
Technik, die in dem U.S.-Patent Nr. 6,324,509 beschrieben wird,
angemeldet am 8. Februar 1999, mit dem Titel „METHOD AND APPARATUS FOR
ACCURATE ENDPOINTING OF SPEECH IN THE PRESENCE OF NOISE", das der Anmelderin
der vorliegenden Erfindung erteilt wurde. Gemäß dieser Technik wird die Äußerung mit
einem ersten Schwellenwert verglichen, wie zum Beispiel einem Rauschabstand(SNR – signal-to-noise
ratio)-Schwellenwert, um einen ersten Startpunkt und einen ersten
Endpunkt der Äußerung zu
bestimmen. Ein Teil der Äußerung,
die dem ersten Startpunkt vorhergeht, wird dann mit einem zweiten
SNR-Schwellenwert verglichen, um einen zweiten Startpunkt der Äußerung zu
bestimmen. Ein Teil der Äußerung,
die dem ersten Endpunkt folgt, wird dann mit dem zweiten SNR-Schwellenwert
verglichen, um einen zweiten Endpunkt der Äußerung zu bestimmen. Die ersten
und zweiten SNR-Schwellenwerte
werden vorteilhafterweise regelmäßig neu
berechnet und der erste SNR-Schwellenwert übersteigt vorteilhafterweise
den zweiten SNR-Schwellenwert.
-
Die
Rahmen der Frequenzbereichs-Parameter für die erfasste Äußerung werden
an das zeitgruppierende Sprachsegmentierungsmodul 118 geliefert, das
gemäß einem
Beispiel eine Komprimierungstechnik, die beschrieben wird in dem
U.S.-Patent Nr. 6,278,972, angemeldet am 4. Januar 1999, mit dem Titel „SYSTEM
AND METHOD FOR SEGMENTATION AND RECOGNITION OF SPEECH SIGNALS", das der Anmelderin
der vorliegenden Erfindung erteilt wurde. Gemäß dieser Technik wird jeder
Sprachrahmen in den Frequenzbereichsparametern repräsentiert
durch zumindest einen spektralen Wert, der zu dem Sprachrahmen gehört. Ein
spektraler Differenzwert wird dann für jedes Paar von benachbarten Rahmen
bestimmt. Der spektrale Differenzwert stellt eine Differenz zwischen
den spektralen Werten dar, die zu den zwei Rahmen in dem Paar gehören. Eine anfängliche
Cluster- bzw. Gruppen-Grenze wird zwischen jedem Paar von benachbarten
Rahmen gesetzt, wodurch Gruppen in den Parametern erzeugt werden,
und jeder Gruppe wird ein Varianzwert zugewiesen. Der Varianzwert
ist vorteilhafterweise gleich zu einem der bestimmten spektralen
Differenzwerte. Eine Vielzahl von Gruppenzusammenführungsparameter
wird dann berechnet, wobei jeder der Gruppenzusammenführungsparameter
zu einem Paar von benachbarten Gruppen gehört. Ein Minimum-Gruppenzusarnmenführungsparameter
wird aus der Vielzahl von Gruppenzusammenführungsparametern gewählt. Eine
zusammengeführte
Gruppe wird dann gebildet durch Entfernen einer Gruppengrenze zwischen
den Gruppen, die zu dem Minimum-Gruppenzusammenführungsparameter
gehören,
und ein zusammengeführter
Varianzwert der zusammengeführten
Gruppe zugewiesen. Der zusammengeführte Varianzwert repräsentiert
die Varianzwerte, die den Gruppen zugewiesen werden, die zu dem
Minimum-Gruppenzusammenführungsparameter
gehören.
Der Prozess wird vorteilhafterweise der Reihe nach wiederholt, um
eine Vielzahl von zusammengeführten
Gruppen zu bilden, und das segmentierte Sprachsignal kann vorteilhafterweise
gebildet werden gemäß der Vielzahl
der zusammengeführten Gruppen.
-
Es
ist für
Fachleute offensichtlich, dass das zeitgruppierende Sprachsegmentierungsmodul 118 durch
andere Vorrichtungen ersetzt werden kann, wie zum Beispiel ein Zeitnormalisierungsmodul.
Es ist jedoch für
Fachleute auch offensichtlich, dass, da das zeitgruppierende Sprachsegmentierungsmodul 118 die
Rahmen mit minimalen Differenzen im Vergleich zu dem vorherigen
Rahmen in Gruppen zusammenführt
und Durchschnittswerte statt einzelner Rahmen verwendet, das zeitgruppierende
Sprachsegmentierungsmodul 118 mehr Information in der verarbeiteten Äußerung verwendet.
Es ist ebenso offensichtlich, dass das zeitgruppierende Sprachsegmentierungsmodul 118 vorteilhafterweise
in Verbindung mit der Mustervergleichslogik 110 verwendet wird,
die ein „dynamische
Zeitanpassung(DTW – dynamic
time warping)"-Modell einsetzt,
das in der Technik bekannt ist und im Folgenden beschrieben wird.
-
Die
Gruppenmittel werden an den Sprachpegelnormalisierer 120 geliefert.
In einem Beispiel quantisiert der Sprachpegelnormalisierer 120 die Sprachamplituden
durch Zuweisen von zwei Bits pro Kanal (d.h. zwei Bits pro Frequenz)
dem Gruppenmittel. In einem alternativen Lösungsbeispiel, in dem Cepstrum-Koeffizienten
extrahiert werden, wird der Sprachpegelnormalisierer 120 nicht
verwendet, um die Gruppenmittel zu quantisieren, wie für Fachleute offensichtlich
ist. Die Ausgabe, die von dem Sprachpegelnormalisierer 120 erzeugt
wird, wird durch den Merkmalsextrahierer 106 an die Mustervergleichslogik 110 geliefert.
-
Ein
Satz von Vorlagen für
alle Vokabularwörter
des Spracherkennungsteilsystems 100 wird permanent in der
Vorlagen-Datenbank 108 gespeichert. Der Satz von Vorlagen
ist vorteilhafterweise ein Satz von sprecherunabhängigen Vorlagen,
die mit einem sprecherunabhängigen
Vorlagenerstellungsteilsystem erzeugt werden, wie hier im Folgenden
beschrieben wird. Die Vorlagen-Datenbank 108 wird vorteilhafterweise
wie jede herkömmliche
Form eines nichtflüchtigen
Speichermediums implementiert, wie zum Beispiel ein Flash-Speicher.
Dies ermöglicht,
dass die Vorlagen in der Vorlagen-Datenbank 108 verbleiben, wenn
die Stromversorgung zu dem Spracherkennungsteilsystem 100 abgeschaltet
wird.
-
Die
Mustervergleichslogik 110 vergleicht die Vektoren von dem
Merkmalsextrahierer 106 mit allen Vorlagen, die in der
Vorlagen-Datenbank 108 gespeichert sind. Die Vergleichsergebnisse
oder Entfernungen bzw. Abstände
zwischen den Vektoren und allen Vorlagen, die in der Vorlagen-Datenbank 108 gespeichert
sind, werden an die Entscheidungslogik 112 geliefert. Die
Entscheidungslogik 112 wählt aus der Vorlagen-Datenbank 108 die
Vorlage, die am besten mit den Vektoren übereinstimmt. Alternativ kann
die Entscheidungslogik 112 einen herkömmlichen „N-besten" Auswahlalgorithmus verwenden, der die
N nähesten Übereinstimmungen
innerhalb einer vordefinierten Übereinstimmungsschwelle
wählt.
Der Benutzer wird dann abgefragt, welche Wahl vorgesehen war. Die
Ausgabe der Entscheidungslogik 112 ist die Entscheidung,
welches Wort in dem Vokabular gesprochen wurde.
-
Die
Mustervergleichslogik 110 und die Entscheidungslogik 112 verwenden
eine DTW-Technik, um eine Konvergenz zu testen. Die DTW-Technik
ist in dem Stand der Technik bekannt und wird beschrieben von Lawrence
Rabiner & Büng-Hwang
Juang, „Fundamentals
of Speech Recognition",
200–238 (1993).
Gemäß der DTW-Technik
wird ein Gitter (trellis) gebildet durch Aufzeichnen einer Zeitsequenz
der zu testenden Äußerung gegenüber einer
Zeitsequenz für
jede Äußerung,
die in der Vorlagen-Datenbank 108 gespeichert ist. Die
zu testende Äußerung wird
dann Punkt für
Punkt (z.B. alle 10 ms) mit jeder Äußerung in der Vorlagen-Datenbank 108 verglichen,
jeweils eine Äußerung.
Für jede Äußerung in der
Vorlagen-Datenbank 108 wird die getestete Äußerung zeitlich
angepasst oder „gekrümmt (warped)", wobei sie an bestimmten
Punkten entweder komprimiert oder erweitert wird, bis die bestmögliche Übereinstimmung
mit der Äußerung in
der Vorlagen-Datenbank 108 erreicht ist. An jedem Zeitpunkt
werden die zwei Äußerungen
verglichen und es wird entweder eine Übereinstimmung an diesem Punkt
(null Kosten) erklärt
oder eine Nichtübereinstimmung
wird erklärt.
In dem Fall einer Nichtübereinstimmung
an einem bestimmten Punkt wird die getestete Äußerung komprimiert, erweitert
oder wenn erforderlich nicht angepaßt. Der Prozess wird fortgeführt, bis
die zwei Äußerungen
vollständig
miteinander verglichen wurden. Eine große Anzahl (typischerweise tausende)
unterschiedlich angepasster Äußerungen
ist möglich.
Die angepasste Äußerung mit
der niedrigsten Kostenfunktion (d.h. welche die geringste Anzahl von
Komprimierungen und/oder Erweiterungen und/oder Nichtübereinstimmungen
erfordert) wird ausgewählt.
Auf ähnliche
Weise wie ein Viterbi-Decodieralgorithmus wird die Auswahl vorteilhafterweise durchgeführt durch
Zurückschauen
von jedem Punkt in der Äußerung in
der Vorlagen-Datenbank 108, um den Pfad mit den niedrigsten
Gesamtkosten zu bestimmen. Dies ermöglicht, dass die angepasste Äußerung mit
den geringsten Kosten (d.h. die am besten übereinstimmende) bestimmt wird,
ohne auf das Brute-Force-Verfahren der Erzeugung jeder möglicher
der unterschiedlich angepassten Äußerungen ausweichen
zu müssen.
Die angepassten Äußerungen
mit geringsten Kosten für
alle Äußerungen
in der Vorlagen-Datenbank 108 werden dann verglichen und
die Äußerung mit
den geringsten Kosten wird ausgewählt als die gespeicherte Äußerung,
die am besten mit der getesteten Äußerung übereinstimmt.
-
Die
Mustervergleichslogik 110 und die Entscheidungslogik 112 können vorteilhafterweise
als ein Mikroprozessor implementiert werden. Das Spracherkennungsteilsystem 100 kann
zum Beispiel eine ASIC sein. Die Erkennungsgenauigkeit des Spracherkennungsteilsystems 100 ist
ein Maß,
wie gut das Spracherkennungsteilsystem 100 gesprochene Wörter oder
Phrasen in dem Vokabular richtig erkennt. Zum Beispiel zeigt eine
Erkennungsgenauigkeit von 95% an, dass das Spracherkennungsteilsystem 100 Wörter in
dem Vokabular 95-mal aus 100 richtig erkennt.
-
Gemäß einem
Beispiel führt
ein Spracherkennungsteilsystem (nicht gezeigt) die Algorithmusschritte
durch, die in dem Ablaufdiagramm von 3 dargestellt
werden, um eine Spracheingabe in das Spracherkennungsteilsystem
zu erkennen. In Schritt 200 wird eine Eingabesprache an
das Spracherkennungsteilsystem geliefert. Der Steuerungsablauf geht dann
weiter zu Schritt 202. In Schritt 202 werden die Endpunkte
einer Äußerung erfasst.
In einem bestimmten Beispiel werden die Endpunkte der Äußerung gemäß der Technik
erfasst, die in dem oben erwähnten
U.S.-Patent Nr. 6,324,509 beschrieben wird, wie oben unter Bezugnahme
auf 2 beschrieben wird. Der Steuerungsablauf geht
dann weiter zu Schritt 204.
-
In
Schritt 204 wird eine zeitgruppierende Sprachsegmentierung
auf den extrahierten Äußerungen
durchgeführt.
In einem bestimmten Beispiel ist die verwendete Technik der zeitgruppierenden Sprachsegmentierung
die Technik, die in dem oben erwähnten
U.S.-Patent Nr. 6,278,972 beschrieben wird, wie oben unter Bezugnahme
auf 2 beschrieben wird. Der Steuerungsablauf geht
dann weiter zu Schritt 208. In Schritt 206 werden
sprecherunabhängige
Vorlagen vorgesehen zur Abgleichung mit den Sprachgruppenmitteln,
die in Schritt 204 erzeugt werden. Die sprecherunabhängigen Vorlagen
werden vorteilhafterweise gemäß Techniken
konstruiert, die im Folgenden unter Bezugnahme auf die 4–6 beschrieben
werden. Der Steuerungsablauf geht dann weiter zu Schritt 208.
In Schritt 208 wird eine DTW-Abgleichung zwischen den Gruppen für eine bestimmte Äußerung und
allen der sprecherunabhängigen
Vorlagen durchgeführt
und die am besten übereinstimmende
Vorlage wird als die erkannte Äußerung gewählt. In
einem bestimmten Ausführungsbeispiel
wird die DTW-Abgleichung gemäß den Techniken
durchgeführt,
die von Lawrence Rabiner & Büng-Hwang
Juang, „Fundamentals
of Speech Recognition",
200–238
(1993) und oben unter Bezugnahme auf 2 beschrieben
werden. Für
Fachleute ist offensichtlich, dass von der zeitgruppierenden Sprachsegmentierung
verschiedene Techniken in Schritt 204 durchgeführt werden
können.
Derartige Verfahren umfassen zum Beispiel eine Zeitnormalisierung.
-
Gemäß einem
Ausführungsbeispiel
umfasst, wie in 4 gezeigt, ein sprecherunabhängiges Vorlagenerstellungsteilsystem 300 einen
Prozessor 302 und ein Speichermedium 304. Der
Prozessor 100 ist vorteilhafterweise ein Mikroprozessor,
kann aber jede herkömmliche
Form eines Prozessors, zugewiesenen Prozessors, digitalen Signalprozessors
(DSP), einer Steuervorrichtung oder einer Zustandsmaschine sein.
Der Prozessor 302 ist mit dem Speichermedium 304 verbunden,
das vorteilhafterweise als Flash-Speicher, EEPROM-Speicher, RAM-Speicher, ROM-Speicher
implementiert ist und konfiguriert ist, um Firmware-Anweisungen,
ein auf dem Prozessor 302 laufendes Softwaremodul oder
jede andere herkömmliche
Form eines Speichers aufzunehmen. Das sprecherunabhängige Vorlagenerstellungsteilsystem 300 ist
vorteilhafterweise als ein Computer implementiert, der auf dem UNIX-Betriebssystem
läuft. In
alternativen Ausführungsbeispielen
kann das Speichermedium 304 ein eingebauter RAM-Speicher sein
oder der Prozessor 302 und das Speichermedium 304 können sich
in einer ASIC befinden. In einem Ausführungsbeispiel ist der Prozessor 302 konfiguriert,
einen Satz von Anweisungen auszuführen, der in dem Speichermedium 304 enthalten
ist, um Algorithmusschritte durchzuführen, wie die im Folgenden unter
Bezugnahme auf 6 beschriebenen Schritte.
-
Gemäß einem
anderen Ausführungsbeispiel, wie
in 5 gezeigt, umfasst ein sprecherunabhängiges Vorlagenerstellungsteilsystem 400 einen
Endpunkt-Detektor 402, eine zeitgruppierende Sprachsegmentierungslogik 404,
einen Vektorquantisierer 406, einen Konvergenz-Tester 408 und
eine K-Mittel-Sprachsegmentierungslogik
(K-means speech segmentation logic) 410. Ein Steuerungsprozessor (nicht
gezeigt) kann vorteilhafterweise eingesetzt werden, um die Anzahl
der Iterationen zu steuern, die das sprecherunabhängige Vorlagenerstellungsteilsystem 400 durchführt.
-
Der
Endpunkt-Detektor 402 ist mit der zeitgruppierenden Sprachsegmentierungslogik 404 verbunden.
Die zeitgruppierende Sprachsegmentierungslogik 404 ist
mit dem Vektorquantisierer 406 verbunden. Der Vektorquantisierer 406 ist
mit dem Konvergenztester 408 und der K-Mittel-Sprachsegmentierungslogik 410 verbunden.
Der Steuerungsprozessor kann vorteilhafterweise mit dem Endpunkt-Detektor 402,
der zeitgruppierenden Sprachsegmentierungslogik 404, dem
Vektorquantisierer 406, dem Konvergenztester 408 und
der K-Mittel-Sprachsegmentierungslogik 410 über einen
Steuerungsbus (nicht gezeigt) verbunden sein.
-
Trainingswerte
Sx(n) einer zu trainierenden Äußerung werden
in Rahmen an den Endpunkt-Detektor 402 geliefert. Die Trainingswerte
bzw. Trainingsabtastwerte werden vorteilhafterweise aus einer Trainings-Datenbank
(nicht gezeigt) geliefert, in der zu trainierende Äußerungen
gespeichert sind. In einem Ausführungsbeispiel
enthält
die Trainingsdatenbank 100 Wörter, jeweils von 100 unterschiedlichen
Sprechern gesprochen, für
insgesamt 10,000 gespeicherte Äußerungen.
Der Endpunkt-Detektor 402 erfasst die Start- und Endpunkte
einer Äußerung. In
einem Ausführungsbeispiel
arbeitet der Endpunkt-Detektor 402 gemäß einer Technik, die in dem oben
erwähnten
U.S.-Patent Nr.
6,324,509 und oben unter Bezugnahme auf 2 beschrieben
wird.
-
Der
Endpunkt-Detektor 402 liefert die erfasste Äußerung an
die zeitgruppierende Sprachsegmentierungslogik 404. Die
zeitgruppierende Sprachsegmentierungslogik 404 führt einen
Komprimierungsalgorithmus auf der erfassten Äußerung durch. In einem Ausführungsbeispiel
arbeitet die zeitgruppierende Sprachsegmentierungslogik 404 gemäß einer Technik,
die in dem oben erwähnten
U.S.-Patent Nr. 6,278,972, und oben unter Bezugnahme auf 2 beschrieben
wird. In einem Ausführungsbeispiel komprimiert
die zeitgruppierende Sprachsegmentierungslogik 404 die
erfasste Äußerung in
zwanzig Segmente, wobei jedes Segment ein Gruppenmittel (cluster
mean) umfasst.
-
Die
zeitgruppierende Sprachsegmentierungslogik 404 liefert
das Gruppenmittel für
alle der Trainings-Äußerungen
für ein
gegebenes Wort an den Vektorquantisierer 406. Der Vektorquantisierer 406 vektorquantisiert
das Gruppenmittel für
die Äußerungen
(d.h. für
alle Sprecher desselben Wortes) und liefert die resultierenden Vektoren
als eine potentielle sprecherunabhängige (S1 – speaker independent) Vorlage
für die Äußerungen
an den Konvergenz-Tester 408.
Der Vektorquantisierer 406 arbeitet vorteilhafterweise
gemäß einer
von verschiedenen bekannten Vektorquantisierungs(VQ – vector
quantization)-Techniken. Verschiedene Vektorquantisierungstechniken
werden beschrieben z. B. von A. Gersho & R. M. Gray „Vector Quantization and Signal Compression" (1992). In einem
bestimmten Ausführungsbeispiel
erzeugt der Vektorquantisierer 406 Vier-Gruppen-Vektoren
(four-cluster vectors). Somit wird zum Beispiel jedes Segment seriell
an den Vektor-Quantisierer 406 geliefert, der jedes Segment
als vier Gruppen darstellt. Jede Gruppe repräsentiert jeden Sprecher für das bestimmte
Wort und es gibt mehrere Gruppen pro Wort. Gemäß einem Ausführungsbeispiel
gibt es achtzig Vektoren (vier Gruppen mal zwanzig Segmente) pro
Vorlage.
-
Der
Konvergenz-Tester 408 vergleicht die potentiellen SI-Vorlagen
mit Testwerten Sy(n) von zu testenden Äußerungen. Die Testwerte werden
in Rahmen an den Konvergenztester 408 geliefert. Die Testwerte
werden vorteilhafterweise von einer Testdatenbank (nicht gezeigt)
geliefert, in der zu testende Äußerungen
gespeichert sind. In einem Ausführungsbeispiel
enthält
die Testdatenbank 100 Wörter, jeweils
von 100 unterschiedlichen Sprechern gesprochen, für insgesamt
10,000 gespeicherte Äußerungen.
Die Wörter
sind vorteilhafterweise dieselben Wörter, die in der Trainingsdatenbank
enthalten sind, aber von 100 unterschiedlichen Sprechern gesprochen.
Der Konvergenz-Tester 408 vergleicht die potentiellen SI-Vorlagen
für die
zu trainierenden Äußerungen
mit den Werten für
die zu testenden Äußerungen.
In einem Ausführungsbeispiel
ist der Konvergenz-Tester 408 konfiguriert, einen DTW-Algorithmus
einzusetzen, um auf eine Konvergenz zu prüfen. Der eingesetzte DTW-Algorithmus
kann vorteilhafterweise die Technik sein, die von Lawrence Rabiner & Büng-Hwang
Juang, „Fundamentals
of Speech Recognition",
200–238
(1993) und oben unter Bezugnahme auf 2 beschrieben
wird.
-
In
einem Ausführungsbeispiel
ist der Konvergenz-Tester 408 konfiguriert, sowohl die
Genauigkeit der Ergebnisse für
alle Wörter
in der Datenbank als auch die Varianz der Datenbank mit der möglichen SI-Vorlage
zu analysieren. Die Varianz wird zuerst überprüft und wenn die Varianz unter
einen vordefinierten Schwellenwert fällt, wird die Genauigkeit geprüft. Die
Varianz wird vorteilhafterweise pro Segment berechnet und dann summiert,
um einen Gesamtvarianzwert zu liefern. In einem bestimmten Ausführungsbeispiel
wird die Varianz erlangt durch Berechnen des mittleren quadratischen
Fehlers für die
beste Übereinstimmung
der vier Gruppen. Die Technik des mittleren quadratischen Fehlers
ist in der Technik weithin bekannt. Der Konvergenztest wird als
genau definiert, wenn die Äußerung von
der Testdatenbank mit den potentiellen SI-Vorlagen übereinstimmt,
die von der Trainingsdatenbank erzeugt werden (d.h. wenn eine Erkennung
für alle
Wörter
in der Datenbank korrekt ist).
-
Die
potentielle SI-Vorlage wird ebenfalls von dem Vektorquantisierer 406 an
die K-Mittel-Sprachsegmentierungslogik 410 geliefert. Die
K-Mittel-Sprachsegmentierungslogik 410 empfängt auch die
Trainingswerte, vorteilhafterweise in Rahmen partitioniert. Nachdem
der Konvergenz-Tester 408 einen ersten Konvergenztest durchgeführt hat,
können die
Ergebnisse für
entweder Varianz oder Genauigkeit unter vordefinierte Schwellenwerte
für Varianz und
Genauigkeit fallen. In einem Ausführungsbeispiel wird, wenn die
Ergebnisse für
entweder Varianz oder Genauigkeit unter die vordefinierte Schwellenwerte
für Varianz
und Genauigkeit fallen, eine weitere Iteration durchgeführt. Demgemäß weist
der Steuerungsprozessor die K-Mittel-Sprachsegmentierungslogik 410 an,
eine K-Mittel-Segmentierung der Trainingswerte durchzuführen, wodurch
segmentierte Sprachrahmen erzeugt werden, wie im Folgenden beschrieben
wird. Gemäß der K-Mittel-Sprachsegmentierung
werden die Trainingwerte mit der potentiellen SI-Vorlage abgeglichen, vorteilhafterweise
mit einer DTW-Technik, wodurch ein optimaler Pfad erzeugt wird,
wie oben unter Bezugnahme auf 2 beschrieben
wird. Die Trainingswerte werden dann gemäß dem optimalen Pfad segmentiert.
Zum Beispiel können
die ersten fünf
Rahmen von Trainingswerten mit dem ersten Rahmen der potentiellen SI-Vorlage übereinstimmen,
die nächsten
drei Rahmen von Trainingswerten können mit dem zweiten Rahmen
der potentiellen SI-Vorlage übereinstimmen und
die nächsten
zehn Rahmen von Trainingswerten können mit dem dritten Rahmen
der potentiellen SI-Vorlage übereinstimmen.
In diesem Fall werden die ersten fünf Rahmen der Trainingswerte
in einen Rahmen segmentiert, die nächsten drei Rahmen werden in
einen zweiten Rahmen segmentiert und die nächsten zehn Rahmen werden in
einen dritten Rahmen segmentiert. In einem Ausführungsbeispiel führt die
K-Mittel-Sprachsegmentierungslogik 410 eine K-Mittel-Segmentierung
gemäß einer
beispielhaften K-Mittel-Segmentierungstechnik
durch, wie beschrieben von Lawrence Rabiner & Büng-Hwang Juang, „Fundamentals
of Speech Recognition", 382–384 (1993),
was durch Bezugnahme hier vollständig
aufgenommen ist. Die K-Mittel-Sprachsegmentierungslogik 410 liefert
dann die aktualisierten Rahmen von Gruppenmittel an den Vektorquantisierer 406,
der die Gruppenmittel vektorquantisiert und die resultierenden Vektoren
(welche die neue potentielle SI-Vorlage aufweisen) an den Konvergenz-Tester 408 liefert,
um einen weiteren Konvergenz-Test durchzuführen. Für Fachleute ist offensichtlich,
dass dieser Iterationsprozess solange wie erforderlich fortgeführt werden
kann, um Varianz- und Genauigkeitsergebnisse über den vordefinierten Schwellenwerten zu
erlangen.
-
Sobald
der Konvergenztest bestanden ist, können die potentiellen (nun
endgültigen)
SI-Vorlagen vorteilhafterweise in einem Spracherkennungsteilsystem
verwendet werden, wie dem Spracherkennungsteilsystem von 2.
Die endgültigen
SI-Vorlagen werden in der Vorlagen-Datenbank 108 von 2 gespeichert
oder in Schritt 206 des Ablaufdiagramms von 3 verwendet.
-
In
einem Ausführungsbeispiel
führt ein
sprecherunabhängiges
Vorlagenerstellungsteilsystem (nicht gezeigt) die Verfahrensschritte
durch, die in dem Ablaufdiagramm von 6 gezeigt
werden, um eine sprecherunabhängige
Vorlage für
eine Äußerung herzustellen.
In Schritt 500 werden Trainingswerte einer Äußerung von
einer Trainingsdatenbank (nicht gezeigt) erlangt. Die Trainingsdatenbank
enthält
vorteilhafterweise eine große
Anzahl von Wörtern
(z.B. 100 Wörter),
die jeweils von einer großen Anzahl
von Sprechern gesprochen werden (z.B. 100 Sprecher pro Wort). Der
Steuerungsablauf geht dann weiter zu Schritt 502.
-
In
Schritt 502 wird eine Endpunkt-Erfassung auf den Trainingswerten
durchgeführt,
um eine Äußerung zu
erfassen. In einem Ausführungsbeispiel wird
die Endpunkt-Erfassung gemäß einer
Technik durchgeführt,
die in der oben erwähnten
U.S.-Anmeldung Nr. 09/246,414 und oben unter Bezugnahme auf 2 beschrieben
wird. Der Steuerungsablauf geht dann weiter zu Schritt 504.
-
In
Schritt 504 wird auf der erfassten Äußerung eine zeitgruppierende
Sprachsegmentierung durchgeführt,
wodurch die Äußerung in
mehrere Seg mente komprimiert wird, wodurch jedes Segment durch einen
Mittelwert dargestellt wird. In einem bestimmten Ausführungsbeispiel
wird die Äußerung in zwanzig
Segmente komprimiert, wobei jedes Segment ein Gruppenmittel umfasst.
In einem Ausführungsbeispiel
wird die zeitgruppierende Sprachsegmentierung gemäß einer
Technik durchgeführt,
die in dem oben erwähnten
U.S.-Patent Nr. 6,278,972 und oben unter Bezugnahme auf 2 beschrieben
wird. Der Steuerungsablauf geht dann weiter zu Schritt 506.
-
In
Schritt 506 werden die Gruppenmittel für Trainingswerte für alle Sprecher
desselben Wortes vektorquantisiert. In bestimmten Ausführungsbeispielen
werden die Gruppenmittel gemäß einer
von verschiedenen bekannten VQ-Techniken
vektorquantisiert, die von A. Gersho & R. M. Gray „Vector Quantization and Signal
Compression" (1992)
beschrieben werden. In einem bestimmten Ausführungsbeispiel werden Vier-Gruppen-Vektoren
erzeugt. Somit wird z.B. jedes Segment als vier Gruppen dargestellt.
Jede Gruppe repräsentiert
jeden Sprecher für
das bestimmte Wort und es gibt mehrere Gruppen pro Wort. Gemäß einem
Ausführungsbeispiel
werden achtzig Vektoren (vier Gruppen mal zwanzig Segmente) pro
Vorlage erzeugt. Der Steuerungsablauf geht dann weiter zu Schritt 510.
-
In
Schritt 508 werden Testwerte von einer Testdatenbank (nicht
gezeigt) zum Konvergenztesten erlangt. Die Testdatenbank enthält vorteilhafterweise
dieselben Wörter,
die in der Trainingsdatenbank enthalten sind, die jeweils von einer
großen
Anzahl von Sprechern (z. B. 100 Sprecher pro Äußerung) gesprochen werden.
Der Steuerungsablauf geht dann weiter zu Schritt 510.
-
In
Schritt 510 werden die quantisierten Vektoren als potentielle
SI-Vorlagen mit den Testwerten verglichen, um auf eine Konvergenz
zu testen. In einem Ausführungsbeispiel
ist der Konvergenztest ein DTW-Algorithmus. Der eingesetzte DTW-Algorithmus
kann vorteilhafterweise die Technik sein, die von Lawrence Rabiner & Büng-Hwang
Juang, „Fundamentals
of Speech Recognition",
200–238
(1993) und oben unter Bezugnahme auf 2 beschrieben wird.
-
In
einem Ausführungsbeispiel
analysiert der Konvergenztest von Schritt 510 sowohl die
Genauigkeit der Ergebnisse für
alle Wörter
in der Datenbank als auch die Varianz der Datenbank mit der potentiellen
SI-Vorlage. Die Varianz wird zuerst überprüft und wenn die Varianz unter
einen vordefinierten Schwellenwert fällt, wird die Genauigkeit überprüft. Die
Varianz wird vorteilhafterweise pro Segment berechnet und dann summiert,
um einen Gesamtvarianzwert zu liefern. In einem bestimmten Ausführungsbeispiel wird
die Varianz erlangt durch Berechnen des mittleren quadratischen
Fehlers für
die beste Übereinstimmung
der vier Gruppen. Die Technik des mittleren quadratischen Fehlers
ist in der Technik weithin bekannt. Der Konvergenztest wird als
genau definiert, wenn die potentielle SI-Vorlage, die von der Testdatenbank
erzeugt wird, mit der Äußerung von
der Trainingsdatenbank übereinstimmt
(d.h. wenn eine Erkennung für
alle Wörter
in der Datenbank korrekt ist). Der Steuerungsablauf geht dann weiter
zu Schritt 512.
-
In
Schritt 512 wird, wenn die Ergebnisse des Konvergenztests
von Schritt 510 entweder für Varianz oder Genauigkeit
unter vordefinierte Schwellenwerte für Varianz und Genauigkeit fallen,
eine weitere Iteration durchgeführt.
Demgemäß wird eine
K-Mittel-Sprachsegmentierung auf den Trainingswerten durchgeführt. Die
K-Mittel-Sprachsegmentierung gleicht die Trainingswerte mit der
potentiellen SI-Vorlage vorteilhafterweise mit einer DTW-Technik
ab, wodurch ein optimaler Pfad erzeugt wird, wie oben unter Bezugnahme
auf 2 beschrieben wird. Die Trainingswerte werden
dann gemäß dem optimalen Pfad
segmentiert. In einem Ausführungsbeispiel
wird die K-Mittel-Sprachsegmentierung
gemäß einer Technik
durchgeführt,
die von Lawrence Rabiner & Büng-Hwang
Juang, „Fundamentals
of Speech Recognition",
382–384
(1993) beschrieben wird. Der Steuerungsablauf kehrt dann zurück zu Schritt 506, wo
die aktualisierten Rahmen von Gruppenmitteln vektorquantisiert werden,
und in Schritt 510 (als die neue potentielle SI-Vorlage)
auf Konvergenz mit Werten von der Testdatenbank getestet werden.
Für Fachleute
ist offensichtlich, dass dieser Iterationsprozess solange wie erforderlich
fort gesetzt werden kann, um Varianz- und Genauigkeitsergebnisse über den
vordefinierten Schwellenwerten zu erzielen.
-
Sobald
der Konvergenztest bestanden ist (d.h. sobald die Schwellenwerte
erzielt werden), können
die potentiellen (nun endgültigen
SI-Vorlagen) vorteilhafterweise in einem Spracherkennungsteilsystem
verwendet werden, wie dem Spracherkennungsteilsystem von 2.
Die endgültigen
SI-Vorlagen werden in der Vorlagen-Datenbank 108 von 2 gespeichert
oder in Schritt 206 des Ablaufdiagramms von 2 verwendet.
-
Somit
wurden ein neues und verbessertes Verfahren und eine Vorrichtung
zum Erzeugen von Sprachvorlagen für ein sprecherunabhängiges Spracherkennungssystem
beschrieben. Für
Fachleute ist offensichtlich, dass die Daten, Anweisungen, Befehle,
Information, Signale, Bits, Symbole und Chips, auf die in der obigen
Beschreibung Bezug genommen werden kann, vorteilhafterweise von
Spannungen, Strömen,
elektromagnetischen Wellen, magnetischen Feldern oder Partikeln,
optischen Feldern oder Partikeln oder jeder Kombination daraus dargestellt werden
können.
Für Fachleute
ist weiter offensichtlich, dass die verschiedenen illustrativen
logischen Blöcke,
Module, Schaltungen und Algorithmusschritte, die in Verbindung mit
den hier offenbarten Ausführungsbeispielen
beschrieben werden, als elektronische Hardware, Computersoftware
oder einer Kombination aus beiden implementiert werden können. Die
verschiedenen illustrativen Komponenten, Blöcke, Module, Schaltungen und
Schritte wurden im Allgemeinen hinsichtlich ihrer Funktionalität beschrieben.
Ob die Funktionalität
als Hardware oder Software implementiert wird, hängt ab von den bestimmten Anwendungs-
und Gestaltungseinschränkungen,
die dem gesamten System auferlegt werden. Fachleute erkennen die
Austauschbarkeit von Hardware und Software unter diesen Bedingungen
und wie die beschriebene Funktionalität für jede bestimmte Anwendung
am Besten zu implementieren ist. Als Beispiele können die verschiedenen illustrativen
logischen Blöcke,
Module, Schaltungen und Algorithmusschritte, die in Verbindung mit
den hier offenbarten Ausführungsbeispielen
beschrieben werden, mit einem digitalen Signalprozessor (DSP), ei ner
ASIC (application specific integrated circuit), einem FPGA (field
programmable gate array) oder einer anderen programmierbaren logischen
Vorrichtung, einer diskreten Gatter- oder Transistor-Logik, diskreten
Hardwarekomponenten, wie zum Beispiel Register und FIFO, einem Prozessor,
der einen Satz von Firmware-Anweisungen ausführt, jedem herkömmlichen
programmierbaren Softwaremodul und einem Prozessor oder jeder Kombination
daraus, die zur Durchführung
der hier beschriebenen Funktionen ausgebildet ist, implementiert
oder durchgeführt
werden. Der Prozessor kann vorteilhafterweise ein Mikroprozessor
sein, aber alternativ kann der Prozessor jeder herkömmliche
Prozessor, jede Steuereinrichtung, Mikrosteuereinrichtung oder Zustandsmaschine
sein. Das Softwaremodul kann sich in einem RAM-Speicher, einem Flash-Speicher, einem
ROM-Speicher, einem EPROM-Speicher,
einem EEPROM-Speicher, in Registern, einer Festplatte, einer auswechselbaren Platte,
einer CD-ROM oder in jeder anderen Form von in der Technik bekannten
Speichermedium befinden. Ein beispielhafter Prozessor ist vorteilhafterweise
mit dem Speichermedium verbunden, um so Information aus dem Speichermedium
zu lesen und Information in das Speichermedium zu schreiben. Alternativ
kann das Speichermedium integral in dem Prozessor sein. Der Prozessor
und das Speichermedium können
sich in einer ASIC befinden. Die ASIC kann sich in einem Telefon
befinden. Alternativ können sich
der Prozessor und das Speichermedium in einem Telefon befinden.
Der Prozessor kann als eine Kombination aus einem DSP und einem
Mikroprozessor oder als zwei Mikroprozessoren in Verbindung mit
einem DSP-Kern, usw. implementiert werden.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung wurden somit gezeigt und beschrieben.
Es ist jedoch für
Fachleute offensichtlich, dass zahlreiche Veränderungen an den hier offenbarten
Ausführungsbeispielen
durchgeführt
werden können,
ohne von der Idee oder dem Umfang der Erfindung abzuweichen. Somit
soll die vorliegende Erfindung nicht eingeschränkt werden, außer gemäß den folgenden
Ansprüchen.