(19)
(11) EP 1 406 244 A2

(12) EUROPÄISCHE PATENTANMELDUNG

(43) Veröffentlichungstag:
07.04.2004  Patentblatt  2004/15

(21) Anmeldenummer: 03102639.6

(22) Anmeldetag:  25.08.2003
(51) Internationale Patentklassifikation (IPC)7G10L 11/02
(84) Benannte Vertragsstaaten:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR
Benannte Erstreckungsstaaten:
AL LT LV MK

(30) Priorität: 27.09.2002 DE 10245107

(71) Anmelder: SIEMENS AKTIENGESELLSCHAFT
80333 München (DE)

(72) Erfinder:
  • Grashey, Stephan, Dr.
    82140 Olching (DE)

   


(54) Voice Activity Detection auf Basis von unüberwacht trainierten Clusterverfahren


(57) Bei der Detektion, ob ein Sprachsignal vorliegt oder nicht, wird ein Audiosignal zunächst in eine von mehr als zwei Klassen eingeteilt. Anhand dieser Klasseneinteilung wird dann entschieden, ob das Signal "Sprache" oder "Nicht-Sprache" ist.


Beschreibung


[0001] Ein Voice Activity Detector (VAD) ist eine Vorrichtung, die es erlaubt, zwischen Sprache inklusive Hintergrundgeräuschen ("Sprache") und dem Hintergrundgeräusch alleine ("Nicht-Sprache") zu unterscheiden. Der Eingang eines VAD kann beispielsweise ein durch ein Mikrofon aufgenommenes Sprachsignal eines Kommunikationsendgerätes sein. Während der Nutzer spricht, setzt sich das Signal aus seiner Stimme und dem Hintergrundlärm (beispielsweise Straßenlärm) zusammen. In den Sprechpausen dagegen besteht das Signal alleine aus dem Hintergrundlärm. Der Ausgang eines Voice Activity Detectors fügt dem Eingangssignal nun jeweils die Information hinzu, ob es Sprache enthält, oder nicht.

[0002] Die Anwendungen eines VAD sind vielfältig. So kann ein VAD zur Datenreduktion verwendet werden, um nur das Sprachsignal zu speichern bzw. zu übertragen. In der Spracherkennung erlaubt ein VAD eine schnellere und bessere Erkennung, da die Erkennung sich auf die reinen Sprachpassagen des Audiosignals konzentrieren kann.

[0003] VADs werden entweder auf Basis von Heuristiken eingestellt oder aber im Lauf einer Trainingsphase trainiert. Als Eingangssignal dient jeweils das in geeigneter Weise vorverarbeitete Audiosignal. In einer Eigenschaftenextraktion erhält man dabei je nach Anzahl der verwendeten Eigenschaften unterschiedlich große Eigenschaftenvektoren.

[0004] Die einfachste, aber immer noch weit verbreitete Heuristik ist, ein Signal anhand einer bestimmten, festgelegten Energieschwelle zu beurteilen. Überschreitet die Signalenergie die Schwelle, so wird "Sprache" angenommen, ansonsten "Nicht-Sprache".

[0005] Ein anderes Beispiel ist die Bestimmung der Nulldurchgangsrate der Autokorrelationsfunktion des Sprachsignals und ein entsprechender Schwellwert zur Unterscheidung, ob ein Sprachsignal vorliegt oder nicht.

[0006] Daneben gibt es komplexere Verfahren, um anhand einer mehr oder weniger großen Anzahl von Schwellen auf Basis verschiedenster Eigenschaften die gewünschte Unterscheidung zu treffen.

[0007] Zu VADs, die im Laufe einer Trainingsphase trainiert werden, gehören beispielsweise statistische VADs oder auch neuronale Netze. Diese werden dazu mit Daten trainiert, bei denen bekannt ist, wann Sprache und wann ein Geräusch auftritt. Es handelt sich also um Daten, die vorab zum Beispiel händisch gelabelt sind. Beispiele für Verfahren, mit denen auf diese Weise entscheiden werden kann, ob ein Sprachsignal vorliegt oder nicht, sind beispielsweise in Stadermann J.: "Sprach/Pause-Detektion in der automatischen Spracherkennung", Universität Duisburg, Diplomarbeit, 1999, Seiten 28-36, angegeben.

[0008] Weitere VADs, insbesondere für drahtlose Kommunikation, werden in El-Maleh, K. und Kabal, P.: "Comparison of voice activity detection algorithms for wireless personal communication systems", Proc. IEEE Canadian Conference on Electrical and Computer Engineering, St. John's, Neufundland, Mai 1997, Seiten 470-473, offenbart.

[0009] Davon ausgehend liegt der Erfindung die Aufgabe zugrunde, eine genauere Unterscheidung zwischen Sprache und Nicht-Sprache zu ermöglichen. Dabei soll auch auf eine automatische Anpassbarkeit an unterschiedliche Geräuschsituationen, Sprecher
oder Sprachen Wert gelegt werden.

[0010] Diese Aufgabe wird durch die in den unabhängigen Ansprüchen angegebenen Erfindungen gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den Unteransprüchen.

[0011] Die Erfindung geht von dem Gedanken aus, dass ein VAD im Prinzip als Klassifikator mit N = 2 Klassen (Sprache/Nicht-Sprache) betrachtet werden kann. Es hat sich aber herausgestellt, dass eine wesentlich bessere Klassifikation vorgenommen werden kann, wenn ein Signal nicht sofort der Sprache- oder der Nicht-Sprache-Klasse zugeordnet wird, sondern wenn das Signal abhängig von seinen Eigenschaften zunächst in eine Klasse einer Vielzahl von mehr als drei Klassen eingeteilt wird. Hierdurch kann den zahlreichen unterschiedlichen Eigenschaften von Sprache und Geräuschen besser Rechnung getragen werden.

[0012] Gemäß dieser zahlreichen unterschiedlichen Eigenschaften ist die Vielzahl vorzugsweise größer oder gleich 10, insbesondere größer oder gleich 64. In Abhängigkeit von der Klasse, in die das Signal eingeteilt ist, wird dann entschieden, ob das Signal ein Sprachsignal ist oder nicht.

[0013] Während es in der weiteren Sprachverarbeitung bekannt ist, Sprachsignale, die als solche erkannt sind, also nach der Voice Activity Detection, in mehr als zwei Klassen einzuteilen, können als ein besonderes Charakteristikum der Erfindung auch zwei oder mehr Klassen vorgesehen sein, bei denen entschieden wird, dass das Signal nicht Sprache ist, wenn es in sie eingeteilt ist.

[0014] Hierfür können die Klassen in Clustern geclustert sein, so dass ähnliche Klassen benachbart oder in Gruppen zusammengefasst sind. Dazu werden die Klassen in einem unüberwacht zu trainierenden, sich selbst organisierenden Clusterverfahren in einer Trainingsphase, insbesondere anhand von Testsignalen, automatisch gebildet.

[0015] Hierbei wird bevorzugt ein neuronales Netz eingesetzt, insbesondere ein Kohonen-Netz mit der Netzarchitektur einer selbstorganisierenden Karte.

[0016] Dieses so trainierte und strukturierte Netz wird dann bevorzugt auch gleich in der Detektionsphase eingesetzt, in der entschieden wird, ob ein Signal ein Sprachsignal ist oder nicht.

[0017] Besonders vorteilhaft kann die beschriebene Vorrichtung in der biometrischen Spracherkennung während des Enrollments eingesetzt werden, um die Stimme der sich enrollenden Person als Referenz zu erfassen und nicht mehr oder weniger große Teile des Hintergrundlärms. Ansonsten wird eventuell eine Person, die während der Verifikation eine ähnliche Geräuschumgebung hat, vom System authentifiziert.

[0018] Ein Verfahren zur Detektion, ob ein Sprachsignal vorliegt oder nicht, lässt sich analog zur beschriebenen Vorrichtung aufbauen. Dies gilt auch für seine bevorzugten Ausgestaltungen.

[0019] Ein Programmprodukt für eine Datenverarbeitungsanlage, das Codeabschnitte enthält, mit denen eines der geschilderten Verfahren auf der Datenverarbeitungsanlage ausgeführt werden kann, lässt sich durch geeignete Implementierung des Verfahrens in einer Programmiersprache und Übersetzung in von der Datenverarbeitungsanlage ausführbaren Code ausführen. Die Codeabschnitte werden dazu gespeichert. Dabei wird unter einem Programmprodukt das Programm als handelbares Produkt verstanden. Es kann in beliebiger Form vorliegen, so zum Beispiel auf Papier, einem computerlesbaren Datenträger oder über ein Netz verteilt.

[0020] Weitere wesentliche Vorteile und Merkmale der Erfindung ergeben sich aus der Beschreibung eines Ausführungsbeispiels anhand der Figuren. Dabei zeigt:
Figur 1
die Trainingsphase einer Vorrichtung mit Mitteln zur Detektion, ob ein Sprachsignal vorliegt oder nicht;
Figur 2
die Assoziationsphase der Vorrichtung nach Figur 1;
Figur 3
ein Beispiel für eine Detektion, ob ein Sprachsignal vorliegt oder nicht.


[0021] Im Stand der Technik bekannte VADs haben das Problem, dass aus dem Signal extrahierte Eigenschaften in lediglich zwei Klassen unterteilt werden, obwohl sich ihre Ausprägung innerhalb ein und derselben Klasse stark unterscheidet. Beispielsweise sind bei einem Sprachsignal in der Regel Eigenschaften, welche stimmlose Laute repräsentieren, stark verschieden von jenen, die stimmhafte Laute wiederspiegeln. Trotzdem werden beide ein und derselben Klasse ("Sprache") zugeordnet.

[0022] Es wird daher vorgeschlagen, zur Unterscheidung, ob ein Sprachsignal vorliegt oder nicht, ein Lernverfahren mit zwei Phasen zu verwenden.

[0023] In der ersten Phase des Verfahrens wird ein unüberwacht zu trainierendes, sich selbst organisierendes Clusterverfahren mit N > 2 Klassen eingesetzt. N wird dabei beliebig, aber sinnvoll vorgegeben. Zum Training werden also lediglich aus einem Audiosignal extrahierte Eigenschaftsvektoren verwendet, ohne dass gleichzeitig eine Klassenzugehörigkeit vorgegeben wird. Ganz allgemein gibt es demnach also eine größere Anzahl m an Klassen des Klassifikators, die "Sprache" repräsentieren, und eine größere Anzahl n von Klassen, die "Nicht-Sprache" repräsentieren (m + n = N > 2). Somit wird es beispielsweise möglich, stimmhafte und stimmlose Laute verschiedenen Klassen zuzuordnen.

[0024] Diese erste Phase soll anhand von Figur 1 verdeutlicht werden. Dort erkennt man eine Audiodatenbank 1 mit Audiosignalen. Diese werden einer Vorverarbeitung 2 zugeführt. Diese Vorverarbeitung ist vorzugsweise dieselbe, wie sie für eine spätere Spracherkennung verwendet wird. Dadurch lässt sich eine zweite Vorverarbeitung einsparen.

[0025] Die Vorverarbeitung 2 extrahiert aus den Audiosignalen der Audiodatenbank 1 Eigenschaftsvektoren 3, in denen Eigenschaften der Audiosignale angegeben werden. Diese Eigenschaftsvektoren 3 werden den Eingangsneuronen eines neuronalen Netzes 4 zugeführt.

[0026] Das neuronale Netz 4 ist ein Kohonen-Netz mit der Netzarchitektur einer selbstorganisierenden Karte (SOM: Self-Organizing Map). Es hat die Eigenschaft, dass eine lokale Nachbarschaftsbeziehung zwischen den einzelnen Neuronen existiert, so dass die die einzelnen Klassen repräsentierenden Referenzvektoren nach erfolgtem Training räumlich geordnet vorliegen.

[0027] Das neuronale Netz wird auf Basis einer Datenbank trainiert, welche beispielsweise Sprache und Geräusch in gleicher Häufigkeit aufweist.

[0028] Das Training eines solchen Netzes stellt ein selbstorganisierendes Clusterverfahren mit unüberwachtem Lernen dar.

[0029] Als Ergebnis des Klassifikatortrainings ergibt sich eine Klassenrepräsentation 5.

[0030] Nach erfolgreichem Klassifikatortraining erfolgt in einer zweiten Phase, der Assoziationsphase, die Zuordnung jeder einzelnen Klasse des Klassifikators 4 in Form des neuronalen Netzes zu einer der beiden Klassen Sprache bzw. Nicht-Sprache. Dazu wird jetzt der Klassifikator 4 selbst im Klassifikationsmodus betrieben, das heißt, er gibt zu jedem Eigenschaftsvektor 3 die zugehörige Klasse 6 aus. Dies ist in Figur 2 dargestellt. Die Assoziationseinheit 7 wird dagegen im Trainingsmodus betrieben, das heißt, sie erlernt auf Basis der gelabelten Audiosignale 8 die Zuordnung jeder der Klassifikatorklassen zu "Sprache" oder zu "Nicht-Sprache". Dabei wird festgestellt, welchen Klassen jeweils wie viele Testsignale zugeordnet worden sind, die "Sprache" oder die "Nicht-Sprache" sind. In Abhängigkeit von diesem Ergebnis wird jede Klasse in einem Assoziationsschritt jeweils als Sprache- oder als Nicht-Sprache-Klasse deklariert. Als Ergebnis erhält man die Klassenzuordnung 9 des VADs.

[0031] Nach erfolgtem Assoziationsschritt werden die erhaltenen Ergebnisse weiter verbessert, indem ein Mittelwertfilter dazu genutzt wird, einzelne Ausreißer zu eliminieren.

[0032] In Figur 4 ist die Amplitude A des deutschen Wortes "Zwanzig" (20) über der Zeit t aufgetragen. Für dieses Signal ist unterhalb des Graphs das Ergebnis der Detektion dargestellt, ob ein Sprachsignal vorliegt oder nicht.

[0033] Dabei ist in der ersten, mit "Real" bezeichneten Zeile die tatsächliche Klassifikation angegeben. Hierbei steht "Noise" für "Nicht-Sprache" und "Speech" für "Sprache".

[0034] In der zweiten Zeile ("Label") ist die durch einen herkömmlichen VAD für ein Labeln vorgenommene Klassifikation angegeben.

[0035] In der dritten, mit "N-VAD" bezeichneten Zeile ist schließlich die Detektion angegeben, wie sie durch die erfindungsgemäße Vorrichtung und das erfindungsgemäße Verfahren mit einer vorgegebenen Klassenzahl N = 625 erzielt wird. Wie man sieht, stimmt diese Detektion und Klasseneinteilung wesentlich besser mit der Realität überein als die mit dem herkömmlichen VAD vorgenommene. Dies macht sich insbesondere dadurch bemerkbar, dass auch Pausen zwischen einzelnen Silben als "Nicht-Sprache" detektiert werden.

[0036] Durch die Erfindung ergeben sich insbesondere folgende Vorteile:

[0037] Unähnliche Eigenschaftsvektoren werden nicht mehr in die gleiche Klasse gezwungen, sondern werden einer Klasse alleine auf Basis eines Ähnlichkeitskriteriums zugeordnet. Dadurch steigt die Genauigkeit der Klassifikation an.

