-
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
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 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 Vokabular. 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 Vokabu lar. 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 Diktiereinnchtung 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.
-
EP-A-0 376 501 beschreibt ein Spracherkennungssystem,
bei dem einem Benutzer ein Menü zur Verfügung steht,
das eine Abfolge oder mehrere Abfolgen von Textzeichen angibt, die
ein akustisches Modell repräsentieren
können,
das aus einer Wortäußerung oder
mehreren Wortäußerungen
geschaffen wurde. Diese Abfolgen von Textzeichen repräsentieren
einzelne Wörter
oder Wortgruppen, die mit dem Spracherkennungssystem trainiert wurden.
Diese einzelnen Wörter
oder Wortgruppen wurden entsprechend einer Wahrscheinlichkeit des
Erscheinens in einem gegebenen Kontext ausgewählt.
-
„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.
-
IBM Voice Type (version for OS/2
Warp Operating System) Product information, Copyright IBM Corp.,
1993, 1994, 1995, 1996 repräsentiert
Auszüge aus
einer Produktinformation, die sich auf ein IBM voice type dictation
tool beziehen, das zum Diktieren von Briefen, Berichten und anderen
Dokumentarten verwendet werden kann, wobei gesprochene Wörter in
Text umgewandelt werden. Darüber
hinaus können falsch
erkannte Wörter
unter Verwendung einer Liste alternativer Wörter korrigiert werden. Die
Anzahl der alternativen Wörter
kann durch einen Benutzer verändert
werden. Zu diesem Zweck gibt der Benutzer eine Anzahl von Wörtern, die
angezeigt werden sollen, in ein Feld mit dem Namen „Anzahl
alternativer Wörter" ein, wobei die Anzahl
zwischen 0 und 16 liegen kann.
-
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 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.
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–B stellen
die Wort/Satz-Korrekturmetapher für das Diktatbearbeitungsmodul
dar.
-
4A–C 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.
-
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 Korrekturfen ster
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 Worte „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 ei ner 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 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 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 das
Diktatbearbeiturngsmodul dar. Wenn ein Textverarbeitungssystem im
Diktiermodus ist, ändert
das Diktatbearbeitungsmodul 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 Wart 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 m 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 aus gewä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. 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, 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 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. 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
.1 |
Mace
.1 | Bake
.1 |
-
Wenn der Sprecher das Wort „make" anschließend ohne
die Eliminierung des falschen Wortes sprechen würde, würde das Diktatbearbeitungsmodul
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 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 x .2),
für das
Wort „mace" .03 (.1 x .3) und
für das Wort „bake" .01 (.1 x .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 das Diktatbearbeitungsmodul,
ob dieses Wort in dem Vokabular ist.
-
Wenn das eingetippte Wort nicht in
dem Vokabular ist, weist das Diktatbearbeitungsmodul das Erkennungsmodul
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 das Diktatbearbeitungsmodul
das Erkennungsmodul automatisch 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, sodass 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 nice 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 Wortes 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 Vokabular. 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–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 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 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 ent spricht, 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 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 Diktatbearbeitungsrnoduls
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 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 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, andern falls 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, 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 das Erkennungsmodul an dem eingetippten Wort und geht
in einer Programmschleife zu Schritt 801, um die nächste Äußerung einzugeben.
-
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.