-
Die vorliegende Erfindung betrifft
die Aufzeichnung von Daten, die Sprache in einer oder mehreren Umgebungen
sowie sprachfremde Daten enthalten.
-
Spracherkennung stellt einen wichtigen
Aspekt bei der Entwicklung des Zusammenwirkens zwischen Mensch und
Maschine dar. Das Endziel bei der Entwicklung von Spracherkennungssystemen besteht
darin, die Tastaturschnittstelle von Computern durch Spracheingabe
zu ersetzen. Zu diesem Zweck sind verschiedene Systeme entwickelt
worden; diese Systeme konzentrieren sich jedoch üblicherweise auf die Verringerung
der Aufzeichnungsfehlerrate bei relativ reinen Daten in einer kontrollierten
und konstanten Umgebung, d. h., der Sprecher spricht relativ deutlich
in einer leisen Umgebung. Obwohl dies bei Anwendungen wie dem Aufzeichnen von
Diktaten keineswegs eine praxisferne Annahme darstellt, gibt es
diverse reale Situationen, für
die sich diese Annahmen nicht eignen, d. h., die Umgebungsbedingungen
sind zu laut oder/oder wechseln rasch. Da das Endziel der Forschungen
zur Spracherkennung in der universellen Anwendbarkeit von Spracherkennungssystemen
unter realen Bedingungen besteht (z. B. an Informationsständen, bei
der Aufzeichnung von Rundfunksendungen usw.), ist es erforderlich,
Spracherkennungssysteme zu entwickeln, die unter diesen nichtidealen
Bedingungen funktionieren. Zum Beispiel wechseln im Falle von Rundfunksendungen
Sprachsegmente des Ansagers und der Korrespondenten (die entweder
relativ rein sind oder Hintergrundmusik enthalten) mit Musik und
Interviews mit Personen (eventuell per Telefon und möglicherweise
in einer Geräuschkulisse)
ab.
-
Ein Spracherkennungssystem zum Decodieren
reiner Sprache könnte
dazu dienen, diese unterschiedlichen Datenklassen zu decodieren,
würde jedoch
zu einer sehr hohen Fehlerrate führen,
wenn alle Datenklassen außer
der reinen Sprache aufgezeichnet werden. Wenn diese Systeme zum
Beispiel zum Decodieren eines Segments mit reiner Musik verwendet
würden,
erhielte man eine Wortfolge, obwohl die Eingabedaten tatsächlich keine
Sprache enthalten, was zu einer hohen Rate fehlerhafter Einfügungen führt. Eine
Möglichkeit
zur Lösung
dieses Problems besteht in der Verwendung eines „Murmelsprache"-Modells in der Spracherkennungseinheit. Dieses
Murmelsprache-Modell ist so beschaffen, dass es den geräuschähnlichen
Anteil der akustischen Eingabe erkennt und so einige der fehlerhaften Einfügungen verhindern
kann. Die durch dieses Verfahren erreichte Leistungssteigerung ist
jedoch begrenzt.
-
In „Speech and Channel Codec
Candidate for the Half Rate Digital Cellular Channel", PROCEEDINGS OF
ICASSP'94, ADELAIDE,
19. April 1994, Bd. 1, S. 265 bis 268, von SWAMINATHAN ET AL. wird
eine Sprach-Codeausführung
nach dem Stand der Technik beschrieben, welches die Modusauswahl und
die anregungsgesteuerte Modellierung von Daten umfasst, die Sprache
und Hintergrundgeräusche enthalten.
-
Gemäß der durch die Ansprüche 1 bis
24 definierten vorliegenden Erfindung wird nun ein Verfahren zum
Aufzeichnen eines Datensegments bereitgestellt, welches Sprache
in einer oder mehreren Umgebungen und sprachfremde Daten enthält und Folgendes
umfasst: Eingeben der Daten in einen Segmentierer und Erzeugen einer
Reihe von Segmenten, wobei jedem Segment ein aus einer vorgegebenen
Menge von Klassen ausgewählter
Typkennzeichner zugewiesen wird; Aufzeichnen jedes mit einem Typkennzeichner
versehenen Segments unter Verwendung eines speziell für diesen
Typ geschaffenen Systems.
-
Wenn man die vorliegende Erfindung
unter einem anderen Gesichtspunkt betrachtet, kann man sagen, dass
jetzt ein System zum Aufzeichnen eines Datensegments bereitgestellt
wird, das Sprache in einer oder mehreren Umgebungen und sprachfremde
Daten enthält
und Folgendes umfasst: Ein Mittel zum Eingeben der Daten in einen
Segmentierer und Erzeugen einer Reihe von Segmenten, wobei jedem Segment
ein aus einer vorgegebenen Menge von Klassen ausgewählter Typkennzeichner
zugewiesen wird; ein Mittel zum Aufzeichnen jedes mit einem Typkennzeichner
versehenen Segments unter Verwendung eines speziell für diesen
Typ geschaffenen Systems.
-
In einer bevorzugten Ausführungsart
der vorliegenden Erfindung wird eine alternative Möglichkeit zur
Behandlung des Problems bereitgestellt, bei der der erste Schritt
darin besteht, jede der einzelnen Klassen in den Eingabedaten automatisch
zu kennzeichnen und dann eine andere Spracherkennungseinheit zum
Aufzeichnen der einzelnen Klassen der Eingabedaten zu verwenden.
Dadurch wird die Systemleistung für alle Datenklassen erheblich
verbessert.
-
Bei einer bevorzugten Ausführungsart
der vorliegenden Erfindung wird jede Datenklasse durch ein speziell
hierfür bestimmtes
System aufgezeichnet. Diese Systeme entstehen durch Umwandlung der Übungsdaten,
mittels derer das Spracherkennungssystem trainiert wurde, so dass
es die akustische Umgebung der Klasse erkennt. Zum Beispiel besteht
das Hauptkennzeichen von Telefonsprache darin, dass sie auf ein
Frequenzband von 300 bis 3700 Hz beschränkt ist, während die reinen Übungsdaten
eine größere Bandbreite
besitzen. Daher werden die Übungsdaten
auf eine Bandbreite von 300 bis 3700 Hz beschränkt, um sie zu umzuwandeln
und so besser an Sprache von Telefonqualität anzupassen, und das Spracherkennungssystem
wird mittels dieser umgewandelten Daten trainiert. Desgleichen wird
im Falle musikgestörter
Sprache zu den reinen Übungsdaten
reine Musik hinzugefügt,
und das Spracherkennungssystem wird mittels der musikgestörten Übungsdaten trainiert.
-
Bevorzugte Ausführungsarten der vorliegenden
Erfindung stellen ein Verfahren zur Verbesserung der Erkennungsgenauigkeit
beim Aufzeichnen von Sprachdaten bereit, die Daten aus einer Vielzahl von
Umgebungen wie zum Beispiel Rundfunknachrichtensendungen enthalten.
Diese Segmentierungsprozedur erfolgt unkontrolliert, da die Sprachdaten hierfür nicht
in Schriftform vorliegen müssen.
Rundfunknachrichtensendungen enthalten üblicherweise Daten aus verschiedenartigen
Quellen in unterschiedlichen Umgebungen. Eine grobe (und sehr zutreffende)
Einteilung von Sprachdaten ergibt die folgenden Klassen: Reine Sprache,
geräuschgestörte Sprache
(bei Rundfunknachrichten kann dies Hintergrundmusik sein), reine
Geräusche
(oder Musik) ohne Sprache, Telefoninterviews und schließlich Sprache
in einer ungleichmäßigen Geräuschumgebung. Üblicherweise
werden Spracherkennungssysteme mittels reiner Sprache trainiert;
wenn dieses System jedoch zum Decodieren der Daten aus anderen Klassen
eingesetzt wird, erzielt man nur eine sehr geringe Erkennungsleistung.
-
Bei einer bevorzugten Ausführungsart
der vorliegenden Erfindung werden zuerst automatisch verschiedene
Datenklassen gekennzeichnet, worauf dann jede Klasse durch ein für diese
jeweils speziell entwickeltes System aufgezeichnet wird. Bei einer bevorzugten
Ausführungsart
der vorliegenden Erfindung wird ein Segmentierungsalgorithmus bereitgestellt,
der auf der Schaffung eines akustischen Modells zur Kennzeichnung
der Daten in jeder Klasse und der anschließenden Verwendung eines dynamischen
Programmierungsalgorithmus (des Viterbi-Algorithmus) basiert, um die zu jeder
Klasse gehörenden
Segmente automatisch zu kennzeichnen. Die akustischen Modelle werden
in einem bestimmten Merkmalraum erstellt, die Erfindung beschreibt
aber auch verschiedene Merkmalräume
zur Verwendung für
verschiedene Klassen.
-
Im Folgenden werden in Form eines
Beispiels bevorzugte Ausführungsarten
der vorliegenden Erfindung unter Bezug auf die beiliegenden Zeichnungen
beschrieben, in denen:
-
1 ein
linearer Segment-Klassifizierungsbaum für eine bevorzugte Ausführungsart
der vorliegenden Erfindung ist;
-
2 ein
Klassifizierer nach dem Hidden-Markov-Modell für eine bevorzugte Ausführungsart
der verliegenden Erfindung ist;
-
3 ein.
paralleler Segment-Klassifizierungsbaum für eine bevorzugte Ausführungsart
der vorliegenden Erfindung ist;
-
4 und 4a Hidden-Markov-Modelle zum
Klassifizieren von segmentierter Sprache, die einem aus einer Vielzahl
bekannter Sprecher entspricht, bei einer bevorzugten Ausführungsart
der vorliegenden Erfindung sind;
-
5 ein
Blockschaltbild des Systems einer bevorzugten Ausführungsart
der vorliegenden Erfindung ist;
-
6 ein
Flussdiagramm einer Ausführungsart
der vorliegenden Erfindung ist;
-
7(a) ein
Flussdiagramm ist, welches das Einfügen eines Codeverzeichnisses
bei einer bevorzugten Ausführungsart
der vorliegenden Erfindung veranschaulicht; und,
-
7(b) ein
Flussdiagramm ist, das eine Segmentierungsprozedur bei einer bevorzugten
Ausführungsart
der vorliegenden Erfindung beschreibt.
-
Es wird ein Verfahren zur Verbesserung
der Erkennungsgenauigkeit beim Aufzeichnen von Sprachdaten beschrieben,
die Daten aus einer Vielzahl von Umgebungen wie zum Beispiel Rundfunknachrichtensendungen
enthalten. Die hier betrachteten speziellen Klassen beziehen sich
auf die Rundfunknachrichtensendung, jedoch können zum Verarbeiten anderer
Situationen, bei denen Sprache aus verschiedenen Umgebungen und
sprachfremde Klänge
beteiligt sind, ähnliche
Verfahren verwendet werden. Rundfunknachrichtensendungen enthalten Daten
aus einer Vielzahl von Quellen in verschiedenen Umgebungen, und
eine grobe Einteilung dieser Typen sieht wie folgt aus: Reine Sprache,
durch Hintergrundmusik gestörte
Sprache, reine Musik ohne Sprache, per Telefon geführte Interviews
und schließlich
Sprache in einer ungleichmäßigen Geräuschumgebung.
Ferner kann man die obigen Kategorien weiter in Unterkategorien
unterteilen, zum Beispiel kann die Klasse der reinen Sprache anhand
der Person des Sprechers oder anderer Mikrofontypen usw. unterteilt
werden. Die oben beschriebenen Kategorien sind jedoch insofern am
wichtigsten, als die obige Einteilung ausreichend ist, um eine deutliche Leistungsverbesserung
zu bewirken.
-
Bei einer bevorzugten Ausführungsart
der vorliegenden Erfindung wird die Spracheingabe in eine zeitliche
Folge von Merkmalvektoren s1, ... , sT umgewandelt, und die Zielstellung besteht
jetzt darin, jedem der Merkmalvektoren eine der oben erwähnten Klassen
zuzuordnen. Da aufeinanderfolgende Merkmalvektoren in sehr kurzen
Zeitabständen
(ca. 10 ms) aus der Spracheingabe extrahiert werden, kann es passieren,
dass einem Segment von benachbarten Merkmalvektoren dieselbe Kennung
zugeordnet wird. Bei der hier beschriebenen Ausführung ist es auch möglich, diese
Bedingung einzuhalten, d. h., dass eine Gruppe von benachbarten
Merkmalvektoren, denen dieselbe Kennung zugeordnet wird, mindestens
genauso lang oder länger
als ein bestimmter Mindestwert ist. Es wird angenommen, dass die Übungsdaten
markiert sind, d. h. jede Folge von Merkmalvektoren, die die Übungsdaten
darstellen, durch einen Klassenkennzeichner markiert wurde, und
dass ferner für
jede Klasse ausreichend Daten vorliegen, um für die Klasse ein Modell erstellen zu
können.
-
Eines der vorliegenden Probleme besteht darin,
einen Merkmalvektor zu finden, mittels dessen sich verschiedene
Klassen leicht unterscheiden lassen und der verschieden von dem
für den
Spracherkennungsprozess verwendeten Merkmalvektor sein kann. Es
kann auch der Fall vorliegen, dass zum Trennen unterschiedlicher
Klassen verschiedene Merkmalvektoren erforderlich sind. Unter solchen Umständen ist
es einfacher, die Segmentierung entsprechend dem in 1 gezeigten Hierarchiebaum vorzunehmen,
bei dem auf jeder Ebene des Baums die Daten einer Klasse gekennzeichnet
sind. Dadurch wird auch die Verwendung verschiedener Merkmalvektoren
auf unterschiedlichen Ebenen des Baums ermöglicht. Der Merkmalvektor f1 in 1 wird
beispielsweise zum Kennzeichnen zur Klasse c1 gehöriger Segmente
und f2 zum Kennzeichnen zur Klasse c2 gehöriger
Segmente usw. verwendet.
-
Die Segmentierung erfolgt auf jeder
Ebene des Baums in folgender weise: Auf jeder Ebene des Baums wird
für jeden
Merkmalvektor der Spracheingabe eine Binärentscheidung getroffen, d.
h., ob der Merkmalvektor zu einer speziellen Klasse gehört oder
nicht. Der erste Schritt hierfür
besteht darin, Modelle zu erstellen, die die Verteilung des Merkmalvektors
für jede
Klasse darstellen. Dies kann man erreichen, indem man die Merkmalvektoren
der Übungsdaten,
welche durch Kennungen der jeweiligen Klasse markiert sind, zusammenfasst
und daraus ein Modell Mc erstellt, das ein
Gemisch von Gauß-Verteilungen
Gc,i (mit i = 1,..., k1) umfasst, wobei μc,i, λc,i die Mittelwerte
und die Kovarianzmatrizen der Gauß-Verteilungen darstellen.
Derselben Prozedur kann man sich zum Erstellen eines Modells Mc für Daten
bedienen, die nicht zu der Klasse gehören. In diesem Gemisch sollen
Gc,i (mit i = 1, ... , k2) die Gauß-Verteilungen
und μc,i, λc,i die Mittelwerte und die Kovarianzmatrizen
dieser Gauß-Verteilungen darstellen.
-
Im Folgenden wird die Annahme zugrundegelegt,
dass der Eingabemerkmalvektor durch eines dieser Modelle erzeugt
wurde, und die Aufgabe besteht nun darin, ihm die Kennung desjenigen
Modells zuzuordnen, durch das er die höchste Wahrscheinlichkeit erhält. Die
Wahrscheinlichkeit des Eingabemerkmalvektors xt,
zu der jeweiligen Klasse zu gehören,
wird durch P(xt/Mc)
und die Wahrscheinlichkeit, nicht zu dieser Klasse zu gehören, durch
P(xt/Mc) angegeben.
Ferner soll die oben erwähnte
Bedingung der Mindestlänge
eingeführt
werden, d. h., dass die Anzahl benachbarter Merkmalvektoren, denen
dieselbe Kennung zugeordnet wurde, mindestens einen vorgegebenen
Wert besitzen muss. Dies wird dadurch erreicht, dass man zur Erzeugung
der Eingabedaten ein Hidden-Markov-Modell (HMM) gemäß 2 annimmt.
Der obere Pfad des Modells entspricht den zu der angegebenen Klasse
gehörenden Eingabedaten,
und die Wahrscheinlichkeitsverteilung der Zweige c1 bis
cN ist durch Mc gegeben.
Der untere Pfad entspricht den nicht zu der angegebenen Klasse gehörenden Eingabedaten,
und die Wahrscheinlichkeitsverteilung der Zweige c
1 bis c
M ist durch Mc gegeben. Durch die Mindestlängen N und
M der beiden Pfade wird sichergestellt, dass die Anzahl der benachbarten
Merkmalvektoren, die entweder der Klasse zugeordnet werden oder
nicht zugeordnet werden, größer als
M bzw. N ist. Der Viterbi-Algorithmus dient dazu, einen Pfad durch
das Trellis-Netz
zu bahnen, die dem Modell in 2 entspricht,
und Gruppen von benachbarten Eingabemerkmalvektoren einen Klassenkennzeichner
c oder c zuzuordnen.
-
Bei der Verarbeitung von Rundfunknachrichten
wurde die erste Ebene des Baums in 1 dazu verwendet,
reine Musiksegmente von den übrigen Daten
zu trennen. Bis hierhin ist der Merkmalvektor f, der bei der oben
beschriebenen Prozedur verwendet werden muss, noch nicht festgelegt
worden. Zur Kennzeichnung von Musik gibt es verschiedene Merkmale,
die einzeln oder als Kombination zur Bildung des Merkmalvektors
f1 von 1 verwendet werden
können.
-
Alle 10 ms wird ein Fenster (als
Rahmen bezeichnet) der Spracheingabe erfasst und für jeden Rahmen
ein Merkmalvektor erzeugt. Üblicherweise besteht
der erste Schritt während
des Extrahierungsschrittes eines Merkmalvektors in der Berechnung der
Energie oder des Logarithmus der Energie in logarithmisch abgestuften
Frequenzbändern.
Eines der Merkmale von Musik ist, dass bei ihr die Energie in jedem
Band ungefähr
gleich ist. Daher kann als Merkmal zur Kennzeichnung von Musik deren
Energieverteilung über
die verschiedenen Bänder
in einem Rahmen dienen. Ein anderes Merkmal zur Unterscheidung der
Musik von Sprache ist der zeitliche Verlauf der Tonhöhe des Signals.
Die Tonhöhe
eines Sprachsignals schwankt stark um den Mittelwert, während die
Tonhöhe
eines Musiksignals zeitlich relativ konstant bleibt. Daher kann
als weiteres Merkmal zur Unterscheidung der Musik von Sprache der Mittelwert
und die zeitliche Schwankung der Tonhöhe dienen. Als drittes Merkmal
kann das Cepstrum oder eine Linearkombination der Cepstra mehrerer
Rahmen dienen. (Die Cepstra erhält
man durch Anwenden der diskreten Fouriertransformation auf einen Vektor,
dessen Elemente die Energiewerte in den logarithmisch abgestuften
Frequenzbändern
umfassen). Eine weitere Möglichkeit
besteht darin, mit einer Kombination der oben genannten Merkmale
zu beginnen und dann eine lineare Diskriminante zu berechnen (siehe
P. O. Duda und P. E. Hart, „Pattern Classification
and Scene Analysis",
Wiley, New York, 1973), um Musik und Sprache voneinander zu trennen
(da nur zwei Klassen unterschieden werden müssen, kann man nur einen Diskriminantenvektor finden,
der die beiden Klassen maximal voneinander trennt).
-
Nach dem Entfernen der reinen Musiksegmente
wird auf der nächsten
Ebene in 1 die Telefonsprache
von normaler Sprache getrennt. Telefonsprache ist wie oben erwähnt durch
eine Bandbreite von 300 bis 3700 Hz gekennzeichnet, während normale
reine Sprache eine wesentlich größere Bandbreite
(z. B. 0–8000
Hz) aufweist. Daher kann das Verhältnis zwischen der Energie
in dem Frequenzband 300–3700
Hz und der Energie außerhalb dieses
Bandes als Merkmal zur Trennung von Telefonsprache und normaler
Sprache verwendet werden. Alternative oder zusätzliche Möglichkeiten sind die Cepstra
und deren lineare Diskriminanten, wie sie oben für den Fall der reinen Musik
erwähnt
wurden.
-
Die dritte Ebene in dem Baum von 1 trennt aus der Sprache
mit einem Geräuschhintergrund
die reine Sprache ab. Ein Merkmal, das die Sprache kennzeichnet,
sind ihre starken zeitlichen Schwankungen, während die Schwankungen bei
geräuschunterlegter
Sprache wesentlich geringer sind. Deshalb können die zeitlichen Energieschwankungen
als ein mögliches
Merkmal zur Trennung von reiner und geräuschunterlegter Sprache dienen.
Ebenso wie bei den obigen Fällen
stellen die Cepstra und deren lineare Diskriminanten alternative
oder zusätzliche
Möglichkeiten
dar.
-
Nach der Kennzeichnung der reinen
Sprachsegmente kann man versuchen, diese weiter nach der Person
des Sprechers oder nach dem verwendeten Mikrofontyp usw. zu unterteilen.
Die hier verwendete Segmentierungsprozedur ist der in der oberen Baumhierarchie
verwendeten bis auf die Tatsache identisch, dass die Aufteilung
auf dieser Stufe nicht mehr binär
erfolgt. Wenn zum Beispiel die reine Sprache nach einem der Sprecher
A, B, C oder einem unbekannten Sprecher unterteilt werden soll,
entspräche
die Baumhierarchie der in 3 gezeigten,
und das zugrundeliegende HHM entspräche 4. Somit hat der Zweig a1 bis
am eine Wahrscheinlichkeitsverteilung, die den Sprecher A kennzeichnet,
der Zweig b1 bis bn eine
Wahrscheinlichkeitsverteilung, die den Sprecher B kennzeichnet und
so weiter, und d1 bis dp eine
Wahrscheinlichkeitsverteilung, die den unbekannten Sprecher kennzeichnet;
dies stellt ein sprecherunabhängiges
Modell dar.
-
Wenn für die zu segmentierende reine
Sprache eine Aufzeichnung zur Verfügung steht, kann man diese
zur weiteren Verbesserung der Segmentierung einsetzen. Im diesem
Fall wird das Modell für jeden
Sprecher durch Kombination einer Anzahl von Teilmodellen erzeugt,
wobei jedes Teilmodell die Aussprache einer phonetischen Klasse
durch den Sprecher kennzeichnet. Wenn es K phonetische Klassen gibt,
setzt sich zum Beispiel jedes Sprechermodell MS aus
einem Gemisch von Teilmodellen zusammen (eine Gauß-Verteilung
ist ein Beispiel für
ein Teilmodell), wobei jedes Teilmodell einer phonetischen Klasse
entspricht.
-
Die Spracheingabe wird zuerst unter
Verwendung eines sprecherunabhängigen
Modells mittels des Viterbi-Algorithmus (siehe A. J. Viterbi, „Error Bounds
for Convolutional Codes and An Asymptotically Optimal Decoding Algorithm", IEEE Trans. on Info.
Theory, Bd. IT-13, S. 260 bis 269, April 1967) der vorgegebenen
Textvorlage zugeordnet, um jedem Merkmalvektor eine phonetische
Kennung zuzuordnen und Ruheperioden auszusondern. Der Segmentierer
hat nun die Aufgabe, den Sprachsegmenten zwischen den Ruheperioden
einen Sprecherkennzeichner zuzuordnen, wobei die phonetische Kennung
für jeden
Merkmalvektor in dem Segment gilt.
-
Das akustische Modell für das Zuordnen
eines Sprecherkennzeichners zu dem Segment zwischen zwei aufeinanderfolgenden
Ruheperioden wird in 4a gezeigt.
Hier wird angenommen, dass die Länge
des Segments zwischen den beiden Ruheperioden M beträgt und den
Merkmalvektoren die phonetischen Kennungen j1,
... ,jM zugeordnet werden. Die Wahrscheinlichkeit
eines Merkmalvektors wird für
den Fall berechnet, dass das Sprecherteilmodell, welches der dem
Merkmalvektor, zum Beispiel j1, zugeordneten
phonetischen Klasse entspricht, das Segment ist und aj1,
bj1, ... ,uj1 die
Teilmodelle der verschiedenen Sprecher für die phonetische Klasse j1 darstellen.
-
Nachdem die Spracheingabe in die
gewünschten
Klassen segmentiert wurde, wird im nächsten Schritt jedes Segment
durch eine speziell für
dieses Segment geschaffene Spracherkennungseinheit aufgezeichnet.
Diese Systeme entstehen durch Umwandlung der Übungsdaten, durch die das Spracherkennungssystem
so trainiert wurde, dass es die akustische Umgebung der Klasse erkennt.
Das Hauptkennzeichen der Telefonsprache besteht zum Beispiel in
der Begrenzung ihres Frequenzbandes von 300 bis 3700 Hz, während die
reinen Übungsdaten
eine größere Bandbreite
aufweisen. Um die Übungsdaten
zur besseren Erkennung der Sprache mit Telefonqualität umzuwandeln,
wird die Bandbreite der Übungsdaten
auf 300–3700
Hz begrenzt und das Spracherkennungssystem mittels dieser umgewandelten
Daten trainiert. Ebenso wird im Falle der musikgestörten Sprache
zu den reinen Übungsdaten reine
Musik hinzugefügt
und das Spracherkennungssystem mittels der musikgestörten Übungsdaten
trainiert.
-
5 ist
ein Blockschaltbild eines Systems gemäß der vorliegenden Erfindung.
Die Erfindung kann in einem allgemein gebräuchlichen Computer realisiert
werden, der so programmiert ist, dass er die in 5 gezeigten Funktionsblöcke bereitstellt.
In 5 erfolgt die Spracheingabe,
welche reine Sprache, musikgestörte
Sprache, reine Musik und/oder Telefonsprache enthalten kann, in
einen Segmentierer 500. Der Segmentierer segmentiert die
Spracheingabe in Segmente, die entsprechend einem der obigen Typen
der Spracheingabe eingeteilt sind. Dann wird jedes Segment einem
seinem Typ entsprechenden Decodierer zugeleitet: Telefonsprach-Segmente
zum Telefonsprach-Decodierer 502; reine Sprache zum Decodierer 506 für reine Sprache;
und musikgestörte
Sprache zum Decodierer 508 für musikgestörte Sprache. Jeder der Decodierer 502, 506 und 508 erzeugt
eine decodierte Ausgabe des Eingabesegments, und diese Ausgaben werden
als decodierte Ausgabe des Systems vorgelegt. Für den Fall der reinen Musik
wird eigentlich keine decodierte Ausgabe erzeugt, da hierin keine
zu decodierenden Sprachdaten enthalten sind.
-
6 zeigt
ein Flussdiagramm einer Ausführungsart
der vorliegenden Erfindung. Auch hier können diese Schritte in einem
allgemein gebräuchlichen
Computer realisiert werden, der gemäß den obigen Angaben programmiert
wurde. Der erste Schritt des in 6 gezeigten
Prozesses besteht darin, eine Dateneingabe bereitzustellen, die
reine Musik, musikgestörte
Sprache, Telefonsprache und/oder reine Sprache enthalten kann. Diese
Eingabe wird in Schritt 602 segmentiert, um eine Reihe von
Segmenten zu erzeugen, die die Dateneingabe darstellen, wobei jedem
Segment ein Kennzeichner aus einer vorgegebenen Gruppe von Kennzeichnern
zugeordnet wird: Reine Musik, musikgestörte Sprache, Telefonsprache
und/oder reine Sprache. Dann werden die Segmente in Schritt 604 unter
Verwendung eines auf den jeweiligen Datentyp zugeschnittenen speziellen
Decodierungsmittels decodiert und aufgezeichnet. Das Ergebnis dieser
Operation wird als decodierte Ausgabe vorgelegt.
-
Durch eine bevorzugte Ausführungsart
der vorliegenden Erfindung wird die Segmentierung sprachlicher Äußerungen
auf Basis des Sprechers ermöglicht.
Mit anderen Worten, das Verfahren kann unter stationären Bedingungen
der Geräusche
und des Kanals die Spracheingabe entsprechend der Person des Sprechers
segmentieren. Hierfür
brauchen die Sprecher nicht vorher bekannt zu sein. Auch die Anzahl
der Sprecher kann unbekannt sein. Wenn sich der Kanal oder die Hintergrundgeräusche ändern (d.
h., wenn Musik dazukommt), kann das Verfahren ebenfalls richtig
segmentieren. Durch diesen Aspekt der Erfindung wird die unkontrollierte
Segmentierung sprachlicher Äußerungen
auf Basis des Sprecherkanals und des Hintergrundes ermöglicht. Die
Erfindung benötigt
keine Vorinformationen zu dem Signal, kann solche Informationen
jedoch unkompliziert verwenden. Sie stellt ein schnelles Verfahren
dar, das zum Fällen
einer Entscheidung keine eigentliche Spracherkennungsphase benötigt. Durch diesen
Aspekt der Erfindung werden die verschiedenen Segmente umgeordnet,
die dasselbe Kennzeichen aufweisen (d. h. derselbe Sprecher über denselben
Kanal und mit einem ähnlichen
Hintergrund), so dass Systeme in Übereinstimmung mit den Eigenheiten
jeder Segmentklasse trainiert werden können.
-
7(a) veranschaulicht
ein Verfahren gemäß dieser
Ausführungsart
der vorliegenden Erfindung, durch das einem vorhandenen System neue Codeverzeichnisse
hinzugefügt
werden können.
Die Zugangsprüfung 702 wählt Merkmalvektoren
aus, die keine Konflikte mit den vorhandenen Codeverzeichnissen
erzeugen. Dann werden die Merkmalvektoren in Schritt 704 quantifiziert
und die entstehenden Codeverzeichnisse zu den Blöcken 706 und 708 geschickt,
in denen die Mittelwerte bzw. die Varianzen berechnet werden. Die
Mittelwerte und die Varianzen werden dann in Block 710 gespeichert.
Im Bewertungsblock 712 wird über die Menge aller Merkmalvektoren
Buch geführt,
die außerhalb
der Mittelwerte und Varianzen eines bestimmten Codeverzeichnisses
liegen. Wenn die Anzahl solcher Vektoren einen vorgegebenen Schwellenwert übersteigt,
wird der Merkmalvektor gelöscht. 7(b) beschreibt die Testprozedur.
In Schritt 802 wird jeder Rahmen unter Verwendung der Eingabe von
Block 804 anhand der aktuell vorhandenen Codeverzeichnisse
decodiert. Dann wird in Block 806 eine Gruppe von Histogrammen
erzeugt, die zum Auswählen
eines Codeverzeichnisses in Schritt 810 dienen. Die Histogramme stellen
die Anzahl der Merkmalvektoren in der Testsprache dar, die mit jedem
Codeverzeichnis übereinstimmen.
Das mögliche
Codeverzeichnis wird in Schritt 808 auf Plausibilität geprüft (Verhältnisse
zwischen den Abständen
zu den Codewörtern
und den Varianzen dieser Codewörter).
Kann die Auswahl akzeptiert werden, werden die Rahmen durch einen
Index des Codeverzeichnisses markiert. Wahlweise können die
Daten zum Aktualisieren der zugehörigen Rahmen verwendet werden.
Aus Gründen
der Stabilität
sollten im Allgemeinen zum Definieren eines Codeverzeichnisses keine
Datensequenzen verwendet werden, die länger als 10 Sekunden sind.
Schlägt
der Plausibilitätstest
fehl, wird in Schritt 812 unter Verwendung zulässiger.
Rahmen ein neues Codeverzeichnis zu den vorhandenen Codeverzeichnissen hinzugefügt.
-
Man beachte, dass das Verfahren die
Dateien nicht nur segmentiert, wenn ein Sprecherwechsel vorliegt,
sondern dass es auch Segmente umordnen kann, die zu einem bestimmten
Sprecher gehören (bzw.
unter ähnlichen
Bedingungen).
-
Da zu den Sprechern keine Informationen bekannt
sind, ist bei diesem Aspekt der Erfindung keine Trainingsphase erforderlich.
Da jedoch einige Schwellenwerte erforderlich sind, werden diese Schwellenwerte
unter Verwendung ähnlicher
Daten vor dem Test ermittelt. Die Auswahl der Schwellenwerte kann
durch Probieren erfolgen.
-
Sollten jedoch vorher bereits Informationen bekannt
sein, so können
diese in das Codeverzeichnis aufgenommen werden. wenn zum Beispiel
einige Sprecher bekannt sind, können
deren Modelle vorher geladen werden, und nachher werden nur neue
Sprecher in die Datenbank aufgenommen. Wenn im Hintergrund Musik
vermutet wird, können
Codeverzeichnisse mit reiner Sprache, reiner Musik und verschiedenen
Typen von Musik mit Sprache erstellt werden.
-
Die obige Einteilung erfolgt ohne
Kontrolle und unabhängig
von jeglicher Spracherkennung.
-
Bei einer bevorzugten Anordnung sind
die (als Ausgabe der akustischen Verarbeitung erhaltenen) Merkmalvektoren
das MEL-Cepstrum,
Delta und Delta-Delta (einschließlich CO (Energie)). Es gibt 39
Dimensionsvektoren. Die Merkmale werden normalerweise für 30 ms
lange Rahmen im Abstand von 10 ms berechnet. Man beachte, dass es
allein der Spracherkennungseinheit obliegt, welches Modell bereitgestellt
wird. Wenn andere Merkmalvektoren (wie das LPC-Cepstrum) verwendet
werden, kann der Segmentierer das LPC-Cepstrum als Merkmalvektor
verwenden. Die Leistungsfähigkeit
des Segmentierers hängt
jedoch von der verwendeten Merkmalgruppe ab. Natürlich ist es immer möglich, für die Erkennungseinheit
und den Segmentierer unterschiedliche Merkmalgruppen zu verwenden.
-
Das Segmentierersystem speichert
zu jedem Segmenttyp eine Mindestmenge an Informationen: Zum Beispiel
ein Codeverzeichnis mit 65 Codewörtern
(obwohl die Anzahl der Codewörter
nicht entscheidend ist), deren Varianzen sowie einige während des
Eintragens wahlweise registrierten Bewertungsinformationen. Es ist
insbesondere nicht erforderlich, die Übungssequenzen zu speichern.
-
Sobald schließlich ein Codeverzeichnis ausgewählt worden
ist, kann das System die zugehörigen
Rahmen entsprechend markieren.
-
Die Segmentierung erfolgt nach einem
verallgemeinerten Algorithmus zur Vektorquantifizierung.
-
Wenn in die Datenbank ein neues Codeverzeichnis
aufgenommen wird, werden die als zulässig ausgewählten Merkmalvektoren zu einer
Gruppe von beispielsweise 65 Gedewörtern zusammengefasst. Auch
die Varianz jeder Gruppe wird gespeichert. Und schließlich werden
für jedes
Codewort noch einige weitere Bewertungsinformationen gespeichert,
einschließlich
der Anzahl der zu diesem Codewort gehörenden Merkmalvektoren, die
nur sehr entfernt mit diesem zu tun haben. Es können zwei Abstände verwendet
werden: Ein Mahalanobis-Abstand, der ein gewichteter euklidischer
Abstand ist, wobei seine Gewichte im umgekehrten Verhältnis zu
den Varianzen jeder Dimension des Merkmalvektors stehen (diese Gewichte
lassen sich zuvor auf Basis der zum Trainieren der Spracherkennung
verwendeten Daten oder der Übungsdaten
und/oder Testdaten festlegen), oder eines wahrscheinlichen Abstands,
wobei der Abstand gleich dem Logarithmus der Wahrscheinlichkeit
der zu dem Codewort (gleicher Mittelwert und gleiche Varianzen)
gehörenden
Gauß-Verteilung
ist. Üblicherweise
werden für
das Training 10 Sekunden Sprache verwendet. Merkmalvektoren werden
als zulässig
erachtet, wenn sie keine Konflikte mit vorhandenen Codewörtern erzeugen.
Das bedeutet, dass einige Vektoren, die vorhandenen Codewörtern zu ähnlich sind,
während
der Gruppenbildung abgewiesen werden. Wenn dies nicht erfolgt, kommt
es durch Überlappungen
von Gruppen zu Instabilitäten.
-
Während
der Testphase oder bei der eigentlichen Anwendung des Systems erhält man die
Merkmalvektoren von der Akustikausgabe. Nach etwa drei Sekunden
Sprache erscheint eine mögliche
Kennung. Nach etwa 5 bis 10 Sekunden wird eine abschließende Entscheidung
gefällt.
Der Test wird mittels eines verallgemeinerten VQ-Decodierers durchgeführt. Dieser
sucht nacheinander für
jeden Rahmen das passendste Codeverzeichnis aus (oder ordnet die
N passendsten Codeverzeichnisse der Reihe nach). Dann wird ein Histogramm
erzeugt, welches anzeigt, wie viele Rahmen jedes Codeverzeichnis ausgewählt haben.
Das am häufigsten
ausgewählte Codeverzeichnis
legt die mögliche
Kennung fest.
-
In dieser Phase prüft der Segmentierer,
ob die Wahl der möglichen
Kennung plausibel ist. Wenn dies nicht der Fall ist, wird unter
Verwendung zulässiger
Rahmen ein neues Codeverzeichnis hinzugefügt. Dessen Eignung wird mittels
verschiedener Tests geprüft.
Zuerst wird das Histogramm untersucht. Ein deutliches Maximum zeigt
eine gute Chance dafür an,
dass die Auswahl richtig ist. Bei mehreren gleichwertigen Codeverzeichnissen
werden Varianztests aussagekräftiger.
Die Varianztests werden wie folgt definiert: Für jeden Merkmalvektor wird
dessen Abstand zu dem ausgewählten
Codewort oder den gleichwertigen Codewörtern mit deren zugehörigen Varianzen
verglichen. Wenn die Abstände,
die zugehörigen
Bewertungszahlen vorausgesetzt, zu groß sind, wird das Codeverzeichnis
verworfen. Wenn schließlich
kein Codeverzeichnis akzeptiert wird, wird keines festgelegt, und
es muss ein neues Codeverzeichnis erstellt werden. wenn ein akzeptierbares Codeverzeichnis übrigbleibt,
wird die Kennung durch dieses festgelegt.
-
Obwohl die Erfindung insbesondere
unter Bezug auf dessen spezielle Ausführungsarten beschrieben wurde,
ist klar, dass an diesen Ausführungsarten Änderungen
angebracht werden können, ohne
von dem durch die beiliegenden Ansprüche festgelegten Geltungsbereich
der Erfindung abzuweichen.