-
Die
vorliegende Erfindung betrifft Computer-Spracherkennung und insbesondere
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 angestrebtes 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 eine Erkennungskomponente und eine Diktier-Editier-Komponente. Die Erkennungskomponente
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
die Diktier-Editier-Komponente. Die Diktier-Editier-Komponente zeigt
die erkannten Wörter
an und ermöglicht
einem Benutzer, Wörter,
die falsch erkannt wurden, zu korrigieren. Zum Beispiel würde die
Diktier-Editier-Komponente 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
die Erkennungskomponente ein Modell einer Äußerung für jedes Wort in ihrem Vokabular.
Wenn die Erkennungskomponente eine gesprochene Äußerung empfängt, vergleicht die Erkennungskomponente
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 ihrem Vokabular. Typische Erkennungskomponenten
berechnen eine Wahrscheinlich keit, mit der jede modellierte Äußerung mit
der gesprochenen Äußerung übereinstimmt.
Derartige Erkennungskomponenten senden an die Diktier-Editier-Komponente
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.
-
Die
Diktier-Editier-Komponente 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 die Diktier-Editier-Komponente dieses Wort an. Wenn jedoch
das angezeigte Wort eine Falscherkennung der gesprochenen Äußerung ist,
ermöglicht
die Diktier-Editier-Komponente dem Sprecher, das falsch erkannte
Wort zu korrigieren. Wenn der Sprecher angibt, das falsch erkannte
Wort zu korrigieren, zeigt die Diktier-Editier-Komponente 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
CSR-Systeme dienen als Diktiereinrichtung für Textverarbeitungsprogramme.
Ein derartiges CSR-System steuert den Empfang und das Erkennen einer
gesprochenen Äußerung und
sendet 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.
-
Banet
B.: "Sprache in
Text: Diktiersysteme von IBM, Dragon Systems", Seybold-Bericht über Desktop-Publishing, 7.
März 1994,
USA, Band 8, Nr. 7, Seiten 3-11, XP002094454 ISSN 0889-9762 beschreibt
einen Vergleich der IBM Personal-Diktiersysteme (IBM PDS) von IBM
mit dem DragonDictat 2,0 von Dragon Systems.
-
Dragon
trägt den
Text direkt in jene Anwendungen ein, die ihn steuern können und
weder einen Texteditor oder ein „Diktierfenster" erfordern noch bereitstellen.
Jedoch erfordert DragonDicate sofortige Korrekturen. Deshalb wird
ein Korrektur-Puffer für
12 Worte bereitgestellt, um Korrekturen an den zuletzt diktierten Wörtern vornehmen
zu können.
-
Weiterhin
können,
unmittelbar nachdem jedes Wort diktiert wurde, alternative Wörter aus
einem Korrekturmenü ausgewählt werden.
Deshalb werden eine mögliche
Worterkennung und möglicherweise
einige andere Wörter,
die alternative Wörter
sind, angezeigt. Das angezeigte Wort wird entweder durch das Diktieren eines
nächsten
Wortes oder durch Sagen von „OK" akzeptiert. Wenn
eines der alternativen Wörter
ausgewählt werden
soll, kann der Benutzer eines der gezeigten alternativen Wörter auswählen.
-
„WYSIWYG
Window-Sizing Management" IBM
Technical Disclosure Bulletin, Band 37, Nr. 4A , 01. April 1994,
Seiten 627-630, XP000446807 beschreibt die WYSIWYG-Fenstergrößenverwaltung
zur Veränderung
der Fenstergröße, wobei
ein Benutzer eine Fenstergröße vertikal
und horizontal verändert
und wobei der Inhalt, nach dem der Benutzer die Fenstergröße verändert, innerhalb
der veränderten
Fenstergröße sichtbar ist.
-
Der
Artikel „Diktier-Vorschau-Fenster", IBM technisches
Publikationsbulletin, Band 37, Nr. 10, Oktober 1994, Seite 545,
beschreibt ein weiterentwickeltes Spracherkennungssystem, das ein
Diktier-Vorschau-Fenster benutzt, das angepasst ist, um Text zu
enthalten, um eine Korrektur dieses Textes vor der Übertragung
an eine entsprechende Zielanwendung zu ermöglichen. Das Diktier-Vorschau-Fenster
enthält
eine auszuwählende
Anzahl von diktierten Wörtern.
Es erfolgt keine Anpassung eines gewünschten Textes ohne einen Eingriff durch
das Diktier-Vorschau-Fenster durch den Benutzer, der mit diesem
Fenster interagieren kann, um, so lange der zu korrigierende Text
noch in dem Fenster ist, eine beabsichtigte Handlung auszuführen.
-
Es
ist die Aufgabe der vorliegenden Erfindung eine verbesserte Technik
bereitzustellen, die es einem Sprecher durch Reduzierung der Erkennungsfehler
ermöglicht
effizient in ein Computerspracherkennungssystem zu diktieren.
-
Diese
Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst. Die
bevorzugten Ausführungen
sind Gegenstand der abhängigen
Ansprüche.
-
Die
vorliegende Erfindung stellt ein neues und verbessertes Computer-Spracherkennungssystem (CSR)
mit einer Erkennungskomponente und einer Diktier-Editier-Komponente bereit. Die Diktier-Editier-Komponente
ermöglicht
eine schnelle Korrektur falsch erkannter Wörter. Die Diktier-Editier-Komponente
ermöglicht einem
Spre cher, die Anzahl der alternativen Wörter, die in einem Korrekturfenster
anzuzeigen sind, durch Veränderung
der Größe des Korrekturfensters
auszuwählen.
Die Diktier-Editier-Komponente
zeigt die Wörter
in dem Korrekturfenster in alphabetischer Reihenfolge an, um das
Auffinden des korrekten Wortes zu erleichtern. In einem weiteren
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 gesprochene Ä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.
Die Diktier-Editier-Komponente
ermöglicht
einem Sprecher auch, die Sprachmenge zu bestimmen, die in einer
Diktier-Editier-Komponente vor der Übertragung der erkannten Wörter in
ein Textverarbeitungsprogramm gepuffert wird. Die Diktier-Editier-Komponente
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-B
stellen die Wort/Satz-Korrekturmetapher für die Diktier-Editier-Komponente dar.
-
4A-C
sind Blockdiagramme eines Computersystems eines bevorzugten Ausführungsbeispiels.
-
5A ist
ein Flussdiagramm einer Diktier-Editier-Komponente 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 einer Diktier-Editier-Komponente mit einem einstellbaren
Diktierfenster.
-
7 ist
ein Flussdiagramm einer Fensterprozedur für ein Textverarbeitungsprogramm
oder eine Diktier-Editier-Komponente, 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 eines automatisierten Erkennungstrainings.
-
Die
vorliegende Erfindung stellt eine Diktier-Editier-Komponente bereit,
die eine Bearbeitung eines durch ein Computer-Spracherkennungssystem
(CSR-System) erzeugten Diktats ermöglicht. In einem exemplarischen
Ausführungsbeispiel
ermöglicht
die Diktier-Editier-Komponente
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 die Diktier-Editier-Komponente die Wörter in dem Korrekturfenster
in alphabetischer Reihenfolge an. Eine bevorzugte Diktier-Editier-Komponente
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 die Diktier-Editier-Komponente
erkannte Wörter
für ein
Anwendungsprogramm, wie zum Beispiel ein Textbearbeitungsprogramm,
bereitstellt, ermöglicht
sie dem Sprecher, vorzugsweise die Sprachmenge zu bestimmen, die
von der Diktier-Editier-Komponente
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 Diktier-Editier-Komponente-Fenster 101 enthält die erkannten
Wörter 102 und
das Korrekturfenster 103. Bei diesem Beispiel sprach der
Sprecher die Worte „I
will make the cake".
Die Erkennungskomponente 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 die Diktier-Editier-Komponente
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
die Dik tier-Editier-Komponente 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 die Diktier-Editier-Komponente 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 die Diktier-Editier-Komponente
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. 1B stellt
das Beispiel-Korrekturfenster nach Größenveränderung dar.
-
Zusätzlich zeigt
die Diktier-Editier-Komponente 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 Diktier-Editier-Komponenten
würden
die Wörter
in den Korrekturfenstern in einer auf der durch die Erkennungskomponente
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
der Diktier-Editier-Komponente
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 Korektureinrichtungen,
die von der Diktier-Editier-Komponente
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
die Diktier-Editier-Komponente 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 Sprachmenge, 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.
-
3 stellt die Wortkorrekturmetapher für die Diktier-Editier-Komponente
dar. Wenn ein Textverarbeitungssystem im Diktiermodus ist, ändert die
Diktier-Editier-Komponente automatisch die Definition verschiedener
Ereignisse (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,
modifiziert, um jeweils ein Wort zurückzusetzen. 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 die Diktier-Editier-Komponente eher das
Wort aus wä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 Phrasenkorrektur-Metapher 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. Die Diktier-Editier-Komponente 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ügestrch
an der Stelle, von der 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 die Erkennungskomponente eine erneut gesprochene Sprachäußerung empfängt, erkennt
es die Äußerung und
sendet eine neue Liste erkannter Wörter an die Diktier-Editier-Komponente.
Die Diktier-Editier- Komponente
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 die
Diktier-Editier-Komponente 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 die Diktier-Editier-Komponente die Wörter, die in beiden Listen
erkannter Wörter
vorhanden sind, und multipliziert deren Wahrscheinlichkeiten. Die
folgende Tabelle zum Beispiel stellt Beispiellisten erkannter Wörter und
die entsprechenden Wahrscheinlichkeiten dar.
Liste
vorher erkannter Wörter | Liste
neu erkannter Wörter |
Fake
.4 | Fake
.4 |
Make
.3 | Mace
.3 |
Bake
.1 | Make
.2 |
Mace
.1 | Bake
.1 |
-
Wenn
der Sprecher das Wort „make" anschließend ohne
die Eliminierung des falschen Wortes sprechen würde, würde die Diktier-Editier-Komponente
das Wort „fake" beide Male auswählen, da
es die höchste Wahrscheinlichkeit
in beiden Listen aufweist. Mit der Eliminierung des falschen Wortes
wählt die
Diktier-Editier-Komponente 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
die Diktier-Editier-Komponente
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 Vokabular ebenfalls automatisch Wörter hinzu und trainiert automatisch.
Wenn ein Benutzer ein falsch erkanntes Wort durch Eintippen korrigiert,
bestimmt die Diktier-Editier-Komponente, ob dieses Wort in dem Vokabular
ist.
-
Wenn
das eingetippte Wort nicht in dem Vokabular ist, weist die Diktier-Editier-Komponente die Erkennungskomponente
an, es in das Vokabular 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 Vokabular ist, weist die Diktier-Editier-Komponente
die Erkennungskomponente automatisch an, das eingetippte Wort mit
der gesprochenen Äußerung,
die falsch erkannt wurde, zu trainieren.
-
Die
Diktier-Editier-Komponente ermöglicht
zusätzlich
zur Wortkorrektur eine Phrasenkorrektur, wenn es mit einem kontinuierlichen
Diktiersystem benutzt wird. In einem kontinuierlichen Diktiersystem
könnte
die Erkennungskomponente eine Wortgrenze falsch identifizieren.
Zum Beispiel könnte
ein Sprecher die Phrase „1
want to recognize speech" sagen.
Die Erkennungskomponente 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.
-
Die
Diktier-Editier-Komponente ermöglicht
eine Phrasenkorrektur, sodass Falscherkennungen infolge fehlerhafter
Wortgrenzen effizient korrigiert werden können. Wenn ein Sprecher eine
Phrase zur Korrektur auswählt,
wählt die
Diktier-Editier-Komponente 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
an ice" und „recognize" sein.
-
Des
Weiteren nimmt die Diktier-Editier-Komponente, 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 die Diktier-Editier-Komponente 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 nice peach" nicht
abgebildet wird. Zusätzlich
nimmt die Diktier-Editier-Komponente 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 Wortes
korrigiert werden könnte,
hätte der
Sprecher diese alternativen Wörter
ausgewählt.
Folglich würde
die Diktier-Editier-Komponente keine alternative Phrase anzeigen,
die durch eine Korrektur von einzelnen Wörtern von der alternativen
Liste korrigiert werden könnte.
Zum Beispiel würde
die Diktier-Editier-Komponente nicht die Phrase „rack an 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, eine
Erkennungskomponente 409 und eine Diktier-Editier-Komponente 410 und
enthält
ein Anwendungsprogramm 411. Die Modellkomponente enthält die verschiedenen
Modelläußerungen
für die
Wörter
in dem Vokabular. Die Erkennungskomponente empfängt gesprochene Äußerungen
und greift auf die Modellkomponente zu, um die Liste der erkannten
Wörter
zu erzeugen. Die Diktier-Editier-Komponente empfängt die Liste der erkannten Wörter und
zeigt die erkannten Wörter
an. Die Erkennungskomponente, die Diktier-Editier-Komponente und das
Anwendungsprogramm können
auf verschiedene Art und Weise verknüpft sein. Die 4B-4C sind Blockdiagramme,
die verschiedene Verknüpfungen
der Erkennungskomponente, der Diktier-Editier-Komponente und des
Anwendungsprogramms darstellen. In 4B weist
die Erkennungskomponente eine Schnittstelle mit einer Anwendungsprogrammschnittstelle
(API) der Diktier-Editier-Komponente
auf, die ihrerseits eine Schnittstelle mit einer API des Anwendungsprogramms
aufweist. In 4C weist die Erkennungskomponente Schnittstellen
mit den APIs auf, die von der Diktier-Editier-Komponente und dem
Anwendungsprogramm bereitgestellt werden. Alternativ dazu könnte das
Anwendungsprogramm Schnittstellen mit den APIs aufweisen, die von
der Erkennungskomponente und der Diktier-Editier-Komponente bereitgestellt werden.
-
5A ist
ein Flussdiagramm eines CSR-Systems mit einem 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 5A012-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 die Erkennungskomponente ab,
um die gesprochene Äußerung zu
erkennen. Die Erkennungskomponente 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 dessen aktueller Größe, 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 norma len 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 der Diktier-Editier-Komponente 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 verändert wurde.
In Schritt 602 setzt das System mit Schritt 610 fort,
wenn das Ende einer 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 die Erkennungskomponente
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
eine Diktier-Editier-Komponente, die die Wortkorrekturmetapher implementiert.
Im Dik tiermodus 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 sendet 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 Keyboardeingabe 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 7048 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 7048 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 einer Diktier-Editier-Komponente die falsch erkannte
Wörter
von weiterer Erkennung eliminiert. Die Komponente 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 Schnitt 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, andernfalls 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, 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 andere Ä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 Vokabular ist, mit Schritt 813 fort,
andernfalls setzt das Modul mit Schritt 812 fort. In Schritt 812 fügt das Modul
das eingetippte Wort dem Vokabular bei. In Schritt 813 trainiert
das Modul die Erkennungskomponente an dem eingetippten Wort und
geht in einer Programmschleife zu Schritt 801, um die nächste Äußerung einzugeben.
-
9 ist
ein Flussdiagramm einer Diktier-Editier-Komponente, die automatisch
das Erkennungsprogramm trainiert. Die Diktier-Editier-Komponente
sammelte Äußerungen,
die falsch erkannt wurden, zusammen mit dem korrigierten Wort oder
dem korrigierten Satz. Die Diktier-Editier-Komponente weist dann
die Erkennungskomponente an, den Erkennungsprozess zu trainieren,
die falsch erkannte Äußerung als
das korrekte Wort oder den korrekten Satz zu erkennen. Dieses Training
kann durchgeführt
werden während
jede Äußerung korrigiert
wird oder die Informationen werden gespeichert und das Training
wird zu einem späteren
Zeitpunkt durchgeführt.
In den Schritten 901-903 sammelt die Komponente
falsch verstandene Äußerungen
und das korrekte Wort bzw. den korrekten Satz. Diese Informationen
können
gesammelt wenden, wenn die Komponente ermittelt, dass ein Sprecher
ein Wort bzw. einen Satz korrigiert hat. In dem Schritt 903 ermittelt
die Komponente, ob der Erkenner trainiert werden sollte. Ein derartiges
Training kann zu Zeitpunkten durchgeführt werden, zu denen das Computersystem
ansonsten ungenutzt wäre
oder wenn die Genauigkeit der Erkennung inakzeptabel ist. In dem
Schritt 904 trainiert die Komponente den Erkenner an den
gesammelten Äußerungen.
-
Obwohl
die vorliegende Erfindung im Sinne eines bevorzugten Ausführungsbeispiels
beschrieben wurde, ist es nicht beabsichtigt, die Erfindung auf
dieses Ausführungsbeispiel
zu beschränken.
Modifizierungen werden für
den Fachmann offensichtlich sein. Der Gültigkeitsbereich der vorliegenden
Erfindungen wird durch die folgenden Ansprüche bestimmt.