[go: up one dir, main page]

DE69914131T2 - Positionshandhabung bei der Spracherkennung - Google Patents

Positionshandhabung bei der Spracherkennung Download PDF

Info

Publication number
DE69914131T2
DE69914131T2 DE69914131T DE69914131T DE69914131T2 DE 69914131 T2 DE69914131 T2 DE 69914131T2 DE 69914131 T DE69914131 T DE 69914131T DE 69914131 T DE69914131 T DE 69914131T DE 69914131 T2 DE69914131 T2 DE 69914131T2
Authority
DE
Germany
Prior art keywords
command
word
words
user
action position
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69914131T
Other languages
English (en)
Other versions
DE69914131D1 (de
Inventor
Barton D. Wright
Joev Dubach
David Wilsberg Parmenter
Allan Gold
Jonathan Hood Young
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
L&H Holdings USA Inc
Original Assignee
L&H Holdings USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by L&H Holdings USA Inc filed Critical L&H Holdings USA Inc
Publication of DE69914131D1 publication Critical patent/DE69914131D1/de
Application granted granted Critical
Publication of DE69914131T2 publication Critical patent/DE69914131T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Description

  • Ein Spracherkennungssystem analysiert die gesprochene Sprache eines Anwenders, um festzustellen, was der Anwender gesagt hat. Die meisten Spracherkennungssysteme sind framebasiert. In einem framebasierten System unterteilt ein Prozessor ein Signal, welches die zu erkennende Sprache darstellt, in einer Reihe von digitalen Frames, von denen jeder einem kleinen Zeitabschnitt der Sprache entspricht.
  • Ein kontinuierliches Spracherkennungssystem kann gesprochene Worte oder Phrasen erkennen, egal, ob der Anwender dazwischen Pausen macht. Ein diskretes Spracherkennungssystem erkennt dagegen einzelne Wörter oder Phrasen und setzt voraus, dass der Anwender kurz nach jedem einzelnen Wort bzw. jeder Phrase pausiert. Aufgrund der Komplexität der Erkennung von kontinuierlicher Sprache weisen kontinuierliche Spracherkennungssysteme im Vergleich mit diskreten Erkennungssystemen typischerweise eine größere Häufigkeit Vorkommen von Erkennungsfehlern auf.
  • Im allgemeinen analysiert der Prozessor eines kontinuierlichen Spracherkennungssystems „Äußerungen" von Sprache. Eine Äußerung enthält eine unterschiedliche Anzahl von Frames und kann einem Sprechzeitabschnitt entsprechen, der von einer Pause von wenigstens einer vorbestimmten Länge gefolgt wird.
  • Der Prozessor bestimmt, was der Anwender gesagt hat, indem er akustische Modelle findet, die am besten mit den digitalen Frames einer Äußerung übereinstimmen, und den Text identifiziert, der diesen akustischen Modellen entspricht. Ein akustisches Modell kann einem Wort, einer Phrase oder einem Befehl aus einem Vokabular entsprechen. Ein akustisches Modell kann auch ein Geräusch oder Phonem darstellen, der einem Teil eines Wortes entspricht. Gemeinsam bilden die einzelnen Phoneme eines Worts die phonetische Schreibweise des Wortes. Akustische Modelle können auch Stille oder verschiedene Arten von Umgebungsgeräuschen darstellen.
  • Die Wörter oder Phrasen, die den akustischen Modellen mit der größten Übereinstimmung entsprechen, werden Erkennungskandidaten genannt. Der Prozessor kann einen einzelnen Erkennungskandidaten (z. B. eine einzige Sequenz von Worten oder Phrasen) für eine Äußerung erzeugen, oder er kann eine Liste von Erkennungsdaten erzeugen.
  • Korrekturmechanismen von bekannten diskreten Spracherkennungssystemen zeigten eine Liste von Alternativen für jedes erkannte Wort an und erlaubten dem Anwender, eine Falscherkennung durch Auswählen eines Wortes aus der Liste oder durch Eintippen des korrekten Wortes zu berichtigen. Zum Beispiel zeigte DragonDictate® für Windows®, erhältlich von Dragon Systems, Inc., Newton, Massachusetts, eine Liste von nummerierten Erkennungskandidaten („eine Auswahlliste") für jedes vom Anwender gesprochene Wort an und fügte den Erkennungskandidaten mit den meisten Punkten in den vom Anwender diktierten Test ein. Wenn der Erkennungskandidat mit den meisten Punkten falsch war, konnte der Anwender einen Erkennungskandidaten von der Auswahlliste auswählen, indem er „Wähle-N" sagte, wobei „N" die Nummer des richtigen Kandidaten war. Wenn das richtige Wort nicht auf der Auswahlliste war, konnte der Anwender die Liste verbessern, indem er entweder die ersten paar Buchstaben des richtigen Wortes eintippte, oder indem er Worte sprach (z. B. „Alpha", „Bravo"), die den ersten paar Buchstaben entsprachen. Der Anwender konnte das falsche Erkennungsergebnis auch verwerfen, indem er sagte „Streich das".
  • Das Diktat eines neuen Wortes bedeutete die Annahme der vorherigen Erkennung. Wenn der Anwender einen Erkennungsfehler nach dem Diktat von weiteren Wörtern bemerkte, konnte er „Huch" sagen, woraufhin eine nummerierte Liste von vorher erkannten Wörtern erscheinen würde. Der Anwender konnte dann durch Sprechen von „Wort-N" ein vorher erkanntes Wort auswählen, wobei „N" die dem Wort entsprechende Nummer ist. Das System reagierte, indem es eine dem ausgewählten Wort entsprechende Auswahlliste anzeigte und dem Anwender wie oben beschrieben die Berichtigung des Wortes ermöglichte.
  • Die US 5,231,670 offenbart ein System und ein Verfahren zum Erzeugen von Text aus einer Sprecheingabe, welche bei der Verarbeitung von jedem Sprechereignis ein Diktatereignis und ein Textereignis definieren.
  • Die EP 0 785 540 A offenbart ein Verfahren zur Verwendung bei der Erkennung von kontinuierlicher Sprache, bei welchem Signale akzeptiert werden, die eingestreuten Sprachelementen entsprechen, welche sowohl Textelemente enthalten, die zu erkennendem Text entsprechen, als auch Befehlelemente, die auszuführenden Befehlen entsprechen.
  • Die vorliegende Erfindung ist in den beiliegenden unabhängigen Ansprüchen definiert.
  • Gemäß einem allgemeinen Aspekt wird eine Aktionsposition in computerimplementierter Spracherkennung in Reaktion auf empfangene Daten, die einen gesprochenen Befehl darstellen, verändert. Der Befehl enthält einen Befehls-Identifizierer und eine Bestimmung von wenigstens einem vorher gesprochenen Wort. Mit den Daten wird Spracherkennung ausgeführt, um den Befehls-Identifizierer und die Bestimmung zu identifizieren. Danach wird basierend auf dem Befehls-Identifizierer relativ zu dem vorher gesprochenen Wort eine Aktionsposition festgelegt.
  • Ausführungsbeispiele können ein oder mehrere der folgenden Merkmale enthalten. Die Bestimmung kann ein vorher gesprochenes Wort oder vorher gesprochene Worte enthalten.
  • Der Befehls-Identifizierer kann anzeigen, dass die Aktionsposition vor (z. B. „Einfügen vor") oder nach (z. B. „Einfügen nach") dem vorher gesprochenen Wort, den vorher gesprochenen Worten oder der vorher gesprochenen Äußerung sein soll. Wenn dies der Fall ist, kann die Aktionsposition direkt vor, oder direkt nach, dem/den/der vorher gesprochenen Wort, Worte oder Äußerung festgelegt werden.
  • Die Bestimmung kann ein oder mehrere vorher gesprochene Worte oder ein oder mehrere neue Worte enthalten. In diesem Fall können alle in dem Befehl enthaltene vorher gesprochenen Worte durch im Befehl enthaltenen neue Worte ersetzt werden. Die Aktionsposition wird dann nach den neuen Worten festgelegt. Dieser Befehl kann z. B. als ein „Weitermachen bei"-Befehl implementiert sein, bei dem den Worten „Weitermachen bei" ein oder mehrere vorher erkannte Worte und ein oder mehrere neue Worte folgen.
  • Der „Weitermachen bei"-Befehl hängt nicht von der Darstellung von Informationen auf der Anzeige ab. Aus diesem Grund ist der Befehl besonders nützlich, wenn der Anwender eine tragbare Aufnahmeeinrichtung verwendet, wie z. B. einen analogen oder digitalen Recorder, und die aufgenommene Sprache danach zur Verarbeitung auf ein Spracherkennungssystem überträgt. In diesem Zusammenhang eröffnet der „Weitermachen bei" Befehl dem Anwender einen einfachen und effizienten Weg, das Diktat umzulenken und fälschlicherweise gesprochene Worte zu löschen.
  • Die den Befehl darstellenden Daten können durch Aufnehmen des Befehls mittels einer Aufnahmeeinrichtung erzeugt werden, die physisch von einem Computer getrennt ist, auf dem die Spracherkennung implementiert ist. Wenn die Aufnahmeeinrichtung eine digitale Aufnahmeeinrichtung ist, können die Daten die Form einer von der digitalen Aufnahmeeinrichtung erzeugten Datei haben. Die Daten können auch die Form von Signalen haben, die durch Abspielen des gesprochenen Befehls durch die Aufnahmeeinrichtung erzeugt werden, so wie bei der Verwendung einer analogen Aufnahmeeinrichtung.
  • Gemäß einem weiteren allgemeinen Aspekt wird bei computerimplementierter Spracherkennung in Reaktion auf Daten, die einen gesprochenen Auswahlbefehl darstellen, ein Textblock ausgewählt. Der Befehl enthält einen Befehls-Identifizierer und einen Textblock-Identifizierer, der einen Block von vorher erkanntem Text identifiziert. Wenigstens ein im Textblock enthaltenes Wort ist im Textblock-Identifizierer nicht enthalten. Mit den Daten wird Spracherkennung durchgeführt, um den Befehls-Identifizierer und den Textblock-Identifizierer zu identifizieren. Danach wird der dem Textblock-Identifizierer entsprechende Textblock ausgewählt.
  • Ausführungsbeispiele können eines oder mehrere der folgenden Merkmale enthalten. Der Textblock-Identifizierer kann wenigstens ein erstes vorher erkanntes Wort aus dem Textblock und wenigstens ein letztes vorher erkanntes Wort aus dem Textblock enthalten. Zum Beispiel kann der Befehls-Identifizierer „Wähle" sein und der Textblock-Identifizierer kann das erste vorher erkannte Wort des Textblocks, „bis", und das letzte vorher erkannte Wort des Textblocks (z. B. „Wähle X bis Y") enthalten.
  • Spracherkennung kann unter Verwendung einer Beschränkungsgrammatik durchgeführt werden. Die Beschränkungsgrammatik lässt z. B. zu, dass der Textblock mit einem beliebigen Wort aus einer Menge von vorher erkannten Wörtern beginnt und mit einem beliebigen Wort aus der Menge von vorher erkannten Wörtern endet. Die Menge von vorher erkannten Wörtern kann vorher erkannte Wörter enthalten, die auf einem Anzeigegerät angezeigt werden, wenn der Auswahlbefehl gesprochen wird.
  • Bei der Durchführung von Spracherkennung können mehrere Kandidaten für den Textblock-Identifizierer erzeugt werden und solche Kandidaten verworfen wer den, für die der Textblock mit einem vorher gesprochenen Wort beginnt, welches nach einem vorher gesprochenen Wort gesprochen wurde, mit dem der Textblock endet.
  • Gemäß einem weiteren allgemeinen Aspekt beinhaltet ein computerbasiertes Verfahren zur Verwendung beim Arbeiten mit Text das Empfangen eines Befehls, der eine Äußerung enthält, die einen Textabschnitt bezeichnet, das Durchführen von Spracherkennung mit der Äußerung, um den Textabschnitt zu identifizieren, und das Festlegen einer Aktionsposition im Text an einer Position relativ zum identifizierten Textabschnitt, wobei die Position durch den Befehl bestimmt wird.
  • Weitere Merkmale und Vorteile werden aus der folgenden Beschreibung einschließlich der Zeichnungen und aus den Ansprüchen deutlich werden.
  • 1 zeigt ein Blockdiagramm eines Spracherkennungssystems.
  • 2 zeigt ein Blockdiagramm der Spracherkennungssoftware des Systems der 1.
  • 4A4N zeigen Bildschirmanzeigen einer Benutzeroberfläche des Spracherkennungssystems der 1.
  • 5A, 5B und 6 zeigen Flussdiagramme von durch ein Steuer-/Schnittstellen-modul der Software der 2 implementierten Prozeduren.
  • Wie in 1 gezeigt, enthält ein Spracherkennungssystem 100 Eingabe-/Ausgabegeräte (I/O), z. B. Mikrofon 105, Maus 110, Tastatur 115 und Anzeige 120) und einen Allzweckcomputer 120 mit einem Prozessor 130, einer I/O-Einheit 135 und einer Soundkarte 140. Ein Speicher 145 speichert Daten und Programme, wie z. B. ein Betriebssystem 150, ein Anwendungsprogramm 155 (z. B. ein Textverarbeitungsprogramm) und Spracherkennungssoftware 160.
  • Das Mikrofon 105 empfängt die gesprochene Sprache des Anwenders und überträgt die Sprache in Form eines analogen Signals auf die Soundkarte 140, welche ihrerseits das Signal durch einen Analog-zu-Digital (A/D) Konverter leitet, um das analoge Signal in einen Satz digitaler Abtastwerte umwandelt. Unter der Steuerung des Betriebssystems 50 und der Spracherkennungssoftware 160 identifiziert der Prozessor 130 Äußerungen in der kontinuierlichen gesprochenen Sprache des Anwenders. Äußerungen werden voneinander durch eine Pause mit einer ausreichend großen vorbe stimmten Länge (z. B. 160–250 Millisek.) getrennt. Jede Äußerung kann ein oder mehrere Wörter der gesprochenen Sprache des Anwenders enthalten.
  • Das System kann auch einen analogen Recordereingang 165 und/oder einen digitalen Recordereingang 170 enthalten. Der analoge Recordereingang 165 ist mit der Soundkarte 140 verbunden und wird dazu verwendet, mit einem Handrecorder aufgenommene Sprache auf die Soundkarte zu übertragen. Der analoge Recordereingang kann als Mikrofon implementiert sein, das so angeordnet ist, dass es sich neben dem Lautsprecher des Handrecorders befindet, wenn dieser in den Eingang 165 eingeführt wird, und kann auch unter Verwendung des Mikrofons 105 implementiert sein. Als Alternative kann der analoge Recordereingang 165 als ein Tonbandgerät ausgeführt sein, welches ein mit dem Handrecorder bespieltes Tonband aufnimmt und auf dem Tonband aufgenommene Informationen auf die Soundkarte 140 überträgt.
  • Der digitale Recordereingang 170 kann dazu eingerichtet sein, eine mit einem digitalen Handrecorder erzeugte digitale Datei zu übertragen. Die Datei kann direkt in den Speicher 145 übertragen werden. Der digitale Recordereingang 170 kann als Speichergerät (z. B. ein Diskettenlaufwerk) auf dem Computer 120 ausgeführt sein.
  • 2 veranschaulicht Komponenten der Spracherkennungssoftware 160. Der Einfachheit halber wird in der folgenden Beschreibung angegeben, dass die Komponenten gewisse Funktionen ausführen, um bestimmte Ergebnisse zu erzielen. Es versteht sich jedoch von selbst, dass jede Komponente in Wirklichkeit den Prozessor 130 dazu veranlasst, auf die bestimmte Weise zu arbeiten.
  • Zuerst wandelt ein Front-End-Verarbeitungsmodul 200 die digitalen Abtastwerte 205 von der Soundkarte 140 (oder vom digitalen Recordereingang 170) in Parameterframes 210 um, die den Frequenzgehalt einer Äußerung repräsentieren. Jeder Frame enthält 24 Parameter und repräsentiert einen kurzen Abschnitt (z. B. 10 Millisek.) der Äußerung.
  • Der Erkenner 215 empfängt und verarbeitet die Frames einer Äußerung, um den der Äußerung entsprechenden Text zu identifizieren. Der Erkenner stellt mehrere Hypothesen über den Text auf und vergibt für jede Hypothese eine Punktzahl. Die Punktzahl ist ein Maß für die Wahrscheinlichkeit, dass eine Hypothese der gesprochenen Sprache des Anwenders entspricht. Zur Vereinfachung der Verarbeitung werden Punktzahlen als negative logarithmische Werte verwaltet. Dementsprechend zeigt eine niedrige Punktzahl eine höhere Übereinstimmung (eine höhere Wahrscheinlichkeit) an, während eine höhere Punktzahl eine schlechtere Übereinstimmung (eine niedrigere Wahrscheinlichkeit) anzeigt, wobei die Wahrscheinlichkeit der Übereinstimmung mit Zunahme der Punktzahl abnimmt. Nach der Verarbeitung der Äußerung liefert der Erkenner die am besten bewertete Hypothese an das Steuer-/Schnittstellenmodul 220 als eine Liste von Erkennungskandidaten, wobei jeder Erkennungskandidat einer Hypothese entspricht und eine dazugehörige Punktzahl aufweist. Einige Erkennungskandidaten können Text entsprechen, während andere Erkennungskandidaten Befehlen entsprechen. Befehle können Wörter, Phrasen oder Sätze enthalten.
  • Der Erkenner 215 verarbeitet die Frames 210 einer Äußerung unter Berücksichtigung von einer oder mehr Beschränkungsgrammatiken 225. Eine Beschränkungsgrammatik, auch als Schablone oder Begrenzungsregel bezeichnet, kann eine Begrenzung der Wörter, die einer Äußerung entsprechen, eine Begrenzung der Reihenfolge oder grammatikalischen Form der Wörter oder beides sein. Zum Beispiel kann eine Beschränkungsgrammatik für Befehle zur Menubedienung nur Einträge aus dem Menu (z. B. „File", „Edit") oder Befehlswörter zum Navigieren durch das Menu (z. B. „up", „down", „top", „bottom") enthalten. Verschiedene Beschränkungsgrammatiken können zu verschiedenen Zeiten aktiv sein. Zum Beispiel kann eine Beschränkungsgrammatik zu einem bestimmten Anwendungsprogramm 155 gehören und wird dann aktiviert, wenn der Anwender das Anwendungsprogramm öffnet und deaktiviert, wenn der Anwender das Anwendungsprogramm schließt. Der Erkenner 215 verwirft jegliche Hypothese, die die Bedingungen einer aktiven Beschränkungsgrammatik nicht erfüllt. Außerdem kann der Erkenner 215 die Punktzahl einer zu einer bestimmten Beschränkungsgrammatik gehörenden Hypothese auf der Basis von Merkmalen der Beschränkungsgrammatik anpassen.
  • 3A veranschaulicht ein Beispiel einer Beschränkungsgrammatik für einen „Wähle"-Befehl, der zum Auswählen von vorher erkanntem Text verwendet wird. Wie dargestellt, kann eine Beschränkungsgrammatik als ein Zustandsdiagramm veranschaulicht werden. Der „Wähle"-Befehl enthält das Wort „wähle" gefolgt von einem weiteren vorher erkannten Wort, wobei die Wörter in der Reihenfolge stehen, in der sie vorher erkannt wurden. Der erste Zustand 405 der Beschränkungsgrammatik zeigt an, dass das erste Wort des Wählbefehls „Wähle" sein muss. Nach dem Wort „Wähle" erlaubt die Beschränkungsgrammatik einen Übergang entlang eines Pfads 410 in einen zweiten Zustand 415, welcher verlangt, dass das nächste Wort im Befehl ein vorher erkanntes Wort sein muss. Ein Pfad 420, der in den zweiten Zustand 415 zurückführt, zeigt an, dass der Befehl zusätzliche vorher erkannte Wörter enthalten kann. Ein Pfad 25, der aus dem zweiten Zustand 415 herausführt und den Befehl vervollständigt, zeigt an, dass der Befehl nur vorher erkannte Wörter enthalten kann. 3B veranschaulicht das Zustandsdiagramm 450 der Beschränkungsgrammatik für den Wählbefehl, wenn eine vorher erkannte Äußerung „four score and seven" ist. Dieses Zustandsdiagramm könnte um Wörter von weiteren Äußerungen erweitert werden.
  • Die Beschränkungsgrammatik kann auch in Backus-Naur-Form (BNF) oder erweiterter BNF (EBNF) ausgedrückt werden. In EBNF ist die Grammatik für den „Wähle"-Befehl:
    <Erkennungsergebnis> ∷= Wähle<Wörter>,
    wobei
    <Wörter> ∷= [PRW1[PRW2[PRW3 ... PRWn]]]¦
    [PRW2[PRW3 ... PWRn]]¦ ... [PRWn],
    "PRWi" das vorher erkannte Wort i ist,
    [] fakultativ bedeutet,
    <> für eine Regel steht,
    ¦ für eine ODER-Funktion steht, und
    ∷= „ist definiert als" oder „ist" bedeutet.
  • Wie in den 3A und 3B veranschaulicht, zeigt diese Darstellung, dass „Wähle" von einer geordneten Folge von vorher erkannten Wörtern gefolgt sein kann. Diese Grammatik erlaubt keine fakultativen oder alternativen Wörter. In einigen Fällen kann die Grammatik verändert werden, so dass sie fakultative Wörter (z. B. ein fakultatives „und" zum Erlauben von „four score and seven" oder „four score seven") oder alternative Wörter oder Phrasen (z. B. „four score and seven" oder „eighty seven") zulässt.
  • Nochmals mit Bezug auf 2 ist eine andere Beschränkungsgrammatik 225, die von der Spracherkennungssoftware verwendet werden kann, eine Diktiergramma tik mit großem Vokabular. Die Diktiergrammatik mit großem Vokabular identifiziert im aktiven Vokabular 230, d. h. im Vokabular von Wörtern, die der Software bekannt sind, enthaltene Wörter. Die Diktiergrammatik mit großem Vokabular zeigt auch die Häufigkeit an, mit der die Wörter auftreten. Ein zu der Diktiergrammatik mit großem Vokabular gehöriges Sprachmodell kann ein Unigramm-Modell sein, welches die Häufigkeit anzeigt, mit dem ein Wort unabhängig vom Kontext vorkommt, oder ein Bigramm-Modell, welches die Häufigkeit anzeigt, mit der ein Wort im Kontext eines vorhergehenden Wortes vorkommt. Zum Beispiel kann ein Bigramm-Modell anzeigen, dass es wahrscheinlicher ist, dass dem Wort „dass" ein Nomen oder Adjektiv folgt als ein Verb oder eine Präposition.
  • Weitere Beschränkungsgrammatiken 225 sind z. B. eine In-line-Diktat-Makrogrammatik für Diktatbefehle, z. B. „CAP" oder „Groß" zum Großschreiben eines Wortes und „Absatz" zum Beginnen eines neuen Absatzes; die oben beschriebene „Wähle X Y Z" Grammatik, die zum Auswählen eines Textes verwendet wird; eine Fehlerkorrektur-Befehlsgrammatik; eine Grammatik zum Editieren eines Diktats; eine Anwendungsbefehls- und Steuergrammatik, die dazu verwendet werden kann, ein bestimmtes Anwendungsprogramm 155 zu steuern; eine globale Befehls- und Steuergrammatik, die dazu verwendet werden kann, das Betriebssystem 150 und die Spracherkennungssoftware 160 zu steuern; eine Menü- und Dialogtracking-Grammatik, die zum Handhaben von Menüs verwendet werden kann; eine Tastatur-Steuerungsgrammatik, die die Verwendung von Sprache anstatt von Eingabe-Vorrichtungen, wie der Tastatur 115 oder der Maus 110, erlaubt.
  • Das aktive Vokabular 230 verwendet ein Aussprachemodell, in welchem jedes Wort durch eine Reihe von Phonemen symbolisiert wird, die die phonetische „Schreibweise" des Wortes enthalten. Jedes Phonem kann als ein Triphon dargestellt sein, welcher drei Knoten enthält. Ein Triphon ist ein kontextabhängiges Phonem. Zum Beispiel symbolisiert das Triphon „abc" das Phonem „b" im Kontext der Phoneme „a" und „c", wobei das Phonem „a" dem Phonem „b" vorausgeht und das Phonem „b" vom Phonem „c" gefolgt wird.
  • Zu jedem Benutzer können eine oder mehrere Vokabeldateien gehören. Die Vokabeldateien enthalten alle Wörter, Aussprachen und Sprachmodellinformation für den Benutzer. Diktat- und Befehlsgrammatiken können zwischen den Vokabeldateien aufgeteilt sein, um die Sprachmodellinformationen und Speicherplatzausnutzung zu optimieren und um jede einzelne Vokabeldatei unter 64000 Wörtern zu halten. Es gibt auch einen Satz von Systemvokabularen.
  • Für jeden Benutzer des Systems werden gesonderte akustische Modelle 235 bereitgestellt. Am Anfang werden sprecherunabhängige akustische Modelle von männlicher oder weiblicher Sprache an die Sprache eines bestimmten Benutzers mittels eines Trainingsprogramms angepasst. Die akustischen Modelle können im Laufe der Benutzung des Systems weiter angepasst werden. Die akustischen Modelle werden in einer vom aktiven Vokabular 230 getrennten Datei verwaltet.
  • Die akustischen Modelle 235 stelle Phoneme dar. Im Fall von Triphonen stellen die akustischen Modelle 235 jeden Triphonknoten als eine Überlagerung von Gauss'schen Wahrscheinlichkeitsdichtefunktionen („PDFs") dar. Zum Beispiel kann der Knoten „i" eines Triphons „abc" als abic dargestellt werden:
    Figure 00100001
    wobei jedes wk eine Gewichtung ist,
    Figure 00100002
    μk ein mittlerer Vektor für die Wahrscheinlichkeitsdichtefunktion („PDF")Nk ist, und ck die Kovarianzmatrix für den PDF Nk ist. Wie die Frames in der Framefolge enthält jeder der Vektoren μk 24 Parameter. Die Matrizen ck sind 24 × 24 Matrizen. Jeder Triphonknoten kann als eine Überlagerung von beispielsweise bis zu 16 verschiedenen PDFs symbolisiert werden.
  • Eine Diktatgrammatik mit großem Vokabular kann mehrere Diktatthemen (z. B. „Medizin" oder „Recht") enthalten, von denen jedes seine eigene Vokabulardatei und sein eigenes Sprachmodell aufweist. Ein Diktatthema enthält einen Satz von Wörtern, welche das aktive Vokabular 230 darstellt. In einem typischen Beispiel kann ein Thema ungefähr 30000 Wörter enthalten, die für normale Erkennung betrachtet werden.
  • Ein vollständiges Diktatvokabular besteht aus dem aktiven Vokabular 230 plus ein Backup-Vokabular 245. Das Backup-Vokabular kann Dateien enthalten, die benut zerspezifische Backup-Vokabeln und systemübergreifende Backup-Vokabeln enthalten.
  • Benutzerspezifische Backup-Vokabeln enthalten Wörter, die ein Benutzer beim Verwenden der Spracherkennungssoftware kreiert hat. Diese Wörter werden in Vokabeldateien für den Benutzer und für das Diktatthema gespeichert und sind als Teil des Backup-Wörterbuchs für das Diktatthema ungeachtet des Benutzers verfügbar, und für den Benutzer ungeachtet des gerade verwendeten Diktatthemas. Wenn z. B. ein Benutzer ein medizinisches Thema verwendet und das Wort „Ganglion" dem Diktatvokabular hinzufügt, hat jeder andere Benutzer des medizinischen Themas sofort Zugriff auf das Wort „Ganglion". Außerdem wird das Wort in das benutzerspezifische Backup-Vokabular eingetragen. Wenn der Benutzer dann „Ganglion" sagt, während er ein rechtliches Thema verwendet, wird das Wort „Ganglion" bei der Korrektur aus Backup-Wörterbuch verfügbar sein.
  • Zusätzlich zu dem erwähnten benutzerspezifischen Backup-Vokabular, gibt es ein systemweites Backup-Vokabular. Das systemweite Backup-Vokabular enthält alle dem System bekannten Wörter einschließlich der Wörter, die zur Zeit in einem aktiven Vokabular sein können.
  • Der Erkenner 215 kann parallel zu einer Vorfilter-Prozedur 240 betrieben werden. Wenn die Verarbeitung einer Äußerung eingeleitet wird, fordert der Erkenner 215 von der Vorfilter-Prozedur 240 eine Liste von Wörtern an, die als erstes Wort der Äußerung gesprochen worden sein könnten (d. h., Wörter, die dem ersten und den folgenden Frames der Äußerung entsprechen). Die Vorfilter-Prozedur 240 führt einen groben Vergleich der Folge von Frames mit dem aktiven Vokabular 230 durch, um eine Teilmenge des Vokabulars zu identifizieren, für die ein ausführlicherer Vergleich mithilfe des Erkenners gerechtfertigt ist.
  • Das Steuer-/Schnittstellenmodul 220 steuert den Betrieb der Spracherkennungssoftware und liefert eine Schnittstelle zur anderen Software oder zum Benutzer. Das Steuer-/Schnittstellenmodul empfängt die Liste von Erkennungskandidaten für jede Äußerung von dem Erkenner. Erkennungskandidaten können diktiertem Text, Spracherkennungsbefehlen oder externen Befehlen entsprechen. Wenn der Erkennungskandidat mit der höchsten Punktzahl diktiertem Text entspricht, liefert das Steuer-/Schnitt-stellenmodul den Text an eine aktive Anwendung, z. B. eine Textverarbei tung. Das Steuer-/Schnittstellenmodul kann den Erkennungskandidaten mit der höchsten Punktzahl den Benutzer auch über eine graphische Benutzerschnittstelle anzeigen. Wenn der Erkennungskandidat mit der höchsten Punktzahl ein Befehl ist, führt das Steuer-/Schnittstellenmodul 220 den Befehl aus. Zum Beispiel kann das Steuer-/Schnitt-stellenmodul den Betrieb der Spracherkennungssoftware in Reaktion auf Spracherkennungsbefehle (z. B. „Wach auf", „Mach daraus") steuern und kann externe Befehle an die angesprochene Software weiterleiten.
  • Das Steuer-/Schnittstellenmodul steuert auch das aktive Vokabular, akustische Modelle und vom Erkenner benutzte Beschränkungsgrammatiken. Wenn die Spracherkennungssoftware z. B. in Verbindung mit einer bestimmten Anwendung (z. B. Microsoft Word) verwendet wird, aktualisiert das Steuer-/Schnittstellenmodul das aktive Vokabular, um zu dieser Anwendung gehörige Befehlswörter einzuschließen, und aktiviert zu dieser Anwendung gehörige Beschränkungsgrammatiken.
  • Andere von dem Steuer-/Schnittstellenmodul 220 bereitgestellte Funktionen sind ein Vokabular-Indivisualisierer und ein Vokabular-Manager. Der Vokabular-Indivisualisierer optimiert das Sprachmodell eines bestimmten Themas, indem er vom Benutzer gelieferten Text einliest. Der Vokabular-Manager ist ein Entwicklungstool, welches dazu benutzt wird, Vokabeln, Grammatiken und Makros durchzusehen und zu verändern. Jede dieser Funktionen des Steuer-/Schnittstellenmoduls 220 kann als ein ausführbares Programm eingerichtet sein, welches getrennt von der Haupt-Spracherkennungssoftware ist. Ebenso kann das Steuer-/Schnittstellenmodul 220 als ein getrenntes ausführbares Programm eingerichtet sein.
  • Das Steuer-/Schnittstellenmodul 220 kann auch ein Trainingsprogramm bereitstellen, welches einen Trainingstext und eine entsprechende Trainingsgrammatik verwendet, um die Spracherkennungssoftware an einen bestimmten Benutzer zu gewöhnen. Das Trainingsprogramm kann in einem interaktiven Modus betrieben werden, der den Benutzer durch den Trainingsvorgang leitet, oder in einem nicht interaktiven Modus, welcher dem Benutzer erlaubt, das Training unabhängig vom Computer durchzuführen. Im interaktiven Modus zeigt das Trainingsprogramm den Trainingstext dem Benutzer an und der Benutzer liest den angezeigten Text. Während der Benutzer liest, verwendet der Erkenner 215 die Trainingsgrammatik, um eine Folge von Äußerungen des Benutzers mit aufeinanderfolgenden Teilen des Trainingstextes in Übereinstim mung zu bringen. Wenn der Erkenner 215 keinen Erfolg hat, fordert das Trainingsprogramm den Benutzer dazu auf, gewisse Passagen des Textes zu wiederholen. Der Erkenner benutzt akustische Informationen aus den Äußerungen des Benutzers zum Trainieren oder um die akustischen Modelle 235 anzupassen, die den übereinstimmenden Teilen des Trainingstextes entsprechen.
  • In dem nicht interaktiven Modus liest der Benutzer den Text ohne Aufforderungsmeldungen vom Computer. Dieses bietet den erheblichen Vorteil, dass der Benutzer, zusätzlich zum Lesen von durch den Computer angezeigten Text, von einem gedruckten Text unabhängig vom Computer lesen kann. Der Benutzer könnte also den Trainingstext in ein tragbares Aufnahmegerät einlesen und die aufgenommene Informationen später zur Verarbeitung durch den Erkenner auf den Computer herunterladen. Außerdem muss der Benutzer nicht jedes Wort des Trainingstextes lesen und kann Wörter oder Absätze nach Wunsch auslassen. Der Benutzer kann auch Teile des Textes wiederholen. Dies gibt dem Trainingsvorgang große Flexibilität.
  • Das Trainingsprogramm kann eine Liste von Trainingstexten zur Auswahl des Benutzers bereitstellen, von denen jeder eine entsprechende Trainingsgrammatik aufweist. Als Alternative kann der Benutzer einen Trainingstext von einer anderen Quelle eingeben. In diesem Fall kann das Trainingsprogramm die Trainingsgrammatik von dem Eingabe-Trainingstext erzeugen oder kann eine vorher erzeugte Trainingsgrammatik verwenden.
  • Das Steuer-/Schnittstellenmodul 220 führt auch Fehlerkorrektur- und Cursor-/Positionsveränderungsprozeduren der Software 160 durch. Die Fehlerkorrekturprozedur schließt einen „Mach daraus"-Befehl und einen „Buchstabiere das"-Befehl ein. Cursor-/Positionsveränderungsprozeduren schließen den oben erwähnten „Wähle"-Befehl und Variationen desselben (z. B. „Wähle [Start] bis [Ende]"), „Einfügen vor/nach"-Befehle und einen „Weitermachen bei"-Befehl ein.
  • Während der Fehlerkorrektur beginnen Wortsuchen in den Backup-Vokabularen mit dem benutzerspezifischen Backup-Wörterbuch und prüfen dann das systemweite Backup-Wörterbuch. Die Backup-Wörterbücher werden auch durchsucht, wenn es in einem Text neue Wörter gibt, den der Benutzer getippt hat.
  • Wenn das System einen Erkennungsfehler macht, kann der Benutzer einen geeigneten Korrekturbefehl aufrufen, um den Fehler zu beheben. 4A bis 4N veran schaulichen eine von dem Steuer-/Schnittstellenmodul 220 in Reaktion auf eine Folge von Text mit Befehlen dazwischen bereitgestellte Benutzerschnittstelle. Wie in 4A gezeigt, erkennt der Erkenner 215 korrekt eine erste Äußerung 1300 („When a justice needs a friend Absatz") und das Steuer-/Schnittstellenmodul 220 zeigt die Ergebnisse 1305 („When a justice needs a friend") des Erkennens der Äußerung in einem Diktatfenster 1310 an. Das Modul 220 zeigt den einem Textteil der Äußerung entsprechenden Text 1305 („When a justice needs a friend") an und führt den in der Äußerung enthaltenen Formatierungsbefehl („Absatz") durch.
  • Der Erkenner 215 erkennt eine zweite Äußerung 1315 („There are two kinds of legal kibitzers") falsch, indem er das Wort „kibitzers" falsch als „cancers" erkennt. Das Steuer-/Schnittstellenmodul 220 zeigt dieses falsche Ergebnis 1316 („There are two kinds of legal cancers") im Diktatfenster 1310 an. Das Steuer-/Schnittstellenmodul zeigt auch die Ergebnisse der Erkennung der aktuellen Äußerung, die in diesem Fall die zweite Äußerung ist, in einem Anzeigefeld 1320 am unteren Rand des Fensters 410 an.
  • Wie in 4B gezeigt, korrigiert der Benutzer die falsche Erkennung, indem er das Wort „cancers" mit der Maus 110 auswählt und sagt „Buchstabier das k i b i". Das Steuer-/Schnittstellenmodul reagiert auf die Erkennung des „Buchstabier das"-Befehls, indem es ein Korrekturdialogfenster 1325 anzeigt, wie in 4B gezeigt. Das Fenster 1325 zeigt eine nummerierte Liste von Wörtern 1327 an, die mit den genannten Buchstaben („kibi") beginnt. Anstatt die Maus 110 zu verwenden, um das Wort „cancer" auszuwählen, hätte der Benutzer auch das Wort verbal mittels eines „Wähle"-Befehls auswählen können, indem er „Wähle cancer" gesagt hätte. Ebenso hätte der Benutzer anstatt „Buchstabier das k i b i" zu sagen, die Buchstaben „k i b i" eintippen können.
  • Der Benutzer wählt das korrekte Wort 1327 („kibitzers"), indem er „Wähle 4" sagt, wobei „kibitzers" das vierte Wort auf der Auswahlliste ist. Wie in 4C gezeigt, reagiert das Steuer-/Schnittstellenmodul 220 durch Ersetzen des falschen Wortes („cancers") mit dem im Diktatfenster 1310 ausgewählten Wort 1327.
  • Nochmal mit Bezug auf 4B enthält das Korrekturdialogfenster 1325 einen „Train"-Schalter 1328. Wenn der Benutzer diesen Schalter drückt, reagiert das Steuer-/Schnittstellenmodul, indem er den Benutzer durch eine Trainingssitzung leitet, um von dem Benutzer ein oder mehrere Proben des Wortes oder der Wörter zu erhalten, die trainiert werden sollen. Der Erkenner verwendet diese Proben, um die akustischen Modelle für die Wörter an die Sprechmuster des Benutzers anzupassen.
  • Wie in 4D gezeigt, erkennt der Erkenner 215 als nächstes eine dritte Äußerung 1329 („those who pronounce amicus") falsch, und das Steuer-/Schnittstellenmodul 220 reagiert, indem es den falschen Text 1330 („those who Brown to meet this") in das Diktatfenster 1310 einfügt. Wie in 4E gezeigt, veranlasst der Benutzer das Steuer-/Schnittstellenmodul 220 dazu, das Korrekturdialogfenster 1325 zu erzeugen, indem er den „Korrigiere das"-Befehl 1331 sagt. Die Korrekturdialogbox 1310 enthält eine Liste 1332 von Erkennungskandidaten für die gesamte Äußerung 1333. Obwohl das Dialogfenster 1325 nur die Wiedergabe von 10 Erkennungskandidaten gleichzeitig erlaubt, kann die Liste 1332 selbst mehr als 10 Einträge enthalten. Auf zusätzliche Einträge kann mit Hilfe eines Scroll-Balkens 1333 zugegriffen werden.
  • Wie in 4F gezeigt, wählt der Benutzer das Wort „Brown" 1333 mit der Maus 110 aus. Wie oben angemerkt, könnte der Benutzer das Wort „Brown" auch mit dem Sprechbefehl „Wähle Brown" auswählen. Wie in 4G gezeigt, sagt der Benutzer dann „p r o n" 1340, um anzuzeigen, dass das Wort „Brown" durch ein Wort ersetzt werden soll, welches mit den Buchstaben „pron" beginnt. Der Benutzer könnte das gleiche Ergebnis erzielen, indem der die Buchstaben „pron" eintippt. Das Steuer-/Schnittstellenmodul 220 reagiert, indem es eine aktualisierte Liste 1341 von Erkennungskandidaten erzeugt, wobei jeder Erkennungskandidat an der Position, die vorher das Wort „Brown" eingenommen hat, ein Wort enthält, das mit „pron" beginnt. Jeder der Erkennungskandidaten enthält die korrekt erkannten Wörter, die vor „Brown" kamen („those who") und die Worte, die „Brown" folgten („to meet this").
  • Wie in 4H gezeigt, wählt der Benutzer den Erkennungskandidaten 1345, der das Wort „pronounce" enthält, indem er die Maus benutzt, um den dritten Eintrag auf der Liste auszuwählen. Der Benutzer könnte das gleiche Ergebnis erzielen, indem er „Wähle 3" sagt.
  • Wie in 4I gezeigt, verwendet der Benutzer dann die Maus, um die Worte „to meet this" 1350 auszuwählen. Wie in 4J gezeigt, tippt der Benutzer die Buchstaben „amicu", und das Steuer-/Schnittstellenmodul 220 reagiert, indem es eine ak tualisierte Liste 1351 von Erkennungskandidaten erzeugt, die mit den Wörtern „those who pronounce" beginnen und ein Wort enthalten, welches mit den Buchstaben „amicu" beginnt. Ein Eintrag 1352 der Liste enthält eine Phrase „amicus curiae", die mit dem Buchstaben „amicu" beginnt. Da der erste Eintrag 1353 der korrekte Eintrag ist, klickt der Benutzer auf einen „OK"-Schalter 1354 am unteren Rand des Korrekturdialogfensters 1325. Wie in 4K gezeigt, reagiert das Steuer-/Schnittstellenmodul 220, indem es die korrekte Version 1355 der Äußerung in das Diktatfenster 1310 einfügt. Wie oben diskutiert, werden alle Korrekturschritte für eine Äußerung innerhalb des gleichen Korrekturdialogfensters 1325 durchgeführt.
  • Wie in 4L gezeigt, erkennt der Erkenner 215 als nächstes eine Äußerung 1360 („each submits a brief as an outsider") falsch, und das Steuer-/Schnittstellenmodul 220 reagiert, indem es den falschen Text 1361 („Each submits a brief is an outsider") in das Diktatfenster 1310 einfügt. 4L zeigt auch ein weiteres Merkmal der Schnittstelle. Wenn eine Äußerung erkannt wird, kann das Steuer-/Schnittstellenmodul 220 einen teilweisen Erkennungskandidaten 1365 für die Äußerung anzeigen. Dieser teilweise Kandidat stellt die Hypothese für die Äußerung mit der besten Punktzahl zu einem Zeitpunkt dar, bevor der Erkenner mit der Verarbeitung der Äußerung fertig ist. Eine Anzeige des teilweisen Kandidaten ist für lange Äußerungen nützlich, die eine längere Zeit zur Verarbeitung benötigen. Wie in 4M gezeigt, veranlasst der Benutzer das Steuer-/Schnittstellenmodul 220 nochmal, das Korrekturdialogfenster 1325 zu erzeugen, indem er den „Korrigier das"-Befehl 1331 sagt. Das Korrekturdialogfenster 1325 enthält eine Liste 1370 von Erkennungskandidaten für die gesamte Äußerung 1331. Da der Text der Äußerung 1360 als zweiter Eintrag 1372 auf der Liste 1370 erscheint, wählt der Benutzer den Text, indem er sagt „Wähle 2". Wie in 4N gezeigt, reagiert das Steuer-/Schnittstellenmodul 220, indem es den Text 1372 in das Dialogfenster 1310 einsetzt.
  • Mit Bezug auf 5A kann das Steuer-/Schnittstellenmodul 220 Erkennungsergebnisse gemäß einem Verfahren 1400 verarbeiten. Zuerst empfängt das Steuer-/Schnittstellenmodul 220 von dem Erkenner 215 Erkennungsergebnisse für eine Äußerung (Schritt 1405). Wenn die Spracherkennungssoftware nicht im Korrekturmodus arbeitet (d. h. das Korrekturdialogfenster 1325 ist nicht angezeigt) (Schritt 1405), bestimmt das Steuer-/Schnittstellenmodul, ob der Erkennungskandidat mit der höchsten Punktzahl nur Text enthält (1410). Wenn dem so ist, verarbeitet das Steuer-/Schnittstellenmodul den Text (Schritt 1415). Z. B. kann das Steuer-/Schnittstellenmodul den Text in ein Diktatfenster 1310 einfügen.
  • Wenn der Erkennungskandidat mit der höchsten Punktzahl etwas anderes als Text enthält (Schritt 1410), bestimmt das Steuer-/Schnittstellenmodul, ob der Kandidat einen Korrekturbefehl enthält (Schritt 1420). Korrekturbefehle aktivieren das Korrekturdialogfenster 1325 und enthalten die oben erwähnten „Wähle"-, „Buchstabier das"- und „Korrigier das"-Befehle und einen zusätzlichen Korrekturbefehl, der als „Mach daraus"-Befehl bezeichnet wird.
  • Wenn der Erkennungskandidat mit der höchsten Punktzahl keinen Korrekturbefehl (Schritt 1420) enthält, verarbeitet das Steuer-/Schnittstellenmodul jeden anderen in dem Erkennungskandidaten mit der höchsten Punktzahl enthaltenen Befehl (Schritt 1425). Wie in 4A gezeigt, verarbeitet das Steuer-/Schnittstellenmodul z. B., wenn der Erkennungskandidat mit der höchsten Punktzahl Text und einen Formatierungsbefehl wie z. B. Absatz enthält, den Textabschnitt des Kandidaten und führt den Formatierungsbefehl aus.
  • Wenn der Erkennungskandidat mit der höchsten Punktzahl einen Korrekturbefehl (Schritt 1420) enthält, zeigt das Steuer-/Schnittstellenmodul das Korrekturdialogfenster 1425 an (Schritt 1430) und geht in den Korrekturmodus (Schritt 1435).
  • Als nächstes verarbeitet das Steuer-/Schnittstellenmodul den Erkennungskandidaten mit der höchsten Punktzahl als einen Korrekturbefehl (Schritt 1440). Das Steuer-/Schnittstellenmodul behandelt den Erkennungskandidaten mit der höchsten Punktzahl auch als einen Korrekturbefehl, wenn die Software bereits im Korrekturmodus arbeitet, wenn die Erkennungsergebnisse empfangen werden (d. h., wenn das Korrekturdialogfenster bereits angezeigt wird).
  • Im allgemeinen reagiert das Steuer-/Schnittstellenmodul auf Korrekturbefehle, indem es eine Auswahlliste in dem Korrekturdialogfenster 1325 anzeigt. Bei dem „Korrigier das"-Befehl enthält die Auswahlliste die vom Erkenner 215 gelieferten Erkennungskandidaten, wenn kein Abschnitt des Erkennungskandidaten mit der höchsten Punktzahl vorher mit der Maus 110, der Tastatur 115 oder dem „Wähle"-Befehl ausgewählt worden ist, wobei die Kandidaten entsprechend ihrer Punktzahlen geordnet sind. Wenn ein Abschnitt des Erkennungskandidaten mit der höchsten Punktzahl vor her ausgewählt wurde, enthält die Auswahlliste Versionen des ursprünglichen Erkennungskandidaten, bei denen der ausgewählte Abschnitt jeweils unterschiedlich ist. Diese Versionen des ursprünglichen Kandidaten können dadurch erzeugt werden, dass der Erkenner 215 eine Wieder-Erkennung der Äußerung unter Verwendung einer Beschränkungsgrammatik durchführt, die nur zulässt, dass sich der ausgewählte Abschnitt des ursprünglichen Kandidaten vom ursprünglichen Kandidaten unterscheidet.
  • Ebenso enthält die Auswahlliste beim „Buchstabier das"-Befehl nur Einträge, die mit den Buchstaben beginnen, die auf das „Buchstabier das" in dem „Buchstabier das"-Befehl folgen, wenn kein Abschnitt des Erkennungskandidaten vorher ausgewählt wurde. Wenn ein Abschnitt des ursprünglichen Kandidaten vorher ausgewählt wurde, enthält die Auswahlliste Versionen des ursprünglichen Kandidaten, in welchen der ausgewählte Abschnitt mit den im „Buchstabier das"-Befehl zur Verfügung gestellten Buchstaben beginnt.
  • Der „Mach daraus"-Befehl enthält die Worte „Mach daraus", gefolgt von einem oder mehreren Austauschwörtern. Wenn kein Abschnitt des ursprünglichen Kandidaten vorher ausgewählt worden ist, dann enthält die Auswahlliste Einträge entsprechend der Erkennung der Austauschwörter, so dass der gesamte ursprüngliche Kandidat durch die Austauschwörter ersetzt wird. Als Alternative könnte die Software automatisch einen Teil des ursprünglichen Kandidaten identifizieren, der durch die Austauschwörter ersetzt werden soll, und Erkennungskandidaten auflisten, die verschiedene Versionen dieses Abschnitts enthalten. Wenn ein Abschnitt des ursprünglichen Kandidaten vorher ausgewählt wurde, dann enthält die Auswahlliste Versionen des ursprünglichen Kandidaten, in welchem der ausgewählte Abschnitt durch verschiedene Erkennungskandidaten für die Austauschwörter ersetzt worden ist.
  • Nach der Verarbeitung des Erkennungskandidaten mit der höchsten Punktzahl (Schritt 1440) bestimmt das Steuer-/Schnittstellenmodul, ob der in dem Kandidaten enthaltene Befehl die Korrektursitzung (Schritt 1445) vollendet hat. Wenn dem so ist, beendet das Steuer-/Schnittstellenmodul den Korrekturmodus und entfernt das Korrekturdialogfenster (Schritt 1450). In jedem Fall wartet das Steuer-/Schnittstellenmodul dann auf den Empfang der nächsten Reihe von Erkennungskandidaten (Schrit 1400). Das Steuer-/Schnittstellenmodul wartet auch auf diesen Emp fang, nachdem es einen Nur-Text-Kandidaten (Schritt 1415) oder einen Kandidaten verarbeitet hat, der keine Korrekturbefehle enthält (Schritt 1425).
  • Wie oben angemerkt, kann der Benutzer dazwischen wählen, ein korrektes Wort oder korrekte Wörter mittels des „Mach daraus"-Befehls zu sprechen, oder ein korrektes Wort oder einen Wortabschnitt mittels des „Buchstabier das"-Befehls verbal zu buchstabieren. Wenn der Benutzer den „Mach daraus"-Befehl aufruft, führt der Erkenner 215 Spracherkennung mit der Äußerung durch, die den Befehl enthält, und gibt die Ergebnisse in Form einer Liste von geordneten Gruppen von Phonemen (d. h. Erkennungskandidaten) zurück. Der Erkennungskandidat für „Mach daraus Apple" könnte z. B. die Phoneme enthalten, die „Mach daraus a pull" entsprechen, während der zweite Erkennungskandidat die Phoneme enthalten könnte, die „Mach daraus apple" entsprechen.
  • Das Steuer-/Schnittstellenmodul 220 kann die Liste der vom Erkenner 215 bereitgestellten Erkennungskandidaten erweitern, indem es Übereinstimmungen mit „verwechselter Aussprache" für die dem „Mach daraus" folgenden Phoneme in jedem der Erkennungskandidaten findet. Verwechselte Aussprache basiert auf der Beobachtung, dass Phoneme mit ähnlichen Eigenschaften oft miteinander verwechselt werden. Das Steuer-/Schnittstellemodul 220 erzeugt dann eine Liste von Wörtern, die den Ergebnissen mit verwechselter Aussprache entsprechen, und verwendet diese Wörter, um die Auswahlliste in dem Korrekturdialogfenster 1325 zu füllen.
  • Die Software 160 kann auch so konfiguriert sein, dass der „Mach daraus" Befehl und der „Buchstabier das"-Befehl keine Korrekturdialogfenster benutzen. Wenn die Software so konfiguriert ist, ersetzt das Steuer-/Schnittstellenmodul eine Äußerung, einen ausgewählten Abschnitt einer Äußerung oder einen automatisch bestimmten Abschnitt der Äußerung mit dem Textabschnitt des Ergebnisses mit der höchsten Punktzahl des „Mach daraus"- oder „Buchstabier das"-Befehls. Das Steuer-/Schnittstellenmodul kann das Ersetzen durchführen, indem es den Erkenner 215 anweist, eine Wieder-Erkennung der Äußerung mit einer Beschränkungsgrammatik durchzuführen, welche die Bedingung stellt, dass die Ergebnisse der Wieder-Erkennung einen Eintrag von der Liste enthalten.
  • Wenn der Benutzer den „Buchstabier das"-Befehl aufruft, erkennt der Erkenner 215 die Schreibweise des Worts in dem Kontext einer Buchstabier-Beschränkungs grammatik, die nur die Erkennung von Buchstaben erlaubt. Die vom Erkenner gelieferten Erkennungskandidaten sind in der Form einer Liste von geordneten Gruppen von Buchstaben, wobei jede Gruppe ein wahrscheinliches Erkennungsergebnis für das/den vom Benutzer buchstabierte(n) Wort oder Wortabschnitt ist. Das Steuer-/Schnittstellenmodul kann dann Übereinstimmungen mit „verwechselter Schreibeweise" für die Gruppen von Buchstaben in der Ergebnisliste finden. Die Suche nach Übereinstimmungen mit verwechselter Schreibweise ist ähnlich wie die Suche nach Übereinstimmungen mit verwechselter Aussprache und basiert auf der Beobachtung, dass Buchstaben mit ähnlicher Aussprache oft miteinander verwechselt werden. Die Ergebnisse der Suche nach Übereinstimmungen mit verwechselter Schreibweise werden dann auf die gleiche Weise verwendet wie die Ergebnisse der Suche nach Übereinstimmungen mit verwechselter Aussprache, um vorher falsch erkannten Text zu korrigieren.
  • Im allgemeinen führt das System die Suche nach Übereinstimmungen mit verwechselter Aussprache oder Schreibweise durch, indem es ein Wörterbuch durchsucht. Wenn das zum Korrigieren des vorher falsch erkannten Wortes verwendete Wort im aktiven Vokabular nicht vorhanden ist, hätte der Erkenner 215 nicht vermeiden können, das Wort bei der ursprünglichen Erkennung falsch zu erkennen. Um eine Wiederholung der Falscherkennung zu vermeiden, „aktiviert" das Steuer-/Schnittstellenmodul das Wort vom Backup-Wörterbuch, indem es das Wort dem aktiven Vokabular 230 hinzufügt.
  • Mit Bezug auf 6 implementiert das Steuer-/Schnittstellenmodul 220 Korrekturbefehle gemäß eines Verfahrens 1440. Wenn der Befehl dem „Korrigier das"-Befehl entspricht (Schritt 1500), zeigt das Steuer-/Schnittstellenmodul wie oben beschrieben eine Auswahlliste an (Schritt 1505).
  • Wenn der Befehl nicht dem „Korrigier das"-Befehl entspricht (Schritt 1500), sondern stattdessen dem „Wähle"-Befehl oder einer Abwandlung dieses Befehls entspricht (z. B. „Wähle [Anfang] bis [Ende]") (Schritt 1510), sucht und markiert das Steuer-/Schnittstellenmodul das Wort oder die Worte, die durch den „Wähle"-Befehl identifiziert worden sind (Schritt 1515). Beim normalen „Wähle"-Befehl markiert das Modul das Wort oder die Worte, die auf „Wähle" folgen. Ebenso markiert das Modul bei dem „Wähle" [Anfang] bis [Ende]"-Befehl den Textblock, der mit dem Wort be ginnt, das „[Anfang]" entspricht und mit dem Wort endet, das „[Ende]" entspricht. Diese Wörter werden von dem Erkenner 215 durch die Ausführung einer Beschränkungsgrammatik identifiziert, die dem erweiterten „Wähle"-Befehl entspricht, der folgendermaßen ausgedrückt werden kann:
    <Erkennungsergebnis> ∷= Wähle
    [<Wörter>]¦
    [<Wörter> bis <Wörter> {geordnet}]¦
    [Von <Wörter> bis <Wörter> {geordnet}]¦
    [Von <Wörter> bis <Wörter> {geordnet}]¦
    [Das]¦
    [Wiederhole],
    wobei
    <Wörter> ∷= [PRW1[PRW2[PRW3 ... PRWn]]]¦
    [PRW2[PRW3 ... PRWn]]¦ ... [PRWn], und
    "PRWi" das vorher erkannte Wort i ist.
  • Im allgemeinen zieht der Befehl alle vorher erkannten Wörter in Erwägung, die auf der Anzeige 120 angezeigt werden.
  • Die dargestellte Beschränkungsgrammatik enthält einen „Wähle [Wort(Wörter)]"-Befehl, einen „Wähle [Anfang] bis [Ende]"-Befehl, einen „Wähle von [Anfang] bis [Ende]"-Befehl, einen „Wähle von [Anfang] bis [Ende]"-Befehl, einen „Wähle das"-Befehl und einen „Wähle noch einmal"-Befehl. Andere Abwandlungen könnten auch vorgesehen sein.
  • Die Notation {geordnet} zeigt an, dass die Wörter im ersten Beispiel von <Wörtern> in dem Befehl im Text vor den Wörtern im zweiten Beispiel von <Wörtern> erscheinen. Die Verwendung von {geordnet} in der Beschränkungsgrammatik bringt erhebliche Einsparungen in der Verarbeitung im Vergleich zu einer Methode, die verlangt, dass das zweite Beispiel von <Wörtern> sich in Abhängigkeit von den im ersten Beispiel enthaltenen Wörtern unterscheidet. Der {geordnet} Operator kann dadurch implementiert werden, dass beide Beispiele von <Wörtern> irgendwelche Wör ter aus dem vorher erkannten Text enthalten dürfen, und jegliche Hypothese verworfen wird, die ungeordnete Ergebnisse enthält (d. h. Ergebnisse, in denen das „Anfangs"-Wort auf das „End"-Wort des auszuwählenden Blocks folgt). Die Beschränkungsgrammatik verwendet also Positionsinformationen, um unsinnige Ergebnisse zu verwerfen.
  • Der „Wähle das"-Befehl ermöglicht einen schnellen und effizienten Weg, um die vorhergehende Äußerung des Benutzers auszuwählen und zu markieren. Insbesondere markiert das Steuer-/Schnittstellenmodul in Reaktion auf den „Wähle das"-Befehl die Wörter, die der vorhergehenden Äußerung entsprechen.
  • Der „Wähle noch einmal"-Befehl ermöglicht einen schnellen und effizienten Weg, um ein bestimmtes Auftreten eines Worts auszuwählen, wenn ein Wort viele Male in einem Abschnitt vorkommt. Wenn das Wort „Sprache" z. B. dreimal in dem auf dem Bildschirm angezeigten Text vorgekommen ist, und das System das erste Auftreten markiert hat (oder einen Abschnitt, der mit dem ersten Auftreten beginnt oder endet), könnte der Benutzer zum nächsten Auftreten springen, indem er sagt „Wähle noch einmal". Benutzerwählbare Parameter können dazu verwendet werden, festzulegen, ob der „Wähle"-Befehl nach Auftreten des Wortes vor oder nach der Cursor-Position sucht.
  • Beim Erzeugen von Hypothesen, die dem „Wähle"-Befehl entsprechen, kann der Erkenner 215 so konfiguriert sein, dass er Homophonen die gleiche Punktzahl gibt. D. h., wenn der angezeigte Text die Wörter „Triphones" und die Phrase „try phones" enthält, würde der Erkenner die Punktzahl desjenigen der beiden Elemente mit der höchsten Punktzahl dazu verwenden, Hypothesen zu erzeugen, die jedes der beiden Elemente enthalten.
  • Die Beschränkungsgrammatik für <Wörter> kann schrittweise aktualisiert werden, während sich der angezeigte Text verändert. Wenn z. B. Text durch Blättern am oberen Ende der Anzeige verschwindet und neuer Text am unteren Ende der Anzeige hinzukommt, kann der verschwundene Text vom Anfang der Grammatik entfernt werden, während der neue Text dem Ende der Grammatik hinzugefügt wird.
  • Die Ergebnisse des „Wähle"-Befehls können auch durch Verwendung der Maus 110 oder der Tastatur 115 erreicht werden, um einen gewünschten Abschnitt der Äußerung auszuwählen.
  • Wenn der Befehl nicht dem „Korrigier das"-Befehl (Schritt 1500) oder dem „Wähle"-Befehl (Schritt 1510) entspricht, stellt das Steuer-/Schnittstellenmodul fest, ob der Befehl dem „Mach daraus"-Befehl (Schrit 1520) entspricht. Der Erkenner 215 identifiziert den „Mach daraus"-Befehl mittels einer Beschränkungsgrammatik, die der Beschränkungsgrammatik für den „Wähle"-Befehl ähnlich ist. Insbesondere erfordert die Beschränkungsgrammatik, dass die Wörter „Mach daraus" von einem oder mehreren Wörtern aus dem Erkennungsvokabular gefolgt werden. Diese Beschränkungsgrammatik kann ausgedrückt werden als:
    <Erkennungsergebnis> ∷ Mach daraus <Phoneme>,
    wobei
    <Phoneme> ∷= <Phoneme> <Phonem>
    und
    <Phonem> ein beliebiges gültiges Phonem ist.
  • Wenn der Benutzer den „Mach daraus"-Befehl (Schritt 1520) aufgerufen hat, führt das Steuer-/Schnittstellenmodul ein MACHDARAUS Korrekturverfahren durch (Schritt 1525).
  • Wenn der Befehl nicht dem „Korrigier das"-Befehl entspricht (Schritt 1500), dem „Wähle"-Befehl (Schritt 1510) oder dem „Mach daraus"-Befehl (Schritt 1520), stellt das Steuer-/Schnittstellenmodul fest, ob der Befehl dem „Buchstabier das"-Befehl entspricht (Schritt 1530). Der Erkenner 215 identifiziert den „Buchstabier das"-Befehl unter Verwendung der folgenden Beschränkungsgrammatik:
    <Erkennungsergebnis> ∷= Buchstabier das <Buchstaben>,
    wobei
    <Buchstaben> ∷= <Buchstaben> <Buchstabe>
    und
    <Buchstabe> jeglicher Buchstabe des Alphabets ist.
  • Wenn der Benutzer den „Buchstabier das"-Befehl (Schritt 1530) aufgerufen hat, führt das Steuer-/Schnittstellenmodul die BUCHSTABIERDAS Korrekturprozedur (Schritt 1535) durch. Von dem Dialogfenster aus kann der Benutzer auch den „Buchstabier das"-Befehl aufrufen, indem er eine Reihe von Buchstaben eintippt oder spricht.
  • Nachdem das Steuer-/Schnittstellenmodul einen der MACHDARAUS (Schritt 1525) oder BUCHSTABIERDAS (Schritt 1535) Korrekturprozeduren durchgeführt hat, führt es eine Prozedur namens SUCHE&ERSETZE (Schritt 1540) durch. Diese Prozedur ersetzt einen Teil des vorher erkannten Textes mit Text, der von den MACHDARAUS oder BUCHSTABIERDAS Korrekturprozeduren erzeugt worden ist. Kurz gesagt, wenn ein Teil einer Äußerung mittels des „Wähle"-Befehls oder anderer Mittel ausgewählt worden ist, weist das Steuer-/Schnittstellenmodul 220 den Erkenner 215 an, eine Wieder-Erkennung durchzuführen, um das ausgewählte Wort oder die ausgewählten Wörter zu ersetzen. Wenn keine Auswahl gemacht worden ist, ersetzt das Steuer-/Schnittstellenmodul entweder die gesamte Äußerung mit Text, der von den MACHDARAUS oder BUCHSTABIERDAS Korrekturprozeduren erzeugt worden ist, oder es erkennt Sprach-Frames für die vorher erkannten Wörter, um ein Wort oder Wörter in den vorherigen Erkennungsergebnissen zu ersetzen.
  • Wenn der Korrekturbefehl der „Wähle N"-Befehl (Schritt 1545) ist, wählt das Steuer-/Schnittstellenmodul den Eintrag „N" von der im Korrekturdialogfenster 1325 angezeigten Liste (Schritt 1550) und zeigt an, dass die Korrektur fertig ist (Schritt 1555). Wenn der Korrekturbefehl „OK" oder eine andere bejahende Antwort (Schritt 1560) ist, wählt das Steuer-/Schnittstellenmodul den obersten Eintrag in der Korrekturdialogbox 1325 aus (Schritt 1565) und zeigt an, dass die Korrektur fertig ist (Schritt 1555).
  • 5B veranschaulicht eine vom Steuer-/Schnittstellenmodul verwendete Prozedur zum Durchführen von Befehlen zur Cursor-/Positionsveränderung und anderen im Erkennungskandidaten mit der höchsten Punktzahl enthaltenen Befehlen (Schritt 1425). Besondere in 5B dargestellte Befehle sind ein „Einfügen vor"-Befehl, ein „Einfügen nach"-Befehl und ein „Weitermachen bei"-Befehl.
  • Wenn der Befehl ein „Einfügen vor"-Befehl ist (Schritt 1455), bewegt das Modul die Cursor-/Aktionsposition auf eine Position, die vor dem im Befehl identifizier ten Text liegt (Schritt 1460). Wenn der Befehl ein „Einfügen nach"-Befehl ist (Schritt 1460), bewegt das Modul die Cursor-/Aktionsposition auf eine Position, die auf den im Befehl angegebenen Text folgt (Schritt 1470).
  • Die „Einfügen vor/nach"-Befehle liefern dem Benutzer einen einfachen Weg, sich zu einer gewünschten Position im Text zu bewegen. Der Erkenner 215 identifiziert diese Befehle mittels einer „Einfügen" Beschränkungsgrammatik, die folgendermaßen ausgedrückt werden kann:
    <Erkennungsergebnis> ∷= Einfügen
    [Vor <Wörter>]¦
    [Nach <Wörter>]¦
    [Davor]¦
    [Danach], wobei
    <Wörter> ∷= [PRW1[PRW2[PRW3 ... PRWn]]]¦
    [PRW2[PRW3 ... PRWn]]¦ .... [PRWn], und
    „PRWi" das vorher erkannte Wort i ist.
  • Die „Einfügen davor"- und „Einfügen danach"-Befehle ermöglichen eine einfache und effiziente Art, sich zum Anfang oder Ende einer vorherigen Äußerung des Benutzers oder zu einer vorherigen Auswahl des Benutzers zu bewegen. Wenn der Benutzer keinen vorher ausgewählten Text hat, reagiert das Steuer-/Schnittstellenmodul auf diesen Befehl, indem es die Cursor-/Aktionsposition an einen Ort vor bzw. nach der vorherigen Äußerung bewegt. Wenn ein Benutzer also vernachlässigt hat, ein Wort an den Anfang einer Äußerung zu setzen, könnte der Benutzer sagen: „Einfügen davor", um zum Anfang der Äußerung zu springen. Nachdem er das fehlende Wort gesprochen hat, könnte der Benutzer sagen „Einfügen danach", um zurück an das Ende der Äußerung zu springen.
  • Wenn der Benutzer vorher ausgewählten Text hat, reagiert das Steuer-/Schnittstellenmodul auf den „Einfügen davor/danach"-Befehl, indem es die Cursor-/Aktions position an eine Position vor oder nach der Auswahl bewegt. Der Benutzer könnte also eine Passage auswählen, indem er z. B. sagt: „Wähle [Anfang] bis [Ende]" und könnte man zum Anfang der Passage springen, indem er sagt „Einfügen davor".
  • Wenn der Befehl ein „Weitermachen bei" ist (1475), sucht das Modul das Wort oder die Wörter im Text, die durch den Befehl angegeben sind und mit dem Text überlappen (Schritt 1480) und ersetzt jeglichen folgenden Text mit dem Wort oder den Wörtern, die im Befehl angegeben sind (Schritt 1485). Wenn der Benutzer also gesagt hat „Today, I saw a giraffe at the zoo" gefolgt von „weitermachen bei saw an elephant at the circus", würde das Modul das System dazu veranlassen, anzuzeigen „Today, I saw an elephant at the circus". In diesem Beispiel würde „saw" das überlappende Wort sein.
  • Ebenso würde, wenn der Benutzer es gesagt hätte „Today, I saw a giraffe at the zoo PUNKT" gefolgt von „The giraffe had a long neck PUNKT" gefolgt von „Weitermachen bei saw an elephant at the circus", das Modul das System zu veranlassen, anzuzeigen „Today, I saw an elephant at the circus. D. h., der größte Teil des ersten Satzes und der gesamte zweite Satz des ursprünglichen Diktats würden durch den Text „Weitermachen bei"-Befehl überschrieben. Wie aufgezeigt ist, kann der „Weitermachen bei"-Befehl dazu benutzt werden, mehrere Äußerungen zu überschreiben. In einigen Implementierungen muss der Benutzer eine kurze Pause machen, bevor er den „Weitermachen bei"-Befehl auspricht. In anderen Implementierungen ist dies nicht erforderlich.
  • Der „Weitermachen bei"-Befehl ist nicht auf die Wiedergabe von Informationen auf der Anzeige angewiesen. Aus diesem Grund ist der Befehl besonders nützlich, wenn der Benutzer Sprache mittels einer tragbaren Aufnahmeeinrichtung aufnimmt, wie z. B. einem analogen oder digitalen Recorder, und die aufgenommene Sprache anschließend zur Verarbeitung auf das Spracherkennungssystem überträgt. In diesem Kontext stellt der „Weitermachen bei"-Befehl dem Benutzer einen einfachen und effizienten Weg zum Umlenken des Diktats und zum Löschen von fälschlicherweise gesprochenen Wörtern zur Verfügung.
  • Der Erkenner 215 identifziert den „Weitermachen bei"-Befehl mittels einer „Weitermachen bei" Beschränkungsgrammatik, welche folgendermaßen ausgedrückt werden kann:
    Figure 00270001
    wobei
    <Wörter> ∷= [PRW1[PRW2[PRW3 ... PRWn]]]¦
    [PRW2[PRW3 ... PRWn]]¦ ... [PRWn],
    "PRWi" ist das vorher erkannte Wort i, und
    <Neuewörter> ∷= jegliches) Wort oder Wortsequenz aus dem aktiven Vokabular.
  • Wenn der Befehl nicht ein „Einfügen"-Befehl oder ein „Weitermachen bei"-Befehl ist, verarbeitet das Modul den Befehl dementsprechend (Schritt 1490).
  • Andere Ausführungsformen sind von den folgenden Ansprüchen umfasst. Zum Beispiel sind die hier beschriebenen Methoden nicht auf irgendeine bestimmte Hardware- oder Softwarekonfiguration beschränkt; sie können in jeglicher Computer- oder Verarbeitungsumgebung angewendet werden, die für Spracherkennung verwendet werden kann. Die Methoden können als Hardware oder Software, oder als Kombination aus beiden implementiert sein. Vorzugsweise sind die Methoden in Computerprogrammen implementiert, die auf programmierbaren Computern ausgeführt werden, die jeweils einen Prozessor, ein vom Prozessor lesbares Speichermedium (einschließlich flüchtiger und nicht flüchtiger Speicherelemente), wenigstens eine Eingabevorrichtung und wenigstens eine Ausgabevorrichtung enthalten. Auf die mit der Eingabevorrichtung eingehenden Daten wird Programmcode angewandt, um die beschriebenen Funktionen durchzuführen und Ausgabeinformationen zu erzeugen. Die Ausgabeinformationen werden an eine oder mehrere Ausgabevorrichtungen abgegeben.
  • Jedes Programm ist vorzugsweise in einer höheren prozessualen oder objektorientierten Programmiersprache implementiert, um mit einem Computersystem zu kommunizieren. Die Programme können jedoch auch in Assembly oder Maschinensprache implementiert sein, wenn dies gewünscht wird. In jedem Fall kann die Sprache eine Compiler- oder eine Interpretersprache sein.
  • Jedes derartige Computerprogramm wird vorzugsweise auf einem Speichermedium oder einer Speichervorrichtung (z. B. CD-ROM, Festplatte oder magnetische Diskette) gespeichert, die von einem allgemeinen oder spezialisierten programmierbaren Computer lesbar ist, um den Computer zu konfigurieren und zu betreiben, wenn das Speichermedium oder die Speichervorrichtung vom Computer gelesen wird, um die in diesem Dokument beschriebenen Prozeduren durchzuführen. Das System kann auch als ein computerlesbares Speichermedium implementiert sein, das mit einem Computerprogramm konfiguriert ist, wobei das Speichermedium so konfiguriert ist, dass es einen Computer dazu veranlasst, auf eine besondere und vorbestimmte Art zu arbeiten.

Claims (14)

  1. Verfahren (1400) zum Verändern einer Aktionsposition in computerimplementierter Spracherkennung, umfassend: Empfangen von Daten, die einen gesprochenen Befehl (1420) darstellen, wobei der Befehl einen Befehls-Identifizierer und eine Bestimmung enthält, die wenigstens ein vorher gesprochenes Wort umfasst; Ausführen von Spracherkennung mit den Daten, um den Befehls-Identifizierer und die Bestimmung (1405, 1455, 1465, 1475) zu identifizieren; und gekennzeichnet durch Festlegen einer Aktionsposition, an der eine Aktion durchgeführt werden soll, basierend auf dem Befehls-Identifizierer (1460, 1470, 1480), wobei die Aktionsposition relativ zu dem wenigstens einen vorher gesprochenen Wort ist.
  2. Verfahren nach Anspruch 1, wobei der Befehls-Identifizierer anzeigt, dass die Aktionsposition vor dem wenigstens einen vorher gesprochenen Wort sein soll, und wobei das Festlegen der Aktionsposition umfasst, die Aktionsposition direkt vor dem wenigstens einen vorher gesprochenen Wort (1460) festzulegen.
  3. Verfahren nach Anspruch 1, wobei der Befehls-Identifizierer „Einfügen vor" umfasst.
  4. Verfahren nach Anspruch 1, wobei der Befehls-Identifizierer anzeigt, dass die Aktionsposition nach dem wenigstens einen vorher gesprochenen Wort sein soll, und wobei das Festlegen der Aktionsposition umfasst, die Aktionsposition direkt nach dem wenigstens einen vorher gesprochenen Wort (1460) festzulegen.
  5. Verfahren nach Anspruch 4, wobei der Befehls-Identifizierer „Einfügen nach" umfasst.
  6. Verfahren nach Anspruch 1, wobei die Bestimmung einen Bestimmungsbegriff umfasst, der eine Vielwort-Äußerung darstellt.
  7. Verfahren nach Anspruch 1, wobei die Bestimmung wenigstens ein neues Wort umfasst, wobei das Verfahren ferner das Ersetzen aller dem wenigstens einen vorher gesprochenen Wort folgenden Worte durch das wenigstens eine neue Wort (1485) umfasst.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Festlegen der Aktionsposition umfasst, die Aktionsposition nach dem wenigstens einen neuen Wort (1470) festzulegen.
  9. Verfahren nach Anspruch 7, wobei der Befehls-Identifizierer „Weitermachen bei" umfasst.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei Empfangen von Daten das Empfangen von Daten umfasst, die durch Aufnehmen des gesprochenen Befehls mit einer physisch von einem Computer, auf dem die Spracherkennung implementiert ist, getrennten Aufnahmeeinrichtung erzeugt worden sind.
  11. Verfahren nach Anspruch 10, wobei die Aufnahmeeinrichtung eine digitale Aufnahmeeinrichtung umfasst, und Empfangen von Daten das Empfangen einer Datei von der digitalen Aufnahmeeinrichtung umfasst.
  12. Verfahren nach Anspruch 10 oder 11, wobei Empfangen von Daten das Empfangen von Signalen umfasst, die durch Abspielen des gesprochenen Befehls mit der Aufnahmeeinrichtung erzeugt werden.
  13. Computer-Software (160) auf einem computerlesbaren Speichermedium (145), welche Anweisungen umfasst, um einen Computer (125) zu veranlassen zum: Empfangen von Daten, die einen gesprochenen Befehl (1420) darstellen, wobei der Befehl einen Befehls-Identifizierer und eine Bestimmung enthält, die wenigstens ein vorher gesprochenes Wort umfasst; Ausführen von Spracherkennung mit den Daten, um den Befehls-Identifizierer und die Bestimmung (1405, 1455, 1465, 1475) zu identifizieren; dadurch gekennzeichnet, dass das System (100) konfiguriert ist zum: Festlegen einer Aktionsposition, an der eine Aktion durchgeführt werden soll, basierend auf dem Befehls-Identifizierer (1460, 1470, 1480), wobei die Aktionsposition relativ zu dem wenigstens einen vorher gesprochenen Wort ist.
  14. Spracherkennungssystem (100) umfassend: eine Eingabeeinrichtung (105, 110, 115, 120) zum Empfangen von Sprachsignalen; und einen Prozessor (130), der konfiguriert ist zum: Empfangen von Daten, die einen gesprochenen Befehl (1420) darstellen, wobei der Befehl einen Befehls-Identifizierer und eine Bestimmung enthält, die wenigstens ein vorher gesprochenes Wort umfasst; Ausführen von Spracherkennung mit den Daten, um den Befehls-Identifizierer und die Bestimmung (1405, 1455, 1465, 1475) zu identifizieren; dadurch gekennzeichnet, dass das System (100) konfiguriert ist zum Festlegen einer Aktionsposition, an der eine Aktion durchgeführt werden soll, basierend auf dem Befehls-Identifizierer (1460, 1470, 1480), wobei die Aktionsposition relativ zu dem wenigstens einen vorher gesprochenen Wort ist.
DE69914131T 1998-06-15 1999-06-15 Positionshandhabung bei der Spracherkennung Expired - Lifetime DE69914131T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/094,611 US6601027B1 (en) 1995-11-13 1998-06-15 Position manipulation in speech recognition
US94611 1998-06-15

Publications (2)

Publication Number Publication Date
DE69914131D1 DE69914131D1 (de) 2004-02-19
DE69914131T2 true DE69914131T2 (de) 2004-11-11

Family

ID=22246158

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69914131T Expired - Lifetime DE69914131T2 (de) 1998-06-15 1999-06-15 Positionshandhabung bei der Spracherkennung

Country Status (4)

Country Link
US (1) US6601027B1 (de)
EP (1) EP0965979B1 (de)
JP (1) JP4444396B2 (de)
DE (1) DE69914131T2 (de)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689416B1 (en) 1999-09-29 2010-03-30 Poirier Darrell A System for transferring personalize matter from one computer to another
JP2001100781A (ja) * 1999-09-30 2001-04-13 Sony Corp 音声処理装置および音声処理方法、並びに記録媒体
AU2180001A (en) * 1999-12-02 2001-06-12 Thomson Licensing S.A. Speech recognition with a complementary language model for typical mistakes in spoken dialogue
US7243069B2 (en) * 2000-07-28 2007-07-10 International Business Machines Corporation Speech recognition by automated context creation
US6836759B1 (en) 2000-08-22 2004-12-28 Microsoft Corporation Method and system of handling the selection of alternates for recognized words
DE60128816T2 (de) * 2000-09-08 2008-02-07 Koninklijke Philips Electronics N.V. Spracherkennungsverfahren mit ersetzungsbefehl
US7085716B1 (en) * 2000-10-26 2006-08-01 Nuance Communications, Inc. Speech recognition using word-in-phrase command
DE10119677A1 (de) * 2001-04-20 2002-10-24 Philips Corp Intellectual Pty Verfahren zum Ermitteln von Datenbankeinträgen
US20030061053A1 (en) * 2001-09-27 2003-03-27 Payne Michael J. Method and apparatus for processing inputs into a computing device
US20090106251A1 (en) * 2001-10-24 2009-04-23 Harris Scott C Web based communication of information with reconfigurable format
US20030130867A1 (en) * 2002-01-04 2003-07-10 Rohan Coelho Consent system for accessing health information
US20030130875A1 (en) * 2002-01-04 2003-07-10 Hawash Maher M. Real-time prescription renewal transaction across a network
KR100438838B1 (ko) * 2002-01-29 2004-07-05 삼성전자주식회사 대화 포커스 추적 기능을 가진 음성명령 해석장치 및 방법
JP3967952B2 (ja) * 2002-04-16 2007-08-29 富士通株式会社 文法更新システム及び方法
JP2007535692A (ja) * 2004-03-09 2007-12-06 ラオ、アシュウィン 任意に話されたキャラクタのコンピュータによる認識及び解釈のためのシステム及び方法
US7580837B2 (en) 2004-08-12 2009-08-25 At&T Intellectual Property I, L.P. System and method for targeted tuning module of a speech recognition system
US7925506B2 (en) * 2004-10-05 2011-04-12 Inago Corporation Speech recognition accuracy via concept to keyword mapping
KR100679042B1 (ko) * 2004-10-27 2007-02-06 삼성전자주식회사 음성인식 방법 및 장치, 이를 이용한 네비게이션 시스템
GB0426347D0 (en) * 2004-12-01 2005-01-05 Ibm Methods, apparatus and computer programs for automatic speech recognition
US7242751B2 (en) 2004-12-06 2007-07-10 Sbc Knowledge Ventures, L.P. System and method for speech recognition-enabled automatic call routing
US7751551B2 (en) 2005-01-10 2010-07-06 At&T Intellectual Property I, L.P. System and method for speech-enabled call routing
US7627096B2 (en) * 2005-01-14 2009-12-01 At&T Intellectual Property I, L.P. System and method for independently recognizing and selecting actions and objects in a speech recognition system
JP4574390B2 (ja) * 2005-02-22 2010-11-04 キヤノン株式会社 音声認識方法
US7949536B2 (en) * 2006-08-31 2011-05-24 Microsoft Corporation Intelligent speech recognition of incomplete phrases
US8502876B2 (en) * 2006-09-12 2013-08-06 Storz Endoskop Producktions GmbH Audio, visual and device data capturing system with real-time speech recognition command and control system
US9830912B2 (en) 2006-11-30 2017-11-28 Ashwin P Rao Speak and touch auto correction interface
US8731925B2 (en) * 2006-12-22 2014-05-20 Nuance Communications, Inc. Solution that integrates voice enrollment with other types of recognition operations performed by a speech recognition engine using a layered grammar stack
KR20090020265A (ko) * 2007-08-23 2009-02-26 삼성전자주식회사 휴대 단말기 및 그 메시지 작성 방법
US20090234655A1 (en) * 2008-03-13 2009-09-17 Jason Kwon Mobile electronic device with active speech recognition
US8536976B2 (en) * 2008-06-11 2013-09-17 Veritrix, Inc. Single-channel multi-factor authentication
US8185646B2 (en) * 2008-11-03 2012-05-22 Veritrix, Inc. User authentication for social networks
US8849672B2 (en) * 2008-05-22 2014-09-30 Core Wireless Licensing S.A.R.L. System and method for excerpt creation by designating a text segment using speech
US8166297B2 (en) 2008-07-02 2012-04-24 Veritrix, Inc. Systems and methods for controlling access to encrypted data stored on a mobile device
US9922640B2 (en) 2008-10-17 2018-03-20 Ashwin P Rao System and method for multimodal utterance detection
US9197736B2 (en) 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
JP5753769B2 (ja) * 2011-11-18 2015-07-22 株式会社日立製作所 音声データ検索システムおよびそのためのプログラム
US9311640B2 (en) 2014-02-11 2016-04-12 Digimarc Corporation Methods and arrangements for smartphone payments and transactions
US9336776B2 (en) * 2013-05-01 2016-05-10 Sap Se Enhancing speech recognition with domain-specific knowledge to detect topic-related content
JP6100101B2 (ja) * 2013-06-04 2017-03-22 アルパイン株式会社 音声認識を利用した候補選択装置および候補選択方法
USD747733S1 (en) * 2013-08-30 2016-01-19 SkyBell Technologies, Inc. Display screen or portion thereof with a graphical user interface
JP6193736B2 (ja) * 2013-11-15 2017-09-06 日本電信電話株式会社 同音異義語除去方法と複合語除去方法と同音異義語・複合語除去方法とそれらの装置とプログラム
USD762688S1 (en) 2014-05-16 2016-08-02 SkyBell Technologies, Inc. Display screen or a portion thereof with a graphical user interface
USD759702S1 (en) 2015-01-15 2016-06-21 SkyBell Technologies, Inc. Display screen or a portion thereof with a graphical user interface
USD760738S1 (en) 2015-01-15 2016-07-05 SkyBell Technologies, Inc. Display screen or a portion thereof with a graphical user interface
US10121471B2 (en) * 2015-06-29 2018-11-06 Amazon Technologies, Inc. Language model speech endpointing
US10134425B1 (en) * 2015-06-29 2018-11-20 Amazon Technologies, Inc. Direction-based speech endpointing
US10832675B2 (en) 2018-08-24 2020-11-10 Denso International America, Inc. Speech recognition system with interactive spelling function
US10325597B1 (en) * 2018-10-08 2019-06-18 Sorenson Ip Holdings, Llc Transcription of communications
US11875780B2 (en) * 2021-02-16 2024-01-16 Vocollect, Inc. Voice recognition performance constellation graph

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4355302A (en) 1980-09-12 1982-10-19 Bell Telephone Laboratories, Incorporated Spelled word recognizer
US4674065A (en) 1982-04-30 1987-06-16 International Business Machines Corporation System for detecting and correcting contextual errors in a text processing system
US4566065A (en) * 1983-04-22 1986-01-21 Kalman Toth Computer aided stenographic system
US4726065A (en) * 1984-01-26 1988-02-16 Horst Froessl Image manipulation by speech signals
US4914704A (en) 1984-10-30 1990-04-03 International Business Machines Corporation Text editor for speech input
NL8500339A (nl) 1985-02-07 1986-09-01 Philips Nv Adaptief responderend systeem.
US4833712A (en) 1985-05-29 1989-05-23 International Business Machines Corporation Automatic generation of simple Markov model stunted baseforms for words in a vocabulary
US4783803A (en) 1985-11-12 1988-11-08 Dragon Systems, Inc. Speech recognition apparatus and method
US4866778A (en) 1986-08-11 1989-09-12 Dragon Systems, Inc. Interactive speech recognition apparatus
US4829576A (en) 1986-10-21 1989-05-09 Dragon Systems, Inc. Voice recognition system
US4805218A (en) 1987-04-03 1989-02-14 Dragon Systems, Inc. Method for speech analysis and speech recognition
US4805219A (en) 1987-04-03 1989-02-14 Dragon Systems, Inc. Method for speech recognition
US5231670A (en) 1987-06-01 1993-07-27 Kurzweil Applied Intelligence, Inc. Voice controlled system and method for generating text from a voice controlled input
US4931950A (en) 1988-07-25 1990-06-05 Electric Power Research Institute Multimedia interface and method for computer system
JPH0293597A (ja) 1988-09-30 1990-04-04 Nippon I B M Kk 音声認識装置
US5027406A (en) * 1988-12-06 1991-06-25 Dragon Systems, Inc. Method for interactive speech recognition and training
US5127055A (en) * 1988-12-30 1992-06-30 Kurzweil Applied Intelligence, Inc. Speech recognition apparatus & method having dynamic reference pattern adaptation
US5033087A (en) 1989-03-14 1991-07-16 International Business Machines Corp. Method and apparatus for the automatic determination of phonological rules as for a continuous speech recognition system
JPH03163623A (ja) 1989-06-23 1991-07-15 Articulate Syst Inc 音声制御コンピュータ・インターフェース
US5036538A (en) 1989-11-22 1991-07-30 Telephonics Corporation Multi-station voice recognition and processing system
US5202952A (en) 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
US5329609A (en) 1990-07-31 1994-07-12 Fujitsu Limited Recognition apparatus with function of displaying plural recognition candidates
US5386494A (en) 1991-12-06 1995-01-31 Apple Computer, Inc. Method and apparatus for controlling a speech recognition function using a cursor control device
WO1993018506A1 (en) 1992-03-06 1993-09-16 Dragon Systems, Inc. Speech recognition system for languages with compound words
US5398220A (en) 1992-04-06 1995-03-14 Barker; Bruce J. Portable dictation recording device having a mechanism for transmitting recorded dictation to a remote device
US5428707A (en) 1992-11-13 1995-06-27 Dragon Systems, Inc. Apparatus and methods for training speech recognition systems and their users and otherwise improving speech recognition performance
US5632002A (en) 1992-12-28 1997-05-20 Kabushiki Kaisha Toshiba Speech recognition interface system suitable for window systems and speech mail systems
US5384892A (en) 1992-12-31 1995-01-24 Apple Computer, Inc. Dynamic language model for speech recognition
US5497373A (en) 1994-03-22 1996-03-05 Ericsson Messaging Systems Inc. Multi-media interface
US5491774A (en) * 1994-04-19 1996-02-13 Comp General Corporation Handheld record and playback device with flash memory
US5477511A (en) * 1994-07-13 1995-12-19 Englehardt; C. Duane Portable documentation system
US5765132A (en) 1995-10-26 1998-06-09 Dragon Systems, Inc. Building speech models for new words in a multi-word utterance
US5794189A (en) * 1995-11-13 1998-08-11 Dragon Systems, Inc. Continuous speech recognition
US5799279A (en) * 1995-11-13 1998-08-25 Dragon Systems, Inc. Continuous speech recognition of text and commands
US6064959A (en) * 1997-03-28 2000-05-16 Dragon Systems, Inc. Error correction in speech recognition
US6167377A (en) * 1997-03-28 2000-12-26 Dragon Systems, Inc. Speech recognition language models
US6212498B1 (en) * 1997-03-28 2001-04-03 Dragon Systems, Inc. Enrollment in speech recognition
US5875429A (en) * 1997-05-20 1999-02-23 Applied Voice Recognition, Inc. Method and apparatus for editing documents through voice recognition
US6138098A (en) * 1997-06-30 2000-10-24 Lernout & Hauspie Speech Products N.V. Command parsing and rewrite system
US6085159A (en) * 1998-03-26 2000-07-04 International Business Machines Corporation Displaying voice commands with multiple variables
US6163768A (en) * 1998-06-15 2000-12-19 Dragon Systems, Inc. Non-interactive enrollment in speech recognition

Also Published As

Publication number Publication date
EP0965979B1 (de) 2004-01-14
EP0965979A1 (de) 1999-12-22
US6601027B1 (en) 2003-07-29
DE69914131D1 (de) 2004-02-19
JP2000035799A (ja) 2000-02-02
JP4444396B2 (ja) 2010-03-31

Similar Documents

Publication Publication Date Title
DE69914131T2 (de) Positionshandhabung bei der Spracherkennung
DE69634239T2 (de) Erkennung kontinuierlich gesprochener Texte und Befehle
DE69632517T2 (de) Erkennung kontinuierlicher Sprache
DE69923379T2 (de) Nicht-interaktive Registrierung zur Spracherkennung
DE60318544T2 (de) Sprachmodell für die Spracherkennung
DE69814589T2 (de) Spracherkennung unter verwendung mehrerer spracherkenner
DE68928097T2 (de) Spracherkennungssystem
US7315818B2 (en) Error correction in speech recognition
DE69834553T2 (de) Erweiterbares spracherkennungssystem mit einer audio-rückkopplung
DE60033106T2 (de) Korrektur der Betriebsartfehler, Steuerung oder Diktieren, in die Spracherkennung
DE69829235T2 (de) Registrierung für die Spracherkennung
DE69330427T2 (de) Spracherkennungssystem für sprachen mit zusammengesetzten wörtern
DE60207742T2 (de) Korrektur eines von einer spracherkennung erkannten textes mittels vergleich der phonemfolgen des erkannten textes mit einer phonetischen transkription eines manuell eingegebenen korrekturwortes
DE69827988T2 (de) Sprachmodelle für die Spracherkennung
DE60201262T2 (de) Hierarchische sprachmodelle
DE69923191T2 (de) Interaktive anwenderschnittstelle mit spracherkennung und natursprachenverarbeitungssystem
US7085716B1 (en) Speech recognition using word-in-phrase command
DE69607601T2 (de) System und verfahren zur spracherkennung mit automatischer erzeugung einer syntax
DE69721939T2 (de) Verfahren und System zur Auswahl alternativer Wörter während der Spracherkennung
DE69922104T2 (de) Spracherkenner mit durch buchstabierte Worteingabe adaptierbarem Wortschatz
DE69725091T2 (de) Verfahren und System zum Editieren von Sätzen während der kontinuierlichen Spracherkennung
DE60012655T2 (de) Audiowiedergabe von einem geschriebenen Dokument aus mehreren Quellen
DE69822296T2 (de) Mustererkennungsregistrierung in einem verteilten system
EP0925578B1 (de) Sprachverarbeitungssystem und verfahren zur sprachverarbeitung
DE60215272T2 (de) Verfahren und Vorrichtung zur sprachlichen Dateneingabe bei ungünstigen Bedingungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition