-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf Mustererkennung. Im Besonderen
bezieht sich die vorliegende Erfindung auf Trainingsmodelle für eine Mustererkennung.
-
Ein
Mustererkennungssystem, wie z. B. ein Spracherkennungssystem, nimmt
ein Eingangssignal und versucht, das Signal zu dekodieren, um ein Muster,
das durch das Signal repräsentiert
wird, zu finden. Zum Beispiel wird in einem Spracherkennungssystem
ein Sprachsignal (oft als ein Testsignal bezeichnet) durch das Erkennungssystem
empfangen und dekodiert, um eine Folge von Wörtern, die durch das Sprachsignal
repräsentiert
werden, zu identifizieren.
-
Um
das eingehende Testsignal zu dekodieren, benutzen die meisten Erkennungssysteme
ein oder mehrere Modelle, die die Wahrscheinlichkeit beschreiben,
dass ein Teil des Testsignals ein bestimmtes Muster repräsentiert.
Beispiele für
solche Modelle schließen
neuronale Netze, Dynamic Time Warping, Segmentmodelle und Hidden
Markov Models ein.
-
Bevor
ein Modell benutzt werden kann, um ein eingehendes Signal zu dekodieren,
muss es trainiert werden. Dies wird üblicherweise durch das Messen
von eingegebenen Trainingssignalen, die von einem bekannten Trainingsmuster
erzeugt werden, getan. Zum Beispiel wird in einer Spracherkennung
eine Sammlung von Sprachsignalen durch Sprecher erzeugt, die von
einem bekannten Text lesen. Diese Sprachsignale werden anschließend verwendet,
um die Modelle zu trainieren.
-
Damit
die Modelle optimal arbeiten, sollten die Signale, die zum Trainieren
der Modelle verwendet werden, gleich den eventuellen Testsignalen sein,
die dekodiert werden. Im Besonderen sollten die Trainingssignale
dieselbe Menge und denselben Typ von Rauschen (bzw. Geräuschen)
haben, wie die Testsignale, die dekodiert werden.
-
Um
dieselben Rauschcharakteristiken (bzw. Geräuschcharakteristiken) in den
Trainingssignalen zu erlangen, sammeln manche Systeme nach Stand der
Technik das Trainingssignal unter denselben Bedingungen, von denen
erwartet wird, dass sie vorhanden sind, wenn das Testsignal erzeugt
wird. Zum Beispiel werden Sprachtrainingssignale in derselben verrauschten
Umgebung gesammelt, wo das Spracherkennungssystem verwendet werden
wird. Andere Systeme sammeln die Trainingsdaten unter relativ rauschfreien
(oder "sauberen") Bedingungen und
fügen anschließend das
erwartete Rauschen zu den sauberen Trainingsdaten hinzu.
-
Obwohl
das Hinzufügen
von Rauschen zu den Trainingsdaten oder Sammeln von Trainingsdaten
in einer verrauschten Umgebung die Trainingsdaten oft mehr an die
Testdaten angleicht, ist es unmöglich,
das Rauschen, das in der Testumgebung vorhanden sein wird, vollständig vorherzusagen.
Aufgrund dessen optimiert die einfache Verwendung verrauschter Trainingsdaten
nicht die Leistung des Mustererkennungssystems.
-
Andere
Systeme nach Stand der Technik haben versucht, die Trainingsdaten
und die Testdaten durch das Anwenden von Rauschreduzierungstechniken
auf die Testdaten abzustimmen. In solchen Systemen werden die Trainingsdaten
unter im Wesentlichen "sauberen" Bedingungen erzeugt,
um so seinen Rauschgehalt zu minimieren. Die Rauschreduzierungstechniken
werden dann auf die Testdaten angewandt, um die Testdaten näher an die
saubere Bedingung der Trainingsdaten zu bringen. Derzeitige Rauschreduzierungstechniken
sind jedoch unvollkommen und können
nicht alles von dem Rauschen in den Testdaten entfernen. Aufgrund
dessen bleiben die Trainingsdaten und die Testdaten selbst nach
der Rauschreduzierung in Nichtübereinstimmung.
-
Deshalb
sind die Techniken nach Stand der Technik zum Abgleichen (matching)
des Trainingsdatenrauschens mit dem Testdatenrauschen weniger als
ideal.
-
US-A-5,758,022
bezieht sich auf ein Verfahren und ein Gerät zur Spracherkennung von stressinduzierten
Aussprachevariationen mit einem neuronalen Netzwerk. Der Effekt
der Veränderungen
in der Sprache unter Stressbedingungen ist als der "Lombardeffekt" bekannt, welcher
besagt, dass sich z. B. die Wortdauer und die Aussprachefrequenzen
mit Stress verändern.
In diesem Fall bedeutet Stress eine sehr laute (noisy) Umgebung
oder eine zweite Aktivität,
welche einen Teil oder großen
Teil der Konzentration beansprucht. Das beschriebene System schließt ein neuronales
Netzwerk ein, das nichtlineare, abbildende (imaging) Charakteristiken
benutzt, welche Sprachmuster, die durch Stress modifiziert sind,
auf normale Sprachmuster, oder Sprachmuster, die durch Stress in
lauten Umgebungen modifiziert sind, auf rauschreduzierte normale
Sprachmuster, abbildet. Zusätzlich
wird das neuronale Netzwerk durch Mittel trainiert, auf die stressfreie
und stressinduzierte Sprache angewandt werden. Die Aussprachevariationen
zwischen der stressfreien Sprache und stressinduzierten Sprache
unterliegen systematischen Para meterveränderungen, welche von repräsentativem
Datenmaterial gelernt und trainiert werden. Nachdem die Trainingsphase
abgeschlossen ist, werden die Ergebnisse dem trainierten neuronalen
Netzwerk zugeführt
und sind immer für
eine Spracherkennung verfügbar.
Während
des Arbeitens des Spracherkenners dienen bestimmte Mittel dazu,
die stressinduzierten Muster auf stressfreie Sprachmuster mit Hilfe
der nicht-linearen Abbildungscharakteristiken des neuronalen Netzwerks
abzubilden. Zusätzlich
zu dem Abbilden von stressinduzierten Sprachmustern auf stressfreie
Sprachmuster kann das beschriebene System eine Reduzierung von zusätzlichem
Rauschen erzeugen, z. B. durch zusätzliche Mittel, wie z. B. ein
zweites neuronales Netzwerk.
-
KURZFASSUNG
DER ERFINDUNG
-
Es
ist die Aufgabe der Erfindung, Ähnlichkeiten
zwischen den Signalen, die zum Trainieren eines Modells verwendet
werden, und den Testsignalen, die dekodiert werden, zu vermehren.
-
Diese
Aufgabe wird durch die Erfindung wie in den unabhängigen Ansprüchen beansprucht
gelöst.
-
Bevorzugte
Ausführungsformen
werden durch die abhängigen
Ansprüche
definiert.
-
Es
werden ein Verfahren und Apparat zum Trainieren und Verwenden eines
Mustererkennungsmodells bereitgestellt. Gemäß der Erfindung wird ein Zusatzrauschen
(bzw. additives Rauschen), das mit Rauschen übereinstimmt, das in einem
Testsignal erwartet wird, in ein Trainingssignal eingeschlossen. Das
verrauschte Trainingssignal wird durch eine oder mehrere Rauschreduzierungstechniken
geführt,
um pseudo-saubere Trainingsdaten zu erzeugen. Die pseudo-sauberen
Trainingsdaten werden anschließend
verwendet, um das Mustererkennungsmodell zu trainieren.
-
Wenn
das Testsignal empfangen wird, wird es durch dieselben Rauschreduzierungstechniken geführt, die
bei dem verrauschten Trainingssignal verwendet wurden. Dies erzeugt
pseudo-saubere Testdaten, die besser mit den pseudo-sauberen Trainingsdaten übereinstimmen.
Die pseudo-sauberen Testdaten werden anschließend auf das Mustererkennungsmodell
angewandt, um das wahrscheinlichste Muster, das durch das Testsignal
repräsentiert wird,
zu ermitteln.
-
Gemäß einer
Ausführungsform
werden Sätze
von Trainingsdaten erzeugt, wobei jeder Satz einen unterschiedlichen
Rauschtyp (bzw. Geräuschtyp)
enthält.
Zum Beispiel kann ein Satz ein Lüftergeräusch von
einem Computer einschließen,
während ein
anderer Satz ein Tastaturgeräusch
einschließen kann.
Unter solchen Ausführungsformen
kann jeder Satz von Trainingsdaten durch dieselben Rauschreduzierungstechniken
geführt
werden oder verschiedene Sätze
von Trainingsdaten können
durch verschiedene Rauschreduzierungstechniken geführt werden.
-
Gemäß einer
Ausführungsform
wird, wenn verschiedene Rauschreduzierungstechniken für unterschiedliche
Sätze von
Trainingsdaten verwendet werden, das Geräusch in den Testdaten gesampelt, um
einen bestimmten Satz von Trainingsdaten zu identifizieren, der
einen ähnlichen
Geräuschetyp
enthält.
Die Rauschreduzierungstechnik, die auf die bestpassenden Trainingsdaten
angewandt wird, wird anschließend
auf die Testdaten angewandt, um die pseudo-sauberen Testdaten zu
bilden.
-
In
anderen Ausführungsformen,
wo unterschiedliche Rauschreduzierungstechniken für unterschiedliche
Sätze von
Trainingsdaten oder für
denselben Satz von Trainingsdaten verwendet werden, werden die Testdaten
durch die verschiedenen Rauschreduzierungstechniken geführt, was
mehrere unterschiedliche Versionen von pseudo-sauberen Testdaten
erzeugt. Jede dieser separaten Formen von pseudo-sauberen Testdaten
wird dann auf die Modelle angewandt, um eine Wahrscheinlichkeit
für ein
Muster zu ermitteln. Die genaue Rauschreduzierungstechnik, die auf
die Testdaten anzuwenden ist, wird anschließend durch Auswählen der
Form oder Kombination von Formen der pseudo-sauberen Testdaten, die das höchstwahrscheinlichste
Muster erzeugen, implizit ausgewählt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm einer Computerumgebung, in der die vorliegende
Erfindung praktiziert werden kann.
-
2 ist
ein Blockdiagramm einer alternativen Computerumgebung, in der die
vorliegende Erfindung praktiziert werden kann.
-
3 ist
ein Flussdiagramm einer Ausführungsform
eines Verfahrens zur Mustererkennung gemäß der vorliegenden Erfindung.
-
4 ist
ein Blockdiagramm eines Mustererkennungssystems gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
5 ist
ein Sprachsignal eines Sprachsignals im Zeitbereich (Time Domain).
-
6 ist
das Frequenzspektrum von Rauschen in einem Sprachsignal.
-
7 ist
ein Blockdiagramm einer Rauschreduzierungstechnik, die in einer
Ausführungsform
der vorliegenden Erfindung verwendet wird.
-
8 ist
ein Flussdiagramm zum Trainieren von Sätzen von Trainingsdaten, die
unterschiedliche Rauschtypen enthalten, gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
9 ist
ein Graph von Modellwahrscheinlichkeitsverteilungen für verschiedene
Sätze von Training.
-
10 ist
ein Graph von kombinierten Modellwahrscheinlichkeiten für die Wahrscheinlichkeiten
aus 9.
-
11 ist
ein Graph von Modellwahrscheinlichkeitsverteilungen aus 9 nach
der Anwendung von Rauschreduzierungstechniken einer Ausführungsform
der vorliegenden Erfindung.
-
12 ist
ein Graph einer kombinierten Modellwahrscheinlichkeit für die Wahrscheinlichkeiten aus 11.
-
13 Stellt
ein Blockdiagramm eines Rauschreduzierungsmoduls gemäß einer
Ausführungsform
der Erfindung bereit, die Sätze
von Trainingsdaten verwendet.
-
DETAILLIERTE
BESCHREIBUNG ILLUSTRATIVER AUSFÜHRUNGSFORMEN
-
1 stellt
ein Beispiel einer geeigneten Computersystemumgebung 100 dar,
auf der die Erfindung implementiert werden kann. Die Computersystemumgebung 100 ist
nur ein Beispiel einer geeigneten Computerumgebung und ist nicht
gedacht, irgendeine Einschränkung
bezüglich
des Umfangs der Verwendung oder Funktionalität der Erfindung vorzuschlagen.
Noch sollte die Computerumgebung 100 interpretiert werden,
als weise sie irgendwelche Abhängigkeiten
oder Erfordernisse bezüglich
irgendeiner oder einer Kombination von Komponenten auf, die in der
exemplarischen Arbeitsumgebung 100 dargestellt sind.
-
Die
Erfindung ist betriebsbereit mit zahlreichen anderen Allzweck- oder
Spezialzweck-Computersystemumgebungen
oder -konfigurationen. Beispiele von gut bekannten Computersystemen,
-umgebungen und/oder -konfigurationen, die für die Verwendung mit der Erfindung
geeignet sein können, schließen ein,
sind aber nicht darauf begrenzt, Personalcomputer, Servercomputer,
Hand-Held- oder Laptop-Geräte,
Multiprozessorsysteme, Mikroprozessor-basierte Systeme, Set-Top-Boxen,
programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputer,
Mainframecomputer, verteilte Computerumgebungen, die irgendeine
der oben genannten Systeme oder Geräte einschließen, und Ähnliches.
-
Die
Erfindung kann in dem allgemeinen Kontext von computerausführbaren
Instruktionen beschrieben werden, wie z. B. Programmmodulen, die durch
einen Computer ausgeführt
werden. Im Allgemeinen schließen
Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen, etc.
ein, die bestimmte Funktionen durchführen oder bestimmte abstrakte
Datentypen implementieren. Die Erfindung kann auch in verteilten
Computerumgebungen praktiziert werden, wo Funktionen durch remote
(dezentral) arbeitende Geräte
ausgeführt werden,
die durch ein Datenübertragungsnetzwerk verbunden
sind. In einer verteilten Computerumgebung können Programmmodule sowohl
auf lokalen als auch Remotecomputerspeicherdatenträgern, einschließlich Datenspeichergeräten, liegen.
-
Mit
Bezug auf 1 schließt ein exemplarisches System
zum Implementieren der Erfindung ein Allzweckcomputergerät in der
Form eines Computers 110 ein. Komponenten des Computers 110 können einschließen, sind
aber nicht darauf begrenzt, eine Prozessoreinheit 120,
einen Systemspeicher 130 und einen Systembus 121,
der verschiedene Systemkomponenten koppelt, einschließlich dem
Systemspeicher mit der Prozessoreinheit 120. Der Systembus 121 kann
irgendeiner von verschiedenen Busstrukturtypen sein, einschließlich einem Speicherbus
oder Speichercontroller, einem Peripheriebus, und einem lokalen
Bus, der irgendeine von einer Vielzahl von Busarchitekturen verwendet.
Als Beispiel, und nicht Einschränkung,
schließen
solche Architekturen einen Industry-Standard-Architecture-Bus (ISA-Bus),
Micro-Channel-Architecture-Bus (MCA-Bus), Enhanced-ISA-Bus (EISA-Bus), Video-Electronics-Standards-Association-Local- Bus (VESA-Local-Bus),
und Peripheral-Component-Interconnect-Bus (PCI-Bus), ebenso bekannt
als Mezzanine-Bus, ein.
-
Computer 110 schließt üblicherweise
eine Vielfalt von computerlesbaren Datenträgern ein. Computerlesbare Datenträger können irgendein
verfügbarer
Datenträger
sein, auf den durch den Computer 110 zugegriffen werden
kann und schließt
sowohl flüchtige
als auch nichtflüchtige
Datenträger, entfernbare
und nicht entfernbare Datenträger
ein. Als Beispiel, und nicht Einschränkung, können computerlesbare Datenträger Computerspeichermedien und
Datenübertragungsmedien
einschließen.
Computerspeichermedien schließen
sowohl flüchtige
als auch nichtflüchtige,
entfernbare als auch nicht entfernbare Datenträger ein, die mit irgendeinem
Verfahren oder Technologie zur Speicherung von Informationen, wie
z. B. computerlesbaren Instruktionen, Datenstrukturen, Programmmodulen
oder anderen Daten, implementiert werden. Computerspeichermedien
schließen
ein, sind aber nicht darauf begrenzt, RAM, ROM, EEPROM, Flashmemory
oder anderen Speichertechnologie, CD-ROM, Digital Versatile Disks
(DVD) oder andere optische Diskspeicher, magnetische Kassetten,
magnetische Bänder,
magnetische Diskspeicher oder andere magnetische Speichergeräte oder
irgendein anderes Medium, welches verwendet werden kann, um die
gewünschten
Informationen zu speichern, und auf welches durch den Computer 110 zugegriffen
werden kann. Datenübertragungsmedien
enthalten üblicherweise
computerlesbare Instruktionen, Datenstrukturen, Programmmodule oder
andere Daten in einem modulierten Datensignal, wie z. B. einer Trägerwelle
oder anderem Transportmechanismus, und schließen irgendwelche Informationsliefermedien
ein. Der Begriff "moduliertes
Datensignal" meint
ein Signal, das eine oder mehrere seiner Charakteristiken in solch
einer Weise gesetzt oder verändert
hat, um Informationen in dem Signal zu kodieren. Als Beispiel und
nicht Einschränkung
schließen
Datenübertragungsmedien
verkabelte Medien, wie z. B. ein verkabeltes Netzwerk oder eine
direkt verkabelte Verbindung, und kabellose Medien, wie z. B. Akustik,
RF, infrarote oder andere kabellose Medien, ein. Kombinationen von
irgendwelchen der oberen sollten ebenso in den Umfang der computerlesbaren
Medien eingeschlossen sein.
-
Der
Systemspeicher 130 schließt Computerspeichermedien in
der Form von flüchtigem
und/oder nichtflüchtigem
Speicher, wie z. B. Read Only Memory (ROM) 131 und Random
Access Memory (RAM) 132, ein. Ein Basic-Input/Output-System
(BIOS) 133, das die Basisroutinen enthält, die helfen, Informationen
zwischen Elementen innerhalb des Computers 110 zu übertragen,
z. B. während
des Hochfahrens, sind üblicherweise
in dem ROM 131 gespeichert. Der RAM 132 enthält üblicherweise
Daten und/oder Programmmodule, auf die sofort durch die Prozessoreinheit 120 zugegriffen
werden kann und/oder auf denen durch die Prozessoreinheit 120 aktuell
gearbeitet wird. Als Beispiel, und nicht Einschränkung, stellt 1 das
Betriebssystem 134, Anwendungsprogramme 135, andere
Programmmodule 136 und Programmdaten 137 dar.
-
Der
Computer 110 kann ebenso andere entfernbare/nicht-entfernbare,
flüchtige/nicht-flüchtige Computerspeichermedien
einschließen.
Nur als Beispiel stellt 1 ein Festplattenlaufwerk 141,
das von/zu einem nicht-entfernbaren, nichtflüchtigen magnetischen Datenträger liest
oder schreibt, ein magnetisches Disklaufwerk 151, das von/zu
einer entfernen, nichtflüchtigen
magnetischen Disk 152 liest oder schreibt, und ein optisches
Disklaufwerk 155, das von/zu einer entfernbaren, nichtflüchtigen
optischen Disk 156 liest oder schreibt, wie z. B. einer
CD-ROM oder anderem optischen Datenträger, dar. Andere entfernbare/nicht-entfernbare,
flüchtige/nichtflüchtige Computerspeichermedien,
die in der exemplarischen Arbeitsumgebung verwendet werden können, schließen ein,
sind aber nicht darauf begrenzt, magnetische Bandkassetten, Flashmemorykarten,
Digital Versatile Disks, digitale Videobänder, Solid State RAM, Solid
State ROM und Ähnliches.
Das Festplattenlaufwerk 141 ist üblicherweise mit dem Systembus
durch eine Schnittstelle für
nicht-entfernbaren Speicher verbunden, wie z. B. Schnittstelle 140,
und das magnetische Disklaufwerk 151 und optische Disklaufwerk 155,
sind üblicherweise
mit dem Systembus 121 durch eine Schnittstelle für entfernbaren Speicher,
wie z. B. Schnittstelle 150, verbunden.
-
Die
Laufwerke und ihre zugehörigen
Computerspeicherdatenträger,
die oberhalb diskutiert und in 1 dargestellt
sind, stellen Speicher von computerlesbaren Instruktionen, Datenstrukturen,
Programmmodulen und anderen Daten für den Computer 110 bereit.
In 1 ist z. B. das Festplattenlaufwerk 141 so
dargestellt, dass es Betriebssystem 144, andere Programme 145,
andere Programmmodule 146, und Programmdaten 147 speichert.
Es ist zu beachten, dass diese Komponenten entweder dieselben sind
oder unterschiedlich von dem Betriebssystem 134, Anwendungsprogrammen 135,
anderen Programmmodulen 136 und Programmdaten 137 sein
können.
Das Betriebssystem 144, Anwendungsprogramme 145,
andere Programmmodule 146 und Programmdaten 147 sind
hier unterschiedliche Nummern gegeben worden, um darzustellen, dass
sie wenigstens unterschiedliche Kopien sind.
-
Ein
Benutzer kann Befehle und Informationen in den Computer 110 durch
Eingabegeräte
eingeben, wie z. B. eine Tastatur 162, ein Mikrofon 163, ein
Zeigergerät 161,
wie z. B. eine Maus, Trackball oder Touchpad. Andere Eingabegeräte (nicht
gezeigt) können
einen Joystick, Gamepad, Satellitenschüssel, Scanner oder Ähnliches
einschließen.
Diese und andere Eingabegeräte
sind oft mit der Prozessoreinheit 120 über eine Benutzereingabeschnittstelle 160 verbunden,
die mit dem Systembus gekoppelt ist, können aber durch andere Schnittstellen
und Busstrukturen verbunden sein, z. B. einen Parallelport, Gameport
oder einen Universal Serial Bus (USB). Ein Monitor 191 oder
anderer Typ von Anzeigegerät
ist auch mit dem Systembus 121 über eine Schnittstelle, wie
z. B. einer Videoschnittstelle 190, verbunden. Zusätzlich zu
dem Monitor können
Computer auch andere periphere Ausgabegeräte einschließen, wie
z. B. Lautsprecher 197 und Drucker 196, welche
durch eine Ausgabeperipherieschnittstelle 195 verbunden
sind.
-
Der
Computer 110 kann in einer vernetzten Umgebung betrieben
werden, die logische Verbindungen zu einem oder mehreren Remotecomputern verwendet,
z. B. ein Remotecomputer 180. Der Remotecomputer 180 kann
ein Personalcomputer, ein Handheldgerät, ein Server, ein Router,
ein Netzwerk-PC, ein Peer-Gerät
oder anderer bekannter Netzwerkknoten sein, und schließt üblicherweise
viele oder alle der oben mit Bezug auf Computer 110 beschriebenen
Elemente ein. Die logischen Verbindungen, die in 1 dargestellt
sind, schließen
ein Local Area Network (LAN) 171 und ein Wide Area Network (WAN) 173 ein,
können
aber ebenso andere Netzwerke einschließen. Solche Netzwerkumgebungen sind
alltäglich
in Büros,
unternehmensweiten Computernetzwerken, Intranets und dem Internet.
-
Wenn
er in einer LAN-Netzwerkumgebung verwendet wird, ist der Computer 110 mit
dem LAN 171 durch eine Netzwerkschnittstelle oder -adapter 170 verbunden.
Wenn er in einer WAN-Netzwerkumgebung verwendet wird, schließt der Computer 110 üblicherweise
ein Modem 173 oder andere Mittel zum Herstellen von Datenübertragungen über das
WAN 173, wie z. B. dem Internet, ein. Das Modem 172, welches
intern oder extern sein kann, kann mit dem Systembus 121 über die
Benutzereingabeschnittstelle 160 oder anderem passenden
Mechanismus verbunden sein. In einer vernetzten Umgebung können Programmmodule,
die mit Bezug auf Computer 110 dargestellt sind, oder Teile
davon in dem Remotedatenspeichergerät gespeichert sein. Als Beispiel,
und nicht Einschränkung,
stellt 1 Remoteanwendungsprogramme 185 so dar,
dass sie sich auf dem Remotecomputer 180 befinden. Es wird
begrüßt, dass
die gezeigten Netzwerkver bindungen exemplarisch sind, und andere
Mittel zum Herstellen einer Datenübertragungsverbindung zwischen
den Computern verwendet werden können.
-
2 ist
ein Blockdiagramm eines mobilen Gerätes 200, welches eine
exemplarische Computerumgebung ist. Das Mobilgerät 200 schließt einen
Mikroprozessor 202, Speicher 204, Eingabe/Ausgabe-(Input/Output – I/O-)-Komponenten 206 und
eine Datenübertragungsschnittstelle 208 zum
Kommunizieren mit Remotecomputern oder anderen Mobilgeräten ein.
In einer Ausführungsform
sind die zuvor erwähnten
Komponenten zur Kommunikation miteinander über einen geeigneten Bus 210 gekoppelt.
-
Speicher 204 ist
als ein nichtflüchtiger
elektronischer Speicher implementiert, wie z. B. ein Random Access
Memory (RAM) mit einem Batteriepuffermodul (nicht gezeigt), so dass
Informationen, die in dem Speicher 204 gespeichert sind,
nicht verloren gehen, wenn die allgemeine Stromversorgung des Mobilgeräts 200 abgeschaltet
wird. Ein Teil des Speichers 204 wird vorzugsweise als
adressierbarer Speicher für
Programmausführungen
zugewiesen, während
ein anderer Teil des Speichers 204 vorzugsweise für die Speicherung
verwendet wird, z. B. um das Speichern auf einem Disklaufwerk zu
simulieren.
-
Der
Speicher 204 schließt
ein Betriebssystem 212, Anwendungsprogramme 214,
sowie einen Objektspeicher 216 ein. Während des Betriebs wird das
Betriebssystem 212 vorzugsweise durch den Prozessor 202 von
dem Speicher 204 ausgeführt. Das
Betriebssystem 212 ist in einer bevorzugten Ausführungsform
ein WINDOWS® CE
Markenbetriebssystem, das kommerziell von Microsoft Corporation
verfügbar
ist. Das Betriebssystem 212 ist vorzugsweise für Mobilgeräte ausgelegt,
und implementiert Datenbankmerkmale, die durch die Anwendungen 214 durch
eine Reihe von dargelegten (exposed) Application Programming Interfaces
(Anwendungsprogrammschnittstellen) und Verfahren genutzt werden
können.
Die Objekte in dem Objektspeicher 216 werden durch die
Anwendungen 214 und das Betriebssystem 212 wenigstens
teilweise als Reaktion auf Aufrufe zu den dargelegten Application
Programming Interfaces und Verfahren geführt.
-
Datenübertragungsschnittstelle 208 repräsentiert
zahlreiche Geräte
und Technologien, die es dem Mobilgerät 200 erlauben, Informationen
zu senden und zu empfangen. Die Geräte schließen verkabelte und kabellose
Modems, Satellitenempfänger und
Rundfunkempfänger,
um nur ein paar zu nennen, ein. Das Mobilgerät 200 kann auch direkt
mit einem Computer verbunden sein, um Daten damit auszutauschen.
In solchen Fällen
kann die Datenübertragungsschnittstelle 208 ein
infraroter Transceiver oder eine serielle oder parallele Datenübertragungsverbindung
sein, von denen alle im Stande sind, Streaminginformationen zu übermitteln.
-
Eingabe/Ausgabe-Komponenten 206 schließen eine
Vielfalt von Eingabegeräten
ein, wie z. B. einen berührungssensitiven
Bildschirm, Knöpfe,
Rollen, und ein Mikrofon, sowie eine Vielfalt an Ausgabegeräten, einschließlich einem
Audiogenerator, einem Vibrationsgerät und einem Display. Die oben
aufgelisteten Geräte
sind nur ein Beispiel und müssen nicht
alle in dem obigen Gerät
vorhanden sein. Zusätzlich
können
andere Eingabe/Ausgabe-Geräte
innerhalb des Umfangs der vorliegenden Erfindung an das Mobilgerät 200 angeschlossen
oder bei ihm gefunden werden.
-
Gemäß der vorliegenden
Erfindung werden ein Apparat und Verfahren bereitgestellt, die die Übereinstimmung
(matching) von Rauschen zwischen Trainingsdaten und Testdaten verbessert. 3 zeigt
eine Ausführungsform
eines Verfahrens zum Durchführen
solch einer Übereinstimmung.
-
In
Schritt 300 aus 3 werden unbearbeitete Trainingsdaten
erzeugt, die vorhergesagtes Zusatzrauschen einschließen. Dieses
vorhergesagte Zusatzrauschen ist ähnlich zu dem Rauschen von dem
erwartet wird, dass es in den Testdaten vorhanden ist. Dieses vorhergesagte
Zusatzrauschen kann in die Trainingsdaten dadurch platziert werden,
dass ein Trainer in einer verrauschten Umgebung spricht, wie z.
B. einem Bahnsteig, einem Auto oder industriellen Umgebung. In anderen
Ausführungsformen spricht
der Trainer in einer relativ rauschfreien Umgebung und ein Zusatzrauschen
wird anschließend
zu den "sauberen" Trainingssprachsignalen
hinzugefügt.
Das Rauschen, das zu dem sauberen Trainingssignal hinzugefügt wird,
kann Rauschen sein, das von ausgewählten verrauschten Umgebungen
aufgezeichnet wurde, wie z. B. jene oben aufgelisteten, oder Rauschen
sein, das dieselben statistischen Eigenschaften wie das vorhergesagte
Rauschen hat.
-
Bei
Schritt 302 aus 3 werden die verrauschten Trainingsdaten
auf ein Rauschreduzierungsmodul angewandt, welches eine oder mehrere Rauschreduzierungstechniken
auf die verrauschten Trainingsdaten anwendet. Diese Rauschreduzierungstechniken
können
einschließen,
sind aber nicht darauf begrenzt, spektrale Subtraktion oder Stereo-Piecewise-Linear-Compensation-For-Environments
(SPLICE). Zusätzlich
kann mehr als eine Rauschreduzierungstechnik auf die verrauschten Daten
angewandt werden.
-
Weil
keine Rauschreduzierungstechnik imstande ist, sämtliches Rauschen von einem
Signal zu entfernen, sind die Ausgabe von dem Rauschreduzierungsmodul
nur "pseudo-saubere" Trainingsdaten.
Gemäß dieser
Ausführungsform
der vorliegenden Erfindung werden diese pseudo-sauberen Trainingsdaten
verwendet, um ein Mustermodell zu trainieren, das später verwendet
werden wird, um das wahrscheinlichste Muster zu erkennen, das durch
ein gegebenes Testsignal repräsentiert
werden kann. Dieses Training wird als Schritt 304 in 3 gezeigt. Die
Modelle, die gemäß der vorliegenden
Erfindung trainiert werden können,
können
einschließen,
sind aber nicht darauf begrenzt, neuronale Netze, Dynamic Time Warping,
Segmentmodelle und Hidden Markov Models.
-
Sobald
das Modell trainiert worden ist, werden Testdaten durch das Spracherkennungssystem bei
Schritt 306 empfangen. Dieselben Rauschreduzierungstechniken,
die auf die verrauschten Trainingsdaten angewandt wurden, werden
anschließend
auf die Testdaten angewandt, um pseudo-saubere Testdaten zu erzeugen.
Diese Rauschreduzierungstechniken werden bei Schritt 308 von 3 angewandt.
-
Durch
das Anwenden derselben Rauschredzierungstechniken auf die Testdaten,
die auf die Trainingsdaten angewandt wurden, bringt die vorliegende
Erfindung die Testdaten in einen pseudo-sauberen Zustand, der mehr
mit dem pseudo-sauberen Zustand der Trainingsdaten übereinstimmt.
-
Die
pseudo-sauberen Testdaten werden bei Schritt 310 gegen
das trainierte Modell angewandt, um die Testdaten zu dekodieren
und das wahrscheinlichste Muster, das durch die Testdaten repräsentiert wird,
zu ermitteln.
-
4 stellt
ein Blockdiagramm der Hardewarekomponenten und Programmmodule bereit,
die in den allgemeinen Computerumgebungen aus 1 und 2 gefunden
werden, die für
eine Ausführungsform
der vorliegenden Erfindung, die für Spracherkennung verwendet
wird, besonders relevant sind. In 4 werden
ein Eingangssprachsignal von einem Sprecher 400 und ein
Zusatzgeräusch
in ein elektrisches Signal durch ein Mikrophon 404, welches
mit einem Analog-Zu-Digital-Konverter (A-zu-D-Konverter) 406 verbunden
ist, konvertiert. Obwohl das Zusatzgeräusch 402 in der Ausführungsform
von 4 so gezeigt ist, dass es durch das Mikrophon 404 erfasst
wird, kann in anderen Ausführungsformen
das Zusatzgeräusch 402 zu
dem Eingangssprachsignal als ein digitales Signal nach dem A-zu-D-Konverter 406 hinzugefügt werden.
-
Der
A-zu-D-Konverter 406 konvertiert das analoge Signal von
dem Mirkophon 404 in eine Reihe von digitalen Werten. In
einigen Ausführungsformen sampelt
der A-zu-D-Konverter 406 das
analoge Signal bei 16 kHz und 16 Bits pro Sample und erzeugt dabei
32 kBytes an Sprachdaten pro Sekunde.
-
Die
digitalen Daten, die durch den A-zu-D-Konverter 406 erzeugt
werden, werden einem Rauschreduzierungsmodul 408 bereitgestellt, das
manches von dem Geräusch
in dem digitalen Signal unter Verwendung einer oder mehrerer Rauschreduzierungstechniken
entfernt. Solche Rauschreduzierungstechniken schließen ein,
sind aber nicht darauf begrenzt, Spektralsubtraktion oder Stereo-Piecewise-Linear-Compensation-For-Environments (SPLICE).
-
Die
Ausgabe des Rauschreduzierungsmoduls 408 wird dem Feature-Extraktor 400 bereitgestellt,
welcher ein Feature von dem digitalen Sprachsignal extrahiert. Beispiele
von Feature-Extraktionsmodulen schließen Module zum Durchführen von
Linear Predictive Coding (LPC), LPC Derived Cepstrum, Perceptive
Linear Prediction (PLP), Auditory Model Feature Extraction und Mel-Frequency-Cepstrum-Coefficients
(MFCC) Feature Extraction ein. Es ist zu beachten, dass die Erfindung
nicht auf diese Feature-Extraktionsmodule
beschränkt
ist und dass andere Module in dem Kontext der vorliegenden Erfindung
verwendet werden können.
-
Das
Featur-Extraktionsmodul empfängt
den Strom mit digitalen Werten von dem Rauschreduzierungsmodul 408 und
erzeugt einen Strom von Featurevektoren, die jeder mit einem Frame
des Sprachsignals assoziiert sind. In vielen Ausführungsformen sind
die Zentren der Frames durch 10 Millisekunden getrennt.
-
Es
ist zu beachten, dass obwohl das Rauschreduzierungsmodul 408 vor
dem Feature-Extraktor 400 in
der Ausführungsform
von 4 gezeigt ist, das Rauschreduzierungsmodul 408 in
anderen Ausführungsformen
nach dem Feature-Extraktor 400 erscheint.
-
Der
Strom an Featurevektoren, der durch das Extraktionsmodul erzeugt
wird, wird einem Dekoder 412 bereitgestellt, der eine höchstwahrscheinliche
Sequenz an Worten, basierend auf dem Strom von Featurevektoren,
einem Lexikon 414, einem Sprachmodell 416 und
einem akustischen Model 418 identifiziert.
-
In
manchen Ausführungsformen
ist das akustische Modell 418 ein Hidden Markov Model,
das aus einer Reihe von verborgenen Stati besteht. Jede linguistische
Einheit, die durch das Modell repräsentiert wird, besteht aus
einer Teilmenge dieser Stati. Zum Beispiel wird in einer Ausführungsform
jedes Phonem aus drei miteinander verbundenen Stati konstruiert.
Jeder Status hat einen zugehörigen
Satz von Wahrscheinlichkeitsverteilungen, die in Kombination eine
effiziente Berechnung der Wahrscheinlichkeiten gegenüber irgendeiner
beliebigen Sequenz von Eingangsfeaturevektoren für jede Sequenz von linguistischen
Einheiten (wie z. B. Wörtern)
erlaubt. Das Modell schließt
auch Wahrscheinlichkeiten für
den Übergang
zwischen zwei benachbarten Modellstati, sowie erlaubte Übergange
zwischen Stati für
bestimmte linguistische Einheiten ein. Durch Auswählen der
Stati, die die höchste
Kombination an übereinstimmenden
Wahrscheinlichkeiten und Übergangswahrscheinlichkeiten
für die
Eingangsfeature-Vektoren bereitstellen, ist das Modell in der Lage,
linguistische Einheiten der Sprache zuzuordnen, zum Beispiel, wenn
ein Phonem aus den Stati 0, 1 und 2 konstruiert war und wenn die
ersten drei Frames der Sprache mit dem Status 0 übereinstimmten, die nächsten zwei
mit dem Status 1 übereinstimmten
und die nächsten
drei mit dem Status 2 übereinstimmten,
würde das
Modell das Phonem diesen acht Frames der Sprache zuweisen.
-
Es
ist zu beachten, dass die Größe der linguistischen
Einheiten für
unterschiedliche Ausführungsformen
der vorliegenden Erfindung unterschiedlich sein kann. Zum Beispiel
können
die linguistischen Einheiten Senone, Phoneme, Geräuschlaute,
Diphone, Triphone oder andere Wahrscheinlichkeiten sein.
-
In
anderen Ausführungsformen
ist das akustische Modell 418 ein Segmentmodell, das anzeigt, wie
wahrscheinlich es ist, dass eine Sequenz von Featurevektoren durch
ein Segment mit einer bestimmten Länge erzeugt werden würde. Das
Segmentmodell unterscheidet sich von dem framebasierten Modell,
weil es mehrere Featurevektoren zu derselben Zeit verwendet, um
eine Ermittlung über
die Wahrscheinlichkeit eines bestimmten Segmentes zu machen. Aufgrund
dessen stellt es ein besseres Modell für großangelegte Übergänge in dem Sprachsignal bereit.
Zusätzlich
betrachtet das Segmentmodell mehrere Dauern für jedes Segment und ermittelt
eine separate Wahrscheinlichkeit für jede Dauer. Als solches stellt
es ein genaueres Modell für
Segmente bereit, die längere
Dauern haben. Verschiedene Typen von Segmentmodellen können mit
der vorliegenden Erfindung verwendet werden, einschließlich probabilistische-Trajektorie,
Segmentweise Hidden Markov Modelle.
-
Das
Sprachmodell 416 stellt eine Reihe von Wahrscheinlichkeiten
bereit, dass eine bestimmte Sequenz von Wörtern in der zu untersuchenden
(of interest) Sprache erschei nen wird. In vielen Ausführungsformen
basiert das Sprachmodell auf einer Textdatenbank, wie z. B. der
Nordamerikanischen Business News (NAB), welche detaillierter in
einer Publikation mit dem Titel "CSR-III
Text Language Model",
University of Penn., 1994, beschrieben ist. Das Sprachmodell kann
eine kontextfreie Grammatik oder ein statistisches N-Gram-Modell,
wie z. B. ein Tri-Gram, sein. In einer Ausführungsform ist das Sprachmodell
ein kompaktes Tri-Gram-Modell, das die Wahrscheinlichkeit einer
Sequenz von Worten basierend auf den kombinierten Wahrscheinlichkeiten
von Drei-Wort-Segmenten
der Sequenz ermittelt.
-
Basierend
auf dem akustischen Modell, dem Sprachmodell und dem Lexikon, identifiziert
der Dekoder 412 eine höchstwahrscheinliche
Sequenz an Worten von allen möglichen
Wortsequenzen. Das bestimmte Verfahren, das zum Dekodieren verwendet wird,
ist für
die vorliegende Erfindung nicht wichtig, und irgendeins von verschiedenen
bekannten Verfahren zum Dekodieren kann verwendet werden.
-
Die
am meisten wahrscheinliche Sequenz von Hypothesewörtern wird
einem Zuversichts-Messmodul 420 (Confidence Measure Modul) bereitgestellt.
Das Zuversichts-Messmodell 420 identifiziert
teilweise basierend auf einem zweiten frame-basierten akustischen
Modell, welche Worte am Wahrscheinlichsten durch den Spracherkenner
wann genau identifiziert worden sind. Das Zuversichts-Messmodul 420 stellt
anschließend
die Sequenz von Hypothesewörtern
zusammen mit Kennzeichnern, die anzeigen, welche Worte wann genau identifiziert
worden sein können,
einem Ausgabemodul 422 bereit. Fachleute werden erkennen,
dass das Zuversichts-Messmodul 420 für das Anwenden der vorliegenden
Erfindung nicht notwendig ist.
-
Das
akustische Modell 418 von oben wird durch einen Trainer 424 basierend
auf einem Trainingstext 426 und den Featuren, die durch
den Featureextraktor 410 von einem oder mehreren Trainingssprachsignalen
zugehörig
zu dem Trainingstext 416 extrahiert wurden, trainiert.
Irgendein passendes Trainingsverfahren, das für das bestimmte Modell geeignet
ist, kann innerhalb des Umfangs der vorliegenden Erfindung verwendet
werden. Wie oberhalb diskutiert, schließen die Trainingssprachsignale
ein Zusatzgeräusch
ein, das teilweise durch das Rauschreduzierungsmodell 408 entfernt
wurde, um pseudo-saubere
Daten zu erzeugen. Eine mögliche Rauschreduzierungstechnik,
die gemäß der vorliegenden
Erfindung verwendet werden kann, ist Spektralsubtraktion. In einer
Spektralsubtraktion wird ein Geräusch
in dem Sprachsignal gesampelt und die Samples werden in den Frequenzbereich
(Frequency Domain) konvertiert. Der Frequenzgehalt des Geräusches wird
anschließend
von einer Frequenzrepräsentation
des Sprachsignals abgezogen, um ein pseudo-sauberes Sprachsignal
zu erzeugen.
-
Wie
in 5 gezeigt, kann das Geräusch von den Sprachdaten durch
das Samplen des Sprachsignals während
Pausen in der eigentlichen Sprache gesamplet werden. In 5 wird
ein Beispiel eines verrauschten Sprachsignals gezeigt, wobei die
Zeit entlang der horizontalen Achse 500 und die Amplitude
des Sprachsignals entlang der vertikalen Achse 502 gezeigt
ist. In 5 schließt das Sprachsignal ein aktives
Sprachgebiet 504 und zwei Pausen 506 und 508 ein.
Der aktive Sprachteil 504 des Sprachsignals hat einen höheren Energiegehalt als
die Pausen 506 und 508. Durch das Samplen des Sprachsignals
während
der Pausen 506 und 508 kann das Hintergrundgeräusch von
dem Sprachgehalt des Signals getrennt werden.
-
6 stellt
ein Beispiel des Spektralgehalts von Geräuschsamplen bereit, die während einer Pause
in der Sprache, wie z. B. Pause 506 aus 5,
genommen wurden. In 6 wird die Frequenz entlang
der horizontalen Achse 600 gezeigt und die Amplitude von
jeder Frequenzkomponente wird entlang der vertikalen Achse 602 gezeigt.
Für ein
Rauschspektrum 604 aus 6 hat der
Spektralgehalt eine höhere
Magnitude in dem Mittelband der Frequenzen und eine geringere Magnitude
bei den geringeren und höheren
Frequenzen. Während
der Spektralsubtraktion wird diese Frequenzsignatur verwendet, um
einen Geräuschkorrekturwert
für jede Frequenz
des Sprachsignals zu generieren. Die entsprechenden Korrekturwerte
werden anschießend von
den entsprechenden Frequenzwerten des Sprachsignals abgezogen, um
das Geräusch
in dem Sprachsignal zu reduzieren.
-
7 stellt
ein Blockdiagramm für
eine Ausführungsform
des Rauschreduzierungsmoduls 408 und des Feature-Extraktors 410 aus 4 bereit.
In der Ausführungsform
von 7 führt
das Rauschreduzierungsmodul 408 eine Spektralsubtraktion
aus und der Feature-Extraktor 410 produziert Spektralkoeffizienten
als seine extrahierten Feature. In der Ausführungsform von 7 sind
das Rauschreduzierungsmodul 408 und der Feature-Extraktor 410 zusammen
integriert, um ein einzeln arbeitendes Modul zu bilden. Obwohl die
Funktionen von diesen zwei Modulen in 7 integriert
sind, werden Fachleute erkennen, dass die einzelnen Komponenten,
die verwendet werden, um die Ausführungsform der 7 zu
erzeugen, nicht auf demselben Chip in Hardwareimplementationen der
Erfindung oder in denselben Softwaremodulen in Softwareimplementationen
der Erfindung gefunden werden müssen.
-
In 7 werden
die digitalen Werte von dem Analog-zu-Digital-Konverter 406 einem
Fast-Fourier-Transform-Modul (FFT-Modul) 700 bereitgestellt. FFT 700 konvertiert
die digitalen Zeitbereichswerte in eine Reihe von Frequenzbereichswerte,
die den Frequenzgehalt der Frames des Sprachsignals beschreiben.
-
Die
Frequenzbereichswerte, die durch das FFT 700 erzeugt werden,
werden einem Geräuschidentifizierungsmodul 702 bereitgestellt.
Das Geräuschidentifizierungsmodul 702 betrachtet
den Energiegehalt der Frequenzbereichswerte jedes Frames, um zu
identifizieren, ob der aktuelle Teil des Sprachsignals aktive Sprache
oder eine Pause in der Sprache repräsentiert. Techniken zum Identifizieren
von Pausen in Sprache sind in der Fachwelt gut bekannt.
-
Die
Frequenzbereichswerte, die durch das FFT 700 erzeugt werden,
werden auch einem Gewichtungsmodul 704 bereitgestellt,
das Kontrollwerte von dem Geräuschidentifizierungsmodul 702 empfängt und
das Zugriff auf einen Speicher hat, der vergangene Geräuschsampel 706 enthält. Wenn
das Geräuschidentifizierungsmodul 702 ermittelt,
dass der aktuelle Abschnitt der Sprache einer Pause in der Sprache
entspricht, aktiviert es das Gewichtungsmodul 704, um eine
neue Reihe von Geräuschreduzierungswerten
zu erzeugen.
-
Gemäß einer
Ausführungsform
produziert das Gewichtungsmodul 704 die Geräuschreduzierungswerte
durch das Kombinieren der letzten "N" Geräuschframes
von dem Sprachsignal. Diese vergangenen "N" Frames
werden von dem Speicher 706 wiedererlangt. Gemäß einer
Ausführungsform
kombiniert das Gewichtungsmodul 704 die vergangenen "N" Geräuschframes
durch eine schwerere Gewichtung der letzteren Geräuschframes
bezüglich
der älteren
Geräuschframes
in Speicher 706. Als Teil seiner Abarbeitung des neuen
Geräuschkorrekturwertes
speichert das Gewichtungsmodul 704 auch den aktuellen Geräuschframe
in Speicher 706.
-
Die
Korrekturwerte, die durch das Gewichtungsmodul 704 erzeugt
werden, werden in einem Speicher 708 gespeichert, auf den
durch einen Spektralsubtraktor 710 zugegriffen wird. Der
Spektralsubtraktor 710 empfängt auch die Frequenzbereichswerte
von dem FFT 700. Für
jede Frequenz zugehörig
zu den Korrekturwerten, die in Speicher 708 gespeichert sind,
zieht der Spektralsubtraktor 710 den entsprechenden Wert
in dem Speicher 708 von dem Frequenzbereichswert, der durch
das FFT 700 bereitgestellt wird, ab. Dies führt zu pseudo-sauberen
Frequenzbereichswerten an der Ausgabe des Spektralsubtraktors 710.
-
Die
pseudo-sauberen Frequenzwerte, die durch den Spektralsubtraktor 710 ausgegeben
werden, werden einem Logarithmus Modul (log module) 712 bereitgestellt,
welches den Logarithmus von jedem der Werte nimmt (takes the log).
Die logarithmischen Werte (log values) werden anschließend einer inversen
Fast-Fourier-Transformation 714 bereitgestellt, welche
die inverse Fast-Fourier-Transformation der Logarithmuswerte nimmt,
um eine Reihe von Substralkoeffizienten für jeden Frame des Sprachsignals
zu erzeugen. Diese Reihe von Substralkoeffizienten repräsentiert
die Ausgabe des Feature-Extraktors.
-
In
anderen Ausführungsformen
verwendet die vorliegende Erfindung Stereo-Piecewise-Linear-Compensation-For-Environments
(SPLICE) als die Rauschreduzierungstechnik. Die SPLICE-Rauschreduzierungstechnik
wird detailliert in einer US-Patentanmeldung mit dem Titel "METHOD OF NOISE REDUCTION
USING CORRECTION VECTORS" diskutiert,
die zu demselben Datum hiermit eingereicht wurde, die Anwalts-Docket-Nr. M61.12-0325
hat, und hiermit als Referenz einbezogen wird.
-
Gemäß der SPLICE-Technik
wird Rauschen durch das Schätzen
des wahrscheinlichsten sauberen Featurevektors reduziert, der durch
einen verrauschten Featurevektor von einem verrauschten Mustersignal
repräsentiert
werden könnte.
Dies wird durch das Auswählen
eines Korrekturvektors getan, der zu dem verrauschten Featurevektor
hinzugefügt wird,
um den sauberen Featurevektor zu bilden. Um den Korrekturvektor
auszuwählen,
ermittelt das Verfahren, welche von einer Reihe von Mischkomponenten
am Besten mit dem verrauschten Featurevektor übereinstimmt. Der Korrekturvektor
zugehörig
zu dieser Mischkomponente wird anschließend zu dem verrauschten Featurevektor
hinzugefügt.
-
Jeder
Korrekturvector wird zum Teil durch das Abziehen einer Sequenz von
verrauschten Kanal-Featurevektoren von einer Sequenz von sauberen
Kanal-Featurevektoren gebildet, wobei der verrauschte Kanal und
der saubere Kanal dasselbe Sprachsignal enthalten, aber wo der verrauschte
Kanal ein Zusatzgeräusch
hat. Üblicherweise
werden die Korrekturvektoren gebildet, bevor entweder die Trainingsdaten
oder Testdaten dem Rauschreduzierungsmodul bereitgestellt werden.
-
In
einer Ausführungsform
der vorliegenden Erfindung werden mehrere Reihen von Trainingsdaten
verwendet, um mehrere Typen von verrauschten Umgebungen in dem Trainingsmodell
einzubeziehen. Gemäß einer
Ausführungsform
werden deshalb manche Trainingsdaten an einem Bahnsteig gesammelt,
während
andere Daten in einem Auto gesammelt werden und noch weitere Daten
in einem Flugzeug gesammelt werden. 8 stellt
ein Flussdiagramm eines Verfahrens gemäß der vorliegenden Erfindung
zum Trainieren eines Modells unter Verwendung mehrerer Reihen von
Trainingsdaten bereit.
-
In
Schritt 800 aus 8 wird eine Reihe von Trainingsdaten
mit einem Zusatzgeräusch
erzeugt, zum Beispiel dadurch, dass ein Trainer in einer ausgewählten verrauschten
Umgebung spricht. In Schritt 802 werden eine oder mehrere
Rauschreduzierungstechniken auf die Reihe von Trainingsdaten angewandt.
Die Rauschreduzierungstechniken, die auf die Trainingsdaten in Schritt 802 angewandt
werden, können
für jeden
Typ der verrauschten Umgebungen dieselben sein oder können für die spezifischen
verrauschten Umgebungen auf die hin die Rauschreduzierungstechniken
angewandt werden, zugeschnitten werden.
-
In
Schritt 804 ermittelt das Verfahren, ob es eine andere
Reihe von Trainingsdaten zum Sammeln gibt. Wenn es eine andere Reihe
gibt, kehrt der Prozess zu Schritt 800 zurück. Gemäß einer
Ausführungsform
der Erfindung wird jede Reihe von Trainingsdaten mit einem unterschiedlichen
Geräuschtyp assoziiert.
Deshalb kann eine Reihe ein Klimaanlagengeräusch enthalten, und eine andere
kann ein Geräusch
mit Sprache im Hintergrund enthalten.
-
Wenn
es keine anderen Reihen von Daten gibt, fährt der Prozess bei Schritt 802 fort,
wo das akustische Modell unter Verwendung all der Reihen von pseudo-sauberen
Trainingsdaten, die aus den Rauschreduzierungstechniken von Schritt 802 resultieren,
trainiert wird.
-
Durch
das Verwenden der Rauschreduzierungstechniken auf mehrere Reihen
von Trainingsdaten, von denen jede mit unterschiedlichen Geräuschtypen
assoziiert ist, erzeugen die Ausführungsformen der vorliegenden
Erfindung schärfer
definierte Modelle. Dies kann in den 9 bis 12 gesehen werden.
-
9 zeigt
drei Wahrscheinlichkeitsverteilungen für eine Spracheinheit. In 9 wird
der Featurewechsel von dem Sprachsignal entlang der horizontalen
Achse 900 gezeigt und die Wahrscheinlichkeit der Spracheinheit
wird entlang der vertikalen Achse 902 gezeigt. Die Wahrscheinlichkeitsverteilungen 904, 906 aus 9 werden
jede mit einer unterschiedlichen Reihe von Trainingsdaten assoziiert. Deshalb
wird jeder der Wahrscheinlichkeitsverteilungen ein unterschiedlicher
Typ von Zusatzgeräusch zugeordnet.
In 9 sind die Reihe von Trainingsdaten nicht durch
ein Rauschreduzierungsmodul geführt
worden.
-
Wenn
die Wahrscheinlichkeitsverteilungen aus 9 kombiniert
werden, um ein einzelnes Modell für die Spracheinheit zu bilden,
wird eine Wahrscheinlichkeitsverteilung, wie z. B. Verteilung 1000 aus 10,
erzeugt. Wie in 9 werden die Werte der Featurevektoren
entlang der horizontalen Achse 1002 gezeigt und die Wahrscheinlichkeit
entlang der vertikalen Achse 1004 gezeigt.
-
Weil
die Wahrscheinlichkeitsverteilungen 904, 906 und 908 sich
entlang der horizontalen Achse ausbreiten, ist die resultierende,
kombinierte Wahrscheinlichkeitsverteilung flach. Solch eine Verteilung
führt dazu,
dass das Modell breit definiert ist, so dass das Level an Bestimmtheit
beim Auswählen der
korrekten Spracheinheit reduziert wird, weil ein gegebenes Sprachsignal ähnliche
Wahrscheinlichkeiten für
eine große
Anzahl von Spracheinheiten erzeugen wird.
-
11 zeigt
die Effekte des Anwendens von Rauschreduzierung auf mehrere Reihen
von Trainingsdaten. In 11 sind die Featurevektorwerte nach
einer Rauschreduzierung entlang der horizontalen Achse 1100 gezeigt
und die Wahrscheinlichkeit einer Spracheinheit ist entlang der vertikalen
Achse 1102 gezeigt. In 11 sind
die drei Wahrscheinlichkeitsverteilungen aus 9 durch
die Rauschredzierungstechniken näher
zueinander gebracht worden. Dies führt zu Verteilungen 1104, 1006 bzw. 1108.
-
Weil
die einzelnen Verteilungen aus 11 näher zueinander
gebracht wurden, ist die kombinierte Verteilung 1200, die
in 12 gezeigt ist, schärfer definiert. Das Besitzen
solch einer scharten Definition in der Wahrscheinlichkeitsverteilung
führt zu
mehr Bestimmtheit in dem Entscheidungsfindungsprozess zum Auswählen einer
Spracheinheit angesichts eines Eingangssprachsignals. Die Schärfe der
Definition ist in der Verteilung 1200 durch die Tatsache
gezeigt, dass die Verteilung nahe zu einem bestimmten Featurevektor
entlang der Featurevektoren der horizontalen Achse 1202 schnell
ansteigt und eine höhere
Wahrscheinlichkeit entlang der vertikalen Achse 1206 bereitstellt.
-
In
manchen Ausführungsformen,
wo verschiedene Rauschreduzierungstechniken für unterschiedliche Reihen von
Trainingsdaten verwendet werden, wird das Geräusch in den Testdaten gesampelt,
um zu ermitteln, welche Rauschreduzierungstechniken auf die Testdaten
angewandt werden sollten. 13 erstellt
ein Blockdiagramm eines Rauschreduzierungsmoduls 1300 für eine solche Ausführungsform
der vorliegenden Erfindung bereit.
-
Im
Rauschreduzierungsmodul 1300 wird das Geräusch in
dem Eingangstestsprachsignal durch einen Geräuschsampler 1301 gesampelt,
z. B. durch Verwenden der oben in Verbindung mit 5 beschriebenen
Technik. Das Geräuschsample
wird einem Geräuschvergleicher 1302 bereitgestellt,
der den Spektralgehalt des Geräuschs
in dem Testsignal mit Sampeln eines Trainingsgeräusches, das in dem Speicher 1304 gespeichert
ist, vergleicht. Es ist zu beachten, dass mehrere Geräuschsampeln
für jede Reihe
von Trainingsdaten gespeichert werden können. Die Anzahl an gespeicherten
Sampeln wird durch das Treffen (Striking) einer Balance zwischen Speichernutzung
und gewünschter
Genauigkeit für den
Rauschreduzierungsauswahlprozeß ausgewählt.
-
Wenn
er die beste Übereinstimmung
für das Geräusch in
dem Testsprachsignal findet, ruft der Geräuschvergleicher 1302 den
Satzkennzeichner für das übereinstimmende
Signal aus dem Speicher 1304 ab.
-
Der
Satzkennzeichner wird einem Geräuschreduzierungsauswähler 1303 bereitgestellt, der
die Namen der Geräuschreduzierungstechniken abruft,
die auf den identifizierten Satz von Trainingsdaten angewandt wurden.
Um dies zu tun, greift der Rauschreduzierungsauswähler 1303 auf
eine Trainingssatz/Rauschreduzierungsdatenbank 1305 zu, welche
eine Liste von Rauschreduzierungstechniken enthält, die auf jeden Satz von
Trainingsdaten angewandt wurden.
-
Nachdem
er die passende Rauschreduzierungstechnik für das aktuelle Sample identifiziert
hat, routet der Rauschreduzierungsauswähler 1303 die Testdaten
zu den Rauschreduzierungsmodulen zugehörig zu dem identifizierten
Satz oder Cluster. In 13 involviert dies das Routen
der Testdaten zu einem der Rauschreduzierungsmodule 1306, 1308 oder 1310.
Es ist zu beachten, dass obwohl die Rauschreduzierungsmodule 1306, 1308 und 1310 in 13 parallel
gezeigt sind, in anderen Ausführungsformen
die Testdaten durch eine Serie von Rauschreduzierungsmodulen geführt werden
können.
Die Ausgabe der ausgewählten
Rauschreduzierungsmodule sind die "pseudo-sauberen" Testdaten.
-
In
anderen Ausführungsformen
werden mehrere akustische Modelle unter Verwendung unterschiedlicher
Reihen von Trainingsdaten, unterschiedlichen Rauschreduzierungstechniken
oder Kombinationen von beiden trainiert. Deshalb werden unterschiedliche Reihen
von pseudo-sauberen Trainingsdaten erzeugt und anschließend verwendet,
um unterschiedliche entsprechende Modelle zu bilden, anstatt die
unterschiedlichen Reihen von Trainingsdaten in ein einzelnes Modell,
wie es oberhalb diskutiert wurde, zu kombinieren. Gemäß solchen
Ausführungsformen
wird jede Rauschreduzierungstechnik, die verwendet wurde, um die
entsprechenden pseudo-sauberen Trainingsdaten zu bilden, auch auf
die Testdaten angewandt. Dies erzeugt eine Vielzahl von Reihen von
pseudo-sauberen
Testdaten, mit einer Reihe für
jedes entsprechende Modell. Jede Reihe von pseudo-sauberen Testdaten
wird anschließend gegen
sein entsprechendes Modell angewandt, um eine Wahrscheinlichkeit
für das
Modell-/Testdatenpaar zu finden.
-
Der
Dekoder ermittelt anschließend
alle der Wahrscheinlichkeiten und wählt das Modell-/Testdatenpaar aus,
das die höchste
Wahrscheinlichkeit bereitstellt. Diese Auswahl kann basierend auf
der Wahrscheinlichkeit über
das gesamte Sprachsignal gemacht werden, so dass ein Modell und
ein entsprechender Satz von Rauschreduzierugnstechniken über das
gesamte Sprachsignal angewandt wird, oder die Auswahl kann basierend
auf einer Wahrscheinlichkeit für
ein Sprachsegment gemacht werden, so dass unterschiedliche Segmente
unterschiedliche Modelle und Rauschreduzierungstechniken verwenden.
Zum Beispiel kann ein erstes Phonem unter Verwendung eines Modell-/Testdatenpaars
dekodiert werden, während
ein benachbartes Phonem unter Verwendung eines zweiten Modell-Testdatenpaars
dekodiert wird. Das Verwenden einer solchen Technik erlaubt es dem
Dekoder die beste Rauschreduzierungstechnik und Modell inhärent auszuwählen, um
auf jedes Segment der Testdaten angewandt zu werden.
-
In
noch weiteren Ausführungsformen
werden unterschiedliche Reihen von pseudo-sauberen Trainingsdaten unter Verwendung
unterschiedlicher Rauschreduzierungstechniken gebildet, aber nur
ein Modell wird konstruiert. Die unterschiedlichen Rauschreduzierungstechniken
werden anschließend auf
die Testdaten angewandt, um mehrere Sätze von pseudo-sauberen Testdaten
zu bilden. Jeder unterschiedliche Satz von pseudo-sauberen Testdaten wird
gegen das Modell angewandt und der Dekoder wählt die pseudo-sauberen Testdaten,
die die höchste
Wahrscheinlichkeit erzeugen. Diese Auswahl kann basieren auf einer
Wahrscheinlichkeit über
das gesamte Sprachsignal gemacht werden oder sie kann basierend
auf einer Wahrscheinlichkeit für
ein Segment von dem Sprachsignal gemacht werden.
-
Obwohl
die vorliegende Erfindung mit Bezug auf bestimmte Ausführungsformen
beschrieben worden ist, werden es Fachleute erkennen, dass Veränderungen
in Form und Detail gemacht werden können, ohne von dem Umfang der
Erfindung abzuweichen.