DE102016009196B4 - Verfahren zum Betreiben mehrerer Spracherkenner - Google Patents

Verfahren zum Betreiben mehrerer Spracherkenner Download PDF

Info

Publication number
DE102016009196B4
DE102016009196B4 DE102016009196.7A DE102016009196A DE102016009196B4 DE 102016009196 B4 DE102016009196 B4 DE 102016009196B4 DE 102016009196 A DE102016009196 A DE 102016009196A DE 102016009196 B4 DE102016009196 B4 DE 102016009196B4
Authority
DE
Germany
Prior art keywords
vocabulary
speech
recognition result
recognition
useful
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102016009196.7A
Other languages
English (en)
Other versions
DE102016009196A1 (de
Inventor
Gerd Gruchalski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Audi AG
Original Assignee
Audi AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Audi AG filed Critical Audi AG
Priority to DE102016009196.7A priority Critical patent/DE102016009196B4/de
Publication of DE102016009196A1 publication Critical patent/DE102016009196A1/de
Application granted granted Critical
Publication of DE102016009196B4 publication Critical patent/DE102016009196B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Navigation (AREA)

Abstract

Verfahren zum Betreiben mehrerer Spracherkenner (11,12), um zu einem Sprachsignal (18), das einen zu erkennenden Sprachbefehl (16) für eine Sprachbedienung eines Kraftfahrzeugs (15) enthält, mittels jedem Spracherkenner (11,12) jeweils zumindest ein Erkennungsergebnis (22) zu erzeugen, wobei die Spracherkenner (11,12) mit einem jeweiligen Nutzvokabular (23) betrieben werden und sich die Nutzvokabularien (23) unterscheiden, so dass sich zwischen Nutzvokabularien (23) paarweise eine Unterschiedsmenge (30) an Erkennungsvokabeln und/oder Grammatikregeln und/oder bezüglich eines Sprachmodells (SLM) ergibt, wobeieiner oder einige oder jeder der Spracherkenner (11,12) zusätzlich mit einem jeweiligen Prüfvokabular (24) betrieben wird, welches zumindest einen Teil zumindest einer der Unterschiedsmengen (30) umfasst, und für sein jeweiliges zumindest eines Erkennungsergebnis (22) überprüft wird, ob es auf dem Prüfvokabular (24) basiert, und in diesem Fall das Erkennungsergebnis (22) gemäß einer vorbestimmten Verarbeitungsregel (25) verarbeitet wird, wobei durch jeden Spracherkenner (11, 12) jeweils für jedes Erkennungsergebnis (22) eine jeweilige Konfidenzangabe (K) ermittelt wird,dadurch gekennzeichnet, dassdie mit der jeweiligen Konfidenzangabe (K) versehenen Erkennungsergebnisse (22) aller Spracherkenner (11,12) durch eine Arbitrierungseinheit empfangen (26) werden und durch die Arbitrierungseinheit (26) ein zuständiger Spracherkenner (11,12) ausgewählt wird, dessen Erkennungsergebnis (22) als finales Erkennungsergebnis (26') verwendet wird, indemdurch die Arbitrierungseinheit (26) durch einen Vergleich der Konfidenzangabe (K) eines Erkennungsergebnisses (22) aus dem Nutzvokabular (23) mit der Konfidenzangabe (K) eines Erkennungsergebnisses (22) aus dem Prüfvokabular (24) eine Zuständigkeit des jeweiligen Spracherkenners (11,12) ermittelt wird, wobeibei einer vorbestimmten Kombination aus Konfidenzangaben (K) alle Erkennungsergebnisse (22) verworfen werden und wobei die Arbitrierungseinheit (26) weitere Entscheidungsfaktoren einbezieht, wobei die Entscheidungsfaktoren einen Dialogzustand, einen Systemzustand, einen Fahrzeugzustand, eine Fahrzeugposition und/oder eine Vorgeschichte umfassen.

Description

  • Die Erfindung betrifft ein Verfahren zum Betreiben mehrerer Spracherkenner, um zu einem Sprachsignal, das einen Sprachbefehl enthält, mehrere Erkennunaseraebnisse zu erzeugen.
  • Die Verwendung mehrerer Spracherkenner kann im Bereich der Sprachbedienung für die sogenannte hybride Spracherkennung genutzt werden, bei welcher jeweils ein Spracherkenner für eine andere Befehlsdomäne oder Anwendungsdomäne, wie zum Beispiel Radio, Telefon, Navigation, Kalender, Wetter, Nachrichten, verwendet wird. Jeder Spracherkenner nutzt hierzu ein für die jeweilige Befehlsdomäne spezialisiertes Erkennungsvokabular, das im Folgenden als Nutzvokabular bezeichnet ist. In einem Kraftfahrzeug kann eine solche hybride Spracherkennung zudem vorsehen, dass zumindest ein Spracherkenner an Bord und zumindest ein weiterer Spracherkenner außerhalb des Kraftfahrzeugs zum Beispiel als Erkennungsdienst im Internet betrieben wird.
  • Ein Sprachsignal, das einen zu erkennenden Sprachbefehl für die Sprachbedienung einer Vorrichtung, zum Beispiel eines Kraftfahrzeugs, enthält wird dann an alle Spracherkenner übermittelt, von denen jeder dann zumindest ein Erkennungsergebnis erzeugt. Es werden also Erkennungsergebnisse von mehreren Spracherkennern geliefert, die dann verglichen und arbitriert (d.h. bewertet und gewichtet) werden müssen. Letztendlich muss dann die dazu verwendete Arbitrierungseinheit entscheiden können, welches der Erkennungsergebnisse es weiter benutzen und welche es verwerfen möchte. Dabei kann es passieren, dass die jeweiligen Konfidenzangaben, zum Beispiel Wahrscheinlichkeitswerte oder Log-Likelihood-Werte, der unterschiedlichen Spracherkenner nur schwierig miteinander vergleichbar sind, da die jeweiligen Spracherkenner unterschiedliche Befehlsdomänen abdecken und daher die Eingaben missverstehen können. Grundsätzliches Problem dabei ist nämlich, dass jeder Spracherkenner mit hinreichend großem Erkennungsvokabular praktisch immer irgendein Erkennungsergebnis erzeugen wird, und die Erkennungsergebnisse und Konfidenzangaben verschiedener Typen von Spracherkennern und Sprachtechnologien schwer vergleichbar sind und es zudem allgemein problematisch ist, eine falsch erkannte Spracheingabe, d.h. ein falsches Erkennungsergebnis, von einem solchen Erkennungsergebnis zu unterscheiden, das ein Spracherkenner überhaupt nicht richtig erkennen konnte, weil der Sprachsignal Wörter enthielt, die nicht Bestandteil des Nutzvokabulars des Spracherkenners waren.
  • Aus der DE 10 2013 011 922 A1 ist ein Spracherkenner bekannt, bei welchem zusätzlich zu den Erkennungsergebnissen auch Konfidenzmaße ausgewertet werden.
  • Aus der DE 103 29 546 A1 ist ein Spracherkenner bekannt, bei welchem das Erkennungsvokabular in ein Basislexikon und zusätzliche Lexika aufgeteilt ist.
  • Aus der DE 10 2013 006 173 A1 ist ein Spracherkenner bekannt, bei welchem durch die Spracherkennung auch Kontextwissen über den Nutzer berücksichtigt wird, um eine Plausibilitätsprüfung durchzuführen.
  • Aus der US 2013/0346078 A1 ist eine Spracherkennung mittels zweier Spracherkenner bekannt. Falls der erste Spracherkenner erkennt, dass ein von ihm erkanntes Wort eine Aktion angibt, die auf einem Gerät ausgeführt werden soll, auf welchem auch der zweite Spracherkenner betrieben wird, hält der erste Spracherkenner sein Erkennungsergebnis zugunsten des zweiten Spracherkenners zurück.
  • Der Erfindung liegt die Aufgabe zugrunde, mehrere Spracherkenner zu betreiben und aus den hierdurch erzeugten Erkennungsergebnissen dasjenige heraus zu suchen, dass mit der größten Wahrscheinlichkeit ein richtiges Erkennungsergebnis ist.
  • Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterbildungen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Figuren beschrieben.
  • Durch die Erfindung ist ein Verfahren zum Betreiben mehrerer Spracherkenner bereitgestellt. Das Verfahren geht davon aus, dass ein Sprachsignal vorliegt, das einen zu erkennenden Sprachbefehl für eine Sprachbedienung einer Vorrichtung enthält. Bei der Vorrichtung handelt es sich um ein Kraftfahrzeug, das mittels der Sprachbedienung bedient werden soll. Zu dem Sprachsignal wird mittels jedes Spracherkenners jeweils zumindest ein Erkennungsergebnis erzeugt. Die Spracherkenner werden dazu mit einem jeweiligen Nutzvokabular betrieben, wobei sich die Nutzvokabularien unterscheiden. Hierdurch gibt es also zwischen den Nutzvokabularien paarweise jeweils eine Unterschiedsmenge an Erkennungsvokabeln und/oder Grammatikregeln und/oder bezüglich eines Sprachmodells. Die Grammatikregeln beschreiben die Erkennungsgrammatik. Das Sprachmodell (Statistical Language Model - SLM) beschreibt mögliche Wortfolgen und/oder Wortfolgenwahrscheinlichkeiten.
  • Wie bereits ausgeführt, lassen sich die Erkennungsergebnisse unterschiedlicher Spracherkenner nur schwer dahingehend miteinander vergleichen, ob ein Spracherkenner mit größerer Zuverlässigkeit ein richtiges Erkennungsergebnis erzeugt hat als ein anderer Spracherkenner. Um hier Klarheit zu schaffen, ist erfindungsgemäß vorgesehen, dass einer oder einige oder jeder der Spracherkenner nicht nur mit einem Nutzvokabular betrieben wird, sondern zusätzlich mit einem jeweiligen Prüfvokabular. Jedes Prüfvokabular enthält oder umfasst jeweils zumindest einen Teil zumindest einer der Unterschiedsmengen. Das Prüfvokabular beschreibt also zumindest in Teilen das Nutzvokabular zumindest eines anderen Spracherkenners und/oder andere Worte oder Phrasen oder allgemein Sprachzusammenhänge, die nicht im Nutzvokabular beschrieben sind. Die Spracherkennung, die der Spracherkenner durchführt, wird dabei auf der Grundlage sowohl des Nutzvokabulars als auch des Prüfvokabulars durchgeführt. Der Spracherkenner überprüft dann, ob sein jeweiliges Erkennungsergebnis auf dem Prüfvokabular basiert. In diesem Fall wird das Erkennungsergebnis als außerhalb des Zuständigkeitsbereichs des Spracherkenners, d.h. als außerhalb der jeweiligen Befehlsdomäne des Spracherkenners liegend behandelt, indem es gemäß einer vorbestimmten Verarbeitungsregel verarbeitet wird. Ein Erkennungsergebnis, das auf Grundlage des Prüfvokabulars ermittelt oder erkannt wurde, wird also anders behandelt als ein Erkennungsergebnis, das auf der Grundlage des Nutzvokabulars ermittelt worden ist.
  • Durch die Erfindung ergibt sich der Vorteil, dass nun durch ein und denselben Spracherkenner selbst entschieden werden kann, ob das Sprachsignal in seine Befehlsdomäne fällt und er es also überhaupt mittels des Nutzvokabulars richtig erkennen könnte. Benötigt er das Prüfvokabular, so ist dies ein Signal, dass das Sprachsignal themenfremd ist. Das Prüfvokabular muss dabei nicht vollständig die Unterschiedsmenge bezüglich eines anderen Nutzvokabulars umfassen. Es reicht, wenn einige Stützvokabeln oder Prüfvokabeln in dem Prüfvokabular enthalten sind, durch welche der Spracherkenner bei der Erkennung erkennt, dass sich das Sprachsignal auf eine andere Befehlsdomäne bezieht. Nutzt der Spracherkenner zum Beispiel ein Nutzvokabular zum Bedienen eines Navigationsgeräts und enthält das Prüfvokabular zum Beispiel das Wort „Radio“ (zum Beispiel: „Stelle das Radio auf den Sender XYZ!“), so wird eines der Erkennungsergebnisse des Spracherkenners auf Grundlage des Prüfvokabulars erzeugt werden können, bei welchem das Wort Radio richtig erkannt wurde, selbst wenn das Prüfvokabular weitere domänenspezifische Worte, wie zum Beispiel „Sender“ und „XYZ“, nicht erkennen kann. Der Spracherkenner kann dann aber aufgrund einer Konfidenzangabe zu dem Erkennungsergebnis zum Beispiel erkennen, dass mit dem Prüfvokabular ein Erkennungsergebnis mit höherer Konfidenz erzeugt werden konnte als ausschließlich auf Grundlage des Nutzvokabulars. Somit kann der Spracherkenner entscheiden, dass er das beste Erkennungsergebnis im Sinne der Konfidenzangabe mittels des Prüfvokabulars erkennen konnte und somit das Sprachsignal vermutlich einen domänenfremden Sprachbefehl enthält. Er reagiert dann, indem er das Erkennungsergebnis mittels der Verarbeitungsregel verarbeitet.
  • Somit kann jeder Spracherkenner selbst ermitteln, ob eines seiner Erkennungsergebnisse überhaupt in seine Befehlsdomäne fällt oder ob er auf Grundlage ausschließlich seines Nutzvokabulars mit hoher Wahrscheinlichkeit ein falsches Erkennungsergebnis erzeugt hat, weil er mittels des Prüfvokabulars erkannt hat, dass sich mit den darin enthaltenen Wörtern ein besseres Erkennungsergebnis erzielen ließ. Der Vollständigkeit halber sei noch erwähnt, dass ein Spracherkenner auch gar kein Erkennungsergebnis, d.h. ein leeres Erkennungsergebnis, zu einen Sprachsignal erzeugen kann, auch wenn dies im Realfall ziemlich unwahrscheinlich ist. Eine Arbitrierung muss aber auch das behandeln können.
  • Eine weitere Frage betrifft das Auswählen des richtigen oder vorteilhaften Erkennungsergebnisses aus allen durch alle Spracherkenner gebildeten Erkennungsergebnissen. Hierzu wird durch jeden Spracherkenner jeweils für jedes Erkennungsergebnis eine jeweilige Konfidenzangabe ermittelt, also zum Beispiel ein Konfidenzwert oder auch eine abstraktere Beschreibung, wie zum Beispiel hoch, mittel, niedrig. Diese Angabe kann auf Grundlage eines Konfidenzwerts, zum Beispiel durch Schwellwertvergleiche, erzeugt werden. Durch einen Vergleich der Konfidenzangabe eines Erkennungsergebnisses aus dem Nutzvokabular mit der Konfidenzangabe eines Erkennungsergebnisses aus dem Prüfvokabular kann eine Zuständigkeit des jeweiligen Spracherkenners ermittelt werden. Wird erkannt, dass der Spracherkenner ein Erkennungsergebnis aus dem Prüfvokabular mit einer größeren Konfidenzangabe versieht als ein Erkennungsergebnis aus dem Nutzvokabular, so ist der Spracherkenner nicht zuständig. Insgesamt können die sich ergebenden Kombinationen mittels einer Entscheidungsmatrix zusammengefasst werden und es kann anhand der Entscheidungsmatrix entschieden werden, ob der jeweilige Spracherkenner zuständig ist.
  • Diese Überprüfung kann durch eine Arbitrierungseinheit durchgeführt werden, die mit der jeweiligen Konfidenzangabe versehene Erkennungsergebnisse aller Spracherkenner empfängt. Durch die Arbitrierungseinheit wird dann aus den Spracherkennern ein zuständiger Spracherkenner ausgewählt. Das Erkennungsergebnis des zuständigen Spracherkenners wird dann als finales Erkennungsergebnis verwendet. Bei einer vorbestimmten Kombination aus Konfidenzangaben der Erkennungsergebnisse kann vorgesehen sein, dass alle Erkennungsergebnisse verworfen werden und zum Beispiel die erneute Erfassung eines Sprachsignals signalisiert oder befohlen oder durchgeführt werden. Dies kann z.B. vorgesehen sein, falls alle Konfidenzangaben unterhalb eines Schwellenwerts liegen. Die Arbitrierungseinheit bezieht erfindungsgemäß weitere Entscheidungsfaktoren ein, nämlich einen Dialogzustand, einen Systemzustand, einen Fahrzeugzustand, eine Fahrzeugposition und/oder eine Vorgeschichte.
  • Zu der Erfindung gehören auch vorteilhafte Weiterbildungen, durch deren Merkmale sich zusätzliche Vorteile ergeben.
  • Gemäß einer Weiterbildung sieht die besagte Verarbeitungsregel vor, dass jedes Erkennungsergebnis des Spracherkenners gelöscht wird. Mit anderen Worten beteiligt sich der Spracherkenner nicht mehr an der Erkennung der Sprachsignals, weil er erkannt hat, dass ein Erkennungsergebnis ihn als nicht zuständig identifiziert. Alternativ dazu kann vorgesehen sein, dass der Spracherkenner das Erkennungsergebnis, das er auf Grundlage des Prüfvokabulars ermittelt hat, als zum Prüfvokabular gehörig kennzeichnet. Somit kann auch zum Beispiel eine Arbitrierungseinheit erkennen, ob ein bestimmtes Erkennungsergebnis eines Spracherkenners auf Grundlage von dessen Nutzvokabular oder dessen Prüfvokabular erzeugt worden ist.
  • Um ein Prüfvokabular zu erzeugen, ist bevorzugt vorgesehen, dass die typische Struktur von Nutzvokabularien ausgenutzt wird. Zumindest eines der Nutzvokabularien weist bevorzugt Trägerformulierungen mit austauschbaren Füllworten auf. Eine solche Trägerformulierung mit Füllwort kann zum Beispiel sein: „Ich möchte gern nach X fahren“. Hiermit kann ein Navigationsgerät bedient werden, wobei das Navigationsziel X ein austauschbares Füllwort darstellt. Des Weiteren umfasst das Nutzvokabular Austauschworte zum abwechselnden Ersetzen der Füllworte. Diese Austauschworte können sehr zahlreich sein. Beispielsweise kann eine Liste von möglichen Navigationszielen, zum Beispiel Städtenamen oder Namen von sogenannten Interessenspunkten (POI - Point of Interest), angegeben sein. Das Prüfvokabular für einen anderen Spracherkenner wird dabei bevorzugt auf der Grundlage der Trägerformulierungen gebildet. Mittels des Prüfvokabulars kann der andere Spracherkenner dann zumindest diesen Anteil des Sprachsignals erkennen, also zum Beispiel: Ich möchte gerne nach...fahren. Somit ist auf Seiten dieses Spracherkenners oder für den Spracherkenner erkennbar, dass es sich bei dem Sprachsignal um einen Sprachbefehl aus der Befehlsdomäne z.B. „Navigation“ handelt, ohne dass er alle Austauschworte kennen muss. Die Austauschworte können sogenannte dynamische Daten sein, die zum Beispiel benutzerspezifische und/oder vorrichtungsspezifische Element sind. Die Austauschworte sind in dem Sinne dynamisch, dass sie vom Benutzer mit der Zeit verändert werden können, wie es zum Beispiel bei einer Adressliste oder bei einer Liste möglicher favorisierter Fahrziele oder bei einer Namensliste oder bei einer Senderliste für ein Radio oder einer Liste zum Auswählen aus einer Mediensammlung (zum Beispiel Lieder oder Videos) möglich ist, also bei einer Titelliste, eine Albumsliste, einer Genreliste, einer Interpretenliste. Die Austauschworte können also eines oder einige oder alle dieser genannten Aspekte umfassen.
  • Bevorzugt ist vorgesehen, dass das Prüfvokabular aus dem Nutzvokabular zumindest eines anderen der Spracherkenner generiert wird. Das Prüfvokabular wird also nicht zufällig aus irgendwelchen Worten oder Grammatikregeln gebildet, die nicht in irgend einem anderen Nutzvokabular enthalten sind. Stattdessen wird gezielt darauf geachtet, dass für den Fall, dass ein Erkennungsergebnis Bestandteil des Prüfvokabulars ist oder auf der Grundlage des Prüfvokabulars erzeugt worden ist, sichergestellt ist, dass es zumindest einen anderen Spracherkenner gibt, der das zugehörige oder korrespondierende Nutzvokabular aufweist. Somit kann dieser andere Spracherkenner das vollständig richtige Erkennungsergebnis erzeugen. Dies kann durch den Spracherkenner anhand seines Prüfvokabulars erkannt werden, da sichergestellt ist, dass es einen solchen Spracherkenner mit diesem Nutzvokabular gibt. Bevorzugt ist das Prüfvokabular eines Spracherkenners auf der Grundlage des jeweiligen Nutzvokabulars aller anderen Spracherkenner gebildet.
  • Ein Anwendungsfall, bei dem sich zum Beispiel das Verwerfen von Erkennungsergebnissen lohnt ist der folgende. Einer der Spracherkenner kann mit einem Steuermodul der Vorrichtung, also zum Beispiel des Kraftfahrzeugs, gekoppelt sein. Sein Nutzvokabular weist dann zumindest einen Steuerbefehl für dieses Steuermodul auf. Beispielsweise kann es sich bei dem Steuermodul um ein Navigationsgerät oder ein Telefon oder ein Infotainmentsystem (Information-Unterhaltungssystem) der Vorrichtung handeln. Über den Steuerbefehl kann dann dieses Steuermodul bedient werden und zwar auf Basis einer Sprachbedienung. Ein anderer der Spracherkenner, der von dem Steuermodul entkoppelt ist, also zum Beispiel sich außerhalb der Vorrichtung, insbesondere außerhalb des Kraftfahrzeugs, befindet, weist den zumindest einen Steuerbefehl des Steuermoduls als Bestandteil seines Prüfvokabulars auf. Spricht nun ein Benutzer ein Sprachsignal aus, das als Sprachbefehl diesen Steuerbefehl für das Steuermodul enthält, so lohnt es sich oftmals nicht, dass das Erkennungsergebnis durch den vorrichtungsexternen Spracherkenner, also zum Beispiel einen Online-Spracherkenner, erkannt wird und dann das Erkennungsergebnis zurück zur Vorrichtung gesendet wird. Dies erzeugt eine Verzögerung bei der Bedienung, die ein Benutzer oftmals als unerwünscht lang empfindet. Mit anderen Worten sollte nur derjenige Spracherkenner, der auch mit dem Steuermodul gekoppelt ist, für die Sprachbedienung des Steuermoduls genutzt werden. Der andere Spracherkenner erkennt mittels seines Prüfvokabulars, dass er nicht zuständig ist und kann dann zum Beispiel alle seine Erkennungsergebnisse löschen oder verwerfen. Zusätzlich kann vorgesehen sein, dass der Steuerbefehl an das Steuermodul ausgegeben wird, ohne das Erkennungsergebnis des anderen Spracherkenners abzuwarten, falls für den mit dem Steuermodul gekoppelte Spracherkenner erkannt wird, dass sein Erkennungsergebnis auf seinem Nutzvokabular basiert.
  • In der Regel erzeugt ein Spracherkenner mehrere Erkennungsergebnisse, die er dann zum Beispiel auf der Grundlage von Konfidenzwerten oder allgemein Konfidenzangaben in einer sogenannten N-Best-Liste gemäß der Ordnung der Konfidenzangabe zusammenfasst. Hierbei ist nun bevorzugt vorgesehen, dass durch zumindest einen der Spracherkenner, bevorzugt durch alle Spracherkenner, jeweils alle ihre Erkennungsergebnisse in einer gemeinsamen N-Best-Liste zusammengefasst werden. Der Spracherkenner erzeugt also z.B. zumindest ein Erkennungsergebnis auf der Grundlage des Nutzvokabulars und zumindest ein Erkennungsergebnis auf der Grundlage des Prüfvokabulars. Diese Erkennungsergebnisse werden trotz der unterschiedlichen zugrundegelegten Erkennungsvokabularien in der gemeinsamen N-Best-Liste zusammengefasst. Dies weist den Vorteil auf, dass die weitere Verarbeitung der Erkennungsergebnisse in der an sich bekannten Weise erfolgen kann. Falls die Spracheingabe außerhalb der Befehlsdomäne des Spracherkenners lag, so spiegelt sich dies automatisch in der N-Best-Liste wieder, da deren bestes Erkennungsergebnis mit hoher Wahrscheinlichkeit ein Erkennungsergebnis aus dem Prüfvokabular enthält. Ohne das Prüfvokabular würde dem Spracherkenner das Wissen für diese Sortierung fehlen. Somit löst dies das eingangs dargestellte Grundproblem der Falscherkennungen bei Out-of-Domain-Äußerungen und der schlechten Vergleichbarkeit der Ergebnisse unterschiedlicher Spracherkenner. Die besagte Arbitrierungseinheit kann dann aufgrund der Kennzeichnung, der Reihenfolge und der Konfidenzen der N-Best-Liste der Erkennergebnisse aus dem Nutz- und dem Prüfvokabular entscheiden, welchen Erkennungsergebnissen sie vertraut, d.h. welche sie verwendet, und/oder wie ein Sprachdialog weiter vorangehen soll.
  • Die besagten Nutzvokabularien betreffen jeweils bevorzugt eine der folgenden Befehlsdomänen: eine Bedienung eines Radios und/oder Telefons und/oder eine Bedienung eines Online-Datendienstes (z.B. Internet-Browsing und/oder Internetsuche und/oder Online-Wetterdienst) und/oder die Bedienung eines Navigationsgeräts mit einer Suche in einer Navigationsdatenbank. Diese Aufteilung ist besonders vorteilhaft bei der Bedienung von Steuermodulen in einem Kraftfahrzeug.
  • Damit das erfindungsgemäße Verfahren durchgeführt werden kann, müssen mehrere Spracherkenner bereitgestellt werden, die in der beschriebenen Weise ein Erkennungsergebnis in Bezug auf die Verwendung von Nutzvokabular und Prüfvokabular unterscheiden können. Hierzu ist durch die Erfindung eine Spracherkennungsvorrichtung bereitgestellt, durch welche jeweils einer der Spracherkenner gebildet oder bereitgestellt werden kann. Die Spracherkennungsvorrichtung ist entsprechend dazu eingerichtet, zu einem Sprachsignal, das einen zu erkennenden Sprachbefehl für eine Sprachbedienung einer Vorrichtung enthält, zumindest ein Erkennungsergebnis zu erzeugen und hierbei ein Nutzvokabular zugrundezulegen. Die Spracherkennungsvorrichtung ist des Weiteren dazu eingerichtet, ein von dem Nutzvokabular verschiedenes Prüfvokabular für die Spracherkennung zu verwenden und bei jedem zu dem Sprachsignal erzeugten Erkennungsergebnis zu überprüfen, ob dieses Erkennungsergebnis auf dem Prüfvokabular basiert, ob also das Erkennungsergebnis zumindest ein Wort aus dem Prüfvokabular und/oder eine Grammatikregel aus dem Prüfvokabular bei der Erkennung genutzt wurde. In diesem Fall wird das Erkennungsergebnis dann als außerhalb des Zuständigkeitsbereichs (außerhalb der Befehlsdomäne) der Spracherkennungsvorrichtung liegend erkannt, d.h. gemäß der beschriebenen Verarbeitungsregel verarbeitet.
  • Zu der Erfindung gehören auch Weiterbildungen der erfindungsgemäßen Spracherkennungsvorrichtung, die Merkmale aufweisen, wie sie bereits im Zusammenhang mit der Weiterbildung des erfindungsgemäßen Verfahrens beschrieben worden sind. Die entsprechenden Weiterbildungen der erfindungsgemäßen Spracherkennungsvorrichtung sind deshalb hier nicht noch einmal beschrieben.
  • Im Folgenden ist ein Ausführungsbeispiel der Erfindung beschrieben. Hierzu zeigt:
    • 1 eine schematische Darstellung eines Systems zum Durchführen einer Ausführungsform des erfindungsgemäßen Verfahrens; und
    • 2 eine Spracherkennungsvorrichtung des Systems von 1, die eine Ausführungsform der erfindungsgemäßen Spracherkennungsvorrichtung ist.
  • Bei dem im Folgenden erläuterten Ausführungsbeispiel handelt es sich um eine bevorzugte Ausführungsform der Erfindung. Bei dem Ausführungsbeispiel stellen die beschriebenen Komponenten der Ausführungsform 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 ist die beschriebene Ausführungsform auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.
  • In den Figuren sind funktionsgleiche Elemente jeweils mit denselben Bezugszeichen versehen.
  • Das in 1 gezeigte System kann einen Spracherkenner 11 und einen Spracherkenner 12 umfassen. In dem veranschaulichten Beispiel kann das System 10 eine Bedienvorrichtung 13 zum Betreiben zumindest eines Steuermoduls 14 bereitstellen. Jeder Spracherkenner 11, 12 kann durch eine Spracherkennungsvorrichtung bereitgestellt sein, welche zum Beispiel eine Prozessoreinrichtung mit zumindest einem Mikrocontroller und/oder zumindest einem Mikroprozessor aufweisen kann und den jeweiligen Spracherkenner als Programmmodul mittels der Prozessoreinrichtung betreiben kann. Das Steuermodul 14 kann beispielsweise Bestandteil eines Kraftfahrzeugs 15 sein. Wie in 1 veranschaulicht, kann die Bedienvorrichtung 13 in dem Kraftfahrzeug 15 bereitgestellt sein. Durch die Bedienvorrichtung 13 kann zum Beispiel ein Navigationsgerät oder eine Audioanlage oder ein Telefon oder ein Infotainmentsystem als jeweiliges Steuermodul 14 gesteuert werden.
  • Die Bedienung des Steuermoduls 14 mittels der Bedienvorrichtung 13 erfolgt hierbei auf der Grundlage einer Sprachbedienung. Ein Benutzer des Kraftfahrzeugs 15 kann hierzu einen Sprachbefehl 16 aussprechen, der von einer Mikrofoneinrichtung 17 des Kraftfahrzeugs 15 erfasst werden kann. Die Mikrofonanordnung 17 kann eines oder mehrere Mikrofone umfassen. Der Sprachbefehl 16 wird als Sprachsignal 18 an die Spracherkenner 11, 12 übermittelt werden. Als Sprachsignal 18 kann zum Beispiel ein Audiosignal, zum Beispiel ein Wave-Signal, oder auch eine bereits verarbeitete des Signals des Sprachschalls, zum Beispiel cepstrale Koeffizienten, übertragen werden. Der Spracherkenner 11 kann ein Onboard-Erkenner sein, der im Kraftfahrzeug 15, zum Beispiel in der Bedienvorrichtung 13, bereitgestellt sein kann. Im in 1 veranschaulichten Beispiel ist der Spracherkenner 12 ein Online-Erkenner, welcher als Internetdienst des Internets 19 bereitgestellt sein kann. Das Sprachsignal 18 kann an den Online-Erkenner zum Beispiel mittels einer Kommunikationseinrichtung 20 übertragen werden. Die Kommunikationseinrichtung 20 kann hierzu eine Funkverbindung 21 zum Internet 19 aufbauen, die zum Beispiel mittels eines Mobilfunkmoduls oder eines WLAN-Moduls (WLAN - Wireless Local Area Network) bereitgestellt sein kann.
  • Jeder der Spracherkenner 11, 12 kann ein Erkennungsergebnis 22 oder mehrere Erkennungsergebnisse 22 zu dem Sprachsignal 18 erzeugen. Das Erkennungsergebnis 22 gibt an, welchen Sprachbefehl 16 der jeweilige Spracherkenner 11, 12 in dem Sprachsignal 18 erkannt hat. Für die Spracherkennung weist jeder Spracherkenner 11, 12 ein Erkennungsvokabular 23 auf, wobei jeder Spracherkenner 11, 12 ein Erkennungsvokabular 23 mit unterschiedlichen Wörtern und/oder Grammatiken aufweisen kann. Die Unterscheidung ist in 1 durch Buchstaben A, B vorgenommen. Der Wortschatz jedes Erkennungsvokabulars 23 legt die Befehlsdomäne des Spracherkenners 11 fest. Mit anderen Worten ist jeder der Spracherkenner 11, 12 zum Erkennen von Sprachbefehlen 16 einer durch sein Erkennungsvokabular 23 vorbestimmten Befehlsdomäne spezialisiert. So kann beispielsweise der Onboard-Erkenner (hier Spracherkenner 11) für die Bedienung zum Beispiel eines Telefons oder eines Navigationssystems als Steuermodul 14 spezialisiert sein. Der Online-Erkenner (hier Spracherkenner 12) kann zum Beispiel dafür spezialisiert sein, einen Online-Dienst im Internet 19 zu bedienen, zum Beispiel eine Wettervorhersage oder einen Börsendienst. Die Spracherkenner 11, 12 können aber auch erkennen, ob ein Sprachsignal 18 überhaupt zu ihrer Befehlsdomäne gehört oder zur Befehlsdomäne des jeweils anderen Spracherkenners 11, 12. Hierzu kann jeder Spracherkenner 11, 12 ein Prüfvokabular 24 aufweisen, welches aus dem jeweiligen Nutzvokabular 23 des anderen Spracherkenners 11, 12 gebildet sein kann. Dies ist in 1 wieder durch die Buchstaben A, B veranschaulicht. Erzeugt ein Spracherkenner 11, 12 ein Erkennungsergebnis 22, welches auf dem Nutzvokabular 23 beruht, d.h. ausschließlich auf dem Nutzvokabular 23 beruht, so erkennt der Spracherkenner 11, 12, dass sich das Sprachsignal 18 auf einen Sprachbefehl 16 bezieht, der in die eigene Befehlsdomäne gehört. Wird dagegen ein Erkennungsergebnis 22 auf der Grundlage des Prüfvokabulars 24 erzeugt, das heißt mit zumindest einem Teil aus dem Prüfvokabular, so kann der Spracherkenner 11, 12 daran erkennen, dass sich der Sprachbefehl 16, wie er in diesem Erkennungsergebnis 22 erkannt wurde, außerhalb der eigenen Zuständigkeit liegt, also außerhalb der Befehlsdomäne des jeweiligen Spracherkenners 11, 12. Der Spracherkenner 11, 12 behandelt ein solches Erkennungsergebnis, das nicht in die eigene Zuständigkeit oder Befehlsdomäne fällt, gemäß einer vorbestimmten Verarbeitungsregel 25. Er kann zum Beispiel das Erkennungsergebnis 22 als außerhalb seines Zuständigkeitsbereichs liegend, d.h. außerhalb der eigenen Befehlsdomäne liegend, kennzeichnen. Er kann aber auch zum Beispiel in diesem Fall derart reagieren, dass er überhaupt kein Erkennungsergebnis 22 ausgibt.
  • Ausgegebene Erkennungsergebnisse 22 können durch eine Arbitrierungseinheit 26 aus den Spracherkennern 11, 12 empfangen werden. Mehrere Erkennungsergebnisse können in an sich bekannter Weise sortiert in einer N-Best-Liste 22' von dem jeweiligen Spracherkenner 11, 12 ausgegeben werden. Die Sortierung kann auf der Grundlage einer Konfidenzangabe K für jedes Erkennungsergebnis 22 erfolgen.
  • Die Arbitrierungseinheit 26 kann dann in der im folgenden beschriebenen Weise aus allen Erkennungsergebnisse 22 dasjenige auswählen, das mit der größten Wahrscheinlichkeit eine korrekte Erkennung des Sprachbefehls 16 darstellt. Mit dem ausgewählten Erkennungsergebnis 26' kann dann zum Beispiel eine Sprachdialogsteuerung 27 betrieben werden, welche in an sich bekannter Weise z.B. durch Rückfragen an den Benutzer ermittelt, welcher Bedienschritt oder welches Steuersignal oder welchen Steuerbefehl 28 für das Steuermodul 14 durch die Bedienvorrichtung 13 erzeugt werden soll.
  • In 2 ist noch einmal veranschaulicht, wie beispielhaft durch den Spracherkenner 12 (Online-Erkenner) zwischen der eigenen Befehlsdomäne und der Befehlsdomäne des Onboard-Erkenners unterschieden werden kann. Noch einmal veranschaulicht ist, wie durch das Lexikon (z.B. eine Wörtersammlung oder Vokabelsammlung) des Nutzvokabulars 23 die Befehlsdomäne B definiert ist und durch das Lexikon des Prüfvokabulars 24 die geprüfte fremde Befehlsdomäne A erkannt wird. Die beiden hierzu verwendeten Lexika können auch eine Schnittmenge 29 aufweisen, also z.B. Worte, Phrasen oder eine Grammatik, die sowohl im Nutzvokabular 23 als auch im Prüfvokabular 24 zuzuordnen sind. Erst die eigentliche Unterschiedsmenge 30 stellt hierbei das Prüfvokabular 24 im Sinne der Erfindung dar. Zu beachten ist hierbei, dass nicht unbedingt auf einzelne Worte werden darf. Man spricht bei der Spracherkennung insbesondere im Zusammenhang mit Natürlichsprachlichkeit und statistischen Sprachmodellen allgemein von Domänen, Topics oder Phrasen. Es geht immer um den gesamten gesprochenen Ausdruck und dessen Einordnung. Dieser hängt zwar oft an einzelnen Begriffen, aber nicht immer. Sprache ist sehr flexibel. Gleiche Worte können in verschiedenen Kontexten sogar völlig unterschiedliche Bedeutung haben.
  • Die beiden Kernprobleme sind, dass die verschiedenen Spracherkenner mit unterschiedlichen Algorithmen arbeiten und unterschiedliche Domänen abdecken und daher ihre jeweiligen Resultate widersprüchlich und schwer vergleichbar sein können. Abhängig von inneren oder äußeren Einflüssen und Störungen kann die Konfidenz des falschen Resultats höher sein und ohne weitere Kriterien daher fälschlich ausgewählt werden.
  • Eine konkrete Ausgestaltung des vorgeschlagenen Lösungsansatzes ist im Folgenden beschrieben. Mindestens einer der Spracherkenner kennt alle Befehlsdomänen, selbst wenn er deren Funktion nicht abdecken will. Idealerweise sind es alle, es können aber auch Teilmengen sein, insbesondere wenn mehr als zwei Spracherkenner und/oder viele Domänen vorhanden sind. Es kann auch technische oder rechtliche (Lizenzierung) Begrenzungen geben. Diese Erkennung soll primär als zusätzliches Kriterium genutzt werden, zumindest die Domänen zu erkennen, die Konfidenzen vergleichbar zu haben und so Out-of-Domain-Eingaben zuverlässiger verwerfen bzw. an den besser geeigneten Spracherkenner verweisen zu können.
  • Sinnvollerweise ist der Online-Erkenner derjenige, der diese Erweiterung erfährt, da dieser eine höhere Leistung als der Onboard-Erkenner hat. Grundsätzlich würde diese Methode allerdings auf allen Seiten funktionieren.
  • Die folgende Beschreibung erfolgt für die Variante, dass der Online-Erkenner die zusätzliche Funktionalität erhält. Eine alternative oder parallele Erweiterung des Onboard-Erkenners ist auf gleiche Weise möglich.
  • Der Online-Erkenner erhält zusätzlich alle Domänen (Grammatiken, SLMs, Parameter, ...), die auch der Onboard-Erkenner erkennen können soll und erkennt dadurch auch die zugehörigen Spracheingaben, auch wenn er diese Domänen funktional nicht abdecken kann oder soll. Diese zusätzlichen Domänen sollen nur dazu dienen, die Arbitrierung zu erleichtern und zu verbessern.
  • Annahme sei beispielshaft, es gebe drei Domänengruppen:
    • A = die Domänen, die das Onboard-System erkennen und bearbeiten soll (Radio, Telefon, ...)
    • B = die Domänen, die das Online-System erkennen und bearbeiten soll (Wetter, Aktienkurse, ...)
    • C = die Domänen, die für beide Seiten relevant sind und sich daher überlappen (Musik, POI, ...). Diese Domäne C ist typischerweise nicht eigenständig, sondern in den Domänen A und B enthalten, die sich in Teilbereichen überlappen.
  • Das Onboard-System kennt nur die Domäne A, das Online-System kennt bisher nur die Domäne B. Eine Äußerung aus der einen Domäne (ohne C) läge außerhalb der anderen und würde daher dort zu Fehlerkennungen führen.
  • In der neuen Idee erhält der Online-Erkenner neben Domäne B zusätzlich auch die Domäne A, kann also grundsätzlich alle Bereiche erkennen. Es ist keine vollständige Abdeckung der Domäne A z.B. inklusive aller dynamischer Daten notwendig. Ein Subset, welches das Gebiet thematisch hinreichend gut abdeckt z.B. generiert aus dem für die Domäne onboard verwendeten SLM, reicht aus.
  • Sollte er nun bei einer Eingabe ein Kommando aus Domäne A mit hinreichend hoher Konfidenz erkennen, weiß er, dass dieses Kommando in die Domäne A gehört und daher sehr wahrscheinlich besser durch das Onboard-System erkannt wird und weiter verarbeitet werden wird, und verfolgt es nicht weiter. Diese letztendliche Entscheidung trifft aber bevorzugt das GesamtSystem, d.h. die Arbitrierungseinrichtung 26 oder sogar erst die Dialog-Steuerung 27. Die Spracherkenner liefern bevorzugt nur ihre jeweiligen Erkennungsergebnisse, nun aber angereichert und verbessert durch die Prüfvokabulare.
  • Bei einer Eingabe aus Domäne B wird das Online-System ohnehin die weitere Verarbeitung übernehmen und das Onboard-System wird vermutlich keine sinnvolle Eingabe aus einer seiner Domänen erkennen und die Eingabe verwerfen.
  • Im Falle einer Eingabe aus Domäne C werden beide Spracherkenner Ergebnisse liefert, die dann vom Gesamtsystem weiter bearbeitet werden.
  • Der Vorteil liegt im ersten Fall darin, dass er leistungsfähigere Online-Erkenner mit deutlich höherer Sicherheit entscheiden kann, welcher der Fälle vorliegt und welcher Eingaben daher vom System weiter verfolgt werden sollte, sofern er das Wissen über alle Bereich hat.
  • Beispiele:
  • „Anrufen bei Peter Müller“
  • „Anrufen bei...“ gehört in Domäne A, z.B. da der Online-Erkenner keinen Zugriff auf das Telefonbuch des Mobiltelefons hat.
  • Der Onboard-Erkenner erkennt dieses Kommando mit hinreichend hoher Konfidenz.
  • Der Online-Erkenner würde nach bisherigem Stand fälschlicherweise ein akustisch ähnliches Kommando aus seiner Domäne erkennen, z.B. „Aktienkurs Peter Müller AG“ . Sollten die Konfidenzen beider Erkennungen nah beieinander liegen, ist für das System kaum zu entscheiden, welcher der Spracherkenner richtig liegt.
  • Hat der Online-Erkenner nach neuem Stand dagegen auch die Domäne A geladen, erkennt er ebenfalls „anrufen bei...“ (auch ohne konkreten Namen) mit erheblich höherer Konfidenz und kann dieses nutzen, die ebenfalls erkannte Alternative „Aktienkurs Peter Müller AG“ zu verwerfen. Die Domäne A wird hier quasi als angepasste Out-of-Domain-Erkennung genutzt.
  • Nun kann das System dem Resultat des Onboard-Erkenners Vorrang geben und es weiter verfolgen.
  • „Aktienkurs Peter Müller AG“
  • Dieses Kommando gehört in Domäne B, da Aktienkurse nur Online abgefragt werden können.
  • Der Onboard-Erkenner kennt dieses Kommando nicht und erkennt daher fälschlicherweise z.B. „anrufen bei Peter Müller“ als akustisch nächstgelegenes Kommando.
  • Der Online-Erkenner wird dagegen „Aktienkurs Peter Müller AG“ mit hoher Konfidenz erkennen, möglicherweise auch „anrufen bei ...“, aber mit sehr niedriger Konfidenz, und entscheidet sich daher für das erste Kommando. Daher wird das System dieses weiter verfolgen.
  • „Fahre nach Ingolstadt in die Ettinger Straße 20“
  • Eine Zieleingabe-Suche ist sowohl onboard als auch online möglich und daher in beiden Domänen A und B enthalten. Beide Spracherkenner werden ein Ergebnis liefern. Das System kann sich nun aufgrund anderer Kriterien frei entscheiden, welcher Pfad verfolgt wird oder ob beide Ergebnisse aggregiert werden z.B. das schneller gelieferte Resultat auswählen, das detailliertere Resultat etc. oder beide Ergebnisse zusammen mischen.
  • „Fahre zum Restaurant zur goldenen Ente“
  • Eine POI-Suche ist sowohl onboard als auch online möglich und daher in beiden Domänen A und B enthalten. Beide Spracherkenner werden ein Ergebnis liefern. Allerdings kennt der Onboard-Erkenner keine POI-Eigennamen und wird daher nur den POI-Typ „Restaurant“ erkennen, aber nicht die „goldene Ente“. Der Onboard-Erkenner wird auch die „goldene Ente“ liefern. Das System wird daher das konkretere Resultat weiter verfolgen.
  • Die Beispiele 1 und 2 zeigen den primären Use Case, wo die zusätzliche Domäne seitens des Online-Erkenners zur besseren Arbitrierung genutzt wird. Beispiel 3 und 4 zeigen überlappende Domänen.
  • Hierbei wird dem Online-Erkenner grundsätzlich mehr vertraut, da dieser typischerweise über mehr Ressourcen, aktuellere Daten und eine größere Abdeckung verfügt. Grundsätzlich ist auch der umgekehrte Einsatz denkbar, dass der Onboard-Erkenner die Domänen des Online-Erkenners zusätzlich bekommen oder dass beide Spracherkenner alle Domänen abdecken. Die Entscheidungswege verlaufen dann analog.
  • Ein sehr einfaches Entscheidungsschema für den Online-Erkenner ist: Online-Erkennung:
    Konfidenz A hoch A mittel A niedrig
    B hoch Schnittmenge 1) Online-Erkenner Online-Erkenner
    B mittel Onboard-Erkenner Rückfrage 2) Online-Erkenner
    B niedrig Onboard-Erkenner Onboard-Erkenner Rejection 3)
  • Anmerkungen zur Tabelle:
    • 1) Sollte nur in Fällen aus der Schnittmenge (Domäne C) auftreten. Muss im Sprachdialog weiter behandelt werden.
    • 2) Resultate uneindeutig. Der Sprachdialog muss Rückfragen zur Klärung stellen
    • 3) Zurückweisung: Kommando wurde nicht hinreichend gut erkannt. Muss im Sprachdialog weiter behandelt werden.
  • Fehlerkennungen werden hiermit vermieden und der Sprachdialog wie vom Benutzer gewünscht fortgesetzt.
  • Insgesamt zeigt das Beispiel, wie durch die Erfindung eine Arbitrierung von Spracheingaben für Online- und Onboard-Erkennungen bereitgestellt werden kann.

