-
[Technisches Gebiet]
-
Die vorliegende Erfindung betrifft allgemein die automatische Spracherkennung und im Einzelnen die Bereitstellung der Spracherkennung mit geringer kognitiver Last für den Anwender.
-
[Stand der Technik]
-
Es ist allgemein bekannt, dass während der Fahrt erledigte Aufgaben den Fahrer ablenken können. Deswegen hat man sich in letzter Zeit um eine Vermeidung von Mobiltelefonen beim Autofahren bemüht, und zwar sowohl mit gesetzlichen Mitteln als auch durch eine entsprechende Aufklärung der Autofahrer. Gleichzeitig gab es seitens der Autofahrer eine steigende Nachfrage nach Informations-, Kommunikations- und Unterhaltungsangeboten im Fahrzeug.
-
Studien haben ergeben, dass sprachbasierte Benutzer-Schnittstellen weniger ablenken als herkömmliche visuelle oder manuelle Schnittstellen. Befehlsbasierte Sprach-Schnittstellen mit begrenzten Funktionen werden in Fahrzeugen immer häufiger eingesetzt. Jedoch ist die Texteingabe mittels Sprache bei manchen Funktionen, z. B. SMS, schwierig, weil es bei der Erkennung kontinuierlicher Sprache mit großem Wortschatz immer wieder Fehler gibt. Mittels Sprache eingegebener Text muss also korrigiert oder auf andere Weise verändert werden, wobei gleichzeitig die Ablenkung des Fahrers während der Fahrt möglichst gering bleiben soll.
-
Einige Verfahren zur Korrektur uneingeschränkter Sprache nutzen Bearbeitungsanwendungen, z. B. Wortprozessoren mit Computerbildschirmen und herkömmlichen Tastaturen. Das in der U.S.-Patentschrift
U.S. 5,960,447 beschriebene Verfahren korrigiert Texterkennungsfehler, indem es Wörter in dem erkannten Text mit der zugehörigen Sprache markiert und es dem Anwender der Wortverarbeitungs-Software ermöglicht, die Sprache zur Bearbeitung von Text-Transkriptionen abzuhören.
-
Ein anderes, in der U.S.-Patentschrift
U.S. 5,970,460 beschriebenes Verfahren verbessert Bearbeitungsvorgänge durch Zuordnung einer „Sprachereignis-Datenbank” zu Positionen in einer Texttranskription in einem Bearbeitungs-Anwendungsprogramm und Erweiterung des Kontexts. Diese Verfahren erfordern zur Korrektur mit herkömmlichen Tastaturen, Maus, Menüauswahl die Aufmerksamkeit des Fahrers und stützen sich insbesondere auf visuelle Ressourcen, die für die Bedienung der Anzeigebildschirme notwendig sind. Tastaturen, Touchscreen und große Anzeigebildschirme minimieren die Ablenkung beim Fahren jedoch nicht.
-
Andere Verfahren vereinfachen die Interaktion durch anschließende Anwendung von Sprache zur Bearbeitung der Transkription, die sich aus der ersten Spracheingabe ergibt. Beispielsweise wird in einem in
U.S. 6,064,959 beschriebenen Verfahren das Ergebnis der Spracherkennung durch die anschließende Sprachäußerung korrigiert. Ähnlich wählt das in
U.S. 7,444,286 beschriebene Verfahren Teile der Spracherkennung aus, die erneut erkannt werden müssen. Die anschließende Interpretation der Sprache kann jedoch Fehler erzeugen, was zu noch mehr Fehlerkorrekturbemühungen führt und den Fahrer noch mehr ablenkt.
-
Bei einem anderen, in
U.S. 2006/293,889 beschriebenen Verfahren werden Einzelwörter korrigiert, die vom Fahrer eingegeben werden, um die Alternativvorschläge für Wörter neben diesem Einzelwort anzupassen. Wenn aber hierbei mehrere Wörter der Spracheingabe des Anwenders falsch interpretiert werden, muss der Anwender die Sprachinterpretation mehrmals korrigieren. Zudem beschränken sich die Korrekturen bei diesem Verfahren, anders als bei eher allgemeinen Interaktionsarten, auf das Ersetzen des ausgewählten Worts, was zu weiteren Ablenkungen des Anwenders führen kann. Es kommt daher darauf an, die Interaktionen des Anwenders, die zur Führung der Sprachinterpretation notwendig sind, zu minimieren und den Anwender möglichst wenig abzulenken.
-
[Zusammenfassung der Erfindung]
-
Einige Ausführungsbeispiele der Erfindung basieren auf der Erkenntnis, dass bei der Erkennung von kontinuierlicher Sprache mit umfangreichem Wortschatz und einer Sequenz von Wörtern vorkommende Fehler häufig mit anderen Fehlern einhergehen. Eine Korrektur des Erkennungsergebnisses kann daher für die Voraussage, an welcher Stelle andere Fehler hätten vorkommen können, und für die Korrektur zusätzlicher Fehler eingesetzt werden, und nicht nur zur Korrektur des Anfangsfehlers, mit anschließenden weiteren Eingaben des Anwenders. Diese anderen Fehler können an benachbarten Wortstellen oder an weiter entfernten Wortstellen vorkommen, ohne dass an benachbarten Wörtern weitere Änderungen notwendig sind, demnach sollte die Korrektur zur Aktualisierung des Erkennungsergebnisses verwendet werden.
-
So kann beispielsweise ein Erkennungsergebnis in einer Point-of-Interest-Aufgabe bei der Navigation die zwei möglichen Wortsequenzen „Museum of Fine Arts” und „Emporium of Fine Carts” enthalten. In diesem Fall ist die ursprüngliche Interpretation „Museum of Fine Arts” und ein Anwender ändert „Arts” in „Carts”, dann ist es wahrscheinlich, dass das Wort „Museum” geändert werden muss zu „Emporium”, obwohl dazwischen mehrere Wörter liegen, deren Interpretation sich nicht ändert.
-
Einige Ausführungsbeispiele der Erfindung basieren außerdem auf der allgemeinen Erkenntnis, dass Korrekturen an einer Interpretation der Spracherkennung von kontinuierlicher Sprache mit umfangreichem Wortschatz nicht darauf beschränkt sein müssen, für ein mögliches Wort ein anderes einzusetzen, sondern auch allgemeinere Nebenbedingungen für die Korrektur umfassen können. Die Korrektur-Nebenbedingung kann dann verwendet werden, um die Sprachäußerung eines Anwenders neu zu interpretieren.
-
Im Gegensatz zu einer Interpretation, bei der nur die akustischen, den einzelnen Wörtern entsprechenden Signale verwendet werden, können diese Nebenbedingungen die Wahrscheinlichkeit einer richtigen Interpretation einer Gruppe von Wörtern verbessern.
-
Beispielsweise kann bei einem Erkennungsergebnis mit den Alternativen „Wreck a nice beach” und „Recognize speech” als Nebenbedingung das Themengebiet „Umweltverschmutzung” zur Aktualisierung der Wahrscheinlichkeiten der ersten Erkennung eingesetzt werden.
-
Dementsprechend basieren einige Ausführungsbeispiele auf einer spezifischen Erkenntnis, dass die Neuinterpretation der gesamten Spracheingabe verbessert werden kann durch Nebenbedingungen, welche sich auf die Wortsequenz der Spracheingabe beziehen, die z. B. durch einen Anwender bei der Spracheingabe vorgegeben werden. Die Wortsequenz-Nebenbedingungen können beispielsweise eine bestimmte Anzahl und Reihenfolge der Wörter in der Spracheingabe betreffen, ein bestimmtes Wort, das zu einem bestimmten Zeitpunkt in der Spracheingabe geäußert wird, die Abwesenheit dieses spezifischen Wortes in der Spracheingabe, dass zwei bestimmte Wörter in einer Spracheingabe zusammenhängend oder voneinander getrennt vorkommen.
-
Anstatt den Anwender zur Korrektur von ein oder mehreren bestimmten Wörtern der Interpretation der Spracheingabe aufzufordern, können beispielsweise die Wortsequenz-Nebenbedingungen schon bei Eingabe vom Anwender bestimmt werden, um dann zur Aktualisierung der gesamten Interpretation der Spracheingabe verwendet zu werden. Dadurch können die Bemühungen des Anwenders bei der Korrektur der Spracheingabe verringert werden, weil die Wortsequenz-Nebenbedingungen möglicherweise die gesamte Interpretation der Spracheingabe korrigieren können, während bei der Wortkorrektur immer nur einzelne Wörter korrigiert werden.
-
Einige Ausführungsbeispiele der Erfindung verwenden daher Wortsequenz-Nebenbedingungen, die vom Anwender zur Aktualisierung der Interpretation seiner Spracheingabe eingesetzt werden können. Beispielsweise kann die Hypothese mit dem höchsten Score der gesamten Spracheingabe unter Berücksichtigung der Wortsequenz-Nebenbedingungen bestimmt werden. Tatsächlich kann dieser Ansatz die Zahl der zur Bestimmung der korrekten Interpretation der Sprachsequenz erforderlichen Interaktionen minimieren.
-
Verschiedene Ausführungsbeispiele bestimmen die o. g. Wortsequenz-Nebenbedingungen bei oder im Anschluss an die Spracheingabe. In einigen Ausführungsbeispielen enthalten die Wortsequenz-Nebenbedingungen beispielsweise Metadaten der Sprache, beispielsweise eine Anzahl von Wörtern oder die Abwesenheit eines bestimmten Worts in der Sprache. Diese Wortsequenz-Nebenbedingungen können zu jeder Zeit erfasst werden.
-
In einem anderen Ausführungsbeispiel sind die Wortsequenz-Nebenbedingungen eher kontextspezifisch. Beispielsweise können sie Informationen über die erste Interpretation der Spracheingabe enthalten und diese werden dann zur erneuten Evaluierung der Interpretation der gesamten Spracheingabe herangezogen. Bei einer Variante dieses Ausführungsbeispiels wird die kognitive Last des Anwenders durch eine Anwenderschnittstelle minimiert, welche die Korrektur bestimmter Wörter innerhalb einer Spracherkennungshypothese ermöglicht. Die Korrekturen werden als Nebenbedingungen wieder in das System eingespeist und erhöhen so die Wahrscheinlichkeit, dass die Hypothese der Spracheingabe korrekt ist, wodurch die Zahl der erforderlichen Korrekturvorgänge geringer wird.
-
Dementsprechend offenbart ein Ausführungsbeispiel ein Verfahren zur Erkennung von Sprache, die eine Wortsequenz umfasst. Das Verfahren umfasst die Generierung einer Gruppe von Interpretationen der Sprache mit Hilfe eines Akustikmodells und eines Sprachmodells; für jede Interpretation, Bestimmen eines Scores, der die Richtigkeit einer Interpretation bei der Darstellung der Sequenz von Wörtern angibt, um einer Score-Gruppe zu erzeugen; Bestimmen einer Nebenbedingung zur Erkennung der Spracheingabe unter Berücksichtigung einer Wortsequenz-Nebenbedingung; und Aktualisieren der Score-Gruppe auf Basis einer Übereinstimmung jeder Interpretation mit der Nebenbedingung. Die einzelnen Schritte des Verfahrens werden von einem Prozessor ausgeführt.
-
Ein anderes Ausführungsbeispiel offenbart ein Verfahren zur Erkennung der Sprache eines Anwenders, umfassend Schritte zur Erkennung der Sprache, um eine Gruppe von Interpretationen zu erzeugen, die mit einer entsprechenden Score-Gruppe assoziiert werden, welche für die Korrektheit der einzelnen Interpretationen bei der Darstellung der Sprache stehen; und die iterative Aktualisierung der Score-Gruppe unter Beachtung mindestens einer Nebenbedingung, so dass für jede Iteration um einen Score erhöht wird, wenn die Interpretation die Nebenbedingung erfüllt, und um einen Score reduziert wird, wenn die Interpretation die Nebenbedingung nicht erfüllt. Die einzelnen Schritte des Verfahrens werden von einem Prozessor ausgeführt.
-
In einem weiteren Ausführungsbeispiel wird ein System zur Spracherkennung offenbart. Das System umfasst einen Prozessor, der ein Spracherkennungsmodul und ein Fehlerkorrekturmodul implementiert, wobei das Spracherkennungsmodul eine Gruppe von Interpretationen des Spracheingangs unter Anwendung eines Akustikmodells und eines Sprachmodells erzeugt und für jede Interpretation einen Score festlegt, der für die Korrektheit einer Interpretation bei der Darstellung der Sprache steht; und wobei das Fehlerkorrekturmodul eine Nebenbedingung für die Spracherkennung bestimmt und den Score jeder Interpretation auf Basis einer Übereinstimmung der Interpretation mit der Nebenbedingung aktualisiert.
-
[Kurze Beschreibung der Zeichnungen]
-
1A ist ein Schema der Komponenten eines Systems zur Spracherkennung gemäß einem Ausführungsbeispiel der Erfindung;
-
1B ist eine Vorder-Teilansicht eines Armaturenbretts in einem Fahrzeug, welches das System gemäß einigen Ausführungsbeispielen der Erfindung enthält;
-
2A ist ein Blockdiagramm, das die Funktionsweise eines Spracherkennungsmoduls gemäß einem Ausführungsbeispiel der Erfindung zeigt;
-
2B ist ein Beispiel einzelner Schritte des Verfahrens aus 2A;
-
Die 3A zeigen ein Flussbild der Schritte, die von Verfahren zur Fehlerkorrektur bei der Spracherkennung gemäß den verschiedenen Ausführungsbeispielen der Erfindung ausgeführt werden;
-
Die 3B zeigen ein Flussbild der Schritte, die von Verfahren zur Fehlerkorrektur bei der Spracherkennung gemäß den verschiedenen Ausführungsbeispielen der Erfindung ausgeführt werden;
-
Die 3C zeigen ein Flussbild der Schritte, die von Verfahren zur Fehlerkorrektur bei der Spracherkennung gemäß den verschiedenen Ausführungsbeispielen der Erfindung ausgeführt werden;
-
Die 3D zeigen ein Flussbild der Schritte, die von Verfahren zur Fehlerkorrektur bei der Spracherkennung gemäß den verschiedenen Ausführungsbeispielen der Erfindung ausgeführt werden;
-
4 ist ein Schema einer Sequenz von Wörtern mit einem hervorgehobenen Wort gemäß einem Ausführungsbeispiel der Erfindung;
-
5 ist ein Schema einer Sequenz von Wörtern mit zwei hervorgehobenen Wörtern gemäß einem Ausführungsbeispiel der Erfindung;
-
6 ist ein Schema einer Sequenz von Wörtern und einer sortierten Gruppe von Wortkandidaten gemäß einem Ausführungsbeispiel der Erfindung;
-
Die 7A zeigen ein Schema von Ausführungsbeispielen der Erfindung;
-
Die 7B zeigen ein Schema von Ausführungsbeispielen der Erfindung; und
-
Die 7C zeigen ein Schema von Ausführungsbeispielen der Erfindung;
-
[Beschreibung der Ausführungsbeispiele]
-
1A zeigt ein Beispiel eines Systems 1, das ein Verfahren zur Spracherkennung implementieren kann, wobei die kognitive Last für einen Anwender, der die Spracheingabe vornimmt, gemäß einigen Ausführungsbeispielen der Erfindung minimiert wird.
-
Das System 1 umfasst eine Zentrale Verarbeitungseinheit (Central Processing Unit (CPU)) 100, welche den Betrieb des gesamten Systems steuert. Das System 1 steht mit einem Speicher 101 in Wechselbeziehung, der mit einem Betriebssystem (OS) 1010 des Systems verbundene Software, Anwendungsprogramme 1011, die von der CPU 100 ausgeführt werden können, um einem Anwender des Systems bestimmte Funktionen anzubieten, beispielsweise Diktat und Fehlerkorrektur, und mit der Spracherkennung verbundene Software 1012 umfasst. Das System 1 umfasst weiter eine Audio-Schnittstelle (I/F) 102 für den Empfang von Sprache, die mit dem Mikrofon 103 aufgenommen oder über einen externen Eingang 104 empfangen werden kann, beispielsweise Sprache, die von externen Systemen erfasst wird.
-
Das System 1 kann weiter einen oder mehrere Steuerungen umfassen, beispielsweise eine Anzeige-Steuerung 105 zum Steuern des Betriebs einer Anzeige 106, die beispielsweise eine Flüssigkristallanzeige (LCD) oder eine andere Art von Anzeige sein kann. Die Anzeige 106 dient als optische Anwender-Schnittstelle des Systems 1 und macht es beispielsweise möglich, einem Anwender des Systems 1 Sequenzen von Wörtern darzustellen. Das System 1 kann weiter an eine Audioausgangs-Steuerung 111 angeschlossen sein, um den Betrieb eines Audioausgangssystems 112, beispielsweise ein oder mehrere Lautsprecher, zu steuern. Das System 1 kann weiter an ein oder mehrere Eingabe-Schnittstellen angeschlossen sein, beispielsweise eine Joystick-Steuerung 107, um Eingaben von einem Joystick 108 zu erhalten, und eine Tastatur-Steuerung 109, um Eingaben von einer Tastatur 110 zu erhalten. Es ist leicht zu verstehen, dass die Verwendung des Joysticks und/oder der Tastatur nur Beispiele sind. Genauso gut können für die Ausführung der gewünschten Funktionen ein Trackball oder Pfeiltasten verwendet werden. Außerdem kann die Anzeige 106 eine Touchscreen-Anzeige sein, die als Schnittstelle für den Empfang von Anwendereingaben dient. Wegen seiner Spracherkennungsfähigkeit kann das System 1 außerdem auch ganz auf nicht sprachbezogene Schnittstellen verzichten. Die Audio-I/F 102, die Joystick-Steuerung 107, die Tastatur-Steuerung 109 und die Anzeige-Steuerung 105 werden von der CPU 100 entsprechend dem OS 1010 und/oder dem Anwendungsprogramm 1011 gesteuert, das die CPU 100 gerade ausführt.
-
Wie in 1B gezeigt, kann das System 1 in ein Armaturenbrett 150 eines Fahrzeugs 199 integriert sein. Verschiedene Bedienelemente 131–133 zur Steuerung des Systems 1 können an einem Steuerrad 130 angeordnet sein. Alternativ oder zusätzlich können die Bedienelemente 125 an einem Steuermodul 120 angeordnet sein. Das System 1 ist konfiguriert, um die Interpretation der Sprache des Anwenders zu verbessern, so dass die Zahl der Interaktionen durch den Anwender möglichst gering ist, damit sich der Anwender auf die Bedienung des Fahrzeugs konzentrieren kann.
-
Die 2A zeigen schematisch die Funktionsweise eines Spracherkennungssystems 200 mit verbesserter Fehlerkorrekturfunktion gemäß einigen Ausführungsbeispielen der Erfindung. Die Spracherkennungseinheit 200 umfasst ein Spracherkennungsmodul 210, das von der CPU 100 des Systems 1 durch Ausführen der in dem Speicher 101 gespeicherten Spracherkennungssoftware 1012 implementiert werden kann.
-
Das Spracherkennungsmodul 210 empfängt einen Spracheingang 230, bei dem es sich um eine gesprochene Darstellung einer Sequenz von Wörtern handelt (beispielsweise einen ganzen Satz). In verschiedenen Ausführungsbeispielen umfasst die Sprache ein Audiosignal, Sprachmerkmale, oder rahmenbasierte akustische Scores oder eine Kombination aus diesen. Die Sequenz von Wörtern umfasst typischerweise mehrere Wörter, z. B. drei oder mehr Wörter.
-
Das Spracherkennungsmodul ist konfiguriert, um eine Spracherkennung der Sprache 230 durchzuführen, um eine Gruppe von Interpretationen zu bestimmen, die im optimalen Fall der Sequenz von Wörtern ähnlich sind, welche durch die Sprache dargestellt wurde. Jede Interpretation in der Gruppe umfasst eine Sequenz von Wörtern. Das Spracherkennungsmodul kann ein Akustikmodell 201 und ein Sprachmodell 202 verwenden.
-
Das Akustikmodell 201 kann beispielsweise in dem Speicher 101 des Systems 1 gespeichert werden und in einem Ausführungsbeispiel werden die bedingten Wahrscheinlichkeiten von Sequenzen akustischer Merkmale bei einer Wortsequenzhypothese beschrieben, oder eine andere Sequenz von Einheiten, welche die phonetischen Eigenschaften von Wörtern darstellen. Das Akustikmodell kann Phoneme oder andere Lauteinheiten umfassen. In einigen Ausführungsbeispielen kann das Akustikmodell ein Phonemsequenzmodell, ein Modell von Sequenzen subphonetischer Zustände, und ein Gaußsches Mischverteilungsmodell für die Wahrscheinlichkeit der akustischen Merkmale jedes gegebenen subphonetischen Zustands umfassen. In anderen Ausführungsbeispielen kann das Akustikmodell eine Transformation von akustischen Merkmalen zu Sequenzwahrscheinlichkeiten phonetischer Zustände umfassen, bei der beispielsweise ein neurales Netzwerk verwendet wird.
-
Das Sprachmodell 202 kann auch in dem Speicher 101 des Systems 1 gespeichert werden und Statistiken zur Wahrscheinlichkeit einer Sequenz von Wörtern enthalten, die mindestens ein Wort umfassen, das in einer Spracheingabe vorkommen muss. Das Sprachmodell 202 kann beispielsweise ein Unigram-Sprachmodell sein, welches auf die Wahrscheinlichkeit eines einzelnen in einer Sprache anzuwendenden Wortes bezogen ist, oder ein Bigram-Sprachmodell, das eine Wahrscheinlichkeit von zwei in einer Sprache aufeinander folgenden Wörtern ausdrückt. Es können auch Sprachmodelle verwendet werden, die eine größere Anzahl von aufeinander folgenden Wörtern berücksichtigen, z. B. ein Trigram-Sprachmodell usw.
-
In einigen Ausführungsbeispielen rührt das Spracherkennungsmodul 210 die Spracherkennung durch, indem es die Sprache in Segmente unterteilt, von denen angenommen wird, dass sie sich auf einzelne Wörter beziehen, und erkennt dann die einzelnen Wörter, beispielsweise durch Identifizierung von Phonemen in den Segmenten der Eingangssprachsequenz und Vergleichen der Phoneme mit einem Phonem-zu-Text-Mapping des Sprachmodells 202.
-
Das Spracherkennungsmodul 210 identifiziert allgemein eine Gruppe von möglichen Interpretationen für jedes Segment einer Eingangssprachsequenz, wobei jede Interpretation eine Sequenz von Wörtern umfasst. Die Interpretationen werden auch als Erkennungsergebnisse bezeichnet. Jeder Interpretation wird ein Erkennungskonfidenzwert zugeordnet, z. B. ein Score, der die Korrektheit einer Interpretation bei der Darstellung der Sequenz von Wörtern ausdrückt. Der Score drückt eine Konfidenz der Spracherkennung hinsichtlich der Korrektheit des Erkennungsergebnisses aus. Für jedes Eingangssprachsegment kann das Spracherkennungsmodul das Erkennungsergebnis mit dem höchsten Erkennungskonfidenzwert bestimmen, z. B. ein Wort, woraus sich eine Sequenz von Wörtern ergibt, die als Darstellung der Eingangssprachsequenz betrachtet wird.
-
Das Erkennen der Sprache wird also durch Berücksichtigung des Sprachmodells 201 noch weiter verfeinert. Zusätzlich zu den Erkennungskonfidenzwerten wird dann eine Wahrscheinlichkeit, dass eine Gruppe von ein oder mehr Wörtern in einer Spracheingabe vorkommt, zur Erzeugung einer Gruppe von Interpretationen der Spracheingabe mit Hilfe eines Sprachmodells und eines Erkennungs-Wortschatzes berücksichtigt. Bei einem Bigram-Sprachmodell kann sich beispielsweise das Spracherkennungsmodul 210, auch wenn ein mögliches Erkennungsergebnis in Bezug auf den akustischen Raum eine hohe Konfidenz hat, z. B. ”free” im Gegensatz zu ”three,” aufgrund des Bigram-Sprachmodells aufgrund des Kontextes, zum Beispiel ”at” und ”o'clock” in der beabsichtigten Sequenz von Wörtern ”at three o'clock”, trotzdem für ”three” entscheiden.
-
2B zeigt Beispiele der Gruppe von Interpretationen der Spracheingabe 240. In einigen Ausführungsbeispielen wird die Interpretationsgruppe als eine n-Bestenliste 250 oder als ein Wort-Lattice 260 der Spracheingabe bestimmt oder dargestellt. Zusätzlich bestimmen verschiedene Ausführungsbeispiele für jede Interpretation in der Gruppe 251 einen Score, z. B. Score 255, welcher die Korrektheit einer Interpretation unter Berücksichtigung der Wortsequenz-Nebenbedingung darstellt. Der Score kann auf unterschiedliche Art und Weise bestimmt werden.
-
Eine alternative Darstellung der Interpretationsgruppe ist beispielsweise ein Graph, bekannt als ein Lattice 260, in dem Knoten, z. B. die Knoten 265 und 267, jedes angenommene Wort darstellen, das mit einem bestimmten Bereich der Spracheingabe identifiziert wird und in einem bestimmten Kontext vorkommt. In dieser Darstellung können Wörter und Wortsequenzen, die in vielen Hypothesen in der n-Bestenliste an derselben Stelle vorkommen, darauf reduziert werden, in dem Lattice einen bestimmten Teil des Weges miteinander zu teilen. Neben den Wörtern können die Lattice-Bögen die Scores des Akustik- und des Sprachmodells enthalten, so dass der Gesamt-Score für eine Wortsequenz von den Scores entlang einem Weg durch das Lattice abgeleitet werden kann. Die Bögen 261, 262, und 263 können beispielsweise einen Score darstellen, der durch entsprechende Wahrscheinlichkeiten der Wörter ”don't”, ”want” und ”went” nach dem Wort ”I” definiert wird.
-
In einigen Ausführungsbeispielen wird das Spracherkennungssystem als probabilistisches Modell formuliert und der Score basiert auf der Wahrscheinlichkeit einer Interpretation oder einer Sequenz von Wörtern bei einer befolgten Sequenz akustischer Merkmale. Eine Interpretation kann eine Sequenz von Wörtern umfassen und kann außerdem den ungefähren Zeitbereich der Sprachäußerung identifizieren, die dem angenommenen Wort entspricht. Der Score S(W|X) basiert in einigen Ausführungsbeispielen auf der Wahrscheinlichkeit der Wortsequenz bei bestimmten akustischen Daten. Zum Beispiel: S(W|X) ∝ pθ(W|X) wobei ∝ die Proportionalität bezeichnet (d. h. S(W|X) = pθ(W|X)c, wobei c eine positive Konstante ist), θ Parameter des Modells sind, pθ ein Wahrscheinlichkeitsmaß bei Verwendung der Parameter θ bezeichnet, W = {wi} N / i=1 die angenommene Sequenz von Wörtern w1, w2 ..., wN in der Interpretation ist, und wi das Wort ist, das in Position i angenommen wird (für eine Hypothese mit N Wörtern). Die akustischen Merkmale werden bezeichnet mit X = {xj) T / j=1, wobei xj der j-te Vektor der akustischen Merkmale der Sprachäußerung ist (bei einer Sprachäußerung mit M akustischen Merkmalsvektoren). pθ(W|X) ist bekannt als die posteriore Wahrscheinlichkeit von W bei gegebenem X. In einem anderen Ausführungsbeispiel kann der Score als der Logarithmus dieser Menge definiert werden: S(W|X) = logpθ(W|X) + k, wobei k eine arbiträre Konstante ist.
-
In einem Ausführungsbeispiel wird der Score in verschiedene Teil-Scores aufgeteilt:
wobei
ein Score von einem Wort-Sprachmodell ist, mit den Parametern θ
LM, und
ein Score von einem Akustikmodell ist, mit den Parametern θ
AM. Der Einfachheit halber werden im Folgenden die Parameter θ weggelassen, außer in den Fällen, wo eine Beibehaltung notwendig ist.
-
Ein anderes Ausführungsbeispiel assoziiert eine Wortsequenz mit einer Sequenz
R ^ = {r ^i} N / i=1 von angenommenen Zeitbereichen der Sprachäußerung für jedes angenommene Wort, so dass
r ^i die Position ist, die für das Wort w
i. angenommen wird. In diesem Ausführungsbeispiel kann der Score auf einem erweiterten Modell mit einem Alignment-Term, p(R|W), basieren, so dass p(W)p(X|W) = max
Rp(W)p(R|W)p(X|W, R). In diesem Ausführungsbeispiel erhält man
R ^ durch Maximieren des Scores innerhalb der Gruppe aller möglichen Alignments
und der Akustik-Score für die Teilsequenz von Merkmalen
X(r ^i), die dem Bereich
r ^i entsprechen und der mit dem angenommen Wort w
i assoziiert wird, ist
p(X(r ^i)|wi).
-
Für die Berechnung des Sprachmodell-Scores gibt es viele Möglichkeiten, z. B. ein diskretes probabilistisches Modell, ein neurales Netz, unterschiedlich trainierte bedingte Zufallsfelder und so weiter. In einem Ausführungsbeispiel wird beispielsweise das probabilistische Modell wie folgt formuliert:
-
Die Wahrscheinlichkeiten sind abhängig von Wörtern, die in der Sequenz früher vorkommen, bekannt als Kontext. Typischerweise ist das allgemeine Modell zu komplex und ein einfacheres Modell, das als n-Gram-Modell bekannt ist, wird eingesetzt, bei dem der Kontext auf die vorangehenden n – 1 Terme begrenzt ist:
-
In einigen Ausführungsbeispielen werden verschiedene andere Parametrisierung- und Schätzprozeduren mit n-Gram-Modellen eingesetzt, um ihre Fähigkeit zu verbessern, von Lerndaten zu Testdaten zu generalisieren.
-
Inferenz in einem Spracherkennungsmodell kann beschrieben werden als ein Durchsuchen der Hypothesen W, um die Hypothese mit dem besten Score zu finden,
-
Außerdem werden typische n-Best-Hypothesen mit den höchsten Scores ermittelt. Die Evaluierung jedes möglichen W kann rechnerisch aufwändig sein, und einige Ausführungsbeispiele ermitteln die n-Best-Hypothesen mit Hilfe eines rekursiven dynamischen Programmier-Algorithmus, z. B. dem Viterbi-Algorithmus, kombiniert mit der heuristischen Reduzierung des Suchprozesses, z. B. einer Strahlsuche. Es gibt noch viele alternative Suchalgorithmen und Heuristiken, die von verschiedenen Ausführungsbeispielen eingesetzt werden.
-
In einigen Ausführungsbeispielen kann der Ausgang nach Durchsuchen der Hypothesen eine n-Bestenliste 250 sein, die n Interpretationen der Sequenzen von Wörtern umfasst, sowie die Scores der Interpretationen 255, z. B. ein Score oder eine Kombination von Scores des Akustikmodells und die Scores des Sprachmodells. Einige Ausführungsbeispiele liefern als Ausgang das Alignment der Wörter mit dem besten Score mit den temporären Segmenten des Akustiksignals.
-
In einigen Ausführungsbeispielen kann der Ausgang nach Durchsuchen der Hypothesen das Lattice 260 sein. Die Bestimmung der Scores ist typischerweise ein Lattice effizienter als bei Verwendung einer n-Bestenliste. Der Anschaulichkeit halber werden einige Ausführungsbeispiele jedoch unter Verwendung der n-Best-Darstellung beschrieben.
-
Zwar wird die Suche durch das Sprach- und das Akustikmodell Nebenbedingungen unterworfen, doch kann die erzeugte Spracherkennung trotzdem noch Mehrdeutigkeiten und Fehler enthalten. So kann z. B. die Interpretation 251 mit dem höchsten Score trotzdem falsch sein. Wir aber nun der Anwender aufgefordert, die Interpretation 251 zu korrigieren, bleiben andere Interpretationen, welche die richtige Interpretation enthalten könnten, unberücksichtigt. Darüber hinaus kann eine Aufforderung zur Korrektur einer bestimmten Interpretation mehrere Interaktionen mit dem Anwender erforderlich machen und diesen von anderen Aufgaben ablenken.
-
Einige Ausführungsbeispiele der Erfindung basieren auf einer allgemeinen Erkenntnis, dass Korrekturen von Erkennungsergebnissen von kontinuierlicher Sprache mit großem Wortschatz, die eine Wortsequenz enthält, auf Nebenbedingungen für die Interpretation der gesamten Spracheingabe basieren sollten. Gegenüber Korrekturen, bei denen nur ein einzelnes Wort verändert wird, kann mit solchen Nebenbedingungen die Wahrscheinlichkeit einer korrekten Interpretation der gesamten Spracheingabe erhöht werden.
-
Die Spracherkennungseinheit 200 umfasst daher auch ein Fehlerkorrekturmodul 220, das Erkennungsergebnisse unter Berücksichtigung des Sprachmodells 202 und einer Wortsequenz-Nebenbedingung 270 neu interpretiert. Im Einzelnen aktualisiert bei einigen Ausführungsbeispielen das Fehlerkorrekturmodul 220 den Score jeder Interpretation auf Basis einer Übereinstimmung der Interpretation mit der Nebenbedingung 270. Nach der Aktualisierung kann die Interpretation mit dem höchsten Score, z. B. 215, bestimmt und als erkannte Sprache ausgegeben werden.
-
Einige Ausführungsbeispiele basieren auf einer Erkenntnis, dass die Nebenbedingungen für die Interpretation der gesamten Spracheingabe durch Wortsequenz-Nebenbedingungen 270 ergänzt werden können, z. B. durch einen Anwender, der die Spracheingabe vornimmt. Als Wortsequenz-Nebenbedingungen kommen beispielsweise folgende in Frage: eine bestimmte Anzahl und Reihenfolge von Wörtern muss in der Spracheingabe vorkommen; ein bestimmtes Wort muss bei der Spracheingabe zu einem bestimmten Zeitpunkt geäußert werden; ein bestimmtes Wort darf bei der Spracheingabe nicht vorkommen, oder zwei bestimmte Wörter müssen bei der Spracheingabe miteinander verbunden oder voneinander getrennt vorkommen. Die Wortsequenz-Nebenbedingungen können außerdem das Themengebiet der Sprachausgabe spezifizieren, beispielsweise das Themengebiet Umweltverschmutzung.
-
Hierdurch können die Bemühungen des Anwenders bei der Korrektur der Spracheingabe auf ein Minimum reduziert werden, weil die Wortsequenz-Nebenbedingungen zur Korrektur der gesamten Interpretation der Spracheingabe führen können, während die Wortkorrektur nur zur Korrektur dieses einen Wortes führen kann. Insbesondere kann die Nebenbedingung 270 zur Aktualisierung des Scores der gesamten Interpretationsgruppe verwendet werden.
-
In einigen Ausführungsbeispielen werden daher die Nebenbedingungen nicht erst anschließend zur Korrektur eines Teils der Spracheingabe eingesetzt, sondern die Wortsequenz-Nebenbedingung wird direkt bei der Interpretation der Sprache angewendet. Die Interpretationen mit dem höchsten Score der gesamten Spracheingabe werden unter Beachtung der Wortsequenz-Nebenbedingungen ermittelt. Die Interpretation mit dem höchsten Score kann als die erkannte Spracheingabe bestimmt werden. Tatsächlich kann dieser Ansatz die Zahl der Interaktionen, die zur Bestimmung der korrekten Interpretation der Sprachsequenz erforderlich sind, minimieren.
-
3A zeigt ein Flussbild eines Verfahrens zur Erkennung einer Spracheingabe eines Anwenders gemäß einem Ausführungsbeispiel der Erfindung. In dem Verfahren 300 kommen einige Grundsätze und Erkenntnisse zur Anwendung, die weiter oben beschrieben wurden und mit Hilfe eines Prozessors 301 implementiert werden können. Das Verfahren empfängt bei 305 die aus einer Sequenz von Wörtern bestehende Spracheingabe und generiert bei 310 eine Gruppe von Interpretationen der Spracheingabe unter Verwendung eines Akustik- und eines Sprachmodells. Die Interpretationsgruppe umfasst ein oder mehrere Interpretationen, wobei jede Interpretation eine mögliche Sequenz von Wörtern ist, die gesprochen worden sein könnten. Verschiedene Ausführungsbeispiele erhalten oder generieren die Interpretationen als n-Bestenliste, als Wort-Lattice, oder als eine andere Darstellung der Gruppe von möglichen Wortsequenzen.
-
Für jede Interpretation bestimmt das Verfahren bei 315 einen Korrektheits-Score, um eine Gruppe von Scores zu erzeugen. Beispielsweise können die Scores auf der Basis von Wahrscheinlichkeiten, die von dem Akustikmodell und dem Sprachmodell vorgegeben werden, und/oder mittels einer weiter unten beschriebenen Korrektheitsfunktion bestimmt werden. In einigen Ausführungsbeispielen bestimmt das Verfahren bei 320 die Interpretationen mit dem höchsten Score und teilt dem Anwender bei 325 eine Untergruppe von Interpretationen mit. In einem Ausführungsbeispiel wird dem Anwender nur die Interpretation mit dem höchsten Score mitgeteilt. In einem alternativen Ausführungsbeispiel werden mehrere Interpretationen mitgeteilt.
-
Verschiedene Ausführungsbeispiele verwenden Komponenten der Anwender-Schnittstelle, über die der Anwender gegebenenfalls Nebenbedingungen für die Gruppe von Interpretationen eingeben kann. Das Verfahren entscheidet bei 330 anhand der Anwendereingabe an der Anwender-Schnittstelle, ob eine Korrektur unter Berücksichtigung der Wortsequenz-Nebenbedingungen erwünscht ist. Der Anwender kann Nebenbedingungen über eine beliebige Schnittstelle oder eine Kombination von Schnittstellen des Systems 1 eingeben. Beispielsweise kann der Anwender hierfür die Tastatur 110, den Joystick 108, den Touchscreen der Anzeige 106, eine Sprach-Schnittstelle 103, sowie Kombinationen dieser Schnittstellen nutzen.
-
Wenn eine Korrektur gewünscht wird, empfängt das Verfahren bei 335 eine Nebenbedingung für die Wortsequenz. Verschiedene Ausführungsbeispiele empfangen oder bestimmen die Wortsequenz-Nebenbedingung anhand von Aktionen der Komponenten in der Anwender-Schnittstelle, beispielsweise Auswahllisten, Tasten usw. In einigen Ausführungsbeispielen des Systems sind die Wortsequenz-Nebenbedingungen als Wahrscheinlichkeit des Eintretens verschiedener Ereignisse dargestellt.
-
In einigen Ausführungsbeispielen enthalten die Wortsequenz-Nebenbedingungen Metadaten der Spracheingabe, beispielsweise eine bestimmte Wortanzahl oder dass ein bestimmtes Wort in der Spracheingabe nicht vorhanden ist. Anders als die Informationen, die den Kontext der Wortsequenz betreffen, sind die Metadaten der Spracheingabe Informationen über die Wortsequenz. Diese Wortsequenz-Nebenbedingungen können zu jeder Zeit erfasst werden.
-
Das Verfahren aktualisiert bei 340 die Scores der Interpretationsgruppe der Spracheingabe nach dem Grad der Übereinstimmung jeder Interpretation mit der Nebenbedingung. Nach Aktualisierung der Scores wird bei 320 der höchste Score ermittelt und das Verfahren wird iterativ fortgesetzt, bis der Anwender keine weiteren Korrekturen wünscht. Die Interpretationsgruppe kann von dem Verfahren zur späteren Verwendung ausgegeben werden, z. B. kann sie in einem Speicher abgelegt werden.
-
3B zeigt ein Flussbild eines Verfahrens zur Score-Aktualisierung der Interpretation in Abhängigkeit von den Nebenbedingungen. Der Anwender empfängt bei 350 die Wortsequenz-Nebenbedingungen. In einigen Ausführungsbeispielen wird die Wortsequenz-Nebenbedingung modifiziert, um bei 360 die Nebenbedingungen zu bestimmen, die für die Interpretation geeignet sind. Einige Ausführungsbeispiele bestimmen beispielsweise die Nebenbedingungen auf Basis der vom Anwender erhaltenen Wortsequenz-Nebenbedingung.
-
In einigen Ausführungsbeispielen erhält der Anwender beispielsweise die Wortsequenz-Nebenbedingung in Antwort auf die Mitteilung der Untergruppe von Interpretationen. Die Ausführungsbeispiele bestimmen bei 361 einen Nebenbedingungstyp auf Basis der Wortsequenz-Nebenbedingung und bestimmen bei 360 die Nebenbedingung auf Basis des Nebenbedingungstyps. Beispielsweise kann der Nebenbedingungstyp ein Sprachtyp oder eine Sprachtypkombination sein: eine Nebenbedingung bezogen auf die Wahrscheinlichkeiten in der Spracheingabe; ein Akustiktyp: eine Nebenbedingung bezogen auf die Wahrscheinlichkeitsverteilung der akustische Merkmale der angenommenen Wörter; und ein Kontexttyp: eine Nebenbedingung bezogen auf die Wortsequenzen innerhalb der Interpretationen.
-
3C zeigt ein Beispiel für die Bestimmung der Nebenbedingungen gemäß einigen Ausführungsbeispielen, bei dem der Typ der festgelegten Nebenbedingungen auf den zu aktualisierenden Scores basiert. Diese Ausführungsbeispiele aktualisieren bei 365 ein Sprach- bzw. Akustikmodell oder eine Kombination aus diesen. Einige Ausführungsbeispiele bestimmen beispielsweise den Typ der Nebenbedingung auf Basis der vom Anwender erhaltenen Wortsequenz-Nebenbedingung. In einigen Ausführungsbeispielen enthalten die Wortsequenz-Nebenbedingungen beispielsweise Metadaten der Spracheingabe, z. B. eine Anzahl von Wörtern in der Spracheingabe, das Themengebiet der Spracheingabe, eine Anzahl von Wörtern, die innerhalb eines bestimmten Sprechzeitraums gesprochen werden. Diese Nebenbedingungen sind gewöhnlich Sprach- oder Akustik-Nebenbedingungen.
-
In einem anderen Ausführungsbeispiel sind die Wortsequenz-Nebenbedingungen eher kontextspezifisch. Die Wortsequenz-Nebenbedingungen können beispielsweise Informationen über das Vorkommen oder Nichtvorkommen eines bestimmten Worts in der Spracheingabe umfassen. Diese Nebenbedingungen sind gewöhnlich Kontext-Nebenbedingungen.
-
Handelt es sich beispielsweise bei der Wortsequenz-Nebenbedingung um eine Anzahl von Wörtern in der Sequenz, wird in einem Ausführungsbeispiel die Aktualisierung der Scores durch Neuberechnung der Sprachmodell-Scores durchgeführt, beispielsweise unter Verwendung von p(W|length(W) = 6). In einer Variante dieses Ausführungsbeispiels bleiben die Scores des Akustikmodells und die geschätzten Regionen R, die jedem Wort entsprechen, unverändert.
-
In einem Ausführungsbeispiel ist der Nebenbedingungstyp der Sprachtyp und die Aktualisierung der Scores erfolgt durch Neuberechnung der Sprachmodell-Scores unter Verwendung eines modifizierten Sprachmodells. Anstelle des ursprünglichen Sprachmodells
verwendet man beispielsweise für die Neubewertung des Lattice
θ
LM steht hier für die ursprünglichen Sprachmodellparameter und
θ ' / LM für die Parameter, die man aufgrund der Nebenbedingung erhält, dass die Sequenz aus sechs Wörtern bestehen muss. Der Score kann somit aktualisiert werden durch die Evaluierung
wobei S'(W|X) der modifizierte Score ist.
-
Bei einem Ausführungsbeispiel funktioniert die Nebenbedingung „Themengebiet ist Umweltverschmutzung” auf ähnliche Weise. Das Ausführungsbeispiel verwendet ein eingeschränktes Sprachmodell
mit den Parametern
θ ' / LM, die sich für Wortsequenzen des Themengebiets „Umweltverschmutzung” eignen. Das Ausführungsbeispiel kann also die weiter oben genannte Score-Funktion S'(W|X) unter Anwendung des mit einer Nebenbedingung belegten Sprachmodells aktualisieren.
-
Wenn der aktualisierte Score jeder Interpretation bekannt ist, besteht die Neubewertung aus einer Evaluierung des Scores unter Anwendung der modifizierten Score-Funktion auf jeden Eintrag in der n-Bestenliste. Alternativ kann ein Graph der möglichen Wortsequenzen, auf Basis des Lattice oder der n-Bestenliste mit verschiedenen Algorithmen, beispielsweise Vorwärts-Rückwärts-Algorithmus, Viterbi-Dekodierung, oder Stapel-Dekodierung, mit der modifizierten Score-Funktion effizient durchsucht werden. Bei der Evaluierung der Scores wird eine modifizierte n-Bestenliste oder ein Lattice generiert.
-
Gilt die Nebenbedingung nur für Wortsequenzen, können die Scores für das Akustikmodell, in dem o. g. Beispiel beispielsweise
und die geschätzten Regionen R, die jedem Wort entsprechen, unverändert bleiben. In anderen Ausführungsbeispielen ist jedoch der Nebenbedingungstyp der Akustiktyp und die Akustik-Scores p(X|W) werden in Abhängigkeit von den Nebenbedingungen geändert. In einem Fall, wo beispielsweise ein Alignment zwischen den Wörtern und den akustischen Merkmalen berechnet wird, kann die Neubewertung auch von dem Alignment abhängen. Ein Ausführungsbeispiel definiert das Modell
und aktualisiert die Scores basierend auf Nebenbedingungen für R:
wobei
eine Untergruppe von zulässigen Alignments darstellt, welche die gewünschte Nebenbedingung erzwingen. Eine dieser Nebenbedingungen kann beispielsweise sein, dass es innerhalb einer bestimmten Zeitregion nur ein Wort gibt.
-
3D zeigt ein Flussbild eines Verfahrens zur Bestimmung der absoluten oder relativen Nebenbedingungen für die Aktualisierung der Scores. In einigen Ausführungsbeispielen wird, wenn eine Nebenbedingung absolut ist, die Interpretation der Wortsequenz, die nicht der Nebenbedingung entspricht, mit einem kleinstmöglichen Score erneut bewertet. Umgekehrt, wenn eine Nebenbedingung relativ ist, wenn sie z. B. probabilistisch ist, wird eine Interpretation, die nicht der Nebenbedingung entspricht, mit einer geringeren Gewichtung als Interpretationen, die der Nebenbedingung entsprechen, erneut bewertet, aber eine nicht entsprechende Interpretation kann trotzdem einen höheren endgültigen Score haben als die Interpretation, die der relativen Nebenbedingung entspricht.
-
In einigen Ausführungsbeispielen haben die relativen Nebenbedingungen beispielsweise fortlaufende Werte, die unterschiedliche Grade der Erfüllung der Nebenbedingung darstellen. Diese Nebenbedingungen können mit einem Multiplikationsfaktor formuliert werden, der die Nebenbedingung darstellt. In einem Ausführungsbeispiel enthält die Nebenbedingung einen Nebenbedingungsfaktor f(X, W, R),
369, dessen Ergebnis eine Zahl ist, welche den Grad der Erfüllung der Nebenbedingung für eine Akustiksequenz, eine Wortsequenz, oder ein Alignment oder mehrere dieser Möglichkeiten angibt. Unter Anwendung dieses Nebenbedingungsfaktors formuliert ein Ausführungsbeispiel eine allgemeine Neubewertungsfunktion:
-
Je nach Nebenbedingungsfaktor können viele verschiedene Nebenbedingungstypen implementiert werden, auch Fälle mit absoluten und relativen Nebenbedingungen. In einigen Ausführungsbeispielen kann beispielsweise der Nebenbedingungsfaktor mit Hilfe einer Indikatorfunktion 363 bestimmt werden, welche die vom Anwender vorgegebene Wortsequenz-Nebenbedingung mit der Nebenbedingung abbildet, die zur Aktualisierung der Scores der Interpretation geeignet ist, und einen Gewichtungsparameter 367, der einen Grad der relativen Nebenbedingung angibt (bis hin zur Absolutstellung der relativen Nebenbedingungen).
-
Wenn beispielsweise der Nebenbedingungsfaktor
f(X, W, R) = f(W) = αIlength(W)=6 + β, ist, wobei die Notation f(W) anzeigt, dass der Nebenbedingungsfaktor in diesem Fall nicht abhängig ist von X und R, sind α und β nicht-negative Gewichtungsparameter, welche den Erfüllungsgrad der Nebenbedingung angeben, und
ist beispielsweise eine Indikatorfunktion für die Nebenbedingung, dass die Sequenz aus sechs Wörtern bestehen muss. Wenn der Gewichtungsparameter α relativ zu β groß ist, ist die Erfüllung der Nebenbedingung stark, andernfalls ist die Nebenbedingung schwach. Eine absolute Nebenbedingung kann erreicht werden, indem man β auf null setzt, so dass die Funktion f(W) in allen Fällen, die nicht erwünscht sind, den Wert null hat.
-
In einem anderen Ausführungsbeispiel kann eine Nebenbedingung für das Alignment unter Anwendung von
implementiert werden, wobei
eine Indikatorfunktion für die Bedingung ist, dass R in der Nebenbedingungsgruppe
vorkommt.
-
Wurde die Nebenbedingung in einem eingeschränkten Sprachmodell
mit den Parametern
θ ' / LM ausgestaltet, ist der Nebenbedingungsfaktor
wobei p(W) das bei der Ersterkennung verwendete Sprachmodell ist. Dies wirkt sich auf die Scores genauso aus, wie das Austauschen des neuen Modells
gegen das alte p(W).
-
Man beachte, dass nach der Neubewertung die absolute Größenordnung von f keinen Einfluss auf die relative Bewertung verschiedener Worthypothesen hat, so dass jeder andere Nebenbedingungsfaktor, der zu einem anderen proportional ist, f'(X, W, R) ∝ f(X, W, R), dieselbe Wirkung in Bezug auf die resultierende n-Bestenliste oder das resultierende Lattice hat.
-
Zusätzlich oder alternativ können mehrere Nebenbedingungen für die Interpretation auf Basis der vom Anwender erhaltenen Wortsequenz-Nebenbedingung bestimmt werden. Wenn beispielsweise der Anwender angegeben hat, dass ein Wort in der Wortsequenz korrekt ist, bestimmen einige Ausführungsbeispiele, dass die Wörter links oder rechts von diesem Wort (je nach Sprachmodell) ebenfalls korrekt sind. In diesen Ausführungsbeispielen werden zusätzliche Nebenbedingungen für benachbarte Wörter generiert.
-
In einem Ausführungsbeispiel prüft beispielsweise die Scoring-Funktion, ob das betreffende Wort vorkommt. Zum Beispiel kann auf Basis des Sprachmodells eine Sprachrichtung bestimmt werden und die Scoring-Funktion wird aktualisiert mit einem Test, ob die Wörter vor und nach dem betreffenden Wort in der dem Anwender übermittelten Interpretation vorkommen. In diesem Ausführungsbeispiel prüft die Scoring-Funktion nicht nur, ob das betreffende Wort vorhanden ist, sondern auch andere Wörter, die diesem Wort in der Sprachrichtung benachbart sind.
-
Nachdem die Nebenbedingung für die Interpretation bestimmt wurde, werden die Scores einiger Interpretationen auf Basis einer Übereinstimmung einer bestimmten Interpretation mit der Nebenbedingung aktualisiert, 370. In einigen Ausführungsbeispielen wird jede Interpretation aktualisiert, so dass der Score jeder Interpretation entweder erhöht oder reduziert wird. Das heißt, dass nach der Aktualisierung 370 der Score jeder Interpretation entweder erhöht oder reduziert werden kann. Bei einigen Abwandlungen der Ausführungsbeispiele kann der Score einiger Interpretationen unverändert bleiben.
-
Nach Aktualisierung der Scores werden die Interpretationen mit dem höchsten Score bestimmt, 380, die Ausgabe an den Anwender wird zusammengestellt, 390, und dem Anwender übermittelt. In einigen Ausführungsbeispielen werden die Interpretationen visuell übermittelt, beispielsweise durch Wörter und Zeichen auf einer Anzeige. Einige Ausführungsbeispiele übermitteln die Interpretationen über eine Audio-Rückmeldung, beispielsweise von einem Sprecher gesprochene Sätze (Text-to-Speech-System) oder aufgezeichnete Audio-Funktionen. Verschiedene Ausführungsbeispiele können eine oder mehrere Interpretationen mit den besten Scores übermitteln.
-
Die 4, 5 und 6 zeigen Beispiele von Schnittstellen zur Auswahl der Wortsequenz-Nebenbedingung auf Basis von an den Anwender übermittelten Interpretationen. Die Interpretation kann eine Erstinterpretation der Spracheingabe sein, oder es kann sich um Folgeinterpretationen handeln, die nach Aktualisierung der Scores ausgewählt wurden.
-
Die Sequenz von Wörtern 4 ist ein aus fünf Wörtern bestehender Satz, bei dem das dritte Wort (Wort 3) mit einem gestrichelten Rahmen 40 hervorgehoben ist. In einem anderen Ausführungsbeispiel wird Wort 3 als die effizienteste Nebenbedingung für die Wortsequenz bestimmt.
-
In dem Beispiel der 4 dient der gestrichelte Rahmen 40 nicht nur der Hervorhebung, sondern er ist außerdem ein Selektor, der von einem Anwender verschoben werden kann, um Wörter auszuwählen, die als falsch erkannt wurden und deswegen korrigiert werden müssen. Die Verschiebung kann beispielsweise Wort für Wort mit einem Joystick oder mit Pfeiltasten durchgeführt werden, die Auswahl kann dann durch Drücken einer bestimmten Schaltfläche oder Taste erfolgen (die beispielsweise in den Joystick integriert ist oder von diesem implementiert wird, oder über einen Touchscreen).
-
5 zeigt eine alternative Schnittstelle, bei der der Anwender ein oder mehrere Wörter auswählen kann, z. B. Wort 3 und Wort 5. Nach Auswahl eines Worts oder einer Wortsequenz kann der Anwender einen der folgenden Vorgänge ausführen: er kann das ausgewählte Wort oder die ausgewählte Wortsequenz als korrekt markieren; er kann das ausgewählte Wort oder die ausgewählte Wortsequenz, oder beides, als falsch markieren; er kann das ausgewählte Wort oder die Sequenz überspringen, weitere Auswahlmöglichkeiten für das ausgewählte Wort oder die Sequenz anfordern, oder möglicherweise andere Nebenbedingungen ändern, beispielsweise das Themengebiet oder den Textstil.
-
In einem Ausführungsbeispiel können nach Auswahl eines Worts oder einer Wortsequenz die Zeit oder das Zeitfenster, das dem ausgewählten Wort zugeordnet ist, zum Abrufen der Gruppe von Wörtern verwendet werden, die in dieser Zeit oder diesem Zeitfenster hätten gesprochen werden können, und einige oder alle dieser Wörter werden dem Anwender angezeigt, vorzugsweise in abnehmender Rangfolge ihrer Scores.
-
6 zeigt eine verschiebbare Liste 60 für das dritte Wort (Wort 3) einer Sequenz von Wörtern 6. Die verschiebbare Liste 60 enthält vier Wortkandidaten, die auf Basis des Zeitfensters ausgewählt wurden, das dem Wort 3 entspricht. Ein Selektor 61 wird automatisch auf den ersten Eintrag in der genannten verschiebbaren Liste 60 gesetzt; er kann zur Auswahl weiterer Einträge in besagter Liste 60 in vertikaler Richtung verschoben werden.
-
Beispiele
-
7A zeigt ein Schema eines Beispielverfahrens zur Interpretation der Spracheingabe 710 unter Berücksichtigung einer Wortsequenz-Nebenbedingung gemäß einem Ausführungsbeispiel der Erfindung. In diesem Beispiel umfasst die Wortsequenz-Nebenbedingung eine Nebenbedingung 714 für eine Anzahl von Wörtern, d. h., die Spracheingabe hat sechs Wörter. Insbesondere dient die Nebenbedingung 714 der Aktualisierung des Scores 712 der gesamten Interpretationsgruppe 711 zur Erzeugung einer aktualisierten Gruppe 715 mit aktualisierten Scores 716 der Interpretationen. Wie man am Beispiel der 7A erkennen kann, werden die Scores 716 für die gesamte Interpretationsgruppe aktualisiert.
-
Für dieses Ausführungsbeispiel kann die allgemeine Neubewertungsfunktion
eingesetzt werden, wie weiter oben beschrieben, mit einem spezifischen Nebenbedingungsfaktor f(X, W, R), der Sequenzen mit sechs Wörtern höher gewichtet, beispielsweise
f(X, W, R) = f(W) = αIlength(W)=6 + β, und
-
Es können auch andere Nebenbedingungsfaktoren und/oder Indikatorfunktionen eingesetzt werden.
-
7B zeigt ein Schema eines Beispielverfahrens zur Interpretation der Spracheingabe 720 unter Berücksichtigung einer Wortsequenz-Nebenbedingung gemäß einem Ausführungsbeispiel der Erfindung. In diesem Beispiel beinhaltet die Wortsequenz-Nebenbedingung eine Nebenbedingung 724, die sich auf ein Themengebiet bezieht, d. h., in der Spracheingabe geht es um Umweltverschmutzung. Die Nebenbedingung 724 dient der Aktualisierung des Scores 722 der gesamten Interpretationsgruppe 721 zur Erzeugung einer aktualisierten Gruppe 725 mit aktualisierten Interpretation-Scores 716.
-
Das Ausführungsbeispiel verwendet ein eingeschränktes Sprachmodell
mit den Parametern
θ ' / LM, die für Wortsequenzen des Themengebiets „Umweltverschmutzung” geeignet sind. Das Ausführungsbeispiel kann also die weiter oben genannte Score-Funktion S'(W|X) unter Anwendung des mit einer Nebenbedingung belegten Sprachmodells aktualisieren.
-
7C zeigt ein Schema eines Beispielverfahrens zur Interpretation der Spracheingabe 730 unter Berücksichtigung einer Wortsequenz-Nebenbedingung gemäß einem Ausführungsbeispiel der Erfindung. In diesem Beispiel beinhaltet die Wortsequenz-Nebenbedingung eine Nebenbedingung 734, dass in der Spracheingabe das Wort „Carts” vorkommen muss. Die Nebenbedingung 734 dient der Aktualisierung des Scores 732 der gesamten Interpretationsgruppe 731 zur Erzeugung einer aktualisierten Gruppe 735 mit aktualisierten Interpretations-Scores 736.
-
Für dieses Ausführungsbeispiel kann die allgemeine Neubewertungsfunktion
eingesetzt werden, wie weiter oben beschrieben, mit einer spezifischen Funktion f(X, W, R), welche Sequenzen, die das Wort „Carts” enthalten, höher gewichtet, beispielsweise
f(X, W, R) = f(W) = αIcarts∈W + β, und
-
Es können auch andere Nebenbedingungsfaktoren und/oder Indikatorfunktionen eingesetzt werden.
-
Für die Implementierung der oben beschriebenen Ausführungsbeispiele stehen verschiedene Möglichkeiten zur Verfügung. Die Ausführungsbeispiele können beispielsweise in der Hardware, Software oder einer Kombination aus beidem implementiert werden. Bei einer Implementierung in der Software kann der Software-Code auf jedem geeigneten Prozessor oder einer Zusammenstellung von Prozessoren ausgeführt werden, ob nun in einem einzelnen oder verteilt auf mehrere Computer. Diese Prozessoren können als integrierte Schaltungen implementiert werden, mit einem oder mehreren Prozessoren in einer integrierten Schaltungskomponente. Wenngleich ein Prozessor mit Schaltungen in jedem geeigneten Format implementiert werden kann.
-
Weiter ist davon auszugehen, dass ein Computer in einer beliebigen Form ausgestaltet sein kann, beispielsweise als schrankmontierter Computer, Desktop-Computer, Laptop-Computer, Minicomputer, oder Tablet-Computer. Außerdem kann ein Computer ein oder mehrere Ein- und Ausgabesysteme besitzen. Diese Systeme können unter anderem als Anwenderschnittstelle dienen. Die Computer können durch ein oder mehrere Netzwerke in jeder geeigneten Form miteinander verbunden sein, z. B. ein Local Area Network oder ein Wide Area Network, beispielsweise in einem Unternehmen, oder über das Internet. Diese Netzwerke können auf jeder geeigneten Technologie aufbauen und mit jedem geeigneten Protokoll arbeiten und können drahtlose Netzwerke, verdrahtete Netzwerke oder Glasfasernetzwerke umfassen.
-
Die hierin dargestellten unterschiedlichen Verfahren oder Prozesse können außerdem als Software kodiert sein, die auf einem oder mehreren Prozessoren ausgeführt werden kann, die ein Betriebssystem oder eine Plattform aus einer Vielzahl verschiedener Betriebssysteme oder Plattformen verwenden. Die Software kann außerdem in einer beliebigen Programmiersprache und/oder mit beliebigen Programmier- oder Skripting-Tools geschrieben und auch als ausführbarer Maschinensprachcode oder Zwischencode kompiliert sein, der auf einem Framework oder einer virtuellen Maschine ausgeführt wird.
-
Die Bezeichnungen „Programm” oder „Software” werden hier generisch verwendet und bezeichnen einen beliebigen Computercode oder durch einen Computer ausführbaren Befehlssatz, die zur Programmierung eines Computers oder eines anderen Prozessors zur Implementierung verschiedener Aspekte der vorliegenden Erfindung eingesetzt werden können, die weiter oben erörtert wurden.
-
Die durch einen Computer ausführbaren Befehle können in unterschiedlichen Formen vorliegen, beispielsweise als Programm-Module, die von einem oder mehreren Computer oder anderen Systemen ausgeführt werden. Generell enthalten Programm-Module Routinen, Programme, Objekte, Komponenten und Datenstrukturen, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Typischerweise können die Funktionalitäten der Programm-Module kombiniert oder in Form der gewünschten unterschiedlichen Ausführungsbeispiele verteilt werden.
-
Die Ausführungsbeispiele der Erfindung können außerdem als ein Verfahren ausgestaltet werden, für das ein Beispiel vorgestellt wurde. Die Handlungen, die als Teil des Verfahrens ausgeführt werden, können in jeder geeigneten Reihenfolge angeordnet sein. Dementsprechend können Ausführungsbeispiele realisiert werden, in denen Handlungen in einer anderen als der dargestellten Reihenfolge ausgeführt werden, so dass einige Handlungen beispielsweise gleichzeitig ausgeführt werden, auch wenn sie in den veranschaulichenden Ausführungsbeispielen als aufeinander folgende Handlungen dargestellt werden.
-
Ordnungsbegriffe wie „erste/s/r”, „zweite/s/r” usw., die in den Ansprüchen zur Modifizierung eines Anspruchselements verwendet werden, sind nicht im Sinne einer Priorität, Bevorzugung oder Rangfolge eines Anspruchselements gegenüber einem anderen oder der zeitlichen Reihenfolge von Handlungen in einem Verfahren zu verstehen, sondern dienen lediglich der Unterscheidung eines Anspruchselements mit einem bestimmten Namen von einem anderen Element, das abgesehen vom Ordnungsbegriff den gleichen Namen hat, also zur Unterscheidung der Anspruchselemente.