[go: up one dir, main page]

DE60318544T2 - Sprachmodell für die Spracherkennung - Google Patents

Sprachmodell für die Spracherkennung Download PDF

Info

Publication number
DE60318544T2
DE60318544T2 DE60318544T DE60318544T DE60318544T2 DE 60318544 T2 DE60318544 T2 DE 60318544T2 DE 60318544 T DE60318544 T DE 60318544T DE 60318544 T DE60318544 T DE 60318544T DE 60318544 T2 DE60318544 T2 DE 60318544T2
Authority
DE
Germany
Prior art keywords
user
text
words
language model
vocabulary
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
DE60318544T
Other languages
English (en)
Other versions
DE60318544D1 (de
Inventor
Kwangil Hwang
Eric Fieleke
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.)
Nuance Communications Inc
Original Assignee
Nuance Communications 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 Nuance Communications Inc filed Critical Nuance Communications Inc
Application granted granted Critical
Publication of DE60318544D1 publication Critical patent/DE60318544D1/de
Publication of DE60318544T2 publication Critical patent/DE60318544T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models

Landscapes

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

Description

  • Das vorliegende Dokument richtet sich auf ein Sprachmodell zur Verwendung bei der Spracherkennung.
  • Ein Spracherkennungssystem analysiert die Rede eines Nutzers zur Bestimmung des Gesprochenen. Die meisten Spracherkennungssysteme arbeiten mit Frames. In einem solchen System teilt ein Prozessor ein Signal, das die zu erkennende Rede beschreibt, in eine Reihe digitaler Abschnitte, d. h. Frames, die jeweils einem kleinen Zeitinkrement des Gesprochenen entsprechen.
  • Ein Spracherkennungssystem kann ein „diskretes" System mit der Erkennung von abgegrenzten Wörtern oder Phrasen sein, wobei der Nutzer jedoch zwischen jedem Einzelwort bzw. jeder Einzelphrase eine kurze Pause lassen muss. Alternativ dazu kann ein Spracherkennungssystem ein „kontinuierliches" System sein und erkennt gesprochene Wörter bzw. Phrasen unabhängig davon, ob der Nutzer Pausen zwischen diese setzt. Kontinuierliche Spracherkennungssysteme haben typischerweise eine höhere Fehlerrate als diskrete Spracherkennungssysteme, da die Erkennung eines kontinuierlichen Redeflusses komplexer ist.
  • Der Prozessor eines kontinuierlichen Spracherkennungssystems analysiert generell gesprochene „Äußerungen". Eine Äußerung umfasst eine variable Anzahl von Frames und entspricht beispielsweise einer Sprechperiode, der eine Pause von mindestens vorherbestimmter Dauer folgt.
  • Der Prozessor bestimmt das vom Nutzer Gesprochene durch das Abrufen akustischer Modelle, die mit den digitalen Frames einer Äußerung am besten übereinstimmen, und durch die Identifizierung von Text, 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 einen Klang oder ein Phonem darstellen, der bzw. das einem Teil eines Wortes entspricht. Die ein Wort konstituierenden Phoneme stellen zusammengenommen die phonetische „Schreibweise" dieses Wortes dar. Akustische Modelle können auch Stille und verschiedene Arten von Umgebungsrauschen abbilden.
  • Die Wörter bzw. Phrasen, die den am besten übereinstimmenden akustischen Modellen entsprechen, werden als Erkennungskandidaten bezeichnet. Der Prozessor kann für eine Äußerung einen einzelnen Erkennungskandidaten oder eine Liste von Erkennungskandidaten erzeugen. Bei der Erzeugung dieser Wort- bzw. Phrasenkandidaten kann der Prozessor ein Sprachmodell verwenden, das die Häufigkeit (Frequenz) berücksichtigt, in der Wörter typischerweise im Verhältnis zu einem anderen Wort verwendet werden.
  • Ein wissenschaftlicher Artikel von Nisimura et al („Automatic N-gram Language Model Creation from Web Resources” [Automatische N-gram-Sprachmodellerstellung aus Internetressourcen], Eurospeech 2001, S. 2127–2130) offenbart einen automatischen Aufbau eines Sprachmodells aus im Internet vorliegendem Text zur kontinuierlichen Spracherkennung. In dem offenbarten Verfahren werden Internet-Seiten durch schlüsselwortgestützte Internet-Suchdienste identifiziert. Aus den so identifizierten Internet-Quellen wird Text abgerufen und auf Grundlage dieses Textes wird ein Sprachmodell generiert. Die Hauptansprüche gehen über dieses Dokument hinaus.
  • Ein Artikel von Ido et al („Robotic Receptionist ASKA: A Research Platform for Human-Robot Interaction” [ASKA-Roboterrezeption: Forschungsplattform für Mensch-Roboter-Interaktion] in Proceedings of the 2002 IEEE Int. Workshop an Robot and Human Interactive Communication, S. 306–311) offenbart ein robotertechnisches Begrüßungssystem inklusive Spracherkenner mit einem Sprachmodell, das auf Grundlage von mit Internet-Suchseiten gesammeltem Text und Text aus Mailing-Listen generiert wird.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Aufbau eines Sprachmodells nach Anspruch 1 und ein Verfahren zum Aufbau eines Sprachmodells nach Anspruch 4 zur Verfügung gestellt.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein Computerprogramm zum Aufbau eines Sprachmodells nach Anspruch 10 zur Verfügung gestellt.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein System zum Aufbau eines Sprachmodells zur Verwendung bei der Spracherkennung nach Anspruch 11 und Anspruch 12 zur Verfügung gestellt.
  • Der Aufbau eines Sprachmodells für den Einsatz bei der Spracherkennung beinhaltet die Identifikation einer auf einen Nutzer bezogenen Textquelle. Aus der identifizierten Textquelle wird Text abgerufen und aus dem abgerufenen Text wird ein auf den Nutzer bezogenes Sprachmodell aufgebaut.
  • Realisierungen können eines oder mehrere der folgenden Merkmale beinhalten. Beispielsweise lassen sich vom Nutzer gesendete E-Mails ohne Nutzerinteraktion als Textquelle identifizieren. Die E-Mails können durchgescannt werden, um aus diesen E-Mails Wörter zu identifizieren und aus diesen gescannten Wörtern diejenigen auszuwählen, die für den Aufbau des Sprachmodells verwendet werden.
  • Vom Nutzer erstellte Dokumente, Dokumente, die an einem bestimmten Ort auf einem Computer des Nutzers abgespeichert sind, und/oder Kontaktinformationen des Nutzers werden ohne Interaktion des Nutzers als Textquelle identifiziert. Aus den Kontaktinformationen des Nutzers können Namen abgerufen und gescannt werden, um Namen zu identifizieren, die nicht in einem Vokabular von Wörtern enthalten sind. Die identifizierten Namen können ohne Interaktion des Nutzers in das Vokabular eingetragen werden.
  • Der abgerufene Text kann gescannt werden, um aus dem Text Wörter zu identifizieren, die nicht in einem Vokabular von Wörtern enthalten sind, und die identifizierten Wörter können ohne Interaktion des Nutzers ins Vokabular eingetragen werden.
  • Der abgerufene Text kann gescannt werden, um aus dem Text Wörter zu identifizieren, die nicht in einem Vokabular von Wörtern enthalten sind, worauf die identifizierten Wörter dem Nutzer angezeigt werden können. Der Nutzer kann dazu aufgefordert werden, eine Auswahl von ins Vokabular einzutragenden Wörtern zu treffen, und die vom Nutzer ausgewählten Wörter können ins Vokabular eingetragen werden.
  • Das Sprachmodell kann dadurch aufgebaut werden, dass mit dem abgerufenen Text Unigramme und/oder Bigramme und/oder Trigramme berechnet werden. Die Textquelle kann ohne Interaktion des Nutzers identifiziert werden, der identifizierte Text kann abgerufen werden und das Sprachmodell kann als Teil eines Datenerfassungsprozesses (Enrollment) des Nutzers aufgebaut werden.
  • Diese allgemeinen und speziellen Aspekte können mit einem System, einem Verfahren oder einem Computerprogramm oder einer Kombination aus Systemen, Verfahren und Computerprogrammen implementiert werden.
  • Die vorliegende Erfindung wird unter Bezugnahme auf die Begleitzeichnungen beispielhaft beschrieben, wobei gilt:
  • 1 ist ein Blockschaltbild eines Spracherkennungssystems;
  • 2 ist ein Blockschaltbild der Spracherkennungssoftware des Systems von 1;
  • 3 ist ein Flussdiagramm eines beispielhaften Prozesses für den Aufbau eines Sprachmodells;
  • 4 und 5 sind Bildschirmabbilder (Screenshots) von beispielhaften grafischen Nutzerschnittstellen; und
    gleiche Verweisziffern in den verschiedenen Zeichnungen können gleiche Elemente anzeigen.
  • Wie in 1 dargestellt, beinhaltet ein Spracherkennungssystem 100 Eingabe/Ausgabe-Geräte (E/A-Geräte) (beispielsweise ein Mikrofon 102, eine Maus 104, eine Tastatur 106 und ein Anzeigegerät 108) und einen Computer 110 mit einer Zentraleinheit (CPU) 112, einer E/A-Einheit 114 und einer Soundkarte 116. Ein Speicher 118 speichert Daten und Programme wie ein Betriebssystem 120 (z. B. DOS, Windows®, Windows® 95, Windows® 98, Windows® 2000, Windows® NT, Windows® Millennium Edition, Windows® XP, OS/2®, Macintosh OS und Linux), ein Anwendungsprogramm 122 und eine Spracherkennungssoftware 124. Andere Beispiele des Systems 100 beinhalten eine Arbeitsstation, einen Server, eine Vorrichtung, eine Komponente, sonstige Ausrüstung oder Kombination derselben mit der Fähigkeit, Anweisungen in festgelegter Weise zu beantworten und auszuführen.
  • Beispiele von Anwendungsprogrammen 122 sind unter anderem Erstellungsanwendungen (z. B. Textbearbeitungsprogramme, Datenbankprogramme, Tabellenkalkulationsprogramme, Präsentationsprogramme, E-Mail-Programme und Grafikprogramme), die die Erstellung von Dokumenten bzw. sonstigen elektronischen Inhalten ermöglichen, Browser-Anwendungen (z. B. Netscape Navigator und Microsoft Internet Explorer), die die Wiedergabe von Standard-Internetinhalten ermöglichen, PIM-Programme (Personal Information Managers) (z. B. Microsoft® Gutlook®, Gutlook® Express und Lotus Notes®), die die Verwaltung persönlicher Daten gestatten, und andere Programme (z. B. Kontaktmanagement-Software, Terminverwaltungssoftware, Ausgabenverwaltungssoftware und Fax-Programme). Beispiele für eine geeignete Spracherkennungssoftware 124 sind die verschiedenen Versionen der Software Dragon NaturallySpeaking®, die bei ScanSoft, Inc. in Peabody, Massachusetts erhältlich ist.
  • Für die Spracherkennung kann der Computer 110 verwendet werden. In diesem Fall empfängt das Mikrofon 102 die gesprochene Rede des Nutzers und sendet diese in Form eines Analogsignals an die Soundkarte 116, die das Signal durch einen Analog-Digital-Wandler (A/D-Wandler) schickt, damit das Analogsignal in einen Satz digitaler Samples umgewandelt wird. Der vom Betriebssystem 120 und der Spracherkennungssoftware 124 angesteuerte Prozessor 112 identifiziert Äußerungen in der Rede des Nutzers. Äußerungen werden durch eine Pause von ausreichend groß vorgegebener Dauer (beispielsweise 160–250 Millisekunden) voneinander abgegrenzt. Jede Äußerung kann ein Wort oder mehrere Wörter aus der Rede des Nutzers beinhalten.
  • Das System kann auch einen Analogaufnahme-Anschluss (126) (Analog-Port) und/oder einen Digitalaufnahme-Anschluss 128 (Digital-Port) beinhalten. Der Anschluss 126 für die Analogaufnahme ist mit der Soundkarte 116 verbunden und dient der Übertragung gesprochener Rede, die mit einem analogen oder digitalen Aufnahmehandgerät aufgezeichnet wird, an die Soundkarte. Der Analogaufnahme-Anschluss 126 kann mit einem Line-In-Port realisiert werden. Das Aufnahmehandgerät wird über ein Kabel angeschlossen, das den Line-In-Anschluss und einen Line-Out-Anschluss oder Lautsprecheranschluss des Aufnahmegerätes miteinander verbindet. Der Analogaufnahme-Anschluss 126 kann als Mikrofon realisiert werden, das so positioniert wird, dass es sich in der Nähe des Lautsprechers des Aufnahmehandgerätes befindet, wenn das Aufnahmegerät in den Anschluss 126 eingestöpselt ist, und kann auch mit dem Mikrofon 102 realisiert werden. Alternativ dazu kann der Analogaufnahme-Anschluss 126 als Bandabspielgerät realisiert werden, in das ein mit Aufnahmehandgerät aufgezeichnetes Band eingelegt wird und das die auf dem Band aufgezeichneten Informationen an die Soundkarte 116 übermittelt.
  • Der Digitalaufnahme-Anschluss 128 kann so realisiert werden, dass er eine digitale Datei überträgt, die mit einem digitalen Aufnahmehandgerät 130 erstellt wurde. Diese Datei kann direkt in den Speicher 118 oder auf ein Speichergerät wie ein Festplattenlaufwerk 132 übertragen werden. Der Anschluss 128 für die digitale Aufnahme kann als Speichergerät (z. B. Diskettenlaufwerk oder CD-ROM-Laufwerk) des Computers 110 oder als E/A-Anschluss (I/O-Port) (z. B. USB-Anschluss) realisiert werden.
  • 2 illustriert Komponenten der Spracherkennungssoftware 124. Zur vereinfachten Erörterung wird in der nachfolgenden Beschreibung davon gesprochen, dass die Komponenten zur Erzielung bestimmter Ergebnisse entsprechende Operationen ausführen. Dies ist jedoch so zu verstehen, dass die einzelnen Komponenten typischerweise den Prozessor 112 zu der jeweiligen Operation in entsprechender Weise veranlassen. Die Spracherkennungssoftware 124 beinhaltet typischerweise ein oder mehrere Module wie ein Frontend-Bearbeitungsmodul 200, ein Erkennungsmodul 215, ein Steuer/Schnittstellenmodul 220, ein Constraint-Grammatik-Modul 225, ein Aktivvokabular-Modul 230, ein Akustikmodell-Modul 235, ein Vorfilterungsmodul 240 und ein Backup-Wörterbuch-Modul 245.
  • Zu Beginn konvertiert ein Frontend-Bearbeitungsmodul 200 die digitalen Samples 205 von der Soundkarte 116 (oder vom Digitalaufnahme-Anschluss 128) in Parameter-Frames 210, die den Häufigkeitsgehalt einer Äußerung darstellen. Jeder Frame kann 24 Parameter enthalten und stellt einen kurzen Teilabschnitt (beispielsweise 10 Millisekunden) der Äußerung dar.
  • Ein Erkennungsmodul (Spracherkenner) 215 empfängt und bearbeitet die Frames einer Äußerung, um Text zu identifizieren, der der Äußerung entspricht. Der Spracherkenner 215 unterhält verschiedene Hypothesen in Bezug auf den Text und weist jeder einzelnen Hypothese einen Relevanzwert (Score) zu. Dieser Score stellt die Wahrscheinlichkeit dafür dar, dass eine Hypothese der Nutzerrede entspricht. Zur einfacheren Bearbeitung können Scores als negative logarithmische Werte geführt werden. Dementsprechend zeigt ein niedrigerer Score-Wert eine bessere Übereinstimmung (eine größere Wahrscheinlichkeit) an, während ein höherer Score-Wert eine geringere Übereinstimmung (eine geringere Wahrscheinlichkeit) anzeigt. Nach der Bearbeitung der Äußerung liefert der Spracherkenner 215 die bestbewerteten Hypothesen als Liste von Erkennungskandidaten an das Steuer/Schnittstellenmodul 220, wo jeder Erkennungskandidat einer Hypothese mit entsprechend zugeordnetem Score entspricht. Einige Erkennungskandidaten können Text entsprechen, während andere Erkennungskandidaten Befehlen entsprechen können. Befehle können Wörter, Phrasen oder Sätze beinhalten.
  • Der Spracherkenner 215 bearbeitet die Frames 210 einer Äußerung im Hinblick auf eine oder mehrere Constraint-Grammatiken 225. Eine Constraint-Grammatik, also eine regelbasierte Grammatik mit entsprechenden Beschränkungen (Constraints), kann die Wörter, die einer Äußerung entsprechen können, oder die Reihenfolge bzw. grammatische Form der Wörter oder beides begrenzen. Beispielsweise kann eine Constraint-Grammatik für Menüführungsbefehle nur Eingaben aus dem Menü (zum Beispiel „Datei", „Bearbeiten") oder Befehlswörter für die Navigation im Menü (zum Beispiel „hoch", „runter", „oben", „unten") enthalten. Dabei können unterschiedliche Constraint-Grammatiken zu unterschiedlichen Zeiten aktiv sein. Beispielsweise kann eine Constraint-Grammatik mit einem besonderen Anwendungsprogramm 122 verknüpft sein und aktiviert werden, wenn der Nutzer das Anwendungsprogramm 122 öffnet, bzw. deaktiviert werden, wenn der Nutzer das Anwendungsprogramm 122 schließt. Der Spracherkenner 215 kann eine Hypothese verwerfen, die nicht mit einer aktiven Constraint-Grammatik übereinstimmt. Darüber hinaus kann der Spracherkenner 215 für eine Hypothese, die mit einer besonderen Constraint-Grammatik verknüpft ist, eine Score-Anpassung aufgrund der Charakteristika der Constraint-Grammatik vornehmen.
  • Eine weitere Constraint-Grammatik 225, die von der Spracherkennungssoftware 124 verwendet werden kann, ist eine Großvokabular-Diktiergrammatik. Die Großvokabular-Diktiergrammatik identifiziert Wörter, die im aktiven Vokabular 230 enthalten sind, wobei dieses Aktivvokabular die Aufstellung derjenigen Wörter ist, die der Software bekannt sind. Die Großvokabular-Diktiergrammatik beinhaltet auch ein Sprachmodell, das die Häufigkeit des Auftretens von Wörtern angibt.
  • Weitere Beispiele von Constraint-Grammatiken 225 sind unter anderem eine Inline-Diktiermakro-Grammatik für Diktierbefehle wie im Englischen „CAP" oder „CAPITALIZE" für die Schreibung eines Wortes in Großbuchstaben und „New paragraph" („Neuer Absatz") für den Beginn eines neuen Absatzes; eine XYZ-Auswahlgrammatik für die Verwendung bei der Auswahl von Text; eine Fehlerkorrektur-Befehlsgrammatik; eine Diktatbearbeitungsgrammatik; eine Programmbefehls- und Steuergrammatik, die zur Ansteuerung eines besonderen Anwendungsprogramms 122 verwendet werden kann; eine Globalbefehls- und Steuergrammatik, die zur Ansteuerung des Betriebssystems 120 und der Spracherkennungssoftware 124 verwendet werden kann; eine Menü- und Dialogführungsgrammatik, die zur Menüführung verwendet werden kann; und eine Tastatursteuergrammatik, mit der Eingabegeräte wie Tastatur 106 oder Maus 104 durch den Einsatz der mündlichen Sprache ersetzt werden können.
  • Das aktive Vokabular 230 verwendet ein Aussprachemodell, in dem jedes Wort durch eine Reihe von Phonemen dargestellt wird, die das Wort phonetisch abbilden. Jedes Phonem lässt sich als Triphon darstellen, das drei Knoten enthält. Ein Triphon ist ein kontextabhängiges Phonem. Beispielsweise stellt das Triphon „abc" das Phonem „b” im Kontext der Phoneme „a" und „c" dar, wobei dem Phonem „b" das Phonem „a" vorangeht und das Phonem „c" folgt.
  • Jedem Nutzer können eine oder mehrere Vokabulardateien zugeordnet sein. Die Vokabulardateien können alle Wörter, Aussprachen und Sprachmodellinformationen für den Nutzer enthalten. Diktat- und Befehlsgrammatiken können auf Vokabulardateien aufgeteilt werden, um die Sprachmodellinformationen und die Speicherauslastung zu optimieren sowie die einzelnen Vokabulardateien jeweils größenmäßig einzugrenzen. Es gibt auch einen Satz von Systemvokabularen.
  • Für jeden Nutzer des Systems werden separate akustische Modelle 235 bereitgestellt. Zu Beginn werden sprecherunabhängige akustische Modelle männlicher bzw. weiblicher Sprache über ein Enrollment-Programm auf das Sprechen eines speziellen Nutzers abgestimmt. Die akustischen Modelle können während der Verwendung des Systems weiter abgestimmt werden. Die akustischen Modelle werden in einer Datei getrennt vom aktiven Vokabular 230 geführt.
  • Die akustischen Modelle 235 stellen Phoneme dar. Im Falle von Triphonen stellen die akustischen Modelle 235 jeden Triphon-Knoten als eine Mischung Gaußscher Wahrscheinlichkeitsdichtefunktionen („WDF” bzw. englisch „PDF" [probability density functions]) dar. Beispielsweise lässt sich der Knoten „i" eines Triphons „abc" als abic darstellen: abic = Σ kwkN(μk,ck)wobei wk jeweils ein Mischgewicht ist: Σ kwk = 1,
  • µk ist ein mittlerer Vektor für die Wahrscheinlichkeitsdichtefunktion („WDF") Nk und ck ist die Kovarianzmatrix für die WDF Nk. Wie die Frames in der Frames-Sequenz enthalten die Vektoren µk jeweils vierundzwanzig Parameter. Die Matrizen ck sind vierundzwanzig mal vierundzwanzig Matrizen. Jeder Triphon-Knoten kann als eine Mischung von bis zu beispielsweise sechzehn unterschiedlichen WDF dargestellt werden.
  • Eine besondere WDF kann bei der Darstellung mehrerer Triphon-Knoten verwendet werden. Dementsprechend stellen die akustischen Modelle 235 jeden Triphon-Knoten als eine Sammlung von Mischgewichten wk, die mit bis zu sechzehn unterschiedlichen WDF Nk verknüpft sind, und jede einzelne WDF Nk separat mit einem mittleren Vektor µk und einer Kovarianzmatrix ck dar. Die Verwendung einer einzelnen WDF zur Darstellung mehrerer Triphon-Knoten macht es möglich, dass die Modelle weniger WDF enthalten als notwendig wäre, wenn jeder Triphon-Knoten gänzlich separate WDF enthielte. Da sich die englische Sprache grob mit 43 unterschiedlichen Phonemen darstellen lässt, kann es bis zu 79.507 (433) verschiedene Triphone geben, die zu einer riesigen Anzahl von WDF führen würden, wenn jedes Triphon von einem separaten WDF-Satz dargestellt würde. Durch die Darstellung mehrerer Knoten mit gemeinsamen WDF kann auch ein Datenknappheitsproblem behoben bzw. vermindert werden, das durch das seltene Auftreten einiger Triphone (beispielsweise „tzp" in der englischen Sprache) entsteht. Diese seltenen Triphone können dargestellt werden, indem dafür gesorgt wird, dass eng verwandte Triphone sich den gleichen WDF-Satz teilen.
  • Eine Großvokabular-Diktiergrammatik kann mehrere Diktierthemen (beispielsweise „Medizin" oder „Recht") mit jeweils eigener Vokabulardatei und eigenem Sprachmodell umfassen. Ein Diktierthema beinhaltet einen Satz Wörter, der das aktive Vokabular 230 darstellt. In einem typischen Beispiel kann ein Thema ca. 30.000 Wörter umfassen, die bei der normalen Erkennung berücksichtigt werden.
  • Ein komplettes Diktiervokabular besteht aus dem aktiven Vokabular 230 plus einem Backup-Vokabular 245. Das Backup-Vokabular 245 kann Dateien umfassen, die nutzerspezifische Backup-Vokabularwörter und systemweite Backup-Vokabularwörter enthalten.
  • Nutzerspezifische Backup-Vokabularwörter beinhalten Wörter, die ein Nutzer bei der Verwendung der Spracherkennungssoftware angelegt hat. Diese Wörter werden in Vokabulardateien für den Nutzer und für das Diktierthema gespeichert und sind als Teil des Backup-Wörterbuches für das Diktierthema unabhängig vom Nutzer sowie für den Nutzer unabhängig vom verwendeten Diktierthema verfügbar. Wenn beispielsweise ein Nutzer ein medizinisches Thema verwendet und das Wort „Ganglion" zum Diktiervokabular hinzufügt, so hat jeder andere Nutzer des medizinischen Themas unmittelbaren Zugriff auf das Wort „Ganglion". Zusätzlich dazu wird das Wort in das nutzerspezifische Vokabular geschrieben. Wenn daraufhin der Nutzer bei Verwendung eines Rechtsthemas „Ganglion" sagt, steht das Wort „Ganglion" bei der Korrektur ausgehend vom Backup-Wörterbuch zur Verfügung.
  • Neben dem oben angegebenen nutzerspezifischen 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 sich aktuell in einem aktiven Vokabular befinden können.
  • Der Spracherkenner 215 kann parallel zu einer Vorfilterungsprozedur 240 arbeiten. Sobald die Bearbeitung einer Äußerung ausgelöst wird, fordert der Spracherkenner 215 von der Vorfilterungsprozedur 240 eine Liste von Wörtern an, die eventuell als erstes Wort der Äußerung gesprochen wurden (das heißt: die dem ersten und den nachfolgenden Frames der Äußerung entsprechen können). Die Vorfilterungsprozedur 240 führt einen Grobabgleich zwischen der Frame-Sequenz und dem aktiven Vokabular 230 durch, um eine Teilmenge des Vokabulars zu identifizieren, für die ein umfassenderer Vergleich mit dem Spracherkenner gerechtfertigt ist.
  • Das Steuer/Schnittstellenmodul 220 steuert den Betrieb der Spracherkennungssoftware und stellt eine Schnittstelle zu anderer Software bzw. zum Nutzer zur Verfügung. Das Steuer/Schnittstellenmodul 220 empfängt vom Spracherkenner für jede Äußerung die Liste der Erkennungskandidaten. Erkennungskandidaten können diktiertem Text, Spracherkennungsbefehlen oder externen Befehlen entsprechen. Wenn es sich bei dem bestbewerteten Erkennungskandidaten um diktierten Text handelt, liefert das Steuer/Schnittstellenmodul 220 den Text an eine aktive Anwendung wie eine Textverarbeitung. Das Steuer/Schnittstellenmodul 220 kann den bestbewerteten Erkennungskandidaten auch über eine grafische Nutzerschnittstelle dem Nutzer zur Anzeige bringen. Wenn der bestbewertete Erkennungskandidat ein Befehl ist, realisiert das Steuer/Schnittstellenmodul 220 den Befehl. Beispielsweise kann das Steuer/Schnittstellenmodul 220 den Betrieb der Spracherkennungssoftware 124 in Reaktion auf Spracherkennungsbefehle (beispielsweise „aufwachen", „ausführen") steuern und externe Befehle an die entsprechende Software weiterleiten.
  • Das Steuer/Schnittstellenmodul 220 kann auch das aktive Vokabular 230, akustische Modelle 235 und Constraint-Grammatiken 225 ansteuern, die vom Spracherkenner 215 verwendet werden. Wenn beispielsweise die Spracherkennungssoftware 124 im Zusammenhang mit einem besonderen Anwendungsprogramm 122 (beispielsweise Microsoft Word) verwendet wird, aktualisiert das Steuer/Schnittstellenmodul 220 das aktive Vokabular 230 zur Einbeziehung von Befehlswörtern, die mit dieser Anwendung verknüpft sind, und aktiviert Constraint-Grammatiken 225, die mit dem Anwendungsprogramm 122 verknüpft sind.
  • Weitere vom Steuer/Schnittstellenmodul 220 bereitgestellte Funktionen sind u. a. ein Enrollment-Programm, ein Vokabular-Customizer und ein Vokabular-Manager. Das Enrollment-Programm erfasst akustische Informationen eines Nutzers und übernimmt auf Grundlage dieser Informationen das Training bzw. die Anpassung der Nutzermodelle. Der Vokabular-Customizer optimiert das Sprachmodell eines speziellen Themas durch Ausführung des weiter unten in Bezug auf 3 beschriebenen Prozesses 300. Der Vokabular-Manager ist ein Entwickler-Tool für die Navigation in und die Führung von Vokabularen, Grammatiken und Makros. Jede Funktion des Steuer/Schnittstellenmoduls 220 lässt sich als ausführbares Programm getrennt von der Spracherkennungs-Hauptsoftware realisieren.
  • Das Enrollment-Programm kann in einem interaktiven Modus betrieben werden, der den Nutzer durch den Erfassungs- und Registrierungsprozess führt, oder in einem nicht interaktiven Modus arbeiten, der es dem Nutzer gestattet, das Enrollment unabhängig vom Computer durchzuführen. Im interaktiven Modus bringt das Enrollment-Programm dem Nutzer den Erfassungstext nutzerlesbar zur Anzeige. Während der Nutzer den Text liest, verwendet der Spracherkenner 215 die Enrollment-Grammatik und versucht eine Sequenz von Äußerungen des Nutzers mit sequentiellen Teilabschnitten des Erfassungstextes per Abgleich in Übereinstimmung zu bringen. Wenn der Spracherkenner 215 zu keinem Ergebnis kommt, fordert das Enrollment-Programm den Nutzer zur Wiederholung bestimmter Passagen des Textes auf. Der Spracherkenner nutzt akustische Informationen aus den Äußerungen des Nutzers zum Training bzw. zur Anpassung von akustischen Modellen 235, die den abgeglichenen Teilabschnitten des Erfassungstextes entsprechen.
  • Das Steuer/Schnittstellenmodul 220 kann ferner Fehlerkorrekturprozeduren und Cursorplatzbedienprozeduren der Software 124 implementieren. Zu den Fehlerkorrekturprozeduren zählen u. a. ein Befehl „Ausführen" und ein Befehl „Buchstabieren". Zu den Prozeduren der Cursorpositionierung gehören u. a. der oben erörterte Befehl „Auswählen" mit entsprechenden Variationen (z. B. „Auswählen [Anfang] bis [Ende]"), die Befehle „Einfügen vor/nach" und ein Befehl „Fortsetzen mit".
  • Das Steuer/Schnittstellenmodul 220 kann Fehlerkorrekturprozeduren der Spracherkennungssoftware 124 implementieren. Wenn die Spracherkennungssoftware 100 einen Erkennungsfehler begeht, kann der Nutzer den Fehler über einen entsprechenden Korrekturbefehl beheben. Bei der Fehlerkorrektur beginnt eine Wörtersuche des Backup-Wörterbuchs 245 im nutzerspezifischen Backup-Wörterbuch, wonach das systemweite Backup-Wörterbuch geprüft wird. Das Backup-Wörterbuch 245 wird auch durchsucht, wenn im Text neue Wörter auftreten, die ein Nutzer eingetippt hat.
  • Im Allgemeinen beinhaltet das Backup-Wörterbuch 245 wesentlich mehr Wörter als im aktiven Vokabular 230 enthalten sind. Wenn das aktive Vokabular 230 beispielsweise etwa 60.000 Einträge aufweist, kann das Backup-Wörterbuch 245 grob überschlagen 190.000 Einträge aufweisen. Das aktive Vokabular 230 ist ein dynamisches Vokabular, das heißt, dass im Laufe der Zeit Einträge zum aktiven Vokabular hinzugefügt oder vom aktiven Vokabular abgezogen werden können. Wenn beispielsweise der Nutzer auf eine Fehlerkennung hinweist und das Steuer/Schnittstellenmodul 220 zur Fehlerkorrektur das Backup-Wörterbuch 245 verwendet, kann ein neues Wort vom Backup-Wörterbuch 245 zum aktiven Vokabular 230 hinzugefügt werden, um die Wahrscheinlichkeit eines erneuten Auftretens des Fehlers zu vermindern.
  • Die effektive Größe des aktiven Vokabulars 230 kann erhöht werden, indem Wörter in Wortbestandteile oder Wortfragmente zerlegt werden. Zu den Wortfragmenten gehören Vorsilben (Präfixe) und Nachsilben (Suffixe), die zusammen als Affixe bezeichnet werden. Ein Präfix ist ein Wortfragment, dem ein anderes Wortfragment oder Wort nachfolgt und das deshalb als „Präfix+" dargestellt werden kann. Ein in der englischen Sprache übliches Präfix ist beispielsweise die Vorsilbe „re+". Im Gegensatz zum Präfix ist ein Suffix ein Wortfragment, das einem anderen Wortfragment oder Wort nachfolgt. Ein Suffix kann als „+Suffix" dargestellt werden. Ein in der englischen Sprache übliches Suffix ist beispielsweise die Nachsilbe „+ed".
  • Zu den Wortfragmenten zählen auch Wortstämme, die gemeinsam mit einem Präfix oder einem Suffix auftreten können. Ein Wortstamm kann ein echter Wortstamm sein, das heißt, er ist bei Alleinauftreten kein vollständiges Wort und kann deshalb als „+Stamm+" dargestellt werden. Ein Beispiel für einen echten Wortstamm ist im Englischen der Stamm „+crimin+", der das Wort „decriminalize" bilden kann, wenn das Präfix „de+" vorangestellt wird sowie die Suffixe „+al" und „+ize" nacheinander angehängt werden. Ein Stamm kann auch ein Wortstamm sein, der ein Wort ergibt, wenn er allein verwendet wird. Beispielsweise kann der Wortstamm "look" im Englischen als Wort "look" verwendet oder mit anderen Wortfragmenten verbunden werden, um ein anderes Wort zu bilden wie „looked".
  • Zu Wortfragmenten können auch Trennzeichen (Separatoren) gehören, wie das Fugen-„s” in der deutschen Sprache, durch das Wörter miteinander verbunden werden, oder der Bindestrich, der in der englischen Sprache häufig verwendet wird, sowie Infixe, die als wortinnere Bindeglieder in solchen Sprachen wie Ungarisch, Mon-Khmer verwendet werden. In der Sprache Tagalog bedeutet beispielsweise „tawa" „das Lachen", aber „t -um- awa" bildet das Verb „lachen". Somit könnte -um- in Tagalog ein Infix darstellen. Als weiteres Beispiel lässt sich in der thailändischen Sprache „pak" mit der Bedeutung „Auflage" nennen, wobei „p -n- ak" jedoch „eine Stütze" wie z. B. ein Stuhl bedeutet. Somit könnte -n- in der thailändischen Sprache ein Infix darstellen. Infixe sind selten in der englischen Sprache. Ein Beispiel für ein informelles Infix im Englischen könnte -bloody- sein, wie in „fan -bloody- tastic".
  • Jedes Wortfragment kann als separater Eintrag in das aktive Vokabular 230 gemeinsam mit einem Satz aktiver Wörter aufgenommen werden, zu denen typischerweise ein großer Teil der zuvor aktiven Wörter gehört. Die Wortfragmente erhöhen die effektive Größe des aktiven Vokabulars durch die Einbeziehung von gegebenenfalls im Backup-Wörterbuch 245 befindlichen, als „zerlegbar" bezeichneten Wörtern, die aus Kombinationen von Wortfragmenten mit anderen Wortfragmenten oder mit aktiven Wörtern gebildet werden können. Wörter des Backup-Wörterbuchs, die sich nicht aus solchen Kombinationen bilden lassen, werden als „nicht zerlegbare" Wörter bezeichnet.
  • Wenn der Spracherkenner 215 in einer Äußerung ein Wortfragment erkennt, kombiniert das System das Wortfragment mit einem oder mehreren anderen Wortfragmenten oder Wörtern zur Erzeugung eines neuen Wortes, woraufhin es das Backup-Wörterbuch 245 durchsucht oder entsprechende Regeln anwendet, um das neue Wort als gültiges Wort zu bestätigen. Somit kann das Spracherkennungssystem 100 das Backup-Wörterbuch 245 nutzen, ohne dass der Spracherkenner 215 Wörter des Backup-Wörterbuchs bearbeiten muss. Durch die Erhöhung der effektiven Größe des aktiven Vokabulars 230 ohne Erhöhung der tatsächlichen Größe wird die Erkennungsrate des Spracherkennungssystems 100 erweitert, ohne dass sich die dafür erforderliche Speicherkapazität oder Verarbeitungszeit erheblich erhöht.
  • In einer Realisierungsform kann der Spracherkenner ein oder mehrere Sprachmodelle verwenden. Bei der Bestimmung des für eine Äußerung bestpassenden akustischen Modells kann der Prozessor ein Sprachmodell konsultieren, das eine Wahrscheinlichkeit dafür anzeigt, dass der dem akustischen Modell entsprechende Text in der Rede auftritt. Beispielsweise kann ein Sprachmodell ein Bigramm-Modell enthalten, das die Häufigkeit anzeigt, mit dem ein Wort im Kontext eines vorangehenden Wortes auftritt. Zum Beispiel kann ein Bigramm-Modell anzeigen, dass im Englischen ein Substantiv oder Adjektiv wie „word" mit höherer Wahrscheinlichkeit auf das Wort „the" folgt als auf ein Verb wie „is".
  • Das Sprachmodell kann ausgehend von einem großen Text-Sample generiert werden. In der Regel ändern sich die vom Sprachmodell erzeugten Wahrscheinlichkeiten während des Einsatzes nicht. Das Sprachmodell kann sich jedoch ändern, wenn Wörter zum Sprachmodell hinzugefügt oder vom Sprachmodell abgezogen werden, da die Wörter zum aktiven Vokabular hinzugefügt bzw. vom aktiven Vokabular abgezogen werden.
  • Ein mit der Großvokabular-Diktiergrammatik verknüpftes Sprachmodell kann ein Unigramm-Modell sein, das die Häufigkeit anzeigt, mit der ein Wort kontextunabhängig auftritt, oder ein Bigramm-Modell, das die Häufigkeit anzeigt, mit der ein Wort im Kontext eines vorangehenden Wortes auftritt. Beispielsweise kann ein Bigramm-Modell anzeigen, dass auf das Wort mit höherer Wahrscheinlichkeit ein Substantiv oder Adjektiv folgt. Das Sprachmodell kann ferner ein Trigramm-Modell sein, das die Häufigkeit, mit der ein Wort im Kontext von zwei vorangehenden Wörtern auftritt, oder eine andere Variation anzeigt.
  • Ein weiteres beispielhaftes Sprachmodell ist ein Kategorie-Sprachmodell, das die Häufigkeit anzeigt, mit der ein Wort im Kontext einer vorangehenden Kategorie auftritt. Beispielsweise kann ein einfaches Kategoriemodell solche Kategorien wie „Substantive" oder „Adjektive" enthalten. Zum Beispiel kann ein solches einfaches Kategoriemodell anzeigen, dass das Wort "is" mit höherer Wahrscheinlichkeit nach Wörtern aus der Kategorie der "Substantive" als nach Wörtern aus der Kategorie der „Adjektive" auftritt. Komplexere Kategoriemodelle können solche Kategorien wie „Orte", „Sportadjektive" oder „medizinische Substantive" beinhalten. Wie beim Bigramm-Modell kann das Kategoriemodell aus einem großen Datenbestand erstellt werden und Wahrscheinlichkeiten enthalten, die sich während der Verwendung nicht ändern.
  • Weitere beispielhafte Sprachmodelle können ein thematisches Unigramm-Sprachmodell, ein thematisches Bigramm-Sprachmodell und ein thematisches Trigramm-Sprachmodell beinhalten, die jeweils auf einer mit einem Nutzer verknüpften Textquelle beruhen können. In einer Realisierung kann das thematische Sprachmodell ein einzelnes mit einem besonderen Nutzer verknüpftes Sprachmodell beinhalten, das Unigramm-, Bigramm- und Trigramm-Informationen enthält.
  • Die verschiedenen oben erörterten Sprachmodelle können in einem einzelnen Sprachmodell enthalten oder in ein oder mehrere verknüpfte Sprachmodelle aufgeteilt sein. Jeder Nutzer des Spracherkennungssystems kann ein oder mehrere Sprachmodelle haben.
  • 3 illustriert einen Prozess 300 zum Aufbau eines Sprachmodells zur Verwendung bei der Spracherkennung. Prozess 300 beinhaltet typischerweise die Identifizierung einer nutzerbezogenen Textquelle ohne Interaktion des Nutzers (Schritt 310), das Abrufen von Text aus der identifizierten Textquelle ohne Interaktion des Nutzers (Schritt 320) und den Aufbau eines auf den Nutzer bezogenen Sprachmodells anhand des abgerufenen Textes (Schritt 330).
  • Der Prozess 300 automatisiert den Prozess des Aufbaus eines nutzerbezogenen Sprachmodells und kann ohne Interaktion des Nutzers durchgeführt werden. In einer Realisierungsform wird der Prozess 300 als Teil des Datenerfassungs- und Datenregistrierungsprozesses (Enrollment) eines Nutzers durchgeführt. 4 zeigt einen beispielhaften Screenshot einer grafischen Nutzerschnittstelle (Graphical User Interface – kurz GUI) 400, die während des Enrollment-Prozesses als Bestandteil eines Assistenten zur Einrichtung eines neuen Nutzers (new user wizard) dem Nutzer zur Anzeige gebracht werden kann. Diese Realisierungsform benötigt als einzige Interaktion des Nutzers eine Bestätigungshandlung des Nutzers, mit der der Start des automatisierten Prozesses 300 bestätigt wird. Beispielsweise zeigt die grafische Nutzerschnittstelle (GUI) 400 eine „Start"-Schaltfläche 410, die ein Nutzer zur Auslösung des Prozesses 300 anwählen kann. Nach dieser Einleitungsbestätigung des Prozesses 300 ist keine weitere Interaktion des Nutzers mehr erforderlich. Der Nutzer hat die Option, den Prozess 300 in der Enrollment-Phase zu überspringen, wie durch Ankreuzen des Kästchens 415 mit der Funktion „Skip this Step" („Diesen Schritt überspringen").
  • In einer anderen Realisierungsform läuft der Prozess 300 zu anderen Zeitpunkten nach erfolgtem Enrollment-Prozess des neuen Nutzers ab. Beispielsweise kann der Nutzer in regelmäßigen oder per Zufallsprinzip bestimmten Zeitabständen zur Auslösung des Prozesses 300 aufgefordert werden. In einer Realisierungsform wird ein Popup-Fenster zur Aufforderung des Nutzers verwendet. Zusätzlich oder alternativ dazu kann der Nutzer die Auslösung des Prozesses 300 selbst anwählen. 5 als Screenshot zeigt eine beispielhafte GUI 500, die einem Nutzer nach erfolgter Einrichtung und Registrierung des neuen Nutzers gelegentlich zur Anzeige gebracht wird. Die einzige Interaktion, die in dieser Realisierungsform vom Nutzer gefordert wird, ist eine Bestätigungshandlung des Nutzers, mit der er den Start des automatisierten Prozesses 300 bestätigt. Zum Beispiel bietet die GUI 500 eine „Start"-Schaltfläche 510, die ein Nutzer zur Auslösung des Prozesses 300 anwählen kann. Wurde der Start des Vorgangs bestätigt, läuft der Prozess ohne weitere Interaktion des Nutzers ab. Somit kann der Prozess 300 viele Male ausgeführt werden, wobei das Sprachmodell für den Nutzer jedes Mal aktualisiert wird und das Leistungsvermögen der Spracherkennung verbessert.
  • In einer Realisierungsform wird der gesamte Prozess 300 ohne Interaktion des Nutzers ausgeführt. Ohne Interaktion des Nutzers bedeutet, dass nach dem ausgelösten bzw. bestätigten Start des Prozesses 300 keine weitere Interaktion des Nutzers notwendig ist, um den Prozess mit den Schritten Identifizierung einer nutzerbezogenen Textquelle (Schritt 310), Abrufen von Text aus der identifizierten Textquelle (Schritt 320) und Aufbau eines nutzerbezogenen Sprachmodells aus dem abgerufenen Text (Schritt 330) auszuführen.
  • In einer weiteren beispielhaften Realisierung wird ein Teil des Prozesses 300 ohne Interaktion des Nutzers durchgeführt, während andere Teile des Prozesses 300 mit Interaktion des Nutzers durchgeführt werden. Beispielsweise kann die Identifizierung einer nutzerbezogenen Textquelle (Schritt 310) ohne Interaktion des Nutzers durchgeführt werden. Nach erfolgter Identifizierung der Textquelle (Schritt 310) können andere Teile des Prozesses 300 mit Interaktion des Nutzers erfolgen, wie beispielsweise die Aufforderung an den Nutzer zur Auswahl von aus der Textquelle abgerufenen Wörtern zwecks Übernahme in ein Vokabular.
  • Als Bestandteil des Prozesses 300 kann eine nutzerbezogene Textquelle ohne Interaktion des Nutzers identifiziert werden (Schritt 310). Eine nutzerbezogene Textquelle kann Dateien umfassen, die mit dem Nutzer verknüpften Text enthalten. In einer Realisierungsform kann der Prozess 300 zur Identifizierung von nutzerbezogenen Textquellen feststellen, welche Anwendungsprogramme auf dem Rechner eines Nutzers gespeichert sind. Beispielsweise kann Prozess 300 ohne Interaktion des Nutzers feststellen, welche PIM-Programme (z. B. Microsoft® Gutlook®, Gutlook® Express und Lotus Notes®) auf dem Computer des Nutzers installiert sind. Der Prozess 300 kann daraufhin vom Nutzer versendete E-Mails als eine nutzerbezogene Textquelle identifizieren. Beispielsweise kann der Prozess 300 zur Identifizierung der von einem Nutzer versendeten E-Mails die automatisierte Objekteinbettung (OLE-Automation) verwenden. Zusätzlich oder alternativ dazu kann der Prozess 300 die Kontaktinformationen eines Nutzers als eine nutzerbezogene Textquelle identifizieren.
  • Zusätzlich zu den versendeten E-Mails und Kontaktdaten eines Nutzers können andere nutzerbezogenen Textquellen identifiziert werden, wie beispielsweise vom Nutzer verfasste Dokumente und an einem bestimmten Speicherort auf einem Rechner abgelegte Dokumente (z. B. Dokumente, die in einem Ordner namens „My Dokuments" oder „Eigene Dateien" eines Windows-Nutzers abgelegt sind). Als Textquellen für den Textabruf können unterschiedliche Dokumenttypen (Dateierweiterungen) identifiziert werden, die mit verschiedenen Anwendungsprogrammen (z. B. Anwendungsprogrammen 122 gemäß 1) verknüpft sein können. Beispielsweise kann zur Identifizierung spezieller Dokumenttypen (z. B. .doc, .html, .wpd und .rtf) die OLE-Automatisierung herangezogen werden.
  • Nach erfolgter Identifizierung nutzerbezogener Textquellen beinhaltet der Prozess 300 den Abruf von Text aus der identifizierten Textquelle (Schritt 320). Der Textabruf aus der identifizierten Textquelle kann den Abruf von Rohtext beinhalten. Als Teil des Abrufvorgangs können unerwünschte Positionen aus der Textquelle herausgefiltert werden. Wenn die Textquelle eine versendete E-Mail eines Nutzers ist, können aus der E-Mail beispielsweise Kopfzeilendaten (Header-Informationen), Adressinformationen und Antwortinformationen herausgefiltert werden. Die Filterung der Antwortinformationen kann dadurch erfolgen, dass ermittelt wird, welcher Text im Dokument neu ist und welcher ursprüngliche Text zur Beantwortung übernommen wurde. Andere Positionen wie Binärdateien und fremdsprachige Dokumente können während des Textabrufvorgangs identifiziert und herausgefiltert werden.
  • In einer Realisierungsform kann durch Verwendung von Filterregeln bestimmt werden, aus welchen Dokumenten Text abgerufen werden soll. Dabei können eine oder mehrere Filterregeln gleichzeitig verwendet werden. Beispielsweise können in einer Filterregel nur Dokumente erfasst sein, die innerhalb eines bestimmten Zeitabschnitts (z. B. während der letzten neunzig Tage) bearbeitet wurden. Eine andere Filterregel kann ausschließlich Dokumente mit einer bestimmten Textzeichenzahl erfassen (z. B. mehr als 512 Textzeichen).
  • Nach Abruf des Textes (Schritt 320) wird mit dem abgerufenen Text ein auf den Nutzer bezogenes Sprachmodell aufgebaut (Schritt 330). Mit den abgerufenen Informationen aus dem Text lassen sich ein oder mehrere Sprachmodelle aufbauen. In einer beispielhaften Realisierungsform wird ein Sprachmodell für den speziellen Nutzer mit Wortzählungen aus dem Rohtext aufgebaut. Das Sprachmodell kann ein Unigramm-Sprachmodell, ein Bigramm-Sprachmodell und/oder ein Trigramm-Sprachmodell beinhalten. Die unterschiedlichen Sprachmodelle (z. B. Unigramm, Bigramm und Trigramm) können in einem einzelnen kombinierten Sprachmodell für den speziellen Nutzer enthalten sein oder sich in separaten Sprachmodellen für den speziellen Nutzer befinden.
  • Das Sprachmodell kann aufgebaut werden, indem die abgerufenen Wörter in ein oder mehrere Vokabulare eingeschrieben werden. Beispielsweise können die abgerufenen Wörter gescannt werden, um die für das Vokabular neuen Wörter gegenüber den im Vokabular bereits enthaltenen Wörtern festzustellen. In einer Realisierungsform können die neuen Wörter ohne Eingreifen des Nutzers in das Vokabular eingeschrieben werden. Wenn Text aus Kontaktinformationen eines Nutzers gewonnen wird, können beispielsweise die in den Kontaktinformationen enthaltenen Namen ohne Interaktion des Nutzers in das Vokabular übernommen werden. Gleicherweise können neue Wörter aus anderen Textquellen, wie zum Beispiel aus versendeten E-Mails des Nutzers, aus vom Nutzer erstellten Dokumenten und aus Dokumenten im Ordner „Meine Dateien" des Nutzers, ohne Interaktion des Nutzers in das Vokabular eingeschrieben werden. Für Wörter, die dem Vokabular hinzugefügt wurden, kann das System mit Hilfe der Punktuationsbestimmung die Aussprache der Wörter ermitteln. Alternativ dazu kann das System die Aussprache der neuen Wörter dadurch bestimmen, dass es den Nutzer dazu auffordert, die neuen Wörter auszusprechen.
  • In einer weiteren Realisierungsform können die abgerufenen Wörter, die gescannt und als neue Wörter ermittelt wurden, dem Nutzer zur Anzeige gebracht werden. Der Nutzer kann dazu aufgefordert werden, die für die Übernahme ins Vokabular bestimmten Wörter auszuwählen.
  • In einer beispielhaften Realisierungsform kann die Dauer des Prozesses 300 eingeschränkt werden. Beispielsweise kann der Prozess 300 auf eine maximale Zeitdauer eingestellt werden (z. B. dreißig Minuten). Wenn der Prozess 300 bei Ablauf des eingestellten Zeitlimits noch nicht abgeschlossen ist, werden die bis zu diesem Zeitpunkt erhaltenen Prozessergebnisse abgespeichert und der Prozess wird beendet. Die Zeiteinschränkung kann verwendet werden, um die Zeitdauer einzuschränken, in der der Rechner eines Nutzers eventuell nicht verfügbar ist. Der Prozess 300 kann auch so konfiguriert werden, dass er im Hintergrund abläuft.
  • In einer anderen beispielhaften Realisierungsform kann der Rohtext, der aus der identifizierten Textquelle abgerufen wird, mengenmäßig eingeschränkt werden. Beispielsweise kann für den Text eine Obergrenze eingestellt werden (z. B. ein Megabyte), so dass der Prozess nur bis zu diesem Mengenlimit läuft.
  • In einer beispielhaften Realisierungsform kann jeder Nutzer mehrere Vokabulare haben. Der Prozess 300 kann einmalig ausgeführt werden und die erhaltenen Wortzählungen aus dem abgerufenen Text können auf jedes der verschiedenen Vokabulare angewendet werden. Zusätzlich oder alternativ dazu kann der Prozess 300 für jedes Vokabular ausgeführt werden.
  • Die Spracherkennungsleistung kann erheblich verbessert werden, wenn das Sprachmodell gut auf den diktierten Text abgestimmt wird. Der automatisierte Aspekt des Prozesses 300 gestattet dem Nutzer einen problemloseren Aufbau eines nutzerbezogenen Sprachmodells, indem Textquellen, die vermutlich gut mit dem von einem speziellen Nutzer erstellten Text übereinstimmen, ohne Eingreifen des Nutzers lokalisiert werden. Die Wahrscheinlichkeit, dass ein Nutzer ein Sprachmodell aufbaut, ist geringer, wenn der Nutzer dazu mehrere Schritte ausführen muss. Beispielsweise kann es für den Nutzer mühselig und nicht unbedingt effizient sein, wenn er Textquellen lokalisieren, identifizieren und für den Aufbau eines Sprachmodells vorlegen soll. Eine andere Mühe kann darin bestehen, dass der Nutzer nach erfolgter Lokalisierung, Identifizierung und Vorlage von Textquellen sich an anschließenden Interaktionen beteiligen muss, wie beispielsweise Auswahl oder Bestätigung von Wörtern aus dem vorgelegten Text, die in das Sprachmodell und/oder ins Vokabular zu übernehmen sind.
  • Die beschriebenen Systeme, Methoden und Techniken können in digitaler und/oder analoger Elektronikschaltung, Hardware, Firmware, Software oder in Kombinationen dieser Elemente realisiert werden. Vorrichtungen zur Realisierung dieser Techniken können geeignete Eingabe- und Ausgabegeräte, einen Computer-Prozessor und ein Computerprogramm-Produkt enthalten, das zwecks Ausführung durch einen programmierbaren Prozessor in einem maschinenlesbaren Speichergerät materiell integriert ist. Ein diese Techniken verkörperndes Verfahren kann durch einen programmierbaren Prozessor realisiert werden, der ein Programm von Anweisungen ausführt, demzufolge gewünschte Funktionen durch Betrieb nach Eingabedaten bei Erzeugung einer entsprechenden Ausgabe auszuführen sind. Die Techniken können in einem oder mehreren Computerprogrammen realisiert werden, die in einem programmierbaren System ausführbar sind, das mindestens einen programmierbaren Prozessor beinhaltet, der so angeschlossen ist, dass er Daten und Anweisungen von einem Datenspeichersystem, wenigstens einem Eingabegerät und wenigstens einem Ausgabegerät empfängt bzw. dorthin sendet. Jedes Computerprogramm kann in einer höheren prozeduralen oder objektorientierten Programmiersprache oder nach Wunsch in Assemblersprache oder Maschinensprache realisiert werden; und die Sprache kann auf jeden Fall eine kompilierte oder interpretierte Sprache sein. Zu geeigneten Prozessoren gehören beispielsweise sowohl allgemeine als auch zweckgebundene Mikroprozessoren. Im Allgemeinen erhält ein Prozessor Anweisungen und Daten aus einem Festspeicher (ROM) und/oder einem Direktzugriffsspeicher (RAM). Geeignete Speichergeräte zur materiellen Realisierung von Computerprogrammdaten und -anweisungen sind alle Formen nichtflüchtiger Speicher, darunter beispielsweise Halbleiterspeichergeräte wie EPROM (Erasable Programmable Read-Only Memory, EEPROM (Electrically Erasable Programmable Read-Only Memory) und Flash-Speichergeräte; Magnetplattenspeicher wie interne Festplatten und Wechselplatten; magnetooptische Speichermedien; und CD-ROM (Compact Disc Read-Only Memory). Alle vorgenannten Speichergeräte können durch speziell entworfene anwendungsspezifische integrierte Schaltungen (ASICs) ergänzt oder in solche eingebaut werden.
  • Es versteht sich, dass verschiedene Modifikationen möglich sind, ohne vom Umfang der Patentansprüche abzuweichen. Beispielsweise könnten auch dann noch vorteilhafte Ergebnisse erzielt werden, wenn Verfahrensschritte der offenbarten Techniken in einer anderen Reihenfolge durchgeführt und/oder Komponenten in den offenbarten System in anderer Art kombiniert und/oder ersetzt und/oder durch andere Komponenten ergänzt würden. Dementsprechend sind andere Realisierungsformen im Umfang der folgenden Ansprüche mit enthalten. Der Umfang der Erfindung soll allein durch diese Ansprüche begrenzt werden. Fig. 1
    108 Anzeigegerät
    128 Digitaler Port
    132 Festplattenlaufwerk
    118 Speicher
    120 Betriebssystem
    122 Anwendungsprogramm
    124 Spracherkennungssoftware
    114 E/A-Einheit
    116 Soundkarte
    112 CPU
    126 Analoger Port
    Fig. 2
    205 Digitale Samples
    200 Frontend-Bearbeitungsmodul
    210 Parameter-Frames
    220 Steuer/Schnittstellen-Modul
    control Steuerung
    recognition candidates Erkennungskandidaten
    215 Spracherkenner
    requests Anfragen
    lattice of words Wortgitter
    240 Vorfilterungsprozedur
    230 Aktives Vokabular
    235 Akustische Modelle
    225 Constraint-Grammatiken
    245 Backup-Wörterbuch
    Fig. 3
    310 Identifizierung einer nutzerbezogenen Textquelle ohne Interaktion des Nutzers
    320 Abrufen von Text aus der ohne Interaktion des Nutzers identifizierten Textquelle
    330 Aufbau eines nutzerbezogenen Sprachmodells aus dem abgerufenen Text

Claims (12)

  1. Verfahren zum Aufbau eines Sprachmodells zur Verwendung bei der Spracherkennung, wobei das Sprachmodell eine Wahrscheinlichkeit angibt, dass der dem akustischen Modell entsprechende Text in der Rede auftritt, wobei das Verfahren folgende Schritte beinhaltet: Identifikation einer nutzerbezogenen Textquelle ohne Interaktion des Nutzers; Abrufen von Text aus der identifizierten Textquelle; und Aufbau eines nutzerbezogenen Sprachmodells aus dem abgerufenen Text; DADURCH GEKENNZEICHNET, DASS die Identifikation der Textquelle ohne Interaktion des Nutzers auch beinhaltet, dass vom Nutzer erstellte Dokumente und/oder Dokumente, die an einem bestimmten Ort auf dem Rechner des Nutzers abgespeichert sind, ohne Interaktion des Nutzers identifiziert werden.
  2. Verfahren nach Anspruch 1, wobei die Identifikation der Textquelle auch beinhaltet, dass vom Nutzer gesendete e-Mails ohne Interaktion des Nutzers identifiziert werden.
  3. Verfahren nach Anspruch 2, ferner beinhaltend: Scannen der e-Mails zur Identifikation von Wörtern aus den e-Mails; und Bestimmung derjenigen Wörter aus den gescannten Wörtern, die zum Aufbau des Sprachmodells verwendet werden.
  4. Verfahren zum Aufbau eines Sprachmodells zur Verwendung bei der Spracherkennung, wobei das Sprachmodell eine Wahrscheinlichkeit angibt, dass der dem akustischen Modell entsprechende Text in der Rede auftritt, wobei das Verfahren folgende Schritte beinhaltet: Identifikation einer nutzerbezogenen Textquelle ohne Interaktion des Nutzers; Abrufen von Text aus der identifizierten Textquelle; und Aufbau eines nutzerbezogenen Sprachmodells aus dem abgerufenen Text; DADURCH GEKENNZEICHNET, DASS die Identifikation der Textquelle ohne Interaktion des Nutzers auch beinhaltet, dass Kontaktinformationen des Nutzers ohne Interaktion des Nutzers identifiziert werden.
  5. Verfahren nach Anspruch 4, wobei das Abrufen des Textes auch beinhaltet, dass Namen aus den Kontaktinformationen des Nutzers ohne Interaktion des Nutzers aufgefunden werden, ferner beinhaltend: Scannen der Namen zur Identifikation von Namen, die nicht in einem Vokabular von Wörtern enthalten sind; und Hinzufügen der identifizierten Namen zum Vokabular ohne Interaktion des Nutzers.
  6. Verfahren nach einem der vorhergehenden Ansprüche, enthaltend: Scannen des abgerufenen Textes zur Identifizierung von Wörtern aus dem Text, die nicht in einem Vokabular von Wörtern enthalten sind; und Hinzufügen der identifizierten Wörter zum Vokabular ohne Interaktion des Nutzers.
  7. Verfahren nach einem der Ansprüche 1 bis 5, ferner beinhaltend: Scannen des abgerufenen Textes zur Identifizierung von Wörtern aus dem Text, die nicht in einem Vokabular von Wörtern enthalten sind; Anzeige der identifizierten Wörter für den Nutzer; Aufforderung des Nutzers zur Auswahl von Wörtern, die in das Vokabular aufzunehmen sind; und Hinzufügen der vom Nutzer ausgewählten Wörter zum Vokabular.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Aufbau des Sprachmodells auch beinhaltet, dass mit Hilfe des abgerufenen Textes mindestens eines von Unigrammen, Bigrammen und Trigrammen berechnet wird.
  9. Verfahren nach einem der vorhergehenden Ansprüche, ferner beinhaltend die Durchführung der Identifikation, des Abrufens und des Modellaufbaus als Teil eines Datenerfassungsprozesses des Nutzers.
  10. Computerprogramm zum Aufbau eines Sprachmodells zur Verwendung bei der Spracherkennung, wobei dieses Programm auf einem computerlesbaren Medium abgespeichert ist und wobei das Computerprogramm Codesegmente beinhaltet, die einen Computer dazu veranlassen, die einzelnen Schritte des Verfahrens nach einem der vorhergehenden Ansprüche durchzuführen, wenn dieses Computerprogramm auf diesem Computer ausgeführt wird.
  11. System zum Aufbau eines Sprachmodells zur Verwendung bei der Spracherkennung, beinhaltend: Mittel zur Identifikation einer nutzerbezogenen Textquelle ohne Interaktion des Nutzers; Mittel zum Abrufen von Text aus der identifizierten Textquelle; und Mittel zum Aufbau eines nutzerbezogenen Sprachmodells aus dem abgerufenen Text; DADURCH GEKENNZEICHNET, DASS das Mittel für die Identifikation der Textquelle ohne Interaktion des Nutzers so angeordnet ist, dass es vom Nutzer erstellte Dokumente und/oder Dokumente, die an einem bestimmten Ort auf dem Computer des Nutzers abgespeichert sind, ohne Interaktion des Nutzers identifiziert.
  12. System zum Aufbau eines Sprachmodells zur Verwendung bei der Spracherkennung, beinhaltend: Mittel zur Identifikation einer nutzerbezogenen Textquelle ohne Interaktion des Nutzers; Mittel zum Abrufen von Text aus der identifizierten Textquelle; und Mittel zum Aufbau eines nutzerbezogenen Sprachmodells aus dem abgerufenen Text; DADURCH GEKENNZEICHNET, DASS das Mittel für die Identifikation der Textquelle ohne Interaktion des Nutzers so angeordnet ist, dass es Kontaktinformationen des Nutzers ohne Interaktion des Nutzers identifiziert.
DE60318544T 2002-11-15 2003-11-14 Sprachmodell für die Spracherkennung Expired - Lifetime DE60318544T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US294901 2002-11-15
US10/294,901 US7584102B2 (en) 2002-11-15 2002-11-15 Language model for use in speech recognition

Publications (2)

Publication Number Publication Date
DE60318544D1 DE60318544D1 (de) 2008-02-21
DE60318544T2 true DE60318544T2 (de) 2009-01-22

Family

ID=32297064

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60318544T Expired - Lifetime DE60318544T2 (de) 2002-11-15 2003-11-14 Sprachmodell für die Spracherkennung

Country Status (3)

Country Link
US (1) US7584102B2 (de)
EP (1) EP1429313B1 (de)
DE (1) DE60318544T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010049869A1 (de) * 2010-10-28 2012-05-03 Volkswagen Ag Verfahren zum Bereitstellen einer Sprachschnittstelle in einem Fahrzeug und Vorrichtung dazu

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490092B2 (en) 2000-07-06 2009-02-10 Streamsage, Inc. Method and system for indexing and searching timed media information based upon relevance intervals
US7249018B2 (en) * 2001-01-12 2007-07-24 International Business Machines Corporation System and method for relating syntax and semantics for a conversational speech application
US20040215650A1 (en) * 2003-04-09 2004-10-28 Ullattil Shaji Interfaces and methods for group policy management
US8244841B2 (en) * 2003-04-09 2012-08-14 Microsoft Corporation Method and system for implementing group policy operations
US7783672B2 (en) * 2003-04-09 2010-08-24 Microsoft Corporation Support mechanisms for improved group policy management user interface
US20050120300A1 (en) * 2003-09-25 2005-06-02 Dictaphone Corporation Method, system, and apparatus for assembly, transport and display of clinical data
US7818308B2 (en) * 2003-10-01 2010-10-19 Nuance Communications, Inc. System and method for document section segmentation
US7774196B2 (en) * 2003-10-01 2010-08-10 Dictaphone Corporation System and method for modifying a language model and post-processor information
US7624018B2 (en) * 2004-03-12 2009-11-24 Microsoft Corporation Speech recognition using categories and speech prefixing
US8942985B2 (en) * 2004-11-16 2015-01-27 Microsoft Corporation Centralized method and system for clarifying voice commands
US7606708B2 (en) * 2005-02-01 2009-10-20 Samsung Electronics Co., Ltd. Apparatus, method, and medium for generating grammar network for use in speech recognition and dialogue speech recognition
US8160884B2 (en) * 2005-02-03 2012-04-17 Voice Signal Technologies, Inc. Methods and apparatus for automatically extending the voice vocabulary of mobile communications devices
US8165870B2 (en) * 2005-02-10 2012-04-24 Microsoft Corporation Classification filter for processing data for creating a language model
EP1791114B1 (de) * 2005-11-25 2009-08-12 Swisscom AG Verfahren zur Personalisierung eines Dienstes
US8831943B2 (en) * 2006-05-31 2014-09-09 Nec Corporation Language model learning system, language model learning method, and language model learning program
US8346555B2 (en) * 2006-08-22 2013-01-01 Nuance Communications, Inc. Automatic grammar tuning using statistical language model generation
US11222185B2 (en) 2006-10-26 2022-01-11 Meta Platforms, Inc. Lexicon development via shared translation database
JP2008197229A (ja) * 2007-02-09 2008-08-28 Konica Minolta Business Technologies Inc 音声認識辞書構築装置及びプログラム
US8949130B2 (en) 2007-03-07 2015-02-03 Vlingo Corporation Internal and external speech recognition use with a mobile communication facility
US10056077B2 (en) 2007-03-07 2018-08-21 Nuance Communications, Inc. Using speech recognition results based on an unstructured language model with a music system
US8886540B2 (en) 2007-03-07 2014-11-11 Vlingo Corporation Using speech recognition results based on an unstructured language model in a mobile communication facility application
US8635243B2 (en) 2007-03-07 2014-01-21 Research In Motion Limited Sending a communications header with voice recording to send metadata for use in speech recognition, formatting, and search mobile search application
US8886545B2 (en) 2007-03-07 2014-11-11 Vlingo Corporation Dealing with switch latency in speech recognition
US8949266B2 (en) 2007-03-07 2015-02-03 Vlingo Corporation Multiple web-based content category searching in mobile search application
US8838457B2 (en) 2007-03-07 2014-09-16 Vlingo Corporation Using results of unstructured language model based speech recognition to control a system-level function of a mobile communications facility
US8880405B2 (en) 2007-03-07 2014-11-04 Vlingo Corporation Application text entry in a mobile environment using a speech processing facility
WO2009078256A1 (ja) * 2007-12-18 2009-06-25 Nec Corporation 発音変動規則抽出装置、発音変動規則抽出方法、および発音変動規則抽出用プログラム
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
US8166297B2 (en) 2008-07-02 2012-04-24 Veritrix, Inc. Systems and methods for controlling access to encrypted data stored on a mobile device
US20100057793A1 (en) * 2008-07-28 2010-03-04 Ari Goldberg System and Method for Disseminating and Transferring Contact Information
US8032537B2 (en) * 2008-12-10 2011-10-04 Microsoft Corporation Using message sampling to determine the most frequent words in a user mailbox
US9442933B2 (en) 2008-12-24 2016-09-13 Comcast Interactive Media, Llc Identification of segments within audio, video, and multimedia items
US8713016B2 (en) 2008-12-24 2014-04-29 Comcast Interactive Media, Llc Method and apparatus for organizing segments of media assets and determining relevance of segments to a query
US11531668B2 (en) 2008-12-29 2022-12-20 Comcast Interactive Media, Llc Merging of multiple data sets
US8176043B2 (en) 2009-03-12 2012-05-08 Comcast Interactive Media, Llc Ranking search results
US20100250614A1 (en) * 2009-03-31 2010-09-30 Comcast Cable Holdings, Llc Storing and searching encoded data
US8533223B2 (en) 2009-05-12 2013-09-10 Comcast Interactive Media, LLC. Disambiguation and tagging of entities
US9892730B2 (en) * 2009-07-01 2018-02-13 Comcast Interactive Media, Llc Generating topic-specific language models
US9183834B2 (en) * 2009-07-22 2015-11-10 Cisco Technology, Inc. Speech recognition tuning tool
US8571866B2 (en) * 2009-10-23 2013-10-29 At&T Intellectual Property I, L.P. System and method for improving speech recognition accuracy using textual context
US9262397B2 (en) 2010-10-08 2016-02-16 Microsoft Technology Licensing, Llc General purpose correction of grammatical and word usage errors
US9047867B2 (en) 2011-02-21 2015-06-02 Adobe Systems Incorporated Systems and methods for concurrent signal recognition
US8554553B2 (en) 2011-02-21 2013-10-08 Adobe Systems Incorporated Non-negative hidden Markov modeling of signals
US8855997B2 (en) * 2011-07-28 2014-10-07 Microsoft Corporation Linguistic error detection
US8965763B1 (en) 2012-02-02 2015-02-24 Google Inc. Discriminative language modeling for automatic speech recognition with a weak acoustic model and distributed training
US8843364B2 (en) 2012-02-29 2014-09-23 Adobe Systems Incorporated Language informed source separation
US8543398B1 (en) 2012-02-29 2013-09-24 Google Inc. Training an automatic speech recognition system using compressed word frequencies
JP5942559B2 (ja) * 2012-04-16 2016-06-29 株式会社デンソー 音声認識装置
US8374865B1 (en) 2012-04-26 2013-02-12 Google Inc. Sampling training data for an automatic speech recognition system based on a benchmark classification distribution
US8805684B1 (en) 2012-05-31 2014-08-12 Google Inc. Distributed speaker adaptation
US8571859B1 (en) 2012-05-31 2013-10-29 Google Inc. Multi-stage speaker adaptation
US8554559B1 (en) 2012-07-13 2013-10-08 Google Inc. Localized speech recognition with offload
US9123333B2 (en) 2012-09-12 2015-09-01 Google Inc. Minimum bayesian risk methods for automatic speech recognition
EP2851896A1 (de) 2013-09-19 2015-03-25 Maluuba Inc. Spracherkennung unter Verwendung von Phonemanpassung
US9601108B2 (en) 2014-01-17 2017-03-21 Microsoft Technology Licensing, Llc Incorporating an exogenous large-vocabulary model into rule-based speech recognition
US9286892B2 (en) 2014-04-01 2016-03-15 Google Inc. Language modeling in speech recognition
US10749989B2 (en) 2014-04-01 2020-08-18 Microsoft Technology Licensing Llc Hybrid client/server architecture for parallel processing
US9437189B2 (en) * 2014-05-29 2016-09-06 Google Inc. Generating language models
US10607604B2 (en) * 2017-10-27 2020-03-31 International Business Machines Corporation Method for re-aligning corpus and improving the consistency
CN111768604B (zh) * 2020-06-11 2021-02-19 珠海格力电器股份有限公司 遥控器控制方法、遥控器及电器设备
US11501762B2 (en) * 2020-07-29 2022-11-15 Microsoft Technology Licensing, Llc Compounding corrective actions and learning in mixed mode dictation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101468A (en) * 1992-11-13 2000-08-08 Dragon Systems, Inc. Apparatuses and methods for training and operating speech recognition systems
US6212498B1 (en) 1997-03-28 2001-04-03 Dragon Systems, Inc. Enrollment in speech recognition
US6167377A (en) * 1997-03-28 2000-12-26 Dragon Systems, Inc. Speech recognition language models
WO1999018556A2 (en) * 1997-10-08 1999-04-15 Koninklijke Philips Electronics N.V. Vocabulary and/or language model training
US6418431B1 (en) * 1998-03-30 2002-07-09 Microsoft Corporation Information retrieval and speech recognition based on language models
US6308151B1 (en) * 1999-05-14 2001-10-23 International Business Machines Corp. Method and system using a speech recognition system to dictate a body of text in response to an available body of text
US6334102B1 (en) * 1999-09-13 2001-12-25 International Business Machines Corp. Method of adding vocabulary to a speech recognition system
US6484136B1 (en) * 1999-10-21 2002-11-19 International Business Machines Corporation Language model adaptation via network of similar users
US7035789B2 (en) * 2001-09-04 2006-04-25 Sony Corporation Supervised automatic text generation based on word classes for language modeling
US6901364B2 (en) * 2001-09-13 2005-05-31 Matsushita Electric Industrial Co., Ltd. Focused language models for improved speech input of structured documents
JP3795409B2 (ja) * 2001-09-14 2006-07-12 富士通株式会社 音声認識装置及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010049869A1 (de) * 2010-10-28 2012-05-03 Volkswagen Ag Verfahren zum Bereitstellen einer Sprachschnittstelle in einem Fahrzeug und Vorrichtung dazu
DE102010049869B4 (de) 2010-10-28 2023-03-16 Volkswagen Ag Verfahren zum Bereitstellen einer Sprachschnittstelle in einem Fahrzeug und Vorrichtung dazu

Also Published As

Publication number Publication date
EP1429313A2 (de) 2004-06-16
US7584102B2 (en) 2009-09-01
DE60318544D1 (de) 2008-02-21
EP1429313A3 (de) 2005-03-30
US20040098263A1 (en) 2004-05-20
EP1429313B1 (de) 2008-01-09

Similar Documents

Publication Publication Date Title
DE60318544T2 (de) Sprachmodell für die Spracherkennung
DE69914131T2 (de) Positionshandhabung bei der Spracherkennung
DE69923379T2 (de) Nicht-interaktive Registrierung zur Spracherkennung
DE3788488T2 (de) Sprachenübersetzungssystem.
DE69834553T2 (de) Erweiterbares spracherkennungssystem mit einer audio-rückkopplung
US6912498B2 (en) Error correction in speech recognition by correcting text around selected area
DE69829235T2 (de) Registrierung für die Spracherkennung
DE69822296T2 (de) Mustererkennungsregistrierung in einem verteilten system
DE68928097T2 (de) Spracherkennungssystem
DE69827988T2 (de) Sprachmodelle für die Spracherkennung
DE69423838T2 (de) Semantische Gleichereignisfilterung für Spracherkennung und Signalübersetzungsanwendungen
DE602004012347T2 (de) Spracherkennung
US6064959A (en) Error correction in speech recognition
DE69632517T2 (de) Erkennung kontinuierlicher Sprache
DE60033106T2 (de) Korrektur der Betriebsartfehler, Steuerung oder Diktieren, in die Spracherkennung
DE69908254T2 (de) System zur Suchoptimierung und Verfahren zur kontinuierlichen Spracherkennung
DE69634239T2 (de) Erkennung kontinuierlich gesprochener Texte und Befehle
DE602005001125T2 (de) Erlernen der Aussprache neuer Worte unter Verwendung eines Aussprachegraphen
DE60201262T2 (de) Hierarchische sprachmodelle
DE69330427T2 (de) Spracherkennungssystem für sprachen mit zusammengesetzten wörtern
DE69607601T2 (de) System und verfahren zur spracherkennung mit automatischer erzeugung einer syntax
EP0874353A2 (de) Erzeugung von Aussprachevarianten für die Spracherkennung
DE60318385T2 (de) Sprachverarbeitungseinrichtung und -verfahren, aufzeichnungsmedium und programm
DE602004004310T2 (de) System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen
US20020091520A1 (en) Method and apparatus for text input utilizing speech recognition

Legal Events

Date Code Title Description
8364 No opposition during term of opposition