DE112017004397T5 - System und Verfahren zur Einstufung von hybriden Spracherkennungsergebnissen mit neuronalen Netzwerken - Google Patents

System und Verfahren zur Einstufung von hybriden Spracherkennungsergebnissen mit neuronalen Netzwerken Download PDF

Info

Publication number
DE112017004397T5
DE112017004397T5 DE112017004397.2T DE112017004397T DE112017004397T5 DE 112017004397 T5 DE112017004397 T5 DE 112017004397T5 DE 112017004397 T DE112017004397 T DE 112017004397T DE 112017004397 T5 DE112017004397 T5 DE 112017004397T5
Authority
DE
Germany
Prior art keywords
speech recognition
words
neural network
generating
training
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.)
Granted
Application number
DE112017004397.2T
Other languages
English (en)
Other versions
DE112017004397B4 (de
Inventor
Zhengyu Zhou
Rami Botros
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE112017004397T5 publication Critical patent/DE112017004397T5/de
Application granted granted Critical
Publication of DE112017004397B4 publication Critical patent/DE112017004397B4/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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/16Speech classification or search using artificial neural networks
    • 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
    • G10L2015/088Word spotting
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

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)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Abstract

Ein Verfahren zum Einstufen von Kandidatenspracherkennungsergebnissen beinhaltet Erzeugen, mit einer Steuerung, mehrerer Merkmalsvektoren für die Kandidatenspracherkennungsergebnisse, wobei jeder Merkmalsvektor Auslösepaarmerkmale und/oder ein Konfidenzbewertungsmerkmal und/oder Wortebene-Merkmale beinhaltet. Das Verfahren beinhaltet ferner Bereitstellen der mehreren Merkmalsvektoren als Eingaben in ein neuronales Netzwerk, Erzeugen mehrerer Einstufungsbewertungen, die den mehreren Merkmalsvektoren entsprechen, für die mehreren Kandidatenspracherkennungsergebnisse basierend auf einer Ausgabeschicht des neuronalen Netzwerks und Betreiben des automatisierten Systems unter Verwendung des Kandidatenspracherkennungsergebnisses in den mehreren Kandidatenspracherkennungsergebnissen, das einer höchsten Einstufungsbewertung in den mehreren Einstufungsbewertungen entspricht, als Eingabe.