Claims (8)

  1. Verfahren zum Betreiben mehrerer Spracherkenner (11,12), um zu einem Sprachsignal (18), das einen zu erkennenden Sprachbefehl (16) für eine Sprachbedienung eines Kraftfahrzeugs (15) enthält, mittels jedem Spracherkenner (11,12) jeweils zumindest ein Erkennungsergebnis (22) zu erzeugen, wobei die Spracherkenner (11,12) mit einem jeweiligen Nutzvokabular (23) betrieben werden und sich die Nutzvokabularien (23) unterscheiden, so dass sich zwischen Nutzvokabularien (23) paarweise eine Unterschiedsmenge (30) an Erkennungsvokabeln und/oder Grammatikregeln und/oder bezüglich eines Sprachmodells (SLM) ergibt, wobei einer oder einige oder jeder der Spracherkenner (11,12) zusätzlich mit einem jeweiligen Prüfvokabular (24) betrieben wird, welches zumindest einen Teil zumindest einer der Unterschiedsmengen (30) umfasst, und für sein jeweiliges zumindest eines Erkennungsergebnis (22) überprüft wird, ob es auf dem Prüfvokabular (24) basiert, und in diesem Fall das Erkennungsergebnis (22) gemäß einer vorbestimmten Verarbeitungsregel (25) verarbeitet wird, wobei durch jeden Spracherkenner (11, 12) jeweils für jedes Erkennungsergebnis (22) eine jeweilige Konfidenzangabe (K) ermittelt wird, dadurch gekennzeichnet, dass die mit der jeweiligen Konfidenzangabe (K) versehenen Erkennungsergebnisse (22) aller Spracherkenner (11,12) durch eine Arbitrierungseinheit empfangen (26) werden und durch die Arbitrierungseinheit (26) ein zuständiger Spracherkenner (11,12) ausgewählt wird, dessen Erkennungsergebnis (22) als finales Erkennungsergebnis (26') verwendet wird, indem durch die Arbitrierungseinheit (26) durch einen Vergleich der Konfidenzangabe (K) eines Erkennungsergebnisses (22) aus dem Nutzvokabular (23) mit der Konfidenzangabe (K) eines Erkennungsergebnisses (22) aus dem Prüfvokabular (24) eine Zuständigkeit des jeweiligen Spracherkenners (11,12) ermittelt wird, wobei bei einer vorbestimmten Kombination aus Konfidenzangaben (K) alle Erkennungsergebnisse (22) verworfen werden und wobei die Arbitrierungseinheit (26) weitere Entscheidungsfaktoren einbezieht, wobei die Entscheidungsfaktoren einen Dialogzustand, einen Systemzustand, einen Fahrzeugzustand, eine Fahrzeugposition und/oder eine Vorgeschichte umfassen.
  2. Verfahren nach Anspruch 1, wobei die Verarbeitungsregel (25) vorsieht, dass das Erkennungsergebnis (22), falls es zum Prüfvokabular (24) gehörig erkannt wurde, gekennzeichnet wird oder jedes Erkennungsergebnis (22) des Spracherkenners (11,12) gelöscht wird.
  3. Verfahren nach einem der vorhergehenden Ansprüche, wobei zumindest eines der Nutzvokabularien (23) Trägerformulierungen mit austauschbaren Füllworten und Austauschworte zum abwechselnden Ersetzen der Füllworte aufweist und zumindest ein Prüfvokabular (24) auf der Grundlage der Trägerformulierungen gebildet ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Prüfvokabular (24) aus dem Nutzvokabular (23) zumindest eines anderen der Spracherkenner (11,12) generiert wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei einer der Spracherkenner (11) mit einem Steuermodul (14) des Kraftfahrzeugs (15) gekoppelt ist und ein Nutzvokabular (23) mit zumindest einem Steuerbefehl (28) für das Steuermodul (14) aufweist und ein anderer der Spracherkenner (12), der von dem Steuermodul (14) entkoppelt ist, den zumindest einen Steuerbefehl (28) des Steuermoduls (14) als Bestandteil seines Prüfvokabulars (24) aufweist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei durch zumindest einen der Spracherkenner (11,12) zumindest ein Erkennungsergebnis (22) auf Grundlage des Nutzvokabulars (23) und zumindest ein Erkennungsergebnis (22) auf Grundlage des Prüfvokabulars (24) erzeugt wird und die Erkennungsergebnisse (22) in einer gemeinsamen N.-best-Liste (22') zusammengefasst werden.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei jeweils ein Nutzvokabular (23) für - eine Bedienung eines Radios und/oder Telefons und/oder - eine Bedienung eines Online-Datendienstes und/oder - eine Suche in einer Navigationsdatenbank bereitgestellt wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Zuständigkeit des jeweiligen Spracherkenners (11,12) mittels einer Entscheidungsmatrix ermittelt wird.
DE102016009196.7A 2016-07-27 2016-07-27 Verfahren zum Betreiben mehrerer Spracherkenner Active DE102016009196B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016009196.7A DE102016009196B4 (de) 2016-07-27 2016-07-27 Verfahren zum Betreiben mehrerer Spracherkenner

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016009196.7A DE102016009196B4 (de) 2016-07-27 2016-07-27 Verfahren zum Betreiben mehrerer Spracherkenner

Publications (2)

Publication Number Publication Date
DE102016009196A1 DE102016009196A1 (de) 2018-02-01
DE102016009196B4 true DE102016009196B4 (de) 2021-02-11

Family

ID=60951362

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016009196.7A Active DE102016009196B4 (de) 2016-07-27 2016-07-27 Verfahren zum Betreiben mehrerer Spracherkenner

Country Status (1)

Country Link
DE (1) DE102016009196B4 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346078A1 (en) * 2012-06-26 2013-12-26 Google Inc. Mixed model speech recognition

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10329546A1 (de) 2003-06-30 2005-01-20 Daimlerchrysler Ag Lexikon gesteuerter Teilsprachmodell-Mechanismus für die automatische Spracherkennung
DE102013006173A1 (de) 2013-04-10 2014-10-16 Audi Ag Verfahren und Vorrichtung zur proaktiven Dialogführung
DE102013011922A1 (de) 2013-07-17 2015-01-22 Daimler Ag Verfahren und Vorrichtung zum Verarbeiten einer Sprachäußerung eines Benutzers in einem Fahrzeug

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346078A1 (en) * 2012-06-26 2013-12-26 Google Inc. Mixed model speech recognition

Also Published As

Publication number Publication date
DE102016009196A1 (de) 2018-02-01

Similar Documents

Publication Publication Date Title
DE60222093T2 (de) Verfahren, modul, vorrichtung und server zur spracherkennung
EP0994461A2 (de) Verfahren zur automatischen Erkennung einer buchstabierten sprachlichen Äusserung
DE69725802T2 (de) Vorfilterung mittels lexikalischer Bäumen für die Spracherkennung
DE60016722T2 (de) Spracherkennung in zwei Durchgängen mit Restriktion des aktiven Vokabulars
DE102013223036B4 (de) Adaptionsverfahren für Sprachsysteme
EP0925579B1 (de) Verfahren zur anpassung eines hidden-markov-lautmodelles in einem spracherkennungssystem
DE102013222507B4 (de) Verfahren zum Adaptieren eines Sprachsystems
EP3224831B1 (de) Kraftfahrzeug-bedienvorrichtung mit korrekturstrategie für spracherkennung
DE102017220266B3 (de) Verfahren zum Überprüfen eines Onboard-Spracherkenners eines Kraftfahrzeugs sowie Steuervorrichtung und Kraftfahrzeug
DE102015213722B4 (de) Verfahren zum Betreiben eines Spracherkennungssystems in einem Fahrzeug und Spracherkennungssystem
DE102018113034A1 (de) Stimmenerkennungssystem und stimmenerkennungsverfahren zum analysieren eines befehls, welcher mehrere absichten hat
EP1927980A2 (de) Verfahren zur Klassifizierung der gesprochenen Sprache in Sprachdialogsystemen
WO2006111230A1 (de) Verfahren zur gezielten ermittlung eines vollständigen eingabedatensatzes in einem sprachdialogsystem
WO1998010413A1 (de) Sprachverarbeitungssystem und verfahren zur sprachverarbeitung
DE602004004310T2 (de) System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen
EP3152753B1 (de) Assistenzsystem, das mittels spracheingaben steuerbar ist, mit einer funktionseinrichtung und mehreren spracherkennungsmodulen
EP3095114B1 (de) Verfahren und system zur erzeugung eines steuerungsbefehls
EP0987682B1 (de) Verfahren zur Adaption von linguistischen Sprachmodellen
DE10040063A1 (de) Verfahren zur Zuordnung von Phonemen
DE60029456T2 (de) Verfahren zur Online-Anpassung von Aussprachewörterbüchern
DE102016009196B4 (de) Verfahren zum Betreiben mehrerer Spracherkenner
DE102015212650B4 (de) Verfahren und System zum rechnergestützten Verarbeiten einer Spracheingabe
EP2034472A1 (de) Spracherkennungsverfahren und Spracherkennungsvorrichtung
EP3735688B1 (de) Verfahren, vorrichtung und computerlesbares speichermedium mit instruktionen zum verarbeiten einer spracheingabe, kraftfahrzeug und nutzerendgerät mit einer sprachverarbeitung
DE102017213946B4 (de) Verfahren zum Aufbereiten eines Erkennungsergebnisses eines automatischen Online-Spracherkenners für ein mobiles Endgerät

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G10L0015220000

Ipc: G10L0015320000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final