-
GEBIET
-
Diese Spezifikation bezieht sich allgemein auf die Spracherkennung.
-
HINTERGRUND
-
Ein Benutzer eines Gerätes kann auf viele unterschiedliche Arten mit dem Gerät interagieren, einschließlich beispielsweise des Treffens einer Auswahl aus einer angezeigten Gruppe von Artikeln mit einer Maus oder einem Touchpad, der Eingabe von Zeichen über eine Tastatur oder der Eingabe von Sprachbefehlen in ein Mikrofon. Bei der Verarbeitung von Sprachbefehlen kann ein automatisierter Spracherkenner (ASR) Schwierigkeiten haben, einen Sprachbefehl genau zu erkennen, wenn ein Sprecher eine Aussprache eines bestimmten Wortes verwendet, die von einer in einem Aussprachewörterbuch dem Wort zugeordneten kanonischen Aussprache abweicht.
-
KURZDARSTELLUNG
-
Aspekte der vorliegenden Offenbarung können die Implementierung eines Aussprachewörterbuchs erleichtern, das eine andere, nicht-kanonische Aussprache eines Entitätsnamens speichern kann, der auf der Interaktion eines Benutzers mit einem mobilen Gerät basiert. In einigen Fallen kann sich das Aussprachewörterbuch den einzigartigen Eigenschaften der Stimme eines Benutzers anpassen, die die Aussprache bestimmter Wörter durch den Benutzer verändern können. Beispielsweise kann ein Aussprachewörterbuch so vorbereitet werden, dass der Entitätsname „Mara” der phonetischen Aussprache von „MAW • rra” entspricht. Jedoch kann das Aussprachewörterbuch bei Nutzung von Aspekten der vorliegenden Offenbarung lernen, dass ein bestimmter Benutzer den Entitätsnamen „Mara” als „MA • ra” ausspricht. Dementsprechend kann das Aussprachewörterbuch auf der Grundlage von Interaktionen mit dem bestimmten Benutzer lernen, die Aussprache „MA • ra” mit dem Entitätsnamen „Mara” zu verbinden. Bei Nutzung von Aspekten der vorliegenden Offenbarung können eine verbesserte Spracherkennung und eine hochwertigere Transkription bereitgestellt werden.
-
In einigen Aspekten kann der in dieser Spezifikation verkörperte Gegenstand in Verfahren ausgeführt werden, die die Tätigkeit des Empfangens von Audiodaten einschließen, die einer Äußerung entsprechen, die einen Befehl und einen Entitätsnamen einschließt. Zusätzliche Tätigkeiten können die Erzeugung, durch einen automatischen Spracherkenner, einer anfänglichen Transkription für einen Teil der Audiodaten einschließen, der mit dem Entitätsnamen verbunden ist, den Empfang einer korrigierten Transkription für den Teil der Audiodaten, der mit dem Entitätsnamen verbunden ist und der sich von der anfänglichen Transkription unterscheidet, als Reaktion auf den Empfang der korrigierten Transkription für den Teil der Audiodaten, der mit dem Entitätsnamen verbunden ist und der sich von der anfänglichen Transkription unterscheidet, den Erhalt einer phonetischen Aussprache, die mit dem Teil der Audiodaten verbunden ist, die mit dem Entitätsnamen verbunden ist, Aktualisierung eines Aussprachewörterbuchs, so dass die phonetische Aussprache mit dem Entitätsnamen verbunden wird, den Empfang einer nachfolgenden Äußerung, die den Entitätsnamen einschließt, und die Transkription der folgenden Äußerung zumindest teilweise basierend auf dem aktualisierten Aussprachewörterbuch.
-
Andere Versionen schließen entsprechende Systeme, Apparate, die Computerprogramme ein, die so konfiguriert sind, dass sie die Tätigkeiten von Verfahren ausführen, die auf Computerspeichergeräten kodiert sind, und Computerprogramme, die so konfiguriert sind, dass sie ein Computergerät veranlassen, die Tätigkeiten der Verfahren durchzuführen.
-
Diese und sonstige Versionen können optional jeweils eines oder mehrere der folgenden Merkmale beinhalten. Zum Beispiel kann der Empfang der korrigierten Transkription für den mit dem Entitätsnamen verbundenen Teil der Äußerung und die sich von der anfänglichen Transkription unterscheidet, in einigen Implementierungen den Empfang von Daten einschließen, die eine Auswahl eines Entitätsnamen von einer Anzeige eines oder mehrerer Entitätsnamen anzeigen, oder den Empfang von Daten, die einen oder mehrere Buchstaben anzeigen, die über eine Tastatur eingegeben wurden und einen Entitätsnamen anzeigen.
-
In einigen Aspekten kann die Aktualisierung des Aussprachewörterbuchs die Identifikation einer Aussprachewörterbucheingabe einschließen, die mit dem Entitätsnamen verbunden ist, das Löschen des Teils der Eingabe, die einer phonetischen Aussprache der anfänglichen Transkription entspricht, und das Speichern in der Aussprachewörterbucheingabe, die mit dem Entitätsnamen verbunden ist, der phonetischen Aussprache, die mit der erhaltenen phonetischen Aussprache verbunden ist.
-
In gewissen Implementierungen kann das Verfahren Tätigkeiten für die Verbindung eines Zeitstempels mit mindestens einem Teil der erhaltenen Audiodaten und das Caching eines oder mehrerer Teile der erhaltenen Audiodaten einschließen, bis eine korrekte Transkription der Äußerung identifiziert wird und der mit der erhaltenen Äußerung verbundene Befehl abgeschlossen ist. In solchen Implementierungen kann die Beschaffung einer phonetischen Aussprache, die mit dem Teil der Audiodaten verbunden ist, die mit dem Entitätsnamen verbunden sind, die Beschaffung eines Teils der zuletzt erhaltenen Audiodaten auf der Grundlage des mindestens mit einem Teil der erhaltenen Audiodaten verbundenen Zeitstempels einschließen, die Erstellung einer phonetischen Aussprache des beschafften Teils der zuletzt erhaltenen Audiodaten auf der Grundlage eines Satzes Phoneme, die unter Verwendung eines akustischen Modells beschafft wurden.
-
In noch anderen Implementierungen kann das Verfahren Aktionen einschließen, die als Reaktion auf die Aktualisierung eines Aussprachewörterbuchs die Erhöhung eines globalen Zählers umfassen, der mit der phonetischen Aussprache verbunden ist, um die beschaffte phonetische Aussprache aufzunehmen.
-
In solchen Implementierungen, Bestimmung, dass der mit der phonetischen Aussprache verbundene globale Zähler eine zuvor festgelegte Schwelle überschreitet, und als Reaktion auf die Bestimmung, dass der mit der phonetischen Aussprache verbundene globale Zähler eine zuvor festgelegte Schwelle überschreitet, Aktualisierung einer Aussprachewörterbucheingabe in ein globales Aussprachewörterbuch, das mit dem Entitätsnamen verbunden ist, um die mit der korrekten Transkription verbundene phonetische Aussprache aufzunehmen.
-
Die Einzelheiten von einer oder mehreren Implementierungen werden in den beigefügten Zeichnungen und der nachfolgenden Beschreibung dargelegt. Sonstige Merkmale, Gegenstände und Vorteile werden anhand der Beschreibung und der Zeichnungen und anhand der Ansprüche ersichtlich.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die 1A und 1B sind kontextabhängige Diagramme, die Merkmale eines Systems für das Lernen von personalisierten Entitätsaussprachen zeigen.
-
2 ist ein Flussdiagramm eines Beispiels für einen Prozess, der genutzt werden kann, um Kontaktaussprachen in einem personalisierten globalen Aussprachewörterbuch zu lernen.
-
3 ist ein Flussdiagramm eines Beispiels für einen Prozess, der genutzt werden kann, um Entitätsaussprachen in einem personalisierten globalen Aussprachewörterbuch zu lernen.
-
DETAILLIERTE BESCHREIBUNG
-
1A ist ein kontextabhängiges Diagramm, das Merkmale eines Systems 100A für das Lernen von personalisierten Entitätsaussprachen zeigt. Das System 100A kann einen Benutzer 100, das mobile Gerät 120 eines Benutzers und einen Server 130 einschließen. Das mobile Gerät 120 kann 160, 162, 164 mit dem Server 130 über ein oder mehrere verdrahtete oder drahtlose Netze verbunden sein. Die Netze können z. B. ein drahtloses Mobilfunknetz, ein drahtloses lokales Netz (WLAN) oder Wi-Fi-Netz, ein 3G- oder 4G-Mobilfunknetz, ein privates Netz wie ein Intranet, ein öffentliches Netz wie das Internet oder jegliche Kombination davon einschließen. Bei dem mobilen Gerät 120 kann es sich um ein Mobiltelefon, ein Smartphone, eine Smartwatch, einen Tablet-Computer, einen Laptop oder PC, einen E-Buch-Leser, Musikplayer, PDA oder andere stationäre oder tragbare Geräte handeln, die eine oder mehrere Prozessoren und computerlesbare Medien einschließen können.
-
Das mobile Gerät 120 des Benutzers kann eine oder mehrere physische Tasten 121a, 121b, 121c, eine graphische Benutzeroberfläche 122, ein Mikrofon 125 und einen Ausgabelautsprecher 126 einschließen. Jede der physischen Tasten 121a, 121b, 121c kann so konfiguriert werden, dass sie eine bestimmte Funktion als Reaktion auf eine Benutzerauswahl der physischen Taste ausführt. Zum Beispiel kann die physische Taste 121a, 121b, 121c eine Anschalttaste, eine Lautstärkentaste, eine Home-Taste oder dergleichen sein. In einer Implementierung kann eine physische Taste wie die physische Taste 121a so konfiguriert werden, dass sie das Mikrofon 125 bei der Auswahl der physische Taste 121a aktiviert. Die graphische Benutzeroberfläche 122 kann eine kapazitive Touchscreen-Oberfläche einschließen, die so konfiguriert wird, dass sie die Eingabe in Form von Tippen, Gesten oder dergleichen empfängt, die von einem Benutzer 100 mit einem Eingabestift, dem Finger des Benutzers 100 oder anderem Zeigewerkzeug eingegeben werden können.
-
Die graphische Benutzeroberfläche 122 kann aus einem oder mehreren unterschiedlichen Teilen bestehen. Jeder der unterschiedlichen Teile der graphischen Benutzeroberfläche 122 kann separat angezeigt werden oder ein Teil jeweils auf einmal, falls erforderlich. Alternativ können einer oder mehrere der unterschiedlichen Teile der graphischen Benutzeroberfläche 122 gleichzeitig als ein geteilter Bildschirm angezeigt werden, wie in 1A gezeigt. Zum Beispiel kann ein erster Teil der graphischen Benutzeroberfläche eine Anzeige eines oder mehrerer auswählbarer Icons 123 bereitstellen. Die auswahlbaren Icons 123 können jeweils einem bestimmten Befehl, einer bestimmten Anwendung, einem Ordner, der eine oder mehrere Anwendungen gruppiert, oder dergleichen entsprechen. In einigen Fällen können die auswahlbaren Icons anstatt einer oder mehrerer physischer Tasten 121a, 121b, 121c verwendet werden. Zum Beispiel kann ein auswahlbares Icon bereitgestellt werden, um als Home-Taste zu dienen. Alternativ kann ein auswahlbares Icon z. B. benutzt werden, um das Mikrofon 125 zu aktivieren. In anderen Implementierungen kann ein auswählbares Icon so konfiguriert werden, dass es eine bestimmte Anwendung als Reaktion auf die Auswahl des auswählbaren Icons öffnet. In noch anderen Implementierungen kann die Auswahl eines auswählbaren Icons einen Ordner öffnen, der die Anzeige der zusätzlichen auswählbaren Icons auslöst, die jeweils einer bestimmten Anwendung oder einem verschachtelten Ordner entsprechen.
-
Andere Teile der graphischen Benutzeroberfläche 122 können eine Anzeige einschließen, die eine oder mehrere Aufforderungen 124 zu zusätzlichen Informationen vom Benutzer 100 bereitstellen kann. Zum Beispiel kann die Anzeige eine Aufforderung 124 für den Benutzer zu einer Benutzereingabe im Zusammenhang mit einer Transkription mindestens eines Teils einer ausgesprochenen Äußerung bereitstellen. Alternativ kann eine Anzeige so konfiguriert werden, dass sie dem Benutzer eine Anzeige über den derzeitigen Status eines Telefonanrufs bereitstellt (siehe 1B). Noch andere Arten von Daten können in einem entsprechenden Teil der graphischen Benutzeroberfläche 122 angezeigt werden.
-
Der Server 130 kann aus einem oder mehreren Computergeräten bestehen, die jeweils einen Prozessor 132 und einen Speicher 134 einschließen. Der Prozessor 132 kann aus einem oder mehreren Prozessoren bestehen, die so konfiguriert werden, dass sie die Anweisungen ausführen, die mit den Anwendungen verbunden sind, die in Speicher 134 gespeichert werden. Der Speicher 134 kann eine oder mehrere Speichereinheiten einschließen, die aus demselben oder unterschiedlichen Arten Speichergeräten bestehen können. Zum Beispiel kann der Speicher 134 einen RAM-Teil einschließen, der so konfiguriert wird, dass er aktiv laufende Anwendungen speichert. Alternativ oder zusätzlich kann Speicher 134 eine oder mehrere Datenspeichereinheiten einschließen, die so konfiguriert werden können, dass sie Daten speichern können, auf die zugegriffen werden kann und die bei Bedarf auf einen RAM-Teil von Speicher 134 übertragen werden können.
-
Die Anwendungen, die in Speicher 130 gespeichert werden, können z. B. einen automatischen Spracherkenner 140 und ein personalisiertes Aussprachewörterbuch 150 einschließen. Der automatische Spracherkenner 140 kann Fähigkeiten wie z. B. das Umwandeln in eine andere Form von Medien eines oder mehrerer Teile von Audiosignalen 114 erleichtern, die 160 von einem mobilen Gerät 120 empfangen wurden. Zum Beispiel kann der automatische Spracherkenner 140 das empfangene Audiosignal 114 in Text umwandeln. Das Umwandeln der empfangenen Audiosignale 114 in Text kann z. B. das Verwenden eines akustischen Modells einschließen, um einen Satz Phoneme, die höchstwahrscheinlich mit allen oder mit einem Teil der empfangenen Audiosignale 114 verbunden sind, zu identifizieren. Dann kann der identifizierte Satz Phoneme als phonetische Aussprache abgebildet werden.
-
In einigen Implementierungen kann die phonetische Aussprache z. B. einen bestimmten Entitätsnamen, der einer bestimmten Eintragung in dem personalisierten Aussprachewörterbuch 150 entspricht, eindeutig identifizieren. Dementsprechend können der automatische Spracherkenner 140 oder eine andere Komponente von Server 130 die phonetische Aussprache verwenden, um einen entsprechenden Entitätsnamen aus dem personalisierten Aussprachewörterbuch 150 des Benutzers abzurufen. In bestimmten Fällen kann der automatische Spracherkenner 140 jedoch bestimmen, dass ein personalisiertes Aussprachewörterbuch 150 keine Entitätsnamen einschließt, die durch die erhaltene phonetische Aussprache ausreichend identifiziert werden können. In solchen Fällen kann der automatische Spracherkenner 140 162 die beste vorhandene Transkription 116 an das mobile Gerät 120 zurücksenden. Die beste vorhandene Transkription 116 kann der ähnlichste Entitätsname in dem personalisierten Aussprachewörterbuch 150 sein, der der erhaltenen phonetischen Aussprache entspricht. Alternativ kann die beste vorhandene Transkription 116 eine Transkription sein, die von dem automatischen Spracherkenner 140 mit einer oder mehreren anderen Sprachumwandlungsanwendungen, Wörterbüchern oder dergleichen erzeugt wurde.
-
Das personalisierte Aussprachewörterbuch 150 kann zahlreiche Eintragungen einschließen, die jeweils mit einer bestimmten Entität verbundene Informationen einschließen. Zum Beispiel kann ein personalisiertes Aussprachewörterbuch 152 in einem Stadium „A” eine oder mehrere Eintragungen einschließen, die jeweils einen Kontaktnamen 152a und eine Aussprache 152b einschließen. Das personalisierte Aussprachewörterbuch 150 in Stadium „A” kann mit einem Zurücksetzungssatz mit phonetischen Aussprachen 152b für jeden Entitätsnamen 152a eingeleitet werden. Der Zurücksetzungssatz mit phonetischen Aussprachen kann auf typischen Aussprachen 152b der jeweiligen Entitätsnamen 152a basieren. Eine typische Aussprache kann z. B. eine Aussprache sein, die mit einem Wort durch ein Standardwörterbuch verbunden ist. Außerdem sollte berücksichtigt werden, dass einzigartige Eigenschaften der Stimme eines Benutzers sich im Laufe der Zeit ändern können, oder es kann mehrere Benutzer ein und desselben Telefons geben, die jeweils unterschiedliche Spracheigenschaften haben. Dementsprechend kann eine typische Aussprache z. B. auch eine Aussprache sein, die ein Benutzer irgendwann in der Vergangenheit mit diesem Entitätsnamen verbunden hat.
-
Jedoch kann das personalisierte Aussprachewörterbuch 150 so konfiguriert werden, dass es unterschiedliche Aussprachen speichert, basierend auf Interaktionen mit einem Benutzer 100 des Systems 100A. Infolgedessen kann die bestimmte phonetische Aussprache, die mit einer bestimmten Entität verbunden wird, sich im Laufe der Zeit ändern. Solch eine Änderung bei der phonetischen Aussprache 152b für einen bestimmten Entitätsnamen 152a in einem ersten Stadium „A” kann bildlich dargestellt werden in 1 in Bezug auf den Übergang von einem personalisierten Aussprachewörterbuch 152 in einem ersten Stadium „A” auf ein entsprechendes personalisiertes Aussprachewörterbuch 154, das sich in einem zweiten Stadium „B” befindet. Das personalisierte Aussprachewörterbuch 154 im Stadium „B” zeigt an, dass die Aussprache für die Entität „Fuchun” auf „Fawr • chuh • n” von der typischen Aussprache „Fyoo • chuh • n” aktualisiert wurde, die zuvor mit der Entität „Fuchun” in dem personalisierten Aussprachewörterbuch 152, Stadium „A”, verbunden war. Das personalisierte Aussprachewörterbuch 150 kann so konfiguriert werden, dass es jegliche Art Aussprache auf der Grundlage jeglicher Art Aussprachesystem speichert, einschließlich z. B. des internationalen phonetischen Alphabets (IPA), des erweiterten Speech Assessment Methods Phonetic Alphabet (X-SAMPA) oder dergleichen.
-
In einem Aspekt kann ein Benutzer 100 eine Eingabe auf einem mobilen Gerät 120 bereitstellen, die das Mikrofon 125 des mobilen Gerätes 120 aktiviert. Zum Beispiel kann ein Benutzer 100 eine physische Taste 121a auswählen, die das Mikrofon 125 aktiviert. Alternativ kann das Mikrofon 125 von dem Benutzer aktiviert werden, der einen bestimmten Sprachbefehl äußert. Zum Beispiel kann das Mikrofon 125 so konfiguriert werden, dass es allen Tönen innerhalb des Bereiches des Mikrofons 125 passiv zuhört, um einen bestimmten Aktivierungsbefehl zu erkennen. Sobald das Mikrofon 125 den bestimmten Aktivierungsbefehl erkennt, kann das Mikrofon 125 seinen Betriebsmodus in einen aktiv zuhörenden Modus umändern, der anschließende Sprachbefehle von Benutzer 100 erfassen kann.
-
Sobald das Mikrofon aktiviert wurde, kann der Benutzer 100 eine Äußerung 110 vokalisieren, die durch das mit dem mobilen Gerät 120 des Benutzers verbundene Mikrofon 125 erkannt werden kann. Die Äußerung 110 kann einen Befehl 110a und einen Entitätsnamen 110b einschließen. Zum Beispiel kann der Benutzer 100 im Beispiel von 1 eine Äußerung wie z. B. „Fuchun anrufen” 110 vokalisieren. Der mit der Äußerung 110 verbundene Befehl 110a ist der „Anruf”-Befehl. Der „Anruf”-Befehl kann eine Verbindung für eine Stimme oder Videokommunikation mit einer Entität einleiten. In diesem Fall identifiziert die Äußerung 110 eine Entität 110b „Fuchun” als die Entität, die angerufen werden soll.
-
Zwar wird in diesem Fall ein Beispiel einer Entität als der Name eines persönlichen Kontaktes aufgeführt, der angerufen werden kann, aber eine hier beschriebene Entität sollte nicht so begrenzt werden. Stattdessen kann eine Entität z. B. eine Kennung für jegliche Person, einen Ort oder eine Sache einschließen. Zum Beispiel kann ein Entitätsname den Namen eines Restaurants einschließen, z. B. CityZen. Alternativ kann der Entitätsname z. B. einen Straßennamen, z. B. Washington Pike oder sogar eine genaue Adresse, wie z. B. Washington Pike 1599, einschließen.
-
In anderen Implementierungen kann ein Entitätsname eine Stadt und/oder ein Staat sein, wie La Jolla, Kalifornien. In noch anderen Implementierungen kann ein Entitätsname eine Sehenswürdigkeit, wie z. B. Yosemite Nationalpark, einschließen. Andere Arten Entitätsnamen können von der vorliegenden Offenbarung verwendet werden.
-
Jeder Teil der Äußerung 110 kann auf der Grundlage der Eigenschaften, die mit der Stimme von Benutzer 100 verbunden sind, einzigartig ausgesprochen werden. Die Eigenschaften der Stimme eines Benutzers 100 können z. B. den Akzent des Benutzers 100, die Phonemwahl, Vorlieben oder dergleichen einschließen, und jede kann eine einzigartige Auswirkung auf die Aussprache des Benutzers 100 eines bestimmten Entitätsnamens 110b haben. In diesem bestimmten Beispiel ist zwar die typische Aussprache für die Entität „Fuchun” „Fyoo • chuh • n”, aber der Benutzer 100 hat den Entitätsnamen „Fuchun” wie „Fawr • chuh • n” 112 ausgesprochen. Das Mikrofon 125 kann die Audiosignale erfassen, die mit der Äußerung 110 verbunden sind, und übermittelt 160 die mit der Äußerung 110 verbundenen Audiosignale 114 an den Server 130, der ein personalisiertes Aussprachewörterbuch 152 eines Benutzers 100 in einem ersten Stadium „A” unterhält. Die Audiosignale 114 können einen ersten Teil des Audiosignals, das dem Befehl 110a entspricht, und einen zweiten Teil des Audiosignals einschließen, das dem Entitätsnamen 110b entspricht.
-
Server 130 kann die Audiosignale 114 empfangen, die der Äußerung 110 entsprechen, und leitet die empfangenen Audiosignale 114 an den automatischen Spracherkenner 140 weiter. Der automatische Spracherkenner 140 kann dann den Teil der Audiosignale 114 extrahieren, der dem Entitätsnamen 110b entspricht. Der automatische Spracherkenner 140 kann einen Zeitstempel mit dem extrahierten Teil der Audiosignale 114 verbinden und den extrahierten Teil der Audiosignale 114 in einem Teil des Speichers 134 speichern, der den eingehenden Teilen der Audiosignale 114, die einer oder mehrerer Stimmäußerungen 110 des Benutzers 100 entsprechen können, als Pufferspeicher zugewiesen ist. Der Speicher 134 kann den extrahierten Teil der Audiosignale 114 unbefristet speichern. Alternativ kann der Speicher 134 den extrahierten Teil der Audiosignale 114 jedoch nur eine festgelegte Zeit lang speichern. Zum Beispiel kann der extrahierte Teil der Audiosignale 114 gespeichert werden, bis eine korrekte Transkription des Entitätsnamens, der mit dem extrahierten Teil von Audiosignalen 114 verbunden ist, bestimmt wurde. Alternativ oder zusätzlich kann der extrahierte Teil der Audiosignale 114 gespeichert werden, bis der Befehl 110a ausgeführt wurde. Der automatische Spracherkenner 140 kann dann einen Satz Phoneme identifizieren, die höchstwahrscheinlich mit dem extrahierten Teil von Audiosignal 114 verbunden sind, und den Satz Phoneme dann mit einer phonetischen Aussprache abbilden.
-
Basierend auf dem in 1A abgebildeten Beispiel kann der automatische Spracherkenner 140 eine phonetische Transkription für den Entitätsnamen 110b „Fuchun” als „Fawr • chuh • n” erzeugen, wie er vom Benutzer 100 ausgesprochen, wird. Das phonetische Aussprache „Fawr • chuh • n” kann dann verwendet werden, um das personalisierte Aussprachewörterbuch 152 des Benutzers 100, das vor irgendwelchen Aktualisierungen in einem ersten Zustand „A” existiert, nach einem Entitätsnamen zu durchsuchen, der mit der phonetischen Aussprache „Fawr • chuh • n” verbunden ist. In Stadium „A”, schließt das personalisierte Aussprachewörterbuch 152 keine Eintragungen ein, die ausreichend mit einer phonetischen Aussprache von „Fawr • chuh • n” verbunden sind. Die automatische Spracherkennungsmaschine 140 kann einen oder mehrere Sprachumwandlungsprozesse verwenden, um die phonetische Aussprache zu bestimmen, der der phonetischen Aussprache von „Fawr • chuh • n” am nächsten kommt. Im Beispiel von 1A kann die automatische Spracherkennungsmaschine 140 kann feststellen, dass ein Entitätsname, der der phonetischen Aussprache ausreichend entspricht, „Fortune” lautet, und den extrahierten Teil der Audiosignale 114 dementsprechend transkribieren. Die automatische Spracherkennungsmaschine 140 kann den Server 130 dann auffordern, 162 die erzeugte Transkription 116 zurück an das mobile Gerät 120 des Benutzers 100 zu übertragen.
-
Der Server 130 kann dann 162 zusätzliche Informationen an das mobile Gerät 120 übertragen, das mit der Transkription 116 verbunden sein kann. Zum Beispiel kann die Transkription 116, die 162 an das mobile Gerät 120 übermittelt werden kann, auch mit einer Anzeige verbunden sein, dass das persönliche Aussprachewörterbuch 152 des Benutzers 100 in Stadium „A” keine Eintragungen eingeschlossen hat, die der phonetischen Aussprache „Fawr • chuh • n” entsprachen. Alternativ oder zusätzlich kann die Transkription 116 auch mit einer Liste mit einem oder mehreren Kontakten in dem personalisierten Aussprachewörterbuch 152 eines Benutzers 100, Stadium „A”, verbunden sein, das die ähnlichste Entsprechung der erzeugten phonetischen Aussprache sein kann, die dem extrahierten Teil der Audiosignale 114 entspricht. Diese zusätzlichen Informationen können dem mobilen Gerät 120 von dem Server 130 bereitgestellt werden, um den Benutzer 100 zu Feedbackinformationen aufzufordern, die verwendet werden können, um dem personalisierten Aussprachewörterbuch 150 dabei zu helfen, die vom Benutzer 100 geäußerte einzigartige Entitätsaussprache 112 zu erlernen.
-
Als Reaktion auf einen Empfang der Transkription 116 „Fortune” und die zusätzlichen Informationen, die zusammen mit Transkription 116 übertragen werden, kann das mobile Gerät 120 den Benutzer 100 124 auffordern, Feedbackinformationen im Zusammenhang mit der Transkription 116 abzugeben. Das mobile Gerät 120 kann die Aufforderung 124 z. B. als Reaktion auf die Bestimmung erzeugen, dass die empfangene Transkription 116 mit einer Anzeige verbunden war, dass das persönliche Aussprachewörterbuch 152 des Benutzers 100 in Stadium „A” keine Eintragungen einschloss, die der Transkription „Fortune” entsprachen. Die Aufforderung 124 kann z. B. eine Liste mit einem oder mehreren Kontaktnamen bereitstellen, die im persönlichen Aussprachewörterbuch 152 des Benutzers 100 in Stadium „A” gespeichert wurden, die der phonetischen Aussprache, die für die Erzeugung der Transkription 116 verwendet wurde, am ehesten entsprechen. In einem Beispiel kann die Aufforderung 124 einen Benutzer bitten, den Kontaktnamen auszuwählen, den der Benutzer 100 anrufen wollte, als er die Sprachäußerung 110 mit einem Entitätsnamen mit der Aussprache „Fawr • chuh • n” 112 vokalisiert hat. Zum Beispiel kann die Liste der Kontaktnamen, die dem Benutzer 100 bereitgestellt werden, Fuchini, Fucili und Fuchun einschließen, von denen jeder mit einer Eintragung im personalisierten Aussprachewörterbuch 152 des Benutzers 100 im Stadium „A” verbunden sein kann. In einigen Implementierungen kann die Liste der bereitgestellten Kontaktnamen möglicherweise phonetisch nicht nah an der einzigartigen Aussprache des Benutzers des Entitätsnamens sein. Zum Beispiel kann die Liste der Kontaktnamen, die in der Aufforderung bereitgestellt werden, phonetisch unverwandte Entitätsnamen wie z. B. Edwin, Fuchun und Steve enthalten. Als Reaktion auf die Aufforderung 124 wählt der Benutzer „Fuchun” aus, da der Benutzer 100 weiß, dass der Entitätsname, den der Benutzer 100 in Äußerung 110 vokalisiert hat, „Fuchun” war. Als Reaktion auf die Auswahl des Benutzers 100 von „Fuchun” kann das mobile Gerät 120 einen Anruf an „Fuchun” einleiten und auch 164 die Feedbackinformationen 118 an den Server 130 übertragen.
-
Das mobile Gerät 120 kann auch Audioaufforderungen verwenden, um Feedback von einem Benutzer 100 zu erhalten. Als Reaktion auf einen Empfang der Transkription 116 und der zusätzlichen Informationen, die zusammen mit Transkription 116 übertragen werden, kann das mobile Gerät 120 den Benutzer 100 z. B. fragen, ob der Benutzer 100 „Fortune anrufen?” 172 will. In solch einem Fall kann der Benutzer 100 eine oder mehrere nachfolgende Äußerungen bereitstellen, die einen Hinweis darauf bieten, ob der Benutzer 100 bestätigt oder verneint, dass er „Fortune” anrufen möchte. Alternativ oder zusätzlich kann ein Benutzer 100 den Entitätsnamen der Entität eintippen, die der Benutzer 100 anzurufen versucht. Andere Arten Feedbackinformationen können ebenfalls von Benutzer 100 bereitgestellt werden. Solche Feedbackinformationen können auf ähnliche Weise an Server 130 übermittelt werden wie Feedbackinformationen 118 und dann auf ähnliche Weise verwendet werden wie Feedbackinformationen 118, wie nachstehend beschrieben.
-
Der Server 130 kann die Feedbackinformationen 118 erhalten und leitet die Feedbackinformationen 118 an den automatischen Spracherkenner 140 weiter. Die Feedbackinformationen 118 können z. B. eine Anzeige des Entitätsnamens einschließen, den der Benutzer 100 in Reaktion auf die Aufforderung 124 eingibt. In diesem Fall können die Feedbackinformationen 118 anzeigen, dass der Benutzer den Entitätsnamen „Fuchun” ausgewählt hat. Außerdem kann, entweder vor oder mehr oder weniger gleichzeitig, der automatische Spracherkenner 140 den extrahierten Teil der Audiosignale 114 abrufen, der ursprünglich empfangen, gespeichert, und mit einem Zeitstempel versehen worden war. Der extrahierte Teil der Audiosignale 114 kann dem Entitätsnamen 110b entsprechen, der 112 von dem Benutzer 100 einzigartig ausgesprochen worden war, als der Benutzer die Äußerung 110 vokalisiert hatte. Der automatische Spracherkenner 140 kann den extrahierten Teil der Audiosignale 114 auf der Grundlage des Zeitstempels abrufen, der mit dem extrahierten Teil der Audiosignale 114 verbunden ist. Zum Beispiel kann der automatische Spracherkenner 140 in einer Implementierung auf der Grundlage des Zeitstempels den extrahierten Teil der Audiosignale 140 erhalten, der erst kürzlich empfangen, extrahiert und gespeichert wurde.
-
Der automatische Spracherkenner 140 kann den extrahierten Teil der Audiosignale 114 und der Feedbackinformationen 118 benutzen, um dem personalisierten Aussprachewörterbuch 150 die einzigartige Aussprache 112 des Benutzers 100 eines Entitätsnamens 110b beizubringen. Zum Beispiel kann der automatische Spracherkenner 140 eine phonetische Aussprache für den extrahierten Teil der Audiosignale 114 erzeugen, wie vorstehend beschrieben. Alternativ kann der automatische Spracherkenner 140 eine zuvor erzeugte phonetische Aussprache abrufen, die dem extrahierten Teil der Audiosignale 114, die eventuell als Reaktion auf den ursprünglichen Empfang der Audiosignale 114 erzeugt und gespeichert wurden, entspricht. In diesem Fall kann die erzeugte phonetische Aussprache des extrahierten Teils des Audiosignals 114, das der einzigartigen Aussprache 112 des Benutzers 100 des Entitätsnamens 110b in der vokalisierten Äußerung 110 entspricht, „Fawr • chuh • n” sein. Der automatische Spracherkenner 140 kann dann die Eintragung aus dem personalisierten Aussprachewörterbuch 152 identifizieren, die dem Entitätsnamen 152 „Fuchun” entspricht. Als Nächstes kann der automatische Spracherkenner 140 den personalisierten Aussprachewörterbucheintrag aktualisieren, der mit der Entität „Fuchun” verbunden ist, so dass die anfängliche Aussprache der Eintragung von „Fyoo • chuh • n” durch die einzigartige Aussprache „Fawr • chuh • n” des Benutzers 100 ersetzt wird. Das Ersetzen der anfänglichen Aussprache, die der Eintragung entspricht, die mit dem Entitätsnamen „Fuchun” mit dem einzigartigen Aussprache „Fawr • chuh • n” des Benutzers 100 verbunden ist, leitet das personalisierte Aussprachewörterbuch 150 des Benutzers in Stadium „B” über. In Stadium „B”, schließt das personalisierte Aussprachewörterbuch 154 des Benutzers 100 eine Eintragung ein, die den Entitätsnamen 154a „Fuchun” mit der einzigartigen Aussprache „Fawr • chuh • n” des Benutzers 100 verbindet.
-
1B ist ein kontextabhängiges Diagramm, das Merkmale eines Systems 100B für das Erlernen von personalisierten Kontaktaussprachen zeigt. Das System 100B kann dem System 100A, das in 1A dargestellt wird, im Wesentlichen ähnlich sein. Jedoch kann das System 100B das personalisierte Aussprachewörterbuch 154 eines Benutzers verwenden, das sich nach dem Erlernen der einzigartigen Aussprache 112 des Benutzers 100 des Entitätsnamens „Fuchun” in Stadium „B” verwandelt hat.
-
Sobald das Mikrofon aktiviert wurde, kann der Benutzer 100 eine Äußerung 210 vokalisieren, die von dem mit dem mobilen Gerät 120 des Benutzers verbundenen Mikrofon 125 erkannt werden kann. Die Äußerung 210 kann im Wesentlichen die gleiche Äußerung sein wie die Äußerung 110, die durch den Benutzer 100 im Beispiel des Systems 100A vokalisiert wurde. Zum Beispiel kann der Benutzer 100 den Entitätsnamen 210b „Fuchun” einzigartig als „Fawr • chuh • n” auf dieselbe oder sehr ähnliche Weise aussprechen, wie der Benutzer den Entitätsnamen „Fuchun” im Beispiel des Systems 100A einzigartig ausgesprochen hat. Auf ähnliche Weise kann der Befehl 210a, der mit der vokalisierten Äußerung 210 verbunden ist, der gleiche „Anruf”-Befehl sein, der mit vokalisierten Äußerung 110 verbunden war. Jedoch kann das System 100B die der Äußerung 210 entsprechenden Audiosignale unterschiedlich verarbeiten, weil das personalisierte Aussprachewörterbuch 154 des Benutzers im Stadium „B” die einzigartige Aussprache des Benutzers 100 des Entitätsnamens „Fuchun” erlernt hat.
-
Das Mikrofon 125 kann die Audiosignale erfassen, die mit der Äußerung 210 verbunden sind, und übermittelt 260 die mit der Äußerung 210 verbundenen Audiosignale 214 an den Server 130, der ein personalisiertes Aussprachewörterbuch 154 eines Benutzers in einem zweiten Stadium „B” unterhält. Die Audiosignale 214 können einen ersten Teil des Audiosignals, das dem Befehl 210a entspricht, und einen zweiten Teil des Audiosignals einschließen, das dem Entitätsnamen 210b entspricht. Die Audiosignale 214 können den Audiosignalen 114 im Wesentlichen ähnlich sein, da die Audiosignale 214 den vokalisierten Äußerungen 210 entsprechen, die der vokalisierten Äußerung 110 im Wesentlichen ähnlich ist.
-
Server 130 kann die Audiosignale 214 empfangen, die der Äußerung 210 entsprechen, und leitet die empfangenen Audiosignale 214 an den automatischen Spracherkenner 140 weiter. Der automatische Spracherkenner 140 kann dann den Teil der Audiosignale 214 extrahieren, der dem Entitätsnamen 210b entspricht. Der automatische Spracherkenner 140 kann einen Zeitstempel mit dem extrahierten Teil der Audiosignale 214 verbinden und den extrahierten Teil der Audiosignale 214 in einem Teil des Speichers 134 speichern, der den eingehenden Teilen der Audiosignale 214, die einer oder mehrerer Stimmäußerungen 110 des Benutzers 100 entsprechen können, als Pufferspeicher zugewiesen ist. Der Speicher 134 kann den extrahierten Teil der Audiosignale 214 unbefristet speichern. Alternativ kann der Speicher 134 den extrahierten Teil der Audiosignale 214 jedoch nur eine festgelegte Zeit lang speichern. Zum Beispiel kann der extrahierte Teil der Audiosignale 214 gespeichert werden, bis eine korrekte Transkription des Entitätsnamens, der mit dem extrahierten Teil von Audiosignalen 215 verbunden ist, bestimmt wurde. Alternativ oder zusätzlich kann der extrahierte Teil der Audiosignale 214 gespeichert werden, bis der Befehl 210a ausgeführt wurde. Der automatische Spracherkenner 140 kann dann einen Satz Phoneme identifizieren, die höchstwahrscheinlich mit dem extrahierten Teil der Audiosignale 214 verbunden sind, und den Satz Phoneme dann mit einer phonetischen Aussprache abbilden.
-
Basierend auf dem in 1B abgebildeten Beispiel kann der automatische Spracherkenner 140 eine phonetische Transkription für den Entitätsnamen 210b „Fuchun” als „Fawr • chuh • n” erzeugen, wie er vom Benutzer 100 ausgesprochen wird. Die phonetische Aussprache „Fawr • chuh • n” kann dann verwendet werden, um das personalisierte Aussprachewörterbuch 154 des Benutzers 100, das zurzeit nach mindestens einer Aktualisierung in einem zweiten Zustand „B” existiert, nach einem Entitätsnamen durchsuchen, der mit der phonetischen Aussprache „Fawr • chuh • n” verbunden ist. In Stadium „B”, schließt das personalisierte Aussprachewörterbuch 154 eine Eintragung ein, die ausreichend mit einer phonetischen Aussprache von „Fawr • chuh • n” verbunden ist. Zum Beispiel schließt das personalisierte Aussprachewörterbuch 154 eine Eintragung mit einem Kontaktnamen 154a „Fuchun” ein, von dem das personalisierte Aussprachewörterbuch 154 gelernt hat, es mit der einzigartigen Aussprache „Fawr • chuh • n” des Benutzers 100 zu verbinden. Die entsprechenden phonetischen Aussprachen zeigen an, dass der extrahierte Teil des Audiosignal 214 als „Fuchun” transkribiert werden kann. Die automatische Spracherkennungsmaschine 140 kann den Server 130 dann auffordern, 262 die erzeugte Transkription 280 zurück an das mobile Gerät 120 des Benutzers 100 zu übertragen.
-
Der Server 130 kann dann 262 zusätzliche Informationen an das mobile Gerät 120 übertragen, das mit der Übertragung 280 verbunden sein kann. Zum Beispiel kann die Transkription 280, die bei 262 an das mobile Gerät 120 übermittelt wird, auch mit einer Anzeige verbunden sein, dass das persönliche Aussprachewörterbuch 154 des Benutzers 100 in Stadium „B” einen bestimmten Entitätsnamen einschließt, der der phonetischen Aussprache „Fawr • chuh • n” entspricht. Alternativ oder zusätzlich kann die Transkription 280 mit einer Anzeige verbunden sein, dass die Transkription von Audio 214 erfolgreich war, und/oder mit einer Anweisung, den Befehl 210a des Benutzers einzuleiten. Z. B. können eine bestimmte Datenmarkierungsfahne, ein bestimmtes Datenbit oder dergleichen zurückgeschickt werden, um eine Anzeige einer erfolgreichen Transkription bereitzustellen. Diese zusatzlichen Informationen können dem mobilen Gerät 120 vom Server 130 bereitgestellt werden, um das mobile Gerät 120 anzuweisen, den Befehl 210a auszuführen. Im Beispiel des Systems 100B können die zusätzlichen Informationen das mobile Gerät 120 anweisen, „Fuchun” anzurufen oder dies ansonsten auslösen. Der Status 227 des Anrufs kann über die graphische Benutzeroberfläche 120 angezeigt werden. Alternativ oder zusätzlich kann der Lautsprecher 126 des mobilen Geräts einen Ausgabealarm bereitstellen, der anzeigt, dass ein Anruf versucht wird, der z. B. angibt, „Fuchun wird angerufen”.
-
Die Beispiele der Systeme 100A und 100B in Bezug auf 1A und 1B verwenden jeweils eine vokalisierte Äußerung 110, 210, die einen „Anruf”-Befehl 110a, 210a einschließen. Jedoch braucht die vorliegende Offenbarung nicht so begrenzt zu werden. Zum Beispiel können verschiedene andere Befehle geäußert, verarbeitet und gemäß der vorliegenden Offenbarung ausgeführt werden. Zum Beispiel kann ein Benutzer 100 eine Äußerung wie „Wegbeschreibung zum Yosemite Nationalpark” vokalisieren. Das Mikrofon 125 des mobilen Gerätes 120 kann die Audiosignale erfassen, die der Äußerung entsprechen und die Audiosignale dem Server 130 übermitteln. Der Server 130 kann auf ähnliche Weise den Teil des Audiosignals extrahieren, der dem Entitätsnamen entspricht, der in diesem Fall „Yosemite Nationalpark” sein kann, und dann den extrahierten Teil des Audiosignals mit einem Zeitstempel verbinden.
-
Der Server 130 kann den extrahierten Teil des Audiosignals an die automatische Erkennungseinheit 140 leiten. Die automatische Erkennungseinheit 140 kann dann einen Satz Phoneme mit einem akustischen Modell beschaffen und dann eine phonetische Aussprache des extrahierten Teils des Audios, der „Yosemite Nationalpark” entspricht, auf der Grundlage des Satzes der erhaltenen Phoneme erzeugen. Die automatische Erkennungseinheit 140 kann weiterhin anhand der erzeugten phonetischen Aussprache eine personalisierte geographische Datenbank durchsuchen, die eine Vielzahl verschiedener Points-of-Interest einschließt. Wenn eine Eintragung der personalisierten geographischen Datenbank nicht als mit einer phonetischen Aussprache identifiziert wird, die der erzeugten phonetischen Aussprache entspricht, kann der Server 130 den automatischen Spracherkenner 140 verwenden, um die erzeugte phonetische Aussprache zu identifizieren, die der Transkription am ehesten entspricht. Die am nächsten kommende Transkription kann dem mobilen Gerät 120 übermittelt werden und dem Benutzer 100 über eine Aufforderung dargestellt werden, die eine Anfrage nach Feedbackinformationen und/oder eine oder mehrere der besten Entsprechungen einschließt, die über die Durchsuchung der personalisierten geographischen Datenbank identifiziert worden sein können. Alle erhaltenen Feedbackinformationen können zurück an den Server 130 übertragen und verwendet werden, um die personalisierte geographische Datenbank auf der Grundlage der gespeicherten Audiosignale und der Feedbackinformationen zu aktualisieren, wie vorstehend beschrieben. Sobald die personalisierte geographische Datenbank gelernt hat, wie der Benutzer den Entitätsnamen „Yosemite Nationalpark” ausspricht, kann der automatische Spracherkenner 140 den Entitätsnamen richtig transkribieren, wenn er in einem Audiosignal empfangen wird, die mit dem transkribierten Entitätsnamen verbundenen Positionsinformationen nachsehen und die Positionsinformationen dem mobilen Gerät 120 bereitstellen. Das mobile Gerät 120 kann die Informationen verwenden, um einem Benutzer dabei zu helfen, zum „Yosemite Nationalpark” zu navigieren. Noch andere Arten Befehle können durch die vorliegende Offenbarung verwendet werden, wie z. B. ein Email-Befehl, ein SMS-Befehl oder dergleichen.
-
Dementsprechend sind Aspekte der vorliegenden Offenbarung nicht auf eine bestimmte Art Anwendung begrenzt und können stattdessen auf mehrere unterschiedliche Arten mobiler Anwendungen zutreffen, die so konfiguriert werden können, dass sie Sprachbefehle für einschließlich z. B. eine Telefonanwendung, eine Nachrichtenübermittlungsanwendung, eine Email-Anwendung, eine Kartenanwendung, eine Unterhaltungsanwendung oder dergleichen empfangen können.
-
Die Beispiele, die mit Bezug auf 1A und 1B beschrieben werden, beschreiben ein mobiles Gerät 120, das mit einem Server 130 interagiert. Jedoch wird auch erwogen, dass jegliche der als auf dem Server 130 ausgeführt beschriebenen Funktionalitäten auch von dem mobilen Gerät 120 ausgeführt werden können. Zum Beispiel können die vom Prozessor 132, dem automatischen Spracherkenner 140 und/oder dem Aussprachewörterbuch 150 ausgeführten Tätigkeiten durch das mobile Gerät 120 ausgeführt werden. In solchen Implementierungen oder in anderen Implementierungen kann ein Teil des oder das gesamte Aussprachewörterbuch 150 auf dem mobilen Gerät 120 anstatt auf dem Server 130 gespeichert werden.
-
2 ist ein Flussdiagramm eines Beispiels für einen Prozess 200, der genutzt werden kann, um Kontaktaussprachen in einem personalisierten globalen Aussprachewörterbuch zu erlernen.
-
Der Prozess 200 kann mit einem Server 230 beginnen der 202 eine Äußerung von einem Benutzer 100 empfängt, die einen Befehl und eine Entität einschließt. Die Äußerung kann die Form eines Satzes Audiosignale haben. Der Server 230 kann die empfangene Äußerung an einen automatischen Spracherkenner weiterleiten, der 204 einen Teil der Äußerung extrahiert, die mit dem Entitätsnamen verbunden ist. Der extrahierte Teil der Äußerung, die dem Entitätsnamen entspricht, kann dann mit einem Zeitstempel verbunden und in dem mit dem Server 230 verbundenen Speicher gespeichert werden.
-
Der automatische Spracherkenner kann 206 eine anfängliche Transkription des extrahierten Teils der Audiosignale erzeugen. Eine anfängliche Transkription des extrahierten Teils der Audiosignale kann erzeugt werden, indem man eine Serie einer oder mehrerer Stadien implementiert. Zum Beispiel kann der automatische Spracherkenner ein Modell wie ein akustisches Modell benutzen, um einen Satz Phoneme zu identifizieren, die mit dem extrahierten Teil der Audiosignale verbunden sein können. Dann können die Phoneme zu einer phonetischen Aussprache abgebildet werden, die dem extrahierten Teil der Audiosignale entspricht. Die phonetische Aussprache kann dann verwendet werden, um einen Entitätsnamen aus dem personalisierten Aussprachewörterbuch eines Benutzers abzurufen. Wenn keine Eintragung des personalisierten Aussprachewörterbuchs des Benutzers, die mit einer phonetischen Aussprache verbunden ist, die der erzeugten phonetischen Aussprache ausreichend entspricht, gefunden werden kann, kann die automatische Sucherkennungseinheit die beste verfügbare Entsprechung auswählen, die als anfängliche Transkription verwendet wird. Alternativ können andere Verfahren verwendet werden, um eine nächstmögliche anfängliche Transkription des extrahierten Teils der Audiosignale zu identifizieren. Zum Beispiel können bestimmte Sprache-zu-Text-Umwandlungsprozesse implementiert werden, um eine anfängliche Transkription zu erzeugen, die von dem personalisierten Aussprachewörterbuchs des Benutzers unabhängig ist. Sobald die anfängliche Transkription erzeugt wurde, kann sie an das mobile Gerät 120 eines Benutzers 100 mit zusätzlichen Informationen übermittelt werden, die eine Anfrage des mobilen Gerätes 120 nach Feedback vom Benutzer 100 in Bezug auf die Transkription auslöst.
-
In einigen Implementierungen kann der Server eine korrekte Transkription für den extrahierten Teil des Audiosignals bei 208 erhalten. Die korrekte Transkription kann z. B. auf dem vom Benutzer 100 empfangenen Feedback basieren. Zum Beispiel kann das mobile Gerät 120 als Reaktion auf eine anfängliche Transkription 116, die von dem mobilen Gerät 120 empfangen wird, 124 beim Benutzer 100 Feedback im Zusammenhang mit der anfänglichen Transkription anfordern. Alternativ oder zusätzlich kann Aufforderung 124 eine Liste einer oder mehrerer korrekter Transkriptionen zeigen, wie in 1A gezeigt. Der Benutzer 100 kann eine der bereitgestellten korrekten Transkriptionen auswählen, und die ausgewählte korrekte Transkription kann 164 an den Server 230 als Feedbackinformationen 118 übermittelt werden. In einigen Fällen können die Feedbackinformationen 118 eine korrekte Transkription einschließen, die sich von der anfänglichen Transkription unterscheidet.
-
Alternativ kann es jedoch Fälle geben, in denen die anfängliche Transkription eine ausreichend gute Transkription ist. Zum Beispiel kann ein Benutzer 100 bestimmen, dass die anfängliche Transkription 116 korrekt ist und als neue Eintragung dem personalisierten Aussprachewörterbuch hinzugefügt werden muss. Ein Benutzer kann eine Auswahl oder Bestätigung der anfänglichen Transkription einleiten, indem er z. B. als Reaktion auf eine Aufforderung 172 des mobilen Gerätes 120 bestätigt, dass das mobile Gerät „Fortune” anrufen sollte. Wenn der Benutzer 100 den Anruf an „Fortune” bestätigt, kann der Benutzer 100 Fortunes Kontaktinformationen eingeben, um den Abschluss des Anrufs zu erleichtern. Dann kann Fortunes Name an den Server 130 zurückgeschickt werden, um zusammen mit der erzeugten phonetischen Aussprache zu dem personalisierten Aussprachewörterbuch hinzugefügt zu werden. Daher können die Feedbackinformationen 118 in einigen Implementierungen Feedback einschließen, das anzeigt, dass die anfängliche Transkription 116 eine ausreichend gute Transkription ist.
-
Der Server 230 kann die korrekte Transkription empfangen und leitet die korrekte Transkription an den automatischen Spracherkenner weiter. Der automatische Spracherkenner kann den Extraktionsteil der Audiosignale des Benutzers 100 erhalten, die zuvor auf der Grundlage des Zeitstempels gespeichert wurden. Zum Beispiel kann der automatische Spracherkenner den extrahierten Teil der Audiosignale des Benutzers 100 abrufen, die mit dem neuesten Zeitstempel verbunden waren. Der automatische Spracherkenner kann dann eine phonetische Aussprache erzeugen, die dem extrahierten Teil der Audiosignale des Benutzers entspricht, wie vorstehend beschrieben. Dann kann der automatische Spracherkenner 210 die erzeugte phonetische Aussprache mit der empfangenen korrekten Transkription verbinden. Die erzeugte phonetische Aussprache kann der einzigartigen Aussprache des Benutzers 100 eines Entitätsnamens entsprechen.
-
Der automatische Spracherkenner kann dann 212 auf der Grundlage der erzeugen phonetischen Aussprache eine Eintragung im personalisierten Aussprachewörterbuch aktualisieren, die einen Entitätsnamen einschließt, der der korrekten Transkription entspricht. In einigen Implementierungen kann die Aktualisierung einer Eintragung im personalisierten Aussprachewörterbuch das Ersetzen einer anfänglichen Transkription eines Entitätsnamens mit der einzigartigen Aussprache eines Benutzers des Entitätsnamens einschließen, indem die erzeugte phonetische Aussprache im personalisierten Aussprachewörterbuch anstatt der anfänglichen Transkription des Entitätsnamens gespeichert wird. Dieses kann z. B. das Löschen der anfänglichen Transkription des Entitätsnamens aus dem personalisierten Aussprachewörterbuch einschließen. Alternativ kann die Aktualisierung einer Eintragung in dem personalisierten Aussprachewörterbuch die Speicherung der anfänglichen Transkription der Eintragung und die erzeugte phonetische Aussprache einschließen, wobei dann der erzeugten phonetischen Aussprache ein größeres Gewicht, ein höherer Rang oder eine höhere Punktzahl zugewiesen wird, die einen Hinweis auf die einzigartige Aussprache des Benutzers bieten können. Alternativ kann das System sowohl die anfängliche Transkription der Eintragung als auch die erzeugte phonetische Aussprache im personalisierten Aussprachewörterbuch speichern, und beide Aussprachen können von einem Spracherkenner während der Transkription eines geäußerten Entitätsnamen in Betracht gezogen werden. Alternativ kann in einigen Implementierungen die erzeugte phonetische Transkription jedoch an einem Ort gespeichert werden, der von dem personalisierten Aussprachewörterbuch getrennt und ganz allgemein unabhängig ist. In solchen Implementierungen kann die Aktualisierung einer Eintragung im personalisierten Aussprachewörterbuch nur die Erzeugung einer Begriffsverbindung zwischen einem personalisierten Aussprachewörterbucheintrag mit einbeziehen, der der korrekten Transkription entspricht, und einem anderen Speicherort, der eine oder mehrere erzeugte phonetische Transkriptionen unterhält.
-
3 ist ein Flussdiagramm eines Beispiels für einen Prozess 300, der genutzt werden kann, um Entitätsaussprachen in einem globalen Aussprachewörterbuch zu erlernen.
-
In einigen Fällen kann das System 100A auch ein globales Aussprachewörterbuch einschließen, das von mehreren Benutzern geteilt werden kann. So ein globales Aussprachewörterbuch kann in bestimmten geographischen Regionen vorteilhaft sein, in denen eine große Anzahl einer bestimmte Bevölkerungsgruppe jeweils eine oder mehrere bestimmte Spracheigenheiten, z. B. die gleiche Stimmlage, den gleichen Ton, die gleiche Emotion, den gleichen Akzent oder dergleichen teilen können. In solchen Fällen kann das globale Aussprachewörterbuch anstatt oder zusätzlich zu dem personalisierten Aussprachewörterbuch 150 verwendet werden. Zum Beispiel kann das globale Aussprachewörterbuch eine alternative Datenbank bereitstellen, die der automatische Spracherkenner durchsuchen kann, um die beste Transkriptionsentsprechung für einen bestimmten Teil der Audiosignale zu erhalten, die einem Entitätsnamen entsprechen. Alternativ oder zusätzlich können das personalisierte Aussprachewörterbuch 150 und das globale Aussprachewörterbuch als der gleiche Datenpool betrachtet werden, der eine oder mehrere Speichervirtualisierungstechniken verwendet. Das globale Aussprachewörterbuch kann in einer im Wesentlichen ähnlichen Weise zum personalisierten Aussprachewörterbuch 150 funktionieren, mit der Ausnahme der bestimmten Funktionalität des globalen Aussprachewörterbuchs, die nachstehend aufgeführt wird.
-
Ein Prozess 300 für das Erlernen von Entitätsaussprachen in einem globalen Aussprachewörterbuch kann anfangen, indem 302 bestimmt wird, dass die Transkription einer bestimmten Äußerung durch eine Vielzahl verschiedener, unabhängiger Benutzer korrigiert wurde. Der Server 130 kann dann jede der zahlreichen einzigartigen phonetischen Aussprachen analysieren, die für jeden der Vielzahl unterschiedlicher Benutzer erzeugt wurden, um 304 eine Untergruppe Benutzer zu identifizieren, die die gleiche einzigartige phonetische Aussprache mit einem bestimmten Entitätsnamen verbinden. Eine einzigartige phonetische Aussprache für einen bestimmten Entitätsnamen kann z. B. die einzigartige phonetische Aussprache „Chow • da hous” für den Entitätsnamen „Chowder House” sein, der typischerweise mit der phonetischen Aussprache „Chow • der hous” verbunden wird. Der Server 130 kann einen Zähler unterhalten, der die Anzahl der einzelnen Benutzer verfolgt, die die gleiche einzigartige phonetische Aussprache mit einem bestimmten Entitätsnamen verbinden. Der Server 130 kann dann bestimmen, ob die Untergruppe der Benutzer, die die gleiche einzigartige phonetische Aussprache mit der bestimmten Entität verbinden, eine zuvor festgelegte Schwelle überschreitet. Wenn 306 bestimmt wird, dass die Anzahl Benutzer, die die gleiche einzigartige phonetische Aussprache mit dem gleichen Entitätsnamen verbinden, eine zuvor festgelegte Schwelle überschreitet, kann die einzigartige phonetische Aussprache verwendet werden, um 308 das globale Aussprachewörterbuch für die bestimmte Entität auf der Grundlage der einzigartigen phonetischen Aussprache zu aktualisieren.
-
Der Begriff „Datenverarbeitungsgerät” bezieht sich auf alle Arten von Apparaten, Geräten und Maschinen zur Verarbeitung von Daten, einschließlich zum Beispiel auf einen programmierbaren Prozessor, einen Computer oder zahlreiche Prozessoren oder Computer. Die Vorrichtung kann eine vorhabensgebundene Logikschaltung, wie z. B. einen FPGA (Universalschaltkreis) oder einen ASIC (anwendungsspezifischer integrierter Schaltkreis) beinhalten. Der Apparat kann auch zusätzlich zur Hardware Code beinhalten, der eine Ausführungsumgebung für das betreffende Computerprogramm erzeugt, wie z. B. Code, der Prozessorfirmware darstellt, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination aus einem oder mehreren derselben beinhalten.
-
Ein Computerprogramm (das auch als Programm, Software, Softwareanwendung, Modul, Softwaremodul, Script oder Code bezeichnet oder beschrieben werden kann) kann in jeder Form von Programmiersprache, darunter auch in kompilierten oder interpretierten Sprachen oder in deklarativen oder prozeduralen Sprachen geschrieben und in beliebiger Form, wie z. B. als allein lauffähiges Programm oder als Modul, Komponente, Subroutine oder als eine andere für den Einsatz in einer Computerumgebung geeignete Einheit geschrieben werden. Ein Computerprogramm kann, muss jedoch nicht, einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert werden, die andere Programme oder Daten enthält (z. B. einen oder mehrere Skripte, die in einem Auszeichnungssprachen-Dokument gespeichert sind), in einer einzelnen, dem betreffenden Programm gewidmeten Datei oder in mehreren koordinierten Dateien (z. B. Dateien, die eines oder mehrere Module, Teilprogramme oder Code-Abschnitte enthalten). Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort befinden oder über mehrere Standorte verteilt und durch ein Kommunikationsnetzwerk miteinander verbunden sind.
-
Die in dieser Beschreibung beschriebenen Prozesse und Logikabläufe können von einem oder mehreren programmierbaren Computern ausgeführt werden, die ein oder mehrere Computerprogramme ausführen, die durch den auf Eingabedaten basierenden Betrieb und das Erzeugen von Ausgabedaten bestimmte Funktionen aktivieren. Die Prozesse und Logikabläufe können auch durch eine vorhabensgebundene Logikschaltung, wie z. B. einen FPGA (Universalschaltkreis) oder einen ASIC (anwendungsspezifischen integrierten Schaltkreis) ausgeführt, und das Gerät in Form derselben implementiert werden.
-
Die für die Ausführung eines Computerprogramms geeigneten Computer können beispielsweise auf allgemeinen oder speziellen Mikroprozessoren oder auch auf beiden oder auf einer anderen Art von Zentralverarbeitungseinheit basieren. In der Regel empfängt eine zentrale Verarbeitungseinheit Befehle und Daten von einem Nur-Lese-Speicher oder einem Direktzugriffsspeicher oder auch von beiden. Die wesentlichen Bestandteile eines Computers sind eine zentrale Verarbeitungseinheit zum Durchführen bzw. Ausführen von Anweisungen sowie eine oder mehrere Speichergeräte zum Speichern von Befehlen und Daten. In der Regel enthält ein Computer auch eines oder mehrere Massenspeichergeräte zum Speichern von Daten, wie z. B. magnetische, magneto-optische oder optische Festplatten bzw. wird operativ gekoppelt, um Daten von denselben zu empfangen oder auf dieselben zu übertragen. Ein Computer muss jedoch nicht über solche Geräte verfügen. Darüber hinaus kann ein Computer in einem anderen Gerät, wie beispielsweise einem Mobiltelefon, einem Personal Digital Assistant (PDA), einem mobilen Audio- oder Video-Player, einer Spielkonsole, einem globalen Positionsbestimmungssystem(GPS)-Empfänger oder einem tragbaren Speichergerät, wie z. B. einem Universal-Serial-Bus(USB)-Flash-Laufwerk integriert sein, um nur einige zu nennen.
-
Zu den computerlesbaren zum Speichern von Computerprogrammbefehlen und Daten geeigneten Medien gehören sämtliche Arten von Festspeichern, Medien und Speichergeräten, einschließlich Halbleiterspeicherelementen, wie beispielsweise EPROM, EEPROM und Flash-Speichergeräte; magnetische Festplatten, wie z. B. interne Festplatten oder Wechselplatten; magneto-optische Festplatten; und CD-ROM- und DVD-ROM-Laufwerke. Der Prozessor und der Speicher können durch eine vorhabensgebundene Logikschaltung ergänzt oder in dieselbe integriert werden.
-
Um die Interaktion mit einem Benutzer zu ermöglichen, können die in dieser Spezifikation beschriebenen Ausführungsformen des Gegenstandes zum Anzeigen von Informationen auf einem Computer mit einem Anzeigegerät, wie z. B. einem CRT- (Kathodenstrahlröhren) oder LCD-(Flüssigkristallanzeige)-Monitor, einschließlich einer Tastatur und einem Zeigegerät, wie z. B. einer Maus oder einem Trackball implementiert werden, mit denen der Benutzer den Computer bedienen kann. Es können auch andere Gerätearten verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen; zum Beispiel kann es sich bei der Rückmeldung an den Benutzer um jegliche Art von sensorischer Rückmeldung, wie z. B. eine visuelle, akustische, oder taktile Rückmeldung handeln; auch die Eingabe des Benutzers kann in beliebiger Form, also auch akustisch, sprachlich oder taktil empfangen werden. Darüber hinaus kann ein Computer mit einem Benutzer interagieren, indem er Dokumente an ein vom Benutzer verwendetes Gerät sendet und Dokumente von demselben Gerät empfängt; indem er z. B. auf einem Client-Gerät eines Benutzers Webseiten an einen Web-Browser in Reaktion auf vom Web-Browser empfangene Anfragen sendet.
-
Die in dieser Spezifikation beschriebenen Ausführungsformen des Gegenstandes können in einem Computersystem implementiert werden, das eine Backend-Komponente, wie z. B. einen Datenserver, oder eine Middleware-Komponente, wie z. B. einen Anwendungsserver oder eine Frontend-Komponente, wie z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche oder eine beliebige Kombination einer oder mehrerer der besagten Backend-, Middleware- oder Frontend-Komponenten oder einen Web-Browser beinhaltet, durch den ein Benutzer mit einer in dieser Spezifikation beschriebenen Implementierung des Gegenstandes interagieren kann. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk miteinander verbunden werden. Zu Kommunikationsnetzwerken zählen beispielsweise lokale Netzwerke („LAN”) und Weitverkehrsnetze („WAN”), wie z. B. das Internet.
-
Das Computersystem kann aus Clients und Servern bestehen. Client und Server sind generell voneinander entfernt und interagieren in der Regel über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern ausgeführt werden und in einer Client-Server-Beziehung zueinander stehen.
-
Obwohl diese Beschreibung viele spezifische Implementierungsdetails beinhaltet, sollten diese nicht als Einschränkungen des Schutzumfangs einer Erfindung oder eines Anspruchs ausgelegt werden, sondern vielmehr als Beschreibungen von Merkmalen, die für bestimmte Ausführungsformen besonderer Erfindungen spezifisch sein können. Bestimmte Merkmale, die innerhalb dieser Spezifikation im Zusammenhang mit separaten Ausführungsformen beschrieben werden, können auch in Kombination in einer einzelnen Ausführungsform implementiert werden. Umgekehrt können verschiedene Merkmale, die im Zusammenhang mit einer einzelnen Ausführungsform beschrieben werden, auch in mehreren Ausführungsformen separat oder in einer geeigneten Teilkombination implementiert werden. Außerdem können, auch wenn die Merkmale weiter oben ggf. als in bestimmten Kombinationen wirkend beschrieben und sogar zunächst als solche beansprucht werden, in einigen Fällen ein oder mehrere Merkmale einer beanspruchten Kombination aus der Kombination herausgeschnitten und die beanspruchte Kombination auf eine Teilkombination oder eine Variante einer Teilkombination gerichtet werden.
-
Gleichermaßen sollte, obwohl die Vorgänge in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, dies nicht so verstanden werden, dass die besagten Vorgänge in der dargestellten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden müssen, oder dass alle veranschaulichten Vorgänge durchgeführt werden, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den oben beschriebenen Ausführungsformen nicht als in allen Ausführungsformen erforderlich ausgelegt werden, auch gilt es zu verstehen, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in einem einzelnen Softwareprodukt oder in mehreren Softwareprodukten gebündelt integriert werden können.
-
Es wurden besondere Ausführungsformen des Gegenstandes beschrieben. Weitere Ausführungsformen liegen innerhalb des Schutzumfangs der folgenden Ansprüche. So können beispielsweise die in den Patentansprüchen angegebenen Aktionen in einer anderen Reihenfolge durchgeführt werden und dennoch die erwünschten Ergebnisse erzielen. So erfordern beispielsweise die in den beigefügten Figuren dargestellten Prozesse nicht unbedingt die gezeigte spezielle Reihenfolge oder fortlaufende Reihenfolge, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein. Andere Schritte können bereitgestellt werden, oder es können Schritte von den beschriebenen Prozessen eliminiert werden. Dementsprechend liegen andere Implementierungen innerhalb des Umfangs der folgenden Ansprüche.