Description

  • GEBIET
  • Die vorliegende Offenbarung betrifft allgemein das Gebiet der automatisierten Spracherkennung und insbesondere Systeme und Verfahren, die den Betrieb von Spracherkennungssystemen verbessern, die mehrere Spracherkennungs-Engines nutzen.
  • HINTERGRUND
  • Automatisierte Spracherkennung ist eine wichtige Technik zum Implementieren von Mensch-Maschine-Schnittstellen (HMIs: Human Machine Interfaces) in einem breiten Bereich von Anwendungen. Insbesondere ist Spracherkennung in Situationen nützlich, bei denen sich ein menschlicher Benutzer auf das Durchführen einer Aufgabe konzentrieren muss, bei der das Verwenden von traditionellen Eingabeeinrichtungen, wie etwa einer Maus und Tastatur, ungeeignet oder unpraktisch wäre. Fahrzeuginterne „Infotainment“-Systeme, Hausautomatisierungssysteme und viele Verwendungen von kleinen elektronischen mobilen Einrichtungen, wie etwa Smartphones, Tablets und tragbaren Computern, können zum Beispiel Spracherkennung einsetzen, um Sprachbefehle und eine andere Eingabe von einem Benutzer zu empfangen.
  • Die meisten Spracherkennungssysteme des Stands der Technik verwenden eine trainierte Spracherkennungs-Engine, um aufgezeichnete gesprochene Eingaben von einem Benutzer in digitale Daten umzuwandeln, die sich zur Verarbeitung in einem computergestützten System eignen. Verschiedene Sprach-Engines, die im Stand der Technik bekannt sind, führen Techniken zum Verstehen natürlicher Sprache durch, um die Wörter, die der Benutzer spricht, zu erkennen und eine semantische Bedeutung aus den Wörtern zu extrahieren, um den Betrieb eines computergestützten Systems zu steuern.
  • In manchen Situationen ist eine einzige Spracherkennungs-Engine zur Erkennung von Sprache von einem Benutzer, während der Benutzer verschiedene Aufgaben durchführt, nicht notwendigerweise optimal. Lösungen des Stands der Technik versuchen, mehrere Spracherkennungssysteme zu kombinieren, um die Genauigkeit der Spracherkennung zu verbessern, einschließlich des Auswählens von Ausgaben niedriger Ebene von den akustischen Modellen unterschiedlicher Spracherkennungsmodelle oder des Auswählens einer gesamten Menge von Ausgaben von unterschiedlichen Spracherkennungs-Engines basierend auf einem vorbestimmten Einstufungsprozess. Die Kombinationen niedriger Ebene von Ausgaben mehrerer Spracherkennungssysteme bewahren linguistische Informationen hoher Ebene jedoch nicht. Bei anderen Ausführungsformen erzeugen mehrere Spracherkennungs-Engines vollständige Spracherkennungsergebnisse, aber der Bestimmungsprozess, welches Spracherkennungsergebnis in den Ausgaben mehrerer Spracherkennungs-Engines auszuwählen ist, ist auch ein anspruchsvolles Problem. Dementsprechend würden Verbesserungen an Spracherkennungssystemen von Vorteil sein, die die Genauigkeit der Auswahl von Spracherkennungsergebnissen aus einer Menge von Kandidatenspracherkennungsergebnissen von mehreren Spracherkennungs-Engines verbessern.
  • KURZDARSTELLUNG
  • Bei einer Ausführungsform ist ein Verfahren zum Durchführen einer Spracherkennung in einem automatisierten System entwickelt worden. Das Verfahren beinhaltet Erzeugen, mit einer Steuerung, mehrerer Merkmalsvektoren, wobei jeder Merkmalsvektor einem Kandidatenspracherkennungsergebnis in mehreren Kandidatenspracherkennungsergebnissen entspricht. Das Erzeugen eines ersten Merkmalsvektors in den mehreren Merkmalsvektoren für ein erstes Kandidatenspracherkennungsergebnis in den mehreren Kandidatenspracherkennungsergebnissen beinhaltet ferner Identifizieren, mit der Steuerung, mindestens eines Auslösepaares, das zwei vorbestimmte Auslösewörter beinhaltet, im ersten Kandidatenspracherkennungsergebnis, bezüglich mehrerer vorbestimmter Auslösepaare, die in einem Speicher gespeichert sind, und Erzeugen, mit der Steuerung, des ersten Merkmalsvektors einschließlich eines Elements für mindestens ein Auslösepaar. Das Verfahren beinhaltet ferner Bereitstellen, mit der Steuerung, der mehreren Merkmalsvektoren als Eingaben in ein neuronales Netzwerk, Erzeugen, mit der Steuerung, mehrerer Einstufungsbewertungen, die den mehreren Merkmalsvektoren entsprechen, für die mehreren Kandidatenspracherkennungsergebnisse basierend auf einer Ausgabeschicht des neuronalen Netzwerks und Betreiben, mit der Steuerung, des automatisierten Systems unter Verwendung des Kandidatenspracherkennungsergebnisses in den mehreren Kandidatenspracherkennungsergebnissen, das einer höchsten Einstufungsbewertung in den mehreren Einstufungsbewertungen entspricht, als Eingabe.
  • Bei einer anderen Ausführungsform ist ein Verfahren zum Trainieren einer Neuronales-Netzwerk-Einstufungsvorrichtung entwickelt worden, die Einstufungsbewertungen für unterschiedliche Kandidatenspracherkennungsergebnisse in einem automatisierten Spracherkennungssystem erzeugt. Das Verfahren beinhaltet Erzeugen, mit einem Prozessor, mehrerer Merkmalsvektoren, wobei jeder Merkmalsvektor einem Trainingsspracherkennungsergebnis in mehreren Trainingsspracherkennungsergebnissen entspricht, die in einem Speicher gespeichert sind. Das Erzeugen eines ersten Merkmalsvektors in den mehreren Merkmalsvektoren für ein erstes Trainingsspracherkennungsergebnis in den mehreren Trainingsspracherkennungsergebnissen beinhaltet ferner Identifizieren, mit dem Prozessor, mindestens eines Auslösepaares, das zwei vorbestimmte Auslösewörter beinhaltet, im ersten Trainingsspracherkennungsergebnis, bezüglich mehrerer vorbestimmter Auslösepaare, die in einem Speicher gespeichert sind, und Erzeugen, mit dem Prozessor, des ersten Merkmalsvektors einschließlich eines Elements für das mindestens eine Auslösepaar. Das Verfahren beinhaltet ferner Durchführen, mit dem Prozessor, eines Trainingsprozesses für eine Neuronales-Netzwerk-Einstufungsvorrichtung unter Verwendung der mehreren Merkmalsvektoren, die den mehreren Trainingsspracherkennungsergebnissen entsprechen, als Eingaben in die Neuronales-Netzwerk-Einstufungsvorrichtung, mehrerer Ausgabebewertungen, die durch die Neuronales-Netzwerk-Einstufungsvorrichtung während des Trainingsprozesses erzeugt werden, und mehrerer Zielergebnisse basierend auf vorbestimmten Editierdistanzen zwischen den mehreren Trainingsspracherkennungsergebnissen und vorbestimmten korrekten Eingaben für jede Trainingsspracherkennung in den mehreren Spracherkennungsergebnissen, und Speichern, mit dem Prozessor, der Neuronales-Netzwerk-Einstufungsvorrichtung im Speicher nach Beendigung des Trainingsprozesses zur Verwendung bei der Erzeugung von Einstufungsbewertungen für zusätzliche Merkmalsvektoren, die Spracherkennungsergebnissen entsprechen, die nicht in den mehreren Trainingsspracherkennungsergebnissen vorhanden sind.
  • Bei einer anderen Ausführungsformen ist ein automatisiertes Spracherkennungssystem entwickelt worden. Das System beinhaltet einen Speicher und eine Steuerung, die funktionsfähig mit dem Speicher verbunden ist. Der Speicher ist dazu ausgelegt, mehrere vorbestimmte Auslösepaare zu speichern, wobei jedes Auslösepaar zwei Wörter beinhaltet; und ein neuronales Netzwerk ist dazu ausgelegt, Einstufungsbewertungen zu erzeugen, die mehreren Kandidatenspracherkennungsergebnissen entsprechen. Die Steuerung ist dazu ausgelegt, mehrere Merkmalsvektoren zu erzeugen, wobei jeder Merkmalsvektor einem Kandidatenspracherkennungsergebnis in mehreren Kandidatenspracherkennungsergebnissen entspricht, wobei die Erzeugung eines ersten Merkmalsvektors in den mehreren Merkmalsvektoren für ein erstes Kandidatenspracherkennungsergebnis in den mehreren Kandidatenspracherkennungsergebnissen ist. Die Steuerung ist ferner dazu ausgelegt, mindestens ein Auslösepaar, das zwei vorbestimmte Auslösewörter beinhaltet, im ersten Kandidatenspracherkennungsergebnis zu identifizieren, bezüglich mehrerer vorbestimmter Auslösepaare, die in einem Speicher gespeichert sind, und den ersten Merkmalsvektor einschließlich eines Elements für das mindestens eine Auslösepaar zu erzeugen. Die Steuerung ist ferner dazu ausgelegt, die mehrere Merkmalsvektoren als Eingaben in das neuronale Netzwerk bereitzustellen, mehrere Einstufungsbewertungen, die den mehreren Merkmalsvektoren entsprechen, für die mehreren Kandidatenspracherkennungsergebnisse basierend auf einer Ausgabeschicht des neuronalen Netzwerks zu erzeugen und das automatisierte System unter Verwendung des Kandidatenspracherkennungsergebnisses in den mehreren Kandidatenspracherkennungsergebnissen, das einer höchsten Einstufungsbewertung in den mehreren Einstufungsbewertungen entspricht, als Eingabe zu betreiben.
  • Figurenliste
    • 1 ist eine schematische Ansicht von Komponenten eines automatisierten Systems, das Spracheingabebefehle von einem Benutzer empfängt, wie in einem fahrzeuginternen Informationssystem in einem Fahrgastraum eines Fahrzeugs umgesetzt.
    • 2 ist ein Blockdiagramm eines Prozesses zur Verwendung einer Neuronales-Netzwerk-Einstufungsvorrichtung, um Einstufungsbewertungen für mehrere Kandidatenspracherkennungsergebnisse während eines Spracherkennungsprozesses zu erzeugen.
    • 3 ist eine schematische Ansicht eines Rechensystems, das einen Trainingsprozess zum Erzeugen der trainierten Neuronales-Netzwerk-Einstufungsvorrichtung von 1 und 2 durchführt.
    • 4 ist ein Blockdiagramm eines Prozesses zum Erzeugen einer trainierten Neuronales-Netzwerk-Einstufungsvorrichtung.
    • 5 ist ein Diagramm, das die Struktur eines Merkmalsvektors, der aus einem Spracherkennungsergebnis erzeugt wird, und die Struktur einer Neuronales-Netzwerk-Einstufungsvorrichtung abbildet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Um ein Verständnis der Prinzipien der hier offenbarten Ausführungsformen zu fördern, wird nun auf die Zeichnungen und Beschreibungen in der folgenden schriftlichen Patentschrift Bezug genommen. Es ist keine Beschränkung des Schutzumfangs des Gegenstands durch die Bezugnahmen beabsichtigt. Die vorliegende Offenbarung beinhaltet auch Abwandlungen und Modifikationen an den veranschaulichten Ausführungsformen und beinhaltet ferner Anwendungen der Prinzipien der offenbarten Ausführungsformen, wie sie einem Fachmann auf dem Gebiet hinsichtlich dieser Offenbarung normalerweise ersichtlich sind.
  • Wie hierin verwendet, bezieht sich der Ausdruck „Spracherkennungs-Engine“ auf ein Datenmodell und einen ausführbaren Programmcode, das bzw. der einem computergestützten System ermöglicht, gesprochene Wörter von einem Betreiber basierend auf aufgezeichneten Audioeingabedaten der gesprochenen Wörter, die über ein Mikrofon oder eine andere Audioeingabeeinrichtung empfangen werden, zu identifizieren. Spracherkennungssysteme beinhalten häufig ein akustisches Modell niedrigerer Ebene, das die individuellen Töne einer menschlichen Sprache in einer Tonaufzeichnung erkennt, und Sprachmodelle höherer Ebene, die Wörter und Sätze basierend auf Sequenzen der Töne vom akustischen Modell für eine vorbestimmte Sprache erkennen. Spracherkennungs-Engines, die im Stand der Technik bekannt sind, implementieren typischerweise ein oder mehrere statistische Modelle, wie etwa zum Beispiel ein Hidden-Markov-Modell (HMM), eine Support Vector Machine (SVM Stützvektormaschine), ein trainiertes neuronales Netzwerk oder ein anderes statistisches Modell, das statistische Vorhersagen für aufgezeichnete menschliche Sprache unter Verwendung von mehreren trainierten Parametern erzeugt, die an einem Merkmalsvektor von Eingabedaten angewendet werden, die der menschlichen Sprache entsprechen. Die Spracherkennungs-Engine erzeugt den Merkmalsvektor unter Verwendung von zum Beispiel verschiedenen Signalverarbeitungstechniken, die im Stand der Technik bekannt sind und Eigenschaften („Merkmale“) des aufgezeichneten Sprachsignals extrahieren und die Merkmale in einen eindimensionalen oder mehrdimensionalen Vektor organisieren, der unter Verwendung des statistischen Modells verarbeitet werden kann, um verschiedene Teile der Sprache, einschließlich individueller Wörter und Sätze, zu identifizieren. Spracherkennungs-Engines können Ergebnisse für Spracheingaben erzeugen, die individuellen gesprochenen Phonemen und komplexeren Tonmustern, einschließlich gesprochenen Wörtern und Sätzen, die Sequenzen von zugehörigen Wörtern beinhalten, entsprechen.
  • Wie hierin verwendet, bezieht sich der Ausdruck „Spracherkennungsergebnis“ auf eine maschinenlesbare Ausgabe, die die Spracherkennungs-Engine für eine gegebene Eingabe erzeugt. Das Ergebnis kann zum Beispiel Text sein, der in einem maschinenlesbaren Format codiert ist, oder eine andere Menge von codierten Daten sein, die als Eingaben dienen, um den Betrieb eines automatisierten Systems zu steuern. Aufgrund der statistischen Art von Spracherkennungs-Engines erzeugt die Sprach-Engine bei manchen Konfigurationen mehrere potenzielle Spracherkennungsergebnisse für eine einzige Eingabe. Die Sprach-Engine erzeugt außerdem eine „Konfidenzbewertung“ für jedes Spracherkennungsergebnis, wobei die Konfidenzbewertung eine statistische Schätzung der Wahrscheinlichkeit ist, dass jedes Spracherkennungsergebnis genau ist, basierend auf dem trainierten statistischen Modell der Spracherkennungs-Engine. Wie unten ausführlicher beschrieben, verwendet ein hybrides Spracherkennungssystem Spracherkennungsergebnisse, die durch mehrere Spracherkennungs-Engines erzeugt werden, erzeugt zusätzliche hybride Spracherkennungsergebnisse und erzeugt schließlich mindestens ein Ausgabespracherkennungsergebnis basierend auf den mehreren zuvor erzeugten Spracherkennungsergebnissen. Wie hierin verwendet, bezieht sich der Ausdruck „Kandidatenspracherkennungsergebnis“ oder einfacher „Kandidatenergebnis“ auf ein Spracherkennungsergebnis, das ein Kandidat für das endgültige Spracherkennungsergebnis vom hybriden Spracherkennungssystem ist, das mehrere Kandidatenergebnisse erzeugt und nur eine Teilmenge (typischerweise eines) der Ergebnisse als das endgültige Spracherkennungsergebnis auswählt. Bei verschiedenen Ausführungsformen beinhalten Kandidatenspracherkennungsergebnisse sowohl die Spracherkennungsergebnisse von Allgemeinzweck- und domänenspezifischen Spracherkennungs-Engines als auch hybride Spracherkennungsergebnisse, die das System 100 unter Verwendung von Wörtern von mehreren Kandidatenspracherkennungsergebnissen erzeugt.
  • Wie hierin verwendet, bezieht sich der Ausdruck „Allgemeinzweck-Spracherkennungs-Engine“ auf eine Art von Spracherkennungs-Engine, die trainiert ist, einen breiten Bereich von Sprache aus einer natürlichen menschlichen Sprache, wie etwa Englisch oder Chinesisch, zu erkennen. Die Allgemeinzweck-Spracherkennungs-Engines erzeugen Spracherkennungsergebnisse basierend auf einem breiten Vokabular von Wörtern und einem Sprachmodell, das trainiert ist, linguistische Muster in einer natürlichen Sprache weitgehend abzudecken. Wie hierin verwendet, bezieht sich der Ausdruck „domänenspezifische Spracherkennungs-Engine“ auf eine Art von Spracherkennungs-Engine, die trainiert ist, Spracheingaben in einem speziellen Verwendungsbereich oder einer „Domäne“ zu erkennen, der bzw. die häufig ein Vokabular und grammatische Strukturen beinhaltet, das bzw. die sich von breiteren natürlichen Sprachen etwas unterscheidet bzw. potenziell anders erwartet werden. Das Vokabular für eine spezifische Domäne beinhaltet typischerweise manche Ausdrücke von einer breiteren natürlichen Sprache, kann aber ein begrenzteres Gesamtvokabular beinhalten, und beinhaltet in manchen Fällen spezialisierte Ausdrücke, die nicht offiziell als offizielle Wörter in einer natürlichen Sprache erkannt werden, aber für eine spezielle Domäne wohl bekannt sind. In einer Navigationsanwendung kann eine domänenspezifische Spracherkennung zum Beispiel Ausdrücke für Straßen, Städte oder andere geographische Bezeichnungen erkennen, die nicht typischerweise als Eigennamen in einer allgemeineren Sprache erkannt werden. Bei anderen Konfigurationen verwendet eine spezielle Domäne eine spezielle Menge an Jargon, der für eine spezielle Domäne nützlich ist, aber in einer breiteren Sprache möglicherweise nicht gut erkannt wird. Piloten verwenden zum Beispiel offiziell Englisch als eine Kommunikationssprache, setzen aber auch eine große Anzahl von domänenspezifischen Jargonwörtern und andere Abkürzungen ein, die nicht Teil des standardmäßigen Englisch sind.
  • Wie hierin verwendet, bezieht sich der Ausdruck „Auslösepaar“ auf zwei Wörter, die jeweils entweder ein Wort (z. B. „abspielen“) oder eine vorbestimmte Klasse (z. B. <Liedname>) sein können, die eine Wortsequenz (z. B. „Poker Face“) repräsentieren, die in die vorbestimmte Klasse, wie etwa den Eigennamen eines Liedes, einer Person, Ortsname usw., fällt. Wörter im Auslösepaar, die, wenn sie in einer spezifischen Reihenfolge in Wörtern im Satztextinhalt eines Spracherkennungsergebnisses auftreten, besitzen einen hohen Grad an Korrelation zwischen dem Auftreten eines späteren Wortes B in Situationen, in denen ein früheres Wort A in Audioeingabedaten für ein Auslösepaar von A →B beobachtet wird. Wie unten ausführlicher beschrieben, bildet, nach einer Identifikation einer Menge von Auslösepaaren über einen Trainingsprozess, das Auftreten von Auslösewortpaaren im Text von Kandidatenspracherkennungsergebnissen einen Teil eines Merkmalsvektors für jedes Kandidatenergebnis, den ein Einstufungsprozess verwendet, um unterschiedliche Kandidatenspracherkennungsergebnisse einzustufen.
  • Inferenzsystem und Einstufungsprozess unter Verwendung einer trainierten Neuronales-Netzwerk-Einstufungsvorrichtung
  • 1 bildet ein fahrzeuginternes Informationssystem 100 ab, das ein Head-Up-Display (HUD) 120, ein oder mehrere Konsolen-LCD-Felder 124, ein oder mehrere Eingabemikrofone 128 und einen oder mehrere Ausgabelautsprecher 132 beinhaltet. Die LCD-Anzeige 124 und das HUD 120 erzeugen visuelle Ausgaberückmeldungen vom System 100 zumindest teilweise basierend auf Spracheingabebefehlen, die das System 100 von einem Betreiber oder einem anderen Insassen des Fahrzeugs empfängt. Eine Steuerung 148 ist funktionsfähig mit jeder der Komponenten im fahrzeuginternen Informationssystem 100 verbunden. Bei manchen Ausführungsformen ist die Steuerung 148 mit zusätzlichen Komponenten, wie etwa einem Empfänger 152 eines globalen Positionierungssystems (GPS) und einer drahtlosen Netzwerkeinrichtung 154, verbunden oder integriert diese, um Navigation und Kommunikation mit externen Datennetzwerken und Recheneinrichtungen bereitzustellen.
  • In manchen Betriebsmodi arbeitet das fahrzeuginterne Informationssystem 100 unabhängig, während das fahrzeuginterne Informationssystem 100 in anderen Betriebsmodi mit einer mobilen elektronischen Einrichtung, wie etwa einem Smartphone 170, einem Tablet, einem Notebook-Computer oder einer anderen elektronischen Einrichtung, interagiert. Das fahrzeuginterne Informationssystem kommuniziert mit dem Smartphone 170 unter Verwendung einer verdrahteten Schnittstelle, wie etwa USB, oder einer drahtlosen Schnittstelle, wie etwa Bluetooth. Das fahrzeuginterne Informationssystem 100 stellt eine Spracherkennungsbenutzerschnittstelle bereit, die dem Betreiber ermöglicht, das Smartphone 170 oder eine andere mobile elektronische Kommunikationseinrichtung unter Verwendung von gesprochenen Befehlen zu steuern, die eine Ablenkung während des Betreibens des Fahrzeugs reduzieren. Das fahrzeuginterne Informationssystem 100 stellt zum Beispiel eine Sprachschnittstelle bereit, um dem Fahrzeugbetreiber zu ermöglichen, mit dem Smartphone 170 Telefonanrufe zu tätigen oder Textnachrichten zu senden, ohne zu erfordern, dass der Betreiber das Smartphone 170 hält oder darauf schaut. Bei manchen Ausführungsformen beinhaltet das Smartphone 170 verschiedene Einrichtungen, wie etwa GPS- und drahtlose Vernetzungseinrichtungen, die die Funktionalität von Einrichtungen, die im Fahrzeug untergebracht sind, komplementieren oder ersetzen.
  • Das Mikrofon 128 erzeugt Audiodaten aus einer gesprochenen Eingabe, die vom Fahrzeugbetreiber oder einem anderen Fahrzeugmitfahrer empfangen wird. Die Steuerung 148 beinhaltet Hardware, wie etwa DSPs, die die Audiodaten verarbeiten, und Softwarekomponenten, um die Eingangssignale vom Mikrofon 128 in Audioeingabedaten umzuwandeln. Wie unten dargelegt, verwendet die Steuerung 148 mindestens eine Allgemeinzweck- und mindestens eine domänenspezifische Spracherkennungs-Engine, um Kandidatenspracherkennungsergebnisse basierend auf den Audioeingabedaten zu erzeugen, und die Steuerung 148 verwendet ferner eine Einstufungsvorrichtung, um die Genauigkeit der endgültigen Spracherkennungsergebnisausgabe zu verbessern. Zusätzlich dazu beinhaltet die Steuerung 148 Hardware- und Softwarekomponenten, die eine Erzeugung von synthetisierter Sprache oder einer anderen Audioausgabe durch die Lautsprecher 132 ermöglichen.
  • Das fahrzeuginterne Informationssystem 100 liefert eine visuelle Rückmeldung zum Fahrzeugbetreiber unter Verwendung des LCD-Feldes 124, des HUD 120, das auf die Windschutzscheibe 102 projiziert wird, und durch Messinstrumente, Indikatorlichter oder zusätzliche LCD-Felder, die sich im Armaturenbrett 108 befinden. Wenn sich das Fahrzeug in Bewegung befindet, deaktiviert die Steuerung 148 optional das LCD-Feld 124 oder zeigt nur eine vereinfachte Ausgabe über das LCD-Feld 124 an, um eine Ablenkung des Fahrzeugbetreibers zu reduzieren. Die Steuerung 148 zeigt eine visuelle Rückmeldung unter Verwendung des HUD 120 an, um dem Betreiber zu ermöglichen, die Umgebung um das Fahrzeug herum anzusehen, während er eine visuelle Rückmeldung empfängt. Die Steuerung 148 zeigt typischerweise vereinfachte Daten auf dem HUD 120 in einem Gebiet an, das dem peripheren Sichtfeld des Fahrzeugbetreibers entspricht, um zu gewährleisten, dass der Fahrzeugbetreiber eine uneingeschränkte Sicht auf die Straße und Umgebung um das Fahrzeug hat.
  • Wie oben beschrieben, zeigt das HUD 120 visuelle Informationen auf einem Teil der Windschutzscheibe 120 an. Wie hierin verwendet, bezieht sich der Ausdruck „HUD“ allgemein auf einen breiten Bereich von Head-Up-Display-Einrichtungen, einschließlich unter anderem kombinierter Head-Up-Displays (CHUDs), die ein separates Kombiniererelement beinhalten, und dergleichen. Bei manchen Ausführungsformen zeigt das HUD 120 monochromatischen Text und monochromatische Grafiken an, während andere HUD-Ausführungsformen mehrfarbige Anzeigen beinhalten. Obwohl das HUD 120 als auf der Windschutzscheibe 102 angezeigt abgebildet ist, ist eine Head-Up-Einheit bei alternativen Ausführungsformen mit einer Brille, einem Helmvisier oder einer Fadenkreuz-Einheit integriert, die bzw. das der Betreiber während des Betriebs trägt.
  • Die Steuerung 148 beinhaltet eine oder mehrere integrierte Schaltungen, die als eine/ein Zentralverarbeitungseinheit (CPU: Central Processing Unit), grafische Verarbeitungseinheit (GPU: Graphical Processing Unit), Mikrocontroller, feldprogrammierbares Gate-Array (FPGA: Field Programmable Gate Array), anwendungsspezifische integrierte Schaltung (ASIC: Application Specific Integrated Circuit), Digitalsignalprozessor (DSP) oder als eine Kombination davon oder als eine beliebige andere geeignete digitale Logikeinrichtung konfiguriert sind. Die Steuerung 148 beinhaltet außerdem einen Speicher, wie etwa eine Festkörper- oder magnetische Datenspeicherungseinrichtung, die programmierte Anweisungen für den Betrieb des fahrzeuginternen Informationssystems 100 speichert.
  • Während des Betriebs empfängt das fahrzeuginterne Informationssystem 100 Eingabeanforderungen von mehreren Eingabeeinrichtungen, einschließlich Spracheingabebefehlen, die über das Mikrofon 128 empfangen werden. Insbesondere empfängt die Steuerung 148 Audioeingabedaten, die Sprache von einem Benutzer entsprechen, über das Mikrofon 128.
  • Die Steuerung 148 beinhaltet eine oder mehrere integrierte Schaltungen, die als eine Zentralverarbeitungseinheit (CPU: Central Processing Unit), ein Mikrocontroller, ein feldprogrammierbares Gate-Array (FPGA: Field Programmable Gate Array), eine anwendungsspezifische integrierte Schaltung (ASIC: Application Specific Integrated Circuit), ein Digitalsignalprozessor (DSP) oder eine beliebige andere geeignete digitale Logikeinrichtung konfiguriert sind. Die Steuerung 148 ist außerdem funktionsfähig mit einem Speicher 160 verbunden, der eine nichtflüchtige Festkörper- oder magnetische Datenspeicherungseinrichtung und eine flüchtige Datenspeicherungseinrichtung, wie etwa einen Direktzugriffsspeicher (RAM Random Access Memory), beinhaltet, die programmierte Anweisungen für den Betrieb des fahrzeuginternen Informationssystems 100 speichert. Der Speicher 160 speichert Modelldaten und ausführbaren Programmanweisungscode und Daten zum Implementieren mehrerer Spracherkennungs-Engines 162, eines Merkmalsextraktors 164 und einer Tiefes-Neuronales-Netzwerk-Einstufungsvorrichtung 166. Die Spracherkennungs-Engines 162 werden unter Verwendung eines vorbestimmten Trainingsprozesses trainiert und die Spracherkennungs-Engines 162 sind anderweitig im Stand der Technik bekannt. Obwohl die Ausführungsform von 1 Elemente beinhaltet, die im Speicher 160 des Systems 100 in einem Kraftfahrzeug gespeichert sind, implementiert bei manchen Ausführungsformen eine externe Recheneinrichtung, wie etwa ein netzwerkverbundener Server, manche oder alle der Merkmale, die im System 100 abgebildet sind. Somit werden Fachleute erkennen, dass eine beliebige Referenz auf den Betrieb des Systems 100, das die Steuerung 148 und den Speicher 160 beinhaltet, bei alternativen Ausführungsformen des Systems 100 ferner den Betrieb der Serverrecheneinrichtungen und anderer verteilter Rechenkomponenten beinhalten sollte.
  • Bei der Ausführungsform von 1 ist der Merkmalsextraktor 164 dazu ausgelegt, einen Merkmalsvektor mit mehreren numerischen Elementen zu erzeugen, die den Inhalten jedes Kandidatenspracherkennungsergebnisses entsprechen, einschließlich der Spracherkennungsergebnisse, die durch eine der Spracherkennungs-Engines 162 erzeugt werden oder hybrider Spracherkennungsergebnisse, die Wörter von zwei oder mehr der Spracherkennungs-Engines 162 kombinieren. Der Merkmalsextraktor 164 erzeugt einen Merkmalsvektor einschließlich Elemente für ein beliebiges oder eine Kombination der folgenden Merkmale: (a) Auslösepaare, (b) Konfidenzbewertungen und (c) individuelle Wortebene-Merkmale einschließlich Bag-of-Words-mit-Abklingen-Merkmalen.
  • Im System 100 beinhalten die Auslösepaare, die im Merkmalsextraktor 164 gespeichert sind, jeweils eine vorbestimmte Menge von zwei Wörtern, die zuvor als eine starke Korrelation in Spracheingabesequenzen von einem Trainings-Korpus, der die Struktur von erwarteten Spracheingaben repräsentiert, aufweisend identifiziert worden sind. Ein erstes Auslösewort besitzt eine hohe statistische Wahrscheinlichkeit, dass ihm ein zweites Auslösewort im Auslösepaar in einer Spracheingabe folgt, obwohl die Wörter in unterschiedlichen Spracheingaben durch eine unbestimmte Anzahl von Zwischenwörtern getrennt sein können. Falls somit ein Spracherkennungsergebnis die Auslösewörter enthält, ist die Wahrscheinlichkeit, dass diese Auslösewörter im Spracherkennungsergebnis genau sind, aufgrund der statistischen Korrelation zwischen dem ersten und zweiten Auslösewort vergleichsweise hoch. Im System 100 werden die Auslösewörter basierend auf einer gegenseitigen Informationsbewertung unter Verwendung von statistischen Verfahren, die im Stand der Technik bekannt sind, erzeugt. Der Speicher 160 speichert eine vorbestimmte Menge von N Auslösepaarelementen im Merkmalsvektor, die Auslösepaaren mit hohen Korrelationsgraden zwischen dem ersten Wort und dem zweiten Wort basierend auf Mengen von Auslösewörtern mit hohen gegenseitigen Informationsbewertungen entsprechen. Wie unten beschrieben, liefern die Auslösewortpaare zusätzliche Merkmale von Spracherkennungsergebnissen zu der Neuronales-Netzwerk-Einstufungsvorrichtung 166, die der Neuronales-Netzwerk-Einstufungsvorrichtung 166 ermöglichen, die Spracherkennungsergebnisse unter Verwendung zusätzlicher Merkmale der Spracherkennungsergebnisse, die über die Wörter hinausgehen, die im Spracherkennungsergebnis vorhanden sind, einzustufen.
  • Die Konfidenzbewertungsmerkmale entsprechen numerischen Konfidenzbewertungswerten, die die Spracherkennungs-Engines 162 in Verbindung mit jedem Kandidatenspracherkennungsergebnis erzeugen. Bei einer Konfiguration gibt zum Beispiel ein numerischer Wert im Bereich von (0,0, 1,0) ein probalistisches Konfidenzniveau an, das eine Spracherkennungs-Engine auf die Genauigkeit eines speziellen Kandidatenspracherkennungsergebnisses legt, von der niedrigsten Konfidenz (0,0) zur höchsten Konfidenz (1,0). Jedem der hybriden Kandidatenspracherkennungsergebnisse, das Wörter von zwei oder mehr Spracherkennungs-Engines enthält, wird eine Konfidenzbewertung zugewiesen, die ein normierter Mittelwert der Konfidenzbewertungen der Kandidatenspracherkennungsergebnisse ist, die die Steuerung 148 zum Erzeugen des anvisierten hybriden Spracherkennungsergebnisses verwendet.
  • Im System 100 normiert die Steuerung 148 außerdem Konfidenzbewertungswerte für Spracherkennungsergebnisse, die durch unterschiedliche Spracherkennungs-Engines erzeugt werden, und führt Whitening an diesen durch, um die endgültigen Merkmalsvektorelemente einschließlich normierter Konfidenzbewertungen, an denen Whitening durchgeführt wurde, zu erzeugen, die zwischen den Ausgaben der mehreren Spracherkennungs-Engines 162 einheitlich sind. Die Steuerung 148 normiert die Konfidenzbewertungen unterschiedlicher Spracherkennungs-Engines unter Verwendung einer Normierungsprozedur und wendet dann ein Whitening an den normierten Konfidenzbewertungswerten gemäß dem Mittelwert und der Varianz, die an den Trainingsdaten unter Verwendung einer Whitening-Technik des Stands der Technik geschätzt werden, an. Bei einer Ausführungsform normiert die Steuerung 148 die Konfidenzbewertungen zwischen unterschiedlichen Spracherkennungs-Engines unter Verwendung eines linearen Regressionsprozesses. Die Steuerung 148 unterteilt zuerst die Konfidenzbewertungsbereiche in eine vorbestimmte Anzahl von Unterteilungen oder „Bins“, wie etwa zwanzig eindeutige Bins für die beiden Spracherkennungs-Engines A und B. Die Steuerung 148 identifiziert dann die tatsächlichen Genauigkeitsraten für verschiedene Spracherkennungsergebnisse, die jedem Bin von Bewertungen entsprechen, basierend auf den beobachteten Spracherkennungsergebnissen und den tatsächlichen zugrundeliegenden Eingaben, die während des Trainingsprozesses vor dem Prozess 200 verwendet wurden. Die Steuerung 148 führt eine Clustering-Operation der Konfidenzbewertungen innerhalb vorbestimmter numerischer Fenster um „Ränder“, die Bins für jede Menge von Ergebnissen von den unterschiedlichen Spracherkennungs-Engines trennen, und identifiziert eine durchschnittliche Genauigkeitsbewertung, die jedem Randkonfidenzbewertungswert entspricht. Die „Rand“-Konfidenzbewertungen werden entlang des Konfidenzbewertungsbereichs jeder Spracherkennungs-Engine gleichmäßig verteilt und stellen eine vorbestimmte Anzahl von Vergleichspunkten bereit, um eine lineare Regression durchzuführen, die die Konfidenzbewertungen einer ersten Spracherkennungs-Engine auf Konfidenzbewertungen einer anderen Spracherkennungs-Engine, die ähnliche Genauigkeitsraten aufweisen, abbildet.
  • Die Steuerung 148 verwendet die identifizierten Genauigkeitsdaten für jede Randbewertung, um eine lineare Regressionsabbildung durchzuführen, die der Steuerung 148 ermöglicht, eine Konfidenzbewertung von einer ersten Spracherkennungs-Engine zu einem anderen Konfidenzbewertungswert umzuwandeln, der einer äquivalenten Konfidenzbewertung von einer zweiten Spracherkennungs-Engine entspricht. Das Abbilden einer Konfidenzbewertung von einer ersten Spracherkennungs-Engine zu einer anderen Konfidenzbewertung von einer anderen Spracherkennung wird auch als ein Bewertungsabgleichprozess bezeichnet, und bei manchen Ausführungsformen bestimmt die Steuerung 148 eine Abgleichung einer Konfidenzbewertung von einer ersten Spracherkennungs-Engine mit einer zweiten Spracherkennungs-Engine unter Verwendung der folgenden Gleichung: x ' = e i ' + ( x e i ) ( e i + 1 e i ) ( e i + 1 ' e i ' )
    Figure DE112017004397T5_0001
    Wobei x die Bewertung von der ersten Spracherkennungs-Engine ist, x' der äquivalente Wert von x innerhalb des Konfidenzbewertungsbereichs der zweiten Spracherkennungs-Engine ist, die Werte ei und ei+1 den geschätzten Genauigkeitsbewertungen für unterschiedliche Randwerte entsprechen, die dem Wert x für die erste Spracherkennungs-Engine am nächsten liegen (z. B. den geschätzten Genauigkeitsbewertungen für Randwerte 20 und 25 um eine Konfidenzbewertung von 22 herum) und die Werte ei' und ei+1' den geschätzten Genauigkeitsbewertungen bei denselben relativen Randwerten für die zweite Spracherkennungs-Engine entsprechen.
  • Bei manchen Ausführungsformen speichert die Steuerung 148 die Ergebnisse der linearen Regression im Merkmalsextraktor 164 im Speicher 160 als eine Nachschlagetabelle oder eine andere geeignete Datenstruktur, um eine effiziente Normierung von Konfidenzbewertungen zwischen den unterschiedlichen Spracherkennungs-Engines 162 zu ermöglichen, ohne die lineare Regression für jeden Vergleich erneut erzeugen zu müssen.
  • Die Steuerung 148 verwendet auch den Merkmalsextraktor 164, um Wortebene-Merkmale in den Kandidatenspracherkennungsergebnissen zu identifizieren. Die Wortebene-Merkmale entsprechen Daten, die die Steuerung 148 in Elemente eines Merkmalsvektors platziert, die den Charakteristiken individueller Wörter in den Kandidatenspracherkennungsergebnissen entsprechen. Bei einer Ausführungsform identifiziert die Steuerung 148 lediglich das Vorhandensein oder Nichtvorhandensein mehrerer vorbestimmter vokabularinterner Wörter, die individuellen Elementen eines vorbestimmten Merkmalsvektors entsprechen, in jedem Kandidatenspracherkennungsergebnis. Falls das Wort „Straße“ mindestens einmal im Kandidatenspracherkennungsergebnis auftritt, dann setzt die Steuerung 148 zum Beispiel den Wert des entsprechenden Elements im Merkmalsvektor während des Merkmalsextraktionsprozesses auf 1. Bei einer anderen Ausführungsform identifiziert die Steuerung 148 die Häufigkeit jedes Wortes, wobei sich „Häufigkeit“, wie hierin verwendet, auf die Anzahl von Malen bezieht, die ein einzelnes Wort in einem Kandidatenspracherkennungsergebnis auftritt. Die Steuerung 148 platziert die Anzahl von Vorkommnissen des Wortes in das entsprechende Element des Merkmalsvektors.
  • Bei noch einer anderen Ausführungsform erzeugt der Merkmalsextraktor 164 ein „Bagof-Words-mit-Abklingen (Bag-of-Words with Decay)-Merkmal“ für das Element im Merkmalsvektor, das jedem Wort in einem vorbestimmten Vokabular entspricht. Der Ausdruck „Bag-of-Words-mit-Abklingen“-Merkmal, wie hierin verwendet, bezieht sich auf eine numerische Bewertung, die die Steuerung 148 jedem Wort in dem vorbestimmten Vokabular angesichts eines Kandidatenspracherkennungsergebnisses basierend auf den Malen des Auftretens und der Positionen des Wortes im Ergebnis zuweist. Die Steuerung 148 erzeugt die Bag-of-Words-mit-Abklingen-Bewertung für jedes Wort im Kandidatenspracherkennungsergebnis, das im vorbestimmten Vokabular liegt, und weist der Bag-of-Words-mit-Abklingen-Bewertung Null für jene vokabularinternen Wörter zu, die nicht im Kandidatenergebnis auftreten. Bei manchen Ausführungsformen beinhaltet das vorbestimmte Vokabular einen speziellen Eintrag, um jegliche vokabularexternen Wörter zu repräsentieren, und die Steuerung 148 erzeugt auch eine einzelne Bag-of-Words-mit-Abklingen-Bewertung für den speziellen Eintrag basierend auf allen vokabularexternen Wörter im Kandidatenergebnis. Für ein gegebenes Wort wi in einem vorbestimmten Wörterbuch ist die Bag-of-Words-mit-Abklingen-Bewertung: bowi = ∑p∈P'(wi)γp, wobei P'(wi) die Menge von Positionen im Kandidatenspracherkennungsergebnis ist, an denen das Wort wi auftritt, und der Ausdruck γ ein vorbestimmter numerischer Abklingfaktor in einem Bereich von (0, 1,0) ist, das heißt zum Beispiel im veranschaulichten Beispiel des Systems 100 auf 0,9 gesetzt ist.
  • 5 bildet ein Beispiel für die Struktur eines Merkmalsvektors 500 ausführlicher ab. Der Merkmalsvektor 500 beinhaltet mehrere Elemente, die Auslösepaarmerkmalen 504 entsprechen, ein Konfidenzbewertungselement 508 und mehrere andere Elemente, die den Wortebene-Merkmalen 512 entsprechen, die in 5 als Bag-of-Words-mit-Abklingen-Merkmale abgebildet sind. Im Merkmalsvektor 500 beinhalten die Auslösewortpaarmerkmale 504 ein Element für jedes der vorbestimmten Auslösepaare, wobei ein Wert von „0“ angibt, dass das Auslösepaar nicht im Kandidatenspracherkennungsergebnis vorhanden ist, und ein Wert von „1“ angibt, dass das Auslösepaar im Kandidatenspracherkennungsergebnis vorhanden ist. Das Konfidenzbewertungselement 508 ist ein einzelnes Element, das den numerischen Konfidenzbewertungswert beinhaltet, der durch die entsprechende Spracherkennungs-Engine 162 oder eine Kombination von Spracherkennungs-Engines für hybride Spracherkennungsergebnisse erzeugt wird. Die Wortebene-Merkmalselemente 512 beinhalten ein Array von Elementen, die jeweils einem speziellen Wort in einem vorbestimmten Vokabular entsprechen. Bei einer Ausführungsform beinhaltet zum Beispiel ein vorbestimmtes Wörterbuch für eine Sprache (z. B. Englisch oder Chinesisch) Wörter, die jeweils auf eines der Wortebene-Elemente 512 abgebildet sind. Bei einer Ausführungsform, die unten ausführlicher beschrieben ist, erzeugt ein Trainingsprozess ein Vokabular von Wörtern basierend auf der Häufigkeit des Auftretens der Wörter in einer großen Menge von Trainingsdaten, wobei die Wörter, die mit der höchsten Häufigkeit (z. B. die 90 % von Wörtern mit der höchsten Häufigkeit) im Trainingsdatensatz auftreten, auf die Wortebene-Elemente 512 in der Struktur des Merkmalsvektors 500 abgebildet werden.
  • Die präzise Reihenfolge von Merkmalsvektorelementen, die im Merkmalsvektor 500 abgebildet ist, ist keine Anforderung zum Repräsentieren des Auslösepaares, der Konfidenzbewertung und der Wortebene-Merkmale. Stattdessen ist eine beliebige Ordnung der Elemente im Merkmalsvektor 500 zulässig, solange die Merkmalsvektoren für alle Kandidatenspracherkennungsergebnisse unter Verwendung einer konsistenten Struktur erzeugt werden, bei der jedes Element dasselbe Auslösepaar, dieselbe Konfidenzbewertung oder dasselbe Wortebene-Merkmal unter allen Kandidatenspracherkennungsergebnissen repräsentiert.
  • Wiederum unter Bezugnahme auf 1 ist die Neuronales-Netzwerk-Einstufungsvorrichtung 166 bei der Ausführungsform von 1 ein trainiertes neuronales Netzwerk einschließlich einer Eingabeschicht von Neuronen, die mehrere Merkmalsvektoren empfängt, die einer vorbestimmten Anzahl von Kandidatenspracherkennungsergebnissen entsprechen, und einer Ausgabeschicht von Neuronen, die Einstufungsbewertungen erzeugt, die jedem der Eingabemerkmalsvektoren entsprechen. Im Allgemeinen beinhalten neuronale Netzwerke mehrere Knoten, die als „Neuronen“ bezeichnet werden. Jedes Neuron empfängt mindestens einen Eingabewert, wendet einen vorbestimmten Gewichtungsfaktor an dem Eingabewert an, wobei unterschiedliche Eingabewerte häufig unterschiedliche Gewichtungsfaktoren erhalten, und erzeugt eine Ausgabe als eine Summe der gewichteten Eingabe mit einem optionalen Bias-Faktor, der bei manchen Ausführungsformen zu der Summe addiert wird. Die präzisen Gewichtungsfaktoren für jede Eingabe und der optionale Bias-Wert in jedem Neuron werden während eines Trainingsprozesses erzeugt, der unten ausführlicher beschrieben ist. Eine Ausgabeschicht des neuronalen Netzwerks beinhaltet eine andere Menge von Neuronen, die während eines Trainingsprozesses spezifisch mit einer „Aktivierungsfunktion“ konfiguriert sind. Die Aktivierungsfunktion ist zum Beispiel eine Sigmoidfunktion oder eine andere Schwellenfunktion, die einen Ausgabewert basierend auf den Eingaben von einer finalen verdeckten Schicht von Neuronen im neuronalen Netzwerk erzeugt, wobei die präzisen Parameter der Sigmoidfunktion oder die Schwellenwerte während eines Trainingsprozesses des neuronalen Netzwerks erzeugt werden.
  • Bei der spezifischen Konfiguration von 1 ist die Neuronales-Netzwerk-Einstufungsvorrichtung 166 ein vorwärtsgekoppeltes tiefes neuronales Netzwerk, und 5 beinhaltet eine veranschaulichende Abbildung eines vorwärtsgekoppelten tiefen neuronalen Netzwerks 550. Wie im Stand der Technik bekannt ist, beinhaltet ein vorwärtsgekoppeltes neuronales Netzwerk Schichten von Neuronen, die in einer einzigen Richtung verbunden sind, angefangen von einer Eingabeschicht (Schicht554) zu einer Ausgabeschicht (Schicht 566) ohne jegliche Rekurrenz oder „Rückkopplungs“-Schleifen, die Neuronen in einer Schicht des neuronalen Netzwerks mit Neuronen in einer vorherigen Schicht des neuronalen Netzwerks verbinden. Ein tiefes neuronales Netzwerk beinhaltet mindestens eine „verdeckte Schicht“ (und typischerweise mehr als eine verdeckte Schicht) von Neuronen, die weder als die Eingabeschicht noch als die Ausgabeschicht aufgedeckt sind. In dem neuronalen Netzwerk 550 verbinden mehrere k verdeckte Schichten von Neuronen 562 die Eingabeschicht 554 mit der Ausgabeschicht 566.
  • Bei der Ausführungsform des neuronalen Netzwerks 550 beinhaltet die Eingabeschicht ferner eine Projektionsschicht 558, die vorbestimmte Matrixtransformationen an ausgewählten Mengen von Eingabemerkmalsvektorelementen anwendet, einschließlich zwei unterschiedlicher Projektionsmatrizen für die Auslösepaarelemente 504 bzw. die Wortebene-Merkmalselemente 512. Die Projektionsschicht 558 erzeugt eine vereinfachte Repräsentation der Ausgaben der Eingabeneuronen in der Eingabeschicht 554, da in den meisten praktischen Eingaben die Merkmalsvektorelemente für die Auslösepaare 504 und die Wortebene-Merkmale 512 „dünn besetzt“ sind, was bedeutet, dass jedes Kandidatenspracherkennungsergebnis nur eine kleine Anzahl (wenn überhaupt) der Auslösepaarausdrücke und eine kleine Anzahl von Wörtern in einer großen Gesamtmenge von Wörtern (z. B. 10.000 Wörter) beinhaltet, die in der Struktur des Merkmalsvektors 500 codiert sind. Die Transformationen in der Projektionsschicht 558 ermöglichen den verbleibenden Schichten des neuronalen Netzwerks 550, weniger Neuronen zu enthalten, während weiterhin nützliche Einstufungsbewertungen für die Merkmalsvektoreingaben der Kandidatenspracherkennungsergebnisse erzeugt werden. Bei einer veranschaulichenden Ausführungsform projizieren die beiden Projektionsmatrizen Pf für Auslösewortpaare und Pw für Wortebene-Merkmale jeweils die entsprechenden Eingabeneuronen in einen kleineren Vektorraum mit jeweils 200 Elementen, was eine projizierte Schicht von 401 Neuronen (wobei ein Neuron für das Konfidenzbewertungsmerkmal reserviert ist) für jeden der n Eingabemerkmalsvektoren in der Neuronales-Netzwerk-Einstufungsvorrichtung 166 erzeugt.
  • Obwohl 5 das neuronale Netzwerk 550 mit insgesamt n Eingabeslots für die Merkmalsvektoren abbildet, die n unterschiedlichen Kandidatenspracherkennungsergebnissen entsprechen, beinhaltet die Anzahl von Eingabeneuronen in die Eingabeschicht 554 ein Neuron für jedes Element im Merkmalsvektor für das Kandidatenspracherkennungsergebnis oder eine Gesamtanzahl von n(T + [0.9V] + 2) Neuronen, wobei T die Anzahl von vorbestimmten Auslösepaaren ist, die in den Kandidatenspracherkennungsergebnissen identifiziert werden, und V die Anzahl von Wörtern ist, die in dem Vokabular von erkannten Wörtern auftreten, wobei der Koeffizient von 0,9, der die Filterung des Trainingssatzes repräsentiert, nur die 90 % von Wörtern enthalten soll, die mit der höchsten Häufigkeit auftreten, wie oben beschrieben ist. Der feste Wert 2 repräsentiert ein Eingabeneuron für den Konfidenzbewertungswert und ein anderes Eingabeneuron, das als eine Auffangeingabe für beliebige Wortebene-Merkmale agiert, die nicht den vorbestimmten Wortebene-Elementen des Eingabemerkmalsvektors entsprechen, wie etwa beliebige Vokabular externe Wörter, die nicht ausdrücklich in der Neuronales-Netzwerk-Einstufungsvorrichtung 166 modelliert werden. Die Steuerung 148 erzeugt zum Beispiel den Merkmalsvektor unter Verwendung des Merkmalsextraktors 164, um eine Bag-of-Words-mit-Abklingen-Bewertung für beliebige Wörter in einem Kandidatenspracherkennungsergebnis zu erzeugen, die nicht mit einem Element in der vorbestimmten Struktur des Merkmalsvektors abgeglichen werden können. Das Element im Merkmalsvektor, das den vokabularexternen Wörtern entspricht, ermöglicht der Neuronales-Netzwerk-Einstufungsvorrichtung 166, das Vorhandensein beliebiger Wörter, die nicht in einem Standardvokabular enthalten sind, in die Erzeugung der Einstufungsbewertung für beliebige Kandidatenspracherkennungsergebnisse einzuschließen, die die vokabularexternen Wörter beinhalten.
  • Die Ausgabeschicht 566 beinhaltet weniger Ausgabeneuronen als die Eingabeschicht 554. Insbesondere beinhaltet die Ausgabeschicht 566 n Ausgabeneuronen, wobei jedes Ausgabeneuron eine numerische Einstufungsbewertung für einen entsprechenden der n Eingabemerkmalsvektoren während eines Inferenzprozesses erzeugt, der in der spezifischen Konfiguration des Systems 100 ein Einstufungsprozess zum Erzeugen von Einstufungsbewertungen für die Merkmalsvektoren ist, die den mehreren Kandidatenspracherkennungsergebnissen entsprechen. Manche Hardwareausführungsformen der Steuerung 148 beinhalten eine oder mehrere Recheneinheiten in einer GPU oder anderen spezifischen Hardwarebeschleunigerkomponenten zum Durchführen des Inferenzprozesses auf eine zeit- und leistungseffiziente Art und Weise. Bei anderen Ausführungsformen beinhaltet das System 100 ferner zusätzliche digitale Logikverarbeitungshardware, die in einem Fernserver integriert ist, auf den die Steuerung 148 unter Verwendung der drahtlosen Netzwerkeinrichtung 154 und eines Datennetzwerks zugreift. Bei manchen Ausführungsformen implementiert die Hardware im Fernserver auch einen Teil der Funktionalität für die mehreren Spracherkennungs-Engines 162. Der Server beinhaltet zusätzliche Verarbeitungshardware zum Durchführen der gesamten oder eines Teils der Merkmalsextraktions- und Neuronales-Netzwerk-Inferenzverarbeitung, um die Merkmalsvektoren und die Einstufungsbewertungen der mehreren Kandidatenspracherkennungsergebnisse zu erzeugen.
  • Während des Betriebs empfängt das System 100 Audioeingabedaten unter Verwendung des Mikrofons 128 und verwendet die mehreren Sprach-Engines 162, um mehrere Kandidatenspracherkennungsergebnisse zu erzeugen, einschließlich hybrider Spracherkennungsergebnisse, die Wörter beinhalten, die bei manchen Ausführungsformen aus zwei oder mehr der Kandidatenspracherkennungsergebnisse ausgewählt werden. Die Steuerung 148 extrahiert Merkmale aus den Kandidatenspracherkennungsergebnissen unter Verwendung des Merkmalsextraktors 164, um die Merkmalsvektoren aus den Kandidatenspracherkennungsergebnissen zu erzeugen, und stellt die Merkmalsvektoren der Neuronales-Netzwerk-Einstufungsvorrichtung 166 bereit, um Ausgabebewertungen für jeden Merkmalsvektor zu erzeugen. Die Steuerung 148 identifiziert dann den Merkmalsvektor und das Kandidatenspracherkennungsergebnis, das der höchsten Einstufungsbewertung entspricht, und die Steuerung 148 betreibt das automatisierte System unter Verwendung des Kandidatenspracherkennungsergebnisses in den mehreren Kandidatenspracherkennungsergebnissen, das einer höchsten Einstufungsbewertung in den mehreren Einstufungsbewertungen entspricht, als Eingabe.
  • 2 bildet einen Prozess 200 zum Durchführen einer Spracherkennung unter Verwendung mehrerer Spracherkennungs-Engines und einer Neuronales-Netzwerk-Einstufungsvorrichtung zum Auswählen eines Kandidatenspracherkennungsergebnisses ab. In der untenstehenden Beschreibung bezieht sich eine Referenz auf den Prozess 200, der eine Funktion oder Handlung durchführt, auf den Betrieb einer Steuerung zum Ausführen von gespeicherten Programmanweisungen, um die Funktion oder Handlung in Assoziation mit anderen Komponenten im automatisierten System durchzuführen. Der Prozess 200 ist für veranschaulichende Zwecke in Verbindung mit dem System 100 von 1 beschrieben.
  • Der Prozess 200 beginnt, wenn das System 100 mehrere Kandidatenspracherkennungsergebnisse unter Verwendung der mehreren Spracherkennungs-Engines 162 erzeugt (Block 204). Im System 100 stellt ein Benutzer eine gesprochene Audioeingabe an eine Audioeingabeeinrichtung, wie etwa das Mikrofon 128, bereit. Die Steuerung 148 verwendet die mehreren Spracherkennungs-Engines 162, um mehrere Kandidatenspracherkennungsergebnisse zu erzeugen. Wie oben beschrieben, erzeugt die Steuerung 148 bei manchen Ausführungsformen hybride Kandidatenspracherkennungsergebnisse unter Verwendung von ausgewählten Wörtern vom Kandidatenspracherkennungsergebnis einer domänenspezifischen Spracherkennungs-Engine, um ausgewählte Wörter im Kandidatenspracherkennungsergebnis einer Allgemeinzweck-Spracherkennungs-Engine zu ersetzen. Die Spracherkennungs-Engines 162 erzeugen auch Konfidenzbewertungsdaten, die das System 100 während der Merkmalsvektorerzeugung im Prozess 200 verwendet.
  • Der Prozess 200 fährt fort, wenn das System 100 eine Merkmalsextraktion durchführt, um mehrere Merkmalsvektoren zu erzeugen, die jeweils einem der Kandidatenspracherkennungsergebnisse entsprechen (Block 208). Im System 100 verwendet die Steuerung 148 den Merkmalsextraktor 164, um Merkmalsvektoren zu erzeugen, die das Auslösepaar und/oder die Konfidenzbewertung und/oder Wortebene-Merkmale, die oben beschrieben sind, beinhalten, um einen Merkmalsvektor mit der Struktur des Merkmalsvektors 500 in 5 oder einer anderen ähnlichen Struktur für das Auslösepaar und/oder die Konfidenzbewertung und/oder Wortebene-Merkmale zu erzeugen. Bei der Ausführungsform von 2 erzeugt die Steuerung 148 die Wortebene-Merkmale unter Verwendung der Bag-of-Words-mit-Abklingen-Matrix für die Wortebene-Merkmalselemente des Merkmalsvektors.
  • Der Prozess 200 fährt fort, wenn die Steuerung 148 die Merkmalsvektoren für die mehreren Kandidatenspracherkennungsergebnisse der Neuronales-Netzwerk-Einstufungsvorrichtung 166 als Eingaben in einen Inferenzprozess bereitstellt, um mehrere Einstufungsbewertungen zu erzeugen, die den mehreren Kandidatenspracherkennungsergebnissen entsprechen (Block 212). Bei einer Ausführungsform verwendet die Steuerung 148 die trainierte vorwärtsgekoppelte Tiefes-Neuronales-Netzwerk-Einstufungsvorrichtung 166 zum Erzeugen der mehreren Einstufungsbewertungen an den Ausgabeschichtneuronen des neuronalen Netzwerks unter Verwendung eines Inferenzprozesses. Wie oben beschrieben, überträgt die Steuerung 148 bei einer anderen Ausführungsform die Merkmalsvektordaten, Kandidatenspracherkennungsergebnisse oder eine codierte Version der aufgezeichneten Audiospracherkennungsdaten unter Verwendung der drahtlosen Netzwerkeinrichtung 154 zu einem externen Server, wobei ein Prozessor im Server einen Teil des Prozesses 200 durchführt, um die Einstufungsbewertungen der Kandidatenspracherkennungsergebnisse zu erzeugen.
  • In den meisten Fällen erzeugt die Steuerung 148 eine Anzahl von Kandidatenspracherkennungsergebnissen und entsprechende Merkmalsvektoren n, die mit der vorbestimmten Anzahl von n Merkmalsvektoreingaben übereinstimmen, die die Neuronales-Netzwerk-Einstufungsvorrichtung 166 konfiguriert ist, während eines Trainingsprozesses zu empfangen. In manchen Fällen, falls die Anzahl von Merkmalsvektoren für die Kandidatenspracherkennungsergebnisse geringer als die maximale Anzahl n ist, dann erzeugt die Steuerung 148 jedoch „leere“ Merkmalsvektoreingaben mit nur Nullwerten, um zu gewährleisten, dass alle der Neuronen in der Eingabeschicht der Neuronales-Netzwerk-Einstufungsvorrichtung 166 eine Eingabe empfangen. Die Steuerung 148 ignoriert die Bewertungen für die entsprechenden Ausgabeschichtneuronen für jede der leeren Eingaben, während das neuronale Netzwerk in der Einstufungsvorrichtung 166 Bewertungen für die nicht leeren Merkmalsvektoren der Kandidatensucherkennungsergebnisse erzeugt.
  • Der Prozess 200 fährt fort, wenn die Steuerung 148 das Kandidatenspracherkennungsergebnis, das der höchsten Einstufungsbewertung entspricht, in der Ausgabeschicht der Neuronales-Netzwerk-Einstufungsvorrichtung 166 identifiziert (Block 216). Wie oben in 5 beschrieben, erzeugt jedes Ausgabeneuron in der Ausgabeschicht 566 des neuronalen Netzwerks 550 einen Ausgabewert, der der Einstufungsbewertung von einem der Eingabemerkmalsvektoren entspricht, die das System 100 den vorbestimmten Mengen von Eingabeneuronen in der Eingabeschicht 554 bereitstellt. Die Steuerung 148 identifiziert das Kandidatenspracherkennungsergebnis mit der höchsten Einstufungsbewertung basierend auf dem Index des Ausgabeneurons, das die höchste Einstufungsbewertung im neuronalen Netzwerk 550 erzeugt.
  • Wiederum unter Bezugnahme auf 2 fährt der Prozess 200 fort, wenn die Steuerung 148 das ausgewählte, am höchsten eingestufte Spracherkennungsergebnis als Eingabe vom Benutzer verwendet, um das automatisierte System zu betreiben (Block 220). In dem fahrzeuginternen Informationssystem 100 von 1 betreibt die Steuerung 148 verschiedene Systeme, einschließlich zum Beispiel eines Fahrzeugnavigationssystems, das das GPS 152 verwendet, der drahtlosen Netzwerkeinrichtung 154 und der LCD-Anzeige 124 oder des HUD 120, um Fahrzeugnavigationsoperationen als Reaktion auf die Spracheingabe vom Benutzer durchzuführen. Bei einer anderen Konfiguration spielt die Steuerung 148 Musik durch die Audioausgabeeinrichtung 132 als Reaktion auf den Sprachbefehl ab. Bei noch einer anderen Konfiguration verwendet das System 100 das Smartphone 170 oder eine andere netzverbundene Einrichtung, um basierend auf der Spracheingabe vom Benutzer einen Freisprechanruf zu tätigen oder eine Textnachricht zu übertragen. Obwohl 1 eine Ausführungsform eines fahrzeuginternen Informationssystems abbildet, setzen andere Ausführungsformen automatisierte Systeme ein, die die Audioeingabedaten verwenden, um den Betrieb verschiedener Hardwarekomponenten und Softwareanwendungen zu steuern.
  • Obwohl 1 das fahrzeuginterne Informationssystem 100 als ein veranschaulichendes Beispiel eines automatisierten Systems abbildet, das eine Spracherkennung durchführt, um Befehle von einem Benutzer zu empfangen und durchzuführen, kann ein ähnlicher Spracherkennungsprozess in anderen Zusammenhängen implementiert werden. Eine mobile elektronische Einrichtung, wie etwa das Smartphone 170 oder eine andere geeignete Einrichtung, beinhaltet zum Beispiel typischerweise ein oder mehrere Mikrofone und einen Prozessor, der die Spracherkennungs-Engines implementieren kann, eine Einstufungsvorrichtung, gespeicherte Auslösepaare und andere Komponenten, die ein Spracherkennungs- und Steuersystem implementieren. Bei einer anderen Ausführungsform steuert ein Hausautomatisierungssystem die HLK und Haushaltsgeräte in einem Haus unter Verwendung von mindestens einer Recheneinrichtung, die die Spracheingabe vom Benutzer empfängt und eine Spracherkennung unter Verwendung der mehreren Spracherkennungs-Engines durchführt, um den Betrieb verschiedener automatisierter Systeme im Haus zu steuern. Bei jeder Ausführungsform ist das System optional dazu ausgelegt, unterschiedliche Mengen von domänenspezifischen Spracherkennungs-Engines zu verwenden, die auf die spezifischen Anwendungen und Arbeitsvorgängen unterschiedlicher automatisierte Systeme zugeschnitten sind.
  • Trainingssystem und Prozess zum Trainieren einer Neuronales-Netzwerk-Einstufungsvorrichtung
  • Im System 100 von 1 und im Spracherkennungsprozess von 2 ist die Neuronales-Netzwerk-Einstufungsvorrichtung 166 ein trainiertes vorwärtsgekoppeltes tiefes neuronales Netzwerk. Die Neuronales-Netzwerk-Einstufungsvorrichtung 116 wird vor dem Betrieb des Systems 100 trainiert, um den oben beschriebenen Spracherkennungsprozess durchzuführen. 3 bildet eine veranschaulichende Ausführungsform eines computergestützten Systems 300 ab, das dazu ausgelegt ist, die Neuronales-Netzwerk-Einstufungsvorrichtung 166 zu trainieren, und 4 bildet einen Trainingsprozess 400 zum Erzeugen der trainierten Neuronales-Netzwerk-Einstufungsvorrichtung 166 ab.
  • Das System 300 beinhaltet einen Prozessor 304 und einen Speicher 320. Der Prozessor 304 beinhaltet zum Beispiel einen oder mehrere CPU-Kerne, die optional mit einem parallelisierten Hardwarebeschleuniger verbunden sind, der zum Trainieren von neuronalen Netzwerken auf eine zeit- und leistungseffiziente Art und Weise konstruiert ist. Beispiele derartiger Beschleuniger beinhalten zum Beispiel GPUs mit Compute-Shader-Einheiten, die für das Trainieren von neuronalen Netzwerken konfiguriert sind, und speziell programmierte FPGA-Chips oder ASIC-Hardware, die zum Trainieren von neuronalen Netzwerken dediziert sind. Bei manchen Ausführungsformen umfasst der Prozessor 304 ferner ein Cluster von Recheneinrichtungen, die zum Durchführen des Trainingsprozesses des neuronalen Netzwerks parallel arbeiten.
  • Der Speicher 320 beinhaltet zum Beispiel eine nichtflüchtige Festkörper- oder magnetische Datenspeicherungseinrichtung und eine flüchtige Datenspeicherungseinrichtung, wie etwa einen Direktzugriffsspeicher (RAM: Random Access Memory), die programmierte Anweisungen für den Betrieb des Systems 300 speichert. In der Konfiguration von 3 speichert der Speicher 320 Daten, die Trainingseingabedaten 324 entsprechen, einen stochastischen Gradientenabstiegstrainer 328 für ein neuronales Netzwerk, eine Neuronales-Netzwerk-Einstufungsvorrichtung 332 und einen Merkmalsextraktor 164.
  • Die Trainingsdaten 324 beinhalten zum Beispiel eine große Menge an Spracherkennungsergebnissen, die durch dieselben Spracherkennungs-Engines 162 erzeugt werden, die im System 100 für eine große Menge von vorbestimmten Eingaben verwendet werden, die optional hybride Spracherkennungsergebnisse beinhalten. Die Trainingsspracherkennungsergebnisdaten beinhalten auch die Konfidenzbewertungen für die Trainingsspracherkennungsergebnisse. Für jedes Spracherkennungsergebnis beinhalten die Trainingsdaten auch eine Levenshtein-Distanz-Metrik, die die Differenzen zwischen dem Spracherkennungsergebnis und den vorbestimmten Grundwahrheit-Spracheingabetrainingsdaten repräsentiert, die die kanonisch „korrekten“ Ergebnisse im Trainingsprozess repräsentieren. Die Levenshtein-Distanz-Metrik ist ein Beispiel einer „Editierdistanz“-Matrix, da die Metrik die Menge an Änderungen (Editierungen) quantifiziert, die notwendig sind, um das Spracherkennungsergebnis von der Spracherkennungs-Engine in die tatsächliche Eingabe zu transformieren, die für die Trainingsdaten verwendet wurde. Sowohl das Spracherkennungsergebnis als auch die Grundwahrheit-Spracheingabetrainingsdaten werden in der Vergleichsmetrik als „Strings“ von Text bezeichnet. Die Editierdistanz quantifiziert zum Beispiel die Anzahl von Änderungen, die erforderlich sind, um einen Spracherkennungsergebnis-String „Sally shells sea sells by the seashore“ (Sally schält Meerverkäufe am Meeresstrand) zu einem entsprechenden richtigen Grundwahrheit-Trainingsdaten-String „Sally sells sea shells by the seashore“ (Sally verkauft Muscheln am Meeresstrand) umzuwandeln.
  • Die Levenshtein-Distanz-Metrik ist in der Technik in anderen Zusammenhängen bekannt und besitzt mehrere Eigenschaften, einschließlich: (1) die Levenshtein-Distanz ist immer mindestens die Differenz der Größen der beiden Strings; (2) die Levenshtein-Distanz ist höchstens die Länge des längeren Strings; (3) die Levenshtein-Distanz ist null, wenn, und nur wenn, die Strings gleich sind; (4), falls die Strings dieselbe Größe besitzen, ist der Hamming-Abstand eine Obergrenze der Levenshtein-Distanz und (4) die Levenshtein-Distanz zwischen zwei Strings ist nicht größer als die Summe ihrer Levenshtein-Distanzen von einen dritten String (Dreiecksungleichung). Der Hamming-Abstand bezieht sich im Gegenzug auf eine Metrik der minimalen Anzahl von Substitutionen, die erforderlich sind, um einen String in den anderen zu ändern, oder der minimalen Anzahl von Fehlern, die einen String in den anderen transformiert haben könnten. Obwohl das System 300 Trainingsdaten beinhaltet, die für veranschaulichende Zwecke mit der Levenshtein-Distanz codiert sind, wird bei alternativen Ausführungsformen eine andere Editierdistanz-Metrik verwendet, um die Differenzen zwischen den Trainingsspracherkennungsergebnissen und den entsprechenden Grundwahrheit-Trainingseingaben zu beschreiben.
  • Bei der Ausführungsform von 3 ist der Merkmalsextraktor 164 im Speicher 320 derselbe Merkmalsextraktor 164, der im oben beschriebenen System 100 verwendet wird. Insbesondere verwendet der Prozessor 304 den Merkmalsextraktor 164 zum Erzeugen eines Merkmalsvektors aus jedem der Trainingsspracherkennungsergebnisse unter Verwendung des Auslösewortpaares und/oder der Konfidenzbewertung und/oder von Wortebene-Merkmalen, die oben beschrieben sind.
  • Der stochastische Gradientenabstiegstrainer 328 beinhaltet die gespeicherten Programmanweisungen und Parameterdaten für einen Trainingsprozess eines neuronalen Netzwerks, den der Prozessor 304 zum Trainieren der Neuronales-Netzwerk-Einstufungsvorrichtung 332 unter Verwendung von Merkmalsvektoren, die der Merkmalsextraktor 164 basierend auf den Trainingsdaten 324 erzeugt, durchführt. Wie in der Technik bekannt ist, beinhalten stochastische Gradientenabstiegstrainer eine Klasse von in Beziehung stehenden Trainingsprozessen, die ein neuronales Netzwerk in einem iterativen Prozess durch Anpassen der Parameter innerhalb des neuronalen Netzwerks trainieren, um die Differenzen (Fehler) zwischen den Ausgaben des neuronalen Netzwerks und einer vorbestimmten Zielfunktion, die auch als eine „Zielsetzungs“-Funktion bezeichnet wird, zu minimieren. Obwohl ein stochastisches Gradientenabstiegstraining allgemein in der Technik bekannt ist und hierin nicht ausführlicher besprochen wird, modifiziert das System 300 den standardmäßigen Trainingsprozess des Stands der Technik. Insbesondere versucht ein Trainingsprozess, Ausgaben mit einem neuronalen Netzwerk unter Verwendung der Trainingsdaten als Eingaben zu erzeugen, die die Fehler zwischen den Ausgaben des neuronalen Netzwerks und den erwarteten Zielergebnissen von den vorbestimmten Trainingsdaten minimieren. In Trainingsprozessen des Stands der Technik spezifizieren die Zielwerte typischerweise, ob eine gegebene Ausgabe ein binäres „Richtig“ oder „Falsch“ ist, wie etwa eine Zielausgabe von der Neuronales-Netzwerk-Einstufungsvorrichtung, die eine Bewertung bereitstellt, um anzugeben, ob die Merkmalsvektoreingabe für ein Trainingsspracherkennungsergebnis entweder 100%-ig richtig oder irgendwie nicht richtig ist, wenn es mit der Grundwahrheitseingabe in den Trainingsdaten verglichen wird. Im System 300 verwendet der stochastische Gradientenabstiegstrainer 328 jedoch die Editierdistanz-Zieldaten in den Trainingsdaten 324 als ein „Soft“-Ziel, um den Richtigkeitsgrad für unterschiedliche Trainingsspracherkennungsergebnisse genauer widerzuspiegeln, was einen Fehlerbereich beinhalten kann, der die Einstufungsbewertung über einen kontinuierlichen Bereich beeinflussen kann, anstatt lediglich vollständig richtig oder falsch zu sein.
  • Der Prozessor 304 verwendet die „Soft“-Zieldaten in der Zielsetzungsfunktion, um den Trainingsprozess unter Verwendung der stochastischen Gradientenabstiegstrainers 328 durchzuführen. Die Konfiguration von 3 verwendet zum Beispiel eine „Softmax“-Zielsetzungsfunktion der Form: Z i e l i = e d i i = 0 n e d i ,
    Figure DE112017004397T5_0002
    wobei di die Editierdistanz für ein gegebenes Trainingsspracherkennungsergebnis i ist. Während des Trainingsprozesses führt der Gradientenabstiegstrainer 328 einen Kostenminimierungsprozess durch, wobei sich die „Kosten“ auf die Kreuzentropie zwischen den Ausgabewerten der Neuronales-Netzwerk-Einstufungsvorrichtung 332 während jeder Iteration des Trainingsprozesses und den Zielwerten, die durch die Zielsetzungsfunktion erzeugt werden, beziehen. Der Prozessor 304 liefert Batches von Abtastungen an den Gradientenabstiegstrainer 328 während des Trainingsprozesses, wie etwa ein Batch von 180 Trainingseingaben, die jeweils unterschiedliche Trainingsspracherkennungsergebnisse beinhalten, die durch die mehreren Spracherkennungs-Engines erzeugt werden. Der iterative Prozess fährt fort, bis sich die Kreuzentropie des Trainingssatzes über einen Verlauf von zehn Iterationen nicht verbessert hat, und die Parameter des trainierten neuronalen Netzwerks, die die insgesamt niedrigste Entropie aller Trainingsdaten erzeugen, bilden das endgültige trainierte neuronale Netzwerk.
  • Während des Trainingsprozesses mischt der Prozessor 304 dieselben Eingabemerkmalsvektoren zwischen unterschiedlichen Mengen von Eingabeneuronen in der Neuronales-Netzwerk-Einstufungsvorrichtung 332 während unterschiedlicher Iterationen des Trainingsprozesses, um zu gewährleisten, dass die Position eines speziellen Merkmalsvektors in der Eingabeschicht des neuronalen Netzwerks kein falsches Bias im trainierten neuronalen Netzwerk erzeugt. Wie oben im Inferenzprozess beschrieben, falls eine spezielle Menge von Trainingsdaten keine ausreichende Anzahl von Kandidatenspracherkennungsergebnissen beinhaltet, um Eingaben für alle der Neuronen in der Eingabeschicht der Neuronales-Netzwerk-Einstufungsvorrichtung 332 bereitzustellen, erzeugt der Prozessor 304 „leere“ Eingabemerkmalsvektoren mit Nullwert-Eingaben. Wie in der Technik bekannt ist, beinhaltet der stochastische Gradientenabstiegstrainingsprozess numerische Trainingsparameter, und bei einer Konfiguration des Systems 300 sind die Hyperparameter des stochastischen Gradientenabstiegstrainers 328 α = 0,001 , β1 =0,9 und β2 = 0,999.
  • Die Neuronales-Netzwerk-Einstufungsvorrichtung 332 ist bei einer Ausführungsform ein vorwärtsgekoppeltes tiefes neuronales Netzwerk mit der Struktur des neuronalen Netzwerks 550, das in 5 abgebildet ist. Während des Betriebs erzeugt der Prozessor 304 die Struktur einer nicht trainierten Neuronales-Netzwerk-Einstufungsvorrichtung 332 mit einer vorbestimmten Anzahl von Neuronen basierend auf der Anzahl von Neuronen in der Eingabeschicht 554 des neuronalen Netzwerks 550 in 5 und der Anzahl von Ausgabeneuronen in der Ausgabeschicht 566 für insgesamt n Kandidatenspracherkennungsergebnisse, die jeweils als Eingaben in das neuronale Netzwerk für den Inferenzprozess bereitgestellt werden. Der Prozessor 304 erzeugt auch eine geeignete Anzahl von Neuronen in den k verdeckten Schichten 562 des neuronalen Netzwerks 550. Bei einer Ausführungsform initialisiert der Prozessor 304 die neuronale Netzwerkstruktur mit randomisierten Gewichtungswerten für jede Eingabe in die Neuronen. Wie oben beschrieben, passt der Prozessor 304 während des Trainingsprozesses die verschiedenen Gewichtungen und Biaswerte für die Neuronen innerhalb der Eingabeschicht 554 und den verdeckten Schichten 562 des neuronalen Netzwerks zusammen mit den Parametern der Aktivierungsfunktion in den Neuronen der Ausgabeschicht 566 an, um die Kreuzentropie der Ausgabe von der Neuronales-Netzwerk-Einstufungsvorrichtung 332 für eine gegebene Menge von Eingaben im Vergleich zu der Zielsetzungsfunktion zu minimieren.
  • Obwohl 3 eine spezifische Konfiguration einer computergestützten Einrichtung 300 abbildet, die die trainierte Neuronales-Netzwerk-Einstufungsvorrichtung erzeugt, ist dasselbe System, das die trainierte Neuronales-Netzwerk-Einstufungsvorrichtung in einem Spracherkennungsprozess verwendet, bei manchen Ausführungsformen ferner dazu ausgelegt, die Neuronales-Netzwerk-Einstufungsvorrichtung zu trainieren. Beispielsweise ist die Steuerung 148 im System 100 ein Beispiel eines Prozessors, der bei manchen Ausführungsformen konfigurierbar ist, den Trainingsprozess des neuronalen Netzwerks durchzuführen.
  • 4 bildet einen Prozess 400 zum Durchführen einer Spracherkennung unter Verwendung mehrerer Spracherkennungs-Engines und einer Neuronales-Netzwerk-Einstufungsvorrichtung zum Auswählen eines Kandidatenspracherkennungsergebnisses ab. In der untenstehenden Beschreibung bezieht sich eine Referenz auf den Prozess 400, der eine Funktion oder Handlung durchführt, auf den Betrieb eines Prozessors zum Ausführen von gespeicherten Programmanweisungen, um die Funktion oder Handlung in Assoziation mit anderen Komponenten im automatisierten System durchzuführen. Der Prozess 400 ist für veranschaulichende Zwecke in Verbindung mit dem System 300 von 3 beschrieben.
  • Der Prozess 400 beginnt, wenn das System 300 mehrere Merkmalsvektoren erzeugt, die den mehreren Trainingsspracherkennungsergebnissen entsprechen, die in den Trainingsdaten 324 gespeichert sind (Block 404). Im System 300 verwendet der Prozessor 304 den Merkmalsextraktor 164, um die mehreren Merkmalsvektoren zu erzeugen, wobei jeder Merkmalsvektor einem Trainingsspracherkennungsergebnis in den Trainingsdaten 324 entspricht. Wie oben beschrieben, erzeugt die Steuerung 304 jeden Merkmalsvektor, der die Auslösewortmerkmale und/oder die Konfidenzbewertung und/oder die Wortebene-Merkmale einschließlich der Bag-of-Words-mit-Abklingen-Merkmale beinhaltet, in mindestens einer Ausführungsform des Prozesses 400.
  • Als Teil des Merkmalsextraktions- und Merkmalserzeugungsprozesses erzeugt die Steuerung 304 bei manchen Ausführungsformen die Struktur des Merkmalsvektors einschließlich der spezifischen Elemente, die auf die Auslösewortmerkmale und Wortebene-Merkmale abgebildet werden. Wie oben im System 100 beschrieben, erzeugt die Steuerung 304 bei manchen Ausführungsformen zum Beispiel den Merkmalsvektor mit einer Struktur, die nur einem Teil der Wörter entspricht, die in den Trainingsdaten 324 beobachtet werden, wie etwa die 90 % am häufigsten beobachteten Wörter, während die verbleibenden 10 % der Wörter, die mit der geringsten Häufigkeit auftreten, nicht in die Struktur des Merkmalsvektors codiert werden. Der Prozessor 304 identifiziert optional die häufigsten Auslösewortmerkmale und erzeugt die Struktur für die am häufigsten beobachteten Paare von Auslösewörtern, die in den Trainingsdaten 324 vorhanden sind. Bei einer Ausführungsform, bei der das System 300 die Struktur für den Merkmalsvektor während des Prozesses 400 erzeugt, speichert der Prozessor 304 die Struktur der Merkmalsvektoren mit den Merkmalsextraktordaten 164, und die Struktur des Merkmalsvektors wird zusammen mit der Neuronales-Netzwerk-Einstufungsvorrichtung 332 nach Beendigung des Trainingsprozesses automatisierten Systemen bereitgestellt, die die Merkmalsvektoren mit der spezifizierten Struktur als Eingaben in das trainierte neuronale Netzwerk verwenden, um die Einstufungsbewertungen für die Kandidatenspracherkennungsergebnisse zu erzeugen. Bei anderen Ausführungsformen wird die Struktur der Merkmalsvektoren a priori basierend auf einer natürlichen Sprache, wie etwa Englisch oder Chinesisch, bestimmt, anstatt spezifisch auf den Inhalten der Trainingsdaten 324 zu basieren.
  • Der Prozess 400 fährt fort, wenn das System 300 die Neuronales-Netzwerk-Einstufungsvorrichtung 332 basierend auf den Merkmalsvektoren der Trainingsspracherkennungsergebnisse und den Soft-Ziel-Editierdistanzdaten von den Trainingsdaten 324 unter Verwendung des stochastischen Gradientenabstiegstrainers 328 trainiert (Block 408). Während des Trainingsprozesses verwendet der Prozessor 304 die mehreren Merkmalsvektoren, die den mehreren Trainingsspracherkennungsergebnissen entsprechen, als Eingaben in die Neuronales-Netzwerk-Einstufungsvorrichtung und trainiert die Neuronales-Netzwerk-Einstufungsvorrichtung 332 basierend auf dem Kostenminimierungsprozess zwischen den mehreren Ausgabebewertungen, die durch die Neuronales-Netzwerk-Einstufungsvorrichtung während des Trainingsprozesses erzeugt werden, und der Zielsetzungsfunktion mit den Soft-Bewertungen, die oben beschrieben sind, basierend auf den bestimmten Editierdistanzen zwischen den mehreren Trainingsspracherkennungsergebnissen und vorbestimmten korrekten Eingaben für jede Trainingsspracherkennung in den mehreren Spracherkennungsergebnissen. Während des Prozesses 400 modifiziert der Prozessor 304 die Eingabegewichtungskoeffizienten und Neuronenbiaswerte in den Eingabe- und verdeckten Schichten der Neuronales-Netzwerk-Einstufungsvorrichtung 332 und, um die Parameter der Aktivierungsfunktionen in den Ausgabeschichten von Neuronen auf eine iterative Art und Weise unter Verwendung des stochastischen Gradientenabstiegstrainers 328 anzupassen.
  • Nachdem der Trainingsprozess beendet ist, speichert der Prozessor 304 die Struktur der trainierten Neuronales-Netzwerk-Einstufungsvorrichtung 332 und optional die Struktur der Merkmalsvektoren bei Ausführungsformen, bei denen die Merkmalsvektoren basierend auf den Trainingsdaten im Speicher 320 erzeugt werden (Block 412). Die gespeicherte Struktur der Neuronales-Netzwerk-Einstufungsvorrichtung 332 und die Merkmalsvektorstruktur werden anschließend zu anderen automatisierten Systemen, wie etwa dem System 100 von 1, transferiert, die die trainierte Neuronales-Netzwerk-Einstufungsvorrichtung 332 und den Merkmalsextraktor 164 verwenden, um mehrere Kandidatenspracherkennungsergebnisse während Spracherkennungsoperationen einzustufen.
  • Es versteht sich, dass Varianten der oben offenbarten und andere Merkmale und Funktionen, oder Alternativen zu diesen, wünschenswerterweise zu vielen anderen unterschiedlichen Systemen, Anwendungen oder Verfahren kombiniert werden können. Verschiedene derzeit unvorhergesehene oder nicht erwartete Alternativen, Modifikationen, Variationen oder Verbesserungen können nachfolgend durch einen Fachmann vorgenommen werden, die auch durch die folgenden Ansprüche eingeschlossen werden sollen.

