-
Die
vorliegende Erfindung betrifft die automatischen Spracherkennungssysteme,
die in der Lage sind, in Abhängigkeit
von einem von einem Benutzer gesprochenen Satz eine Aktion auszulösen.
-
Solche
Systeme werden insbesondere bei den Sprachservern der Telekommunikationsnetze verwendet.
-
Diese
Sprachserver werden in interaktiven Sprachanwendungen verwendet,
bei denen ein Dialog zwischen einem Benutzer und einem Automaten eingeleitet
wird, um die Erwartung des Benutzers zu bestimmen.
-
Sie
bestehen aus einem Spracherkennungssystem, das einen unbearbeiteten
Satz liefert, der vom Benutzer gesprochen wurde, und einem System der
semantischen Analyse, das diesen Satz in eine Folge von Schlüsselwörtern zerlegt.
Außerdem
weist dieses eine Einheit von Regeln auf, die einer Einheit von
Schlüsselwörtern eine
auszuführende
Aktion zuordnen. Der semantische Analysator sucht dann die Regel
oder die Regeln, deren erwartete Schlüsselwörter sich in den vom Benutzer
gesprochenen Satz befinden.
-
Wenn
so mehrere Regeln ausgewählt
werden, wählt
der semantische Analysator unter Verwendung von Kriterien wie einer
Wahrscheinlichkeits-Gewichtung, dem Kontext, in dem der Satz gesprochen
wurde,... die relevanteste Regel aus.
-
Dies
wurde in dem Dokument von Tsuboi et al.: "A real-time task-oriented speech understanding system
using keyword spotting",
ICASSP 1992, Seiten 197–200,
offenbart.
-
Wenn
die Regel gewählt
wurde, wird die von ihr definierte Aktion von einem Dialogverwaltungssystem
ausgeführt.
Bei den Sprachservern entspricht die Aktion oft der Erzeugung eines
vorab aufgezeichneten Satzes, der die vom Benutzer erwartete Antwort
gibt, oder der eine Frage stellt, die es ermöglicht, dessen Erwartung besser
zu umgrenzen.
-
Die
derzeit von den semantischen Analysatoren verwendeten Techniken
funktionieren nach dem Prinzip einer strikten Entsprechung zwischen den
im Wortlaut angetroffenen Wörtern
und den in der Regel erwarteten Wörtern.
-
Wenn
ein Schlüsselwort
im Wortlaut vorhanden ist, selbst wenn es nicht für den allgemeinen
Sinn bestimmend ist, muss es sich in der Regel wiederfinden, damit
diese akzeptiert wird.
-
Diese
Art Betrieb ist aber wenig an die üblicherweise beim Sprechen
angetroffenen Sätze
angepasst, insbesondere weil diese Sätze verrauscht, grammatikalisch
unkorrekt, schlecht aufgebaut sind, und oft Zögern oder redundante Informationen
enthalten, die beim Schreiben der Regeln nicht vorgesehen wurden.
-
Diese
extreme Empfindlichkeit zwingt dann den Entwerfer, alle möglichen
Regeln unter Berücksichtigung
aller vorstellbaren Syntaxfehler zu schreiben.
-
Dieser
Nachteil schränkt
die Verwendung solcher Systeme also stark ein.
-
Es
ist also das Ziel der Erfindung, ein Sprachanwendungssystem vorzuschlagen,
das die anwendbaren Regeln trotz der Geräusche und Unvollkommenheiten
des gesprochenen Satzes problemlos erkennt.
-
Erfindungsgemäß wird ein
System, wie es im Anspruch 1 ausgedrückt ist, ein Verfahren wie
im Anspruch 5, und ein Programm wie im Anspruch 9 beansprucht.
-
Gegenstand
der Erfindung ist also ein Sprachanwendungssystem, das Mittel zur
Erfassung mindestens eines von mindestens einem Benutzer ausgesprochenen
Satzes aufweist, die mit Mitteln zur semantischen Analyse verbunden
sind, die Mittel zur Erkennung von zum gesprochenen Satz gehörenden Schlüsselwörtern, die
ausgelegt sind, um eine geordnete Liste der Schlüsselwörter, Wortlaut genannt, des gesprochenen
Satzes zu erzeugen, wobei die Erkennungsmittel mit Mitteln zur Zuordnung,
in Form von Regeln, zwischen mindestens einem vorbestimmten Schlüsselwort
und einer bestimmten Aktion verbunden sind, und Mittel zur Auswahl
mindestens einer bestimmten Aktion aufweisen, wenn eine Einheit
von in der entsprechenden Regel enthaltenen Schlüsselwörtern in dem ausgesprochenen
Satz vorhanden ist, dadurch gekennzeichnet, dass die Auswahlmittel zur
Identifikation die Gesamtheit der Regeln durchlaufen und für jede gegebene
Regel das Vorhandensein einer Einheit von Schlüsselwörtern dieser Regel im gesprochenen
Satz suchen, um die entsprechende bestimmte Aktion bezüglich der
so gelösten
und identifizierten Regel auszuwählen.
-
Gemäß weiteren
Merkmalen der Erfindung:
- – wird die Einheit der Schlüsselwörter einer
Regel aus geordneten Untereinheiten von Schlüsselwörtern, Ausdrücke genannt,
gebildet, wobei jedes Schlüsselwort
oder jeder Ausdruck mit anderen Schlüsselwörtern oder Ausdrücken so
kombiniert wird, dass mindestens zwei Schlüsselwörter oder Ausdrücke entweder
untereinander austauschbar oder in einer bestimmten Reihenfolge des
Auftretens oder auch in einer beliebigen Reihenfolge vorhanden sind;
- – wählen für eine gegebene
Regel, die eine Einheit von Ausdrücken aufweist, die Auswahlmittel die
entsprechende Aktion aus, wenn die Regel vollständig gelöst wurde,
ansonsten suchen
sie im laufenden Ausdruck das erste Schlüsselwort des Wortlauts, und
wenn
das erste Schlüsselwort
gefunden ist, suchen sie den Rest der Schlüsselwörter des Ausdrucks im Wortlaut,
und
wenn diese letzte Suche erfolglos ist, wird der laufende
Ausdruck für
dieses erste Schlüsselwort
invalidiert und die Suche wieder aufgenommen, ansonsten ist die
Regel gelöst
und die entsprechende Aktion wird ausgewählt, und
wenn das erste
Schlüsselwort
nicht gefunden wird, wird die Suche im Rest der Schlüsselwörter wieder
aufgenommen;
- – weisen
die Mittel zur semantischen Analyse außerdem Verzweigungsmittel auf,
die ausgelegt sind, um unter der Gesamtheit der ausgewählten Aktionen
die auszuführende
Aktion zu bestimmen.
-
Die
Erfindung wird besser verstanden anhand der nachfolgenden Beschreibung,
die nur als Beispiel dient und sich auf die beiliegenden Zeichnungen
bezieht. Es zeigen:
-
1 ein
Gesamtschema der Erfindung;
-
2 ein
Flussdiagramm eines die Erfindung verwendenden Sprachservers;
-
3 ein
allgemeines erfindungsgemäßes Flussdiagramm;
und
-
4 ein
detailliertes erfindungsgemäßes Flussdiagramm
für eine
Regel.
-
Ein
erfindungsgemäßes Sprachanwendungssystem
weist gemäß 1 Mittel
zur Erfassung von Sätzen
auf, die von einem Benutzer gesprochen werden.
-
In üblicher
Weise bestehen diese Erfassungsmittel aus einem Mikrofon, zum Beispiel
demjenigen eines Telefonhörers,
das mit einer Elektronikkarte verbunden ist, die das vom Mikrofon
erzeugte analoge Signal in eine Folge von digitalen Daten umwandelt,
die für
das empfangene Signal repräsentativ ist.
-
Diese
Erfassungsmittel 1 sind mit Spracherkennungsmitteln 2 verbunden.
-
Diese
Erkennungsmittel 2 verwenden in üblicher Weise allgemein bekannte
Technologien vom Typ N-gram. Firmen wie Nuance und Scansoft schlagen
kommerziell solche besonders gut an durchgehendes Sprechen angepasste
Technologien vor. Andere Spracherkennungstechnologien sind ebenfalls vorsehbar,
ohne dass dies die Erfindung verändert.
-
Die
Spracherkennungsmittel 2 wandeln so die von den Erfassungsmitteln 1 empfangene
Folge von digitalen Daten in einen unbearbeiteten Satz um.
-
Die
Mittel 3 zur semantischen Analyse oder semantischer Analysator
weisen Mittel 8 zur Erkennung von Schlüsselwörtern auf, die den unbearbeiteten
Satz in eine geordnete Einheit von erkannten Schlüsselwörtern oder
Wortlaut umwandeln.
-
Sie
weisen außerdem
Zuordnungsmittel 4 zwischen Schlüsselwörtern und Aktionen auf. Diese Zuordnungsmittel
liegen vorzugsweise in Form von Regeln des Typs: <Schlüsselwort
1> <Schlüsselwort 2> ... <Schlüsselwort
N> → Aktion
vor.
-
Die
Mittel 3 zur semantischen Analyse weisen ebenfalls Auswahlmittel 5 auf,
die die geordnete Einheit von im gesprochenen Satz erkannten Schlüsselwörtern mit
den verschiedenen Regeln 4 vergleichen. Die der Einheit
von Schlüsselwörtern entsprechenden
Regeln 4 definieren so die Gesamtheit der möglicherweise
auszuführenden
Aktionen.
-
Der
semantische Analysator 3 weist ebenfalls Verzweigungsmittel 6 auf.
Diese Verzweigungsmittel 6 werden verwendet, wenn mehrere
Regeln ausgewählt
wurden, um diejenige zu bestimmen, deren Aktion ausgeführt werden
soll.
-
Wenn
die Aktion ausgewählt
ist, wird sie von Dialogmitteln 9 ausgeführt, die
einen entsprechenden Satz erzeugen und ihn an den Benutzer als Antwort
auf den von ihm gesendeten Satz übertragen.
-
Dieser
Satz kann eine Antwort oder auch eine Frage sein, die es ermöglicht,
die Erwartung des Kunden zu präzisieren
und so einen Dialog zwischen dem Benutzer und dem Server erzeugt.
-
Die
erzeugten Aktionen können
ebenfalls Steuerungen eines Automaten entsprechen. Zum Beispiel
kann ein System der Prüfung/Steuerung
eines Prozesses ein erfindungsgemäßes Sprachanwendungssystem
verwenden, um die Befehle von einem Operator anstelle von oder zusätzlich zu üblicheren
Schnittstellen zu empfangen, wie die Tastatur und der Bildschirm.
-
Der
Betriebsmodus des semantischen Analysators 3 wird nun genauer
beschrieben.
-
Wie
oben erwähnt,
ist jede Aktion einer Reihe von geordneten Schlüsselwörtern zugeordnet, wobei das
Ganze einer Regel entspricht.
-
Die
Gesamtheit der Regeln, 2, ist im semantischen Analysator
zum Beispiel in Form einer Datei gespeichert. Eine bevorzugte Ausführungsform besteht
darin, die Regeln in einer Textdatei zu sammeln, die eine Regel
pro Zeile enthält.
-
Die
Schlüsselwörter werden
dann geordnet, indem drei Operatoren verwendet werden.
-
Der
erste Operator, mit & bezeichnet,
entspricht dem geordneten Operator UND. So zeigt A & B an, dass die
Schlüsselwörter A und
B vorhanden sein müssen
und dass B in der Reihenfolge des Wortlauts auf A folgt.
-
Der
zweite Operator, mit # bezeichnet, entspricht dem nicht geordneten
Operator UND. A # B zeigt an, dass die Schlüsselwörter A und B vorhanden sein
müssen
und dass die Reihenfolge des Auftretens von A und B im Satz bedeutungslos
ist: AB und BA werden als zu dieser Regel gehörend erkannt.
-
Der
dritte Operator, mit | bezeichnet, entspricht dem Operator ODER.
A|B zeigt an, dass der Wortlaut alternativ A oder B enthalten muss.
Die Schlüsselwörter A und
B sind also austauschbar.
-
Diese
drei Operatoren können
miteinander kombiniert werden, und Klammern ermöglichen es, Gruppen von Schlüsselwörtern zu
definieren.
-
Zum
Beispiel zeigt (A|B) & (C#D)
an, dass die Regel gültig
ist für
einen Wortlaut, der mit den Schlüsselwörtern A
oder B beginnt, gefolgt von CD oder von DC.
-
In
der bevorzugten Ausführungsform
der Erfindung wird die der Regel entsprechende durchzuführende Aktion
am Ende der Zeile nach den Schlüsselwörtern geschrieben
und mit geschweiften Klammern umrahmt.
-
Der
semantische Analysator 3 empfängt in 3, Schritt 10 am
Eingang einen Satz in Form einer geordneten Folge von Schlüsselwörtern, oder Wortlaut,
und besitzt einen Satz von Regeln in Form einer Datei.
-
Er
liest eine erste Regel in 11 und sucht das von dieser erwartete
Schlüsselwort.
Eine Regel wird in 12 als gültig markiert, wenn die Folge
von Schlüsselwörtern, die
sie definiert, sich im Wortlaut wiederfindet.
-
Es
kann aber vorkommen, dass in der Regel erwartete Wörter im
Wortlaut durch andere, nicht vorgesehene Wörter getrennt sind. Diese werden
dann gelöscht
und als nicht relevantes Geräusch
betrachtet.
-
Der
semantische Analysator versucht aber systematisch, die Konformität des Satzes
mit der Regel zu überprüfen.
-
Wenn
er alle Möglichkeiten
der Übereinstimmung
erschöpft
hat oder entdeckt hat, dass die Regel anwendbar ist, sucht der Analysator
die folgende Regel in 13. Wenn sie existiert, wird sie
wie vorher analysiert, ansonsten überträgt der semantische Analysator
in 14 an die Verzweigungsmittel 6 die Gesamtheit
der gültigen
Regeln.
-
So
ermöglicht
der semantische Analysator 3 in besonders vorteilhafter
Weise, bestimmte Schlüsselwörter des
Wortlauts zu ignorieren und alles, was sich zwischen zwei erwarteten
Wörtern
befindet, als nicht bestimmende Information, d.h. als Geräusch, zu
betrachten.
-
Um
eine vollständige
Erforschung der Möglichkeiten
des Wortlauts gegenüber
der Liste der Schlüsselwörter der
Regel zu ermöglichen,
verwendet der semantische Analysator die folgende rekursive Strecke
der 4:
- 1. Wenn der Ausdruck in 20 vollständig gelöst wurde,
hat man in 21 eine korrekte Regel, selbst wenn nicht getestete
Schlüsselwörter übrig sind;
- 2. ansonsten Suche in 22 im Ausdruck nach dem ersten
Wort der Liste der Schlüsselwörter;
- 3. wenn das Wort in 23 gefunden wurde, wird in 24 in
gleicher Weise die Suche mit dem Rest der Schlüsselwörter gestartet:
a. Wenn
die Suche mit dem Rest der Schlüsselwörter in 25 gescheitert
ist, wird in 27 der Subausdruck, der es ermöglicht hat,
das erste Wort zu finden, für
dieses erste Wort und nur für
dieses invalidiert (es wird als Geräusch betrachtet), und die Suche
wird erneut gestartet. Das Endergebnis ist dann das Ergebnis dieser
neuen Suche.
b. Wenn die Suche mit dem Rest der Wörter in 25 erfolgreich
war, hat man in 26 eine korrekte Regel gefunden.
- 4. Wenn das Wort in 23 nicht gefunden wurde, wird es
in 28 als Geräusch
betrachtet, und die Suche wird in 22 über den Rest der Schlüsselwörter gestartet.
Das Endergebnis ist dann das Ergebnis dieser neuen Suche.
-
Dies
ermöglicht
einen Rückwärtsschritt, wenn
ein begonnener Subausdruck gescheitert ist und wenn es noch Alternativen
in der Regel gibt, die nicht erforscht wurden.
-
Um
diesen Betrieb besser verständlich
zu machen, wird als Beispiel angenommen, dass der Wortlaut ist
[Mobiltelefon][Begrenzen][Betrag][Zahlen][Reduktion]
[Zahlen][Dings][Teuer]
und dass die Regel den Ausdruck
((Reduktion
# (Begrenzen & Betrag)
# (Zahlen & Teuer))#
Mobiltelefon) definiert.
-
Der
Ablauf des Algorithmus ist folgendermaßen:
- 1 – Suche
des Worts [Mobiltelefon] im Ausdruck, Erfolg der Suche.
- 2 – Erfolgreiche
Suche von [Begrenzen], der Subausdruck (Begrenzen & Betrag) wird
begonnen.
- 3 – Suche
nach [Betrag] im begonnenen Subausdruck, Erfolg. Der Subausdruck
(Begrenzen & Betrag)
ist gelöst.
- 4 – Suche
nach [Zahlen], Erfolg und Subausdruck (Zahlen & Teuer) wird begonnen.
- 5 – Suche
nach [Reduktion] im begonnenen Subausdruck. Scheitern der Suche.
[Reduktion] wird als Geräusch
betrachtet und es wird fortgefahren.
- 6 – Suche
des zweiten [Zahlen] im begonnenen Ausdruck. Erneutes Scheitern
der Suche. Das zweite [Zahlen] wird als Geräusch betrachtet und es wird
fortgefahren.
- 7 – [Dings]
wird auch nicht im begonnenen Ausdruck gefunden. [Dings] wird als
Geräusch
betrachtet.
- 8 – Das
Schlüsselwort
[Teuer] wird im begonnenen Ausdruck gesucht. Erfolg der Suche des Worts
[Teuer], aber es sind keine Schlüsselwörter mehr übrig und
der Ausdruck wurde nicht ganz gelöst. Rückkehr zum Punkt 7 mit einem
Scheitern des Lösens
der Regel.
- 7.1 – Da
[Dings] nicht gefunden wurde, Rückkehr zum
Punkt 6.
- 6.1 – Da
[Zahlen] als Geräusch
betrachtet wird, Rückkehr
zum Punkt 5.
- 5.1 – Gleiches
mit [Reduktion], Rückkehr
zum Punkt 4.
- 4.1 – Da
[Zahlen] gefunden wurde, wird der Subausdruck (Zahlen & Teuer) für die Suche
dieses ersten [Zahlen] invalidiert, bleibt aber für die Suche
des zweiten [Zahlen] zugänglich.
Dieser Subausdruck wird nicht mehr als begonnen angesehen. Man sucht
erneut das erste [Zahlen]. Dieses Mal scheitert die Suche, da der
Subausdruck (Zahlen & Teuer)
nicht zugänglich
ist. Das erste [Zahlen] wird als Geräusch betrachtet und es wird fortgefahren.
- 5.2 – Suche
nach [Reduktion], das gefunden wird, da dieses Mal kein Subausdruck
begonnen wurde.
- 6.2 – Suche
des zweiten [Zahlen], das gefunden wird, der Subausdruck (Zahlen & Teuer) wird erneut
begonnen.
- 7.2 – Suche
nach [Dings], Scheitern der Suche, es wird also als Geräusch betrachtet
und es wird fortgefahren.
- 8.1 – Suche
nach [Teuer] mit Erfolg. Der Ausdruck ist ganz gelöst, und
es ist also gelungen, eine korrekte Regel zu finden.
-
So
ermöglicht
es die Erfindung auf besonders vorteilhafte Weise dem Spracherkennungssystem,
die anwendbaren Regeln zu erkennen, trotz der Geräusche und
Unvollkommenheiten des gesprochenen Satzes.