-
Die Erfindung betrifft ein Verfahren zum Überprüfen eines automatischen Spracherkenners, der in einem Kraftfahrzeug bereitgestellt ist. Dieser Spracherkenner wird im Folgenden als Onboard-Spracherkenner bezeichnet. Der Onboard-Spracherkenner kann eine automatische Spracherkennung (ASR - automatic speech recognition) durchführen, um einen Sprachinhalt in einer Spracheingabe eines Benutzers zu erkennen. Die Erfindung umfasst auch eine Steuervorrichtung für ein Kraftfahrzeug, um das erfindungsgemäße Verfahren durchführen zu können, sowie ein Kraftfahrzeug mit der Steuervorrichtung.
-
In einem Kraftfahrzeug kann beispielsweise für eine Sprachbedienung von Fahrzeugkomponenten ein Onboard-Spracherkenner bereitgestellt sein. Ein Benutzer kann dann beispielsweise einen Sprachbefehl aussprechen, der als Spracheingabe an den Onboard-Spracherkenner übergeben wird. Dieser erzeugt zu der Spracheingabe dann ein Erkennungsergebnis, welches einen in der Spracheingabe erkannten Sprachinhalt, also den Sprachbefehl, beschreibt oder angibt.
-
Aufgrund von begrenzten Rechenressourcen ist allerdings das Erkennungsvokabular eines Onboard-Spracherkenners limitiert. Zudem ist auch das statistische Erkennungsmodell, beispielsweise ein HMM (hidden markov model) durch die dem Kraftfahrzeug zur Verfügung stehende Rechenleistung begrenzt.
-
Aus diesem Grund kann in einem Kraftfahrzeug eine so genannte hybride Spracherkennung vorgesehen sein, bei welcher zusätzlich über eine Kommunikationsverbindung ein Online-Spracherkennungsdienst genutzt wird. Diesem wird über die Kommunikationsverbindung die Spracheingabe ebenfalls bereitgestellt. Der Online-Spracherkennungsdienst kann beispielsweise durch einen Server des Internets realisiert sein. Das Erkennungsergebnis des Spracherkennungsdienstes wird dann über die Kommunikationsverbindung wieder in dem Kraftfahrzeug bereitgestellt. Damit liegen aber in dem Kraftfahrzeug nun zwei Erkennungsergebnisse vor, nämlich dasjenige des Onboard-Spracherkenners und dasjenige des Online-Spracherkennungsdienstes. Diese beiden Erkennungsergebnisse werden einer Entscheidungseinrichtung oder Arbitereinrichtung bereitgestellt, welche zunächst durch einen Vergleich ein Vergleichsresultat ermittelt, das angibt, ob die beiden Erkennungsergebnisse voneinander abweichen. In Abhängigkeit von diesem Vergleichsresultat kann dann entschieden werden, ob eines der Erkennungsergebnisse genutzt werden soll. In der Regel ist das Erkennungsergebnis des Online-Spracherkennungsdienstes zuverlässiger und damit zu bevorzugen, da dem Online-Spracherkennungsdienst mehr Rechenressourcen und damit ein umfangreicheres Erkennungsvokabular sowie ein komplexeres statistisches Erkennungsmodell zur Verfügung stehen als dem Onboard-Spracherkenner. So kann ein falsches Erkennungsergebnis des Onboard-Spracherkenners bei bestehender Kommunikationsverbindung erkannt und unterdrückt werden.
-
Dennoch kann es vorkommen, dass man sich im Kraftfahrzeug ausschließlich auf den Onboard-Spracherkenner verlassen muss, weil die Kommunikationsverbindung unterbrochen ist oder nicht bereitsteht. Die Kommunikationsverbindung kann beispielsweise auf der Grundlage einer Mobilfunkverbindung und/oder einer WLAN-Verbindung (WLAN - wireless local area network) gebildet sein. Ist eine solche Funkverbindung aktuell nicht möglich, so kann auch der Online-Spracherkennungsdienst nicht im Kraftfahrzeug genutzt werden.
-
Onboard-Spracherkenner für die Sprachbedienung sind beispielsweise aus der
DE 10 2009 051 508 A1 und der
DE 10 2008 025 532 A1 bekannt. Um ein Erkennungsergebnis eines Onboard-Spracherkenners zu plausibilisieren, ist aus der
DE 10 2005 018 174 A1 bekannt, aus mehreren möglichen Erkennungsergebnissen dasjenige auszuwählen, welches am besten zu Datenbankeinträgen einer Datenbank passt.
-
Die
US 2016/0 217 788 A1 und die
US 2016/0 379 626 A1 zeigen jeweils ein Verfahren zur Spracherkennung, bei der sowohl ein Onboard-Spracherkenner als auch ein Online-Spracherkennungsdienst Spracherkennungsergebnisse ermitteln. Es wird dabei überprüft, ob aktuell eine Kommunikationsverbindung zu dem jeweiligen Online-Spracherkennungsdienst vorhanden ist oder nicht.
-
Der Erfindung liegt die Aufgabe zugrunde, ein Erkennungsergebnis eines Onboard-Spracherkenners eines Kraftfahrzeugs zu plausibilisieren, wenn eine Überprüfung mittels eines Online-Spracherkennungsdienstes aktuell nicht möglich ist.
-
Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Ausführungsformen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Figuren beschrieben.
-
Durch die Erfindung ist ein Verfahren zum Überprüfen eines Onboard-Spracherkenners eines Kraftfahrzeugs bereitgestellt. Die Überprüfung erfolgt für den Fall, dass eine Kommunikationsverbindung zu einem Online-Spracherkennungsdienst unterbrochen ist. Wenn die Kommunikationsverbindung steht oder bereitgestellt ist, ergibt sich ein Online-Modus, während sich bei unterbrochener Kommunikationsverbindung ein Offline-Modus ergibt. In dem Onlinemodus (mit Kommunikationsverbindung) werden bei dem Verfahren durch eine Arbitereinrichtung oder Entscheidungseinrichtung des Kraftfahrzeugs zu zumindest einer Spracheingabe eines Benutzers, also einer Sprachäußerung oder Phrase, jeweils sowohl ein Erkennungsergebnis des über die Kommunikationsverbindung angekoppelten Online-Spracherkennungsdienstes als auch ein Erkennungsergebnis des Onboard-Spracherkenners empfangen. Durch die Arbitereinrichtung wird ein Vergleichsresultat ermittelt, welches angibt, ob die beiden Erkennungsergebnisse voneinander abweichen. Dies ist soweit aus dem Stand der Technik bekannt. Je nach Vergleichsresultat kann dann eines der beiden Erkennungsergebnisse verwendet werden, was aber nicht Teil des erfindungsgemäßen Verfahrens ist.
-
Das erfindungsgemäße Verfahren betrifft nun den besagten Offline-Modus. Hierzu wird zunächst noch im Online-Modus zu der zumindest einen Spracheingabe zusätzlich von dem Onboard-Spracherkenner des Kraftfahrzeugs zu dessen Erkennungsergebnis auch ein Ergebnismuster empfangen. Das Ergebnismuster beschreibt eine jeweilige aktuelle Erkennungssituation des Onböard-Spracherkenners. Das Ergebnismuster wird zusammen mit dem zugehörigen Vergleichsresultat betreffend die beiden empfangenen Erkennungsergebnisse in einem Musterspeicher für Erkennungssituationen gespeichert. In dem Musterspeicher kann also zumindest ein Ergebnismuster zusammen mit einem zugehörigen oder zugeordneten Vergleichsresultat gespeichert werden. Mehrere Ergebnismuster und die zugehörigen Vergleichsresultate können aber auch zusammengefasst werden, d.h. allgemein wird mittels des aktuellen Ergebnismusters und des zugehörigen Vergleichsresultats der Musterspeicher aktualisiert. Zu einer entsprechenden Erkennungssituation, bei der sich das Ergebnismuster in dem Onboard-Spracherkenner ergeben hat, kann dann später also anhand des Musterspeichers überprüft werden, welches Vergleichsresultat sich ergeben hatte, ob also die beiden Erkennungsergebnisse voneinander abwichen oder nicht.
-
In dem Offline-Modus, in welchem die Kommunikationsverbindung zu dem Online-Spracherkennungsdienst unterbrochen ist, wird dann durch die Arbitereinrichtung zu zumindest einer weiteren Spracheingabe jeweils das Erkennungsergebnis des Onboard-Spracherkenners und das zugehörige Ergebnismuster des Onboard-Spracherkenners empfangen. Ein Erkennungsergebnis des Online-Spracherkennungsdienstes kann aufgrund der unterbrochenen Kommunikationsverbindung nicht ermittelt werden. Es liegt also nur ein Erkennungsergebnis des Onboard-Spracherkenners vor. Nun muss überprüft werden, ob dieses Erkennungsergebnis plausibel ist. Im Online-Modus könnte hierzu das Erkennungsergebnis des Online-Spracherkennungsdienstes genutzt werden. Da dies nun fehlt, wird erfindungsgemäß in dem Musterspeicher ein mit dem aktuellen Ergebnismuster des Onboard-Spracherkenners gemäß einem vorbestimmten Übereinstimmungskriterium übereinstimmendes gespeichertes Ergebnismuster gesucht und dessen zugeordnetes oder zugehöriges Vergleichsresultat ermittelt oder aus dem Musterspeicher ausgelesen. Allgemein kann vorgesehen sein, dass in dem Musterspeicher anhand des aktuellen Ergebnismusters eine gemäß einem vorbestimmten Übereinstimmungskriterium übereinstimmende, gespeichertes Erkennungssituation gesucht wird und ein zu dieser Erkennungssituation gespeichertes repräsentatives Vergleichsresultat ausgelesen wird. Wird also ermittelt, welches Vergleichsresultat sich in der Vergangenheit im Online-Modus in einer Erkennungssituation ergeben hatte, die mit der aktuellen Erkennungssituation gemäß dem Übereinstimmungskriterium übereinstimmt. Für den Fall, dass dieses Vergleichsresultat eine Abweichung signalisiert, wird das aktuelle Erkennungsergebnis im Offline-Modus verworfen. Signalisiert dagegen das Vergleichsresultat, dass es eine Übereinstimmung gab, so kann das Erkennungsergebnis in dem Kraftfahrzeug für beispielsweise einen Bedienvorgang einer Sprachbedienung oder für die Steuerung eines Sprachdialogs verwendet werden.
-
Mittels des Musterspeichers wird also trotz unterbrochener Kommunikationsverbindung rekonstruiert, welches Vergleichsresultat sich in einer ähnlichen oder gemäß dem Übereinstimmungskriterium übereinstimmenden Erkennungssituation schon einmal ergeben hatte, während der Online-Modus aktiv war, also ein Erkennungsergebnis des Online-Spracherkennungsdienstes verfügbar war. Da nun im Offline-Modus kein Erkennungsergebnis des Online-Spracherkennungsdienstes verfügbar ist, wird das Vergleichsresultat auf der Grundlage des Musterspeichers rekonstruiert. Der Musterspeicher kann hierzu beispielsweise als eine Datenbank oder ein Datenspeicher ausgestaltet sein.
-
Durch die Erfindung ergibt sich der Vorteil, das selbst dann ein Erkennungsergebnis eines Onboard-Spracherkenners auf seine Plausibilität hin überprüft werden kann, wenn der Online-Spracherkennungsdienst nicht zur Verfügung steht. Falls dabei zu einem aktuellen Ergebnismuster im Offline-Modus kein übereinstimmendes Ergebnismuster im Musterspeicher ermittelt werden kann, so muss das aktuelle Erkennungsergebnis auf der Grundlage zumindest eines weiteren Kriteriums überprüft werden, was aber nicht Teil der Erfindung ist. Das aktuelle Erkennungsergebnis kann für diesen Fall auch einfach verworfen werden.
-
Die Erfindung umfasst auch Ausführungsformen, durch die sich zusätzliche Vorteile ergeben.
-
Eine Ausführungsform sieht vor, dass das besagte Ergebnismuster des Onboard-Spracherkenners eine von einem statistischen Erkennungsmodell des Onboard-Spracherkenners erkannte Silbenfolge umfasst. Ein solches Erkennungsmodell kann beispielsweise auf der Grundlage eines HMM gebildet sein. Eine Silbenfolge ist eine Abfolge von Silben, die jeweils Wortteile beschreiben. Es handelt sich um diejenige Abfolge von Silben, die das statistische Erkennungsmodell in der Spracheingabe erkennen konnte. Das Ergebnismuster kann zusätzlich oder alternativ dazu eine Liste möglicher Erkennungsergebnisse eines statistischen Sprachmodells des Onboard-Spracherkenners umfassen. Ein solches Sprachmodell kann beispielsweise ein SLM (statistical language model) sein. Mittels eines solchen Sprachmodells kann eine vom Erkennungsmodell erkannte Silbenfolge zu einem oder mehreren möglichen Wörtern kombiniert werden. Sind mehrere Erkennungsergebnisse möglich, so ergibt sich die besagte Liste möglicher Erkennungsergebnisse. Zu einer Spracheingabe „Touchscreen“ kann ein Erkennunsmodell z.B. die Silbenfolge „ta-tsch-creen“ erzeugen, aus welcher das Sprachmodell wiederum diese Liste möglicher Erkennungsergebnisse erzeugen könnte: „Touchscreen“, „Touch me“. Die Listeneinträge können in der Reihenfolge des so genannten Konfidenzwerts geordnet sein, der angibt, wie wahrscheinlich es ist, dass der Listeneintrag ein korrektes Erkennungsergebnis darstellt. Dies kann beispielsweise als so genannter Log-Likelihood-Wert für die Konfidenz ausgerückt werden. Ein Ergebnismuster, das die Silbenfolge und/oder die Liste möglicher Erkennungsergebnisse umfasst, weist den Vorteil auf, dass zum Ermitteln der Erkennungssituation keine Auswertung eines Erkennungskontextes, beispielsweise des aktuellen Bedienkontextes (aktuell aktivierte Funktionen oder Geräte im Kraftfahrzeug) nötig ist.
-
Eine Ausführungsform sieht vor, dass für den Fall, dass im Offline-Modus das aktuelle Erkennungsergebnis verworfen wird (weil das Vergleichsresultat eine Abweichung signalisiert), ein Hinweis über die unterbrochene Kommunikationsverbindung an den Benutzer ausgegeben wird. Hierdurch ergibt sich der Vorteil, dass der Benutzer nur dann über die unterbrochene Kommunikationsverbindung informiert wird und dadurch beispielsweise vom Fahren des Kraftfahrzeugs abgelenkt wird, wenn dies tatsächlich relevant ist. Kann dagegen das Erkennungsergebnis des Onboard-Spracherkenners genutzt werden, muss es also nicht verworfen werden, so ist der Hinweis über die unterbrochene Kommunikationsverbindung für den Benutzer irrelevant.
-
Eine Ausführungsform sieht vor, dass das Übereinstimmungskriterium, anhand welchem in dem Musterspeicher eine Übereinstimmung des aktuellen Ergebnismusters mit Einträgen im Musterspeicher erkannt wird, folgendes umfasst. Es kann gefordert sein, dass ein Prozentanteil an Übereinstimmung zwischen dem Ergebnismuster und einem jeweils im Musterspeicher gespeicherten Ergebnismuster größer als ein vorbestimmter Schwellenwert sein muss. Es muss also keine einhundertprozentige Übereinstimmung gefordert sein, sondern der Schwellenwert kann beispielsweise in einem Bereich kleiner als 100 Prozent, beispielsweise größer als 50 Prozent oder größer als 60 Prozent oder größer als 70 Prozent liegen. Zusätzlich oder alternativ dazu kann allgemein durch das Übereinstimmungskriterium gefordert sein, dass durch das Ergebnismuster dieselbe Erkennungssituation beschrieben ist. Mit anderen Worten kann der Musterspeicher eine Vielzahl oder mehrere möglicher Erkennungssituationen beschreiben und es wird dann überprüft, ob das aktuelle Ergebnismuster eine der möglichen Erkennungssituationen beschreibt oder identifiziert. Jede Erkennungssituation kann z.B. jeweils durch zumindest ein repräsentatives Erkennungsmuster beschrieben sein, das jeweils mit dem aktuellen Erkennungsmuster verglichen werden kann. Die Ausführungsform weist den Vorteil auf, dass auch ähnliche Ergebnismuster (keine einhundertprozentige Übereinstimmung) als übereinstimmend erkannt werden, sodass der Inhalt des Musterspeichers auch dann genutzt werden kann, wenn sich keine einhundertprozentige Übereinstimmung ergibt.
-
In Bezug auf das Überprüfen einer übereinstimmenden Erkennungssituation sieht eine Ausführungsform vor, dass in dem Musterspeicher ein darin zu speicherndes Ergebnismuster (im Online-Modus) in eine von mehreren möglichen Erkennungssituationen kategorisiert wird. Es muss also in vorteilhafter Weise nicht jedes Ergebnismuster einzeln gespeichert werden, sondern es werden Kategorien gebildet, nämlich mögliche Erkennungssituationen. So können mehrere Ergebnismuster zu einer Erkennungssituation zusammengefasst oder kategorisiert werden. Dies erhöht die Effizienz des Musterspeichers.
-
In dem Musterspeicher kann vorgesehen sein, dass eine oder mehrere mögliche Erkennungssituationen definiert sind, wobei jeder jeweils ein repräsentatives Vergleichsresultat zugeordnet ist. Dieses repräsentative Vergleichsresultat kann z.B. ein Mittelwert aus den Vergleichsresultaten der zugrundeliegenden einzelnen Erkennungsmustern sein. Eine Ausführungsform hierzu sieht vor, dass für jede mögliche Erkennungssituation zusätzlich ein Wert gespeichert wird, der hier als zeitliche Gewichtungskomponente bezeichnet ist. Zu jeder möglichen Erkennungssituation wird also auch eine zeitliche Gewichtungskomponente verwaltet. Die zeitliche Gewichtungskomponente gibt an, wie viele Ergebnismuster zu der jeweiligen Erkennungssituation bereits eingetragen sind oder vorliegen. Die Gewichtungskomponente gibt also an, wie oft die entsprechende Erkennungssituation bereits tatsächlich im Online-Modus vorgekommen ist oder beobachtet wurde. Hierdurch ist in vorteilhafter Weise ein Wert gegeben, wie zuverlässig das zu der Erkennungssituation gespeicherte Vergleichsresultat ist. Falls im Offline-Modus eine Übereinstimmung mit einer möglichen Erkennungssituation vorliegt und das zugehörige Vergleichsresultat eine Abweichung signalisiert, wird das aktuelle Erkennungsergebnis dabei nur in dem Fall verworfen, dass die Gewichtungskomponente für die Erkennungssituation größer als ein vorbestimmter Schwellenwert ist. Mit anderen Worten wird also ein Vergleichsresultat aus dem Musterspeicher nur dann für die Bewertung oder Überprüfung eines Erkennungsergebnisses genutzt, falls zu der entsprechenden Erkennungssituation eine ausreichende statistische Beschreibung oder Fundierung (Gewichtungskomponente größer als der Schwellenwert) vorliegt.
-
Eine Ausführungsform ermöglicht ein so genanntes Cloud-basiertes Trainieren oder Auffüllen des Musterspeichers. Man nutzt hierbei zumindest ein Vergleichsresultat, das in zumindest einem andere Kraftfahrzeug ermittelt wurde, während dies im Online-Modus war. Hierzu wird zumindest ein zusätzliches Erkennungsmuster mit einem jeweils zugehörigen Vergleichsresultat aus zumindest einem anderen Kraftfahrzeug und/oder aus einer fahrzeugexternen zentralen Steuervorrichtung empfangen und in dem Musterspeicher gespeichert. Es muss sich aber nicht um einzelne Erkennungsmuster mit zugehörigen Vergleichsresultat handeln. Allgemein können Musterspeicherdaten aus zumindest einem anderen Kraftfahrzeug und/oder aus einer fahrzeugexternen, zentralen Servervorrichtung empfangen und in dem Musterspeicher gespeichert werden. Eine solche Servervorrichtung kann beispielsweise ein Server des Internets sein. Aus einem anderen Kraftfahrzeug können Musterspeicherdaten über eine Fahrzeug-zu-Fahrzeug-Kommunikationsverbindung empfangen werden. Aus der Servervorrichtung können Musterspeicherdaten beispielsweise über einen Internetverbindung empfangen werden. Durch die Musterspeicherdaten können in vorteilhafter Weise Vergleichsresultate oder Überprüfungsergebnisse aus anderen Kraftfahrzeugen genutzt werden, um den Musterspeicher zu ergänzen, um beispielsweise einen höheren Wert für zumindest eine zeitliche Gewichtungskomponente zu erhalten.
-
Um das erfindungsgemäße Verfahren in einem Kraftfahrzeug durchführen zu können, ist durch die Erfindung eine Steuervorrichtung für ein Kraftfahrzeug bereitgestellt. Die Steuervorrichtung kann beispielsweise als ein Steuergerät des Kraftfahrzeugs ausgestaltet sein. Die Steuervorrichtung weist eine Prozessoreinrichtung auf, die dazu eingerichtet ist, eine Ausführungsform des erfindungsgemäßes Verfahren durchzuführen. Die Prozessoreinrichtung kann hierzu zumindest einen Mikrocontroller und/oder zumindest einen Mikroprozessor aufweisen. Die Prozessoreinrichtung kann einen Programmcode aufweisen, der dazu eingerichtet ist, bei Ausführen durch die Prozessoreinrichtung, die Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Programmcode kann in einem Datenspeicher der Prozessoreinrichtung gespeichert sein. Die Prozessoreinrichtung betreibt also beim Ausführen des Verfahrens die besagte Arbitereinrichtung, die beispielsweise als ein Programmmodul ausgestaltet oder realisiert sein kann.
-
Die Erfindung umfasst schließlich auch ein Kraftfahrzeug, welches eine Ausführungsform der erfindungsgemäßen Steuervorrichtung aufweist. Das erfindungsgemäße Kraftfahrzeug ist insbesondere als Kraftwagen, beispielsweise als Personenkraftwagen oder Lastkraftwagen, ausgestaltet.
-
Die Erfindung umfasst auch die Kombinationen der beschriebenen Ausführungsformen.
-
Im Folgenden ist ein Ausführungsbeispiel der Erfindung beschrieben. Hierzu zeigt:
- 1 eine schematische Darstellung einer Ausführungsform des erfindungsgemäßen Kraftfahrzeugs in einem Online-Modus; und
- 2 eine schematische Darstellung des Kraftfahrzeugs in einem Offline-Modus.
- 3 ein Flussschaudiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens.
-
Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden und damit auch einzeln oder in einer anderen als der gezeigten Kombination als Bestandteil der Erfindung anzusehen sind. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.
-
In den Figuren sind funktionsgleiche Elemente jeweils mit denselben Bezugszeichen versehen.
-
1 zeigt ein Kraftfahrzeug 10, bei dem es sich um einen Kraftwagen, insbesondere um eine Personenkraftwagen oder Lastkraftwagen, handeln kann. Das Kraftfahrzeug 10 kann für eine Fahrzeugkomponente 11 eine Sprachbedienung vorsehen. Hierzu kann ein Benutzer eine Sprachäußerung 12 tätigen oder aussprechen. Die Sprachäußerung 12 kann einen Sprachinhalt 12' aufweisen. Der Sprachinhalt 12' kann beispielsweise ein Sprachbefehlt für die Bedienung der Fahrzeugkomponente 11 sein.
-
Die Sprachäußerung 12 kann in oder an dem Kraftfahrzeug 10 als Sprachschall 13 durch eine Mikrofonanordnung 14 erfasst werden, die ein oder mehrere Mikrofone umfassen kann. Die Mikrofonanordnung 14 kann ein Sprachsignal der Sprachäußerung 12 aus dem Sprachschall 13 in eine Spracheingabe 15 wandeln. Die Spracheingabe 15 kann ein elektrisches und/oder digitales Signal sein. Die Spracheingabe 15 kann an einen fahrzeugeigenen oder fahrzeuginternen Onboard-Spracherkenner 16 und über eine Kommunikationseinrichtung 17 an eine Servervorrichtung 18 des Internets 19 übermittelte werden, welche einen Online-Spracherkennungsdienst 20 betreiben oder bereitstellen kann. Die Kommunikationseinrichtung 17 kann beispielsweise ein Mobilfunkmodul und/oder ein WLAN-Modul (WLAN - wireless local area network) aufweisen. Die Übertragung zu der Servervorrichtung 18 kann über eine Kommunikationsverbindung 21 erfolgen, die beispielsweise auch eine Funkstrecke umfassen kann. Beispielsweise kann zwischen der Kommunikationseinrichtung 17 und einem Mobilfunknetz 22 eine Funkverbindung 23 als Bestandteil der Kommunikationsverbindung 21 vorgesehen sein. Von dem Mobilfunknetz 22 kann über das Internet 19 die Spracheingabe 15 an den Server 18 übermittelt werden. Durch den Onboard-Spracherkenner 16 kann in Abhängigkeit oder auf der Grundlage der Spracheingabe 15 ein Erkennungsergebnis 23 erzeugt werden, welches angibt, welcher Sprachinhalt 12' in der Spracheingabe 15 erkannt wurde. Entsprechend kann von dem Online-Spracherkennungsdienst 20 der Servervorrichtung 18 ein Erkennungsergebnis 24 über die Kommunikationsverbindung 21 zurück in das Kraftfahrzeug 10 übertragen werden.
-
Da nun zwei Erkennungsergebnisse 23, 24 vorliegen, wird bei dem Kraftfahrzeug 10 mittels einer Arbitereinrichtung 25 entschieden, welches der Erkennungsergebnisse 23, 24 als finales Erkennungsergebnis 26 verwendet werden soll, auf dessen Grundlage eine Steuerung der Fahrzeugkomponente 11 erfolgt. Beispielsweise kann es sich bei der Fahrzeugkomponente 11 um ein Sprachdialogsystem und/oder ein Sprachbedienungssystem handeln.
-
Die Arbitereinrichtung 25 kann beispielsweise durch eine Steuervorrichtung 27, beispielsweise ein Steuergerät des Kraftfahrzeugs 10, realisiert sein. Die Arbitereinrichtung 25 kann beispielsweise als ein Programmcode realisiert sein, der auf einer Prozessoreinrichtung 28 der Steuervorrichtung 27 ablaufen oder ausgeführt werden kann.
-
Die Arbitereinrichtung 25 kann eine Entscheidungslogik 29 aufweisen, durch welche die beiden Erkennungsergebnisse 23, 24 verglichen werden. Der Vergleich wird als ein Vergleichsresultat 30 angegeben, welches signalisiert oder angibt, ob es eine Abweichung des Erkennungsergebnisses 23 des Onboard-Spracherkenners 16 von dem Erkennungsergebnis 24 des Online-Spracherkennungsdienstes gibt. Es kann vorgesehen sein, dass in einem solchen Fall das Erkennungsergebnis 24 des Online-Spracherkennungsdienstes 20 als finales Erkennungsergebnis verwendet wird.
-
Diese Überprüfung kann beispielsweise vorgesehen sein, wenn durch den Online-Spracherkennungsdienst 20 und den Onboard-Spracherkenner 16 erkannt wird, dass die Spracheingabe 15 zu einem Erkennungsvokabular 31 gehört, welches auch von dem Onboard-Spracherkenner 16 bereitgestellt ist. Da der Online-Spracherkennungsdienst 20 aber mehr Rechenressourcen bereitstellen kann, kann das Erkennungsvokabular 31 zusätzlich auch durch den Online-Spracherkennungsdienst 20 bereitgestellt sein und hierbei aber die Spracherkennung mit größerer Zuverlässigkeit erfolgen. Die Entscheidungslogik 29 plausibilisiert dann also zum einen das Erkennungsergebnis 23 des Onboard-Spracherkenners 16 und nutzt aber das Erkennungsergebnis 24 des Online-Spracherkennungsdienstes 20, falls das Vergleichsresultat 30 eine Abweichung signalisiert. Das finale Erkennungsergebnis 26 wird in diesem Fall dann das Erkennungsergebnis 24 sein.
-
Für den Fall, dass der Online-Spracherkennungsdienst 20 nicht zur Verfügung steht, muss das Erkennungsergebnis 23 genutzt werden. Dennoch ist man auch in einem solchen Fall daran interessiert, dass dieses Erkennungsergebnis 23 des Onboard-Spracherkenners 16 überprüft werden kann. Hierzu kann die Arbitereinrichtung 25 einen Musterspeicher 32 und eine adaptive zeitliche Gewichtungskomponente 33 aufweisen. Für den Musterspeicher 32 wird aus dem Onboard-Spracherkenner 16 zusätzlich zu dem Erkennungsergebnis 23 noch ein Ergebnismuster 34 durch die Arbitereinrichtung 25 empfangen. Das Ergebnismuster kann beispielsweise als Inhalt eine Liste mehrerer möglicher Erkennungsergebnisse aus einem statistischen Sprachmodell 37' des Spracherkenners 16 (SLM - statistical language model) und/oder eine Silbenfolge 36 aus einem statistischen Erkennungsmodell 37 des Onboard-Spracherkenners 16 enthalten. Beispielsweise kann bei dem Onboard-Spracherkenner 16 vorgesehen sein, dass die Spracheingabe 15 mittels des statistischen Erkennungsmodells 37 auf mögliche Silben und deren Abfolge analysiert wird und die sich ergebende Silbenfolge 36 mittels des statistischen Sprachmodells 37' in mehrere mögliche Erkennungsergebnisse umgewandelt wird. Hieraus kann dann das eigentliche zu nutzende Erkennungsergebnis 23 als das beste oder wahrscheinlichste Erkennungsergebnis ausgewählt werden. Indem nun auch noch das Ergebnismuster 34 mit der zugrundeliegenden Silbenfolge 36 und/oder den möglichen übrigen Erkennungsergebnissen breitgestellt wird, ist insgesamt die sich aus Sicht des Onboard-Spracherkenners 16 ergebende Erkennungssituation beschrieben.
-
Es kann nun das Ergebnismuster 34 zusammen mit dem Vergleichsresultat 30 in dem Musterspeicher 32 gespeichert sein. Der Musterspeicher 32 kann hierzu beispielsweise durch eine Datenbank realisiert sein. Es kann vorgesehen sein, das Ergebnismuster 24 einer aus mehreren möglichen Erkennungssituationen 35 zuzuordnen. Hierdurch wird das Ergebnismuster 34 also kategorisiert. Es kann dann für die ausgewählte Erkennungssituation 35 verwaltet werden, ob hier das Vergleichsresultat 30 eine Abweichung des Onboard-Spracherkenners 16 vom Online-Spracherkennungsdienst 20 signalisiert hat oder nicht. Es kann für jede Erkennungssituation 35 des Weiteren durch die zeitliche Gewichtungskomponente 33 verwaltet oder gezählt werden, wie oft für die jeweilige Erkennungssituation 35 bereits ein Vergleichsresultat 30 gespeichert oder genutzt wurde.
-
Die in 1 gezeigte Betriebsweise der Arbitereinrichtung 25 entspricht einem Online-Modus M1, in welchem die Kommunikationsverbindung 21 bereitsteht und somit auch das Erkennungsergebnis 24 des Online-Spracherkennungsdienstes 20 zur Verfügung steht.
-
2 zeigt dagegen die Arbitereinrichtung 25 in einem Offline-Modus M2, bei welchem eine Unterbrechung U der Kommunikationsverbindung 21 vorliegt, sodass kein Erkennungsergebnis 24 des Online-Spracherkennungsdienstes 20 empfangen werden kann. Kommt es zu einer weiteren Sprachäußerung 37, so muss die zugehörige Spracheingabe 38 also ausschließlich mit dem Onboard-Spracherkenner 16 in der beschriebenen Weise analysiert werden, das heißt der Spracheingabe 38 ein Erkennungsergebnis 39 beispielsweise mittels des statistischen Erkennungsmodells 37 und dem statistischen Sprachmodell 37' zugeordnet werden. Des Weiteren kann nun zur Überwachung oder Überprüfung des Erkennungsergebnisses 39 ebenfalls wieder in der beschriebenen Weise das Ergebnismuster 34 zusammen mit dem Erkennungsergebnis 39 der Arbitereinrichtung 25 bereitgestellt werden. Die Entscheidungslogik 29 kann hier keine Entscheidung treffen, da ein Erkennungsergebnis des Online-Spracherkennungsdienstes 20 fehlt. Allerdings kann nun in dem Musterspeicher 32 zu dem Ergebnismuster 34 eine mögliche Erkennungssituation 35 ausgewählt werden, die gemäß einem vorbestimmten Übereinstimmungskriterium 40 eine vorbestimmte Mindestübereinstimmung zu dem Ergebnismuster 34 aufweist. Da durch die Gewichtungskomponente 33 zu der Erkennungssituation 35 verwaltet ist, wie zuverlässig die Statistik zu der Erkennungssituation 35 ist, kann entschieden werden, ob der Musterspeicher 32 für die Überprüfung des Erkennungsergebnisses 39 genutzt werden soll. Liegt die Gewichtungskomponente oberhalb eines Schwellenwerts für diese Erkennungssituation 35, so kann der Musterspeicher 32 genutzt werden, das heißt zu der Erkennungssituation 35 wird ermittelt, mit welcher Wahrscheinlichkeit oder mit welchem Anteil die zu der Erkennungssituation gespeicherten Vergleichsresultate 30 angeben, dass in der Erkennungssituation 35 auch der Online-Spracherkennungsdienst 20 dasselbe Erkennungsergebnis wie das Erkennungsergebnis 39 des Onboard-Spracherkenners 16 erzeugt hätte. Ergibt zudem zu der Erkennungssituation 35 das hierzu gespeicherte (mittlere) Vergleichsresultat, dass es eine Abweichung des Onboard-Spracherkenners 16 zu dem Online-Spracherkennungsdienst 20 gegeben hat, so kann durch eine Ablehnungskomponente 41 das Erkennungsergebnis 39 verworfen werden. Signalisiert dagegen das ermittelte Vergleichsresultat aus dem Musterspeicher 32, dass eine Übereinstimmung vorliegt, so kann das Erkennungsergebnis 39 an die Fahrzeugkomponente 11 weitergegeben werden.
-
Für den Fall, dass das Erkennungsergebnis 39 verworfen wird, kann an einen Benutzer des Kraftfahrzeugs 10, der beispielsweise die Sprachäußerung 37 geäußert hat, ein Hinweis 42 auf die Unterbrechung U der Kommunikationsverbindung 21 ausgegeben werden.
-
3 veranschaulicht noch einmal eine Ausführungsform eines Verfahrens 34, wie es durch die Steuervorrichtung 27 ausgeführt werden kann. Durch die Arbitereinrichtung 25 kann in dem Online-Modus M1 zu zumindest einer Spracheingabe 15 eines Benutzers jeweils sowohl ein Erkennungsergebnis 24 eines über die Kommunikationsverbindung 21 angekoppelten Online-Spracherkennungsdienstes 20 als auch ein Erkennungsergebnis 23 des Onboard-Spracherkenners 16 in einem Schritt S10 empfangen werden und in einem Schritt S11 ein Vergleichsresultat 30, welches angibt, ob die beiden Erkennungsergebnisse voneinander abweichen, ermittelt werden. In einem Schritt S12 kann zu der Spracheingabe 15 zusätzlich von dem Onboard-Spracherkenner 16 ein Ergebnismuster 34, welches eine jeweilige aktuelle Erkennungssituation des Onboard-Spracherkenners 16 beschreibt, empfangen werden und das Ergebnismuster 34 zusammen mit dem zugehörigen Vergleichsresultat 30 in dem Musterspeicher 32 gespeichert werden.
-
In dem Offline-Modus M2, in welchem die Kommunikationsverbindung 21 zu dem Online-Spracherkennungsdienst 20 unterbrochen ist, kann durch die Arbitereinrichtung 25 zu einer weiteren Spracheingabe 38 jeweils das Erkennungsergebnis 39 des Onboard-Spracherkenners 16 und das zugehörige aktuelle Ergebnismuster 34 in einem Schritt S13 empfangen werden. In einem Schritt S14 kann in dem Musterspeicher 32 ein mit dem aktuellen Ergebnismuster 34 gemäß dem Übereinstimmungskriterium 40 übereinstimmendes gespeichertes Ergebnismuster gesucht und dessen zugehöriges Vergleichsresultat 30' ermittelt werden. In einem Schritt S15 kann für den Fall, dass das Vergleichsresultat 30' eine Abweichung signalisiert, das aktuelle Erkennungsergebnis 39 durch beispielsweise die Zurückweisungskomponente 41 verworfen werden.
-
Die Schwäche der aktuellen hybriden Spracherkennungen besteht somit darin, dass das System bei fehlender Datenverbindung über eine weniger umfangreich ausgeprägte Onboard-Spracherkennung verfügt. In vielen Fällen führt dies dazu, dass die Onboard-Spracherkennung einen falschen Begriff erkennt. Da dieser im Regelfall dennoch über den Erkenn-Schwellwert liegt und bisher das einzige Entscheidungskriterium für den Arbiter (Arbitereinrichtung 27) ist, wird das, natürlich falsche, Erkennergebnis weiterverwendet. Dies führt wiederum dazu, dass die Spracherkennung von Kunden als weniger wertig wahrgenommen wird oder im schlimmsten Fall zu Kundenbeanstandungen führt. Hier soll der selbstlernende Arbiter für Hybrid-Spracherkennungen Abhilfe schaffen. Die Grundidee ist, dass die Arbitration-Regeln nicht wie bisher statisch zum Auslieferungszeitpunkt des Fahrzeugs definiert werden, sondern sich während dem gesamten Fahrzeugleben anhand der von Kunden benutzten Suchbegriffe und der daraus entstehenden Ergebnismuster ständig weiterentwickeln.
-
Der selbstlernende Arbiter ist eine Erweiterung des bisherigen Arbiters. Über ein Hybrid-Ergebnismuster-Gedächtnis werden bisher in der Hybrid-Spracherkennung durchlaufene Situationen kategorisiert und dauerhaft gespeichert. Über eine zeitliche Gewichtungskomponente wird sichergestellt, dass nicht bereits einmalige Erkennergebnisse zu einer Entscheidung führen, sondern diese Entscheidungslogik stetig wächst.
-
Tritt nun eine Situation ein, bei der die Online-Verbindung fehlt, wird nun nicht wie bisher eine Entscheidung alleinig anhand der Konfidenz des Onboard-Erkenners getroffen, sondern zusätzlich über eine Rejection-Komponente überprüft. Hier wird das gesprochene Kommando mit bisher im Ergebnismuster-Gedächtnis abgespeicherten Erkennungssituationen verglichen. Entspricht das gesprochene Muster in einem sehr hohen Prozentanteil dem bereits abgelegten Muster, wird das damals abgespeicherte Vorgehen auch ohne eine existierende Datenverbindung wieder angewendet, Entsprach das damals onboard erkannte Topic nicht dem über den Online-Erkenner ermittelten Topic, wird das Onboard-Ergebnis verworfen und der Kunde über die fehlende Online-Verbindung informiert. Stimmen die Online- und Onboard-Ergebnisse komplett überein, so wird das Onboard-Ergebnis weiterverwendet. Die dadurch gewonnene Erkennsicherheit erhöht die Qualität des Spracherkennung auch ohne eine Online-Datenverbindung signifikant.
-
Hybrid-Ergebnismuster-Gedächtnis: Innerhalb des hybriden Ergebnismuster-Gedächtnisses wird jede Erkennungssituation 35 kategorisiert und dauerhaft gespeichert, sowohl online als auch onboard. Das Ergebnismuster-Gedächtnis des Musterspeichers 32 speichert dabei die gesamte Situation ab und nicht nur das beste Erkennungsergebnis. Da die gesamte Erkennungssituation bereits vor der semantischen Interpretation persistiert wird, lassen sich sehr gute Rückschlüsse auf die komplette vom Benutzer gesprochene Phrase, d.h. den Sprachinhalt 12', ziehen. Der selbstlernende Arbiter 25 lernt hier somit mit jeder Erkennungssituation, insbesondere speziell angepasst an den Fahrzeugbesitzer, dazu.
-
Zeitliche Gewichtungskomponente 33: Über die zeitliche Gewichtungskomponente 33 wird sichergestellt, dass nicht bereits beim einmaligen Auftreten der Erkennungssituation möglicherweise falsche Entscheidungen im Arbiter getroffen werden. Anstatt dessen wird erst beim Auftreten der Erkennungssituation in der Anzahl (n) die komplette Gewichtung vergeben. Bis dahin wird bei jedem Auftreten der Erkennungssituation der bisherige Wert um den Faktor (m) erhöht bis der maximal definierte Gewichtungswert (max) erreicht ist. Auf diese Weise lernt der selbstlernende Arbiter nicht nur über die inhaltliche, sondern auch über die zeitliche Komponente weiter.
-
Zurückweisungskomponente 41: Die Zurückweisungskomponente 41 überprüft die Gültigkeit des Onboard-Ergebnisses. Wurde in früheren Erkennungssituationen bereits festgestellt, dass das onboard erkannte Topic nicht mit dem vom Online-Erkenner gelieferten Topic übereinstimmt und ist die Gewichtungskomponente für diese Erkennungssituation bereits hoch genug, so wird das Onboard-Topic abgelehnt (Rejection - Zurückweisung) und der Kunde über die fehlende Online-Verbindung informiert.
-
Insgesamt zeigen die Beispiele, wie durch die Erfindung eine selbstlernende Onboard-Arbitereinrichtung für eine Hybrid-Spracherkennung bereitgestellt werden kann.