Claims (17)

  1. Verfahren zur Spracherkennung in einem automatisierten System, umfassend: Erzeugen, mit einer Steuerung, mehrerer Merkmalsvektoren, wobei jeder Merkmalsvektor einem Kandidatenspracherkennungsergebnis in mehreren Kandidatenspracherkennungsergebnissen entspricht, wobei das Erzeugen eines ersten Merkmalsvektors in den mehreren Merkmalsvektoren für ein erstes Kandidatenspracherkennungsergebnis in den mehreren Kandidatenspracherkennungsergebnissen ferner Folgendes umfasst: Identifizieren, mit der Steuerung, mindestens eines Auslösepaares, das zwei vorbestimmte Auslösewörter beinhaltet, innerhalb des ersten Kandidatenspracherkennungsergebnisses, bezüglich mehrerer vorbestimmter Auslösepaare, die in einem Speicher gespeichert sind; und Erzeugen, mit der Steuerung, des ersten Merkmalsvektors, der ein Element für das mindestens eine Auslösepaar beinhaltet; Bereitstellen, mit der Steuerung, der mehreren Merkmalsvektoren als Eingaben in ein neuronales Netzwerk; Erzeugen, mit der Steuerung, mehrerer Einstufungsbewertungen, die den mehreren Merkmalsvektoren für die mehreren Kandidatenspracherkennungsergebnisse entsprechen, basierend auf einer Ausgabeschicht des neuronalen Netzwerks; und Betreiben, mit der Steuerung, des automatisierten Systems unter Verwendung des Kandidatenspracherkennungsergebnisses in den mehreren Kandidatenspracherkennungsergebnissen, das einer höchsten Einstufungsbewertung in den mehreren Einstufungsbewertungen entspricht, als Eingabe.
  2. Verfahren nach Anspruch 1, wobei das Erzeugen jedes Merkmalsvektors in den mehreren Merkmalsvektoren ferner Folgendes umfasst: Erzeugen, mit der Steuerung, jedes Merkmalsvektors, der ein Element für eine Konfidenzbewertung in mehreren Konfidenzbewertungen beinhaltet, wobei jede Konfidenzbewertung mit einem Kandidatenspracherkennungsergebnis assoziiert ist, das jedem Merkmalsvektor entspricht.
  3. Verfahren nach Anspruch 2, ferner umfassend: Durchführen, mit der Steuerung, eines linearen Regressionsprozesses basierend auf den mehreren Konfidenzbewertungen, um normierte mehrere Konfidenzbewertungen für die mehreren Merkmalsvektoren zu erzeugen, wobei die normierten mehreren Konfidenzbewertungen auf einer Konfidenzbewertung eines vorbestimmten Kandidatenspracherkennungsergebnisses in den mehreren Spracherkennungsergebnissen basiert.
  4. Verfahren nach Anspruch 1, wobei das Erzeugen des ersten Merkmalsvektors ferner Folgendes umfasst: Identifizieren, mit der Steuerung, mehrerer eindeutiger Wörter im ersten Kandidatenspracherkennungsergebnis einschließlich einer Häufigkeit, mit der jedes eindeutige Wort in den mehreren Wörtern auftritt, und mindestens einer Position jedes eindeutigen Wortes im ersten Kandidatenspracherkennungsergebnis; Erzeugen, mit der Steuerung, mehrerer Bag-of-Words-mit-Abklingen-Parameter, wobei jeder Bag-of-Words-mit-Abklingen-Parameter einem eindeutigen Wort in den mehreren eindeutigen Wörtern entspricht, basierend auf der Häufigkeit und der mindestens einen Position des einen eindeutigen Worts und einem vorbestimmten Abklingparameter; und Erzeugen, mit der Steuerung, des ersten Merkmalsvektors, der ein Element für jeden Bag-of-Words-mit-Abklingen-Parameter in den mehreren Bag-of-Words-mit-Abklingen-Parametern beinhaltet.
  5. Verfahren nach Anspruch 1, wobei das Bereitstellen der mehreren Merkmalsvektoren an das neuronale Netzwerk ferner Folgendes umfasst: Bereitstellen, mit der Steuerung, der mehreren Merkmalsvektoren als Eingaben in ein vorwärtsgekoppeltes tiefes neuronales Netzwerk.
  6. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Erzeugen, mit einer Audioeingabeeinrichtung, von Audioeingabedaten, die einer Spracheingabe von einem Benutzer entsprechen; und Erzeugen, mit der Steuerung, der mehreren Kandidatenspracherkennungsergebnisse, die den Audioeingabedaten entsprechen, unter Verwendung mehrerer Spracherkennungs-Engines.
  7. Verfahren zum Trainieren einer Neuronales-Netzwerk-Einstufungsvorrichtung, umfassend: Erzeugen, mit einem Prozessor, mehrerer Merkmalsvektoren, wobei jeder Merkmalsvektor einem Trainingsspracherkennungsergebnis in mehreren Trainingsspracherkennungsergebnissen entspricht, die in einem Speicher gespeichert sind, wobei das Erzeugen eines ersten Merkmalsvektors in den mehreren Merkmalsvektoren für ein erstes Trainingsspracherkennungsergebnis in den mehreren Trainingsspracherkennungsergebnissen ferner Folgendes umfasst: Identifizieren, mit dem Prozessor, mindestens eines Auslösepaares, das zwei vorbestimmte Auslösewörter beinhaltet, innerhalb des ersten Trainingsspracherkennungsergebnisses, bezüglich mehrerer vorbestimmter Auslösepaare, die in einem Speicher gespeichert sind; und Erzeugen, mit dem Prozessor, des ersten Merkmalsvektors, der ein Element für das mindestens eine Auslösepaar beinhaltet; Durchführen, mit dem Prozessor, eines Trainingsprozesses für eine Neuronales-Netzwerk-Einstufungsvorrichtung unter Verwendung der mehreren Merkmalsvektoren, die den mehreren Trainingsspracherkennungsergebnissen entsprechen, als Eingaben in die Neuronales-Netzwerk-Einstufungsvorrichtung, mehrerer Ausgabebewertungen, die durch die Neuronales-Netzwerk-Einstufungsvorrichtung während des Trainingsprozesses erzeugt werden, und mehrerer Zielergebnisse basierend auf vorbestimmten Editierdistanzen zwischen den mehreren Trainingsspracherkennungsergebnissen und vorbestimmten korrekten Eingaben für jede Trainingsspracherkennung in den mehreren Spracherkennungsergebnissen; und Speichern, mit dem Prozessor, der Neuronales-Netzwerk-Einstufungsvorrichtung im Speicher nach Beendigung des Trainingsprozesses zur Verwendung beim Erzeugen von Einstufungsbewertungen für zusätzliche Merkmalsvektoren, die Spracherkennungsergebnissen entsprechen, die nicht in den mehreren Trainingsspracherkennungsergebnissen vorhanden sind.
  8. Verfahren nach Anspruch 7, wobei das Erzeugen des ersten Merkmalsvektors ferner Folgendes umfasst: Erzeugen, mit dem Prozessor, des Merkmalsvektors, der ein Element für eine Konfidenzbewertung beinhaltet, die mit dem ersten Trainingsspracherkennungsergebnis assoziiert ist.
  9. Verfahren nach Anspruch 7, wobei das Erzeugen des ersten Merkmalsvektors ferner Folgendes umfasst: Identifizieren, mit dem Prozessor, mehrerer eindeutiger Wörter im ersten Trainingsspracherkennungsergebnis einschließlich einer Häufigkeit, mit der jedes eindeutige Wort in den mehreren Wörtern auftritt, und mindestens einer Position jedes eindeutigen Wortes im ersten Trainingsspracherkennungsergebnis; Erzeugen, mit dem Prozessor, mehrerer Bag-of-Words-mit-Abklingen-Parameter, wobei jeder Bag-of-Words-mit-Abklingen-Parameter einem eindeutigen Wort in den mehreren eindeutigen Wörtern entspricht, basierend auf der Häufigkeit und der mindestens einen Position des einen eindeutigen Worts und einem vorbestimmten Abklingparameter; und Erzeugen, mit dem Prozessor, des ersten Merkmalsvektors, der ein Element für jede Mehrzahl von Bag-of-Words-mit-Abklingen-Parametern in den mehreren Bag-of-Words-mit-Abklingen-Parametern beinhaltet.
  10. Verfahren nach Anspruch 7, wobei der Trainingsprozess ferner Folgendes umfasst: Erzeugen, mit dem Prozessor, des trainierten neuronalen Netzwerks unter Verwendung eines stochastischen Gradientenabstiegstrainingsprozesses.
  11. Verfahren nach Anspruch 7, wobei das Training ferner Folgendes umfasst: Durchführen, mit dem Prozessor, des Trainingsprozesses für die Neuronales-Netzwerk-Einstufungsvorrichtung, wobei die mehreren Zielergebnisse auf Levenshtein-Distanzen zwischen den mehreren Trainingsspracherkennungsergebnissen und vorbestimmten korrekten Eingaben für jede Trainingsspracherkennung in den mehreren Spracherkennungsergebnissen basieren.
  12. System zur automatisierten Spracherkennung, umfassend: einen Speicher, der dazu ausgelegt ist, Folgendes zu speichern: mehrere vorbestimmte Auslösepaare, wobei jedes Auslösepaar zwei Wörter beinhaltet; und ein neuronales Netzwerk, das dazu ausgelegt ist, Einstufungsbewertungen zu erzeugen, die mehreren Kandidatenspracherkennungsergebnissen entsprechen; und eine Steuerung, die funktionsfähig mit dem Speicher verbunden ist, wobei die Steuerung ausgelegt ist zum: Erzeugen mehrerer Merkmalsvektoren, wobei jeder Merkmalsvektor einem Kandidatenspracherkennungsergebnis in mehreren Kandidatenspracherkennungsergebnissen entspricht, wobei die Erzeugung eines ersten Merkmalsvektors in den mehreren Merkmalsvektoren für ein erstes Kandidatenspracherkennungsergebnis in den mehreren Kandidatenspracherkennungsergebnissen ferner eine zusätzliche Konfiguration der Steuerung zu Folgendem beinhaltet: Identifizieren mindestens eines Auslösepaares, das zwei vorbestimmte Auslösewörter beinhaltet, innerhalb des ersten Kandidatenspracherkennungsergebnisses, bezüglich mehrerer vorbestimmter Auslösepaare, die in einem Speicher gespeichert sind; und Erzeugen des ersten Merkmalsvektors, der ein Element für das mindestens eine Auslösepaar beinhaltet; Bereitstellen der mehreren Merkmalsvektoren als Eingaben in das neuronale Netzwerk; Erzeugen mehrerer Einstufungsbewertungen, die den mehreren Merkmalsvektoren für die mehreren Kandidatenspracherkennungsergebnisse entsprechen, basierend auf einer Ausgabeschicht des neuronalen Netzwerks; und Betreiben des automatisierten Systems unter Verwendung des Kandidatenspracherkennungsergebnisses in den mehreren Kandidatenspracherkennungsergebnissen, das einer höchsten Einstufungsbewertung in den mehreren Einstufungsbewertungen entspricht, als Eingabe.
  13. System nach Anspruch 12, wobei die Steuerung ferner ausgelegt ist zum: Erzeugen jedes Merkmalsvektors, der ein Element für eine Konfidenzbewertung in mehreren Konfidenzbewertungen beinhaltet, wobei jede Konfidenzbewertung mit dem einen Kandidatenspracherkennungsergebnis assoziiert ist, das jedem Merkmalsvektor entspricht.
  14. System nach Anspruch 13, wobei die Steuerung ferner ausgelegt ist zum: Durchführen eines linearen Regressionsprozesses basierend auf den mehreren Konfidenzbewertungen, um normierte mehrere Konfidenzbewertungen für die mehreren Merkmalsvektoren zu erzeugen, wobei die normierten mehreren Konfidenzbewertungen auf einer Konfidenzbewertung eines vorbestimmten Kandidatenspracherkennungsergebnisses in den mehreren Spracherkennungsergebnissen basiert.
  15. System nach Anspruch 12, wobei die Steuerung ferner ausgelegt ist zum: Identifizieren mehrerer eindeutiger Wörter im ersten Kandidatenspracherkennungsergebnis einschließlich einer Häufigkeit, mit der jedes eindeutige Wort in den mehreren Wörtern auftritt, und mindestens einer Position jedes eindeutigen Wortes im ersten Kandidatenspracherkennungsergebnis; Erzeugen mehrerer Bag-of-Words-mit-Abklingen-Parameter, wobei jeder Bag-of-Words-mit-Abklingen-Parameter einem eindeutigen Wort in den mehreren eindeutigen Wörtern entspricht, basierend auf der Häufigkeit und der mindestens einen Position des einen eindeutigen Worts und einem vorbestimmten Abklingparameter; und Erzeugen des ersten Merkmalsvektors, der ein Element für jeden Bag-of-Words-mit-Abklingen-Parameter in den mehreren Bag-of-Words-mit-Abklingen-Parametern beinhaltet.
  16. System nach Anspruch 12, wobei das neuronale Netzwerk im Speicher ein vorwärtsgekoppeltes tiefes neuronales Netzwerk ist, wobei die Steuerung ferner ausgelegt ist zum: Bereitstellen der mehreren Merkmalsvektoren als Eingaben in das vorwärtsgekoppelte tiefe neuronale Netzwerk.
  17. System nach Anspruch 12, ferner umfassend: eine Audioeingabeeinrichtung; und die Steuerung, die funktionsfähig mit der Audioeingabeeinrichtung verbunden ist und ferner ausgelegt ist zum: Erzeugen von Audioeingabedaten, die einer Spracheingabe von einem Benutzer entsprechen, mit der Audioeingabeeinrichtung; und Erzeugen der mehreren Kandidatenspracherkennungsergebnisse, die den Audioeingabedaten entsprechen, unter Verwendung mehrerer Spracherkennungs-Engines.
DE112017004397.2T 2016-11-17 2017-11-15 System und Verfahren zur Einstufung von hybriden Spracherkennungsergebnissen mit neuronalen Netzwerken Active DE112017004397B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/353767 2016-11-17
US15/353,767 US10170110B2 (en) 2016-11-17 2016-11-17 System and method for ranking of hybrid speech recognition results with neural networks
PCT/EP2017/079272 WO2018091501A1 (en) 2016-11-17 2017-11-15 System and method for ranking of hybrid speech recognition results with neural networks

Publications (2)

Publication Number Publication Date
DE112017004397T5 true DE112017004397T5 (de) 2019-05-23
DE112017004397B4 DE112017004397B4 (de) 2022-10-20

Family

ID=60327326

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017004397.2T Active DE112017004397B4 (de) 2016-11-17 2017-11-15 System und Verfahren zur Einstufung von hybriden Spracherkennungsergebnissen mit neuronalen Netzwerken

Country Status (5)

Country Link
US (1) US10170110B2 (de)
JP (1) JP6743300B2 (de)
CN (1) CN109923608B (de)
DE (1) DE112017004397B4 (de)
WO (1) WO2018091501A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019214713A1 (de) * 2019-09-26 2021-04-01 Zf Friedrichshafen Ag System zum automatisierten Betätigen einer Fahrzeugtür, Fahrzeug und Verfahren

