-
Die vorliegende Erfindung bezieht
sich auf eine Computer-Spracherkennung und insbesondere auf die Bearbeitung
von durch ein Sprachdiktiersystem erzeugten Diktaten.
-
Ein Computer-Sprachdiktiersystem,
das einem Sprecher ein effizientes Diktieren ermöglichen würde und ein automatisches Erkennen
des Diktierten ermöglichen
würde,
ist ein von den Entwicklern von Computer-Sprachsystemen seit langem
angeatrebtes Ziel. Der sich aus einem derartigen Computer-Spracherkennungssystem
(CSR) ergebende Nutzen ist beträchtlich.
Anstatt zum Beispiel ein Dokument in ein Computersystem einzutippen,
könnte
eine Person die Wörter
eines Dokumentes einfach sprechen und das CRS-System würde die Wörter erkennen und die Buchstaben
jedes Wortes so speichern, als ob die Wörter eingetippt worden wären. Da
Menschen im Allgemeinen schneller sprechen als schreiben, wäre die Effizienz
verbessert. Ebenso bräuchten
Menschen nicht länger
das Eintippen zu erlernen. Computer könnten dann auch bei vielen Anwendungen
genutzt werden, bei denen ihre Anwendung derzeit nicht zu verwirklichen
ist, weil die Hände einer
Person mit einer anderen Aufgabe als der einzutippen, beschäftigt sind.
-
Typische CSR-Systeme haben ein Erkennungsmodul
und ein Diktatbearbeitungsmodul. Das Erkennungsmodul steuert den
Empfang der Serie von Äußerungen
eines Sprechers, erkennt jede Äußerung und sendet
ein erkanntes Wort für
jede Äußerung an
das Diktatbearbeitungsmodul. Das Diktatbearbeitungsmodul zeigt die
erkannten Wörter
an und ermöglicht
einem Benutzer, Wörter,
die falsch erkannt wurden, zu korrigieren. Zum Beispiel würde das
Diktatbearbeitungsmodul einem Benutzer ermöglichen, ein Wort, das falsch
erkannt wurde, entweder durch erneutes Sprechen des Wortes oder
durch Eintippen des korrekten Wortes zu ersetzen.
-
Typischerweise enthält das Erkennungsmodul
ein Modell einer Äußerung für jedes
Wort in seinem Wörterbuch.
Wenn das Erkennungsmodul eine gesprochene Äußerung empfängt, vergleicht das Erkennungsmodul
diese gesprochene Äußerung beim
Versuch, die modellierte Äußerung zu
finden, die die größte Übereinstimmung
mit der gesprochenen Äußerung aufweist,
mit den modellierten Äußerungen
jedes Wortes in seinem Wörterbuch.
Typische Erkennungsmodule berechnen eine Wahrscheinlichkeit, mit
der jede modellierte Äußerung mit
der gesprochenen Äußerung übereinstimmt.
Derartige Erkennungsmodule senden an das Diktatbearbeitungsmodul
eine Liste von Wörtern
mit der höchsten
Wahrscheinlichkeit der Übereinstimmung
mit der gesprochenen Äußerung,
die als Liste der erkannten Wörter
bezeichnet wird.
-
Das Diktatbearbeitungsmodul wählt generell
das Wort mit der höchsten
Wahrscheinlichkeit von der Liste der erkannten Wörter als das der gesprochenen Äußerung entsprechende,
erkannte Wort aus. Anschließend
zeigt das Diktatbearbeitungsmodul dieses Wort an. Wenn jedoch das
angezeigte Wort eine Falscherkennung der gesprochenen Äußerung ist,
ermöglicht
das Diktatbearbeitungsmodul dem Sprecher, das falsch erkannte Wort
zu korrigieren. Wenn der Sprecher angibt, das falsch erkannte Wort
zu korrigieren, zeigt das Diktatbearbeitungsmodul ein Korrekturfenster
an, das die Wörter
in der Liste der erkannten Wörter
enthält.
Tritt der Fall ein, dass eines der Wörter in der Liste das korrekte
Wort ist, kann der Sprecher durch einfaches Klicken auf das Wort
eine Korrektur bewirken. Wenn jedoch das korrekte Wort nicht in
der Liste ist, würde
der Sprecher entweder das korrekte Wort sprechen oder eintippen.
-
Einige Diktatbearbeitungsmodule dienen
als Diktiereinrichtung für
Textverarbeitungsprogramme. Derartige CSR-Systeme steuern den Empfang
und das Erkennen einer gesprochenen Äußerung und senden dann jedes
dem erkannten Wort entsprechende Zeichen an das Textverarbeitungsprogramm.
Derartige Konfigurationen weisen dadurch einen Nachteil auf, dass,
wenn ein Sprecher versucht, ein Wort zu korrigieren, das vorher
gesprochen wurde, das Textverarbeitungsprogramm keinen Zugriff auf
die Liste der erkannten Wörter
hat und daher diese Wörter
zur Erleichterung der Korrektur nicht anzeigen kann.
-
EP-A-0 376 501 beschreibt ein Spracherkennungssystem
zum Erzeugen von Wortmodellen, umfassend Einrichtungen zum Herstellen
eines akustischen Modells von einer oder mehreren Wortäußerung(en), Einrichtungen,
die einem Benutzer ermöglichen,
eine Abfolge von Textzeichen diesem akustischen Modell zuzuordnen,
wobei die genannten Einrichtungen weitere Einrichtungen enthalten,
dem Benutzer ein Menü einer oder
mehreren Abfolge(n) von Textzeichen anzuzeigen, Einrichtungen, die
dem Benutzer ermöglichen,
eine gegebene Zeichenabfolge aus dem Menü auszuwählen, Einrichtungen, die dem
Benutzer ermöglichen,
die ausgewählte
Zeichenabfolge zu bearbeiten, um sie eine andere Zeichenabfolge
repräsentieren
zu lassen, Einrichtungen zum Zuordnen der bearbeiteten Zeichenabfolge
zu dem akustischen Model.
-
US-A-5231670 beschreibt ein System
und ein Verfahren zum Erzeugen eines Textes aus einer Stimmeingabe,
das die Bearbeitung jedes Sprechereignisses in ein Diktierereignis
und ein Textereignis unterteilt. Jedes Diktierereignis behandelt
die Bearbeitung der Daten in Bezug auf die Eingabe in das System
und jedes Textereignis behandelt die Erzeugung von Text aus den
eingegebenen Stimmsignalen. Um die Diktierereignisse leicht von
einander zu unterscheiden und um die Textereignisse leicht von einander
zu unterscheiden, erzeugen das System und das Verfahren eine Datenstruktur
zum Speichern bestimmter Informationen in Bezug auf jedes einzelne
Ereignis Derartige Datenstrukturen ermöglichen dem System und dem
Verfahren, sowohl einfach gesprochene Wörter als auch gesprochene Befehle
zu bearbeiten und als Reaktion, auf die gesprochenen Wörter die
notwendige Texterzeugung bereitzustellen und als Reaktion auf einen
Befehl die angemessene Funktion auszuführen. Die Spracherkennung schließt die Fähigkeit
ein, zwischen Diktat und Befehlen zu unterscheiden.
-
Es ist die Aufgabe der vorliegenden
Erfindung, eine verbesserte Techinik für ein kontinuierliches Spracherkennungssystem
zum Korrigieren von Sprache, die falsch erkannt wurde, bereitzustellen.
-
Diese Aufgabe wird durch den Gegenstand
der unabhängigen
Patentansprüche
gelöst.
Bevorzugte Ausführungen
sind der Gegenstand der abhängigen
Patentansprüche.
-
Die vorliegende Erfindung stellt
ein neues und verbessertes Computer-Spracherkennungssystem (CSR) mit einem
Erkennungsmodul und einem Diktatbearbeitungsmodul bereit. Das Diktatbearbeitungsmodul ermöglicht eine
schnelle Korrektur falsch erkannter Wörter. Das Diktatbearbeitungsmodul
ermöglicht
einem Sprecher, die Anzahl der alternativen Wörter, die in einem Korrekturfenster
anzuzeigen sind, durch Veränderung
der Größe des Korrekturfensters
auszuwählen.
Das Diktatbearbeitungsmodul zeigt die Wörter in dem Korrekturfenster
in alphabetischer Reihenfolge an, um das Auffinden des korrekten
Wortes zu erleichtern. In einem anderen Aspekt der vorliegenden
Erfindung eliminiert das CSR-System die Möglichkeit, dass, wenn ein falsch
erkanntes Wort oder eine falsch erkannte Phrase erneut gesprochen
wird, die erneut ge sprochene Äußerung wieder
als das gleiche falsch erkannte Wort oder als die gleiche falsch
erkannte Phrase erkannt wird, basierend auf einer Analyse sowohl
der vorher gesprochenen Äußerung als
auch der neu gesprochenen Äußerung.
Das Diktatbearbeitungsmodul ermöglicht
es einem Sprecher auch, die Sprachmenge zu bestimmen, die in einem
Diktatbearbeitungsmodul vor der Übertragung
der erkannten Wörter
in ein Textverarbeitungsprogramm gepuffert wird.
-
Das Diktatbearbeitungsmodul benutzt
auch eine Wortkorrekturmetapher oder eine Phrasenkorrekturmetapher,
die die Bearbeitungsvorgänge,
die normalerweise zeichenorientiert sind, entweder hin zu wortorientierten
oder zu phrasenorientierten Bearbeitungsvorgängen verändert.
-
1A stellt
ein Beispiel eines in seiner Größe veränderbaren
Korrekturfensters dar.
-
1B stellt
das Beispiel des Korrekturfensters nach Veränderung seiner Größe dar.
-
2A stellt
ein einstellbares Diktierfenster dar.
-
2B stellt
die Benutzung eines Korrekturfensters, das dazu dient Text in dem
Diktierfenster zu korrigieren, dar.
-
3A und 3B stellen die Wort/Satz-Korrekturmetapher
für das
Diktatbearbeitungsmodul dar.
-
4A–4C sind
Blockdiagramme eines Computersystems eines bevorzugten Ausführungsbeispiels.
-
5A ist
ein Flussdiagramm eines Diktatbearbeitungsmoduls mit einem in seiner
Größe veränderbaren
Korrekturfenster.
-
5B ist
ein Flussdiagramm einer Fensterprozedur für das in seiner Größe veränderbare
Korrekturfenster.
-
6 ist
ein Flussdiagramm eines Diktatbearbeitungsmoduls mit einem einstellbaren
Diktierfenster.
-
7 ist
ein Flussdiagramm einer Fensterprozedur für ein Textverarbeitungsprogramm
oder ein Diktatbearbeitungsmodul, das die Wortkorrekturmetapher
implementiert.
-
8 ist
ein Flussdiagramm eines CSR-Systems, das falsch erkannte Wörter von
weiterer Erkennung ausschließt.
-
9 ist
ein Flussdiagramm des automatischen Erkennungstrainings.
-
Die vorliegende Erfindung stellt
ein Diktatbearbeitungsmodul bereit, das eine Bearbeitung eines durch ein
Computer-Spracherkennungssystem (CSR-System) erzeugten Diktats ermöglicht.
In einem exemplarischen Ausführungsbeispiel
ermöglicht
das Diktatbearbeitungsmodul einem Sprecher, die Anzahl der alternativen
Wörter,
die in einem Korrekturfenster anzuzeigen sind, durch Verändern der
Größe des Korrekturfensters auszuwählen. Auch
zeigt das Diktatbearbeitungsmodul die Wörter in dem Korrekturfenster
in alphabetischer Reihenfolge an. Ein bevorzugtes Diktatbearbeitungsmodul
eliminiert auch die Möglichkeit,
dass, wenn ein falsch erkanntes Wort erneut gesprochen wird, die
erneut gesprochene Äußerung wieder
als das gleiche falsch erkannte Wort erkannt wird. Wenn das Diktatbearbeitungsmodul
erkannte Wörter
für ein
Anwendungsprogramm, wie zum Beispiel ein Textbearbeitungsprogramm,
bereitstellt, ermöglicht
es dem Sprecher, vorzugsweise die Sprachmenge zu bestimmen, die
von dem Diktatbearbeitungsmodul gepuffert wird, bevor erkannte Wörter in
das Anwendungsprogramm übertragen
werden. Im Folgenden werden die verschiedenen Aspekte der vorliegenden
Erfindung, wenn diese in Verbindung mit einem diskreten CSR-System
angewendet wird (d. h., der Sprecher pausiert nach jedem Wort),
beschrieben. Diese Aspekte können
jedoch auch in Verbindung mit einem kontinuierlichen CSR-System
angewendet werden. Zum Beispiel kann die Größe des Korrekturfensters verändert werden,
um die Anzahl der anzuzeigenden alternativen Sätze anzugeben. Auch kann das
Anwenderschnittstellensystem sicherstellen, dass, wenn ein Sprecher
auswählt,
dass eine Phrase zu ersetzen ist, diese gleiche Phrase nicht wieder
erkannt wird.
-
1A stellt
ein Beispiel eines in seiner Größe veränderbaren
Korrekturfensters dar. Das Diktatbearbeitungsmodulfenster 101 enthält die erkannten
Wörter 102 und
das Korrekturfenster 103. Bei diesem Beispiel sprach der
Sprecher die Wörter „I will
make the cake". Das Erkennungsmodul erkannte das Wort „make" falsch
als das Wort „fake".
Der Sprecher gab dann an, dass das Wort „fake" zu korrigieren ist.
Vor der Anzeige des Korrekturfensters bestimmt das Diktatbearbeitungsmodul
die aktuelle Größe des in
seiner Größe veränderbaren
Korrekturfensters und berechnet die Anzahl der Wörter, die in diesem Korrekturfenster
angezeigt werden könnten.
Dann wählt
das Diktatbearbeitungsmodul diese Anzahl von Wörtern mit den höchsten Wahrscheinlichkeiten
(d. h. alternative Wörter)
aus der Liste der erkannten Wörter
aus und zeigt diese Wörter
in dem Korrekturfenster an, wobei Standard-Fenstergrößenänderungstechniken
benutzt werden (z. B. Zeigen mit einem Mauszeiger auf eine Grenze
des Fensters und Ziehen der Maus). Wenn der Sprecher wünscht, weitere Wörter von
der Liste zu sehen, verändert
der Sprecher einfach die Größe des Korrekturfensters.
Wenn die Größe des Korrekturfensters
verändert
ist, bestimmt das Diktatbearbeitungsmodul wieder die Anzahl der
Wörter, die
in dem Korrekturfenster angezeigt werden können, und zeigt diese Anzahl
von Wörtern
in dem Korrekturfenster an. Wenn der Sprecher zum nächsten Mal
angibt, ein Wort zu korrigieren, zeigt das Diktatbearbeitungsmodul
das Korrekturfenster mit einer Anzahl von Wörtern an, die, basierend auf
der letzten Größenveränderung,
passend ist. Auf diese Art und Weise kann der Sprecher lediglich
durch ein Verändern
der Größe des Korrekturfensters
effektiv die Anzahl der anzuzeigenden Wörter auswählen. 1 B
stellt das Beispielkorrekturfenster nach Größenveränderung dar.
-
Zusätzlich zeigt das Diktatbearbeitungsmodul
vorzugsweise die Wörter
in dem Korrekturfenster in alphabetischer Reihenfolge an. Die Anzeige
der Wörter
in einer alphabetischen Reihenfolge ermöglicht dem Sprecher ein schnelles
Auffinden des korrekten Wortes, wenn es angezeigt wird. Frühere Diktatbearbeitungsmodule
würden
die Wörter
in den Korrekturfenstern in einer auf der durch das Erkennungsmodul
bestimmten Wahrscheinlichkeit basierenden Reihenfolge anzeigen.
Es kann jedoch schwierig für
den Sprecher sein, das korrekte Wort zu finden, wenn es nach einer
Wahrscheinlichkeitsreihenfolge angezeigt wird, es sei denn, das korrekte
Wort wird als erstes oder zweites angezeigt.
-
2A stellt
ein einstellbares Diktierfenster für ein CSR-System dar, das eine
Schnittstelle mit einem Textverarbeitungsprogramm aufweist. Das
CSR-System gibt eine Serie von Äußerungen
des Sprechers ein, erkennt die Äußerungen
und zeigt erkannte Wörter
für die Äußerungen
in dem Diktierfenster 201 an. Da das Diktierfenster von
dem Diktatbearbeitungsmodul gesteuert wird, kann der Sprecher die
Wörter
im Diktierfenster korrigieren. Deshalb kann der Sprecher, wenn er
auswählt,
ein Wort innerhalb des Diktierfensters zu korrigieren, jede der
Korrektureinrichtungen, die von dem Diktatbearbeitungsmodul unterstützt werden,
benutzen. Zum Beispiel kann der Sprecher das Korrekturfenster benutzen,
um die Wörter
von der Liste der erkannten Wörter
für jedes
aktuell in dem Diktierfenster angezeigte Wort anzuzeigen. 2B stellt das Benutzen eines Korrekturfensters,
um Text in dem Diktierfenster zu korrigieren, dar.
-
In einem Ausführungsbeispiel ermöglicht das
Diktatbearbeitungsmodul einem Sprecher, die Sprachmenge, die das
Diktierfenster aufnehmen kann, einzustellen. Da der Sprecher die
Korrektureinrichtungen nur auf Wörter
innerhalb des Diktierfensters anwenden kann, jedoch nicht auf Wörter innerhalb
des Textverarbeitungsprogrammfensters, kann der Sprecher die Größe des Diktierfensters
zur Aufnahme der Sprach menge, basierend auf den Diktiergewohnheiten
des Sprechers, einstellen. Zum Beispiel kann der Sprecher bestimmen,
dass das Diktierfenster nur einen Satz, einen Absatz oder eine festgelegte
Anzahl von Wörtern
aufnehmen soll. Alternativ dazu kann der Sprecher die Größe des Diktierfensters
unter Verwendung von Standard-Fenstergrößenänderungstechniken verändern, um
anzugeben, dass das Diktierfenster so viele Wörter aufnehmen soll, wie in
das Fenster passen. Wenn das Diktierfenster voll ist, überträgt das CSR-System
entweder alle Wörter
oder einige der Wörter
in dem Diktierfenster in das Textverarbeitungsprogramm. Wenn der Sprecher
zum Beispiel angibt, dass das Diktierfenster einen Satz aufnehmen
soll, dann würde
das CSR-System jedes Mal, wenn ein neuer Satz begonnen wird, alle
Wörter
(d. h. einen Satz) in das Textverarbeitungsprogramm übertragen.
Umgekehrt könnte,
wenn der Sprecher die Größe des Diktierfensters
verändert,
das CSR-System jeweils nur eine Zeile von Wörtern in das Textverarbeitungsprogramm übertragen.
-
3A stellt
die Wortkorrekturmetapher für
das Diktatbearbeitungsmodul dar. Wenn ein Textverarbeitungssystem
im Diktiermodus ist, ändert
das Diktatbearbeitungsmodul automatisch die Definition verschiedener
Editierereignisse (z. B. Keyboard-Ereignisse, Mausereignisse, Stiftereignisse
und Sprachereignisse), um eher wortorientiert als zeichenorientiert
zu sein. Zum Beispiel ist im Diktiermodus die Rücksetztaste, die normalerweise
ein Zeichen zurücksetzt,
so modifiziert, dass sie jeweils ein Wort zurücksetzt. Dadurch wird, wenn
der Benutzer die Rücksetztaste
niederdrückt,
das ganze Wort links von dem aktuellen Einfügestrich gelöscht. Auf
die gleiche Weise werden im Diktiermodus die linken und rechten
Pfeiltasten den Einfügestrich
veranlassen, sich nach links oder rechts von einem Wort zu bewegen,
und die Löschtaste
wird das ganze Wort auf der rechten Seite des Einfügestrichs
löschen.
Wenn ein Benutzer eine Taste der Maus klickt und der Mauszeiger
auf einem Wort ist, wird das Diktatbearbeitungsmodul eher das Wort
auswählen,
auf dem der Mauszeiger ist, als lediglich den Einfügestrich
in das Wort hineinzusetzen. Wenn der Mauszeiger jedoch zwischen
Wörtern
ist, dann wird der Einfügestrich
lediglich zwischen die Wörter
gesetzt. Die Zeilen 301–304
stellen Beispieleffekte der Wortkorrekturmetapher dar. Jede Zeile
zeigt den Text vorher und den Text nachher, wenn das angegebene
Ereignis eingetreten ist. Zeile 302 zeigt zum Beispiel,
dass, wenn der Einfügestrich
hinter dem Wort „Test"
ist, das linke Pfeilereignis verursacht, dass der Einfügestrich
vor das Wort „Test"
bewegt wird.
-
Die Benutzung der Wortkorrekturmetapher
vereinfacht die Korrektur der Wörter
im Diktiermodus, weil typische Sprecher wünschen, das ganze Wort beim
Korrigieren erneut zu sprechen. Dadurch wird, wenn ein Sprecher
ein Wort anklickt, das ganze Wort ausgewählt und der Sprecher kann einfach
sprechen, um das ausgewählte
Wort zu ersetzen. Wenn die Spracherkennung kontinuierlich ist, kann
eine Phrasenkorrekturmetapher vorzuziehen sein. Weil eine kontinuierliche
Spracherkennung Wortgrenzen nicht korrekt bestimmen kann, könnte die
Wortkorrekturmetapher ein falsch erkanntes Wort auswählen, dessen Äußerung nur
den Teil eines Wortes oder aber mehrere Wörter repräsentiert. In derartigen Situationen
kann es vorzuziehen sein, einfach die ganze Phrase erneut zu sprechen.
Folglich würde
die Definition der verschiedenen Bearbeitungsereignisse eher phrasenorientiert
als wortorientiert verändert
sein. Zum Beispiel würde
das Bearbeitungsereignis, wenn der Benutzer das Wort „Rücksetzen"
spricht, das normalerweise verursachen würde, dass über das vorhergehende Zeichen
zurückgesetzt
wird, dahingehend verändert,
dass jeweils um eine Phrase zurückgesetzt
würde. Die 3B stellt diese Phrasenkorrekturmetapher
dar.
-
In einem Ausführungsbeispiel stellt das CSR-System
die Eliminierung falsch erkannter Wörter bereit, um das erneute
Wiedererkennen einer erneut gesprochenen Äußerung als das gleiche Wort,
das korrigiert wurde, zu verhindern. Das Diktatbearbeitungsmodul
bestimmt, ob ein Sprecher ein falsch erkanntes Wort korrigiert.
Der Sprecher kann ein falsch erkanntes Wort auf verschiedene Weise
korrigieren. Zum Beispiel könnte der
Sprecher das Wort löschen
und dann mit dem Einfügestrich
an der Stelle, wo das Wort gelöscht
wurde, sprechen. Alternativ dazu könnte der Sprecher das falsch
erkannte Wort mit einem Highlight versehen und dann sprechen, um
das mit. einem Highlight versehene Wort zu ersetzen. Wenn das Erkennungsmodul
eine erneut gesprochene Sprachäußerung empfängt, erkennt
es die Äußerung und
sendet eine neue Liste erkannter Wörter an das Diktatbearbeitungsmodul.
Das Diktatbearbeitungsmodul wählt
dann das Wort mit der höchsten
Wahrscheinlichkeit, mit Ausnahme des Wortes, das korrigiert wurde,
von der neuen Liste erkannter Wörter aus
und zeigt es an. In einem Ausführungsbeispiel
benutzt das Diktatbearbeitungsmodul die Liste vorher erkannter Wörter für die falsch
erkannte Äußerung und
die neue Liste erkannter Wörter
(mit Ausnahme des Wortes, das korrigiert wurde), um ein Wort auszuwählen, das
die höchste
Wahrscheinlichkeit aufweist, mit beiden Äußerungen übereinzustimmen. Um die höchste Wahrscheinlichkeit
zu berechnen, identifiziert das Diktatbearbeitungsmodul die Wörter, die
in beiden Listen erkannter Wörter
vorhanden sind, und multipliziert deren Wahrscheinlichkeiten. Beispielsweise
stellt die folgende Tabelle Beispiellisten erkannter Wörter und
die entsprechenden Wahrscheinlichkeiten dar.
-
-
Wenn der Sprecher das Wort „make"
anschließend
ohne die Eliminierung des falschen Wortes sprechen würde, würde das
Diktatbearbeitungsmodul das Wert „fake" beide Male auswählen, da
es die höchste Wahrscheinlichkeit
in beiden Listen aufweist. Mit der E-liminierung des falschen Wortes wählt das
Diktatbearbeitungsmodul das Wort „mace", wenn das Wort „fake"
korrigiert wird, da das Wort „mace"
die höchste
Wahrscheinlichkeit nach dem Wort „fake" in der aktuellen Liste
aufweist. Wenn jedoch die Wahrscheinlichkeiten von beiden Listen
kombiniert werden, wählt
das Diktatbearbeitungsmodul das Wort „make" als das korrekte Wort, da
es die größte kombinierte
Wahrscheinlichkeit aufweist. Die kombinierte Wahrscheinlichkeit
für das
Wort „make"
ist .06 (.3 × .2),
für das
Wort „mace"
.03 (.1 × .3)
und für
das Wort „bake"
.01 (.1 × .1).
-
Das CSR-System fügt seinem Wörterbuch ebenfalls automatisch
Wörter
hinzu und trainiert automatisch. Wenn ein Benutzer ein falsch erkanntes
Wort durch Eintippen korrigiert, bestimmt das Diktatbearbeitungsmodul,
ob dieses Wort in denn Wörterbuch
enthalten ist. Wenn das eingetippte Wort nicht in dem Wörterbuch
enthalten ist, weist das Diktatbearbeitungsmodul das Erkennungsmodul
an, es in das Wörterbuch
aufzunehmen, und zwar unter Verwendung der gesprochenen Äußerung die
falsch erkannt wurde, um so ein Modell für dieses Wort zu trainieren.
Wenn jedoch das eingetippte Wort im Wörterbuch enthalten ist, weist
das Diktatbearbeitungsmodul das Erkennungsmodul auto matisch an,
das eingetippte Wort mit der gesprochenen Äußerung, die falsch erkannt
wurde, zu trainieren.
-
Das Diktatbearbeitungsmodul ermöglicht zusätzlich zur
Wortkorrektur eine Phrasenkorrektur, wenn es mit einem kontinuierlichen
Diktiersystem benutzt wird. In einem kontinuierlichen Diktiersystem
könnte
das Erkennungsmodul eine Wortgrenze falsch identifizieren. Zum Beispiel
könnte
ein Sprecher die Phrase „I
want to recognize: speech" sagen. Das Erkennungsmodul könnte die
Phrase als „I
want to wreck a nice beach" erkennen. Die Benutzung einer Einzelwortkorrektur
bietet jedoch keine sprecherfreundliche Möglichkeit an, um eine derartige
falsche Erkennung zu korrigieren. Wenn der Sprecher die alternativen
Wörter
für das
Wort „beach" sehen
möchte,
könnten
die Wörter „peach", „teach"
und vielleicht „speech"
im Korrekturfenster angezeigt werden. Wenn der Sprecher alternative
Wörter
für das
Wort „nice"
sehen möchte,
könnten
die Wörter „ice" und „rice"
angezeigt werden, und für
das Wort „wreck"
die Wörter „heck"
und „rack".
Eine derartige Einzelwortkorrektur würde die Wörter „recognize speech" nicht identifizieren.
-
Das Diktatbearbeitungsmodul ermöglicht eine
Phrasenkorrektur, so dass Falscherkennungen infolge fehlerhafter
Wortgrenzen effizient korrigiert werden können. Wenn ein Sprecher eine
Phrase zur Korrektur auswählt,
wählt das
Diktatbearbeitungsmodul eine Liste von alternativen Phrasen aus
und zeigt diese an. Wenn der Sprecher zum Beispiel „wreck
a nice beach" auswählt,
können
die alternativen Phrasen „wreck
a nice peach", „rack
an ice leach" und „recognize
speech" sein. Auch wenn der Sprecher „wreck a nice" auswählt, können die
alternativen Phrasen „reck
on ice" und „recognize"
sein.
-
Des Weiteren nimmt das Diktatbearbeitungsmodul,
wenn ein Benutzer eine falsch erkannte Phrase zur Korrektur auswählt, an,
dass die aktuelle Phrase sich von der falsch erkannten Phrase in
mehr als einem Wort unterscheidet. Wenn nur ein Wort in der falsch
erkannten Phrase fehlerhaft wäre,
würde der
Sprecher einfach dieses falsch erkannte Wort auswählen und
nicht die ganze falsch erkannte Phrase. Durch Nutzung dieser Annahme
zeigt das Diktatbearbeitungsmodul keine alternative Phrase an, die
sich von der falsch erkannten Phrase durch lediglich ein Wort unterscheidet.
Fortfahrend mit dem vorhergehenden Beispiel würden, wenn der Sprecher „wreck
a nice beach" auswählt,
nur die alternativen Phrasen „rack
an ice leach" und „recognize speech"
angezeigt werden, da die alternative, nur in einem Wort unterschiedliche,
Phrase „wreck
a ni ce peach" nicht abgebildet wird. Zusätzlich nimmt das Diktatbearbeitungsmodul
in einem Ausführungsbeispiel
an, dass, wenn ein Sprecher eine Phrase zur Korrektur auswählt, die
falsche Erkennung die Folge einer fehlerhaft identifizierten Wortgrenze
war. Insbesondere wenn die Phrase durch die Auswahl eines alternativen
Worte: korrigiert werden könnte,
hätte der
Sprecher diese alternativen Wörter
ausgewählt.
Folglich würde
das Diktatbearbeitungsmodul keine alternative Phrase anzeigen, die
durch eine Korrektur von einzelnen Wörtern von der alternativen
Liste korrigiert werden könnte.
Zum Beispiel würde
das Diktatbearbeitungsmodul nicht die Phrase „rack on ice leach" anzeigen,
wenn die Wörter „rack", „an", „ice" und „leach"
alternative Wörter
der entsprechenden falsch erkannten Wörter wären.
-
4A ist
ein Blockdiagramm eines Computersystems eines bevorzugten Ausführungsbeispiels. Das
Computersystem 400 enthält
einen Speicher 401, eine zentrale Verarbeitungseinheit 402,
eine I/O-Schnittstelle 403, eine Speichereinrichtung 404, eine Anzeigevorrichtung 405,
ein Keyboard 406, eine Maus 407 und ein Mikrofon 408.
Der Speicher enthält
ein CSR-System, umfassend eine Modellkomponente 408, ein
Erkennungsmodul 409 und ein Diktatbearbeitungsmodul 410,
und enthält
ein Anwendungsprogramm 411. Die Modellkomponente enthält die verschiedenen
Modelläußerungen
für die
Wörter
in dem Wörterbuch. Das
Erkennungsmodul empfängt
gesprochene Äußerungen
und greift auf die Modellkomponente zu, um die Liste der erkannten
Wörter
zu erzeugen. Das Diktatbearbeitungsmodul empfängt die Liste der erkannten
Wörter
und zeigt die erkannten Wörter
an. Das Erkennungsmodul, das Diktatbearbeitungsmodul und das Anwendungsprogramm
können
auf verschiedene Art und Weise verknüpft sein. Die 4B und 4C sind
Blockdiagramme, die verschiedene Verknüpfungen des Erkennungsmoduls,
des Diktatbearbeitungsmoduls und des Anwendungsprogramms darstellen.
In 4B weist das Erkennungsmodul
eine Schnittstelle mit einer Anwendungsprogrammschnittstelle (API)
des Diktatbearbeitungsmoduls auf, das seinerseits eine Schnittstelle mit
einer API des Anwendungsprogramms aufweist. In 4C weist das Erkennungsmodul Schnittstellen
mit den APIs auf, die von dem Diktatbearbeitungsmodul und dem Anwendungsprogramm
bereitgestellt werden. Alternativ dazu könnte das Anwendungsprogramm
Schnittstellen mit den APIs aufweisen, die von dem Erkennungsmodul
und dem Diktatbearbeitungsmodul bereitgestellt werden.
-
5A ist
ein Flussdiagramm eines CSR-Systems mit einem g größenveränderbaren
Korrekturfenster. Durch Veränderung
der Größe des Korrekturfensters
kann ein Sprecher die Anzahl der Wörter von der Liste der erkannten
Wörter
angeben, die angezeigt werden sollen. In den Schritten 5A010–5A10 empfängt das CSR-System
in einer Programmschleife Äußerungen,
die Wörtern
entsprechen, zeigt erkannte Wörter
an und ermöglicht
einem Sprecher, die Wörter
zu korrigieren. In Schritt 5A01 setzt das System mit Schritt 5A02
fort, wenn der Sprecher weiter diktiert, andernfalls ist das Diktat
abgeschlossen. In Schritt 5A02 gibt das System die nächste Sprachäußerung des
Sprechers ein. In Schritt 5A03 ruft das System das Erkennungsmodul
ab, um die gesprochene Äußerung zu
erkennen. Das Erkennungsmodul sendet die Liste der erkannten Wörter mit einer
Wahrscheinlichkeit, dass jedes Wort in der Liste der gesprochenen Äußerung entspricht,
zurück.
In Schritt 5A04 wählt
das System das Wort mit der höchsten
Wahrscheinlichkeit von der Liste der erkannten Wörter aus und zeigt dieses an.
In den Schritten 5A05–5A10
ermöglicht
das System dem Sprecher, in einer Programmschleife, die angezeigten
Wörter
zu korrigieren. In Schritt 5A05 setzt das System mit Schritt 5A06
fort, wenn der Sprecher angibt, das angezeigte Wort zu korrigieren,
andernfalls geht das System in einer Programmschleife zu Schritt
5A01, um mit dem Diktieren fortzufahren. In Schritt 5A07 bestimmt
das System die Anzahl der Wörter,
die, basierend auf der aktuellen Größe des Korrekturfensters, in
das Korrekturfenster passen. In Schritt 5A08 wählt das System die Anzahl der
Wörter
mit der höchsten
Wahrscheinlichkeit von der Liste der erkannten Wörter aus und zeigt diese Wörter in
dem Korrekturfenster an. In einem Ausführungsbeispiel sortiert das
System diese ausgewählten
Wörter
alphabetisch, bevor sie angezeigt werden. In Schritt 5A09 empfängt das
System vom Sprecher das korrekte Wort. In Schritt 5A10 ersetzt das
System das angezeigte Wort durch das korrekte Wort und geht in einer
Programmschleife zu Schritt 5A05.
-
5B ist
ein Flussdiagramm einer Fensterprozedur für das Korrekturfenster. Die
Fensterprozedur empfängt
und steuert die Bearbeitung aller Ereignisse (d. h. Nachrichten),
die an das Korrekturfenster gerichtet werden. In Schritt 5B01 wird
die Prozedur mit Schritt 5B02 fortgesetzt, wenn eine Nachricht empfangen
wird, die angibt, dass das Fenster in seiner Größe geändert wurde, andernfalls wird
die Prozedur mit einer normalen Bearbeitung der Nachrichten fortgesetzt.
In Schritt 5B02 speichert die Prozedur die neue Größe des Korrekturfensters.
Zusätzlich
kann die Prozedur angeben, dass das CSR-System die Anzahl der Wörter, die
in das Korrekturfenster passen, erneut berechnet und das Korrekturfenster
mit dieser Anzahl von Wörtern
neu anzeigt.
-
6 ist
ein Flussdiagramm einer einstellbaren Diktierfensterbearbeitung
eines CSR-Systems. Das einstellbare Diktierfenster ermöglicht dem
Sprecher, die Sprachmenge zu bestimmen, die das Diktierfenster aufnehmen
kann. Der Benutzer kann die Korrektureinrichtungen des Diktatbearbeitungsmoduls
nutzen, um die zuletzt gesprochene Sprachmenge zu korrigieren. In
Schritt 601 zeigt das System das Diktierfenster an. In den Schritten
602–609
bearbeitet das System in einer Programmschleife jede Sprecheinheit
(z. B. einen Satz oder einen Absatz) und sendet, wenn eine Einheit
gesprochen wurde, diese Einheit an das Anwendungsprogramm. Die Sprecheinheit
kann auch eine Wortzeile sein wenn das Diktierfenster in seiner
Größe verandert
wurde. In Schritt 602 setzt das System mit Schritt 610 fort, wenn
das Ende eine r Sprecheinheit empfangen wurde, andernfalls setzt
das System mit Schritt 603 fort. In Schritt 610 sendet das System
eine Sprecheinheit an das Anwendungsprogramm und setzt mit Schritt
603 fort. In Schritt 603 gibt der Sprecher an, dass das Diktat abgeschlossen
ist, dann ist das System fertig, andernfalls setzt das System mit
Schritt 604 fort. In Schritt 604 gibt das System eine gesprochene Äußerung des
Sprechers ein. In Schritt 605 ruft das System das Erkennungsmodul
ab, um die gesprochene Äußerung zu
erkennen, und sendet die Liste erkannter Wörter zurück. In Schritt 606 speichert
das System die Liste der erkannten Wörter für spätere Korrekturen. In Schritt
607 wählt
das System das Wort mit der höchsten
Wahrscheinlichkeit aus der Liste der erkannten Wörter aus und zeigt dieses an. In
Schritt 608 setzt das System, wenn der Sprecher angibt, den Korrekturmodus
einzugeben, mit Schritt 609 fort, andernfalls geht das System in
der Programmschleife zu Schritt 602, um zu bestimmen, ob das Ende
der Sprecheinheit erreicht wurde. In Schritt 609 ermöglicht das
System dem Sprecher, jedes der Wörter
innerhalb des Diktierfensters zu korrigieren. Das System zeigt,
wenn vom Sprecher angefordert, ein Korrekturfenster mit Wörtern von
der gespeicherten Liste erkannter Wörter an. In einer Programmschleife
geht das System zu Schritt 602, um die nächste Äußerung einzugeben.
-
7 ist
ein Flussdiagramm einer Fensterprozedur für ein Anwendungsprogramm oder
ein Diktatbearbeitungsmodul, das die Wortkorrekturmetapher implementiert.
Im Diktiermodus wechselt das Modul das Bearbeitungsverhalten von
zeichenorientiert zu eher wortorientiert. In den Schritten 701–705 bestimmt
die Prozedur, welche Nachricht empfangen wurde. In Schritt 701 setzt
die Prozedur, wenn eine Diktierfreigabenachricht empfangen wurde,
mit Schritt 701A fort, andernfalls setzt die Prozedur mit Schritt
702 fort. In Schritt 701A setzt die Prozedur den Modus in den Diktiermodus
und kehrt zurück.
In Schritt 702 setzt die Prozedur, wenn die Nachricht eine Diktiersperrnachricht
ist, mit Schritt 702A fort, andernfalls setzt die Prozedur mit Schritt
703 fort. In Schritt 702A setzt die Prozedur den Modus, um anzugeben,
dass die Dateneingabe eher durch das Keyboard erfolgt als durch
Diktieren, und kehrt zurück.
In Schritt 703 setzt die Prozedur, wenn die Nachricht eine Zeichenempfangsnachricht
ist, mit Schritt 703A fort, andernfalls setzt die Prozedur mit Schritt
704 fort. In Schritt 703A zeigt die Prozedur das empfangene Zeichen
an. Das Zeichen kann entweder durch eine Keyboard-Eingabe oder als
eines der Zeichen eines erkannten Wortes empfangen worden sein.
In Schritt 704 setzt die Prozedur, wenn die Nachricht eine Rücksetznachricht
ist, mit Schritt 704A fort, andernfalls setzt die Prozedur mit Schritt
705 fort. In Schritt 704A setzt die Prozedur, wenn der aktuelle
Modus Diktieren ist, mit Schritt 704C fort, andernfalls setzt die
Prozedur mit Schritt 704B fort. In Schritt 704C setzt die Prozedur
ein Wort von dem aktuellen Einfügestrich
aus zurück.
Das Zurücksetzen
löscht
das Wort links von dem Einfügestrich
und kehrt zurück.
In Schritt 704B führt
die Prozedur das normale Zurücksetzen
eines Zeichens aus und kehrt zurück.
In Schritt 705 setzt die Prozedur mit Schritt 705A fort, wenn die
Nachricht eine Mausklicknachricht ist, andernfalls setzt die Prozedur
mit einer normalen Bearbeitung fort. In Schritt 705A setzt die Prozedur,
wenn der aktuelle Modus Diktieren ist, mit Schritt 705C fort, andernfalls
setzt die Prozedur mit Schritt 705B fort. Wenn der Klick in Schritt
705C innerhalb eines Wortes erfolgt, wählt die Prozedur das ganze
Wort aus. Andernfalls setzt die Prozedur den Einfügestrich
zwischen die Wörter
und kehrt zurück.
In Schritt 705B setzt die Prozedur den Einfügestrich normal und kehrt zurück.
-
8 ist
ein Flussdiagramm eines Diktatbearbeitungsmoduls, das falsch erkannte
Wörter
von weiterer Erkennung eliminiert. Das Modul erfasst, wenn ein Sprecher
spricht, um ein falsch erkanntes Wort zu korrigieren und verhindert,
dass dieses falsch erkannte Wort wieder als die erneut gesprochene Äußerung erkannt wird.
In Schritt 801 ist, wenn das Diktat abgeschlossen ist, das Modul
fertig, andernfalls setzt das Modul mit Schritt 803 fort. In Schritt
803 empfängt
das Modul eine Liste erkannter Wörter
von dem Diktiermodul. In Schritt 804 setzt das Modul, wenn die gesprochene Äußerung ein
Versuch eines Sprechers ist, ein falsch erkanntes Wort zu korrigieren,
mit Schritt 805 fort, an dernfalls setzt das Modul mit Schritt 806
fort. In Schritt 805 wählt das
Modul ein Wort, mit Ausnahme des Wortes von der Liste erkannter
Wörter,
das korrigiert wurde, aus und setzt mit Schritt 807 fort. In Schritt
806 wählt
das Modul das wahrscheinlichste Wort von der Liste der erkannten Wörter aus.
In Schritt 807 zeigt das Modul das ausgewählte Wort an. In Schritt 808
setzt das Modul, wenn der Sprecher angibt, einen Korrekturmodus
einzugeben, mit Schritt 809 fort, andernfalls geht das Modul in
einer Programmschleife zu Schritt 801, um eine weitere Äußerung einzugeben.
In Schritt 809 empfängt
das Modul die Korrektur für
ein angezeigtes Wort. In Schritt 810 setzt das Modul mit Schritt
811 fort, wenn die Korrektur durch das Keyboard eingegeben wurde,
andernfalls geht das Modul in einer Programmschleife zu Schritt
801, um die nächste
Eingabeäußerung zu
empfangen. In Schritt 811 setzt das Modul, wenn das eingetippte
Wort bereits in dem Wörterbuch
ist, mit Schritt 813 fort, andernfalls setzt das Modul mit Schritt
812 fort. In Schritt 812 fügt
das Modul das eingetippte Wort zu dem Wörterbuch hinzu. In Schritt
813 trainiert das Modul das Erkennungsmodul an dem eingetippten
Wort und geht in einer Programmschleife zu Schritt 801, um die nächste Äußerung einzugeben.
-
9 ist
ein Flussdiagramm eines Diktatbearbeitungsmoduls, das den Erkennungsprozess
automatisch trainiert. Das Diktatverarbeitungsmodul sammelt falsch
erkannte Äußerungen
zusammen mit dem korrigierten Wort oder der korrigierten Phrase.
Dann weist das Diktatverarbeitungsmodul das Erkennungsmodul an,
den Erkennungsprozess zu trainieren, die falsch erkannte Äußerung als
korrektes Wort oder korrekte Phrase zu erkennen. Dieses Training
kann durchgeführt
werden, indem jede falsch erkannte Äußerung korrigiert wird oder
indem die Information gespeichert wird und das Training zu einem
späteren
Zeitpunkt durchgeführt wird.
In den Schritten 901 bis 903 sammelt das Modul falsch erkannte Äußerungen
und das korrekte Wort oder die korrekte Phrase. Diese Informationen
können
gesammelt werden, wenn das Modul erfasst, dass der Sprecher ein
Wort oder eine Phrase korrigiert hat. In Schritt 903 bestimmt das
Modul, ob der Erkenner trainiert werden soll. Ein derartiges Training
kann in Zeiten durchgeführt
werden, in denen das Computersystem ungenutzt wäre oder wenn die Genauigkeit
der Erkennung unakzeptabel ist. In Schritt 904 trainiert das Modul
den Erkennen anhand der gesammelten Äußerungen.
-
Obwohl die vorliegende Erfindung
im Sinne eines bevorzugten Ausführungsbeispiels
beschrieben wurde, ist es nicht beabsichtigt, die Erfindung auf
dieses Ausführungsbei spiel
zu beschränken.
Modifizierungen werden für
den Fachmann offensichtlich sein. Der Gültigkeitsbereich der vorliegenden
Erfindungen wird durch die folgenden Ansprüche bestimmt.