[0038] Ungenauigkeiten beim Labeln der Audiosignale wirken sich nicht auf den eigentlichen Trainingsprozess aus, da unüberwachtes Lernen erfolgt. So werden typischerweise kurze Sprechpausen zwischen einzelnen Silben beim Labeln nicht erfasst, sondern der Klasse "Sprache" zugeordnet, obwohl in dieser Pause das Hintergrundgeräusch überwiegt. Bei dem vorgeschlagenen Verfahren auf Basis von unüberwachtem Lernen wird diese kurze Pause den ihr entsprechenden Eigenschaftsvektoren zugeordnet.

[0039] Das Verfahren ist unabhängig von Sprache und/oder Inhalt des gesprochenen Textes.

[0040] Insgesamt wird die Genauigkeit des VAD verbessert, was sich in besseren Ergebnissen bei darauf aufbauenden Applikationen wiederspiegelt.

[0041] Entsprechend der gesteigerten Genauigkeit kann die Erfindung bevorzugt auch im Rahmen des Enrollments bei einer biometrischen Spracherkennung zur Erkennung der Wortgrenzen eingesetzt werden, nachdem bisherige Verfahren auf Basis der Signalenergie immer wieder zu Fehlern und damit zu einem Sicherheitsrisiko bei der biometrischen Authentifizierung führen.


Ansprüche

1. Vorrichtung zur Detektion, ob ein Sprachsignal vorliegt oder nicht, mit

- Mitteln zum Einteilen eines Signals in eine von mehr als zwei Klassen,

- Mitteln zum Entscheiden, ob das Signal ein Sprachsignal ist oder nicht, in Abhängigkeit von der Klasse, in die das Signal eingeteilt ist.


 
2. Vorrichtung nach Anspruch 1,
dadurch gekennzeichnet,
dass die Anzahl der mehr als zwei Klassen größer oder gleich 10 ist, insbesondere größer oder gleich 64.
 
3. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
dass die Klassen in, insbesondere selbstorganisierten, Clustern geclustert sind.
 
4. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
dass die Klassen automatisch gebildete Klassen sind.
 
5. Vorrichtung nach Anspruch 4,
dadurch gekennzeichnet,
dass die automatisch gebildeten Klassen Klassen sind, die mit einem neuronalen Netz gebildet sind.
 
6. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
dass die Vorrichtung für das Einteilen des Signals in eine von mehr als zwei Klassen ein neuronales Netz aufweist.
 
7. Vorrichtung nach einem der Ansprüche 5 oder 6,
dadurch gekennzeichnet,
dass das neuronale Netz ein Kohonen-Netz ist.
 
8. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
dass die Vorrichtung ein mobiles Endgerät ist, insbesondere ein Mobiltelefon.
 
9. Biometrisches Verfahren, bei dem eine Vorrichtung nach einem der Ansprüche 1 bis 7 verwendet wird.
 
10. Verfahren zum Erstellen einer Klassenrepräsentation, anhand derer detektierbar ist, ob ein Sprachsignal vorliegt oder nicht,
dadurch gekennzeichnet,
dass die Klassenrepräsentation mit mehr als zwei Klassen erstellt wird.
 
11. Verfahren nach Anspruch 10,
dadurch gekennzeichnet,
dass das Verfahren ein unüberwacht zu trainierendes Verfahren ist.
 
12. Verfahren nach Anspruch 10 oder 11,
dadurch gekennzeichnet,
dass das Verfahren ein sich selbst organisierendes Clusterverfahren ist.
 
13. Verfahren zur Detektion, ob ein Sprachsignal vorliegt oder nicht, bei dem

- ein Signal in eine von mehr als zwei Klassen eingeteilt wird,

- in Abhängigkeit von der Klasse, in die das Signal eingeteilt ist, entschieden wird, ob das Signal ein Sprachsignal ist oder nicht.


 
14. Programmprodukt für eine Datenverarbeitungsanlage, das Codeabschnitte enthält, mit denen ein Verfahren nach einem der Ansprüche 9 bis 13 auf einer Datenverarbeitungsanlage ausführbar ist.
 




Zeichnung