Families Citing this family (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
KR20240132105A (ko) 2013-02-07 2024-09-02 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
KR101772152B1 (ko) 2013-06-09 2017-08-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10643616B1 (en) * 2014-03-11 2020-05-05 Nvoq Incorporated Apparatus and methods for dynamically changing a speech resource based on recognized text
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
CN110797019B (zh) 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10097919B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Music service selection
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
CN106228976B (zh) * 2016-07-22 2019-05-31 百度在线网络技术(北京)有限公司 语音识别方法和装置
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
WO2018106805A1 (en) * 2016-12-09 2018-06-14 William Marsh Rice University Signal recovery via deep convolutional networks
US10593346B2 (en) * 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
CN108460454B (zh) * 2017-02-21 2022-07-26 京东方科技集团股份有限公司 卷积神经网络和用于其的处理方法、装置、系统
CN107103903B (zh) * 2017-05-05 2020-05-29 百度在线网络技术(北京)有限公司 基于人工智能的声学模型训练方法、装置及存储介质
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
CN107240395B (zh) * 2017-06-16 2020-04-28 百度在线网络技术(北京)有限公司 一种声学模型训练方法和装置、计算机设备、存储介质
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
DE102017213946B4 (de) * 2017-08-10 2022-11-10 Audi Ag Verfahren zum Aufbereiten eines Erkennungsergebnisses eines automatischen Online-Spracherkenners für ein mobiles Endgerät
US10984788B2 (en) 2017-08-18 2021-04-20 Blackberry Limited User-guided arbitration of speech processing results
US10964318B2 (en) * 2017-08-18 2021-03-30 Blackberry Limited Dialogue management
US10497370B2 (en) 2017-08-18 2019-12-03 2236008 Ontario Inc. Recognition module affinity
CN107507615A (zh) * 2017-08-29 2017-12-22 百度在线网络技术(北京)有限公司 界面智能交互控制方法、装置、系统及存储介质
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10051366B1 (en) 2017-09-28 2018-08-14 Sonos, Inc. Three-dimensional beam forming with a microphone array
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US20190147855A1 (en) * 2017-11-13 2019-05-16 GM Global Technology Operations LLC Neural network for use in speech recognition arbitration
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US11676062B2 (en) * 2018-03-06 2023-06-13 Samsung Electronics Co., Ltd. Dynamically evolving hybrid personalized artificial intelligence system
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US10825451B1 (en) * 2018-06-25 2020-11-03 Amazon Technologies, Inc. Wakeword detection
US10762896B1 (en) 2018-06-25 2020-09-01 Amazon Technologies, Inc. Wakeword detection
US10720151B2 (en) * 2018-07-27 2020-07-21 Deepgram, Inc. End-to-end neural networks for speech recognition and classification
US20200042825A1 (en) * 2018-08-02 2020-02-06 Veritone, Inc. Neural network orchestration
WO2020041945A1 (en) 2018-08-27 2020-03-05 Beijing Didi Infinity Technology And Development Co., Ltd. Artificial intelligent systems and methods for displaying destination on mobile device
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) * 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11322136B2 (en) * 2019-01-09 2022-05-03 Samsung Electronics Co., Ltd. System and method for multi-spoken language detection
US11380315B2 (en) * 2019-03-09 2022-07-05 Cisco Technology, Inc. Characterizing accuracy of ensemble models for automatic speech recognition by determining a predetermined number of multiple ASR engines based on their historical performance
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
RU2731334C1 (ru) * 2019-03-25 2020-09-01 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для формирования текстового представления фрагмента устной речи пользователя
WO2020218634A1 (ko) * 2019-04-23 2020-10-29 엘지전자 주식회사 응답 기기 결정 방법 및 장치
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11615785B2 (en) 2019-05-10 2023-03-28 Robert Bosch Gmbh Speech recognition using natural language understanding related knowledge via deep feedforward neural networks
WO2020232180A1 (en) * 2019-05-14 2020-11-19 Dolby Laboratories Licensing Corporation Method and apparatus for speech source separation based on a convolutional neural network
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11204973B2 (en) 2019-06-21 2021-12-21 Microsoft Technology Licensing, Llc Two-stage training with non-randomized and randomized data
US11397742B2 (en) 2019-06-21 2022-07-26 Microsoft Technology Licensing, Llc Rescaling layer in neural network
US11163845B2 (en) 2019-06-21 2021-11-02 Microsoft Technology Licensing, Llc Position debiasing using inverse propensity weight in machine-learned model
US11204968B2 (en) * 2019-06-21 2021-12-21 Microsoft Technology Licensing, Llc Embedding layer in neural network for ranking candidates
KR20210010133A (ko) * 2019-07-19 2021-01-27 삼성전자주식회사 음성 인식 방법, 음성 인식을 위한 학습 방법 및 그 장치들
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
KR20210030160A (ko) * 2019-09-09 2021-03-17 삼성전자주식회사 전자 장치 및 이의 제어 방법
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
US11437026B1 (en) * 2019-11-04 2022-09-06 Amazon Technologies, Inc. Personalized alternate utterance generation
CN110956621B (zh) * 2019-11-27 2022-09-13 北京航空航天大学合肥创新研究院 一种基于神经网络的组织癌变的检测方法及系统
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11494593B2 (en) * 2020-03-18 2022-11-08 Walmart Apollo, Llc Methods and apparatus for machine learning model hyperparameter optimization
JP2021156921A (ja) * 2020-03-25 2021-10-07 株式会社日立情報通信エンジニアリング 音声認識方法および音声認識プログラム
JP2021156922A (ja) * 2020-03-25 2021-10-07 株式会社日立情報通信エンジニアリング 音声認識方法および音声認識プログラム
US11688219B2 (en) * 2020-04-17 2023-06-27 Johnson Controls Tyco IP Holdings LLP Systems and methods for access control using multi-factor validation
KR20210136463A (ko) 2020-05-07 2021-11-17 삼성전자주식회사 전자 장치 및 그 제어 방법
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
EP3944155A3 (de) * 2020-06-03 2022-05-11 Google LLC Objektzentrisches lernen mit slot-aufmerksamkeit
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11829720B2 (en) 2020-09-01 2023-11-28 Apple Inc. Analysis and validation of language models
KR20220037846A (ko) * 2020-09-18 2022-03-25 삼성전자주식회사 음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
CN112466280B (zh) * 2020-12-01 2021-12-24 北京百度网讯科技有限公司 语音交互方法、装置、电子设备和可读存储介质
KR20230156427A (ko) 2021-03-23 2023-11-14 구글 엘엘씨 연결 및 축소된 rnn-t
CN113112827B (zh) * 2021-04-14 2022-03-25 深圳市旗扬特种装备技术工程有限公司 一种智能交通调控方法及智能交通调控系统
CN113948085B (zh) * 2021-12-22 2022-03-25 中国科学院自动化研究所 语音识别方法、系统、电子设备和存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754629B1 (en) * 2000-09-08 2004-06-22 Qualcomm Incorporated System and method for automatic voice recognition using mapping
US6836758B2 (en) * 2001-01-09 2004-12-28 Qualcomm Incorporated System and method for hybrid voice recognition
JP2004272134A (ja) * 2003-03-12 2004-09-30 Advanced Telecommunication Research Institute International 音声認識装置及びコンピュータプログラム
US8364481B2 (en) * 2008-07-02 2013-01-29 Google Inc. Speech recognition with parallel recognition tasks
JP5595112B2 (ja) * 2010-05-11 2014-09-24 本田技研工業株式会社 ロボット
US8812321B2 (en) 2010-09-30 2014-08-19 At&T Intellectual Property I, L.P. System and method for combining speech recognition outputs from a plurality of domain-specific speech recognizers via machine learning
US9916538B2 (en) * 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
JP6155592B2 (ja) 2012-10-02 2017-07-05 株式会社デンソー 音声認識システム
JP6047364B2 (ja) * 2012-10-10 2016-12-21 日本放送協会 音声認識装置、誤り修正モデル学習方法、及びプログラム
US9519858B2 (en) * 2013-02-10 2016-12-13 Microsoft Technology Licensing, Llc Feature-augmented neural networks and applications of same
US9484023B2 (en) 2013-02-22 2016-11-01 International Business Machines Corporation Conversion of non-back-off language models for efficient speech decoding
US9153231B1 (en) * 2013-03-15 2015-10-06 Amazon Technologies, Inc. Adaptive neural network speech recognition models
CN104143330A (zh) * 2013-05-07 2014-11-12 佳能株式会社 语音识别方法和语音识别系统
US9058805B2 (en) * 2013-05-13 2015-06-16 Google Inc. Multiple recognizer speech recognition
CN103578471B (zh) * 2013-10-18 2017-03-01 威盛电子股份有限公司 语音辨识方法及其电子装置
JP5777178B2 (ja) * 2013-11-27 2015-09-09 国立研究開発法人情報通信研究機構 統計的音響モデルの適応方法、統計的音響モデルの適応に適した音響モデルの学習方法、ディープ・ニューラル・ネットワークを構築するためのパラメータを記憶した記憶媒体、及び統計的音響モデルの適応を行なうためのコンピュータプログラム
CN104795069B (zh) * 2014-01-21 2020-06-05 腾讯科技(深圳)有限公司 语音识别方法和服务器
US9520127B2 (en) * 2014-04-29 2016-12-13 Microsoft Technology Licensing, Llc Shared hidden layer combination for speech recognition systems
US9679558B2 (en) * 2014-05-15 2017-06-13 Microsoft Technology Licensing, Llc Language modeling for conversational understanding domains using semantic web resources
JP6461308B2 (ja) * 2015-04-16 2019-01-30 三菱電機株式会社 音声認識装置およびリスコアリング装置
CN107112005A (zh) * 2015-04-17 2017-08-29 微软技术许可有限责任公司 深度神经支持向量机
US10127220B2 (en) * 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019214713A1 (de) * 2019-09-26 2021-04-01 Zf Friedrichshafen Ag System zum automatisierten Betätigen einer Fahrzeugtür, Fahrzeug und Verfahren

