-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Erkennen
von Sprache aus einem Eingangssprachsignal, von der Art, die den
Schritt des Abtastens des Eingangssprachsignals über mehrere Rahmen umfasst,
wovon jeder der mehreren Rahmen mehrere digitale Abtastwerte aufweist.
-
Die
Spracherkennungstechnologie ist heutzutage weit verbreitet. Typischerweise
empfangen Spracherkennungssysteme ein zeitvariables Sprachsignal,
das für
gesprochene Wörter
und Sätze
steht. Diese Systeme versuchen, die Wörter und Sätze im Sprachsignal zu bestimmen,
indem Bestandteile des Sprachsignals analysiert werden. Als erster
Schritt müssen
die meisten Spracherkennungssysteme zuerst diejenigen Teile des
Signals, die gesprochene Wörter übertragen,
aus den nicht sprachlichen Teilen des Signals isolieren. Dazu versuchen
Spracherkennungssysteme, die Anfangs- und Endgrenzen eines Worts
oder einer Gruppe von Wörtern
im Sprachsignal zu bestimmen. Die genaue und zuverlässige Bestimmung
von Anfangs- und Endgrenzen von Wörtern und Sätzen wirft vor allem dann ein
herausforderndes Problem auf, wenn das Sprachsignal Hintergrundgeräusche enthält.
-
Spracherkennungssysteme
greifen im Allgemeinen auf unterschiedliche Arten von Information
zurück, die
im Sprachsignal eingeschlossen sind, um die Stelle oder ein einzelnes
Wort oder eine einzelne Gruppe von Wörtern im Signal zu bestimmen.
Es wurde eine erste Gruppe von Spracherkennungsverfahren entwickelt,
um Sprachsignale unter Verwendung von Zeitbereichsinformation des
Signals zu analysieren. Typischerweise wird die Stärke oder
Amplitude des Sprachsignals gemessen. Teile des Sprachsignals mit
einer Stärke,
die höher
ist als ein Mindestschwellenwert, werden als Sprache bezeichnet;
wohingegen diejenigen Teile des Sprachsignals mit einer Stärke, die
unter dem Schwellenwert liegt, als nicht sprachlich bezeichnet werden.
Andere ähnliche
Verfahren bauten auf der Erfassung der Nulldurchgangsratenschwankungen
oder den Spitzen und Tälern
im Signal auf.
-
Eine
zweite Gruppe von Spracherkennungsalgorithmen greift auf Signalinformation
zurück,
die aus dem Frequenzbereich extrahiert wird. In diesen Algorithmen
wird die Veränderung
des Frequenzspektrums bewertet, und die Erfassung beruht auf der
Fre quenz dieser Veränderung,
die über
aufeinanderfolgende Rahmen berechnet wird. Alternativ wird die Varianz
der Energie in jedem Frequenzband bewertet, und die Geräuscherfassung
baut darauf auf, wann diese Varianzen einen bestimmten Schwellenwert
unterschreiten.
-
Unglücklicherweise
waren diese Spracherkennungsverfahren besonders dann unzuverlässig, wenn eine
variable Geräuschkomponente
im Sprachsignal vorhanden war. Man schätzte, dass viele der Fehler,
die in einem typischen Spracherkennungssystem auftreten, das Ergebnis
einer ungenauen Bestimmung der Stelle der Wörter im Sprachsignal sind.
Um solche Fehler auf ein Mindestmaß zurückzufahren, muss das Verfahren zum
stellenmäßigen Bestimmen
von Wörtern
im Sprachsignal die Grenzen der Wörter stellenmäßig zuverlässig und
genau bestimmen können.
Außerdem
muss das Verfahren einfach und schnell genug sein, um eine Echtzeitverarbeitung
des Sprachsignals zu ermöglichen.
Das Verfahren muss sich auch ohne vorheriger Kenntnis des Geräuschs einer
breiten Palette von Geräuschumgebungen
anpassen können.
-
Eine
Vorgehensweise zur Erfassung eines durch Geräusch beeinträchtigten
Nutzsignals ist in der
US 5,337,251 offenbart.
Wie beschrieben ist, wird vom erwarteten Rauschabstand über einen
Zeitschlitz ein Messwert ermittelt. Ein Messwert des erwarteten
Weißrauschens
allein wird über
einen anderen Zeitschlitz ermittelt und die durchschnittliche Energie
des Geräuschs
und geräuschbeeinträchtigten
Signals ermittelt, woraus sich ein Schwellenwert berechnen lässt.
-
Ein
Signaldetektor, der die durchschnittliche Energie und Energiegehaltvarianz
nutzt, ist in der
US 5,323,337 offenbart.
Ein Detektor unterscheidet zwischen Signalen, die Geräusch manifestieren,
und Signalen, die Information manifestieren, die beide an einem
Eingang erscheinen. Es werden Abtastwerte von den Signalen genommen,
und ein Fourier-Filter bestimmt den Energiegehalt für jede Signalprobe.
Ein Prozessor bestimmt dann den mittleren Energiegehalt und die
Durchschnittsvarianz des Energiegehalts in allen Frequenzzellen
in der Signalform.
-
Nach
einem wie in Anspruch 1 beanspruchten Aspekt der vorliegenden Erfindung
wird ein Verfahren zum Erfassen von Sprache aus einem Eingangssprachsignal
der vorgenannten Art bereitgestellt, das durch Bestimmen eines Frequenzspektrums
für jeden
der mehreren Rahmen; Aufbauen eines Geräuschmodells unter Verwendung
von Frequenzspektren aus einem nicht sprachlichen Teil des Eingangssignals;
und Verwenden eines Hypothesetests gekennzeichnet ist, um zu bestimmen,
ob ein unbekannter Rahmen von den mehreren Rahmen mit dem Geräuschmodell
korreliert, um dadurch Sprache aus dem Eingangssprachsignal zu erfassen.
-
In
einer bevorzugten Ausführungsform
umfasst der Schritt des Aufbauens eines Geräuschmodells darüber hinaus
das Bestimmen eines Energiegehaltwerts für jedes von mehreren Frequenzbändern in
mindestens zehn Rahmen am Anfang des Eingangssprachsignals; das
Bestimmen eines Mittelwerts an jedem der mehreren Frequenzbänder für die Energiegehaltwerte,
die mit den mindestens zehn Rahmen zusammenhängen; und das Bestimmen eines
Varianzwerts für
jeden Mittelwert, der mit den mindestens zehn Rahmen zusammenhängt, wodurch
das Geräuschmodell
für das
Eingangssprachsignal aufgebaut wird.
-
Die
Erfindung wird nun rein beispielhaft mit Bezug auf die beigefügten Zeichnungen
beschrieben:
-
1 ist
ein Blockschema, das die Grundbestandteile eines Spracherfassungssystems
darstellt;
-
2 ist
ein Ablaufdiagramm, das ein die vorliegende Erfindung verkörperndes
Spracherfassungssystem veranschaulicht;
-
3a und 3b sind
detaillierte Ablaufdiagramme, die eine bevorzugte Ausführungsform
des Spracherfassungsverfahrens der vorliegenden Erfindung zeigt;
-
4 stellt
die Normalverteilung eines Chi-Quadratmesswerts dar; und
-
5 stellt
ein mittleres Geräuschspektrum
(und seine Varianz) über
die ersten 100 Rahmen eines typischen Eingangssprachsignals dar.
-
In 1 ist
ein Spracherfassungssystem 10 dargestellt. Typischerweise
wird ein Eingangssprachsignal zuerst von einem A/D-Wandler 12 digital
abgetastet. Als Nächstes
wird durch einen Frequenzanalysator 14 aus dem digital
abgetasteten Signal eine Frequenzbereichsinformation extrahiert.
Schließlich
wird die Frequenzbereichsinformation dazu verwendet, im Sprachdetektor 16 Sprache
im Signal zu erfassen.
-
2 stellt
ein genaues und zuverlässiges
Verfahren nach der vorliegenden Erfindung zum Erfassen von Sprache
aus einem Eingangssprachsignal dar. Im Allgemeinen wird ein Wahrscheinlichkeitsverfahren
eingesetzt, um jeden Rahmen des Signals entweder als sprachlich
oder als nicht sprachlich zu klassifizieren. Zuerst teilt ein Block 22 das
Sprachsignal in mehrere Rahmen auf. Einem Fachmann auf dem Gebiet
wird schnell klar sein, dass solch ein Prozess synchron während der
Aufzeichnung des Signals erfolgen kann, damit keine Verzögerung im
Spracherkennungsprozess auftritt. Block 24 extrahiert Frequenzbereichsinformation
aus jedem Rahmen, in dem die Frequenzbereichsinformation für jedes
Frequenzband als Zufallsvariable und jeder Rahmen als Vorkommen
dieser Zufallsvariablen erachtet wird. Indem die Frequenzbereichsinformation
aus einem nicht sprachlichen Teil des Signals verwendet wird, wird
im Block 26 ein bekannter Satz von Zufallsvariablen aufgebaut.
Somit steht der bekannte Satz von Zufallsvariablen für die Geräuschkomponente
des Sprachsignals.
-
Als
Nächstes
wird jeder unbekannte Rahmen dahingehend ausgewertet, ob er zu diesem
Satz von Zufallsvariablen gehört
oder nicht. Dazu wird eine einzige Zufallsvariable (z.B. ein Chi-Quadratwert)
in Block 28 aus dem mit einem unbekannten Rahmen zusammenhängenden
Satz von Zufallsvariablen gebildet. Die einzige Variable wird im
Block 30 im Hinblick auf den bekannten Satz von Zufallsvariablen
normiert und dann im Block 32 unter Verwendung des "Hypothesetests" als entweder sprachlich
oder nicht sprachlich klassifiziert. Auf diese Weise wird jeder
Rahmen, der nicht zum bekannten Satz von Zufallsvariablen gehört, als
Sprache klassifiziert, und jeder Rahmen, der zu dem bekannten Satz
von Zufallsvariablen gehört,
wird als nicht sprachlich klassifiziert.
-
Eine
ausführlichere
Erklärung
des Spracherfassungsverfahrens der vorliegenden Erfindung wird in
Zusammenhang mit den 3A und 3B wiedergegeben.
Das analoge Signal, das dem Sprachsignal entspricht (d.h. s(t))
wird im Block 42 auf im Stande der Technik hinlänglich bekannte
Weise durch einen A/D-Wandler in eine digitale Form gebracht. Die
digitalen Abtastwerte werden dann in Rahmen zerteilt. Jeder Rahmen
muss eine zeitliche Definition aufweisen. Zu Darstellungszwecken
ist der Rahmen als Fenstersignal w(n, t) = s(n·offset + t) definiert, worin
n = Rahmenzahl und t = 1, ..., Fenstergröße sind. Wie dem Fachmann auf
den Gebiet klar sein wird, sollte der Rahmen groß genug sein, um ausreichend
viele Daten zur Frequenzanalyse bereitzustellen, und doch klein
genug, um die Anfangs- und Endgrenzen eines Worts oder einer Gruppe
von Wörtern
im Sprachsignal genau zu identifizieren. In einer bevorzugten Ausführungsform
wird das Sprachsignal digital mit 8 kHertz abgetastet, so dass jeder
Rahmen 256 digitale Abtastwerte enthält und Segmenten des Sprachsignals
von 30 ms entspricht.
-
Als
Nächstes
wird im Block 44 ein Frequenzspektrum aus jedem Rahmen
extrahiert. Da Rauschen für gewöhnlich bei
bestimmten Frequenzen auftritt, ist es vorteilhafter, die Rahmen
der Signale in ihrem Frequenzbereich darzustellen. Typischerweise
wird das Frequenzspektrum dadurch hergestellt, dass auf jeden der
Rahmen eine schnelle Fouriertransformation oder eine andere Frequenzanalysetechnik
angewendet wird. Im Falle einer schnellen Fouriertransformation
wird das Frequenzspektrum als F(n, f) = FFT(w(n,t)) definiert, worin
n = Rahmenzahl und f = 1, ..., F sind. Dementsprechend wird die
Größenordnung
oder der Energiegehaltwert für jedes
der Frequenzbänder
in einem bestimmten Rahmen als M(n, f) = abs(F(n, f)) definiert.
-
Unter
Verwendung dieser Frequenzbereichsinformation aus dem Sprachsignal
wird jeder der Rahmen dann entweder als Sprache oder nicht sprachlich
klassifiziert. Wie durch den Entscheidungsblock 46 bestimmt wird,
werden zumindest die ersten zehn Rahmen (vorzugsweise 20 Rahmen)
des Signals verwendet, um ein Geräuschmodell aufzubauen, wie
nachstehend noch ausführlicher
erläutert
wird. Die übrigen
Rahmen des Signals werden dann auf Grundlage eines Vergleichs mit
dem Sprachmodell entweder als Sprache oder als nicht sprachlich
klassifiziert.
-
Im
Block
48 wird für
jeden Rahmen der Energiegehaltwert bei jedem Frequenzband im Hinblick
auf das Geräuschmodell
normiert. Diese Werte werden normiert nach:
worin μ
N(f)
und σ
N(f) ein Mittel sind, und seine entsprechende
Standardabweichung für
die Energiegehaltwerte aus den Rahmen verwendet wird, um das Geräuschmodell
aufzubauen.
-
Für jede bestehende
Frequenz f kann Mnorm(n, f) als das n-te
Abtastwertevorkommen einer Zufallsvariablen R(f) mit einer Normalverteilung
angesehen werden. Davon ausgehend, dass die Normalverteilungen unabhängig sind,
hat der Satz von Zufallsvariablen R(f) eine Chi-Quadratverteilung
mit F Freiheitsgraden. Somit wird im Block 50 der Chi-Quadratwert
unter Verwendung der normierten Werte des Rahmens wie folgt berechnet:
-
-
Auf
diese Weise extrahiert der Chi-Quadratwert einen einzelnen Messwert,
der für
den Rahmen steht.
-
Als
Nächstes
kann der Chi-Quadratwert im Block
52 normiert werden, um
die Genauigkeit des Spracherfassungssystems weiter zu verbessern.
Wenn der Freiheitsgrad F zu 4 tendiert, tendiert der Chi-Quadratwert
zu einer Normalverteilung. In der vorliegenden Erfindung wird, da
F wahrscheinlich 30 überschreiten
wird (d.h. im bevorzugten Fall F gleich 256 sein wird), unter der
Annahme, dass die Hypothese unabhängig ist, die Normierung von
X(n) bereitgestellt durch:
worin das Mittel und die
Standardabweichung des Chi-Quadratwerts als μ
X =
F bzw. σ
X= √
2F geschätzt werden.
-
Eine
weitere bevorzugte Ausführungsform
für die
Normierung des Chi-Quadrats besteht darin, die Annahme der Unabhängigkeit
der Zufallsvariablen R(f) nicht zu berücksichtigen und X nach seinem
eigenen geschätzten
Mittel und seiner eigenen Varianz zu normieren. Dazu wird angenommen,
dass X eine Chi-Quadratzufallsvariable mit Freiheitsgraden ist,
die unbekannt sind und doch hoch genug, um ein Gauß'sche Verteilungsannäherung zu
erhalten. Dies führt
wie folgt zu einer Schätzung
des Mittels μX und der Standardabweichung σX für X (wird
auch als Chi-Quadratmodell bezeichnet):
-
-
Die
wie unten gezeigte Normierung von X führt zu einer Standardnormalverteilung:
-
-
Jeder
Rahmen kann dann entweder als Sprache oder als nicht sprachlich
klassifiziert werden, indem der Hypothesetest verwendet wird. Um
einen unbekannten Rahmen zu prüfen,
wird der kritische Bereich XNorm (n) ≤ Xα.
Da dies ein einseitiger Test ist (d.h. der untere Wert nicht verworfen
werden kann), ist α der
Konfidenzgrad. Indem die Normalannäherung des Chi-Quadrats verwendet
wird, wird der Test auf XNorm (n) ≤ Xα vereinfacht.
-
X
α ist
dergestalt, dass der Integralwert von –∞ bis X
α der
Normalverteilung gleich 1 – α ist, wie
in
4 gezeigt ist. In Kenntnis, dass
und dass die Fehlerfunktion
als
definiert ist, wird 1 – α bereitgestellt
durch:
-
-
Indem
die Umkehrfunktion der Fehlerfunktion x = erfinν(z) eingeführt wird, so dass z = erf(x)
ist, wird ein Schwellenwert Xα zur Verwendung im Hypothesetest
vorzugsweise geschätzt
als:
-
-
Auf
diese Weise kann der Schwellenwert je nach der gewünschten
Genauigkeit des Spracherfassungssystems vordefiniert werden, weil
er nur von α abhängt. Beispielsweise
ist X0,01 = 2,3262; X0,01 =
1,2816, X0,2 = 0,8416.
-
Mit
Bezug auf 3B wird jeder unbekannte Rahmen
im Entscheidungsblock 56 nach XNorm (n) ≤ Xα klassifiziert.
Wenn der normierte Chi-Quadratwert für den Rahmen größer ist
als der vordefinierte Schwellenwert, wird der Rahmen, wie in Block 58 gezeigt,
als Sprache eingestuft. Ist der normierte Chi-Quadratwert für den Rahmen
kleiner oder gleich dem vordefinierten Schwellenwert, wird der Rahmen,
wie in Block 60 gezeigt, als nicht sprachlich eingestuft.
In jedem Fall geht die Verarbeitung mit dem nächsten unbekannten Rahmen weiter.
Sobald ein unbekannter Rahmen als Geräusch eingestuft wurde, kann
er auch dazu hergenommen werden, das Geräuschmodell neu zu bewerten.
Deshalb aktualisieren die Blöcke 62 und 64 optional
das Geräuschmodell,
und aktualisieren das Chi-Quadratmodell auf Grundlage dieses Rahmens.
-
Ein
Geräuschmodell
wird aus den ersten Rahmen des Eingangssprachsignals aufgebaut. 5 stellt das
mittlere Geräuschspektrum
(und seine Varianz) über
die ersten 100 Rahmen eines typischen Eingangssprachsignals dar.
Es wird angenommen, dass die ersten zehn Rahmen (aber vorzugsweise
zwanzig Rahmen) des Sprachsignals keine Sprachinformation enthalten,
und somit werden diese Rahmen zum Aufbauen des Geräuschmodells
verwendet. Anders ausgedrückt,
stehen diese Rahmen für
das Geräusch,
das im gesamten Sprachsignal eingeschlossen ist. Sollten diese Rahmen
doch Sprachinformation enthalten, hat das Verfahren der vorliegenden
Erfindung einen zusätzlichen
Schutz eingebaut, wie nachstehend noch erläutert wird. Es ist vorstellbar,
dass auch andere Teile des Sprachsignals, die keine Sprachinformation
enthalten, zum Aufbau des Modells verwendet werden könnten.
-
Mit
Bezug zurück
auf 3a berechnet Block 66 ein Mittel μN(f)
und eine Standardabweichung δN(f) des Energiegehaltwerts an jedem der
Frequenzbänder
dieser Rahmen. Für
jeden dieser ersten zwanzig Rahmen normiert Block 69 das
Freqrenzspektrum, Block 70 berechnet einen Chi-Quadratmesswert,
Block 72 aktualisiert μX und σX des Chi-Quadratmodells
mit XNorm und Block 74 normiert
den Chi-Quadratmesswert. Ein Fachmann auf dem Gebiet wird schnell
erkennen, dass XNorm beim Bewerten eines
unbekannten Rahmens gebraucht wird. Alle diese Schritte stimmen
mit der vorstehend beschriebenen Methodik überein.
-
Ein Überschätzungsmesswert
kann verwendet werden, um die Gültigkeit
des Geräuschmodells
zu überprüfen. Wenn
Sprache in den Rahmen vorhanden ist, die zum Aufbau des Geräuschmodells
verwendet werden, findet eine Überschätzung des
Geräuschspektrums
statt. Diese Überschätzung kann
entdeckt werden, wenn ein erster "echter" Geräuschrahmen
vom Spracherfassungssystem analysiert wird. Um eine Überschätzung des
Geräuschmodells
zu erfassen, wird folgender Messwert eingesetzt:
-
-
Dieser Überschätzungsmesswert
verwendet das normierte Spektrum, um von der Gesamtenergie unabhängig zu
bleiben.
-
Allgemein
ist der Chi-Quadratmesswert ein absolutes Maß, das den Abstand vom momentanen
Rahmen zum Geräuschmodell
angibt und deshalb auch dann positiv sein wird, wenn das Spektrum
des momentanen Rahmens kleiner ist als das Geräuschmodell. Allerdings wird
der Überschätzungsmesswert
negativ sein, wenn ein "echter" Geräuschrahmen
vom Spracherfassungssystem analysiert wird, wodurch eine Überschätzung des
Geräuschmodells
aktualisiert wird. In der bevorzugten Ausführungsform des Spracherfassungssystems
zeigen eine aufeinander folgende Anzahl von Rahmen (vorzugsweise
drei) mit einem negativen Wert beim Überschätzungsmesswert ein ungültiges Geräuschmodell
an. In diesem Fall kann das Geräuschmodell neu
initialisiert oder die Spracherfassung für dieses Sprachsignal abgebrochen
werden.