-
GRUNDLAGEN
DER ERFINDUNG
-
Technisches
Gebiet
-
Diese
Erfindung betrifft das Gebiet der Spracherkennung und dialogbasierter
Systeme und insbesondere die Verwendung von Sprachmodellen zur Umwandlung
von Sprache in Text.
-
Beschreibung
des Standes der Technik
-
Spracherkennung
ist der Prozess, durch den ein von einem Mikrofon empfangenes akustisches Signal
von einem Computer in einen Satz von Textwörtern, Zahlen oder Symbolen
umgewandelt wird. Diese erkannten Wörter können sodann in einer Vielfalt
von Computersoftwareanwendungen für verschiedene Zwecke verwendet
werden, beispielsweise für
Dokumenterstellungen, Dateneingaben sowie Befehl und Steuerungen.
Verbesserungen an Spracherkennungssystemen stellen eine wichtige
Möglichkeit
zur Steigerung der Benutzerproduktivität bereit.
-
Spracherkennungssysteme
können
akustische Signale modellieren und klassifizieren, um akustische
Modelle zu erstellen, die Darstellungen von grundlegenden linguistischen
Einheiten sind, die als Phoneme bezeichnet werden. Auf den Empfang des
akustischen Signals hin kann das Spracherkennungssystem dieses analysieren,
eine Reihe von akustischen Modellen im akustischen Signal ermitteln
und eine Liste von möglichen Wortkandidaten
für die
gegebene Reihe von akustischen Modellen ableiten.
-
Anschließend kann
das Spracherkennungssystem die möglichen
Wortkandidaten unter Verwendung eines Sprachmodells als Anhaltspunkt
kontextbezogen analysieren. Insbesondere kann das Sprachmodell Einschränkungen
ausdrücken,
die der Art und Weise auferlegt sind, wie Wörter zur Bildung von Sätzen kombiniert
werden können.
Das Sprachmodell ist normalerweise ein statistisches Modell, das
die Wahrscheinlichkeit ausdrücken
kann, mit der ein Wort unmittelbar an ein oder mehrere andere Wörter angrenzend
vorkommt. Das Sprachmodell kann als ein Netzwerk mit endlichen zuständen (finite state
network) angegeben werden, wobei die zulässigen Wörter, die auf jedes Wort folgen,
ausdrücklich aufgelistet
werden, oder es kann auf eine aufwändigere Weise unter Verwendung
einer kontextsensitiven Grammatik realisiert werden. Zu anderen
beispielhaften Sprachmodellen gehören – jedoch nicht ausschließlich – N-Gramm-Modelle
(n-gram models) und Sprachmodelle mit maximaler Entropie (maximum
entropy language models), die beide nach dem Stand der Technik bekannt
ist. Ein allgemeines Beispiel eines Sprachmodells kann ein N-Gramm-Modell sein. Insbesondere
die Bigramm- und Trigramm-Modelle sind beispielhafte N-Gramm-Modelle,
die nach dem Stand der Technik allgemein verwendet werden.
-
Herkömmliche
Sprachmodelle können
aus einer Analyse eines Trainingstextbausteins (training corpus
of text) abgeleitet werden. Ein Trainingsbaustein enthält Text,
der die übliche
Sprechweise von Personen widerspiegelt. Der Trainingsbaustein kann zur
Ermittlung der statistischen Sprachmodelle verarbeitet werden, die
vom Spracherkennungssystem zur Umwandlung von Sprache in Text verwendet
werden, was auch als Sprachentschlüsselung bezeichnet wird. Es
muss verstanden werden, dass solche Verfahren nach dem Stand der
Technik bekannt sind. Für eine
vollständigere
Erläuterung
von Sprachmodellen und Verfahren zum Erstellen von Sprachmodellen siehe "Statistical Methods
for Speech Recognition" von
Frederick Jelinek (The MIT Press ed., 1997). Nach dem Stand der
Technik können
Spracherkennungssysteme derzeit eine Kombination von Sprachmodellen
verwenden, um eine sprachliche Äußerung des
Benutzers in Text umzuwandeln. Jedes Sprachmodell kann zum Ermitteln
einer sich ergebenden Textfolge verwendet werden. Die sich aus jedem Sprachmodell
ergebenden Textfolgen können
statistisch gewichtet werden, um das genaueste oder wahrscheinlichste
Ergebnis zu ermitteln. Beispielsweise können Spracherkennungssysteme
ein im System enthaltenes allgemeines oder generisches Sprachmodell
sowie ein benutzerspezifisches Sprachmodell beinhalten, das aus
den ersten Diktatsitzungen oder von einem Benutzer diktierten Dokumenten
abgeleitet wird. Einige Spracherkennungssysteme können ein
vorhandenes Sprachmodell noch weiter verbessern, wenn ein Benutzer
neue Dokumente diktiert oder neue Diktatsitzungen einleitet. Folglich
können
die Sprachmodelle in vielen herkömmlichen
Spracherkennungssystemen kontinuierlich aktualisiert werden.
-
Die
PCT-Veröffentlichung
WO 00/58945 beschreibt eine Spracherkennungsvorrichtung mit einer Hierarchie
von Sprachmodellen, die mit Modellen mit einem eher generischen
Kontext bis hin zu Modellen mit einem spezifischeren Kontext angeordnet
werden.
-
Leider
kann die Bedeutung des themenspezifischen Benutzerdiktats bei ständig wachsenden Sprachmodellen
geringer werden. Insbesondere kann die Auswirkung der neueren Sprachsitzungen durch
die zunehmende Datenmenge im Sprachmodell abnehmen. Ähnlich können neuere
Benutzerdiktate unabhängig
davon, ob sie themenspezifisch sind, im wachsenden Sprachmodell
hinsichtlich ihrer Bedeutung vermindert werden. Dies geschieht in
erster Linie in Bezug auf statistische Sprachmodelle, wobei die
statistische Bedeutung einer bestimmten Sitzung oder eines Dokumentes,
die bzw. das zur Verbesserung des Sprachmodells verwendet werden kann,
durch eine sich stetig erweiternde Datenmenge verringert wird. Diese
statistische Auswirkung kann erheblich sein, beispielsweise falls
sich die Sprachmuster des Benutzers ändern, wenn der Benutzer mit der
Interaktion mit dem Spracherkennungssystem oder dialogbasierten
System vertrauter wird. Insbesondere ändert jede sich aus einer einzigen
Sitzung oder einem einzigen Dokument ergebende Verbesserung eines
Sprachmodells, die insbesondere im Hinblick auf den gesamten dem
Sprachmodell entsprechenden Datensatz eine begrenzte Menge von Daten
erzeugen kann, das Verhalten eines statistischen sprachbasierten
Systems aller Wahrscheinlichkeit nach nicht. Infolgedessen spiegelt
das Sprachmodell den sich ändernden
Diktatstil eines Benutzers möglicherweise
nicht genau wider.
-
Ähnliche
Probleme können
im Zusammenhang mit dialogbasierten Systemen vorkommen, beispielsweise
bei Systemen mit Verständnis
der natürlichen
Sprache, wobei ein Benutzer verbal auf eine oder mehrere Systemeingabeaufforderungen
antworten kann. Obwohl solche Systeme ein oder mehrere Sprachmodelle
zur Verarbeitung von Benutzerantworten enthalten können, können die
an spezifische Eingabeaufforderungen angepassten Sprachmodelle unter
Verwendung einer unzureichenden Datenmenge erstellt werden. Infolgedessen
können solche
Sprachmodelle zu spezifisch sein, um empfangene Sprachäußerungen
genau zu verarbeiten. Insbesondere kann den Sprachmodellen die Fähigkeit
zur Abstraktion ausgehend vom Sprachmodell fehlen, um eine verallgemeinerte
Benutzerantwort zu verarbeiten.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
hierin beschriebene Erfindung betrifft ein Verfahren zur Erzeugung
einer Hierarchie von kontextbezogenen Modellen, wie es in Anspruch
1 beansprucht wird, ein Verfahren zur Verwendung dieser kontextbezogenen
Modelle zur Umwandlung von Sprache in Text, wie es in Anspruch 4
beansprucht wird, und einen maschinenlesbaren Speicher, wie er in
Anspruch 7 beansprucht wird. Das Verfahren der Erfindung kann in
einem Spracherkennungssystem und in einem dialogbasierten System
mit Verständnis der
natürlichen
Sprache verwendet werden. Insbesondere kann die Erfindung eine Vielzahl
von kontextbezogenen Modellen aus verschiedenen Benutzersprachsitzungen,
Dokumenten, Teilen von Dokumenten oder Benutzerantworten in Form
von sprachlichen Äußerungen
des Benutzers erzeugen. Diese kontextbezogenen Modelle können unter
Verwendung einer bekannten Abstandsmaßzahl (distance metric) in
zusammengehörige
Paare aufsteigend organisiert oder eingeteilt werden. Die zusammengehörigen Paare
von Sprachmodellen können
fortlaufend vermischt werden, bis eine baumähnliche Struktur erzeugt wird.
Die baumähnliche
Struktur von kontextbezogenen Modellen oder die Hierarchie von kontextbezogenen
Modellen kann sich von einem einzigen Wurzelknoten nach außen erstrecken.
Die Hierarchie von kontextbezogenen Modellen kann unter Verwendung
eines vorliegenden Textbausteins mit Hilfe von nach dem Stand der
Technik bekannten Verfahren, beispielsweise der gelöschten Interpolation
(deleted Interpolation) oder des Rückkopplungsverfahrens(back
off method), interpoliert werden. Insbesondere ist die Erfindung
nicht so sehr durch die hierin beschriebenen spezifischen Glättungsverfahren
(smoothing techniques) begrenzt. Vielmehr kann jedes geeignete nach
dem Stand der Technik bekannte Glättungsverfahren verwendet weiden.
-
Nachdem
die Hierarchie von kontextbezogenen Modellen ermittelt und geglättet worden
ist, können
sprachliche Äußerungen
des Benutzers unter Verwendung der sich ergebenden Hierarchie von kontextbezogenen
Modellen verarbeitet werden. Eines oder mehrere kontextbezogene
Modelle innerhalb der Hierarchie von kontextbezogenen Modellen können ermittelt
werden, die einer oder mehreren sprachlichen Äußerungen des Benutzers entsprechen.
Die ermittelten kontextbezogenen Modelle können zur Verarbeitung von nachfolgend
empfangenen sprachlichen Äußerungen
des Benutzers verwendet werden.
-
Zu
einem Aspekt der Erfindung kann ein Verfahren zur Umwandlung von
Sprache in Text unter Verwendung einer Hierarchie von kontextbezogenen Modellen
gehören.
Die Hierarchie von kontextbezogenen Modellen kann statistisch zu
einem Sprachmodell geglättet
werden. Das Verfahren kann Folgendes beinhalten: (a) Verarbeiten
von Text mit einer Vielzahl von kontextbezogenen Modellen, wobei
jedes aus der Vielzahl von kontextbezogenen Modellen einem Knoten
in einer Hierarchie der Vielzahl von kontextbezogenen Modellen entsprechen
kann. Die Verarbeitung von Text kann seriell oder parallel ausgeführt werden.
Außerdem
kann das Verfahren Folgendes beinhalten: (b) Ermitteln vom mindestens
einem der kontextbezogenen Modelle, das sich auf den empfangenen
Text bezieht, und (c) Verarbeiten von nachfolgenden sprachlichen Äußerungen
des Benutzers mit dem mindestens einen ermittelten kontextbezogenen
Modell.
-
Mindestens
eines aus der Vielzahl von kontextbezogenen Modellen kann einem
Dokument oder einem Teil eines Dokumentes, einem Abschnitt eines Dokumentes,
mindestens einer in einem bestimmten Dialogzustand in einem dialogbasierten
System empfangenen Benutzerantwort oder mindestens einer Benutzerantwort
entsprechen, die an einer bestimmten Position in einer bestimmten
Transaktion in einem dialogbasierten System empfangen wurde. Trotzdem
kann das mindestens eine aus der Vielzahl von kontextbezogenen Modellen
der Syntax einer dialogbasierten Systemeingabeaufforderung, einer
bestimmten bekannten dialogbasierten Systemeingabeaufforderung oder
einer empfangenen elektronischen Postnachricht entsprechen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
In
den vorliegenden Zeichnungen werden Ausführungsformen gezeigt, die gegenwärtig bevorzugt
werden, wobei jedoch verstanden werden muss, dass die Erfindung
nicht auf die gezeigten genauen Anordnungen und Einrichtungen begrenzt
ist, wobei.
-
1 eine
schematische Darstellung eines beispielhaften Computersystems ist,
in dem die Erfindung verwendet werden kann.
-
2 eine
schematische Darstellung ist, die eine beispielhafte Architektur
für die
Spracherkennung zeigt.
-
Die 3A und 3B schematische
Darstellungen sind, die typische Komponenten zeigen, die eine Spracherkennungsvorrichtung
umfassen können.
-
4 eine
Darstellung ist, die eine beispielhafte Hierarchie von kontextbezogenen
Modellen veranschaulicht.
-
5 ein
Flussdiagramm ist, das ein beispielhaftes Verfahren der Erfindung
veranschaulicht.
-
6 ein
Flussdiagramm ist, das ein beispielhaftes Verfahren der Erfindung
veranschaulicht.
-
AUSFÜHRLICHE
BESCHREIBUNG DER AUSFÜHRUNGSFORM
-
Die
hierin beschriebene Ausführungsform betrifft
ein Verfahren zur Erzeugung einer Hierarchie von kontextbezogenen
Modellen und die Verwendung dieser kontextbezogenen Modelle zur
Umwandlung von Sprache in Text. Das Verfahren der Ausführungsform
kann in einem Spracherkennungssystem und in einem dialogbasierten
System mit Verständnis
der natürlichen
Sprache verwendet werden. Insbesondere kann die Ausführungsform
eine Vielzahl von kontextbezogenen Modellen aus verschiedenen Benutzersprachsitzungen,
Dokumenten, Teilen von Dokumenten oder Antworten in Form von sprachlichen Äußerungen
des Benutzers erzeugen. Diese kontextbezogenen Modelle können unter
Verwendung einer bekannten Abstandsmaßzahl in zusammengehörige Paare
aufsteigend organisiert oder eingeteilt werden. Insbesondere kann
die Organisation von kontextbezogenen Modellen in zusammengehörige Paare
automatisch und dynamisch zur Laufzeit ausgeführt werden. Die zusammengehörigen Paare
von kontextbezogenen Modellen können
vermischt werden, um ein kontextbezogenes Elternmodell zu erstellen.
Der Prozess kann wiederholt werden, bis eine Hierarchie von kontextbezogenen
Modellen entsteht, die einer Baumstruktur ähnelt. Die Hierarchie kann
einen einzigen Wurzelknoten aufweisen, von dem andere Knoten ausgehen.
Insbesondere kann jeder Knoten der Hierarchie von kontextbezogenen
Modellen einem kontextbezogenen Modell entsprechen. Es muss verstanden
werden, dass der hierin verwendete Begriff "kontextbezogenes Modell" sich auf ein aus
Trainingsdaten erstelltes Sprachmodell beziehen kann, die aus einem
einzigen Dokument, einem Teil eines Dokumentes oder im Falle eines
Systems mit Verständnis
der natürlichen
Sprache (NLU) aus einer oder mehreren sprachlichen Äußerungen
oder Antworten des Benutzers erhalten werden.
-
Die
sich ergebende Hierarchie von kontextbezogenen Modellen kann unter
Verwendung eines vorliegenden Textbausteins unter Verwendung von nach
dem Stand der Technik bekannten Verfahren, beispielsweise der gelöschten Interpolation
oder des Rückkopplungsverfahrens,
interpoliert werden. Insbesondere wird die Erfindung nicht so sehr
durch die hierin beschriebenen spezifischen Glättungsverfahren begrenzt. vielmehr
kann jedes geeignete, nach dem Stand der Technik bekannte Glättungsverfahren verwendet
werden.
-
Nachdem
die Hierarchie von kontextbezogenen Modellen ermittelt wurde, können sprachliche Äußerungen
des Benutzers unter Verwendung der sich ergebenden Hierarchie von
kontextbezogenen Modellen verarbeitet werden. Insbesondere kann
ein bestimmtes kontextbezogenes Modell in der Hierarchie von kontextbezogenen Modellen
ermittelt werden, das einer oder mehreren empfangenen sprachlichen Äußerungen
des Benutzers entspricht oder diese am genauesten widerspiegelt.
Beispielsweise kann die Ausführungsform
eine empfangene sprachliche Äußerung des
Benutzers mit der Hierarchie von kontextbezogenen Modellen verarbeiten
und das kontextbezogene Modell ermitteln, das einen sich ergebenden
Text mit dem höchsten
Vertrauenswert (confidence score) liefert. Die Ausführungsform
kann von der Annahme ausgehen, dass das Hauptthema von nachfolgenden
sprachlichen Äußerungen
des Benutzers ähnlich
wie das Hauptthema der zuvor empfangenen sprachlichen Äußerungen
des Benutzers oder der zum Ermitteln des entsprechenden kontextbezogenen
Modells verwendeten Äußerungen
ist. Folglich können
nachfolgende sprachliche Äußerungen
des Benutzers mit dem ermittelten kontextbezogenen Modell verarbeitet
werden, um eine gesteigerte Leistung des Spracherkennungssystems zu
erzielen.
-
Insbesondere
können
die sich ergebende Hierarchie von kontextbezogenen Modellen und
das sich ergebende geglättete
Sprachmodell es ermöglichen,
dass die Verarbeitung von nachfolgenden sprachlichen Äußerungen
des Benutzers in höherem Maße verallgemeinert
werden kann. Dies kann insbesondere bei der Anwendung auf ein NLU-System von
Vorteil sein, wo "untertrainierte" Sprachmodelle die
Systemleistung nachteilig beeinflussen können. Insbesondere kann die
geglättete
Hierarchie von kontextbezogenen Modellen in Richtung des Wurzelknotens
durchquert werden, so dass die kontextbezogenen Modelle in höherem Maße verallgemeinert werden,
jedoch noch immer kontextsensitiv sind, oder in Richtung der Blattknoten
(leaves), wo die kontextbezogenen Modelle spezifischer werden, jedoch noch
immer kontextsensitiv sind.
-
1 stellt
ein typisches Computersystem 100 zur Verwendung in Verbindung
mit der vorliegenden Erfindung dar. Das System kann einen Computer 105 mit
einer Zentraleinheit 110 (CPU), eine oder mehrere Speichereinheiten 115 und
eine zugeordnete Schaltungsanordnung enthalten. Die Speichereinheiten 115 können aus
einem elektronischen Arbeitsspeicher und einem Massendatenspeichermedium bestehen.
Außerdem
kann das System ein Mikrofon 120, das über eine geeignete Schnittstellenschaltung 125 funktionsmäßig mit
dem Computersystem verbunden ist und eine zusätzliche Benutzerschnittstellen-Anzeigeeinheit 130 enthalten,
beispielsweise einen funktionsmäßig damit
verbundenen Monitor. Die CPU kann aus irgendeinem geeigneten Mikroprozessor
oder euer anderen elektronischen Datenverarbeitungseinheit bestehen,
wie Fachleuten bekannt ist. Die Lautsprecher 135 und 14D sowie
eine Schnittstelleneinheit, beispielsweise eine Maus 143 und eine
Tastatur 150, können
mit dem System bereitgestellt werden, sind jedoch für die Funktionsweise
der hierin beschriebenen Erfindung nicht notwendig. Die verschiedenen
Hardwareanforderungen für
das hierin beschriebene Computersystem können im Allgemeinen durch irgendeinen
von vielen handelsüblichen
Hochgeschwindigkeitscomputern erfüllt werden.
-
2 ist
eine schematische Darstellung, die eine typische Architektur für ein Spracherkennungssystem
im Computersystem 10D zeigt. Wie in 2 gezeigt
wird, können
sich im Speicher 115 des Computersystems 100 ein
Betriebssystem 200 und eine Spracherkennungsvorrichtung 210 befinden.
Außerdem
können
eine Sprachtextprozessoranwendung (speech text processor application) 220 und
eine Sprachnavigationsanwendung (voice navigator application) 230 enthalten
sein. Die Erfindung ist jedoch in dieser Hinsicht nicht begrenzt,
und die Spracherkennungsvorrichtung 210 kann mit jedem
anderen Anwendungsprogramm mit der Fähigkeit zur Spracherkennung
verwendet werden. In 2 werden die Spracherkennungsvorrichtung 210,
die Sprachtextprozessoranwendung 220 und die Sprachnavigationsanwendung 230 als
gesonderte Anwendungsprogramme gezeigt. Es sei jedoch darauf hingewiesen, dass
die Erfindung in dieser Hinsicht nicht begrenzt ist und diese verschiedenen
Anwendungsprogramme als ein einziges, komplexeres Anwendungsprogramm
realisiert werden können.
Beispielsweise kann die Spracherkennungsvorrichtung 210 mit
der Sprachtextprozessoranwendung 220 oder mit jeder anderen
Anwendung mit der Fähigkeit
zur Spracherkennung kombiniert werden. Falls keine anderen sprachgesteuerten
Anwendungsprogramme in Verbindung mit der Sprachtextprozessoranwendung 220 und
der Spracherkennungsvorrichtung 210 ausgeführt werden
müssen,
kann das System außerdem
so geändert
werden, dass es ohne die Sprachnavigationsanwendung 230 betrieben
wird. Die Sprachnavigationsanwendung 230 unterstützt in erster
Linie die Koordination der Funktionsweise der Spracherkennungsvorrichtung 210.
-
Die
zuvor erwähnten
Komponenten können auf
eine zentralisierte Weise im Computersystem 100 realisiert
werden. Alternativ können
die zuvor erwähnten
Komponenten auf eine verteilte Weise realisiert werden, wobei verschiedene
Elemente über mehrere
miteinander verbundene Computersysteme verteilt werden. In jedem
Fall können
die Komponenten in Hardware, Software oder einer Kombination aus
Hardware und Software ausgeführt
werden. Jede Art von Computersystem oder einer anderen zum Ausführen der
hierin beschriebenen Verfahren geeigneten Vorrichtung ist geeignet.
Das hierin beschriebene System kann unter Verwendung von handelsüblichen
Entwicklungswerkzeugen (development tools) für das jeweils verwendete Betriebssystem
von einem Programmierer realisiert werden.
-
Ein
Computerprogrammmittel oder ein Computerprogramm bedeutet im vorliegenden
Kontext einen beliebigen Ausdruck eines Befehlssatzes in einer beliebigen
Sprache, einem beliebigen Code oder einer beliebigen Schreibweise,
der dafür
vorgesehen ist, ein System mit einer Fähigkeit zur Datenverarbeitung
zu veranlassen, eine bestimmte Funktion entweder direkt oder nach
einem oder beiden der folgenden Vorgänge auszuführen: a) Umwandlung in eine andere
Sprache, einen anderen Code oder eine andere Schreibweise; b) Wiedergabe
in einer anderen materiellen Form.
-
Während des
Betriebs können
Tonsignale, die im Mikrofon 120 empfangene Töne darstellen,
unter Verwendung einer herkömmlichen
Audioschaltungsanordnung im Computer 100 verarbeitet werden,
so dass sie dem Betriebssystem 200 in digitalisierter Form
zur Verfügung
gestellt werden. Alternativ können
Tonsignale über
ein Computerkommunikationsnetz von einem anderen Computersystem
in analogem oder digitalem Format oder von einer anderen Wandlereinheit
(transducive device), beispielsweise einem Telefon, empfangen werden.
Die vom Computersystem 100 empfangenen Tonsignale werden
herkömmlicherweise über das
Computerbetriebssystem 200 zur Spracherkennungsvorrichtung 210 übertragen,
um Spracherkennungsfunktionen auszuführen. Wie bei herkömmlichen Spracherkennungssystemen können die
Tonsignale von der Spracherkennungsvorrichtung 210 verarbeitet
werden, um von einem Benutzer in das Mikrofon 120 gesprochene
Wörter
zu ermitteln. 3A ist eine Darstellung, die
typische Komponenten zeigt, die die Spracherkennungsvorrichtung 210 umfassen
können.
Wie in 3 gezeigt wird, empfängt die Spracherkennungsvorrichtung 210 ein
digitalisiertes Sprachsignal vom Betriebssystem. Das Signal wird
anschließend
im Darstellungsblock 310 in einen brauchbaren Datensatz
umgewandelt, indem es mit einer feststehenden Geschwindigkeit abgetastet
wird, normalerweise alle 10 bis 20 ms. Der Darstellungsblock erzeugt
eine neue Darstellung des Tonsignals, die sodann in nachfolgenden
Schritten des Spracherkennungsprozesses verwendet werden kann, um
die Wahrscheinlichkeit zu ermitteln, dass der Teil der gerade analysierten
Signalform einem bestimmten phonetischen Ereignis entspricht. Dieser
Prozess ist dafür
vorgesehen, wichtige sprecherunabhängige Merkmale der vom Betriebssystem
empfangenen Sprachsignale hervorzuheben. Im Modellierungs/Klassifizierungsblock 320 verarbeiten
Algorithmen die Sprachsignale weiter, um sprecherunabhängige akustische
Modelle an die des aktuellen Sprechers anzupassen. Schließlich werden
im Suchblock 330 Suchalgorithmen verwendet, um die Suchmaschine
zu den Wörtern
zu lenken, die mit der größten Wahrscheinlichkeit
dem Sprachsignal entsprechen. Der Suchprozess im Suchblock 330 erfolgt
mit Hilfe von akustischen Modellen 340, lexikalischen Modellen 350 und
Sprachmodellen 360.
-
Die
Sprachmodelle 360 können
verwendet werden, um die Begrenzung der Anzahl von möglichen
einem Sprachsignal entsprechenden Wörtern zu unterstützen, wenn
ein Wort zusammen mit anderen Wörtern
in einer Folge verwendet wird. Das Sprachmodell kann als ein Netzwerk
mit endlichen Zuständen(finite
state network) angegeben werden, wobei die auf jedes Wort folgenden
zulässigen
Wörter
ausdrücklich
aufgelistet werden, oder es kann auf eine aufwändigere Weise unter Verwendung
einer kontextsensitiven Grammatik realisiert werden. Zu anderen
beispielhaften Sprachmodellen können – jedoch
nicht ausschließlich – N-Gramm-Modelle
und Sprachmodelle mit maximaler Entropie (maximum entropy language
models) gehören,
die beide nach dem Stand der Technik bekannt ist. In jedem Fall
ist es oftmals wünschenswert,
den Inhalt des Sprachmodells mit Daten zu aktualisieren, die Sprachmuster betreffen,
die im Falle eines spezifischen Benutzers mit hoher Wahrscheinlichkeit
vorliegen. Der Suchprozess ermittelt den Wortkandidaten mit dem
höchsten Vertrauenswert
als Textausgabe.
-
Ein
Vertrauenswert spiegelt die Wahrscheinlichkeit wider, dass ein bestimmter
Wortkandidat eine entsprechende sprachliche Äußerung des Benutzers genau
wiedergibt. Der Vertrauenswert kann ein von akustischen Modellen,
lexikalischen Modellen und Sprachmodellen abgeleiteter Wert sein.
Beispielsweise kann der Vertrauenswert die Wahrscheinlichkeit berücksichtigen,
dass ein bestimmter Wortkandidat eine sprachliche Äußerung des
Benutzers darstellt, wie unter Verwendung eines akustischen Modells
festgestellt wurde, und außerdem
die Wahrscheinlichkeit, dass der bestimmte Wortkandidat sich neben
einem anderen Wort oder einer Gruppe von Wörtern befinden kann, wie unter
Verwendung eines Sprachmodells festgestellt wurde.
-
Erkannter
Text kann einer Sprachmodell-Sitzungsverwaltungseinrichtung
(Language Model Session Manager) (LMSM) 380 zugeführt werden.
Aufgrund der Wahrscheinlichkeit, dass der sich ergebende Text die
empfangene sprachliche Äußerung des Benutzers
genau widerspiegelt, kann die LMSM 380 ein geeigneteres
kontextbezogenes Modell zur Verarbeitung von nachfolgend empfangenen
sprachlichen Äußerungen
des Benutzers ermitteln. Insbesondere kann die LMSM 380 ein
kontextbezogenes Modell ermitteln, das zur Verarbeitung von Text
verwendet werden kann, wobei der sich ergebende Text die größte Wahrscheinlichkeit
zur Wiedergabe der empfangenen sprachlichen Äußerung des Benutzers aufweisen
kann. Folglich kann die LMSM 380 ein geeignetes kontextbezogenes
Modell zur Verwendung bei der Verarbeitung nachfolgend empfangener Sprachäußerungen
auswählen.
Wie gezeigt wurde, kann die LMSM 380 einen Rückführungspfad
(feedback path) zum Spracherkennungssystem bereitstellen.
-
Außerdem kann
die LMSM 380 Abschnitte von Dokumenten erkennen. Beispielsweise
kann die LMSM 380 den Abschnitt eines Dokumentes durch die
Position eines Cursors im Dokument ermitteln. Die LMSM 380 kann
mit einer oder mehreren Schablonen (templates) programmiert werden,
wobei die Schablonen Hinweise auf verschiedene Dokumentabschnitte
enthalten können,
beispielsweise die Einleitung, die Grundlagen oder einen anderen
definierbaren Abschnitt eines Dokumentes. Die Abschnitte können benutzerdefinierte
Abschnitte, und sie können
themenspezifisch sein. Beispielsweise können die Abschnitte Teilbereiche
eines Dokumentes sein, die eventuell einen themenspezifischen Test,
der einen richtigen oder falschen Abschnitt enthält, einen kurzen Antwortabschnitt
oder einen Multiple-Choice-Abschnitt darstellen. Insbesondere herkömmliche
Textverarbeitungsprogramme können eine
Unterteilung von Dokumenten in Abschnitte bereitstellen.
-
Die
LMSM 380 kann außerdem
so programmiert werden, dass sie ermittelt, wann die Sprachmodellerstellungseinrichtung
(Language Model Builder) (LMB) 390 angewiesen werden muss,
ein neues kontextbezogenes Modell zu erstellen und die Hierarchie von
kontextbezogenen Modellen neu aufzubauen. Die LMB 390 kann
dynamisch ein neues anfängliches
kontextbezogenes Modell erstellen sowie die Hierarchie von kontextbezogenen
Modellen neu aufbauen. Falls beispielsweise anfängliche kontextbezogene Modelle
aus Dokumenten erstellt werden müssen,
kann die LMSM 380 feststellen, wann ein Dokument oder ein
Teil eines Dokumentes vollständig
ist, so dass ein neues kontextbezogenes Modell erstellt und die
Hierarchie von kontextbezogenen Modellen neu aufgebaut werden kann.
Insbesondere wenn der Benutzer ein Dokument schließt oder
das Spracherkennungssystem auf andere Weise informiert, dass er
das Diktat eines Dokumentes oder eines Teils eines Dokumentes fertiggestellt
hat, kann die LMSM 380 die LMB 390 veranlassen,
mit dem Neuaufbau der Hierarchie von kontextbezogenen Modellen zu
beginnen. Die LMSM 380 kann mit verschiedenen Schablonen
und Dokumentabschnitten programmiert werden, wie sie in herkömmlichen
Textverarbeitungsprogrammen verwendet werden, so dass die Beendigung
von irgendeinem der zuvor erwähnten
Vorgänge
dazu führen
kann, dass die Hierarchie von kontextbezogenen Modellen neu aufgebaut
wird. Beispielsweise kann die LMSM 380 dynamisch ein kontextbezogenes
Modell erstellen, das einem Dokumentabschnitt entspricht, und die
Hierarchie von kontextbezogenen Modellen neu aufbauen, wenn der
Cursor eines Textverarbeitungsprogramms diesen Abschnitt des Dokumentes
verlässt.
Falls die kontextbezogenen Modelle aus Teilen von Dokumenten, zum
Beispiel Absätzen,
erstellt werden, kann die Beendigung eines Absatzes, beispielsweise
ein Zeilenwechselbefehl (hard return command), der LMSM 380 auf ähnliche
Weise signalisieren, die LMB 390 zum Erstellen eines neuen
kontextbezogenen Modells auf der Grundlage des im neuesten Absatz
enthaltenen Textes zu veranlassen. Die LMB 390 kann sodann
die Hierarchie von kontextbezogenen Modellen neu aufbauen. Wie zuvor
erwähnt
wurde, können die
anfänglichen
kontextbezogenen Modelle aus Schablonen von Dokumenten, Dokumenten,
Abschnitten von Dokumenten oder Teilen von Dokumenten erstellt werden.
-
3B ist
eine Darstellung von typischen Komponenten, die die Spracherkennungsvorrichtung 210 ähnlich der
Darstellung von 3A umfassen können. 3B kann
jedoch ein NLU-System
beinhalten. Insbesondere kann ein NLU-System einen Computer dazu
befähigen,
Daten aus geschriebener oder gesprochener Sprache zu gewinnen. Solche Systeme
können
vorteilhaft bei einer Vielzahl von anderen Computeranwendungen funktionieren,
wo eine Notwendigkeit zum Verständnis
der menschlichen Sprache besteht. NLU-Systeme können in einem Text enthaltene
wichtige Daten extrahieren und diese anschließend einem anderen Anwendungsprogramm
zuführen.
-
Das
NLU-System kann mit der LMSM 380 kommunizieren, um diese
mit Daten bezüglich
der sprachlichen Äußerung des
Benutzers als Antwort auf ein dialogbasiertes System zu versehen.
Solche Daten können
den jeweiligen Transaktionstyp, an dem der Benutzer beteiligt ist,
die Position des Benutzers innerhalb der Transaktion, die jeweilige
dialogbasierte Systemeingabeaufforderung und die Syntax der Eingabeaufforderung
beinhalten. Beispielsweise kann das NLU-System 395 die LMSM mit der
Information versehen, dass die sprachliche Äußerung des Benutzers eine Antwort
auf eine Eingabeaufforderung war, die eine Kontobezeichnung im Zusammenhang
mit einer Auszahlungstransaktion in einem Finanzsystem erforderte.
Außerdem
kann das NLU-System die LMSM informieren, dass die erwartete Antwort
eine Ziffer, eine Textfolge mit einer bestimmten Syntax oder ein
bestimmtes Thema betreffend oder eine Eingabeaufforderung vom Ja/Nein-Typ
war.
-
Die
anfänglichen
kontextbezogenen Modelle können
beispielsweise aus Benutzerantworten erstellt werden, die sich auf
Folgendes beziehen: den Zustand eines gegebenen Dialogs, das Thema
eines gegebenen Dialogs, die Position eines Benutzers in einer bestimmten
Transaktion, Benutzerantworten auf eine bestimmte bekannte Dialogeingabeaufforderung
oder die Syntax der Dialogeingabeaufforderung, auf die der Benutzer
antwortet. Der Zustand eines gegebenen Dialogs kann sich im Allgemeinen
auf jeden der zuvor erwähnten
Faktoren beziehen.
-
Das
Thema einer gegebenen Transaktion kann sich auf den Vorgang oder
den Befehl beziehen, den der Benutzer anfordert. In einem Finanzverwaltungssystem
können
zu den Transaktionen beispielsweise Auszahlungen, Überweisungen,
Einzahlungen usw. gehören.
Im Zusammenhang mit einem Reisesystem können die Buchung eines Fluges,
das Mieten eines Autos usw. zu den Transaktionen gehören. Die
Transaktionen können
anwendungsspezifisch sein und auf dem System beruhen, zu dem das NLU-System
eine Schnittstelle bereitstellt. Folglich können kontextbezogene Modelle
entsprechend jedem erkennbaren Thema in einem dialogbasierten System
erstellt werden.
-
Die
Position innerhalb einer Transaktion kann kontextbezogene Daten
bezüglich
einer Benutzerantwort bereitstellen. Insbesondere kann jede gegebene
Transaktion einen oder mehrere vom Benutzer angegebene Parameter
benötigen.
Folglich kann das Spracherkennungssystem auf der Grundlage der zusätzlich zu
dem jeweiligen Typ von eingeleiteter Transaktion empfangenen Parameter
ein kontextbezogenes Modell erstellen, ohne die genaue dialogbasierte
Systemeingabeaufforderung zu kennen, auf die der Benutzer geantwortet
hat, wobei das Modell lediglich auf Daten bezüglich der Position des Benutzers
innerhalb einer gegebenen Transaktion beruht.
-
Kontextbezogene
Modelle können
aus Benutzerantworten auf bestimmte bekannte dialogbasierte Systemeingabeaufforderungen
erstellt werden. Außerdem
können
kontextbezogene Modelle aus Benutzerantworten auf Fragen mit einer
bestimmten Syntax erstellt werden. Beispielsweise können Benutzerantworten
auf Systemeingabeaufforderungen vom "ja"-
oder "nein"-Typ in Gruppen zusammengestellt
werden, um ein Sprachmodell zu erstellen. Ähnlich können Benutzerantworten auf
Fragen vom Typ "wer", "was", "wo", "wann", "warum" oder "wie" sowie Benutzerantworten
auf Eingabeaufforderungen vom Multiple-Choice- oder Listentyp in Gruppen zusammengestellt
werden.
-
Ein
statistisches Glätten
kann Probleme in Bezug auf untertrainierte Systeme oder die Verwendung
einer kleinen Menge von Trainingsdaten mildern. Außerdem ermöglicht die
hierarchische Struktur dem Spracherkennungssystem die Verarbeitung von
sprachlichen Äußerungen
eines Benutzers mit zunehmend verallgemeinerten Modellen, die kontextsensitiv
bleiben. Falls eine Benutzerantwort nicht den zuvor gesammelten
Daten entspricht, kann daher ein in höherem Maße verallgemeinertes kontextbezogenes
Modell zur Verarbeitung der Benutzerantwort verwendet werden.
-
Folglich
kann die LMB 390 kontextbezogene Modelle dynamisch erstellen,
beispielsweise die anfänglichen
kontextbezogenen Modelle, wobei jedes kontextbezogene Modell aus
einer Gruppierung von einer oder mehreren Benutzerantworten erstellt
werden kann. Außerdem
kann die LMB 390 die Hierarchie von kontextbezogenen Modellen
auf den Empfang einer sprachlichen Äußerung eines Benutzers hin,
die als Antwort auf eine Dialogeingabeaufforderung gegeben wurde,
dynamisch neu aufbauen. Außerdem
unterscheidet sich das System von 3B insofern
von demjenigen von 3A, als das NLU-System 395 eine
Dialogeingabeaufforderung erzeugen kann, die über eine Aufzeichnung oder
die Verwendung einer Technologie zur Umwandlung von Text in Sprache
wiedergegeben werden kann.
-
4 zeigt
die beispielhafte Hierarchie von kontextbezogenen Modellen 360 von 3.
Das Sprachmodell 360 wird als eine Baumstruktur mit mehreren
Knoten A, B, C, D, E und F dargestellt, die unterhalb des Wurzelknotens
von diesem ausgehen. Jeder Knoten kann einem kontextbezogenen Modell entsprechen.
Das Blattknotenpaar C und D und das Blattknotenpaar E und F, die
auch als Endknoten bezeichnet werden, können unter Verwendung einer bekannten
Abstandsmaßzahl
als zusammengehörige
kontextbezogene Modellpaare ermittelt werden. Zu einer solche Abstandsmaßzahl können beispielsweise – jedoch
nicht ausschließlich-
der Kullback-Lieber-Abstand, die relative Entropie, Unterscheidung oder
Abweichung gehören.
In jedem Fall kann die untere Ebene von kontextbezogenen Modellen
unter Verwendung der bekannten Maßzahl in Paare gruppiert werden.
Dieser als aufsteigende Gruppierung (bottom up clustering) bekannte
Prozess kann fortgesetzt werden, bis ein Wurzelknoten ermittelt
worden ist.
-
In
einer anderen Ausführungsform
der Erfindung können
die kontextbezogenen Modelle durch das Hauptthema der Diktatsitzung,
aus der das kontextbezogene Modelle abgeleitet wurde, in Gruppen eingeteilt
werden. Beispielsweise kann das Spracherkennungssystem Wortsuchalgorithmen
und eine Technologie für
natürliche
Sprache verwenden, um jedes einzelne kontextbezogene Modell (jeden
Knoten) gemäß einem
festgelegten Thema einzuteilen. Das kontextbezogene Modell kann
dementsprechend gekennzeichnet werden, so dass nicht nur zusammengehörige kontextbezogene
Modelle zu Paaren zusammengestellt werden können, sondern das Spracherkennungssystem
nur zusammengehörige kontextbezogene
Modelle in Gruppen zusammenstellen kann, die unter einem bestimmten
Thema eingeteilt wurden. Alternativ kann der Benutzer eine bestimmte
Themeneinteilung auswählen.
In diesem Fall kann der Benutzer eine Folge von Schlüsselwörtern eingeben,
die das Spracherkennungssystem zum Einteilen der kontextbezogenen
Modelle verwenden kann. Außerdem
kann das Spracherkennungssystem dem Benutzer das Überschreiben
der Einteilung eines kontextbezogenen Modells ermöglichen.
-
Die
in Gruppen zusammengestellten Paare von kontextbezogenen Modellen
können
zu einem kontextbezogenen Elternmodell vermischt werden. Beispielsweise
kann der Knoten A ein Elter sein, der aus seinen vermischten Kindern
abgeleitet wurde, den Blattknoten C und D. Ähnlich kann der Knoten B ein
Elter sein, der aus seinen Kindern, den Blattknoten E und F, abgeleitet
werden kann. Die Vermischung von zwei Kindknoten zum Erstellen eines
Elters kann unter Verwendung einer Vielfalt von Verfahren ausgeführt werden.
Ein solches Verfahren kann ein Interpolationsverfahren sein. Beispielsweise
können
mögliche
Wortkandidaten unter Verwendung eines kontextbezogenen Modells eines
Kindknotens verarbeitet werden. Anschließend können die beiden möglichen
sich ergebenden Phrasen verglichen werden, wobei das wahrscheinlichste
Ergebnis ausgewählt
werden kann. Insbesondere kann die jedem kontextbezogenen Modellergebnis
zugeordnete Wahrscheinlichkeit mit einer gewichteten Konstante multipliziert
werden. In diesem Fall können
zum Beispiel die auf den Blattknoten C angewandte Konstante und
die auf den Blattknoten D angewandte Konstante eine Summe von 1
ergeben. Ein anderes Verfahren zur Vermischung zweier Kindknoten
zum Erstellen eines Elters kann die Verwendung der jedem Kindknoten
entsprechenden Daten zum Erstellen eines neuen kontextbezogenen
Modells unter Verwendung bekannter Verfahren zum Erstellen kontextbezogener
Modelle beinhalten. Folglich können
die zum Erstellen des kontextbezogenen Elternmodells in einem Knoten
verwendeten Daten die zusammengesetzten Daten der beiden Kinder
des Elters sein.
-
Unabhängig von
dem jeweils auf einer beliebigen Ebene der Hierarchie von kontextbezogenen Modellen
zum Vermischen zweier Knoten verwendeten Verfahren können die
Gruppierung von in Paare eingeteilten Knoten und die Vermischung
jener Knoten zu einem Elternknoten fortgesetzt werden, bis ein Wurzelknoten
erreicht wird. Die Elternknoten A und B können gemeinsame Merkmale ihrer
Kinder enthalten. Ähnlich
kann der Wurzelknoten gemeinsame Merkmale seiner Kinder enthalten,
den den Knoten A und B entsprechenden kontextbezogenen Modellen. Folglich stellt
die Hierarchie von kontextbezogenen Modellen eine Zusammenstellung
von kontextbezogenen Modellen bereit, von denen jedes eine Mischung
von benutzerabhängigen
Sprachstilen beinhaltet. Insbesondere falls kontextbezogene Elternmodelle
unter Verwendung von zusammengesetzten Daten erstellt werden, kann
die sich ergebende Hierarchie von kontextbezogenen Modellen als
ein einziges hierarchisches Sprachmodell bezeichnet werden. Dementsprechend
sind die untersten kontextbezogenen Modelle die spezifischsten Modelle.
Falls ein bestimmtes kontextbezogenes Modell keinen zufriedenstellenden
Vertrauenswert liefert, kann auf ein allgemeineres kontextbezogenes
Modell an einer höheren
Stelle im Baum zurückgegriffen
werden.
-
5 ist
ein Flussdiagramm 500, das ein beispielhaftes Verfahren
zur Erzeugung von hierarchischen kontextbezogenen Modellen zeigt,
wie es unter Verwendung des Computersystems von 1 und
der Spracherkennungsvorrichtung von 2 ausgeführt wird.
Das Verfahren beginnt in einem Zustand, in dem das Spracherkennungssystem
eine Vielzahl von kontextbezogenen Modellen gesammelt hat, beispielsweise
die den Blattknoten C, D, E und F zugeordneten kontextbezogenen
Modelle, der untersten zu erzeugenden Reihe der Hierarchie kontextbezogener
Modelle. Diese kontextbezogenen Modelle, die kontextbezogenen Startmodelle,
können
je nach Verwendung Unterschiede aufweisen. Für ein allgemeines Diktat kann
das Spracherkennungssystem beispielsweise ein neues kontextbezogenes
Modell für
jede zuvor diktierte Sitzung, jedes Dokument, jeden Teil eines Dokumentes
oder Abschnitt eines Dokumentes erzeugen, die einem bestimmten Benutzer
entsprechen.
-
In
der Darstellung kann das Spracherkennungssystem ein kontextbezogenes
Modell für
Patentanmeldungen erzeugen. Das Spracherkennungssystem kann jedoch
auch ein kontextbezogenes Modell für jeden Teil einer Patentanmeldung
erzeugen. Beispielsweise können
die Ansprüche
von verschiedenen Patentanmeldungen sowie andere Teile einer Patentanmeldungen,
beispielsweise die Zusammenfassung, die ausführliche Beschreibung sowie
die Zusammenfassung der Erfindung, ähnliche Merkmale enthalten.
Folglich kann für
jeden Teil eines Dokumentes, beispielsweise einer Patentanmeldung,
ein kontextbezogenes Modell erstellt werden. Eine andere Ausführungsform
kann das Erstellen eines kontextbezogenen Modells für weiteren
Unterteilungen beinhalten. Beispielsweise kann ein kontextbezogenes
Modell für
unabhängige
Ansprüche
und ein anderes für
abhängige
Ansprüche
erstellt werden. Insbesondere kann jeder erkennbare Teil eines Dokumentes
zum Erstellen eines entsprechenden kontextbezogenen Modells verwendet
werden. Herkömmliche
Textprozessoren können
Dokumente in einen oder mehrere Abschnitte unterteilen. Diese Unterteilungen
können
beispielsweise auch zum Erzeugen eines kontextbezogenen Modells
für jede
erkennbare Unterteilung eines Dokumentes verwendet werden.
-
Bei
kontextbezogenen Modellen, die in einem dialogbasierten System verwendet
werden, kann jedes kontextbezogene Startmodell der Gruppe von Sätzen entsprechen,
die Antworten auf jede vom Dialogsystem ausgegebene Eingabeaufforderung sind.
In jedem Fall können
die kontextbezogenen Startmodelle oder die untere Reihe der Hierarchie
als Grundlage für
jede Interpolation zwischen kontextbezogenen Modellen oder jeder
nachfolgenden Erstellung von neuen kontextbezogenen Elternmodellen dienen,
wobei beide die sich ergebende Hierarchie von kontextbezogenen Modellen
umfassen können.
-
Das
Spracherkennungssystem kann einen vom Benutzer einstellbaren Parameter
enthalten, um das Spracherkennungssystem anzuweisen, die kontextbezogenen
Modelle der letzten n Diktatsitzungen, Dokumente oder Antworten
zu speichern, die einem bestimmten Benutzer entsprechen. Alternativ
kann das Spracherkennungssystem die letzten n kontextbezogenen Modelle
speichern, die einer bestimmten Themeneinteilung des kontextbezogenen
Modells entsprechen. Beispielsweise können die letzten n geschäftsbezogenen
kontextbezogenen Modelle gespeichert werden, die letzten n persönlichen
kontextbezogenen Briefmodelle usw. Außerdem kann der Parameter auf
einer Basis pro Benutzer oder auch auf einer Basis pro Themeneinteilung
angegeben werden. Folglich kann der Benutzer A zusätzlich zu einem
eindeutigen Wert von n für
jede Themeneinteilung einen Gesamtwert von n festlegen. Der Benutzer
B kann ebenfalls zusätzlich
zu verschiedenen Werten für
n für jede
Themeneinteilung einen Gesamtwert von n festlegen. Außerdem können die
vom Benutzer B festgelegten Werte von n vollkommen unabhängig von
den vom Benutzer A festgelegten Werten von n sein. Dadurch wird
dem System eine Verallgemeinerung je nach Bedarf ermöglicht.
-
Das
Verfahren 500 von 5 kann auf
einer Basis pro Benutzer ausgeführt
werden. Falls das Computersystem von 1 über eine
ausreichende Verarbeitungsleistung verfügt, kann das Verfahren 500 außerdem auf
die Einleitung jeder neuen Benutzerdiktatsitzung, jedes Dokumentes
oder jeder Benutzerantwort hin ausgeführt werden. Folglich kann die
einem bestimmten Benutzer entsprechende Hierarchie von kontextbezogenen
Modellen ständig
aktualisiert werden. Alternativ kann das Verfahren 500 vom
Spracherkennungssystem automatisch auf einer periodischen Grundlage
oder auf eine systemunabhängige
Weise auf eine Benutzeranforderung hin ausgeführt werden.
-
In
jedem Fall kann das Spracherkennungssystem im Schritt 510 eine
Abstandsmaßzahl
verwenden, um festzustellen, wie eng jedes kontextbezogene Modell
mit jedem anderen einem bestimmten Benutzer entsprechenden kontextbezogenen
Modell verwandt ist. Wie erwähnt
wurde, kann das Spracherkennungssystem den Kullback-Liebler-Abstand
sowie die Themeneinteilung jedes kontextbezogenen Modells für die Verwandtschaft-
oder die Abstandsfeststellung verwenden. Nach der Ausführung von Schritt 510 kann
das Verfahren zum Schritt 520 weitergehen.
-
Im
Schritt 520 kann das Spracherkennungssystem das Paar von
kontextbezogenen Modellen mit dem geringsten Abstand ermitteln.
Nach der Ausführung
von Schritt 520 kann das Verfahren zum Schritt 530 weitergehen,
wo die kontextbezogenen Modelle vermischt werden können. Wie
erwähnt
wurde, können
die kontextbezogenen Modelle durch Interpolation oder unter Verwendung
der Daten jedes kontextbezogenen Kindmodells vermischt werden, um
ein neues kontextbezogenes Elternmodell zu erstellen. Falls die
kontextbezogenen Modelle bei jedem vermischten Elter neu erstellt
werden, kann der Wurzelknoten der Verwendung eines einzigen Sprachmodells
entsprechen. In diesem Fall können die
Knoten des hierarchischen kontextbezogenen Modells unter Verwendung
von Datengeglättet
werden, die aus der anfänglichen
Ableitung des kontextbezogenen Modells ausgeschlossen werden können. Die
ausgeschlossenen Daten können
sodann zum Ausführen
eines statistischen Glättens
des sich ergebenden kontextbezogenen Modells verwendet werden. Folglich
kann das kontextbezogene Modell die Interpolation aller kontextbezogenen
Modelle von einem Blattknoten bis zum Wurzelknoten sein. Unabhängig davon
kann das Verfahren nach Ausführung vom
Schritt 530 zum Schritt 540 weitergehen.
-
Im
Schritt 540 kann das Spracherkennungssystem feststellen,
ob ein einziger Wurzelknoten ermittelt wurde. Insbesondere kann
das Spracherkennungssystem feststellen, ob die Hierarchie von kontextbezogenen
Modellen in einem einzigen Wurzelknoten endet. Ist dies der Fall,
kann das Verfahren enden. Falls nicht, kann das Verfahren jedoch
in einer Schleife zur Wiederholung zum Schritt 510 zurückkehren.
Es muss verstanden werden, dass das Verfahren 500 bei Bedarf
wiederholt werden kann, wobei jede Wiederholung durch das verfahren
auf eine aufsteigende Weise eine andere Ebene in der Hierarchie
von kontextbezogenen Modellen erzeugt, die in Richtung eines einzigen
Wurzelknotens fortschreitet.
-
6 ist
ein Flussdiagramm 600, das ein beispielhaftes Verfahren
zur Umwandlung von Sprache in Text unter Verwendung der Hierarchie
von kontextbezogenen Modellen von 4 darstellt.
Insbesondere kann das Spracherkennungssystem ein geeignetes kontextbezogenes
Modell auswählen,
um nachfolgende sprachliche Äußerungen
des Benutzers auf der Grundlage einer empfangenen sprachlichen Äußerung des
Benutzers zu verarbeiten. Falls das Computersystem über eine
ausreichende Verarbeitungsleistung verfügt, so dass das System Sprache
in Echtzeit ohne unnötige
Verzögerung
in Text umwandeln kann, kann die Ermittlung des kontextbezogenen
Modells für
jede Benutzeräußerung oder
jeden vom Spracherkennungssystem empfangenen Satz ausgeführt werden.
Beispielsweise kann das Spracherkennungssystem nach jeder erkennbaren Pause
in einer empfangenen sprachlichen Äußerung des Benutzers das Verfahren 600 ausführen.
-
Alternativ
kann die Ermittlung zu Beginn einer Diktatsitzung, periodisch während der
gesamten Sprachsitzung oder auf einen Benutzerbefehl zum Ausführen der
Ermittlung hin ausgeführt
werden. Beispielsweise kann das Spracherkennungssystem die Ermittlung
automatisch ausführen,
nachdem der Benutzer eine festgelegte Zeitspanne lang diktiert hat, oder
auf das Sinken des vertrauenswertes unter einen festgelegten Schwellenwert
hin. Im Falle einer Benutzeranforderung kann der Benutzer anfordern, dass
die Ermittlung ausgeführt
wird, wenn er zu einem bestimmten Diktatstil oder einem bestimmten Thema
wechselt, beispielsweise von Geschäftskorrespondenz zu persönlicher
Korrespondenz.
-
Das
Verfahren 600 kann beim Schritt 610 beginnen,
wobei das Spracherkennungssystem eine Texteingabe empfängt. Die
Texteingabe kann vom einem Spracherkennungssystem abgeleitet werden, oder
sie kann Text in einem vorhandenen Dokument sein. Insbesondere kann
der Text eine empfangene elektronische Postnachricht sein. Nach
Ausführung vom
Schritt 610 kann das Verfahren zum Schritt 620 weitergehen.
Im Schritt 620 kann das Spracherkennungssystem den empfangenen
Text unter Verwendung der Hierarchie von kontextbezogenen Modellen verarbeiten.
Beispielsweise kann der Text mit jedem in der Hierarchie von kontextbezogenen
Modellen enthaltenen kontextbezogenen Modell verarbeitet werden.
Das kontextbezogene Modell, das den Text mit dem höchsten Vertrauenswert
liefert, kann als das korrekte oder geeignetste kontextbezogene
Modell zur Verwendung bei der Umwandlung nachfolgender sprachlicher Äußerungen
des Benutzers in Text ermittelt werden. Die Verarbeitung kann auf
eine serielle oder parallele Weise ablaufen.
-
Obwohl
beispielsweise in einem dialogbasierten System auf eine bestimmte
Dialogeingabeaufforderung eine "ja"- oder "nein"-Antwort vom Benutzer erwartet werden
kann, kann der Benutzer folgendermaßen antworten: "Ja, ich hätte jedoch
gerne X". In diesem
Fall hat der Benutzer geantwortet und zusätzliche Informationen bereitgestellt.
Obwohl ein dialogbasiertes System ein kontextbezogenes Modell enthalten
kann, das der Eingabeaufforderung entspricht, auf die der Benutzer
geantwortet hat, kann die Antwort des Benutzers folglich mehr einer erwarteten
Antwort auf eine andere Systemeingabeaufforderung ähneln, besonders
einer erwarteten Antwort, die nicht auf ein "ja" oder "nein" begrenzt ist. Unabhängig davon
kann der vom Spracherkennungssystem abgeleitete Text mit der Hierarchie
von kontextbezogenen Modellen verarbeitet werden. Das kontextbezogene
Modell, das Text mit dem höchsten Vertrauenswert
liefert, kann ermittelt werden. Besonders wenn die Benutzerantwort
sich von dem vom NLU-System erwarteten Typ von Benutzerantwort unterschied,
kann das ermittelte kontextbezogene Modell sich von dem kontextbezogenen
Modell unterscheiden, das der Verarbeitung von Benutzerantworten
auf die entsprechende Dialogeingabeaufforderung, auf die der Benutzer
antwortete, üblicherweise
zugeordnet wird. Das ermittelte kontextbezogene Modell kann sich
außerdem
vom kontextbezogenen Modell unterscheiden, das vom Spracherkennungssystem
zur Umwandlung der sprachlichen Äußerung des
Benutzers in Text verwendet wird.
-
In
einer anderen Ausführungsform
der Erfindung kann ein einem erkennbaren Dokumentabschnitt entsprechendes
kontextbezogenes Modell ermittelt werden. Falls ein Benutzer beispielsweise
ein Dokument diktiert und das Spracherkennungssystem feststellt,
dass der Cursor des Benutzers sich in einem bestimmten Abschnitt
des Dokumentes befindet, kann es das diesem Dokumentabschnitt entsprechende
kontextbezogene Modell ermitteln. Das ermittelte kontextbezogene
Modell kann zumindest anfänglich
zum Verarbeiten nachfolgend empfangener sprachlicher Äußerungen
des Benutzers verwendet werden, während der Cursor des Benutzers
sich im entsprechenden Dokumentabschnitt befindet. Allerdings kann
der Benutzer dem Spracherkennungssystem den Dokumentabschnitt auch
mit Hilfe eines anderen Verfahrens angeben, beispielsweise durch
einen Sprach- oder Zeigerbefehl. Insbesondere können andere Verfahren zum Ermitteln
eines kontextbezogenen Modells ebenso enthalten sein. Beispielsweise
kann das Spracherkennungssystem aufgrund von unbefriedigenden Vertrauenswerten
die Verwendung des ermittelten kontextbezogenen Modells zugunsten
eines anderen kontextbezogenen Modells unterbrechen.
-
Es
muss verstanden werden, dass das Spracherkennungssystem ein oder
mehrere kontextbezogene Modelle ermitteln kann, die Text mit einem
Vertrauenswert über
einem festgelegten Mindestschwellenwert erzeugen. In diesem Fall
kann das Spracherkennungssystem jedes ermittelte kontextbezogene Modell
verwenden, wobei die Ergebnisse unter Verwendung jedes Modells unter
Verwendung von Wahrscheinlichkeitskoeffizienten gewichtet werden können. Beispielsweise
kann der Koeffizient direkt mit den Vertrauenswerten des sich ergebenden
Textes zusammenhängen.
Alternativ kann das Spracherkennungssystem zwischen den ermittelten
kontextbezogenen Modellen extrapolieren. Auch hier besteht die Möglichkeit,
das kontextbezogene Modell auszuwählen, das den Text mit dem
höchsten
Vertrauenswert liefert. Nach Ausführung vom Schritt 620 kann
das Verfahren zum Schritt 630 weitergehen.
-
Im
Schritt 630 kann das ermittelte kontextbezogene Modell
zur Verarbeitung von nachfolgenden sprachlichen Äußerungen des Benutzers im Spracherkennungssystem
verwendet werden. Das Spracherkennungssystem kann unter der Voraussetzung fortfahren,
dass nachfolgende sprachliche Äußerungen
des Benutzers, die innerhalb eines bestimmten Zeitraums der Ermittlung
des kontextbezogenen Modells erfolgen, wahrscheinlich eine ähnliche
Syntax und ein ähnliches
Vokabular aufweisen oder sich auf ein ähnliches Hauptthema beziehen
wie der zum Ausführen
der Ermittlung verwendete Text. Folglich kann das Verfahren außer der
Auswahl eines kontextbezogenen Modells aufgrund des Hauptthemas in
Bezug auf ein Diktatsystem ein kontextbezogenes Modell aus der Hierarchie
von kontextbezogenen Modellen gemäß dem Dialogzustand in einem NLU-System
auswählen.
-
Eine
andere Ausführungsform
der Erfindung kann die Auswahl eines kontextbezogenen Modells aufgrund
einer empfangenen elektronischen Postnachricht beinhalten. Beispielsweise
kann eine empfangene elektronische Postnachricht verarbeitet werden,
um ein dieser entsprechendes geeignetes kontextbezogenes Modell
zu ermitteln. Das ermittelte kontextbezogene Modell kann zum Umwandeln
von nachfolgenden sprachlichen Äußerungen
des Benutzers in Text verwendet werden. Insbesondere kann das kontextbezogene
Modell zum Umwandeln von sprachlichen Äußerungen eines Benutzers während einer
Diktatsitzung verwendet werden, wobei der Benutzer auf die empfangene
elektronische Postnachricht antworten kann. Folglich kann die empfangene elektronische
Postnachricht zum Ermitteln eines kontextbezogenen Modells verarbeitet
werden, das dem Thema von dieser entspricht. Dieses kontextbezogene
Modell kann zum Verarbeiten der diktierten Antwort des Benutzers
auf diese elektronische Postnachricht verwendet werden. Außerdem kann
das Spracherkennungssystem die verschiedenen das Thema enthaltenen
Teile der empfangenen elektronischen Postnachricht verarbeiten.
In einer anderen Ausführungsform
der Erfindung kann dem Thema eine zusätzliche Gewichtung bei der
Ermittlung eines geeigneten kontextbezogenen Modells gegeben werden.
Nach Ausführung
von Schritt 630 kann das Verfahren zum Schritt 640 weitergehen.
-
Im
Schritt 640 kann das Verfahren zum Schritt 650 weitergehen,
falls das Segment vollständig
war. Falls nicht, kann das Verfahren zum Schritt 610 weitergehen,
um mehr Text zu sammeln. Insbesondere kann das Segment der Texteinheit
entsprechen, die zum Erstellen der anfänglichen kontextbezogenen Modelle
verwendet wurde, die als Grundlage für die Hierarchie von kontextbezogenen
Modellen dienen. Beispielsweise kann das Segment einem Dokument,
einem Absatz, einem Satz, einem Teil des Dokumentes oder einer Benutzerantwort
auf eine gegebene Dialogeingabeaufforderung entsprechen. Sobald
die festgelegte Menge von Text gesammelt wurde, ist das Segment
vollständig.
Alternativ kann der Benutzer das Spracherkennungssystem über den
Anfang und das Ende seiner in Text umzuwandelnden sprachlichen Äußerung benachrichtigen.
In jedem Fall kann die zum Erstellen eines anfänglichen kontextbezogenen Modells
verwendete Textmenge gesammelt werden, wobei auf diese Weise ein
Segment vervollständigt
wird.
-
Falls
das Segment vervollständigt
wurde, kann das Verfahren im Schritt 650 dynamisch ein neues
kontextbezogenes Modell erstellen, das dem vervollständigten
Segment entspricht. Außerdem kann
das Verfahren das Verfahren 500 zum dynamischen Neuaufbau
der Hierarchie von kontextbezogenen Modellen ausführen. Nach
Ausführen
von Schritt 650 kann das Verfahren wiederholt werden.