-
Die Erfindung betrifft ein Spracherkennungsverfahren bei dem in einem ersten Schritt ein Audiosignal, dass aus einer mehrere Worte umfassenden Äußerung eines Sprechers gewonnen wurde, mit einem Satzerkennungsalgorithmus in mehrere zeitliche hintereinander abfolgende Segmente segmentiert wird.
-
Bei der Spracherkennung von ganzen Sätzen stellt die korrekte Abgrenzung einzelner Wörter innerhalb eines Satzes ein erhebliches Problem dar. Während in der Schriftsprache jedes Wort durch ein Leerzeichen von seinen beiden Nachbarn getrennt und somit gut zu erkennen ist, gehen benachbarte Wörter in der gesprochenen Sprache ineinander über, ohne dass sie akustisch getrennt voneinander zu hören sind. Vorgänge, die einen Menschen befähigen, den Sinn eines gesprochenen Satzes zu verstehen, wie eine Einordnung der gehörten Phoneme in einen Gesamtzusammenhang unter Berücksichtigung der Situation, in der sich der Sprecher befindet, lassen sich durch Computer nicht ohne weiteres durchführen.
-
Die Unsicherheiten bei der Segmentierung eines fließend gesprochenen Satzes in Phoneme schlagen auf eine mangelnde Qualität bei der Identifizierung vermeintlich erkannter Wörter durch. Auch wenn nur einzelne Wörter, wie Schlüsselwörter in einem Gespräch, erkannt werden sollen, führt eine falsche Segmentierung nachfolgende Grammatikalgorithmen oder auf Multi-Grammen basierende Statistiken in die Irre. Als Folge davon werden auch die Schlüsselwörter nicht oder nur schwer erkannt.
-
Das Problem wird durch starke Hintergrundgeräusche, die eine Segmentierung und eine Worterkennung weiter erschweren, noch verschärft. Ein darüber hinausgehendes Problem bilden so genannte unkooperative Sprecher. Während beim Diktieren in ein Spracherkennungssystem in der Regel kooperativ gesprochen wird, der Sprecher also sein Diktat möglichst so ausführt, dass die Spracherkennung erfolgreich ist, ist die Spracherkennung von Alltagssprache, wie beispielsweise Dialogen im Alltag oder insbesondere per Telefon, vor das Problem gestellt, dass häufig undeutlich gesprochen wird, nicht in ganzen Sätzen gesprochen wird oder in Umgangssprache gesprochen wird. Die Spracherkennung solcher unkooperativer Sprache stellt Sprecherkennungssysteme vor extreme Anforderungen.
-
Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren zur Spracherkennung anzugeben, mit dem auch unter widrigen Umständen ein gutes Ergebnis erzielt wird.
-
Diese Aufgabe wird durch ein Spracherkennungsverfahren der eingangs genannten Art gelöst, bei dem erfindungsgemäß in einem zweiten Schritt zumindest ein Teil des Audiosignals unter Verwendung des Segmentierungsergebnisses mittels eines Einzelworterkennungsalgorithmus untersucht wird und in einem dritten Schritt die Spracherkennung der gesamten Äußerung fortgeführt wird unter Verwendung der Untersuchungsergebnisse des zweiten Schritts.
-
Durch die Kombination eines Satzerkennungsalgorithmus mit einem Einzelwortalgorithmus können die Vorteile der beiden Algorithmen kombiniert werden und es können sehr gute Ergebnisse bei der Erkennung einzelner Wörter erzielt werden. Besonders vorteilhaft ist die Kombination nur einzelner Verfahrensschritte des Satzerkennungsalgorithmus, wie der Segmentierung und der Erkennung mehrerer hintereinander liegender Wörter in einem Zusammenhang, mit dem Verfahren der Einzelworterkennung.
-
Die Äußerung des Sprechers kann ein Satz oder ein Satzteil sein. Das Audiosignal kann ein kontinuierlicher Energiepuls sein oder einen solchen Darstellen, der aus der Äußerung gewonnen wurde. Die einzelnen Segmente können Phoneme oder Wörter wiedergeben. Der Satzerkennungsalgorithmus ist zweckmäßigerweise ein kontinuierliche-Sprache-Algorithmus, also ein Algorithmus, der zur Erkennung kontinuierlicher Sprache aus mehreren hintereinander angeordneten Wörtern dient und hierzu entwickelt wurde, wobei die Wörter einen Satz oder einen Satzteil bilden können. Der Satzerkennungsalgorithmus kann ein Computerprogramm oder ein Computerprogrammteil sein, das in der Lage ist, mehrere hintereinander und in einem Zusammenhang ausgesprochene Wörter in ihrem Zusammenhang zu erkennen und als Wörter bzw. Zeichenketten auszugeben. Ein vom Satzerkennungsalgorithmus durchgeführtes Erkennungsverfahren kann hierbei mehrere hintereinander ausgeführte Verfahrensschritte umfassen, die auch einzeln und abhängig voneinander ausführbar sind.
-
Der Einzelworterkennungsalgorithmus kann ein auf die Erkennung eines einzelnen Wortes spezialisierter Algorithmus ein, der also ohne Wortzusammenhänge arbeitet. Er kann ein Computerprogramm oder ein Teil davon sein, das darauf spezialisiert ist, einzelne und aus einem Zusammenhang heraus gelöste Wörter als Einzelwort beziehungsweise Einzelbegriff zu erkennen.
-
Der Satzerkennungsalgorithmus und der Einzelworterkennungsalgorithmus sind zweckmäßigerweise Bestandteil unterschiedlicher Spracherkennungseinheiten, die insbesondere auf verschiedenen Entwicklungen beruhen. Andererseits ist es möglich, beide Algorithmen in einer einzigen Spracherkennungseinheit einzusetzen, so dass zunächst der Satzerkennungsalgorithmus von einem Steuermittel der Spracherkennungseinheit eingesetzt wird und dann der Einzelworterkennungsalgorithmus vom gleichen Steuermittel der gleichen Spracherkennungseinheit eingesetzt wird.
-
Nach dem ersten Schritt kann die Satzerkennung, also die Tätigkeit des Satzerkennungsalgorithmus, unterbrochen werden und die Ergebnisse des ersten Schritts können dem Einzelwortalgorithmus zugeführt werden. Der dritte Schritt kann wieder mit Hilfe des Satzerkennungsalgorithmus und dessen der Segmentierung nachfolgenden Verfahrensschritten erfolgen.
-
In einer vorteilhaften Ausführungsform der Erfindung werden die einzelnen Segmente voneinander getrennt und jedes Segment wird einzeln und losgelöst von den benachbarten Segmenten dem Einzelworterkennungsalgorithmus zur Einzelworterkennung zugeführt. Der Einzelwortalgorithmus untersucht die Segmente zweckmäßigerweise unabhängig von den benachbarten Segmenten, insbesondere unabhängig von deren Wort- bzw. Phoneminhalt.
-
Vorteilhafterweise wird der erste Schritt mit einer ersten Spracherkennungseinrichtung und der zweite Schritt mit einer zweiten und von der ersten verschiedenen Spracherkennungseinrichtung unternommen. Hierbei kann der Satzerkennungsalgorithmus der ersten Spracherkennungseinrichtung nach der Segmentierung unterbrochen werden und das Segmentierungsergebnis kann einer zweiten und von der ersten verschiedenen Spracherkennungseinrichtung übergeben werden, die den zweiten Schritt unternimmt.
-
Beide Spracherkennungseinrichtungen sind vorteilhafterweise autonom, sodass die erste Spracherkennungseinrichtung zur Erkennung und Ausgabe von sinnzusammenhängender Wortfolgen in der Lage ist, insbesondere zur vollständigen Erkennung eines gesamten Satzes, und die zweite Spracherkennungseinrichtung zur Erkennung einzelner Wörter aus einem Audiosignal in der Lage ist. Durch eine solche Hintereinanderschaltung nicht aufeinander aufbauender Spracherkennungsalgorithmen, in diesem Fall eines Einzelwortalgorithmus nach einem Satzerkennungsalgorithmus, kann systematischen Erkennungsfehlern entgegengewirkt werden. Vorteilhafterweise sind die beiden Spracherkennungseinrichtungen von unterschiedlichen Herstellern hergestellt und insbesondere entwickelt.
-
Nach dem Vollzug des ersten Schritts können Ergebnisse der ersten Spracherkennungseinrichtung der zweiten Spracherkennungseinrichtung übergeben werden, sodass diese auf der Grundlage dieser Ergebnisse den zweiten Schritt durchführen kann. Die Ergebnisse der zweiten Spracherkennungseinrichtung aus dem zweiten Schritt können wiederum der ersten Spracheinrichtung übergeben werden, sodass diese vorteilhafterweise den dritten Schritt unternimmt.
-
Die Zuverlässigkeit der Worterkennung kann weiter erhöht werden, wenn die erste Spracherkennungseinrichtung mehrere Spracherkennungseinheiten umfasst, und die Segmentierungsergebnisse beider Spracherkennungseinheiten durch die zweite Spracherkennungseinrichtung bei der Einzelwortuntersuchung verwendet werden. Hierdurch kann die Qualität der Segmentierung gesteigert werden, da durch die beiden Spracherkennungseinheiten am gleichen Audiosignal unterschiedliche Segmentierungen durchgeführt werden. Die Spracherkennungseinheiten sind zweckmäßigerweise von unterschiedlichen Herstellern hergestellt und insbesondere entwickelt.
-
Die Chancen zum Erhalten eines korrekten Erkennungsergebnisses der gesamten Äußerung kann erreicht werden, wenn die zweite Spracherkennungseinrichtung mehrere Spracherkennungseinheiten umfasst, deren Untersuchungen auf der Grundlage unterschiedlicher Algorithmen erfolgen. Die Spracherkennungseinheiten sind zweckmäßigerweise von unterschiedlichen Herstellern hergestellt und insbesondere entwickelt.
-
Eine weitere vorteilhafte Ausführungsform der Erfindung sieht vor, dass jedes Segment von sowohl dem Satzerkennungsalgorithmus als auch dem Einzelwortalgorithmus auf einen Wortinhalt untersucht wird. Durch diese Maßnahme steht eine große Vielfalt an erkannten Wörtern zur Verfügung. Zweckmäßigerweise werden die Ergebnisse beider Algorithmen zu einer einzigen Kandidatenliste zusammengeführt. Diese kann dem dritten Schritt übergeben werden.
-
Die Zusammenführung findet anhand vorgegebener Kriterien statt, beispielsweise wird nur eine Anzahl von Wörtern mit dem höchsten Erkennungswert weitergegeben. Vorteilhafterweise wird eine Wichtung einzelner und mehrfach aufgefundener Wörter durchgeführt. So kann es sein, dass ein Wort von sowohl dem Worterkennungsalgorithmus als auch dem Satzerkennungsalgorithmus identifiziert wird, jedoch mit unterschiedlichen Erkennungswerten. Ein mögliches Wichtungsverfahren besteht darin, die Erkennungswerte eines Worts aus verschiedenen Kandidatenlisten zu mitteln. Es besteht auch die Möglichkeit, einem der Algorithmen ein größeres Gewicht zu geben, als dem anderen, sodass die Erkennungswerte nach einem vorgegebenen Schema verarbeitet werden.
-
Die im weiteren Verlauf der Spracherkennung im dritten Schritt kann eine Untersuchung der Wortabfolge des Audiosignals, also der gesamten Äußerung, unter Verwendung von Hidden-Markov-Prozessen durchgeführt werden. Auch grammatikalische Auswertungen sind sinnvoll, um grammatikalisch unsinnsolle Wortfolgen auszuschließen.
-
Zur Erkennung einzelner Satzteile ist es besonders vorteilhaft, wenn die Spracherkennung der gesamten Äußerung in Schritt drei mit Hilfe einer Multigramm-Statistik erfolgt, beispielsweise eine Digramm-Statistik oder Trigramm-Statistik. Solche Statistiken beinhalten, dass Wortabfolgen auf ihre statistische Wahrscheinlichkeit untersucht werden, also ob die Abfolge von zwei oder drei Wörtern hintereinander in einer Sprache statistisch besonders häufig vorkommt oder eher selten ist. Hierdurch können Wahrscheinlichkeiten für verschiedene Wortfolgen errechnet werden, wobei zweckmäßigerweise nur die wahrscheinlichste Wortfolge oder die wahrscheinlichsten Wortfolgen einer weiteren Verarbeitung zugeführt werden.
-
Um Dialekte oder verschlüsselte Mitteilungen erkennen zu können, ist es vorteilhaft, wenn dem dritten Schritt zugeführte Worte um Synonyme ergänzt werden, die bei der Spracherkennung der gesamten Äußerung mit verwendet werden. Die Synonyme können Wörterbüchern entnommen werden, die einen Dialekt berücksichtigen oder Kenntnisse über die Verwendung verschiedener Bezeichnungen für den gleichen Sinninhalt umfassen.
-
Gerade bei zusammengesetzten Wörtern oder so genannten Trunkierungs-Homophonen kann es vorkommen, dass solche Wörter durch eine fehlerhafte Segmentierung in der Hälfte abgeschnitten werden. Der verbleibende Wortteil wird durch den Einzelworterkennungsalgorithmus erkannt, wobei es durchaus vorkommt, dass bei der Einzelworterkennung die falsche Segmentierung nicht auffällt, da die Einzelworterkennung mit einem gegebenenfalls sehr hohen Erkennungswert erfolgreich verläuft. In diesem Fall kann jedoch eine Multigrammstatistik zu einem schlechten Ergebnis führen, da das Wortteil mit den umgebenden Worten keinen Sinn ergibt und somit einen schlechten statistischen Wert erzielt. Zur Lösung dieses Problems ist es vorteilhaft, wenn zumindest ein Segment der Segmentierung aus Schritt 1 jeweils mit einem Abschnitt eines benachbarten Segments ergänzt und dem Einzelworterkennungsalgorithmus zugeführt wird. Vorteilhafterweise wird der Abschnitt in seiner Zeitdauer hierbei so gewählt, dass ein kurzes Wort in dem Abschnitt Platz hat, zweckmäßig ist eine Abschnittslänge zwischen 100 ms und 500 ms. Durch das Hinzufügen des Abschnitts kann die fehlerhafte Trunkierung des Trunkierungs-Homophons bzw. eine fehlerhafte Segmentierung eines zusammengesetzten Worts behoben werden, da der fehlende Wortteil im Abschnitt wiedergegeben ist. Zweckmäßigerweise wird das Segment sowohl zeitlich vorne als auch hinten durch jeweils einen Abschnitt ergänzt. Ein Trunkierungs-Homophon ist ein Wort, das bei einem Beschneiden eines Teils von ihm zu einem Homophon wird, also gleichtönend zu einem Wort anderer Bedeutung.
-
Kommt durch bzw. eine Unterschreitung von Ergebniswerten im zweiten/oder dritten Schritt ein Zweifel auf, ob die Segmentierung korrekt war, kann die Untersuchung des Segments in Schritt 2 – nachdem sie zunächst ohne ergänzten Abschnitt vorgenommen wurde – nachfolgend unter Verwendung des ergänzten Abschnitts wiederholt werden. Eine solche Wiederholung ist auch dann vorteilhaft, wenn in der Einzelworterkennung in Schritt 2 ein Homophon erkannt wird. Hierdurch kann geprüft werden, ob es sich um ein tatsächliches Homophon oder um ein Trunkierungs-Homophon handelt.
-
Die Erfindung betrifft außerdem eine Spracherkennungsvorrichtung zur Durchführung des in Anspruch 1 beschriebenen Verfahrens, insbesondere zusammen mit einem oder mehreren der oben beschriebenen zusätzlichen Details.
-
Weiter betrifft die Erfindung eine Spracherkennungsvorrichtung mit einer ersten und einer zweiten Spracherkennungseinrichtung. Es wird vorgeschlagen, dass erfindungsgemäß die erste Spracherkennungseinrichtung dazu vorbereitet ist, ein Audiosignal, das aus einer mehrere Worte umfassenden Äußerung eines Sprechers gewonnen wurde, mit einem Satzerkennungsalgorithmus in mehrere zeitlich hintereinander abfolgende Segmente zu segmentieren und das Segmentationsergebnis der zweiten Spracherkennungseinrichtung selbständig zu übergeben, die zweite Spracherkennungseinrichtung dazu vorbereitet ist, zumindest einen Teil des Audiosignals unter Verwendung des Segmentationsergebnisses mittels eines Einzelworterkennungsalgorithmus zu untersuchen und das Untersuchungsergebnis der ersten Spracherkennungseinrichtung selbständig zu übergeben, und die ersten Spracherkennungseinrichtung dazu vorbereitet ist, die Spracherkennung der gesamten Äußerung unter Verwendung des Segmentationsergebnis und des Untersuchungsergebnis der zweiten Spracherkennungseinrichtung fortzuführen.
-
Die Erfindung wird anhand von Ausführungsbeispielen näher erläutert, die in den Zeichnungen dargestellt sind.
-
Es zeigen:
-
1 ein der Übersicht dienendes kurzes Ablaufdiagramm,
-
2 ein Übersichtsschema, das die Segmentierung einer Äußerung durch zwei Spracherkennungseinrichtungen darstellt,
-
3 ein die Einzelworterkennung darstellendes Schema,
-
4 ein Audiosignal, aus dem ein Segment herausgegriffen ist, das am Anfang und am Ende um jeweils einen Abschnitt ergänzt wurde,
-
5 ein Schema, das eine weitere Einzelworterkennung darstellt und
-
6 ein Schema, das eine Satzerkennung aus einzelnen Worten darstellt.
-
In 1 ist ein stark vereinfachter Ablauf eines Ausführungsbeispiels des erfindungsgemäßen Spracherkennungsverfahrens dargestellt. Das Spracherkennungsverfahrens hat die Erkennung von Schlüsselwörtern in einem Telefongespräch zum Ziel. In analoger Weise ist eine Bearbeitung eines Monologs oder nur einzelner Satzteile eines Sprecher oder die Bearbeitung eines Dialogs möglich, der von zwei Mikrofonen oder sogar nur von einem Mikrofon aufgezeichnet wird. Bei üblicher Sprache und insbesondere in Telefongesprächen sind Schlüsselwörter in der Regel in unvollständigen Sätzen eingebettet, zum Teil in Synonymen verschlüsselt ausgesprochen und zusätzlich vor starken Hintergrundgeräuschen aufgenommen, so dass sie durch übliche Spracherkennung nicht erfassbar sind.
-
In dem Ausführungsbeispiel werden Äußerungen der beiden miteinander telefonierenden Sprecher einem Netzwerk von Spracherkennungseinheiten zugeführt, die voneinander unabhängige Voraussagen treffen.
-
Das Übersichtsschema umfasst drei Schritte 2, 4, 6, von denen der erste Schritt 2 und der dritte Schritt 6 von einer ersten Spracherkennungseinrichtung 8 (siehe 2) durchgeführt werden, und der zweite Schritt 4 von einer zweiten Spracherkennungseinrichtung 10 (siehe 3). Die erste Spracherkennungseinrichtung 8 ist eine Einrichtung zur Erkennung von kontinuierlicher Sprache und die zweite Spracherkennungseinrichtung 10 ist eine Einrichtung zur Einzelworterkennung. Anstelle des von der ersten Spracherkennungseinrichtung 8 üblicherweise durchgeführten Satzerkennungsverfahrens, das durch einen gestrichelten Pfeil dargestellt ist, wird der zweite Schritt 4 in die bekannte Satzerkennung eingefügt. Das Ergebnis des ersten Schritts 2 wird also von der ersten Spracherkennungseinrichtung 8 an die zweite Spracherkennungseinrichtung 10 weitergegeben und das Ergebnis des zweiten Schritts 4 wird von der zweiten an die erste Spracherkennungseinrichtung 8 weitergegeben.
-
Im ersten Schritt 2 wird eine Äußerung eines Sprechers, die beispielsweise durch ein Mobiltelefon 12 aufgenommen wurde, in ein Audiosignal 14 umgewandelt, das in 2 schematisch dargestellt ist. Die Äußerung wurde während eines Telefonats zwischen zwei Sprechern aufgenommen, das durch zwei Mobiltelefone 12, 16 geführt wurde. Das Audiosignal 14 wird der ersten Spracherkennungseinheit 8 zugeführt, die aus zwei Spracherkennungseinheiten 18A, 18B besteht. Das Audiosignal 14 wird hierbei jedem der Spracherkennungseinheiten 18A, 18B in identischer Form zugeführt, sodass es durch die Spracherkennungseinheiten 18A, 18B unabhängig voneinander bearbeitet wird. Die beiden Spracherkennungseinheiten 18A, 18B arbeiten hierbei nach unterschiedlichen Satzerkennungsalgorithmen, die auf unterschiedlichen Verarbeitungs- bzw. Analysemethoden beruhen. Die Spracherkennungseinheiten 18A, 18B sind insofern unterschiedliche Produkte, die von unterschiedlichen Firmen entwickelt sein können. Sie sind beides Einheiten zur Erkennung kontinuierlicher Sprache und beinhalten jeweils einen Satzerkennungsalgorithmus, der in mehreren aufeinander aufbauenden Verfahrensschritten arbeitet.
-
In einem solchen ersten Verfahrensschritt wird das Audiosignal 14 auf hintereinander abfolgende Wort- oder Phonem-Bestandteile untersucht und entsprechend segmentiert. Der Satzerkennungsalgorithmus vergleicht in einem Segmentierungsverfahren vorab definierte Phoneme mit Energiemodulationen und Frequenzcharakteristiken des Audiosignals 14. Bei diesem Verarbeiten des Audiosignals 14 und dem Zuordnen von Phonemen zu Signalsequenzen setzt der Satzerkennungsalgorithmus Phoneme-Ketten zusammen, die iterativ mit Vokabeleinträgen in einem oder mehreren Wörterbüchern verglichen werden, um mögliche Worte zu finden, die somit Segmentgrenzen im Kontinuum des Audiosignals 14 festlegen, so dass hierdurch die Segmentierung stattfindet. Die Segmentierung beinhaltet hierdurch bereits eine Worterkennung, durch deren Hilfe die Segmentierung erfolgt.
-
Die Segmentierung wird von jeder Spracherkennungseinheit 18A, 18B separat und unabhängig von der jeweils anderen Spracherkennungseinheit 18B, 18A durchgeführt. Hierbei bildet die Spracherkennungseinheit 18A – ebenso wie die Spracherkennungseinheit 18B – eine Vielzahl von möglichen Segmentierungen SA, die jeweils mit einem Ergebniswert 22 versehen sind. Der Ergebniswert 22 ist ein Maß der Wahrscheinlichkeit für ein korrektes Ergebnis. Die Ergebniswerte werden in der Regel normiert, da die unterschiedlichen Spracherkennungseinheiten 18A, 18B eine unterschiedliche Spanne für ihre Ergebniswerte 22 verwenden. In den Figuren sind die Ergebniswerte 22 normiert dargestellt.
-
Die Segmentierungen SAi mit den höchsten Ergebniswerten 22 werden in einer Kandidatenliste EA zusammengefasst, die mehrere Kandidaten enthält. Im dargestellten Ausführungsbeispiel erzeugt jede Spracherkennungseinheit 18A, 18B jeweils eine Kandidatenliste EA bzw. EB mit jeweils drei Kandidaten. Jedem Kandidat liegt eine Segmentierung SAi bzw. SBi zugrunde, so dass als Ergebnis des ersten Schritts 2 sechs Kandidaten mit sechs – ggf. verschiedenen – Segmentierungen SAi, SBi vorliegen.
-
Jeder Kandidat enthält neben dem Ergebniswert
22 ein Ergebnis EA
i, das aus Zeichenketten aufgebaut ist, die Wörter sein können. Diese Wörter werden im Segmentierungsverfahren gebildet. Angenommen die mehrere Wörter umfassende Äußerung, aus der das Audiosignal
14 gewonnen wurde, ist die Äußerung in englischer Sprache „hit the embassy”, so lieferte die Ergebnisliste EA beispielsweise folgende Ergebnisse:
EA1: | hid the embers |
EA2: | hit the embassy |
EA3: | get the amber |
-
Die zweite Spracherkennungseinheit
20 verfährt in gleicher Weise, sodass eine Kandidatenliste EB mit wiederum drei Kandidaten gewonnen wird mit folgenden Ergebnissen:
EB1: | hid the embassy |
EB2: | get the embezzle |
EB3: | fit the amber sea |
-
Den Ergebnissen EAi, EBi sind jeweils ein Ergebniswert 22 zugeordnet, der aus zwei Werten besteht, nämlich einem Segmentierungsergebnis, das angibt, wie zuverlässig die Segmentierung ist, und einem Wortergebnis, das angibt, wie zuverlässig die Zeichenketten bzw. Worte des Ergebnisses sind.
-
In jeder Segmentierung SAi, SBi wird das Audiosignal 14 in mehrere Segmente SAi,i, SBi,i eingeteilt. Bei dem in 2 dargestellten Ausführungsbeispiel haben die Segmentierungen SAi, SBi allermeist drei Segmente SAi,i, SBi,i. Lediglich die Segmentierung SB3 ist aus vier Segmenten SB3,i zusammengesetzt. Es ist jedoch möglich, dass die Segmentierungen noch größere Unterschiede aufweisen.
-
Nach dieser Segmentierung wird der Satzerkennungsalgorithmus, der von der ersten Spracheinrichtung 8 üblicherweise durchführt wird, wie in 1 durch den gestrichelten Pfeil dargestellt ist, unterbrochen und es wird der zweite Schritt 4 eingefügt, wie in 1 durch die beiden durchgezogenen Pfeile wiedergegeben ist. Zur Durchführung dieses zweiten Schritts werden die Segmente SAi,i, SBi,i einzeln und unabhängig voneinander der zweiten Spracherkennungseinrichtung 10 zugeführt.
-
Die zweite Spracherkennungseinrichtung 10 ist in 3 schematisch dargestellt und umfasst drei Spracherkennungseinheiten 18C–18E. Diese sind auf das Erkennen und Ausgeben von einzelnen Wörtern spezialisierte Einzelworterkennungseinheiten, die einen Zusammenhang der einzelnen Worte mit umgebenden Worten bzw. Segmenten nicht berücksichtigen. Im Gegensatz zu den Spracherkennungseinheiten 18A, 18B, die mit einem Satzerkennungsalgorithmus arbeiten, untersuchen die Spracherkennungseinheiten 18C–18E die einzelnen Segmente mit einem Einzelworterkennungsalgorithmus. Eine Segmentierungslogik ist bei einer Einzelworterkennung nicht notwendig, da ein Segment SAi,i, SBi,i als abgeschlossene Einheit untersucht und mit Wörtern, z. B. aus einem Wörterbuch, verglichen wird.
-
Die Spracherkennungseinheiten 18C–18E arbeiten mit zueinander unterschiedlichen Einzelworterkennungsalgorithmen und sind von unterschiedlichen Herstellern entwickelt. In den unterschiedlichen Einzelworterkennungsalgorithmen werden einzelnen Phonemen unterschiedliche Energie- und/oder Frequenzcharakteristiken zugeordnet, so dass ein und dasselbe Segment SAi,i, SBi,i bei Untersuchung durch die unterschiedlichen Einzelworterkennungsalgorithmen zu unterschiedlichen Wortergebnissen führen kann.
-
Zur Durchführung des zweiten Schritts 4 wird nun allen drei Spracherkennungseinheiten 18C–18E jeweils das erste Segment SA1,1 des ersten Kandidaten SA1 zur Untersuchung durch den Einzelworterkennungsalgorithmus zugeführt. Das erste Segment SA1,1 ist ein Teil des gesamten Audiosignals 14, das durch die Segmentierung in die Segmente SA1,i eingeteilt wurde.
-
Aus diesem Segment SA1,1 entwickeln die Spracherkennungseinheiten 18C–18E jeweils eine Kandidatenliste WC1–WE1 mit jeweils drei Kandidaten WC1,1,i, WD1,1,i, WE1,1,i die jeweils eine Zeichenkette bzw. ein Wort und den dazugehörigen Ergebniswert 24 enthalten, der angibt, wie hoch die Güte der Erkennung dieses Worts bzw. dieser Zeichenkette ist. Nun kann in gleicher Weise mit dem ersten Segment SA2,i aus der zweiten Segmentierung SA2 verfahren werden, sodass wiederum neun Ergebnisse vorliegen. In gleicher Weise kann mit allen Segmenten SAi,i, SBi,i aller Segmentierungen SAi, SBi verfahren werden.
-
Auf diese Weise wird eine Vielzahl von Kandidatenlisten WCi, WDi, WEi erzeugt, die jeweils drei Ergebnisse mit zugehörigem Ergebniswert 24 aufweisen. Aus dieser Vielzahl von Kandidatenlisten WCi, WDi, WEi kann durch eine Wichtung 26 eine endgültige Kandidatenliste W1 mit einer Mehrzahl unterschiedlicher endgültiger Kandidaten gebildet werden. Hierbei können beispielsweise alle Kandidatenlisten WAi–WEi für das jeweils erste Segment SAi,1, SBi,1 der Segmentierungen SAi, SBi gleich gewichtet werden. In 3 ist dargestellt, dass auch die beiden Kandidatenlisten WA1, WB1 der beiden Spracherkennungseinheiten 18A, 18B in die Wichtung mit einfließen. Auch eine andere Wichtung als eine gleichmäßige Wichtung ist denkbar.
-
Die Ergebnisse dieser abschließenden Ergebnisliste W1 können nun im dritten Schritt 6 weiterverarbeitet werden.
-
Sollte ein Ergebnis oder alle Ergebnisse dieser abschließenden Ergebnisliste W1 einen Ergebniswert 28 aufweisen, der unter einem Schwellwert liegt, so kann die Ergebnisliste W1 verworfen werden und der Einzelworterkennungsvorgang aus dem zweiten Schritt 4 mit einer etwas anderen Segmentierung wiederholt werden, wie zu 4 beschrieben ist.
-
4 zeigt das Audiosignal 14, aus dem ein Segment SA2,3 hervorgehoben ist. Dieses Segment SA2,3 ist das dritte Segment des zweiten Kandidaten SA2 aus der Ergebnisliste EA der ersten Spracherkennungseinheit 18A. Dieses Segment SA2,3 wird am Anfang und/oder am Ende mit jeweils einem Abschnitt 30, 32 des Audiosignals 14 ergänzt, der eine vorgegebene Länge aufweist, beispielsweise 200 ms. Der Abschnitt 30 ist ein Teil des Segments SA2,2 und der Abschnitt 32 ein Teil eines dem Segment SA2,3 nachfolgenden und nicht dargestellten Segments.
-
Das Segment SA2,3, ergänzt durch einen oder beide Abschnitte 30, 32, wird nun wieder den drei Spracherkennungseinheiten 18C–18E zur Einzelworterkennung zugeführt mit der Chance, dass nunmehr ein besseres Ergebnis erreicht wird, also zumindest ein besserer Ergebniswert 28, der die vorgegebene Schwelle überschreitet.
-
Eine analoge Wiederholung kann unternommen werden, wenn einer oder mehrere Kandidaten aus der abschließenden Ergebnisliste W1 ein Homophon ist. Durch die Ergänzung des entsprechenden Segments mit den beiden Abschnitten 30, 32 besteht die Chance, dass die Homophonie aufgelöst wird, wenn es sich bei dem Homophon um ein Trunkierungs-Homophon handelt, das nur durch eine fälschliche Segmentierung entstanden ist.
-
Wird bei der Wiederholung ein besserer Ergebniswert 28 erreicht, der die Schwelle überschreitet, so ist dies ein Hinweis darauf, dass die Segmentierung des Segments SA2,3 und des Segments SA2,2 bzw. des nachfolgenden Segments, zu dem der zugefügte Abschnitt 30, 32 zugehört, fehlerhaft war. Entsprechend. kann die Segmentierung dieser Segmente durch eine Wiederholung des ersten Schritts 2 erneut durchgeführt werden, jedoch unter Berücksichtigung des Ergebnis des zweiten Schritts 4, also in diesem Beispiel dem Hinweis, dass das Segment SA2,3 in der Richtung des angefügten Abschnitts 30, 32 länger sein sollte. Ergibt die neue Segmentierung ein bessere Ergebnis 22 als im ersten Durchgang des ersten Schritts 2, so kann die neue Segmentierung übernommen werden. Ist das Ergebnis 22 schlechter, kann sie dennoch übernommen werden, wenn der bessere Ergebniswert 28 das schlechtere Ergebnis 22 überwiegt. Hierbei kann eine Wichtung der Ergebniswerte 22, 28 verwendet werden.
-
Eine Verbesserung des Ergebniswerts 28 bei der Wiederholung der Worterkennung des Segments SA2,3 mit einem oder beiden Abschnitten 30, 32 hat zur Folge, dass auch der oder die benachbarten Segmente, zu denen die Abschnitte 30, 32 gehören, einer neuen Worterkennung unterworfen werden sollten unter Berücksichtigung, dass der oder die Abschnitte 30, 32 nicht zu dem benachbarten Segment gehören. Das oder die entsprechend verkürzten Segmente werden daher erneut mit dem Worterkennungsalgorithmus nach zugehörigen Worten untersucht. Eine Länge des oder der Abschnitte 30, 32 kann hierbei variiert werden, um die Grenze zwischen den Segmenten bzw. den Wörtern genauer festzulegen.
-
Sollten die Ergebniswerte 28 der abschließenden Ergebnisliste W1 alle unter einem vorgegebenen Wert liegen, so besteht weiter die Möglichkeit, ein Wörterbuch einer anderen Sprache der Einzelworterkennung zugrunde zu legen.
-
In 5 ist der zweite Schritt 4 in analoger Weise zu 3 dargestellt, jedoch mit jeweils dem dritten Segment SAi,3, SBi,3, das dem dritten Wort der Äußerung zugrunde liegt bzw. aus diesem gebildet wurde. Wie oben beschreiben, wird wieder eine abschließende Ergebnisliste W3 gebildet, mit der Möglichkeit, auch diesem Schritt wie zu 4 beschrieben anhand der Abschnitte 30, 32 erneut durchzuführen.
-
Anschließend wird der dritte Schritt 6 begonnen. Hierzu werden die abschließenden Ergebnislisten Wi der ersten Spracherkennungseinrichtung 8 zugeführt. Diese setzt nun anhand dieser Ergebnisse die Verfahrensschritte aus dem Satzerkennungsalgorithmus fort, jedoch unter Zugrundelegen der Ergebnisse aus dem zweiten Schritt 4 und nicht nur der Ergebnisse aus dem ersten Schritt 2.
-
Eine Möglichkeit, wie ein solcher dritter Schritt 6 ablaufen kann, ist anhand der Darstellung aus 6 wiedergegeben. Zunächst enthält der Satzerkennungsalgorithmus den Verfahrensschritt 34, dass zu jedem der Ergebnisse aus den beiden Ergebnislisten Wi Synonyme aus einer Synonymliste 36 gebildet werden. Da das zweite Wort aus der Äußerung mit hoher Übereinstimmung als „the” erkannt wurde, wird dieses Wort bei der Synonymbildung außer Acht gelassen und als eindeutiges Ergebnis weiterverarbeitet. Es sind also nur Synonyme zu den Ergebnissen des ersten Worts und des dritten Worts zu bilden. Hierbei wird zu jedem einzelnen Ergebnis eine Synonymliste gebildet, sodass maximal sechs Synonymlisten vorliegen.
-
Die Synonyme können in einem einfachen Thesaurus-Verfahren gefunden werden, es wird also nach üblichen Gleiches bedeutenden oder Ähnliches bedeutenden Wörtern einer Sprache gesucht. Eine Erweiterung dieses Verfahrensschritts beinhaltet, dass auch umgangssprachliche Synonyme aufgelistet werden, beispielsweise Kohle, Mäuse, Flöhe zu „Geld”. Eine noch weitere Ergänzung beinhaltet solche Worte, die einschlägig aus Fachkreisen bekannt sind, also nicht zum allgemeinen Sprachschatz gehören, sondern nur in den einzelnen Fachkreisen bekannt sind, wobei auch Synonymwörterbücher aus zwielichten „Fachkreisen” Verwendung finden können. Eine andere Erweiterung sieht vor, dass Dialektsynonyme verwendet werden, also Wörter aus verschiedenen Dialekten einer Sprache, die Gleiches oder Ähnliches bedeuten wie das Stammwort, zu dem die Synonyme gesucht werden.
-
Das Synonymverfahren kann dahin ausgeweitet werden, dass Stimmungsparameter der Äußerung des Sprechers bzw. des Audiosignals 14 bei der Auswahl von Synonymen berücksichtigt werden. Solche Parameter können die Stimmhöhe, die Lautstärke eines Worts im Verhältnis zu benachbarten Wörtern oder eine Sprachgeschwindigkeit sein. Auch die Verwendungshäufigkeit eines Worts pro Zeit oder absolut im Telefongespräch kann als Parameter bei der Synonymbestimmung herangezogen werden. Die Parameter können angeben, wie wahrscheinlich ein Synonym ist und/oder wie weit sinnbeabstandet ein Synonym vom Stammwort ist, beispielsweise ist „Fisch” für Rakete eher weit und „Fisch” für Torpedo eher weniger weit beabstandet.
-
Mit den vorhandenen Stammwörtern und Synonymen könnte der Satzerkennungsalgorithmus eine Grammatikprüfung vornehmen, um anhand von falschen grammatischen Strukturen unwahrscheinliche Kandidaten zu eliminieren. Dieses Verfahren ist jedoch für die Spracherkennung eines Telefonats nicht unbedingt zielführend, das in einem Telefonat häufig in unvollständigen Satzbruchteilen gesprochen wird, so dass eine Grammatikprüfung ins Leere läuft.
-
Für die Erkennung von Satzteilen ist eine Multigramm-Statistik 38 sinnvoll, die nun in einem weiteren Verfahrensschritt des Satzerkennungsalgorithmus durchgeführt wird. Bei dem gezeigten Ausführungsbeispiel sind im Wesentlichen drei Wörter zu kombinieren, sodass Trigrammstatistik erfolgt. So werden alle möglichen Kombinationen aus den Stammwörtern der Ergebnislisten W1, W3 und den daraus abgeleiteten Synonymen auf eine statistische Häufigkeit untersucht, wobei die statistische Häufigkeit aus einer Datenbank 40 entnommen werden kann, aus der Ergebnisse einer Untersuchung von einer extrem großen Anzahl von Sätzen bzw. vielen langen Texten zusammengefasst ist.
-
Ein möglicher weiterer Verfahrensschritt aus dem dritten Schritt 6 beinhaltet die Anwendung eines Hidden-Markov-Verfahrens, wodurch diejenigen Ergebnisse gefunden werden, die am besten zu den Segmentierungen bzw. zum Audiosignal der gesamten Äußerung insgesamt passen. Das Hidden-Markov-Verfahren kann vor, nach oder mit der Multigramm-Statistik ausgeführt werden.
-
Die einzelnen Verfahrensschritte aus dem dritten Schritt 6 können unabhängig voneinander realisiert werden, sodass das beispielsweise auf die Synonymbildung verzichtet wird, auf die Multigramm-Statistik oder das Hidden-Markov-Verfahren.
-
Nach Abschluss dieser Verfahrensschritte liegen eine Vielzahl von Ergebniswerten vor, nämlich für ein Stammwort an sich, die Wahrscheinlichkeit eines Synonyms des Stammworts und die Übergangswahrscheinlichkeit zwischen zwei oder drei Wörtern, die aus der Multigramm-Statistik gewonnen wurde. Die Abschließende Wahrscheinlichkeit für eine Wortkombination, die dem Audiosignal 14 zugeordnet wird, ist eine Funktion dieser Wahrscheinlichkeiten. Die einfachste Funktion ist die Addition der einzelnen Ergebniswerte. Die Wortkombination mit der höchsten Wahrscheinlichkeit, im Beispiel aus 6 „hit the embassy” wird als Spracherkennungsergebnis aus dem Audiosignal verwertet. Ist in diesem Ergebnis ein vordefiniertes Schlüsselwort oder ein Synonym eines Schlüsselworts vorhanden, wird das Telefongespräch gespeichert und zu Bearbeitung durch einen Menschen an eine entsprechende Stelle weitergeleitet.
-
Die drei Schritte 2, 4, 6 laufen mit Bezug auf ein Wort hintereinander ab, jedoch mit Bezug auf einen ganzen Satz oder sogar mehrer Sätze gleichzeitig ab. Während beispielsweise ein hinterer Satzteil noch segmentiert wird, erfolgt für einen mittleren Satzteil die Einzelworterkennung und für einen vorderen Satzteil bereits die Verfahren der Satzerkennung aus dem dritten Schritt 6. Es liegen somit bereits Ergebnisse aus dem zweiten Schritt 4 und dem dritten Schritt 6 vor, wenn der erste Schritt 2 durchgeführt wird. Es ist daher vorteilhaft, Ergebnisse des zweiten und/oder dritten Schritts 4, 6 bei der Segmentierung des ersten Schritts 2 zu verwenden. Es kann z. B. die Segmentierung mit einem Ergebnis aus dem zweiten oder dritten Schritt 4, 6 wiederholt werden.
-
Beispielweise kann es sein, dass eine Einzelworterkennung mit einem zusätzlichen Abschnitt 30, 32 durchgeführt wurde, die zu einem besseren Ergebnis führte als ohne den Abschnitt 30, 32. Das kann bedeuten, dass die ursprüngliche Segmentierung fehlerhaft ist und der Abschnitt 30, 32 besser zum entsprechenden Segment hinzu segmentiert worden wäre. Die mit dem zusätzlichen Abschnitt geänderte Segmentierung wird daher zusammen mit dem Wort oder den Phonemen des Segments abgespeichert. Bei zukünftigen Segmentierungen im ersten Schritt 2 wird dieses Ergebnis mit berücksichtigt. Hierbei kann die Berücksichtigung allgemein oder nur zum gleichen Wort oder zu gleichen Phonemen erfolgen. Wird also z. B. im ersten Schritt 2 das gleiche Wort wie das trunkierte Wort extrahiert, so wird die Segmentierung auf ein Segment mit einem zusätzlichen Abschnitt überprüft, also wiederholt und geprüft, ob eine Segmentierung mit dem Abschnitt zu einem vordefiniert ausreichend guten Ergebnis führt. Je nach Ergebnis der Überprüfung kann die erste oder die zweite Segmentierung verworfen werden oder beide Segmentierungen können in der Kandidatenliste aufgeführt werden.
-
Bezugszeichenliste
-
- 2
- Schritt
- 4
- Schritt
- 6
- Schritt
- 8
- Spracherkennungseinrichtung
- 10
- Spracherkennungseinrichtung
- 12
- Mobiltelefon
- 14
- elektronisches Signal
- 16
- Mobiltelefon
- 18
- A–E Spracherkennungseinheit
- 22
- Ergebniswert
- 24
- Ergebniswert
- 26
- Wichtung
- 28
- Ergebniswert
- 30
- Abschnitt
- 32
- Abschnitt
- 34
- Synonymbildung
- 36
- Synonymliste
- 38
- Multigramm-Statistik
- 40
- Datenbank
- EA
- Kandidatenliste
- EB
- Kandidatenliste
- SA
- Segmentierung
- SB
- Segmentierung
- WC
- Kandidatenliste
- WD
- Kandidatenliste
- WE
- Kandidatenliste
- Wi
- Kandidatenliste