-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich allgemein auf Verfahren zum Erkennen von Sprache.
-
HINTERGRUND
-
Koartikulationsprobleme werden oftmals bei Benutzeräußerungen, die numerische Sequenzen mit Folgen mit einer oder mehreren Ziffern umfassen, offensichtlich. Das Koartikulationsproblem kann in jeder gesprochenen Sprache auftreten, insbesondere in tonalen Sprachen, wie beispielsweise Mandarin, Min, Taiwanesisch und Kantonesisch. Beispielsweise entspricht eine numerische Sequenz mit einer Ziffernfolge von „5, 5, 5“ in englisch phonetisch „wu, wu, wu“ in Mandarin. In einigen Fällen kann die „wu, wu, wu“-Äußerung beispielsweise für ein Spracherkennungssystem wie „wu, wu“, „wu, er, wu“, „er, er, er“ oder eine andere ähnliche ungenaue Abwandlung der tatsächlichen Äußerung wirken.
-
US 6 377 921 B1 offenbart ein Verfahren zur Identifikation von Diskrepanzen zwischen akustischen Daten und einer Niederschrift bei einer Spracherkennung, bei dem die akustischen Daten mit Hilfe einer Wahrscheinlichkeitspunktzahl als fehlerhaft markiert werden und die entsprechende Niederschrift, wenn sie als inkorrekt ermittelt wird, korrigiert wird.
-
US 2003 / 0 154 075 A1 beschreibt ein Spracherkennungsverfahren zur Erkennung einer ausgesprochenen Ziffernfolge, bei dem eine Liste mit angenommenen Ziffernfolgen erzeugt wird. Anschließend wird die Liste hinsichtlich einer Bedingung analysiert und die erste Ziffernfolge, die die Bedingung erfüllt, wird als erkannte Folge ausgewählt.
-
DE 694 21 077 T2 lehrt ein Tokenweitergabe-Spracherkennungssystem, das ein Netzwerk mit einer Vielzahl von Vokabularknoten mit zugeordneten Signaturen verwendet, durch welches ein Token geleitet wird, wobei die Weiterleitung eines Tokens an einem Entscheidungsknoten basierend auf den akkumulierten Signaturen erfolgt.
-
ZUSAMMENFASSUNG
-
Aufgabe der Erfindung ist es, ein verbessertes Verfahren zur Erkennung von Sprache bereitzustellen.
-
Zur Lösung der Aufgabe ist ein Verfahren mit den Merkmalen des Anspruchs 1 vorgesehen. Vorteilhafte Ausbildungen der Erfindung sind den Unteransprüchen, der Beschreibung und den Zeichnungen zu entnehmen.
-
Figurenliste
-
Die Merkmale und Vorteile der Beispiele der vorliegenden Offenbarung werden durch Bezugnahme auf die folgende detaillierte Beschreibung und die Zeichnungen ersichtlich, in denen gleiche Bezugszeichen ähnlichen, jedoch möglicherweise nicht identischen, Komponenten entsprechen. Der Kürze halber können Bezugszeichen oder Merkmale mit einer zuvor beschriebenen Funktion in Verbindung mit anderen Zeichnungen, in denen sie erscheinen, beschrieben werden, müssen sie dies jedoch nicht.
- 1 ist ein schematisches Diagramm, das ein Beispiel eines Systems zur Verwendung mit Beispielen eines Verfahrens zum Erkennen von Sprache wie hierin offenbart zeigt;
- 2 ist ein schematisches Diagramm, das ein Beispiel eines Spracherkennungssystems zeigt;
- 3 ist ein Flussdiagramm, das ein Beispiel eines Verfahrens zum Erkennen von Sprache zeigt;
- 4 ist ein Flussdiagramm, das ein Beispiel eines Verfahrens zum Identifizieren einer numerischen Sequenz, die in einer Äußerung umfasst ist, zeigt;
- 5 ist ein Beispiel einer Verwechslungsmatrix für die Äußerung „6, 1, 1“;
- 6 ist ein Beispiel von Akustikmodellen für die Äußerung „6, 1, 1“;
- 7 ist ein Flussdiagramm, das ein weiteres Beispiel eines Verfahrens zum Identifizieren einer numerischen Sequenz, die in einer Äußerung umfasst ist, zeigt; und
- 8 ist ein Flussdiagramm, das ein Beispiel des in 7 gezeigten Verfahrens zeigt.
-
DETAILLIERTE BESCHREIBUNG
-
Das Beispiel/die Beispiele des hierin offenbarten Verfahrens kann/können vorteilhaft verwendet werden, um durch einen Benutzer geäußerte numerische Sequenzen zu identifizieren, wobei solche numerischen Sequenzen eine oder mehrere Ziffernfolgen mit einem Koartikulationsproblem/Koartikulationsproblemen umfassen. Das Verfahren kann durch ein Spracherkennungssystem, entweder ein unabhängiges System oder ein Subsystem eines anderen Systems (das beispielsweise in einem Fahrzeug mit Telematikausstattung wie in 1 gezeigt umfasst ist), verwendet werden, um die numerische Sequenz schnell und mit einem relativ hohen Prozentsatz an Erfolg zu identifizieren. Dies ist oftmals nützlich, wenn beispielsweise eine Kreditkartennummer beim Kaufen von Waren oder Dienstleistungen in ein automatisiertes System ausgesprochen wird. Ferner kann das Identifizieren der numerischen Sequenz vorteilhaft für Äußerungen erreicht werden, die in einer beliebigen Sprache gesprochen werden, die tonale Sprachen, wie beispielsweise Mandarin, umfasst.
-
Wie hierin verwendet bezieht sich der Begriff „numerische Sequenz“ auf eine Sequenz von Zahlen oder Ziffern, die durch einen Benutzer in ein Spracherkennungssystem geäußert werden. Einige nicht einschränkende Beispiele für numerische Sequenzen umfassen Telefonnummern, Postleitzahlen, Sozialversicherungsnummern, Studentenidentifikationsnummern, Kreditkartennummern und/oder dergleichen. In einigen Fällen umfassen numerische Sequenzen eine oder mehrere Ziffernfolgen. Eine „Ziffernfolge“ bezieht sich wie hierin verwendet auf eine Sequenz von wiederholten Zahlen oder Ziffern. Nicht einschränkende Beispiele für Ziffernfolgen umfassen „5, 5“, „9, 9, 9“, „2, 2, 2, 2“ und/oder dergleichen. In einigen Fällen können Ziffernfolgen Koartikulationsmuster enthalten und/oder durch diese beeinflussbar sein.
-
Wie hierin verwendet bezieht sich der Begriff „Element“ auf eine orthographische Darstellung von Worten, Ausdrücken, Sequenzen etc., die in einer Äußerung ausgesprochen werden. Bei einem Beispiel umfasst die numerische Sequenz „5, 5, 5“ drei Elemente (d.h. eines für jede „5“). Bei einem anderen Beispiel umfasst die alphabetische Sequenz „Hallo“ nur ein Element.
-
Ferner bezieht sich der Begriff „Koartikulation“ auf die Überschneidung von Worten, die nacheinander geäußert oder gesprochen werden. In Fällen, in denen eine Koartikulation von zwei oder mehr Worten stattfindet, resultiert ein Koartikulationsmuster der koartikulierten Worte. Bei einem Beispiel verschmilzt der Klang am Ende eines ersten ausgesprochenen Worts mit dem Klang am Beginn eines zweiten ausgesprochenen Worts, was zu einem kombinierten Klang oder Wort führt. Beispielsweise kann eine Äußerung, wie beispielsweise „5, 5“, wenn sie koartikuliert wird, wie „Fü-Fünf” klingen. Eine Koartikulation kann auch als das Zusammenlaufen von zwei oder mehr Worten, die in einer Äußerung ausgesprochen werden, bezeichnet werden. Es sei angemerkt, dass sich „Koartikulationsprobleme“ oder „Koartikulationsfragen“ auf Fälle beziehen, in denen zwei oder mehr in einer Äußerung ausgesprochene Worte koartikuliert werden oder werden könnten.
-
Wie hierin auch verwendet umfasst der Begriff „Benutzer“ eine Person oder einen anderen lebenden Organismus, die oder der eine Äußerung in ein Spracherkennungssystem aussprechen kann. In einigen Fällen kann der „Benutzer“ auch eine nicht lebende Entität, wie beispielsweise ein Automat, ein Roboter oder dergleichen, sein, die auch eine Äußerung in ein Spracherkennungssystem aussprechen kann. In vielen Fällen kann der Begriff „Benutzer“ hierin austauschbar mit der Phrase „Quelle der Äußerung“ verwendet werden. Ferner kann sich der Begriff „Benutzer“ in Fällen, in denen das Spracherkennungssystem in Verbindung mit einem Fahrzeug verwendet wird, das z.B. eine Telematikeinheit oder eine andere einem Fahrzeug zugehörige Kommunikationseinrichtung umfasst, auf einen Fahrzeughalter, einen Bediener und/oder einen Fahrgast beziehen. In diesen Fällen kann der Begriff „Benutzer“ austauschbar mit dem Begriff Teilnehmer/Dienstteilnehmer verwendet werden.
-
Die Begriffe „verbinden/verbunden/Verbindung“ und/oder dergleichen sind hierin breit definiert, um eine Vielzahl von divergierenden verbundenen Anordnungen und Aufbautechniken zu erfassen. Diese Anordnungen und Techniken umfassen ohne Einschränkung (1) die direkte Kommunikation zwischen einer Komponente und einer andern Komponente ohne Zwischenkomponenten dazwischen; und (2) die Kommunikation einer Komponente und einer anderen Komponente mit einer oder mehreren Komponenten dazwischen, vorausgesetzt, dass die eine Komponente, die mit der anderen Komponente „verbunden“ ist, auf irgendeine Weise in funktionaler Kommunikation mit der anderen Komponente steht (ungeachtet des Vorhandenseins einer oder mehrerer zusätzlicher Komponenten dazwischen).
-
Ferner ist zu verstehen, dass „Kommunikation“ als alle Formen von Kommunikation umfassend, einschließlich einer direkten und einer indirekten Kommunikation, zu betrachten ist. Somit kann eine indirekte Kommunikation eine Kommunikation zwischen zwei Komponenten umfassen, wobei sich eine zusätzliche Komponente/zusätzliche Komponenten dazwischen befindet/ befinden.
-
Es ist zu verstehen, dass die Beispiele des hierin offenbarten Verfahrens in einem beliebigen System unter Verwendung von Spracherkennungssystemen und/oder -software durchgeführt werden können. Beispiele für solche Systeme umfassen ohne Einschränkung Dateneintragssysteme (wie beispielsweise Systeme, die zum Eingeben einer Kreditkarteninformation zum Kaufen von Waren, Diensten oder dergleichen verwendet werden), Systeme zum Vorbereiten von Dokumenten (wie beispielsweise Systeme, die zum Vorbereiten von Diagnose- oder medizinischen Berichten verwendet werden), Computersysteme zur Umwandlung von Sprache in Text (wie beispielsweise Wortprozessoren oder Emailsysteme), Systeme, die in mobilen Fahrzeugen verwendet werden (wie beispielsweise Systeme, die Telematikeinheiten verwenden, um Dienste etc. zu erhalten) und/oder dergleichen. Zu Erläuterungszwecken werden die Beispiele des hierin nachfolgend beschriebenen Verfahrens zur Verwendung in Verbindung mit einem Kraftfahrzeug mit Telematikausstattung beschrieben.
-
Nun auf 1 Bezug nehmend umfasst das System 10 ein Fahrzeug 12, eine Telematikeinheit 14, ein Drahtlosträger-/Kommunikationssystem 16 (das ohne Einschränkung eine oder mehrere Mobilfunktürme 18, eine oder mehrere Basisstationen und/oder Mobilfunkvermittlungsstellen (MSCs von mobile switching centers) 20 und einen oder mehrer Dienstanbieter (nicht gezeigt) umfasst), ein oder mehrere Bodennetze 22 und ein oder mehrere Call Center 24. Bei einem Beispiel ist das Drahtlosträger-/Kommunikationssystem 16 ein Zweiwegehochfrequenzkommunikationssystem.
-
Die Gesamtarchitektur, der Gesamtaufbau und der Gesamtbetrieb sowie viele der einzelnen Komponenten des in 1 gezeigten Systems 10 sind in der Technik weithin bekannt. Somit liefern die folgenden Absätze einen Kurzüberblick über ein Beispiel eines solchen Systems 10. Es ist jedoch zu verstehen, dass weitere Komponenten und/oder andere Systeme, die hier nicht gezeigt sind, das hierin offenbarte Verfahren/die hierin offenbarten Verfahren einsetzen könnten.
-
Das Fahrzeug 12 ist ein mobiles Fahrzeug, wie beispielsweise ein Motorrad, ein Auto, ein Lastwagen, ein Wohnmobil (RV von recreational vehicle), ein Boot, ein Flugzeug etc., und ist mit geeigneter Hardware und Software ausgestattet, die es ihm ermöglicht, über das Drahtlosträger-/Kommunikationssystem 16 zu kommunizieren (z.B. Sprach- und Datenmitteilungen zu senden und/oder zu empfangen). Es ist zu verstehen, dass das Fahrzeug 12 auch zusätzliche Komponenten umfassen kann, die zur Verwendung in der Telematikeinheit 14 geeignet sind.
-
Ein Teil der Fahrzeughardware 26 ist in 1 allgemein gezeigt und umfasst die Telematikeinheit 14 und andere Komponenten, die mit der Telematikeinheit 14 funktional verbunden sind. Beispiele solcher anderer Komponenten der Hardware 26 umfassen ein Mikrofon 28, einen Lautsprecher 30 und Knöpfe, Drücker, Schalter, Tastaturen und/oder Bedienelemente 32. Allgemein ermöglichen diese Komponenten der Hardware 26 einem Benutzer, mit der Telematikeinheit 14 und beliebigen anderen Komponenten des Systems 10, die mit der Telematikeinheit 14 in Kommunikation stehen, zu kommunizieren.
-
Eine Netzverbindung oder ein Fahrzeugbus 34 ist funktional mit der Telematikeinheit 14 gekoppelt. Beispiele geeigneter Netzverbindungen umfassen ein Controller Area Network (CAN), einen Media Oriented System Transfer (MOST), ein Local Interconnection Network (LIN), ein Ethernet und andere geeignete Verbindungen, wie beispielsweise jene, die mit bekannten ISO-, SAE- und IEEE-Standards und -Spezifikationen konform sind, nur um einige zu nennen. Der Fahrzeugbus 34 ermöglicht dem Fahrzeug 12, Signale von der Telematikeinheit 14 an verschiedene Geräte- und Systemeinheiten zu senden und hiervon zu empfangen, die sich sowohl außerhalb des Fahrzeugs 12 als auch innerhalb des Fahrzeugs 12 befinden, um verschiedene Funktionen durchzuführen, wie beispielsweise entriegeln einer Tür, Ausführen persönlicher Komforteinstellungen und/oder dergleichen.
-
Die Telematikeinheit 14 ist eine fahrzeugeigene Einrichtung, die eine Vielzahl von Diensten bereitstellt, sowohl individuell als auch durch ihre Kommunikation mit dem Call Center 24. Die Telematikeinheit 14 umfasst allgemein eine elektronische Verarbeitungseinrichtung 36, die funktional mit einem oder mehreren Typen von elektronischem Speicher 38, einem zellularen Chipsatz/einer zellularen Komponente 40, einem Drahtlosmodem 42, einer Navigationseinheit, die eine Ortsdetektion umfasst (z.B. globales Positionsbestimmungssystem (GPS von global positioning system)), einem Chipsatz/einer Komponente 44, einem Echtzeittakt (RTC von real-time clock) 46, einem drahtlosen Nahbereichskommunikationsnetz 48 (z.B. einer BLUETOOTH®-Einheit) und/oder einer Dualantenne 50 gekoppelt ist. Bei einem Beispiel umfasst das drahtlose Modem 42 ein Computerprogramm und/oder einen Satz von Softwareroutinen, die in der Verarbeitungseinrichtung 36 ausgeführt werden.
-
Es ist zu verstehen, dass die Telematikeinheit 14 ohne eine oder mehrere der oben aufgelisteten Komponenten realisiert sein kann, wie beispielsweise das drahtlose Nahbereichskommunikationsnetz 48. Es ist ferner zu verstehen, dass die Telematikeinheit 14 auch weitere Komponenten und eine weitere Funktionalität umfassen kann, wie es für eine bestimmte Endanwendung gewünscht ist.
-
Die elektronische Verarbeitungseinrichtung 36 kann ein Mikrocontroller, ein Controller, ein Mikroprozessor, ein Host-Prozessor und/oder ein Fahrzeugkommunikationsprozessor sein. Bei einem anderen Beispiel kann die elektronische Verarbeitungseinrichtung 36 ein anwendungsspezifischer Schaltkreis (ASIC von application specific integrated circuit) sein. Alternativ kann die elektronische Verarbeitungseinrichtung 36 ein Prozessor sein, der in Verbindung mit einer zentralen Verarbeitungseinheit (CPU von central processing unit) arbeitet, die die Funktion eines Universalprozessors ausführt.
-
Der Ortsdetektionschipsatz/die Ortsdetektionskomponente 44 kann einen Empfänger des globalen Positionsbestimmungssystems (GPS-Empfänger), ein Funktriangulationssystem, ein Koppelnavigationssystem und/oder Kombinationen hiervon umfassen. Insbesondere liefert ein GPS-Empfänger die genaue Zeit und genaue Breitengrad- und Längengradkoordinaten des Fahrzeugs 12 in Ansprechen auf ein GPS-Ausstrahlungssignal, das von einer GPS-Satellitenkonstellation (nicht gezeigt) empfangen wird.
-
Der zellulare Chipsatz/ die zellulare Komponente 40 kann ein analoges, ein digitales, ein Dualmodus-, ein Dualband-, ein Multimodus- und/oder ein Multiband-Mobiltelefon sein. Der zellulare Chipsatz - die zellulare Komponente 40 verwendet eine oder mehrere vorgeschriebene Frequenzen in dem 800 MHz-Analogband oder in den 800 MHz-, 900 MHz-, 1900 MHz- und höheren Digitalzellularbändern. Es kann ein beliebiges geeignetes Protokoll verwendet werden, das Digitalübertragungstechnologien umfasst, wie beispielsweise TDMA (Time Division Multiple Access), CDMA (Code Division Multiple Access) und GSM (Global System for Mobile Telecommunications). In einigen Fällen kann das Protokoll Nahbereichsdrahtloskommunikationstechnologien umfassen, wie beispielsweise BLUETOOTH®, dedizierte Nahbereichskommunikationen (DSRC von dedicated short-range communications) oder Wi-Fi.
-
Zu der elektronischen Verarbeitungseinrichtung 36 gehört auch der zuvor erwähnte Echtzeittakt (RTC) 46, der genaue Datum- und Zeitinformationen für die Hardware- und Softwarekomponenten der Telematikeinheit 14 bereitstellt, welche solche Datum- und Zeitinformationen benötigen und/oder anfordern können. Bei einem Beispiel kann der RTC 46 periodisch, wie beispielsweise alle zehn Millisekunden, Datum- und Zeitinformationen liefern.
-
Die Telematikeinheit 14 stellt zahlreiche Dienste bereit, von denen einige hierin möglicherweise nicht aufgelistet sind, und ist ausgestaltet, um eine oder mehrere Teilnehmeranforderungen zu erfüllen. Verschiedene Beispiele solcher Dienste umfassen ohne Einschränkung: Turn-by-Turn-Wegbeschreibungen und andere navigationsbezogene Dienste, die in Verbindung mit dem GPS-basierten Chipsatz/der GPS-basierten Komponente 44 bereitgestellt werden; eine Airbag-Einsatzbenachrichtigung und andere Notfall- oder Pannenhilfe-Dienste, die in Verbindung mit verschiedenen Aufprall- und/oder Kollisionssensorschnittstellenmodulen 52 und -sensoren 54 bereitgestellt werden, die an dem Fahrzeug 12 angeordnet sind; und Infotainment-bezogene Dienste, bei denen Musik, Webseiten, Filme, Fernsehprogramme, Videospiele und/oder anderer Inhalt durch ein Infotainment-Center 56 heruntergeladen werden, das über den Fahrzeugbus 34 und einen Audiobus 58 wirksam mit der Telematikeinheit 14 verbunden ist. Bei einem nicht einschränkenden Beispiel wird heruntergeladener Inhalt für eine gegenwärtige oder spätere Wiedergabe (z.B. in dem Speicher 38) gespeichert.
-
Wieder sind die oben aufgeführten Dienste keineswegs eine vollständige Liste aller Fähigkeiten der Telematikeinheit 14, sondern sind sie lediglich eine Darstellung einiger der Dienste, die die Telematikeinheit 14 anbieten kann.
-
Fahrzeugkommunikationen verwenden allgemein Funkübertragungen, um einen Sprachkanal zu dem drahtlosen Trägersystem 16 herzustellen, sodass sowohl Sprach- als auch Datenübertragungen über den Sprachkanal gesendet und empfangen werden können. Fahrzeugkommunikationen werden über den zellularen Chipsatz/die zellulare Komponente 40 für Sprachkommunikationen und das Drahtlosmodem 42 für eine Datenübertragung ermöglicht. Um eine erfolgreiche Datenübertragung über den Sprachkanal zu ermöglichen, wendet das Drahtlosmodem 42 einen Typ von Codierung oder Modulation an, um die digitalen Daten umzuwandeln, sodass sie über einen Vocoder oder Sprach-Codec, der in dem zellularen Chipsatz/ der zellularen Komponente 40 umfasst ist, übermittelt werden können. Es ist zu verstehen, dass jede geeignete Codierungs- oder Modulationstechnik, die eine akzeptable Datenrate und einen akzeptablen Bitfehler bereitstellt, bei den hierin offenbarten Beispielen verwendet werden kann. Allgemein bedient die Dualmodusantenne 50 den Ortsdetektionschipsatz/die Ortsdetektionskomponente 44 und den zellularen Chipsatz/die zellulare Komponente 40.
-
Das Mikrofon 28 stellt dem Benutzer ein Mittel zum Eingeben von verbalen oder anderen auditiven Befehlen (wie beispielsweise eine Äußerung, die eine numerische Sequenz umfasst) bereit und kann mit einer eingebetteten Sprachverarbeitungseinheit ausgestattet sein, die eine Mensch/Maschine-Schnittstellentechnologie (HMI-Technologie von human/machine interface technology), die in der Technik bekannt ist, verwendet. Umgekehrt stellt der Lautsprecher 30 eine verbale Ausgabe für die Fahrzeuginsassen bereit und kann er entweder ein unabhängiger Lautsprecher sein, der speziell zur Verwendung mit der Telematikeinheit 14 vorgesehen ist, oder kann er ein Teil einer Fahrzeugaudiokomponente 60 sein. In jedem Fall und wie zuvor erwähnt ermöglichen das Mikrofon 28 und der Lautsprecher 30 der Fahrzeughardware 26 und dem Call Center 24, über hörbare Sprache mit den Insassen zu kommunizieren. Die Fahrzeughardware 26 umfasst auch einen oder mehrere Knöpfe, Drücker, Schalter, Tastaturen und/oder Bedienelemente 32, um einem Fahrzeuginsassen zu ermöglichen, eine oder mehrere der Fahrzeughardwarekomponenten zu aktivieren oder einzuschalten. Bei einem Beispiel kann einer der Knöpfe 32 ein elektronischer Druckknopf sein, der verwendet wird, um eine Sprachkommunikation mit dem Call Center 24 zu initiieren (sei es mit einem menschlichen Berater 62 oder einem automatischen Anrufbeantwortungssystem 62'). Bei einem anderen Beispiel kann einer der Knöpfe 32 verwendet werden, um Notfalldienste zu initiieren.
-
Das Mikrophon 28 ist auch selektiv und funktional mit einem Prozessor 29 verbunden. Wie in 2 gezeigt umfasst der Prozessor 29 einen Speicher 90 und eine Spracherkennungsmaschine 92. Die Spracherkennungsmaschine 92 ist ausgestaltet, um ein oder mehrere Softwareprogramme und/oder eine oder mehrere Softwareroutinen mit einem von einem Computer lesbaren Code auszuführen, um verschiedene Schritte der Beispiele des nachstehend beschriebenen Verfahrens durchzuführen. Der Speicher 90 ist ausgestaltet, um eine Information zur Verwendung beim Durchführen der verschiedenen Schritte des Verfahrens zu speichern. Beispielsweise können in dem Speicher 90 ein Basisakustikmodell und ein oder mehrere zusätzliche Akustikmodelle zur Verwendung beim Durchführen eines der Beispiele des hierin offenbarten Verfahrens gespeichert sein. Bei diesem Beispiel kommuniziert die Spracherkennungsmaschine 92 selektiv und funktional mit dem Speicher 90, um eines oder mehrere dieser Modelle zu erhalten und zu verwenden, um schließlich eine numerische Sequenz zu identifizieren, die in einer Äußerung ausgesprochen wird. Nachstehend werden Details dieses Beispiels in Verbindung mit den 4 - 6 beschrieben. Der Speicher 90 kann auch oder anderweitig ausgestaltet sein, um temporär eine Liste der N besten zu speichern, die dynamisch durch die Spracherkennungsmaschine 92 erzeugt wird, wenn versucht wird, eine geäußerte numerische Sequenz zu identifizieren. Weitere Details dieses Beispiels des Verfahrens werden nachstehend in Verbindung mit 7 und 8 beschrieben.
-
Die Audiokomponente 60 ist funktional mit dem Fahrzeugbus 34 und dem Audiobus 58 verbunden. Die Audiokomponente 60 empfängt analoge Informationen über den Audiobus 58 und gibt sie als Töne aus. Digitale Informationen werden über den Fahrzeugbus 34 empfangen. Die Audiokomponente 60 stellt AM- und FM-Radio, Satellitenradio, CD, DVD, Multimedia- und andere ähnliche Funktionen, die von dem Infotainment-Center 56 unabhängig sind, bereit. Die Audiokomponente 60 kann ein Lautsprechersystem enthalten oder den Lautsprecher 30 über eine Arbitrierung an dem Fahrzugbus 34 und/oder dem Audiobus 58 verwenden.
-
Die Audiokomponente 60 ist auch selektiv und funktional mit dem Prozessor 29 verbunden. Bei mindestens einem der hierin offenbarten Beispiele ist die Audiokomponente 60 auch ausgestaltet, um in Ansprechen auf einen Befehl von dem Prozessor 29 eine oder mehrere mögliche numerische Sequenzen (erzeugt durch die Spracherkennungsmaschine 92) an die Quelle der Äußerung (z.B. den Benutzer des Fahrzeugs 12) auszusprechen, um letztlich zu ermitteln, ob die Äußerung korrekt identifiziert wurde oder nicht. Weitere Details dieser Beispiele werden auch nachstehend beschrieben.
-
Die Kombination des Mirkophons 28, des Prozessors 29 (einschließlich des Speichers 90 und der Spracherkennungsmaschine 92) und der Audiokomponente 60 wird hierin als „Spracherkennungssystem“ bezeichnet und ist in 2 durch das Bezugszeichen 100 identifiziert. Für die Zwecke der Beispiele des hierin beschriebenen Verfahrens ist das Spracherkennungssystem 100 ein Subsystem des in 1 gezeigten Systems 10. Wie oben erwähnt kann das Spracherkennungssystem 100 in anderen Systemen umfasst sein oder in einigen Fällen als unabhängiges System verwendet werden.
-
Die Fahrzeugaufprall- und/oder -kollisionsdetektionssensorschnittstelle 52 ist/sind funktional mit dem Fahrzeugbus 34 verbunden. Die Aufprallsensoren 54 liefern der Telematikeinheit 14 über die Aufprall- und/oder Kollisionsdetektionssensorschnittstelle 52 eine Information bezüglich der Schwere einer Fahrzeugkollision wie beispielsweise den Aufprallwinkel und den Betrag einer erfahrenen Kraft.
-
Andere Fahrzeugsensoren 64, die mit verschiedenen Sensorschnittstellenmodulen 66 verbunden sind, sind mit dem Fahrzeugbus 34 funktional verbunden. Beispielhafte Fahrzeugsensoren 64 umfassen ohne Einschränkung Gyroskope, Beschleunigungsmesser, Magnetometer, Emissionsdetektions- und/oder -steuersensoren, Umgebungsdetektionssensoren und/oder dergleichen. Einer oder mehrere der oben aufgelisteten Sensoren 64 kann oder können verwendet werden, um die Fahrzeugdaten zur Verwendung durch die Telematikeinheit 14 oder das Call Center 24 zu erhalten, um den Betrieb des Fahrzeugs 12 zu bestimmen. Nicht einschränkende beispielhafte Sensorschnittstellenmodule 66 umfassen eine Antriebsstrangsteuerung, eine Klimasteuerung, eine Karosseriesteuerung und/oder dergleichen.
-
Bei einem nicht einschränkenden Beispiel umfasst die Fahrzeughardware 26 eine Anzeige 80, die direkt funktional mit der Telematikeinheit 14 verbunden sein kann oder in Kommunikation mit dieser stehen kann oder Teil der Audiokomponente 60 sein kann. Nicht einschränkende Beispiele der Anzeige 80 umfassen eine VFD (Vakuumfluoreszenzanzeige von Vacuum Fluorescent Display), eine LED-Anzeige (Leuchtdioden-Anzeige von Light Emitting Diode display), eine Anzeige einer Fahrerinformationszentrale, eine Radioanzeige, eine Einrichtung für beliebigen Text, eine Head-Up-Anzeige (HUD), eine LCD-Anzeige (Flüssigkristall-Anzeige von Liquid Crystal Diode display) und/oder dergleichen.
-
Das Drahtlosträger-/Kommunikationssystem 16 kann ein Mobiltelefonsystem oder jedes andere geeignete drahtlose System sein, das Signale zwischen der Fahrzeughardware 26 und dem Bodennetz 22 überträgt. Gemäß einem Beispiel umfasst das Drahtlosträger-/Kommunikationssystem 16 eine(n) oder mehrere Mobilfunktürme 18, Basisstationen und/oder Mobilfunkvermittlungsstellen (MSCs) 20 sowie beliebige andere Netzkomponenten, die erforderlich sind, um das drahtlose System 16 mit dem Bodennetz 22 zu verbinden. Es ist zu verstehen, dass verschiedene Mobilfunkturm/Basisstation/MSC-Anordnungen möglich sind und mit dem drahtlosen System 16 verwendet werden könnten. Beispielsweise können eine Basisstation 20 und ein Mobilfunkturm 18 zusammen an derselben Stelle angeordnet sein oder sie könnten entfernt voneinander angeordnet sein und kann eine einzelne Basisstation 20 mit verschiedenen Mobilfunktürmen 18 gekoppelt sein oder könnten verschiedene Basisstationen 20 mit einer einzelnen MSC 20 gekoppelt sein. Es kann auch ein Sprach-Codec oder Vocoder in einer oder mehreren der Basisstationen 20 umfasst sein, er könnte jedoch in Abhängigkeit von der bestimmten Architektur des drahtlosen Netzes 16 in einer Mobilfunkvermittlungsstelle 20 oder auch in einigen anderen Netzkomponenten umfasst sein.
-
Das Bodennetz 22 kann ein herkömmliches bodenbasiertes Telekommunikationsnetz sein, das mit einem oder mehreren Festnetztelefonen verbunden ist und das Drahtlosträger-/Kommunikationssystem 16 mit dem Call Center 24 verbindet. Beispielsweise kann das Bodennetz 22 ein Fernsprechnetz (PSTN von public switched telephone network) und/oder ein Internetprotokoll-Netz (IP-Netz) umfassen. Es ist zu verstehen, dass ein oder mehrere Segmente des Bodennetzes 22 in Form eines drahtgebundenen Standardnetzes, eines Faser- oder anderen optischen Netzes, eines Kabelnetzes, anderer drahtloser Netze, wie beispielsweise Wireless Local Networks (WLANs) oder Netze, die einen drahtlosen Breitbandzugriff (BWA von broadband wireless access) bereitstellen, oder jeder Kombination hiervon realisiert sein können.
-
Das Call Center 24 ist entworfen, um der Fahrzeughardware 26 eine Anzahl von verschiedenen System-Backend-Funktionen bereitzustellen. Gemäß dem hier gezeigten Beispiel umfasst das Call Center 24 allgemein einen oder mehrere Schalter 68, Server 70, Datenbanken 72, menschliche und/oder automatisierte Berater 62, 62', einen Prozessor 84 sowie eine Vielzahl von anderen Telekommunikations- und Computergeräten 74, die Fachleuten bekannt sind. Diese verschiedenen Call Center-Komponenten sind miteinander über eine Netzwerkverbindung oder einen Bus 76, wie beispielsweise einen, der dem zuvor in Verbindung mit der Fahrzeughardware 26 beschriebenen Fahrzeugbus 34 ähnlich ist, gekoppelt.
-
Der Prozessor 84, der oftmals in Verbindung mit den Computergeräten 74 verwendet wird, ist allgemein mit einer geeigneten Software und/oder geeigneten Programmen ausgestattet, die ausgestaltet sind, um eine Vielzahl von Funktionen des Call Centers 24 zu erreichen.
-
Der menschliche Berater 62 kann sich physikalisch an dem Call Center 24 befinden oder kann sich an einem von dem Call Center 24 entfernten Ort befinden, während er über dieses kommuniziert.
-
Der Schalter 68, der ein Telekommunikationsanlagenschalter (PBX-Schalter von private branch exchange switch) sein kann, leitet eingehende Signale weiter, sodass Sprachübertragungen für gewöhnlich an entweder den menschlichen Berater 62 oder das automatisierte Antwortsystem 62' gesendet werden und Datenübertragungen an ein Modem oder ein anderes Gerät (nicht gezeigt) zur Demodulation und weiteren Signalverarbeitung weitergeleitet werden. Das Modem umfasst vorzugsweise einen Codierer, wie zuvor erklärt, und kann mit verschiedenen Einrichtungen, wie beispielsweise dem Server 70 und der Datenbank 72, verbunden sein. Beispielsweise kann die Datenbank 72 entworfen sein, um Teilnehmerprofildatensätze, Teilnehmerverhaltensmuster oder beliebige andere den Teilnehmer betreffende Informationen zu speichern. Obwohl das erläuterte Beispiel so beschrieben wurde, als würde es in Verbindung mit einem mit Personal besetzten Call Center 24 verwendet werden, sei angemerkt, dass das Call Center 24 jede zentrale oder entfernte Einrichtung, mit oder ohne Personal, mobil oder fest, sein kann, mit der Sprach- und Datenmitteilungen ausgetauscht werden sollen.
-
Im Allgemeinen umfasst und/oder betreibt ein Zellulardienstanbieter das Drahtlosträger-/Kommunikationssystem 16. Es ist zu verstehen, dass, obwohl sich der Zellulardienstanbieter (nicht gezeigt) an dem Call Center 24 befinden kann, das Call Center 24 eine separate und von dem Zellulardienstanbieter verschiedene Entität ist. Bei einem Beispiel befindet sich der Zellulardienstanbieter an einem von dem Call Center 24 entfernten Ort. Ein Zellulardienstanbieter stellt dem Benutzer Telefon- und/oder Internetdienste bereit, während das Call Center 24 ein Telematikdienstanbieter ist. Der Zellulardienstanbieter ist im Allgemeinen ein drahtloser Träger (wie beispielsweise Verizon Wireless®, AT&T®, Sprint® etc.). Es ist zu verstehen, dass der Zellulardienstanbieter mit dem Call Center 24 in Interaktion stehen kann, um dem Benutzer einen Dienst/verschiedene Dienste bereitzustellen.
-
Ein Beispiel eines Verfahrens zum Erkennen von Sprache ist allgemein in 3 gezeigt. Das Verfahren umfasst, dass: in das Spracherkennungssystem 100 eine Äußerung ausgesprochen wird, die eine numerische Sequenz umfasst, wobei die numerische Sequenz eine Ziffernfolge mit mehreren Elementen (wie durch das Bezugszeichen 300 gezeigt) umfasst; ein Koartikulationsproblem detektiert wird, das mit mindestens zwei potentiell koartikulierten Elementen in der Ziffernfolge in Beziehung steht (wie durch Bezugszeichen 302 gezeigt); und die numerische Sequenz identifiziert wird (wie durch Bezugszeichen 304 gezeigt).
-
Das Aussprechen der Äußerung in das Spracherkennungssystem 100 kann durch Äußern von mindestens der numerischen Sequenz in das Mikrophon 28 erreicht werden. Die Äußerung gelangt durch das Mikrophon 28 und wird direkt in die Spracherkennungsmaschine 92 des Prozessors 29 eingegeben. Die Äußerung kann eine alphabetische Sequenz, eine alphabetische Sequenz in Kombination mit einer numerischen Sequenz oder eine numerische Sequenz allein umfassen. Beispielsweise kann der Benutzer „meine Telefonnummer lautet 248-555-9611“ in das Mikrophon 28 aussprechen. Der Teil der Äußerung, der „meine Telefonnummer lautet“ umfasst, wird als alphabetische Sequenz betrachtet, wohingegen der Teil der Äußerung, der „248-555-9611“ umfasst, als numerische Sequenz betrachtet wird. Bei diesem Beispiel umfasst die numerische Sequenz zwei koartikulierte Muster; i) 5, 5, 5 und ii) 1, 1. Ferner umfasst die gesamte Äußerung vierzehn Elemente; zehn, die die numerische Sequenz allein betreffen.
-
Sobald die Äußerung in das Spracherkennungssystem 100 ausgesprochen wurde, kann die Spracherkennungsmaschine 92 ein Verfahren oder mehrere verschiedene Verfahren (durch geeignete Softwareprogramme und/oder Routinen ausgeführt oder durchgeführt) anwenden, um die Äußerung zu identifizieren. Ein Beispiel solch eines Verfahrens wird nun in Verbindung mit 4 - 6 beschrieben. Dieses Beispiel des Verfahrens umfasst, dass die numerische Sequenz unter Verwendung von mindestens einem zusätzlichen Akustikmodell identifiziert wird.
-
Nun auf 4 Bezug nehmend umfasst das Verfahren zum Identifizieren der numerischen Sequenz unter Verwendung des zusätzlichen Akustikmodells/der zusätzlichen Akustikmodelle das Entwickeln eines Basisakustikmodells, das mehrere Worte oder Ausdrücke umfasst (wie durch das Bezugszeichen 400 in 4 gezeigt). Das Basisakustikmodell kann unter Verwendung eines geeigneten Spracherkennungsverfahrens entwickelt werden, das einem Fachmann bekannt ist. Ein Beispiel zum Entwickeln des Basisakustikmodells umfasst, dass mehrere Audioaufzeichnungen von verschiedenen Äußerungen, die durch eine Anzahl von verschiedenen Quellen gesprochen werden, hergenommen werden und das Basisakustikmodell aus den Audioaufzeichnungen entwickelt wird. Bei diesem Beispiel antwortet ein Sprecher (der sich vor einem Computer mit einem funktional damit verbundenen Mikrophon befinden kann) auf einen Satz von geführten Äußerungen, die durch eine Computeranzeige aufgefordert werden, einen Satz von geschriebenen Anweisungen oder ein anderes Mittel. Bei einem Beispiel werden die geführten Äußerungen unter Verwendung von geeigneten Spracherkennungssoftwareprogrammen erzeugt, die durch den Computer ausgeführt werden. Die geführten Äußerungen können beispielsweise eine Anforderung für den Sprecher, bestimmte Worte, Phrasen, Sequenzen, Ausdrücke etc. zu äußern, die durch die Computerprogramme erkennbar sind, umfassen. Beispiele für die geführten Äußerungen können beispielsweise die Zahl „zwei“, die Sequenz „fünf, fünf”, die Phrase „einen Anruf tätigen“, den Ausdruck „Guten Morgen!“ und/oder dergleichen umfassen. Die Äußerungen (die Phoneme umfassen) werden aufgezeichnet, digitalisiert und analysiert, um schließlich eine Gauss-Verteilung für jedes bestimmte Wort, jeden bestimmten Ausdruck etc. zu entwickeln. In vielen Fällen kann für jede Äußerung auch eine Niederschrift in Textform gebildet werden. Solche Niederschriften in Textform können für eine Vielzahl von Zwecken verwendet werden, wie beispielsweise um eine Darstellung in Textform für die Äußerung selbst bereitzustellen. Es wird eine Software verwendet, um die Gauss-Verteilung zu erzeugen, was statistische Darstellungen der Klänge umfasst, die jedes Wort der Aufzeichnung und Niederschrift in Textform bilden. Somit werden den Äußerungen statistische numerische Werte zugeordnet (d.h. die Parameter, die zum Entwickeln der Gauss-Verteilungen verwendet werden). Die aufgezeichneten Äußerungen, die als Parameter kodiert sind (einschließlich ihrer numerischen statistischen Werte und Niederschriften in Textform) werden dann in einer Datenbank gespeichert, die hierin als Basisakustikmodell bezeichnet ist.
-
Das Basisakustikmodell kann dann getestet werden, um beliebige potentielle Koartikulationsfragen oder -probleme bei einem/einer oder mehreren der Worte, Phrasen, Sequenzen und/oder Ausdrücke, die darin gespeichert sind, zu erkennen (wie durch das Bezugszeichen 402 in 4 gezeigt). Ein Testen kann beispielsweise durch Aussprechen eines Satzes von Äußerungen (wie beispielsweise die gleichen Äußerungen, die durch die geführten Äußerungen aufgefordert werden) in dem Computer erreicht werden, der die Spracherkennungssoftwareprogramme ausführt, die verwendet werden, um das Basisakustikmodell zu entwickeln oder zu trainieren, wie es oben beschrieben ist. Wenn eine Äußerung in das System 100 gesprochen wird, wird das Wort/werden die Worte analysiert und mit Worten in dem Basisakustikmodell verglichen. Der Äußerung und einer potentiellen Übereinstimmung in dem Akustikmodell wird ein Wahrscheinlichkeitswert zugeordnet. Je höher der Wahrscheinlichkeitswert ist, desto wahrscheinlicher ist es, dass der Sprecher das Wort/die Worte geäußert hat, das/die sich in dem Basisakustikmodell [engl.: „case acoustic model“] befindet/befinden.
-
Es wird die Häufigkeit von Erkennungsfehlern für einen Satz von Äußerungen analysiert, um zu ermitteln, welche Äußerungen am öftesten fehlerkannt werden. Danach wird eine Verwechslungsmatrix für die Worte, Phrasen etc. auf der Grundlage des Tests des Basisakustikmodells erzeugt.
-
Die Verwechslungsmatrix ist ein statistisches Werkzeug, das verwendet werden kann, um zu ermitteln, ob ein System (wie beispielsweise das Spracherkennungssystem 100) eine tatsächliche Klasse (z.B. eine tatsächliche Äußerung) mit einer vorhergesagten Klasse (z.B. einer vorhergesagten Äußerung) verwechselt. Bei dem hierin beschriebenen Beispiel wird die vorhergesagte Äußerung davon abgeleitet, was das Spracherkennungssystem 100 annahm, was die tatsächliche Äußerung während des Tests des Basisakustikmodells war. Beispielsweise kann das System 100 die Äußerung ''6, 1, 1'' als ''6, 1'', ''6, 1, 1, 1'', ''6, 0, 1'' oder dergleichen fehlerkannt haben. Ein Beispiel für eine Verwechslungsmatrix für die Äußerung „6, 1, 1“ ist in 5 gezeigt. Es ist zu verstehen, dass die in 5 gezeigte Verwechslungsmatrix vereinfacht wurde, um das Verständnis zu vereinfachen. Bei diesem Beispiel zeigt die Verwechslungsmatrix, dass beispielsweise für 60 getestete Sprecher das System 100 die Äußerung korrekt als „6, 1, 1“ verstand, jedoch i) das System 100 für 31 der Sprecher die Äußerung inkorrekt als „6, 1“ verstand (dies ist ein Beispiel, das oftmals als Löschungsfehler bezeichnet wird), ii) für 8 der Sprecher die Äußerung inkorrekt als „6, 0, 1“ verstand (dies ist ein Beispiel, das oftmals als Ersetzungsfehler oder einfach als Fehler bezeichnet wird), und iii) das System 100 die Äußerung für einen Sprecher inkorrekt als „6, 1, 1, 1“ verstand (dies ist ein Beispiel, das oftmals als Einsetzungsfehler bezeichnet wird).
-
Aus der Verwechslungsmatrix kann man die Häufigkeit eines üblichen Koartikulationsproblems mit der Äußerung „6, 1, 1“ ableiten. Wie hierin verwendet bezieht sich ein „übliches Koartikulationsproblem“ auf ein Koartikulationsproblem, das wieder auftritt und durch das Testen des Basisakustikmodells ermittelt wird. Solche üblichen Koartikulationsprobleme werden typischerweise bei einer Spracherkennung erwartet. Beispielsweise kann aus der Verwechslungsmatrix geschlossen werden, dass das System 100 die Äußerung „6, 1, 1“ mit „6, 1“, „6, 1, 1, 1“ oder einer anderen Abwandlung verwechselt. Die Analyse der Testdaten gibt an, dass das System 100 mit dieser bestimmten Äußerung ein übliches Koartikulationsproblem hat.
-
Beim Erkennen des üblichen Koartikulationsproblems mit der Äußerung „6, 1, 1“ kann mindestens ein zusätzliches Akustikmodell für die Äußerung erzeugt werden, wenn das Koartikulationsproblem einen vorbestimmten Schwellenwert übersteigt. Bei einem nicht einschränkenden Beispiel kann, wenn das System 100 mindestens 10% der Äußerungen fehlerkannt hat, mindestens ein zusätzliches Akustikmodell erzeugt werden, um die typischerweise fehlerkannte Sequenz zu berücksichtigen. Es ist zu verstehen, dass der vorbestimmte Schwellenwert in Abhängigkeit von zumindest teilweise der Kritizität der Anwendung, für die das Modell verwendet wird, variieren kann. Beispielsweise kann bei kritischen Anwendungen, wie beispielsweise bei medizinischen Niederschriften oder dergleichen, mindestens ein zusätzliches Akustikmodell für die Äußerung erzeugt werden, wenn das Koartikulationsproblem einen Prozentsatz von beispielsweise 20% übersteigt. Mit anderen Worten können ein oder mehrere zusätzliche Akustikmodelle auf der Grundlage der Ergebnisse des Tests des Basisakustikmodells (wie durch Bezugszeichen 404 in 4 gezeigt) erzeugt werden, wobei die zusätzlichen Modelle spezifisch entworfen werden, um das gemeinsame Koartikulationsproblem zu berücksichtigen. Ein Beispiel für Akustikmodelle für die Äußerung „6, 1, 1“ ist in 6 gezeigt.
-
Nun auf das in 6 gezeigte Beispiel Bezug nehmend umfasst das Basisakustikmodell die Ziffern von 0 bis 9 und ist das zusätzliche Akustikmodell durch X identifiziert, was die markierte Ziffernsequenz ''1, 1'' ist. Die markierte Ziffernsequenz stellt allgemein eine Sequenz von Zahlen mit mindestens zwei koartikulierten Elementen dar. In vielen Fällen umfasst die durch X dargestellte Sequenz von Zahlen eine Ziffernfolge. Wie in 6 gezeigt stellt die durch das Zeichen X identifizierte markierte Ziffernsequenz 1, 1 dar. Wie es nachstehend weiter beschrieben wird, wird das Zeichen X durch die Spracherkennungsmaschine 92 jedes Mal angewarnt, wenn das zusätzliche Akustikmodell anstelle des Basisakustikmodells eingeschaltet wird. Somit kann das zusätzliche Akustikmodell in Verbindung mit dem Basisakustikmodell verwendet werden, um eine Äußerung genau zu interpretieren.
-
Bei einem Beispiel aktiviert das Spracherkennungssystem 100 das zusätzliche Akustikmodell, das in 6 gezeigt ist, wenn das System 100 den „1, 1“-Teil der „6, 1, 1“-Äußerung (d.h. die Elemente 1, 1 werden potentiell koartikuliert) mit einer hohen statistischen Wahrscheinlichkeit unter Verwendung des Basisakustikmodus nicht erkennen kann. In solchen Fällen bestimmt das System 100, dass ein Koartikulationsproblem vorliegt, und durchsucht es das zusätzliche Akustikmodell hinsichtlich einer Übereinstimmung mit dem problematischen Teil der Äußerung. Genauer gesagt wandelt die Spracherkennungsmaschine 92, wenn ein Benutzer die Äußerung in das Mikrophon 28 ausspricht, akustische Energie der geäußerten Sequenz in ein digitales Bit-Muster um und versucht sie, das digitale Bit-Muster der Äußerung mit Mustern in den Basisakustikmodellen in Übereinstimmung zu bringen. Die Spracherkennungsmaschine 92 erzeugt eine Wahrscheinlichkeitspunktzahl für die Äußerung, und diese Punktzahl wird mit den Punktzahlen in dem Basisakustikmodell verglichen. Bei einem Beispiel kann die Wahrscheinlichkeitspunktzahl unter Verwendung eines geeigneten Schätzungsalgorithmus, wie beispielsweise eines Viterbi-Stil-Algorithmus, erzeugt werden, der in Verbindung mit einem Hidden-Markov-Modell verwendet wird. Dann werden solche Wahrscheinlichkeiten für potentielle Übereinstimmungen erzeugt. Unter Verwendung des obigen Beispiels ermittelt das System 100 beim Vergleichen mit dem Basisakustikmodell, wenn der Benutzer „6, 1, 1“ äußert, beispielsweise, dass es eine Chance von 62 % gibt, dass die Äußerung gleich „6, 1“ ist, und dass es eine Chance von 51 % gibt, dass die Äußerung gleich „6, 1, 1“ ist. Diese Wahrscheinlichkeiten sind gering, auch wenn die korrekte Inübereinstimmungbringung zwischen der Äußerung und dem Modell vorgenommen wurde.
-
Wenn die Wahrscheinlichkeitspunktzahl für eine potentielle Übereinstimmung über einem vorbestimmten Prozentsatz liegt (der z.B. ein beliebiger Prozentsatz zwischen etwa 60 % und etwa 75 % sein kann), nimmt die Spracherkennungsmaschine 92 an, dass die in der Äußerung ausgesprochene numerische Sequenz kein Koartikulationsproblem aufweist. Wenn kein Koartikulationsproblem offensichtlich ist, wendet das Spracherkennungssystem 100 die Äußerung in dem Basisakustikmodell mit der höchsten Wahrscheinlichkeit zum Identifizieren der numerischen Sequenz in der gesprochenen Äußerung an. Beispielsweise ruft die Spracherkennungsmaschine 92 die Ziffer „6“, die Ziffer „1“ und die Ziffer „1“ in einer Sequenz von dem Basisakustikmodell ab. In einigen Fällen wird die identifizierte numerische Sequenz automatisch angewandt, um die Anforderung, den Befehl etc. zu erfüllen, die bzw. der durch den Benutzer vorgebracht wurde, als die Äußerung ursprünglich gemacht wurde. In anderen Fällen kann das System 100 auf andere Weise einen Befehl für das Mikrophon 28 vorbringen, um die numerische Sequenz für eine Verifikation zurück zu dem Benutzer auszusprechen. In Fällen, in denen die numerische Sequenz, die zurück zu dem Benutzer ausgesprochen wird, inkorrekt ist, kann das System 100 i) den Benutzer auffordern, die Äußerung zu wiederholen und das vorliegende Beispiel des Identifikationsverfahrens erneut anwenden oder ii) automatisch ein zusätzliches Akustikmodell zum Identifizieren der Sequenz anwenden.
-
Wieder auf den Vergleich der Wahrscheinlichkeitspunktzahl mit dem vorbestimmten Prozentsatz Bezug nehmend wechselt die Spracherkennungsmaschine 92, wenn die Wahrscheinlichkeitspunktzahl unter den vorbestimmten Prozentsatz fällt (d.h. beispielsweise unter 75 % oder 65% liegt), das Basisakustikmodell durch mindestens eines der zusätzlichen Akustikmodelle aus. Dann wendet das System 100 das zusätzliche Akustikmodell/die zusätzlichen Akustikmodelle an, um die numerische Sequenz zu identifizieren. Wenn der Benutzer beispielsweise die numerische Sequenz „6, 1, 1“ äußert, erkennt das System 100 auf der Grundlage des oben beschriebenen Tests, dass es bekannt ist, dass die Äußerung ein übliches Koartikulationsproblem aufweist (d.h. der „1 ,1“-Teil). Wieder unter Verwendung des hierin oben bereitgestellten Beispiels wechselt die Spracherkennungsmaschine 92 zu dem zusätzlichen Akustikmodell, wenn die Spracherkennungsmaschine 92 ermittelt, dass die Wahrscheinlichkeit, dass die Äußerung „6, 1“ ist, etwa 62 % beträgt und die Wahrscheinlichkeit, dass die Äußerung „6, 1, 1“ ist, etwa 51 % beträgt (wobei beide unter dem untersten Schwellenwert von 65 % liegen).
-
Die in der Äußerung umfasste numerische Sequenz kann dann unter Verwendung des zusätzlichen Akustikmodells identifiziert werden. Genauer gesagt kann das Basisakustikmodell verwendet werden, um die „6“ mit einer hohen Wahrscheinlichkeit zu identifizieren, und kann das zusätzliche Akustikmodell verwendet werden, um die „1, 1“-Sequenz, die in der Äußerung umfasst ist, durch das Referenzzeichen X zu ersetzen, das „1, 1” darstellt (was spezifisch für die bestimmte Äußerung erzeugt wurde). Danach berechnet die Spracherkennungsmaschine 92 die Wahrscheinlichkeitspunktzahl für die Äußerung neu. Bei einem Beispiel ersetzt das System 100 die koartikulierte Sequenz in der Äußerung durch das Zeichen X (oder „1, 1“), wenn die Wahrscheinlichkeit, dass die Äußerung dem Zeichen X entspricht (d.h. „1, 1“ ist), etwa 76 % beträgt.
-
Es ist zu verstehen, dass, wenn unter Verwendung des zusätzlichen Akustikmodells/der zusätzlichen Akustikmodelle mehr als eine Möglichkeit offensichtlich ist (z.B. das Modell umfasst ein Zeichen X und ein Zeichen Y, die beide mögliche Übereinstimmungen für die Äußerung sind), eine Wahrscheinlichkeit für jede Möglichkeit berechnet wird. Dann wählt das System 100 das Zeichen mit dem höchsten Wahrscheinlichkeitswert aus, das die tatsächlich durch den Benutzer ausgesprochene Äußerung darstellt.
-
Wenn das zusätzliche Akustikmodell verwendet wird, um die gesprochene Äußerung zu identifizieren, kann das System 100 automatisch das in Übereinstimmung gebrachte Zeichen anwenden, um die Anforderung, den Befehl etc. zu erfüllen, die bzw. der durch den Benutzer vorgebracht wurde, als die Äußerung ursprünglich gemacht wurde, oder kann das System 100 ansonsten einen Befehl für das Mikrophon 28 vorbringen, um die in Übereinstimmung gebrachte numerische Sequenz für eine Verifikation zurück an den Benutzer auszusprechen. In Fällen, in denen die zurück zu dem Benutzer ausgesprochene numerische Sequenz inkorrekt ist, kann das System 100 den Benutzer auffordern, die Äußerung zu wiederholen und das vorliegende Beispiel des Identifikationsverfahrens wieder anwenden.
-
Bei einem anderen Beispiel kann das Identifizieren der numerischen Sequenz, die in der Äußerung umfasst ist, unter Verwendung einer dynamisch erzeugten möglichen numerischen Sequenz erreicht werden, die potentiell der geäußerten numerischen Sequenz entspricht. Wieder auf 3 Bezug nehmend und wie oben erwähnt umfasst das Verfahren, nachdem die Äußerung in das Spracherkennungssystem 100 ausgesprochen wurde (wie durch das Bezugszeichen 300 identifiziert), dass ein Koartikulationsproblem detektiert wird, dass mit mindestens zwei potentiell koartikulierten Elementen in der Ziffernfolge in Beziehung steht (wie durch das Bezugszeichen 302 identifiziert). Bei diesem Beispiel kann das Detektieren des Koartikulationsproblems unter Verwendung einer Liste der N besten erreicht werden. Bei einem Beispiel umfasst das Verfahren, dass: eine Liste der N besten für die Ziffernfolge erzeugt wird, die in der numerischen Sequenz umfasst ist (wie durch das Bezugszeichen 700 gezeigt); mindestens zwei potentiell koartikulierte Elemente identifiziert werden, die der Ziffernfolge entsprechen (wie durch das Bezugszeichen 702 gezeigt); und auf der Grundlage der numerischen Sequenz mit dem höchsten Rank, die in der Liste der N besten umfasst ist, ermittelt wird, ob das Koartikulationsproblem existiert (wie durch das Bezugszeichen 704 gezeigt).
-
Wie hierin verwendet ist eine „Liste der N besten“ eine Liste von Möglichkeiten, die eine Äußerung umfassen könnte. Die Liste der N besten kann unter Verwendung eines Algorithmus der N besten erzeugt werden (z.B. durch die Spracherkennungsmaschine 92 ausgeführt), um eine Anzahl N von Möglichkeiten und eine Rangordnung (d.h. Konfidenzpunktzahl) für jede der Möglichkeiten zu ermitteln (d.h. 1.-beste Möglichkeit, 2.-beste Möglichkeit etc.). Der Algorithmus der N besten kann beispielsweise ein Viterbi-Stil-Suchalgorithmus sein, der ein Hidden-Markov-Modell auf der Grundlage einer Sequenz von zuvor beobachteten Ausgaben verwendet, die von mehreren Benutzern während eines Sprachtestprozesses erhalten werden. In Bezug auf die vorliegende Offenbarung kann die Liste der N besten für die Ziffernfolge erzeugt werden, die in der geäußerten numerischen Sequenz umfasst ist. Die Anzahl N der wahrscheinlichsten Möglichkeiten umfasst mehrere Mögliche numerische Sequenzen, von denen jede potentiell der in der Äußerung ausgesprochenen numerischen Sequenz entspricht. Jeder der wahrscheinlichsten Möglichkeiten ist eine Konfidenzpunktzahl zugeordnet, die mathematisch durch den Algorithmus der N besten ermittelt wird. Die Möglichkeiten werden dann von einer höchsten Möglichkeit in sequenzieller Reihenfolge zu einer niedrigsten Möglichkeit auf der Grundlage der Konfidenzpunktzahlen mit einem Rang versehen. Beispielsweise kann die Liste der N besten für die Äußerung „5, 5, 5“ „5, 5, 5“ als 1.-beste Möglichkeit umfassen, wenn sie die höchste Konfidenzpunktzahl aufweist, als 2.-beste Möglichkeit „5, 5“ umfassen, wenn sie die nächsthöchste Konfidenzpunktzahl aufweist und so weiter.
-
Bei einem Beispiel äußert der Benutzer eine numerische Sequenz, wie beispielsweise „248-555-9611“ in das Mikrophon 28. Beim Empfangen der Äußerung erkennt das Spracherkennungssystem 100, dass die numerische Sequenz zwei Ziffernfolgen umfasst; i) „5, 5, 5“ und ii) „1, 1“ und dynamisch eine Liste der N besten für jede Ziffernfolge erzeugt.
-
Nachdem jede Liste der N besten erzeugt wurde, identifiziert das System 100 mindestens zwei potentiell koartikulierte Elemente, die den Ziffernfolgen entsprechen. Das Identifizieren kann beispielsweise durch Vorbringen eines Befehls zu der Audiokomponente 60 von der Spracherkennungsmaschine 92 erreicht werden, um die geäußerte numerische Sequenz (wie aktuell durch die Spracherkennungsmaschine 92 identifiziert) für eine Verifikation zurück zu dem Benutzer auszusprechen. In Fällen, in denen der Benutzer angibt, dass die durch die Audiokomponente 60 ausgesprochene numerische Sequenz inkorrekt ist, kann er solch einen Hinweis entweder verbal (z.B. durch Sprechen in das Mikrophon 28) oder physikalisch (z.B. über einen Knopfdruck, der dies angibt) ausgeben. Beim Empfangen des Benutzerhinweises, dass die ausgesprochene numerische Sequenz inkorrekt ist, ermittelt die Spracherkennungsmaschine 92, dass die numerische Sequenz mindestens zwei potentiell koartikulierte Elemente umfasst. Wie es beispielsweise durch das Bezugszeichen 800 in 8 gezeigt ist, gibt der Benutzer, wenn die tatsächliche Äußerung „5, 5, 5“ ist, das System 100 jedoch die Ziffernfolge als „5, 5“ ausgesprochen hat, an, dass die Sequenz inkorrekt ist. An dieser Stelle erkennt das System 100, dass die Elemente, die in der Ziffernfolge „5, 5, 5“ umfasst sind (wie durch das System 100 erkannt), wahrscheinlich koartikuliert sind.
-
Bei einem anderen Beispiel können die mindestens zwei potentiell koartikulierten Elemente, die in der Ziffernfolge vorhanden sind, durch Erkennen, dass die Quelle der Äußerung (z.B. der Benutzer des Systems 100) typischerweise oder konsistent eine oder mehrere bestimmte Ziffernfolgen koartikuliert, identifiziert werden. Beispielsweise kann ein Profil der Quelle durch z.B. den Speicher 90 des Spracherkennungssystems 100 erzeugt und gespeichert werden, wobei solch ein Profil Fälle von Koartikulationsfragen umfasst, denen Äußerungen zugehörig sind, die durch dessen Benutzer gemacht werden. In Abhängigkeit von zumindest teilweise der Häufigkeit der Koartikulationsfrage, die einer oder mehreren bestimmten Ziffernfolgen zugehörig ist, die in den Äußerungen ausgesprochen werden, kann der Benutzer als einer klassifiziert werden, der bestimmte Ziffernfolgen, die in seinen Äußerungen ausgesprochen werden, konsistent koartikuliert. In solchen Fällen kann das System 100 automatisch solche Ziffernfolgen, wenn sie in einer dann aktuellen Äußerung ausgesprochen werden, als koartikuliert erkennen. Solch eine Erkennung kann z.B. vorgenommen werden, ohne dass die Tatsache direkt mit dem Benutzer verifiziert werden muss.
-
Nach dem Identifizieren, dass mindestens zwei der Elemente in der Ziffernfolge sehr wahrscheinlich koartikuliert sind, wählt die Spracherkennungsmaschine 92 die mit dem höchsten Rang versehene numerische Sequenz (d.h. die 1.-beste Möglichkeit) aus der Liste der N besten aus und bringt sie einen Befehl für die Audiokomponente 60 vor, um die ausgewählte numerische Sequenz zurück zu dem Benutzer auszusprechen (wie durch das Bezugszeichen 802 in 8 gezeigt). Dann i) verifiziert der Benutzer die Sequenz oder ii) gibt er an, dass die numerische Sequenz inkorrekt ist, und zwar über das oben beschriebene Mittel (wie durch das Bezugszeichen 804 in 8 gezeigt).
-
Bei einem Beispiel gibt der Benutzer, wenn er angibt, dass die 1.-beste numerische Sequenz korrekt ist, dies an. Bei diesem Beispiel wird die ausgewählte numerische Sequenz durch das System 100 angewandt, um die Aufgabe abzuschließen, die das System 10 ursprünglich, aufgefordert durch den Benutzer, durchführen sollte (z.B. um die Ware unter Verwendung der Kreditkarteninformation zu kaufen, um unter Verwendung einer bestimmten Telefonnummer einen Telefonanruf zu tätigen etc.) (wie durch das Bezugszeichen 806 in 8 gezeigt).
-
Bei einem anderen Beispiel ermittelt die Spracherkennungsmaschine 92, wenn der Benutzer angibt, dass die 1.-beste numerische Sequenz oder Möglichkeit inkorrekt ist, dass tatsächlich ein Koartikulationsproblem existiert. Wenn diese Ermittlung gemacht wird, durchsucht die Spracherkennungsmaschine 92 die möglichen numerischen Sequenzen, die in der 5 Liste der N besten umfasst sind, hinsichtlich der mindestens zwei potentiell koartikulierten Elemente. Typischerweise findet das Durchsuchen in einer Reihenfolge von der möglichen numerischen Sequenz mit dem zweithöchsten Rang zu einer möglichen numerischen Sequenz mit dem niedrigsten Rang statt. Während des Durchsuchens der möglichen numerischen Sequenzen wählt die Spracherkennungsmaschine 92 (unter Verwendung einer geeigneten Softwareroutine) die Möglichkeit mit dem nächsthöchsten Rang aus der Liste der N besten aus und berechnet sie eine Differenz zwischen der Konfidenzpunktzahl dieser numerischen Sequenz und der ursprünglich ausgewählten möglichen numerischen Sequenz (in diesem Fall die 1.-beste Möglichkeit). Die gewählte Sequenz wird durch die Spracherkennungsmaschine 92 ausgewählt, wenn die Ergebnisse der Berechnung (d.h. die Differenz zwischen den Konfidenzpunktzahlen) kleiner als ein vorbestimmter Schwellenwert sind (wie durch das Bezugszeichen 808 in 8 gezeigt). Bei einem nicht einschränkenden Beispiel liegt der vorbestimmte Schwellenwert zwischen etwa 25 % und etwa 30 %. Es ist jedoch zu verstehen, dass der vorbestimmte Schwellenwert beispielsweise für mehrere kritische Anwendungen, wie beispielsweise für medizinische Niederschriften oder dergleichen, höher sein kann. Die ursprünglich ausgewählte mögliche numerische Sequenz (in diesem Fall wieder die 1.-beste Möglichkeit) wird dann durch die neu ausgewählte Möglichkeit ausgetauscht (d.h. die Möglichkeit mit einer Differenz zwischen den Konfidenzpunktzahlen, die kleiner als der vorbestimmte Schwellenwert ist). Wenn beispielsweise die Konfidenzpunktzahlen der 1.-besten und der 2.-besten Möglichkeit 90 % bzw. 75 % betragen, ist die Differenz zwischen den Punktzahlen 15 %. Unter der Annahme, dass der vorbestimmte Schwellenwert 25 % beträgt, würde die 1.-beste Möglichkeit mit der 2.-besten Möglichkeit getauscht werden, da die Differenz (von 15 %) kleiner als der vorbestimmte Schwellenwert ist. Bei einem anderen Beispiel wäre die Differenz zwischen den Punktzahlen 30 %, wenn die 2.-beste Möglichkeit eine Konfidenzpunktzahl von 60 % aufweist. In diesem Beispiel ist solch eine Differenz (von 30 %) höher als der vorbestimmte Schwellenwert (von 25 %) und somit würde die 2.-beste Möglichkeit ignoriert werden. In Fällen, in denen mehr als eine Möglichkeit in der Liste der N besten eine Differenz aufweist, die unter dem vorbestimmten Schwellenwert liegt, können dann beide Möglichkeiten ausgewählt und schließlich dem Benutzer für eine Verifikation dargestellt werden.
-
Es ist zu verstehen, dass, wenn die Spracherkennungsmaschine 92 erkennt, dass die Differenz zwischen der Konfidenzpunktzahl der gewählten numerischen Sequenz und der ursprünglich ausgewählten numerischen Sequenz größer als der vorbestimmte Schwellenwert ist, die Liste der N besten erneut abgesucht wird und eine andere Möglichkeit gewählt wird. Die Spracherkennungsmaschine 92 berechnet dann die Differenz zwischen der Konfidenzpunktzahl dieser nächsten gewählten Möglichkeit und der ursprünglich ausgewählten Möglichkeit. Wenn die Differenz kleiner als der Schwellenwert ist, wird die nächste gewählte Möglichkeit durch die Maschine 92 ausgewählt. Wenn die Differenz größer als der Schwellenwert ist, durchsucht die Maschine 92 die Liste der N besten erneut. Es ist zu verstehen, dass ein erneutes Durchsuchen ausgeführt werden kann, bis i) eine der Möglichkeiten eine Differenz erzeugt, die innerhalb des Schwellenwerts liegt, oder ii) alle Möglichkeiten durchsucht wurden. Im letzteren Fall kann das System 100 den Benutzer auffordern, die Äußerung zu wiederholen und kann eine neue Liste der N besten erzeugt werden.
-
Wieder auf 8 Bezug nehmend bringt die Spracherkennungsmaschine 92 nach dem Auswählen einer der Möglichkeiten aus der Liste der N besten einen anderen Befehl für die Audiokomponente 60 vor, um die neu ausgewählte mögliche numerische Sequenz für den Benutzer auszusprechen (wie es auch durch das Bezugszeichen 808 in 8 gezeigt ist). Der Benutzer kann wieder angeben, ob die neu ausgewählte numerische Sequenz korrekt oder inkorrekt ist (wie durch das Bezugszeichen 810 in 8 gezeigt). Wenn der Benutzer beispielsweise angibt, dass die neu ausgewählte mögliche numerische Sequenz korrekt ist, wird die neu ausgewählt mögliche numerische Sequenz als die tatsächlich geäußerte Sequenz betrachtet und kann sie durch das System 10 angewandt werden (wie es durch das Bezugszeichen 810 in 8 gezeigt ist).
-
Es ist zu verstehen, dass, wenn der Benutzer angibt, dass die neu ausgewählte mögliche numerische Sequenz inkorrekt ist, das oben beschriebene Verfahren sich selbst für eine andere mögliche numerische Sequenz wiederholt, die aus der Liste der N besten ausgewählt wird. In einigen Fällen wird die andere mögliche numerische Sequenz mit einem niedrigeren Rang in der Liste der N besten versehen als jede der zuvor ausgewählten Möglichkeiten.
-
Nachdem i) alle der Möglichkeiten, die in der Liste der N besten umfasst sind, ausprobiert wurden, oder ii) eine vordefinierte Anzahl von Iterationen abgeschlossen wurde, kann die Spracherkennungsmaschine 92 einen Befehl an die Audiokomponente 60 vorbringen, um anzufordern, dass der Benutzer die Äußerung wiederholt. In einigen Fällen umfasst die Anforderung zum Wiederholen der Äußerung, dass der Benutzer aufgefordert wird, die Äußerung auf eine vordefinierte Weise auszusprechen. Beispielsweise kann das System 100 den Benutzer auffordern, die Äußerung langsamer zu wiederholen, so dass das System 100 die Äußerung sorgfältiger artikulieren kann. Dann kann der Benutzer die Äußerung in das Mikrophon 28 aussprechen, wonach die Spracherkennungsmaschine 92 die Liste der N besten auf der Grundlage der wiederholten Äußerung erneut erzeugt. Die verschiedenen Schritte des hierin oben beschriebenen Verfahrens können dann angewandt werden, um die wiederholte Äußerung zu identifizieren.
-
Es ist zu verstehen, dass die hierin offenbarten Verfahren zusammen verwendet werden können. Beispielsweise kann das Verfahren der N besten, das in Verbindung mit 7 und 8 beschrieben wurde, verwendet werden, um ein Koartikulationsproblem mit der Äußerung zu identifizieren, und dann kann das zusätzliche Akustikmodell (in Verbindung mit 4-6 beschrieben) getauscht werden, um ein Zeichen zu finden, das der koartikulierten Äußerung spezifisch zugeordnet ist.
-
Während mehrere Beispiele ausführlich beschrieben wurden, werden Fachleute erkennen, dass die offenbarten Beispiele modifiziert werden können. Daher soll die vorstehende Beschreibung als beispielhaft und nicht als einschränkend betrachtet werden.