Also Published As

Publication number Publication date
US10170110B2 (en) 2019-01-01
US20180137857A1 (en) 2018-05-17
CN109923608B (zh) 2023-08-01
CN109923608A (zh) 2019-06-21
WO2018091501A1 (en) 2018-05-24
JP2019537749A (ja) 2019-12-26
JP6743300B2 (ja) 2020-08-19
DE112017004397B4 (de) 2022-10-20

Similar Documents

Publication Publication Date Title
DE112017004397B4 (de) System und Verfahren zur Einstufung von hybriden Spracherkennungsergebnissen mit neuronalen Netzwerken
DE112017004374B4 (de) System und Verfahren zur Spracherkennung
DE102020205786B4 (de) Spracherkennung unter verwendung von nlu (natural language understanding)-bezogenem wissen über tiefe vorwärtsgerichtete neuronale netze
DE102017124264B4 (de) Computerimplementiertes Verfahren und Rechensystem zum Bestimmen phonetischer Beziehungen
DE112017003563B4 (de) Verfahren und system einer automatischen spracherkennung unter verwendung von a-posteriori-vertrauenspunktzahlen
DE112014002819B4 (de) System und Verfahren zur Erkennung von Sprache
DE102019005851A1 (de) Objektdetektion in Bildern
DE102017122276A1 (de) Neuronale maschinenübersetzungssysteme
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
DE102018005611A1 (de) Automatische Paarbildung von Fonts unter Verwendung des asymmetrischen Metriklernens
DE102018126041B4 (de) Vorrichtung, verfahren und system zum verstehen gesprochener sprache unter nutzung eines dynamischen vokabulars
DE112013007617T5 (de) Spracherkennungsvorrichtung und Spracherkennungsverfahren
DE112013006770B4 (de) Spracherkennungsvorrichtung und Spracherkennungsverfahren
DE60133537T2 (de) Automatisches umtrainieren eines spracherkennungssystems
DE112014007287T5 (de) Spracherkennungsvorrichtung und Spracherkennungsverfahren
DE112012003479T5 (de) Verringerung von falschen Treffern in Spracherkennungssystemen
DE102023202711A1 (de) System und verfahren mit entitätstypklarstellung für feinkörnigen faktenwissenabruf
DE212022000260U1 (de) Bewerten von Ausgabesequenzen unter Benutzen eines neuronalen autoregressiven Sprachmodell-Netzwerkes
DE112015003357B4 (de) Verfahren und System zum Erkennen einer eine Wortabfolge enthaltenden Sprachansage
CN111898363B (zh) 文本长难句的压缩方法、装置、计算机设备及存储介质
DE102017104094A1 (de) Sprachverarbeitungssystem und sprachverarbeitungsverfahren
DE102023108430A1 (de) Erzeugung von konversationellen erwiderungen unter verwendung von neuralen netzwerken
DE102016125162B4 (de) Verfahren und Vorrichtung zum maschinellen Verarbeiten von Texten
DE112019005921T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
CN114329040B (zh) 音频数据处理方法、装置、存储介质、设备及程序产品

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: ISARPATENT - PATENT- UND RECHTSANWAELTE BARTH , DE

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