DE69632517T2 - Erkennung kontinuierlicher Sprache - Google Patents

Erkennung kontinuierlicher Sprache Download PDF

Info

Publication number
DE69632517T2
DE69632517T2 DE69632517T DE69632517T DE69632517T2 DE 69632517 T2 DE69632517 T2 DE 69632517T2 DE 69632517 T DE69632517 T DE 69632517T DE 69632517 T DE69632517 T DE 69632517T DE 69632517 T2 DE69632517 T2 DE 69632517T2
Authority
DE
Germany
Prior art keywords
user
text
speech
elements
recognized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69632517T
Other languages
English (en)
Other versions
DE69632517D1 (de
Inventor
Joel M. Winchester Gould
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
L&H Holdings USA Inc
Original Assignee
L&H Holdings USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by L&H Holdings USA Inc filed Critical L&H Holdings USA Inc
Application granted granted Critical
Publication of DE69632517D1 publication Critical patent/DE69632517D1/de
Publication of DE69632517T2 publication Critical patent/DE69632517T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Description

  • Diese Erfindung betrifft kontinuierliche Spracherkennung.
  • Viele Spracherkennungssysteme, einschließlich DragonDictateTM von Dragon SystemsTM of West Newton, Massachusetts, speichern Daten, die die Sprache eines Benutzers repräsentieren, (d. h. Sprachrahmen) für eine kurze Liste von Worten, z. B. 32, die gerade durch den Benutzer ausgesprochen worden sind. Wenn ein Benutzer feststellt, daß ein Wort nicht korrekt erkannt wurde, ruft der Benutzer (durch Tastenanschlag, Mausauswahl oder eine Außerung) auf einem Anzeigebildschirm ein Korrekturfenster auf. Das Korrekturfenster zeigt die kurze Liste von Worten oder einen Abschnitt der kurzen Liste von Worten, und der Benutzer wählt das falsch erkannte Wort zur Korrektur aus. Die Auswahl des Wortes veranlaßt das Spracherkennungssystem, das Wort erneut zu erkennen, indem es die gespeicherten Sprachrahmen, die mit dem Wort verbunden sind, mit einem Wörterverzeichnis von Sprachmodellen vergleicht. Der Vergleich liefert eine Auswahlliste von Worten, die durch den Benutzer gesprochen worden sein können, und das System zeigt die Auswahlliste für den Benutzer an. Der Benutzer wählt dann das korrekte Wort aus der Auswahlliste aus, oder der Benutzer buchstabiert mündlich das korrekte Wort in das Korrekturfenster. In jedem Fall ersetzt das System das nicht korrekte Wort durch das korrekte Wort und paßt (d. h. trainiert) die Sprachmodelle, die das korrekte Wort repräsentieren, unter Verwendung der zugehörigen Sprachrahmen an.
  • Für wertere Informationen über das Training von Sprachmodellen, siehe das US-Patent Nr. 5,027,406, mit dem mit dem Titel „Method for Interactive Speech Recognition and Training", und die US-Patentanmeldung Serien-Nr. 08/382,752 mit dem Titel „Apparatuses and Methods for Training and Operating Speech Recognition Systems".
  • Für weitere Informationen über Auswahllisten und eine alphabetische Vorfilterung siehe das US-Patent Nr. 4,783,803, mit dem Titel „Speech Recognition Apparatus and Method", das US-Patent Nr. 4,865,778 mit dem Titel „Inieractive Speech Recognition Apparatus", und das US-Patent Nr. 5,027,406 mit dem Titel „Method for Interactive Speech Recognition and Training".
  • Abgesehen von der Korrektur von Spracherkennungsfehlern ändern Benutzer häufig ihre Meinung hinsichtlich des vorher eingegebenen Textes und wollen ein oder mehrere vorher eingegebene Worte durch andere Worte ersetzen. Um diese Editierung durchzuführen, rufen Benutzer häufig das Korrekturfenster auf, wählen ein vorher eingegebenes Wort, und tippen oder sprechen dann ein anderes Wort. Das System ersetzt das vorher eingegebene Wort mit dem anderen Wort, und da das Training kontinuierlich ist, paßt das System auch die Sprachmodelle, die mit dem anderen Wort verbunden sind, mit den Sprachrahmen aus der ursprünglichen Äußerung an. Diese „Fehlanpassung" kann die Integrität der Sprachmodelle für das andere Wort beeinträchtigen und die Spracherkennungsgenauigkeit reduzieren.
  • Zum Beispiel kann der Benutzer „It was a rainy day" eingegebenen haben und möchte, das sich der Text als „It was a cold day" liest. Wenn der Benutzer das Korrekturfenster aufruft, das Wort „rainy" auswählt und das Wort „cold" eintippt oder spricht, ersetzt das System das Wort „rainy" durch das Wort „cold" und paßt die Sprachmodelle für „cold" falsch mit den Sprachmodellen für "rainy" an.
  • Wenn das Spracherkennungssystem eine oder mehrere Wortgrenzen falsch erkennt, dann könnte es sein, daß der Benutzer zwei oder mehrere Worte korrigieren muß. Wenn der Benutzer zum Beispiel „let's recognize speech" sagt und das System „let's wreck a nice beach" erkennt, dann muß der Benutzer „wreck a nice beach" in „recognize speech" ändern. Der Benutzer kann das Korrekturfenster aufrufen und jedes Wort einzeln ändern, wobei die Auswahlliste für jedes Wort verwendet wird. Zum Bespiel kann der Benutzer das Korrekturfenster aufrufen und „wreck" als das zu ändernde Wort auswählen und „recognize" aus der Auswahlliste (falls verfügbar) auswählen oder (durch Tastenanschlag oder Äußerung: Wort oder Schreibweise) „recognize" in das Korrekturfenster eingeben. Der Benutzer kann dann „a" und dann „nice" auswählen und ablehnen (d. h. löschen), und zuletzt kann der Benutzer „beach" auswählen und „speech" aus der Auswahlliste wählen oder „speech" in das Korrekturfenster eingeben.
  • Alternativ lassen es einige Spracherkennungssysteme zu, nachdem der Benutzer das Korrekturfenster aufgerufen und „recognize" gewählt hat, daß der Benutzer ein Leerzeichen nach „recognize" eingibt, um dem System anzuzeigen, daß eine andere Wortkorrektur folgt. Das System erkennt die Sprachrahmen erneut, die dem neu eingegebenen Wort „recognize" folgen und stellt eine Hypothese (z. B. „Sprache") und eine entsprechende Auswahlliste für den Benutzer auf. Der Benutzer wählt entweder die Hypothese oder ein Wort aus der Auswahlliste und kann dem Wort erneut ein Leerzeichen folgen lassen, um das System zu veranlassen, das nächste Wort erneut zu erkennen.
  • Andere Spracherkennungssysteme weisen große Speicherfähigkeiten auf, die alle Sprachrahmen speichern, die mit Benutzeräußerungen verbunden sind, und alle Benutzeräußerungen aufzeichnen. Der Benutzer kann ein vorher gesprochenes Wort auswählen, um das System die ursprüngliche Äußerung des Benutzers wiedergeben zu lassen. Wenn die Äußerung nicht zum erkannten Wort paßt (d. h. das System erkennt das Wort falsch), dann kann der Benutzer ein Korrekturfenster aufrufen und das korrekte Wort tippen oder sprechen, um das System zu veranlassen, die Korrektur vorzunehmen und die Sprachmodelle auf das korrigierte Wort zu trainieren. Dies kann eine Sprachmodell-Fehlanpassung reduzieren, da es notwendig ist, daß der Benutzer feststellt, ob das System das Wort tatsächlich falsch erkannt hat, bevor die Sprachmodelle trainiert werden.
  • US-5 231 670 offenbart ein Spracherkennungssystem, in dem jede erkannte Spracheingabe in ein Diktatereignis, das die Verarbeitung von Daten handhabt, die die Eingabe betreffen, und ein Textereignis getrennt wird, das sich mit der Erzeugung von Text aus den Spracheingabesignalen zu tun hat. Die Diktatereignisse können Befehle, wie "SCRATCH THAT", "FORWARD", „BACK", „NEXT CHOICE" und „TRY AGAIN" enthalten.
  • Im allgemeinen zeichnet sich in einem Aspekt die Erfindung durch ein Verfahren zur Verwendung bei der Erkennung von Sprache aus. Es werden Signale angenommen, die eingestreuten Sprachelementen entsprechen, die Textelemente, die zu erkennenden Text entsprechen, und auszuführende Befehlselemente enthalten. Die Elemente werden erkannt. Es werden als Reaktion auf erkannte vorbestimmte Befehlselemente Modifikationsprozeduren ausgeführt. Die Modifikationsprozeduren umfassen das automatische Feststellen, ob die Modifikationsprozeduren einen Spracherkennungsfehler korrigieren, das Training der Sprachmodelle, wenn die Modfikationsprozeduren einen Spracherkennungsfehler korrigieren, und das Unterlassen des Trainierens von Sprachmodellen, wenn die Modifikationsprozeduren einen Spracherkennungsfehler nicht korrigieren.
  • Im allgemeinen schließen die Modifikationsprozeduren in einem anderen Aspekt das gleichzeitige Modifizieren vorher erkannter Textelemente ein.
  • Implementierungen der Erfindung können ein oder mehrere der folgenden Merkmale umfassen. Textelementgrenzen (z. B. falsch erkannte Grenzen) der vorher erkannten Textelemente können modifiziert werden. Die Detektion eines Spracherkennungsfehlers kann die Feststellung umfassen, ob Sprachrahmen oder Sprachmodelle, die einer Spracherkennungsmodifikation entsprechen, zu mindestens einem Anteil der Sprachrahmen oder Sprachmodelle passen, die den vorhergehenden Äußerungen entsprechen. Passende Sprachrahmen oder Sprachmodelle können ausgewählt werden. Die vorbestimmten Befehlselemente können einen Auswahlbefehl und eine Äußerung enthalten, die ein ausgewähltes erkanntes Textelement repräsentieren, das korrigiert werden soll. Das ausgewählte erkannte Textelement kann an vorher erkannte Textelemente angepaßt werden, Vorher erkannte Textelemente können syntaktisch analysiert werden, und es kann eine Baumstruktur aufgebaut werden, die die geordnete Beziehung zwischen den vorher erkannten Textelementen repräsentiert. Die Baumstruktur kann ein mehrfaches Auftreten eines gegebenen vorher erkannten Textelements widerspiegeln. Die Äußerung kann eine Sequenz von mehreren ausgewählten erkannten Textelementen repräsentieren. Eines der erkannten Textelemente kann beruhend auf Korrekturinformationen modifiziert werden, die durch einen Benutzer bereitgestellt werden, der einen Ersatztext spricht. Die Korrekturinformation können eine Korrektur der Grenzen zwischen Textelementen umfassen. Die Modifikationsprozeduren können das Modfizieren eines oder mehrerer der jüngst erkannten Textelemente umfassen.
  • Die vorbestimmten Befehlselemente können einen Befehl (z. B. „oops") umfassen, der anzeigt, daß eine kurzfristige Korrektur vorgenommen werden soll. Die Modifikationsprozeduren können eine interaktion mit einem Benutzer in Bezug auf vorzunehmende Modifikationen umfassen. Die Interaktion kann ein Anzeigefenster umfassen, in dem vorgeschlagene Modifikationen angezeigt werden. Die Interaktion kann umfassen, daß ein Benutzer die Schreibweise eines Wortes ausspricht, das korrigiert werden soll. Die Modifikationsprozeduren können das Aufbauen einer Baumstruktur umfassen, die Sprachrahmen gruppiert, die in Zweigen des Baums möglichen Textelementen entsprechen. Die jüngste erkannten Textelemente können unter Verwendung der Sprachrahmen der Baumstruktur erneut erkannt werden. Der Baum kann verwendet werden, um Textelement für Textelement eine Übereinstimmung zwischen einer Korrekturäußerung und den ursprünglich erkannten Textelementen festzustellen. Die Modifikationsprozeduren können nach der Bestimmung einer Übereinstimmung das erneute Erkennen anschließender Sprachrahmen einer ursprünglichen Äußerung umfassen. Wenn keine Übereinstimmung festgestellt wird, kann die erkannte Korrekturäußerung dem Benutzer angezeigt werden. Der Befehl kann anzeigen, daß der Benutzer ein erkanntes Textelement löschen möchte. Das Textelement kann das jüngste erkannte Textelement sein.
  • Der vorbestimmte Befehl kann „scratch that sein. Dem Befehl kann eine Pause folgen, und das jüngst erkannte Textelement kann dann gelöscht werden. Dem Befehl kann eine Äußerung folgen, die einem Ersatztextelement entspricht, und das jüngst erkannte Textelement wird dann durch das Ersatztextelement ersetzt.
  • Die Vorteile der Erfindung können eines oder mehreres des Folgenden umfassen. Die Versorgung des Benutzers mit einer Vielfalt von Editierungs-/Korrekturtechniken gestattet es dem Benutzer, auszuwählen, wie er den vorher eingegebenen Text editieren oder korrigieren wird. Die gewählte Technik kann von der vorzunehmenden Editierung oder Korrektur abhängen, oder der Benutzer kann die Technik auswählen, die ihm am bequemsten ist. Die unterschiedlichen Techniken lassen außerdem eine Flexibilität des Benutzers zu, wann Änderungen oder Korrekturen vorgenommen werden. Zum Beispiel kann der Benutzer kontinuierlich editieren, während er Text diktiert, oder der Benutzer kann ein ganzes Dokument diktieren, bevor er zurückgeht, um Änderungen oder Korrekturen vorzunehmen. Außerdem wird der kognitive Aufwand des Benutzers zur Korrektur und Editierung vorher eingegebenen Textes reduziert. Zum Beispiel können Sprachmodelle nur dann trainiert werden, wenn das Spracherkennungssystem, nicht der Benutzer, feststellt, daß ein Wort oder eine Reihe von Worten falsch erkannt worden sind. Entsprechend kann das System als Reaktion auf eine Korrektur des Benutzers automatisch Wortgrenzen modifizieren, um gleichzeitig eine erste Anzahl von Worten in eine zweite Anzahl anderer Worte zu ändern.
  • Andere Vorteile und Merkmale werden aus der folgenden Beschreibung und aus den Ansprüchen deutlich werden.
  • 1 ist ein Blockdiagramm eines Spracherkennungssystems.
  • 2 ist ein Blockdiagramm einer Spracherkennungssoftware und Anwendungssoftware.
  • 3 ist ein Blockdiagramm einer Spracherkennungssoftware und von Wörterverzeichnissen, die im Speicher gespeichert sind.
  • 4 ist eine Computerbildschirmanzeige von Wortverarbeitungsbefehlsworten und Sätzen.
  • 5 ist ein Flußdiagramm, das ein langfristiges Editierungsmerkmal darstellt.
  • 6 und 7 sind Blockdiagramme von Baumstrukturen des tangfristigen Editierungsmerkmals.
  • 8a8f sind Computerbildschirmanzeigen, die das langfristige Editierungsmerkmal darstellen.
  • 9 ist ein Flußdiagramm, das ein kurzfristiges Fehlerkorrekturmerkmal darstellt.
  • 10a10e sind Computerbildschirmanzeigen, die ein kurzfristiges Spracherkennungsfiehler-Korrekturmerkmal darstellen.
  • 11 ist eine Computerbildschirmanzeige eines Korrekturfensters und eines Schreibweisenfensters.
  • 12 und 13 sind Blockdiagramme der Saumstrukturen des kurzfristigen Fehlerkorrekturmerkmals.
  • 14 ist ein Flußdiagramm, das ein Streich-das-Editierungsmerkmal darstellt.
  • 15a15d zeigen Benutzerschnittstellenfenster.
  • Das Spracherkennungssystem enthält verschiedene Korrektur-/Editierungsmerkmale. Wenn er ein Korrekturmerkmal verwendet, das als "kurzfristige Fehlerkorrektur" bezeichnet wird, ruft der Benutzer (durch Tastenanschlag, Mausauswahl oder eine Äußerung, z. B. "oops") ein Korrekturfenster auf und gibt (durch Tastenanschlag oder Äußerung) eines oder mehrere vorher gesprochene Worte ein, um eine kürzlich falsch erkannte Äußerung zu korrigieren. Das System vergleicht Sprachmodelle (für getippte Worte) oder Sprachrahmen (für gesprochene Worte), die mit der Korrektur verbunden sind, gegen die Sprachrahmen einer vorbestimmten Anzahl, z. B. drei, der vorhergehenden Äußerungen des Benutzers. Wenn der Vergleich Sprachrahmen lokalisiert, die einem Abschnitt einer der vorhergehenden drei Äußerungen des Benutzers entsprechen, die im wesentlichen zu den Sprachmodellen oder Rahmen der Korrektur des Benutzers passen, dann modifiziert das System die ursprüngliche Erkennung, um die Korrektur einzuschließen. Die Modifikation der ursprünglichen Äußerung umfaßt die erneute Erkennung der Sprachrahmen um die Korrektur herum. Folglich kann der Benutzer gleichzeitig ein Wort, eine Reihe von Worten oder eine ganze Äußerung modifizieren, was die Korrektur falsch erkannter Wortgrenzen einschließt. Die Sprachrahmen aus der ursprünglichen Äußerung werden außerdem verwendet, um die Sprachmodelle für die Korrektur zu trainieren (d. h. anzupassen).
  • Wenn der Vergleich keine Sprachrahmen lokalisiert, die einem Abschnitt einer der vorhergehenden drei Äußerungen des Benutzers entsprechen, die im wesentlichen zur Korrektur des Benutzers passen, dann teilt das System dem Benutzer mit, daß die Korrektur nicht vorgenommen werden kann. Wenn der Benutzer zum Beispiel irrtümlicherweise ein oder mehrere andere Worte als Korrektur eingibt, wird der Vergleich keine entsprechenden Sprachrahmen in einer der vorhergehenden drei Äußerungen des Benutzers lokalisieren. Dies reduziert die Möglichkeit, daß Sprachmodelle falsch angepaßt werden können.
  • Ein anderes Editierungsmerkmal, das als „Langfristige Editierung" bezeichnet wird, gestattet es dem Benutzer, vorher eingegebenen Text auszuwählen und zu modifizieren. Nachdem der Text durch Tastenanschläge oder Mausauswahl oder durch Aussprechen der auszuwählenden Worte ausgewählt worden ist, modifiziert der Benutzer den ausgewählten Text durch Tippen oder Sprechen von Ersatzworten. Der Benutzer kann gleichzeitig ein Wort, eine Reihe von Worten oder eine ganze Äußerung modifzieren, was die Korrektur falsch erkannter Wortgrenzen einschließt. Da der Benutzer die langfristige Editierung verwenden kann, um vorher eingegebenen Text zu editieren oder um Spracherkennungsfehler zu korrigieren, trainiert das System nicht automatisch die Sprachmodelle auf die Modfikationen, was im wesentlichen eine Fehlanpassung der Sprachmodelle verhindert. Der Benutzer kann jedoch anfordern, daß das System die Sprachmodelle auf eine Modifikation trainiert.
  • Ein Korrektur-/Editierungsmerkmal, das als „streiche das und wiederhole" bezeichnet wird, gestattet es dem Benutzer, schnell und leicht seine jüngste Äußerung zu löschen oder zu löschen und zu ersetzen. Wenn der Benutzer feststellt, nachdem eine Äußerung ausgesprochen ist, daß das System die vorhergehende Äußerung nicht korrekt erkennt, wählt der Benutzer (durch Tastenanschlag, Mausauswahl oder eine Äußerung, z. B. „scratch that) einen Streichungsbefehl und wiederholt die Äußerung. Das System ersetzt die Worte, die aus der ursprünglichen Äußerung erkannt wurden, durch Worte, die aus der zweiten Äußerung erkannt werden. Wenn der Benutzer die Worte der vorhergehenden Äußerung löschen möchte, gibt der Benutzer nur den Streiche-das-Befehl (z. B. mit anschließender Stille) ein, und wenn der Benutzer die Worte der vorhergehenden Äußerung editieren möchte, sagt der Benutzer „scratch that" gefolgt von neuen Text. In jedem Fall trainiert das System keine Sprachmodelle entsprechend irgendeinem Ersetzungstext, was die Möglichkeit einer Fehlanpassung der Sprachmodelle reduziert.
  • Bezugnehmend auf 1, weist ein typisches Spracherkennungssystem 10 ein Mikrofon 12 zur Umwandlung der Sprache eines Benutzers in ein analoges Datensignal 14 und eine Tonkarte 16 auf. Die Tonkarte weist einen digitalen Signalprozessor (DSP) 19 und einen Analog-Digital-(A/D)-Wandler 17 auf, zur Umwandlung des analogen Datensignals in ein digitales Datensignal 18 durch Abtastung des analogen Datensignals mit etwa 11 khz, um 220 digitale Abtastwerte während einen Zeitspanne von 20 ms zu erzeugen. Jede Zeitspanne von 20 ms entspricht einem getrennten Sprachrahmen. Der DSP verarbeitet die Abtastwerte entsprechend jedem Sprachrahmen, um während der Zeitspanne von 20 ms eine Gruppe von Parametern zu erzeugen, die mit dem analogen Datensignal verbunden ist. Im allgemeinen repräsentieren die Parameter die Amplitude der Sprache in Jedem eines Satzes von Frequenzbändern.
  • Der DSP überwacht außerdem die Lautstärke der Sprachrahmen, um Benutzeräußerungen zu detektieren. Wenn die Lautstärke von drei aufeinanderfolgenden Sprachrahmen innerhalb eines Fensters von fünf aufeinanderfolgenden Sprachrahmen (d. h. drei der letzten fünf Sprachrahmen) eine vorbestimmte Sprachschwelle überschreitet, zum Beispiel 20 dB, dann stellt der DSP fest, daß das analoge Signal Sprache repräsentiert, und der DSP beginnt, mehrere, z. B. drei Sprachrahmen von Daten aufeinmal (d. h. einen Stapel) über ein digitales Datensignal 23 an eine Zentraleinheit (CPU) 20 zu senden. Der DSP macht ein Äußerungssignal (Utt) 22 gültig, um der CPU jedesmal mitzuteilen, daß ein Stapel von Sprachrahmen, die eine Äußerung repräsentieren, über das digitale Datensignal gesendet wird.
  • Wenn ein Unterbrechungs-Behandler 24 an der CPU Geltendmachungen des Utt-Signals 22 empfängt, wird die normale Ausführungsabfolge der CPU unterbrochen. Das Unterbrechungssignal 26 bewirkt, daß die Betriebssystemsoftware 28 eine Speicherroutine 29 aufruft. Die Speicherroutine 29 speichert den ankommenden Stapel von Sprachrahmen in einem Puffer 30. Wenn fünfzehn aufeinanderfolgende Sprachrahmen innerhalb eines Fensters von neunzehn aufeinanderfolgenden Sprachrahmen unter eine vorbestimmte Schweigeschwelle fallen, z. B. 6 dB, dann stoppt die DSP die Sendung von Sprachrahmen an die CPU und macht ein End_Utt-Signal 21 gültig. Das End_Utt-Signal veranlaßt die Speicherroutine, die Stapel zuvor gespeicherter Sprachrahmen in einem Sprachpaket 39 zu erkennen, das der Benutzeräußerung entspricht.
  • Das Unterbrechungssignal 26 bewirkt auch, daß die Betriebssystemsoftware eine Überwachungssoftware 32 aufruft. Die Überwachungssoftware 32 hält einen Zählwert 34 der Anzahl der Sprachpakete, die gespeichert, jedoch noch nicht verarbeitet worden sind. Eine Anwendung 36, zum Beispiel ein Wortprozessor, der durch die CPU periodisch ausgeführt wird, prüft auf eine Benutzereingabe, indem er den Zählwert der Überwachungssoftware untersucht. Wenn der Zählwert null ist, dann gibt es keine Benutzereingabe. Wenn der Zählwert nicht null ist, dann ruft die Anwendung eine Spracherkennungssoftware 38 auf, und übergibt einen Zeiger 37 auf die Speicheradresse des Sprachpakets im Puffer 30. Der Spracherkenner kann direkt durch die Anwendung aufgerufen werden oder kann im Auftrag der Anwendung durch ein getrenntes Programm, wie DragonDictateTM von Dragon Systems of West Newton, Massachusetts, als Reaktion auf die Anforderung der Anwendung einer Eingabe von einer Maus oder Tastatur aufgerufen werden.
  • Für eine detailliertere Beschreibung, wie Benutzeräußerungen in einem Spracherkennungssystem empfangen und gespeichert werden, siehe das US-Patent Nr. 5,027,406 mit dem Titel "Method for Interactive Speech Recognition and Training".
  • Bezugnehmend auf 2, veranlaßt die Spracherkennungssoftware 38, um festzustellen, welche Worte gesprochen worden sind, die CPU, Sprachrahmen innerhalb des Sprachpakets 39 aus dem Puffer 30 abzurufen und die Sprachrahmen (d. h. die Sprache des Benutzers) mit Sprachmodellen zu vergleichen, die in einem oder mehreren Wörterverzeichnissen 40 gespeichert sind. Für eine detailliertere Beschreibung kontinuierlicher Spracherkennung siehe das US-Patent Nr. 5,202,952, mit dem Titel "Large-Vocabulary Continuous Speech Prefiltering and Processing System".
  • Die Erkennungssoftware verwendet eine gemeinsame Skriptspracheninterpretersoftware, um mit der Anwendung 36 zu kommunizieren, die die Erkennungssoftware aufrief. Die gemeinsame Skriptspracheninterpretersoftware ermöglicht es dem Benutzer, direkt in die Anwendung diktieren, entweder durch Emulation der Computertastatur und Umwandlung der Erkennungsergebnisse in anwendungsabhängige Tastenanschläge oder durch Senden anwendungsabhängiger Befehle direkt an die Anwendung unter Verwendung der Anwendungskommunikationseinrichtung des Systems (Microsoft WindowsTM verwendet z. B. Dynamic Data ExchangeTM). Die erwünschten Anwendungen umfassen zum Beispiel Textverarbeitungsprograramme 44 (z. B. Word Perfect oder Microsoft WordTM), Tabellenkalkulationen 46 (z. B. Lotus 1-2-3TM oder ExcelTM) und Spiele 48 (z. B. SolitaireTM).
  • Alternativ zum direkten Diktieren in eine Anwendung diktiert der Benutzer Text in ein Spracherkennerfenster, und nach dem Diktieren eines Dokuments übeträgt der Benutzer das Dokument (manuell oder automatisch) in die Anwendung.
  • Wenn bezugnehmend auf 3 eine Anwendung erstmals die Spracherkennungssoftware aufruft, wird sie von einem entfernten Speicher (z. B. einem Pattenlaufwerk) in den lokalen Speicher 42 des Computers geladen. Ein oder mehrere Wörterverzeichnisse, zum Beispiel das gemeinsame Wörterverzeichnis 48 und das Wörterverzeichnis 50 aus Microsoft OfficeTM werden ebenfalls von einem entfernten Speicher in den Speicher 42 geladen. Die Wörterverzeichnisse 48, 52, und 54 umfassen alle Worte 48b, 50b und 54b (Text und Befehle), und die entsprechenden Sprachmodelle 48a, 50a und 84a, die ein Benutzer sprechen kann.
  • Das Ausbreiten der Sprachmodelle und Worte über unterschiedliche Wörterverzeichnisse läßt es zu, daß die Sprachmodelle und Worte in lieferantenabhängige (z. B. MicrosoftTM und NovellTM) Wörterverzeichnisse gruppiert werden, die nur in den Speicher geladen werden, wenn eine Anwendung, die einem besonderen Lieferanten entspricht, zum erstenmal nach dem Einschalten ausgeführt wird. Zum Beispiel repräsentieren viele der Sprachmodelle und Worte im Wörterverzeichnis 54 von Novell PerfectOfficeTM Worte, die nur ausgesprochen werden, wenn ein Benutzer eine Novell PerfectOfficeTM-Anwendung ausführt, z. B. WordPerfect. Als Ergebnis werden diese Sprachmodelle und Worte nur benötigt, wenn der Benutzer eine NovellTM-Anwendung ausführt. Um die Verschwendung von wertvollen Speicherplatz zu vermeiden, wird das Novell PerfectOfficeTM-Wörterverzeichnis 54 nur in den Speicher geladen, falls benötigt (d. h. wenn der Benutzer eine NovellTM-Anwendung ausführt).
  • Alternativ werden die Sprachmodelle und Worte in anwendungsabhängige Wörterverzeichnissen gruppiert. Zum Beispiel können getrennte Wörterverzeichnisse für Microsoft WordTM, Microsoft ExcelTM und Novell WordPerfectTM vorhanden sein. Entsprechend können die Sprachmodelle und Worte, die Befehlen entsprechen, in einem Satz von Wörterverzeichnissen gruppiert werden, während die Sprachmodelle und Worte, die Text entsprechen, in einen anderen Satz von Wörterverzeichnissen gruppiert werden können. Als eine andere Alternative wird nur ein einziges Wörterverzeichnis, das alle Worte und entsprechende Sprachmodelle umfaßt, die ein Benutzer sprechen kann, in den lokalen Speicher geladen und durch die Spracherkennungssoftware verwendet, um die Sprache eines Benutzers zu erkennen.
  • Bezugnehmend auf 4, vergleicht die CPU, sobald die Wörterverzeichnisse geladen sind und eine Anwendung die Erkennungssoftware aufruft, Sprachrahmen, die die Sprache des Benutzers repräsentieren, mit Sprachmodellen in den Wörterverzeichnissen, um die Sprache des Benutzers zu erkennen (Schritt 60). Die CPU stellt dann fest (Schritte 62 und 64), ob die Ergebnisse einen Befehl oder Text darstellen. Befehle umfassen einzelne Worte und Ausdrücke und Sätze, die durch Schablonen (d. h. Einschränkungsregeln) definiert sind, Die Schablonen definieren die Worte, die in Befehlssätzen gesagt werden können, und die Reihenfolge, in der die Worte gesprochen werden. Die CPU vergleicht (Schritt 62) die Erkennungsergebnisse mit den möglichen Befehlsworten und Ausdrücken und mit Befehlsschablonen, und wenn die Ergebnisse zu einem Befehlswort oder Ausdruck oder einer Befehlsschablone passen (Schritt 64), dann sendet die CPU (Schritt 65a) der Anwendung, die die Spracherkennungssoftware aufgerufen hat, Tastenanschläge oder eine Skriptsprache, die die Anwendung veranlassen, den Befehl auszuführen, und wenn die Ergebnisse nicht zu einem Befehlswort oder Ausdruck oder eine Befehlsschablone passen, sendet die CPU (Schritt 65b) der Anwendung Tastenanschläge oder Skriptsprache, die die Anwendung veranlassen, die Ergebnisse als Text zu tippen.
  • Für weitere Informationen über diese und andere Verfahren zur Unterscheidung zwischen Text und Befehlen siehe die US-Patentanmeldung Serien-Nr. 08/559,207, mit dem Titel „Continuous Speech Recognition of Text and Commands", eingereicht am selben Tag und auf denselben Rechtsnachfolger wie diese Anmeldung übertragen.
  • Erneut auf 3 bezugnehmend, weisen die Wörterverzeichnisse zusätzlich dazu, daß sie Worte 51 (und Ausdrücke) und entsprechende Sprachmodelle 53 aufweisen, anwendungsabhängige (z. B. Microsoft WordTM 100 und Microsoft ExcelTM 102) Befehlssätze 48c, 50c und 54c, die dem Benutzer zur Verfügung stehen, und anwendungsabhängige Gruppen 48d, 50d und 54d auf, auf die durch die Sätze gezeigt wird und die auf Gruppen von variablen Worten in den Befehlsschablonen zeigen.
  • Langfristige Editierung
  • Das langfristige Editierungsmerkmal versieht den Benutzer mit der Flexibilität, Text zu editieren, der gerade (korrekt oder unkorrekt) in ein offenes Dokument eingegeben wurde oder ein altes Dokument zu öffnen und Text zu editieren, der zu einem früheren Zeitpunkt eingegeben wurde. Bezugnehmend auf 5, stellt das System zuerst fest (Schritt 130), ob der Benutzer gesprochen hat, und wenn dem so ist, erkennt das System (Schritt 132) die Sprache das Benutzers. Das System stellt dann fest (Schritt 134), ob der Benutzer „select" sagte. Wenn der Benutzer nicht „select" sagte, stellt das System fest (Schritt 136), ob irgendwelcher Text ausgewählt ist. Wenn Text ausgewählt wurde, ersetzt das System (Schritt 138) den ausgewählten Text durch den neu erkannten Text auf einem Anzeigebildschirm 135 (1). Wenn kein anderer Text ausgewählt ist, trägt das System (Schritt 140) den neu erkannten Text auf den Anzeigebildschirm ein.
  • Wenn das System feststellt (Schritt 134), daß der Benutzer „select" sagte, dann stellt das System fest (Schritt 142), ob sich „select" eine Pause anschließt. Wenn sich „select" eine Pause anschließt, dann trägt das System (Schritt 140) das Wort „select" auf dem Anzeigebildschirm ein. Falls sich „select" keine Pause anschließt, dann liest das System (Schritt 144) Daten, die in einem Anzeigebildschirmpuffer 143 (1) gespeichert sind. Diese Daten repräsentieren die Aufeinanderfolge der Worte, die auf dem Anzeigebildschirm angezeigt werden und können durch eine Standard-Editiersteueranforderung an das Betriebssystem oder durch eine Anwendungsprogrammschnittstelle (API) gelesen werden, die der Anwendung entspricht, die ausgeführt wird, zum Beispiel Microsoft WordTM oder Novell WordperfectTM.
  • Das System analysiert (Schritt 146) die gespeicherten Daten syntaktisch und bildet jedes Wort auf Indizes in einem oder mehreren Wörterverzeichnissen ab, die zum Beispiel aus 180000 Worten bestehen. Beispielsweise wird „hello there." syntaktisch zu drei Worten analysiert, "hello" „there" und „period", während „New York", ein Ausdruck, syntaktisch zu einem „Wort" analysiert wird. Wenn die Daten ein Wort repräsentieren, das sich nicht in einem oder mehreren Wörterverzeichnissen befindet, dann indiziert das System das Wort nicht, oder das System indiziert das Wort, nachdem es eine geschätzte Aussprache unter Verwendung bekannter Text-Sprachesyntheseregeln erzeugt hat.
  • Unter Verwendung der syntaktisch analysierten Worte baut das System (Schritt 148) eine Baumstruktur auf, die die Verbindung zwischen den Worten beschreibt, die angezeigt werden. Bezugnehmend auf 6, baut das System dann, wenn der Anzeigebildschirm „This is a test of speech" anzeigt, eine Baumstruktur 149 auf, die mit dem Wort „select" 150 beginnt, das anzeigt (Pfeile 151), daß dem Wort „select" mindestens eines der Worte folgen muß, die angezeigt werden: „This", „is", „a", „test", „of" oder „speech". Wenn zum Beispiel gemäß der Baumstruktur 149 „This" sich an „select" anschließt, dann muß „is" das nächste sein, wenn „is" sich an „select" anschließt, dann muß „a" das nächste sein, wenn „a" sich an „select" anschließt, dann muß „test" das nächste sein, wenn „test" sich an „select" anschließt, dann muß „of" das nächste sein, wenn „of" sich an „select" anschließt, dann muß „speech" das nächste sein, und wenn „speech" sich an „select" anschließt, dann muß Ruhe folgen. Die Baumstruktur berücksichtigt auch wiederholte Worte. Bezugnehmend auf 7, baut das System dann, wenn der Anzeigebildschirm „This is a test of this test" anzeigt, eine Baumstruktur 152 auf, die anzeigt (Pfeile 154), daß das Wort „test" den Worten „a" oder „this" folgen kann.
  • Atternativ zur Ausführung der Schritte 144, 146 und 148 nachdem der Auswahlbefehl erkannt wird, kann das System diese Schritte ausführen, bevor der Auswahlbefehl durch den Benutzer ausgegeben wird (z. B. wenn ein Dokument erstmals geöffnet wird und jedesmal, wenn sich die Worte auf dem Anzeigebildschirm ändern) oder das System kann diese Schritte ausführen, wenn der Auswahlbefehl teilweise erkannt wird (z. B. wenn der Benutzer „select" sagt).
  • Außerdem auf die 8a8c bezugnehmend, muß die Sprache des Benutzers anschließend an „select" 302 (d. h. es werden Teil-Spracherkennungsergebnisse gezeigt), um eines oder mehrere Worte im vorher eingegebenen Text 300 auszuwählen, zu einem oder mehreren Worten im vorher eingegebenen Text (z. B. „test" 304) passen. Folglich vergleicht das System (Schritt 156) die Worte des neu erkannten Textes (z. B. „lest") mit der Baumstruktur, um festzustellen (Schritt 158), ob die Worte des neu erkannten Textes zu mindestens einem Abschnitt der Baumstruktur passen. Wenn keine Übereinstimmung gefunden wird, dann gibt das System (Schritt 159) „select" und den restlichen neu erkannten Text auf dem Anzeigebildschirm ein. Wenn eine Übereinstimmung gefunden wird, dann hebt das System (Schritt 160) den passenden Text 306 (8c) hervor und wartet (Schritte 162 und 164) darauf, daß der Benutzer die Auswahl akzeptiert oder ablehnt.
  • Wenn der Benutzer mit der Auswahl des Systems einverstanden ist, dann akzeptiert der Benutzer (Schritt 164) die Auswahl, und das System wählt (Schritt 166) den passenden Text aus und wartet (Schritt 130) auf eine Benutzereingabe. Wenn der Benutzer einen neuen Text (z. B. „Text") tippt oder spricht, ersetzt das System (Schritte 130138) den ausgewählten Text durch den neuen Text (z. B. „Text" 308, 8d).
  • Wenn er Benutzer mit der Auswahl des Systems nicht einverstanden ist, dann kann der Benutzer (Schritt 162) (durch Tastenanschlag, Mausauswahl oder eine Äußerung, z. B. „try again" 310, die als Teilergebnis auf dem Anzeigebildschirm in 8e gezeigt wird) anfordern, daß das System den neu erkannten Text erneut mit der Baumstruktur vergleicht (Schritt 156). Wenn die Worte der neu erkannten Sprache an verschiedenen Stellen auf dem Anzeigebildschirm angezeigt werden, dann paßt die neu erkannte Sprache zu mehreren Abschnitten der Baumstruktur. Wenn zum Beispiel der Bildschirm „This is a test of continuous speech ... Somewhere in this test is an error..." anzeigt (8f) und der Benutzer „select lest" sagt, dann paßt „test" zu zwei Abschnitten der Baumstruktur. Ursprünglich wählt das System den Text 308 aus, der davor (oder dannach) und dem obersten Teil des Anzeigebildschirms (oder der gegenwärtigen Position der Einfügemarke) am nächsten liegend angezeigt wird. Wenn der Benutzer einen erneuten Vergleich anfordert, dann wählt das System die nächst naheliegendste Übereinstimmung 312 aus und hebt diese Übereinstimmung hervor.
  • Wenn der neu erkannte Text nicht anderswo auf dem Anzeigebildschirm angezeigt wird und der Benutzer einen erneuten Vergleich anfordert, dann wählt das System die nächstbeste Übereinstimmung aus (d. h. einen anderen Text, der im wesentlichen zu dem neu erkannten Text paßt).
  • Anstatt einen erneuten Vergleich anzufordern, kann der Benutzer den ausgewählten Text (durch Tastenanschlag, Mausauswahl oder eine Äußerung, z. B. „abort", Schritt 164) ablehnen und das langfristige Editierungsmerkmal verlassen.
  • Wenn beispielsweise der angezeigte Text „This is a test of speech" ist und der Benutzer „select test" („select a test" oder „select a test of") sagt, dann stellt das System fest, daß „test" („a test" oder „a test of") zu einem Abschnitt der Baumstruktur 149 (6) paßt und wählt (d. h. hebt hervor) „test" („a test" oder „a test of") auf dem Anzeigebildschirm aus. Wenn der Benutzer mit der Auswahl nicht einverstanden ist, dann kann der Benutzer anfordern, daß das System den neu erkannten Text erneut mit der Baumstruktur vergleicht, oder der Benutzer kann die Auswahl verlassen. Wenn der Benutzer mit der Auswahl einverstanden ist, dann wählt das System (166) den passenden Text aus. Wenn keine Übereinstimmung festgestellt wird, dann stellt das System fest, daß der Benutzer Text diktierte und nicht den Auswahlbefehl ausgegeben hat und gibt (Schritt 159) „select" und den erkannten Text auf dem Anzeigebildschirm ein. Wenn zum Beispiel der angezeigte Text „This is a test of speech" ist und der Benutzer „select this test" sagt, stellt das System fest, daß der erkannte Text nicht zur Baumstruktur paßt und tippt „select this test" auf den Anzeigebildschirm.
  • Da das langfristige Editierungsmerkmal keine Sprachrahmen oder Modelle einer Textauswahl des Benutzers mit Sprachrahmen oder Modellen des vorher eingegebenen Textes vergleicht, muß das System keine Sprachrahmen für gesamte Dokumente speichern, und der Benutzer hat die Flexibilität, den neu eingegebenen Text in einem schon geöffneten Dokument zu editieren oder ein altes Dokument zu öffnen und den Text in diesem Dokument zu editieren, Das System paßt keine Sprachmodelle für editierten Text an, wenn das langfristige Editierungsmerkmal verwendet wird, da die Editierungen des Benutzers Spracherkennungsfehler korrigieren können oder nicht. Dies verhindert im wesentlichen eine Fehlanpassung. Da der Benutzer ferner gleichzeitig mehrere vorher vorhandene Worte durch mehrere neue Worte ersetzen kann, kann der Benutzer das langfristige Editierungsmerkmal verwenden, um falsch erkannte Wortgrenzen zu ändern.
  • Kurzfristige Spracherkennungsfehlerkorrektur
  • Das kurzfristige Fehlerkorrekturmerkmal gestattet es dem Benutzer, Spracherkennungsfehler in einer vorbestimmten Anzahl (z. B. drei) der letzten Äußerungen das Benutzers zu korrigeren. Die Korrektur kann gleichzeitig eines oder mehrere Worte korrigieren und falsch erkannte Wortgrenzen modifizieren als auch die Sprachmodelle für jedes falsch erkannte Wort oder Worte trainieren. Das System modifiziert nur dann eine vorherige Äußerung und trainiert Sprachmodelle, wenn die Korrektur des Benutzers im wesentlichen zu Sprachrahmen paßt, die mindestens einem Abschnitt der vorherigen Äußerung entsprechen. Dies verhindert im wesentlichen eine Fehlanpassung der Sprachmodelle, indem der Benutzer daran gehindert wird, vorher eingegebenen Text durch neue Worte unter Verwendung des kurzfristigen Fehlerkorrekturmerkmals zu ersetzen.
  • Bezugnehmend auf die 9 und 10a10e, kann der Benutzer „Oops" 322 (10b) sagen oder Tastenanschläge tippen oder eine Mausauswahl eines Korrekturfenster-Piktogramms treffen, wenn ein Benutzer feststellt, daß ein Spracherkennungsfehler 320 in den letzten drei Äußerungen aufgetreten ist. Wenn das System feststellt (Schritt 178), daß der Benutzer den Oops-Befehl gegeben hat, zeigt das System (Schritt 180) ein Korrekturfenster 182 (10c) auf dem Anzeigebildschirm 136 an und zeigt (Schritt 183) die letzte Äußerung 184 in einem. Korrekturteilfenster 186 an. Das System stellt dann fest (Schritt 188), ob der Benutzer (durch Tastenanschlag oder Äußerung) korrigierten Text eingegeben hat (z. B. „This" 324, 10d). Wenn zum Beispiel der Benutzer sagte „This ability to talk fast" und des System „Disability to talk fast" erkannte, kann der Benutzer „oops" sagen und dann „This" (oder „This ability" oder „This ability to talk", etc.) wiederholen oder tippen.
  • Wenn das System feststellt (Schritt 190), daß der Benutzer den korrigierten Text sprach, dann erkennt das System (Schritt 192) die Sprache des Benutzers. Anstatt die Worte als korrigierten Text bereitzustellen, kann der Benutzer (durch Tastenanschlag, Mausauswahl oder eine Äußerung, z. B. „spell that", 11) einen Schreibweisenbefehl eingeben, dem sich die Buchstaben der Worte im korrigierten Text anschließen. Nachdem es festgestellt hat, daß der Benutzer den Schreibweisenbefehl eingegeben hat, zeigt das System ein Schreibweisenfenster 194 an. Das System erkennt dann die Buchstaben 196, die durch den Benutzer gesprochen oder getippt werden und stellt eine Auswahlliste 197 bereit, die den erkannten Buchstaben entspricht. Für weitere Informationen hinsichtlich des Schreibweisenbefehls und der Spracherkennung von Buchstaben, siehe die US- Patentanmeldung US-A-3903964 mit dem Titel „Speech Recognition", eingereicht am 30. August 1995.
  • Außerdem auf 12 bezugnehmend, baut das System (Schritt 198) eine Baumstruktur (z. B. 200), ob der Benutzer korrigierten Text tippt oder spricht, für jede der letzten drei Äußerungen auf, wobei es die Sprachrahmen, die diesen Äußerungen entsprechen, und die Sprachrahmen (falls gesprochen) oder Sprachmodelle (falls getippt) verwendet, die dem körrigierten Text entsprechen. Das System erkennt dann (Schritt 202) jede der letzten drei Äußerungen gegen die entsprechende Baumstruktur erneut, um festzustellen (Schritt 204), ob mindestens ein Anteil der Sprachrahmen in der entsprechenden Äußerung im wesentlichen zu den Sprachrahmen oder Modellen paßt, die dem korrigierten Text entsprechen. Jeder Zustand 210220 in der Baumstruktur enthält einen oder mehrere Sprachrahmen, die einem vorher erkannten Wort in der Äußerung entsprechen, die restlichen Sprachrahmen in der Äußerung und die Sprachrahmen oder Modelle, die einem zuerst erkannten Wort im korrigierten Text entsprechen.
  • Wenn der Benutzer zum Beispiel „Let's recognize speech" sagt und das System erkennt „Let's wreck a nice beach", kann der Benutzer „oops" sagen, um das Korrekturfenster aufzurufen und „recognize" als den korrigierten Text zu sagen. Der Zustand 210 weist alle Sprachrahmen der Äußerung und die Sprachrahmen auf, die „recognize" entsprechen, während der Zustand 216 nur die Sprachrahmen, die „nice" entsprechen, die restlichen Sprachrahmen der Äußerung (z. B. „beach") und die Sprachrahmen enthält, die „recognize" entsprechen. Der Zustand 220 enthält nur die Sprachrahmen, die „recognize" entsprechen, um zu verhindern, daß das System den Endzustand 222 erreicht, bevor festgestellt wird, daß mindestens ein Anteil der Sprachrahmen in der Äußerung im wesentlichen zu den Sprachrahmen passen, die „recognize" entsprechen.
  • Wenn das System feststellt, daß die anfänglichen Sprachrahmen der Äußerung am besten zu den Sprachmodellen im Systemwörterverzeichnis für das Wort „let's" passen, dann stellt das System fest, ob die nächsten Sprachrahmen am besten zu "wreck" oder „recognize" passen. Wenn das System feststellt, daß die Sprachrahmen am besten zu „wreck" passen, stellt das System fest, ob die nächsten Sprachrahmen am besten zu „a" oder „recognize" passen. Das System trifft diese Feststellung für jedes der ursprünglich erkannten Worte in der Äußerung.
  • Während der erneuten Erkennung stellt das System fest, welcher Weg (von Zustand 210 zu 222) die höchste Spracherkennungsbewertung aufweist. Anfänglich ist es wahrscheinlich, daß das System nach einer erneuten Erkennung der ursprünglichen Äußerung den Zustand 220 erreicht, wie es dies ursprünglich tat, d. h. „let's wreck a nice beach". Nachdem es den Zustand 220 erreicht, kann das System jedoch keinen der restlichen Sprachrahmen an „recognize" anpassen und den Endzustand 222 erreichen. Folglich ist die Bewertung für diesen Weg sehr niedrig, und das System ignoriert diesen Weg als Möglichkeit. In diesem Beispiel ist der höchste Bewertungsweg „let's recognize speech" (im Gegensatz zu anderen möglichen Wegen: "let's wreck recognize" oder „let's wreck a recognize").
  • Wenn eine Übereinstimmung für das erste Wort des korrigierten Textes gefunden wird, dann geht das System in den Endzustand 222 über und erkennt erneut die restlichen Sprachrahmen der Benutzeräußerung gegen das gesamte Systemwörterverzeichnis. Das System zeigt dann (Schritt 224) die vorgeschlagene Textkorrektur im Korrekturteilfenster an und stellt fest (Schritte 226 und 228), ob der Benutzer einen zusätzlichen korrigierten Text (Schritt 226) geliefert hat oder die Korrektur angenommen oder abgelehnt hat (Schritt 228). Der Benutzer kann mit der vorgeschlagenen Korrektur nicht einverstanden sein und (durch Tastenanschlag oder eine Äußerung) zusätzlichen korrigierten Text eingeben. Zum Beispiel kann der Benutzer, anstatt "oops recognize" zu sagen, „oops recognize speech" sagen, Der Benutzer kann die Korrektur auch ablehnen, um das Korrekturfenster zu verlassen. Wenn der Benutzer der Korrektur zustimmt, modifiziert das System (Schritt 2301 den angezeigten Text (d. h. ändert „Disability" 320, 10d zu „This ability" 326, 10e) und trainiert die Sprachmodelle der korrekt erkannten Worte gegen die Sprachrahmen der ursprünglichen Benutzeräußerung.
  • Wenn keine Übereinstimmung gefunden wird (Schritt 204) oder wenn die Bewertung der Übereinstimmung unter einer empirisch eingestellten Schwelle liegt, dann benachrichtigt das System (Schritt 232) den Benutzer und zeigt den erkannten korrigierten Text im Korrekturteilfenster an und wartet erneut (Schritte 226 und 228) auf eine Benutzereingabe. Eine Anzeige des korrigierten Textes läßt es zu, daß der Benutzer feststellt, ob er einen Fehler gemacht hat, indem ein anderer Text anstelle des korrigierten Textes bereitgestellt wird (d. h. eine Wiederholung der ursprünglichen Äußerung). Wenn der Benutzer einen Fehler gemacht hat, kann es der Benutzer erneut versuchen, indem er den korrigierten Text spricht oder tippt. Wenn der Benutzer keinen Fehler gemacht hat, jedoch das System keine Übereinstimmung fand oder eine unkorrekte Übereinstimmung fand, dann kann der Benutzer zusätzlichen korrigierten Text eingeben, um die Wahrscheinlichkeit zu erhöhen, daß eine korrekte Übereinstimmung gefunden wird.
  • Zum Beispiel stellt der Benutzer, anstatt ein einzelnes Wort „recognize" als den korrigierten Text bereitzustellen, mehrere Worte „recognize speech" als den korrigierten Text bereit. Bezugnehmend aus 13, fügt die resultierende Baumstruktur 234, die durch das System erzeugt wird, einen Zustand 236 hinzu, der die Sprachrahmen oder Modelle des zweiten Worts im korrigierten Text (z. B. „speech") enthält. Ein ähnlicher Zustand wird für jedes zusätzliche Wort im korrigierten Text hinzugefügt. Nach der Anpassung des ersten Worts im korrigierten Text an einen oder mehrere Sprachrahmen in der Benutzeräußerung, um den Endzustand 238 zu erreichen, muß das System einen oder mehrere folgende Sprachrahmen der Äußerung an Sprachrahmen oder Modelle anpassen, die jedem zusätzlichen Wort im korrigierten Text entsprechen. Zusätzliche Worte erhöhen die Genauigkeit, mit der Sprachrahmen aus der ursprünglichen Äußerung an Sprachrahmen oder Modelle aus der Korrektur angepaßt werden.
  • Die empirisch eingestellte Schwelle hindert den Benutzer im wesentlichen daran, neuen Text als korrigierten Text einzugeben, was die Möglichkeit reduziert, daß Sprachmodelle, die korrekt erkannten Worten entsprechen, falsch angepaßt werden. Da der korrigierte Text mehrere Worte enthalten kann, kann der Benutzer mehrere Wortfehlerkennungen und Wortbegrenzungsfehlerkennungen gleichzeitig korrigieren. Die Begrenzung der Anzahl der vorhergehenden Äußerungen, die korrigiert werden können, begrenzt die Anzahl der Sprachrahmen, die das System speichern muß.
  • Streiche das und Wiederhole
  • Der Streiche-das-Befehl läßt es zu, daß der Benutzer schnell und leicht seine letzte Äußerung löscht oder löscht und ersetzt. Bezugnehmend auf 14, wenn das System feststellt (Schritt 212), daß der Benutzer den Streiche-das-Befehl eingegeben hat (d. h. durch Tastenanschlag, Mausauswahl eines Streiche-das-Piktogramms oder durch eine Äußerung, z. B. „scratch that"), löscht das System (Schritt 214) die letzte Äußerung. Wenn der Benutzer eine zusätzliche Äußerung nach dem Streiche-das-Befehl ausspricht, dann erkennt das System diese zusätzliche Äußerung und zeigt sie auf dem Anzeigebildschirm anstelle der gelöschten Äußerung an.
  • Bezugnehmend auf die 15a15d, kann zum Beispiel dann, wenn der Benutzer sagt „I will like to dictate" 330 (15a) oder wenn der Benutzer sagt „I would like to dictate", das System jedoch "I will like to dictate" 330 erkennt, der Benutzer sagen "scratch that" 332 (15b), um diese Äußerung zu löschen (15c). Wenn der Benutzer einen Fehler gemacht hat, dann kann der Benutzer den neuen korrekten Text sprechen "I would like to dictate" 334 (15d), und wenn der Benutzer korrekt gesprochen hat, aber das System die Äußerung falsch erkannt hat, dann kann der Benutzer die Äußerung wiederholen „I would like to dictate" 334. In jedem Fall erkennt das System die Sprache und zeigt sie auf dem Anzeigebildschirm an.
  • Da der Benutzer den Streiche-das-Befehl verwenden kann, um den vorhergehenden Text zu editieren oder Spracherkennungsfehler zu korrigieren, paßt das System keine Sprachmodelle an, wenn der Benutzer den Streiche-das-Befehl eingibt. Dies verhindert im wesentlichen eine Fehlanpassung der Sprachmodelle.
  • Andere Ausführungsformen liegen im Rahmen der folgenden Ansprüche.
  • Zum Beispiel weist die CPU, anstatt einen digitalen Signalprozessor (DSP) die Abtastwerte verarbeiten zu lassen, die jedem Sprachrahmen entsprechen, um während jeder 20 ms-Zeitspanne eine Gruppe von Parametern zu erzeugen, die mit dem analogen Datensignal verbunden sind, eine Vorfeld-Verarbeitungssoftware auf, die es zuläßt, daß die CPU die Parameter erzeugt.
  • Als ein anderes Beispiel können Sprachmodelle selektiv trainiert werden, wenn das langfristige Editierungsmerkmal und/oder der Streiche-das-Befehl verwendet werden. Zum Beispiel kann dem Benutzer die Kontrolle übergeben werden, wenn Sprachmodelle angepaßt werden. Mit einer solchen Kontrolle kann der Benutzer entscheiden, wann ein Spracherkennungsfehler aufgetreten ist und das System entsprechend dieser Entscheidung Sprachmodelle trainieren lassen. Als ein anderes Beispiel kann dem System die Kontrolle übergeben werden, wenn Sprachmodelle angepaßt werden. Wenn das System feststellt, daß der Benutzer einen Spracherkennungsfehler korrigiert, dann trainiert das System die Sprachmodelle entsprechend.
  • Es sind viele Optimierungen möglich, um die Spracherkennungsleistung zu verbessern. Zum Beispiel kann getippter Text keine Spracherkennungsfehler verursachen, und folglich kann das System während der erneuten Erkennung zur kurzfristigen Fehlerkorrektur (Schritt 202, 10), wenn das System die restlichen Sprachrahmen gegenüber einem Systemwörterverzeichnis erneut erkennt (Zustand 222, 12), die Spracherkennungsbewertung für Worte erhöhen, die zum Text passen, den der Benutzer durch Tastenanschläge eingegeben hat.
  • Pseudo-Code
  • Es folgt ein Pseudocode, der vom Code der C-Programmiersprache abgeleitet ist, der den Prozeß zur langfristigen Editierung und kurzfristigen Spracherkennungsfehlerkorrektur beschreibt:
  • Langfristige Editierung
    Figure 00200001
  • Figure 00210001
  • Figure 00220001
  • Figure 00230001
  • Kurzfristige Spracherkennungsfehler-Korrektur
    Figure 00230002
  • Figure 00240001
  • Figure 00250001
  • Figure 00260001
  • Figure 00270001

Claims (33)

  1. Verfahren zur Verwendung zur Spracherkennung, das aufweist: Annahme von Signalen (14, 18), die eingestreuten Sprachelementen entsprechen, die Textelemente, die zu erkennenden Text entsprechen, und Befehlselemente enthalten, die auszuführenden Befehlen entsprechen; Erkennung der Elemente (60, 62, 64, 192), und Ausführen von Modifikationsprozeduren (230) als Reaktion auf erkannte vorbestimmte der Befehlselemente, einschließlich: automatisches Feststellen (204), ob die Modifikationsprozeduren einen Spracherkennungsfehler (320) korrigieren; Trainieren von Sprachmodellen, wenn die Modifikationsprozeduren einen Spracherkennungsfehler (320) korrigieren; und, Unterlassen des Trainierens von Sprachmodellen, wenn die Modifikationsprozeduren einen Spracherkennungsfehler (320) nicht korrigieren.
  2. Verfahren nach Anspruch 1, in dem die Ausführung von Modifikationsprozeduren das gleichzeitige Modifizieren vorher erkannter der Textelemente aufweist.
  3. Verfahren nach Anspruch 2, in dem das gleichzeitige Modifizieren vorher erkannter Textelemente das gleichzeitige Modifizieren von Textelementgrenzen der vorher erkannten der Textelemente aufweist.
  4. Verfahren nach Anspruch 3, in dem die Textelementgrenzen falsch erkannt wurden.
  5. Verfahren nach einem der vorhergehenden Ansprüche, in dem die Ausführung der Modifikationsprozeduren aufweist: Detektion eines Spracherkennungsfehlers, und Trainieren der Sprachmodelle als Reaktion auf die detektierten Spracherkennungsfehler.
  6. Verfahren nach Anspruch 5, in dem die Detektion ferner aufweist: Feststellen, ob Sprachrahmen oder Sprachmodelle, die einer Spracherkennungsmodifikation entsprechen, zu mindestens einem Abschnitt der Sprachrahmen oder Sprachmodelle passen, die den vorhergehenden Äußerungen entsprechen.
  7. Verfahren nach Anspruch 6, das ferner aufweist: Auswählen passender Sprachrahmen oder Sprachmodelle.
  8. Verfahren nach einem der vorhergehenden Ansprüche, in dem die vorbestimmten der Befehlselemente einen Auswahlbefehl (134) enthalten.
  9. Verfahren nach einem der vorhergehenden Ansprüche, in dem die Befehlselemente eine Äußerung enthalten, die ein ausgewähltes erkanntes Textelement repräsentiert, das korrigiert werden soll.
  10. Verfahren nach Anspruch 8, in dem die Modifikationsprozeduren die Anpassung des ausgewählten erkannten Textelements an vorher erkannte Textelemente (198) umfassen.
  11. Verfahren nach Anspruch 8, in dem die Modifikationsprozeduren das syntaktische Analysieren vorher erkannter Textelemente und das Aufbauen einer Baumstruktur umfassen, die die geordnete Beziehung zwischen den vorher erkannten Textelementen (198) repräsentiert.
  12. Verfahren nach Anspruch 11, in dem die Baumstruktur ein mehrfaches Auftreten eines gegebenen vorher erkannten der Textelemente widerspiegelt.
  13. Verfahren nach Anspruch 8, in dem die Äußerung eine Sequenz von mehreren ausgewählten erkannten Textelementen repräsentiert.
  14. Verfahren nach einem der vorhergehenden Ansprüche, in dem die Modifikationsprozeduren das Modifizieren eines der erkannten Textelemente umfaßt.
  15. Verfahren nach Anspruch 14, in dem das Modifizieren auf Korrekturinformationen beruht, die durch einen Benutzer bereitgestellt werden.
  16. Verfahren nach Anspruch 15, in dem die Korrekturinformationen durch den Benutzer bereitgestellt werden, der Ersatztextelemente ausspricht.
  17. Verfahren nach Anspruch 16, in dem die Korrekturinformation eine Korrektur von Grenzen zwischen Textelementen umfaßt.
  18. Verfahren nach einem der vorhergehenden Ansprüche, in dem die Modifikationsprozeduren das Modifizieren eines oder mehrerer der jüngsten erkannten Textelemente umfaßt.
  19. Verfahren nach Anspruch 18, in dem die vorbestimmten der Befehlselemente einen Befehl enthalten, der anzeigt, daß eine kurzfristige Korrektur vorgenommen werden soll.
  20. Verfahren nach Anspruch 19, in dem der Befehl, „oops" (178) enthalten ist.
  21. Verfahren nach Anspruch 18, in dem die Modifikationsprozeduren eine Interaktion mit einem Benutzer in Bezug auf Modifikationen umfassen, die vorgenommen werden sollen.
  22. Verfahren nach Anspruch 21, in dem die Interaktion ein Anzeigefenster (224) umfaßt, in dem vorgeschlagene Modifikationen angezeigt werden.
  23. Verfahren nach Anspruch 21, in dem die Interaktion umfaßt, daß ein Benutzer die Schreibweise eines Wortes ausspricht, das korrigiert werden soll.
  24. Verfahren nach Anspruch 18, in dem die Modifikationsprozeduren das Aufbauen einer Baumstruktur umfassen, die Sprachrahmen, die möglichen Textelementen entsprechen, in Zweigen des Baums (198) gruppiert.
  25. Verfahren nach Anspruch 24, in dem die Modifikationsprozeduren das erneute Erkennen der jüngsten erkannten Textelemente umfassen, wobei die Sprachrahmen der Baumstruktur verwendet werden.
  26. Verfahren nach Anspruch 24, in dem der Baum verwendet wird, um Textelement für Textelement eine Übereinstimmung zwischen einer Korrekturäußerung und den ursprünglich erkannten Textelementen festzustellen.
  27. Verfahren nach Anspruch 26, in dem die Modifikationsprozeduren nach der Feststellung einer Übereinstimmung das erneute Erkennen anschließender Sprachrahmen einer ursprünglichen Äußerung umfassen.
  28. Verfahren nach Anspruch 26, in dem, wenn keine Übereinstimmung festgestellt wird, dem Benutzer (232) die erkannte Korrekturäußerung angezeigt wird.
  29. Verfahren nach einem der vorhergehenden Ansprüche, in dem der Befehl anzeigt, daß der Benutzer ein erkanntes Textelement löschen möchte.
  30. Verfahren nach Anspruch 29 in dem das Textelement das jüngste erkannte Textelement ist.
  31. Verfahren nach Anspruch 29, das den Befehl „scratch that" (212) aufweist.
  32. Verfahren nach Anspruch 29, in dem dem Befehl eine Pause folgt und das jüngste erkannte Textelement dann gelöscht (214) wird.
  33. Verfahren nach Anspruch 29, in dem dem Befehl eine Äußerung folgt, die einem Ersatztextelement entspricht, und dann das jüngste erkannte Textelement durch das Ersatztextelement ersetzt wird.
DE69632517T 1995-11-13 1996-11-11 Erkennung kontinuierlicher Sprache Expired - Lifetime DE69632517T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/556,280 US5794189A (en) 1995-11-13 1995-11-13 Continuous speech recognition
US556280 2000-04-24

Publications (2)

Publication Number Publication Date
DE69632517D1 DE69632517D1 (de) 2004-06-24
DE69632517T2 true DE69632517T2 (de) 2005-05-12

Family

ID=24220673

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69632517T Expired - Lifetime DE69632517T2 (de) 1995-11-13 1996-11-11 Erkennung kontinuierlicher Sprache

Country Status (3)

Country Link
US (1) US5794189A (de)
EP (2) EP1341156A1 (de)
DE (1) DE69632517T2 (de)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601027B1 (en) * 1995-11-13 2003-07-29 Scansoft, Inc. Position manipulation in speech recognition
US6064959A (en) * 1997-03-28 2000-05-16 Dragon Systems, Inc. Error correction in speech recognition
US5827071A (en) * 1996-08-26 1998-10-27 Sorensen; Steven Michael Method, computer program product, and system for teaching or reinforcing information without requiring user initiation of a learning sequence
US5950160A (en) * 1996-10-31 1999-09-07 Microsoft Corporation Method and system for displaying a variable number of alternative words during speech recognition
US6167377A (en) * 1997-03-28 2000-12-26 Dragon Systems, Inc. Speech recognition language models
US6092044A (en) * 1997-03-28 2000-07-18 Dragon Systems, Inc. Pronunciation generation in speech recognition
JP3067683B2 (ja) * 1997-04-01 2000-07-17 日本電気株式会社 パターン認識装置および方法、情報記憶媒体
JP4267101B2 (ja) * 1997-11-17 2009-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声識別装置、発音矯正装置およびこれらの方法
US6023678A (en) * 1998-03-27 2000-02-08 International Business Machines Corporation Using TTS to fill in for missing dictation audio
US6195635B1 (en) * 1998-08-13 2001-02-27 Dragon Systems, Inc. User-cued speech recognition
US6453292B2 (en) * 1998-10-28 2002-09-17 International Business Machines Corporation Command boundary identifier for conversational natural language
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US7712053B2 (en) 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US7881936B2 (en) * 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
EP1011094B1 (de) 1998-12-17 2005-03-02 Sony International (Europe) GmbH Halbüberwachte Sprecheradaptation
US6195636B1 (en) * 1999-02-19 2001-02-27 Texas Instruments Incorporated Speech recognition over packet networks
JP3980791B2 (ja) * 1999-05-03 2007-09-26 パイオニア株式会社 音声認識装置を備えたマンマシンシステム
WO2001004874A1 (en) * 1999-07-08 2001-01-18 Koninklijke Philips Electronics N.V. Adaptation of a speech recognizer from corrected text
JP2001100781A (ja) 1999-09-30 2001-04-13 Sony Corp 音声処理装置および音声処理方法、並びに記録媒体
US6581033B1 (en) * 1999-10-19 2003-06-17 Microsoft Corporation System and method for correction of speech recognition mode errors
US6257740B1 (en) 2000-02-11 2001-07-10 James W Gibboney, Jr. Lamp for use in light strings
US6400289B1 (en) * 2000-03-01 2002-06-04 Hughes Electronics Corporation System and method for performing lossless data compression and decompression
US6912498B2 (en) * 2000-05-02 2005-06-28 Scansoft, Inc. Error correction in speech recognition by correcting text around selected area
US7149970B1 (en) * 2000-06-23 2006-12-12 Microsoft Corporation Method and system for filtering and selecting from a candidate list generated by a stochastic input method
EP1317750B1 (de) * 2000-09-08 2007-06-06 Koninklijke Philips Electronics N.V. Spracherkennungsverfahren mit ersetzungsbefehl
US7085716B1 (en) * 2000-10-26 2006-08-01 Nuance Communications, Inc. Speech recognition using word-in-phrase command
WO2002050816A1 (en) * 2000-12-18 2002-06-27 Koninklijke Philips Electronics N.V. Store speech, select vocabulary to recognize word
US6934682B2 (en) * 2001-03-01 2005-08-23 International Business Machines Corporation Processing speech recognition errors in an embedded speech recognition system
ATE317583T1 (de) * 2001-03-29 2006-02-15 Koninkl Philips Electronics Nv Texteditierung von erkannter sprache bei gleichzeitiger wiedergabe
US6973428B2 (en) * 2001-05-24 2005-12-06 International Business Machines Corporation System and method for searching, analyzing and displaying text transcripts of speech after imperfect speech recognition
US6996528B2 (en) 2001-08-03 2006-02-07 Matsushita Electric Industrial Co., Ltd. Method for efficient, safe and reliable data entry by voice under adverse conditions
US7467089B2 (en) * 2001-09-05 2008-12-16 Roth Daniel L Combined speech and handwriting recognition
US7526431B2 (en) * 2001-09-05 2009-04-28 Voice Signal Technologies, Inc. Speech recognition using ambiguous or phone key spelling and/or filtering
US7505911B2 (en) * 2001-09-05 2009-03-17 Roth Daniel L Combined speech recognition and sound recording
US7444286B2 (en) * 2001-09-05 2008-10-28 Roth Daniel L Speech recognition using re-utterance recognition
US7809574B2 (en) * 2001-09-05 2010-10-05 Voice Signal Technologies Inc. Word recognition using choice lists
US6492917B1 (en) * 2001-10-31 2002-12-10 Hughes Electronics Corporation System and method for implementation of the YK lossless data compression algorithm using a modular computational architecture
US20030101045A1 (en) * 2001-11-29 2003-05-29 Peter Moffatt Method and apparatus for playing recordings of spoken alphanumeric characters
US6990445B2 (en) * 2001-12-17 2006-01-24 Xl8 Systems, Inc. System and method for speech recognition and transcription
US20030220788A1 (en) * 2001-12-17 2003-11-27 Xl8 Systems, Inc. System and method for speech recognition and transcription
US8583440B2 (en) 2002-06-20 2013-11-12 Tegic Communications, Inc. Apparatus and method for providing visual indication of character ambiguity during text entry
DE10251112A1 (de) * 2002-11-02 2004-05-19 Philips Intellectual Property & Standards Gmbh Verfahren und System zur Spracherkennung
WO2004086359A2 (en) * 2003-03-26 2004-10-07 Philips Intellectual Property & Standards Gmbh System for speech recognition and correction, correction device and method for creating a lexicon of alternatives
US20050108013A1 (en) * 2003-11-13 2005-05-19 International Business Machines Corporation Phonetic coverage interactive tool
US8019602B2 (en) 2004-01-20 2011-09-13 Microsoft Corporation Automatic speech recognition learning using user corrections
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
CN100458913C (zh) * 2005-01-24 2009-02-04 乐金电子(惠州)有限公司 语音识别系统的发音验证方法
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US20070094022A1 (en) * 2005-10-20 2007-04-26 Hahn Koo Method and device for recognizing human intent
US20070129949A1 (en) * 2005-12-06 2007-06-07 Alberth William P Jr System and method for assisted speech recognition
US8612229B2 (en) * 2005-12-15 2013-12-17 Nuance Communications, Inc. Method and system for conveying an example in a natural language understanding application
US20070198271A1 (en) * 2006-02-23 2007-08-23 Dana Abramson Method for training a user of speech recognition software
KR100819234B1 (ko) * 2006-05-25 2008-04-02 삼성전자주식회사 네비게이션 단말의 목적지 설정 방법 및 장치
CN101118745B (zh) * 2006-08-04 2011-01-19 中国科学院声学研究所 语音识别系统中的置信度快速求取方法
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7974605B2 (en) * 2006-09-27 2011-07-05 Gintz Richard A Personal communications processing system
US8972268B2 (en) 2008-04-15 2015-03-03 Facebook, Inc. Enhanced speech-to-speech translation system and methods for adding a new word
US9070363B2 (en) * 2007-10-26 2015-06-30 Facebook, Inc. Speech translation with back-channeling cues
US20080114597A1 (en) * 2006-11-14 2008-05-15 Evgeny Karpov Method and apparatus
TWI345218B (en) * 2007-04-20 2011-07-11 Asustek Comp Inc Portable computer with function for identiying speech and processing method thereof
US7943211B2 (en) * 2007-12-06 2011-05-17 Willis Electric Co., Ltd. Three dimensional displays having deformable constructions
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US8543404B2 (en) * 2008-04-07 2013-09-24 Nuance Communications, Inc. Proactive completion of input fields for automated voice enablement of a web page
US9047869B2 (en) * 2008-04-07 2015-06-02 Nuance Communications, Inc. Free form input field support for automated voice enablement of a web page
US8831950B2 (en) * 2008-04-07 2014-09-09 Nuance Communications, Inc. Automated voice enablement of a web page
US8849672B2 (en) 2008-05-22 2014-09-30 Core Wireless Licensing S.A.R.L. System and method for excerpt creation by designating a text segment using speech
US20100289415A1 (en) * 2009-05-18 2010-11-18 Johnny Chen Energy efficient decorative lighting
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US20110085327A1 (en) * 2009-10-14 2011-04-14 Johnny Chen Decorative light display with LEDs
US8494852B2 (en) 2010-01-05 2013-07-23 Google Inc. Word-level correction of speech input
EP2539888B1 (de) 2010-02-22 2015-05-20 Nuance Communications, Inc. Online-maximum-likelihood-durchschnittswert und varianznormalisierung für spracherkennung
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
WO2011149465A1 (en) 2010-05-27 2011-12-01 Nuance Communications, Inc. Efficient exploitation of model complementariness by low confidence re-scoring in automatic speech recognition
US9123339B1 (en) * 2010-11-23 2015-09-01 Google Inc. Speech recognition using repeated utterances
US9107083B1 (en) * 2011-05-03 2015-08-11 Open Invention Network, Llc System and method for notifying users of similar searches
US9406299B2 (en) 2012-05-08 2016-08-02 Nuance Communications, Inc. Differential acoustic model representation and linear transform-based adaptation for efficient user profile update techniques in automatic speech recognition
US9269349B2 (en) 2012-05-24 2016-02-23 Nuance Communications, Inc. Automatic methods to predict error rates and detect performance degradation
US9899040B2 (en) 2012-05-31 2018-02-20 Elwha, Llc Methods and systems for managing adaptation data
US10431235B2 (en) 2012-05-31 2019-10-01 Elwha Llc Methods and systems for speech adaptation data
US9899026B2 (en) 2012-05-31 2018-02-20 Elwha Llc Speech recognition adaptation systems based on adaptation data
US20130325447A1 (en) * 2012-05-31 2013-12-05 Elwha LLC, a limited liability corporation of the State of Delaware Speech recognition adaptation systems based on adaptation data
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
WO2014003748A1 (en) 2012-06-28 2014-01-03 Nuance Communications, Inc. Meta-data inputs to front end processing for automatic speech recognition
EP2877992A1 (de) 2012-07-24 2015-06-03 Nuance Communications, Inc. Merkmalnormalisierungseingaben in eine frontend-verarbeitung für automatische spracherkennung
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
CN104769668B (zh) 2012-10-04 2018-10-30 纽昂斯通讯公司 改进的用于asr的混合控制器
US9117450B2 (en) 2012-12-12 2015-08-25 Nuance Communications, Inc. Combining re-speaking, partial agent transcription and ASR for improved accuracy / human guided ASR
US9858038B2 (en) 2013-02-01 2018-01-02 Nuance Communications, Inc. Correction menu enrichment with alternate choices and generation of choice lists in multi-pass recognition systems
US10229701B2 (en) 2013-02-28 2019-03-12 Nuance Communications, Inc. Server-side ASR adaptation to speaker, device and noise condition via non-ASR audio transmission
US9679560B2 (en) 2013-02-28 2017-06-13 Nuance Communications, Inc. Server-side ASR adaptation to speaker, device and noise condition via non-ASR audio transmission
US9431008B2 (en) * 2013-05-29 2016-08-30 Nuance Communications, Inc. Multiple parallel dialogs in smart phone applications
JP6223744B2 (ja) * 2013-08-19 2017-11-01 株式会社東芝 方法、電子機器およびプログラム
US9196244B2 (en) 2014-01-08 2015-11-24 Nuance Communications, Inc. Methodology for enhanced voice search experience
US9852188B2 (en) * 2014-06-23 2017-12-26 Google Llc Contextual search on multimedia content
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9514743B2 (en) 2014-08-29 2016-12-06 Google Inc. Query rewrite corrections
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
KR102278008B1 (ko) * 2014-12-19 2021-07-14 박현선 사용자 단말기를 이용한 보이스 컨설팅 제공 방법
KR102323393B1 (ko) 2015-01-12 2021-11-09 삼성전자주식회사 디바이스 및 상기 디바이스의 제어 방법
EP3089159B1 (de) 2015-04-28 2019-08-28 Google LLC Korrekturspracherkennung mittels selektivem re-speak
US20160379630A1 (en) * 2015-06-25 2016-12-29 Intel Corporation Speech recognition services
DK201670539A1 (en) * 2016-03-14 2017-10-02 Apple Inc Dictation that allows editing
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
CN106710606B (zh) * 2016-12-29 2019-11-08 百度在线网络技术(北京)有限公司 基于人工智能的语音处理方法及装置
CN110192247A (zh) 2017-01-18 2019-08-30 索尼公司 信息处理装置、信息处理方法和程序
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10679610B2 (en) * 2018-07-16 2020-06-09 Microsoft Technology Licensing, Llc Eyes-off training for automatic speech recognition
US11657803B1 (en) * 2022-11-02 2023-05-23 Actionpower Corp. Method for speech recognition by using feedback information

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688195A (en) * 1983-01-28 1987-08-18 Texas Instruments Incorporated Natural-language interface generating system
JPS60158498A (ja) * 1984-01-27 1985-08-19 株式会社リコー パターン照合装置
US4914704A (en) * 1984-10-30 1990-04-03 International Business Machines Corporation Text editor for speech input
US4833712A (en) * 1985-05-29 1989-05-23 International Business Machines Corporation Automatic generation of simple Markov model stunted baseforms for words in a vocabulary
US4783803A (en) * 1985-11-12 1988-11-08 Dragon Systems, Inc. Speech recognition apparatus and method
US4776016A (en) * 1985-11-21 1988-10-04 Position Orientation Systems, Inc. Voice control system
US4903305A (en) * 1986-05-12 1990-02-20 Dragon Systems, Inc. Method for representing word models for use in speech recognition
US4866778A (en) * 1986-08-11 1989-09-12 Dragon Systems, Inc. Interactive speech recognition apparatus
US4837831A (en) * 1986-10-15 1989-06-06 Dragon Systems, Inc. Method for creating and using multiple-word sound models in speech recognition
US4829576A (en) * 1986-10-21 1989-05-09 Dragon Systems, Inc. Voice recognition system
US4914703A (en) * 1986-12-05 1990-04-03 Dragon Systems, Inc. Method for deriving acoustic models for use in speech recognition
US4827520A (en) * 1987-01-16 1989-05-02 Prince Corporation Voice actuated control system for use in a vehicle
JP2815579B2 (ja) * 1987-03-10 1998-10-27 富士通株式会社 音声認識における単語候補削減装置
US5231670A (en) * 1987-06-01 1993-07-27 Kurzweil Applied Intelligence, Inc. Voice controlled system and method for generating text from a voice controlled input
US4984177A (en) * 1988-02-05 1991-01-08 Advanced Products And Technologies, Inc. Voice language translator
US4931950A (en) * 1988-07-25 1990-06-05 Electric Power Research Institute Multimedia interface and method for computer system
US5027406A (en) * 1988-12-06 1991-06-25 Dragon Systems, Inc. Method for interactive speech recognition and training
US5127055A (en) * 1988-12-30 1992-06-30 Kurzweil Applied Intelligence, Inc. Speech recognition apparatus & method having dynamic reference pattern adaptation
JP2841404B2 (ja) * 1989-01-12 1998-12-24 日本電気株式会社 連続音声認識装置
JPH03163623A (ja) * 1989-06-23 1991-07-15 Articulate Syst Inc 音声制御コンピュータ・インターフェース
US5036538A (en) * 1989-11-22 1991-07-30 Telephonics Corporation Multi-station voice recognition and processing system
US5202952A (en) * 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
US5428707A (en) * 1992-11-13 1995-06-27 Dragon Systems, Inc. Apparatus and methods for training speech recognition systems and their users and otherwise improving speech recognition performance

Also Published As

Publication number Publication date
EP1341156A1 (de) 2003-09-03
DE69632517D1 (de) 2004-06-24
EP0773532A3 (de) 1998-07-15
EP0773532A2 (de) 1997-05-14
US5794189A (en) 1998-08-11
EP0773532B1 (de) 2004-05-19

Similar Documents

Publication Publication Date Title
DE69632517T2 (de) Erkennung kontinuierlicher Sprache
DE69634239T2 (de) Erkennung kontinuierlich gesprochener Texte und Befehle
DE69914131T2 (de) Positionshandhabung bei der Spracherkennung
DE69923379T2 (de) Nicht-interaktive Registrierung zur Spracherkennung
DE69834553T2 (de) Erweiterbares spracherkennungssystem mit einer audio-rückkopplung
DE69721939T2 (de) Verfahren und System zur Auswahl alternativer Wörter während der Spracherkennung
DE60207742T2 (de) Korrektur eines von einer spracherkennung erkannten textes mittels vergleich der phonemfolgen des erkannten textes mit einer phonetischen transkription eines manuell eingegebenen korrekturwortes
DE60201262T2 (de) Hierarchische sprachmodelle
DE69923191T2 (de) Interaktive anwenderschnittstelle mit spracherkennung und natursprachenverarbeitungssystem
DE69829235T2 (de) Registrierung für die Spracherkennung
DE60033106T2 (de) Korrektur der Betriebsartfehler, Steuerung oder Diktieren, in die Spracherkennung
DE69817844T2 (de) Verfahren und vorrichtung zur spracherkennungscomputereingabe
DE69725091T2 (de) Verfahren und System zum Editieren von Sätzen während der kontinuierlichen Spracherkennung
DE60012655T2 (de) Audiowiedergabe von einem geschriebenen Dokument aus mehreren Quellen
DE60318544T2 (de) Sprachmodell für die Spracherkennung
DE69737987T2 (de) Verfahren und System zum Puffern erkannter Wörter während der Spracherkennung
DE69827988T2 (de) Sprachmodelle für die Spracherkennung
DE69814589T2 (de) Spracherkennung unter verwendung mehrerer spracherkenner
DE60211197T2 (de) Verfahren und vorrichtung zur wandlung gesprochener in geschriebene texte und korrektur der erkannten texte
EP0376501B1 (de) Spracherkennungssystem
DE69721938T2 (de) Verfahren und System zum Anzeigen einer variabelen Anzahl alternativer Wörter während der Spracherkennung
US6064959A (en) Error correction in speech recognition
DE69828141T2 (de) Verfahren und Vorrichtung zur Spracherkennung
EP1466317B1 (de) Betriebsverfahren eines automatischen spracherkenners zur sprecherunabhängigen spracherkennung von worten aus verschiedenen sprachen und automatischer spracherkenner
DE60215272T2 (de) Verfahren und Vorrichtung zur sprachlichen Dateneingabe bei ungünstigen Bedingungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition