-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Dialogsystem und -verfahren,
das die Anfrage eines Benutzers interpretiert und ein oder mehrere
Aufgaben-Ziele implementiert.
-
2. Beschreibung des Standes
der Technik
-
Es
gibt eine große
Anzahl an Systemen mit gesprochenen Dialogen, deren Dialogmanager
sich in den Strategien, die sie anwenden, in der Art, wie sie das
Wissen über
Aufgaben darstellen und verarbeiten, und darin, wie viel Initiative
sie ergreifen, unterscheiden. Oft ist es der Fall, dass die Äußerung eines
Benutzers eine Klärung
erfordert, entweder weil der Benutzer zu viele Informationen oder
aber nicht genügend
Informationen geliefert hat. Bestehende Dialogmanager haben Probleme,
wenn Vieldeutigkeiten in den Äußerungen
des Benutzers enthalten sind oder wenn der Benutzer einen Wunsch äußert, mehr
als ein Ziel zu erreichen. Das Dokument "Generating semantically consistent input
to a dialog manager",
A. Abella und A.L. Gorin, Eurospeech 1997, Rhodos, Griechenland,
S. 1879–1882,
offenbart einen solchen Dialogmanager.
-
Es
besteht ein Bedarf an einem Dialogmanager, der auf die Absicht des
Benutzers schließt,
das Vorhandensein von Vieldeutigkeiten anhand des Wissens über die
Aufgabe erkennt, eine semantisch konsistente Darstellung der Absicht
des Benutzers konstruiert und das Ziel des Benutzers logisch implementiert.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
Erfindung ist wie in den unabhängigen Ansprüchen 1 und
12 beansprucht. Ein Dialogmanager-System und -Verfahren verwendet
Dialogstrategien, um einen Benutzer in einen Dialog einzubinden, falls
dies nötig
ist, um Aufgaben-Ziele zu implementieren. Diese Strategie beruht
auf einer nach Prioritäten
ge staffelten Hierarchie von Aufgabenarten durch Bestimmung eines
semantisch konsistenten Satzes von Aufgaben-Zielen aus der Eingabe
eines Benutzers.
-
Das
System und Verfahren verwendet eine Vererbungs-Hierarchie von Anruf-
oder Aufgabenarten (Diensten). Diese Hierarchie wird vom Dialogmanager
benutzt, um eine semantisch konsistente Kombination von Anruf- oder
Aufgabenarten in Form einer Booleschen Formel zu erstellen. Die
Boolesche Formel wird dann vom Dialogmanager verwendet, um zu ermitteln,
ob es nötig
ist, klärende
Fragen zu stellen, weitere Informationen anzufordern, die notwendig sind,
um die Transaktion durchzuführen,
und um zu bestimmen, in welcher Reihenfolge diese Fragen gestellt
werden sollen. Diese Formel wird durch einen Minimierungsprozess
für Boolesche
Formeln gewonnen und ergibt immer eine minimale und konsistente Kombination
von Anruf- oder Aufgabenarten. Weiterhin erfordert eine Änderung
der Hierarchie keine Änderung
des Dialogmanagers.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
Erfindung wird mit Bezug auf die folgenden Zeichnungen beschrieben,
worin gleiche Bezugszeichen gleiche Elemente bezeichnen und worin:
-
1 die
Vererbungs-Hierarchie für
eine Teilmenge von Anrufarten darstellt;
-
2 ein
Beispiel für
Anrufarten und ihre dazugehörigen
Attribute darstellt;
-
3 ein
Blockdiagramm des Dialogmanagers der Erfindung ist;
-
4 Anfangs-Bitstrings
darstellt, die die Werte der Variablen für jede Zelle darstellen;
-
5 das
Ergebnis der Anwendung einer Minimierung mit einer Booleschen Formel
darstellt;
-
6 ein
Flussdiagramm eines der Algorithmen ist, die vom Dialogmanager verwendet
werden;
-
7 ein
Funktionsblock-Diagramm eines Systems ist, in dem der Dialogmanager
der Erfindung eingesetzt werden kann, und
-
8 ein
Flussdiagramm ist, das die Methodik darstellt, wie der Dialogmanager
der Erfindung gemäß dem in 7 dargestellten
System eingesetzt werden kann.
-
DETAILLIERTE
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
-
Es
gibt viele Verwendungen in verschiedenen Industriezweigen für das offenbarte
System und das Verfahren. Der Dialogmanager kann in jeder Situation
und mit jedem System, ob bekannt oder zukünftig entwickelt, verwendet
werden, worin eine Maschine mit einem Menschen interagieren muss.
Als erläuterndes
Beispiel wird die Erfindung jedoch auf eine Telefonanlage angewandt
werden, wie unten ausgeführt.
-
Die
Beziehung zwischen den Anrufarten und zusätzlichen Konzepten (fett gedruckt)
ist in der Vererbungs-Hierarchie in 1 dargestellt.
Die Äußerungen
eines Benutzers werden analysiert, um mögliche Anrufs-Routing-Ziele
zu bestimmen, die als eine oder mehrere von z. B. 15 Anrufarten
klassifiziert werden (eine Teilmenge ist in 1 dargestellt).
Falls die Äußerungen
des Benutzers nicht klassifiziert werden können, nachdem ein Dialog zwischen
Benutzer und System durchgeführt
wurde, wird der Benutzer für
Klärungszwecke
an einen menschlichen Agenten (ANDERE) verwiesen. Die Anrufarten
sind in drei Kategorien unterteilt, INFORMATION, DIAL-FOR-ME (WÄHLE-FÜR-MICH),
BILLING CREDIT (GEBÜHRENBERECHNUNGS-GUTHABEN)
und, zusätzlich, ANDERE.
Der Stand der Technik von Dialog-Management nutzt die Beziehungen
zwischen Anrufarten nicht auf diese Art. Dieser neue Ansatz nutzt
diese Hierarchie, um die semantisch konsistente Kombination von
Anrufarten zu erzeugen, die für
die Frage des Anrufers kennzeichnend sind.
-
Jede
Anrufart ist als eine Klasse dargestellt. Jede Klasse kann damit
verbundene Attribute haben, welche die Klasse beschreiben. Diese
Attribute können
spezifisch für
die Klasse sein oder von anderen Klassen geerbt werden. 2 zeigt
ein Beispiel für mehrere
Anrufarten, wie z. B. DIAL-FOR-ME (WÄHLE-FÜR-MICH), BILLING (GEBÜHRENBERECHNUNG), CARD (KARTE),
COLLECT (R-GESPRÄCH) und
THIRD-NUMBER (DRITTE NUMMER). Da DIAL-FOR-ME eine Vorgängerklasse
von BILLING ist und BILLING wiederum eine Vorgängerklasse von CARD, COLLECT
und THIRD-NUMBER ist, erben sie jeweils, wie in der Abbildung dargestellt, das
forward number-Attribut
von DIAL-FOR-ME. CARD hat zusätzlich
card number, und THIRD-NUMBER hat billing number. Da COLLECT nur
forward number benötigt,
benötigt
es keine zusätzlichen
Attribute.
-
Die
Hierarchie arbeitet so, dass sie verschiedene Anrufarten nach Priorität sortiert,
was, je nach der Priorität
der Anrufart in der Hierarchie, in folgenden Szenarien resultieren
kann: konjunktiv, sich gegenseitig ausschließend, ersetzend, unverlangte
Informationen und Kontext-ändernde
Szenarien.
-
Ein
konjunktives Szenario tritt auf, wenn das System feststellt, dass
der Anrufer zwei oder mehr Anrufarten implementieren möchte, die
zwei nicht verwandten Zweigen der Vererbungs-Hierarchie angehören, was bedeutet, dass der
(die) Anrufer(in) möchte,
dass das System seine (ihre) beiden Anforderungen erfüllt. Mit
jeder Anrufart ist eine Priorität verbunden.
Die Hierarchie kann eine Priorisierung der Anrufarten codieren,
die vom Dialogmanager verwendet werden kann, um festzustellen, welche
Frage zuerst beantwortet werden soll. Zum Beispiel haben in 1 Informationsanfragen
die höchste
Priorität und
werden daher zuerst beantwortet.
-
Ein
Szenario des gegenseitigen Ausschlusses tritt auf, wenn das System
feststellt, dass der Anrufer zwei oder mehr Anrufarten implementieren möchte, die
zu zwei verwandten Zweigen der Vererbungs-Hierarchie gehören, so
dass nur eines der Ziele erreicht werden kann. In diesem Szenario
wird der (die) Anrufer(in) aufgefordert, sein (ihr) gewünschtes Routing-Ziel
klarzustellen.
-
Ein
Ersetzungsszenario tritt auf, wenn das System feststellt, dass der
Anrufer zwei oder mehr Anrufarten implementieren möchte, wie
im konjunktiven Szenario. Da jedoch eine Anrufart ein Vorgänger einer
anderen Anrufart (Abkömmling)
ist, ist impliziert, dass der Abkömmling seinen Vorgänger ersetzt.
Diese Vererbungsstruktur wird ausgenutzt, um den Dialog auf die
abhängige
Anrufart zu fokussieren, da sie spezifischer ist.
-
Ein
Bestätigungsszenario
tritt dann auf, wenn das System die Notwendigkeit feststellt, die
Absicht des Anrufers zu überprüfen, weil
der Vertrauensgrad des Systems nicht hoch genug war. Es ist jedoch
oftmals nicht notwendig, dass das System den (die) Anrufer(in) auffordert,
seine (ihre) Anfrage zu wiederholen, sondern stattdessen die Informationen zu überprüfen, die
in der ursprünglichen Äußerung enthalten
waren.
-
Eine
Kontextänderung
findet statt, wenn der Anrufer oder das Spoken Language Understanding-Modul
(Modul zum Verständnis
der gesprochenen Sprache) z. B. einen Fehler macht und diesen dann
korrigiert. Der (die) Anrufer(in) gibt eine gültige Antwort, das System reagiert
in Form einer überprüfenden Frage.
Der (die) Anrufer(in) beantwortet dann die überprüfende Frage negativ und fügt danach
hinzu, dass er (sie) eine andere Anrufart mit einer entsprechend
anderen Priorität
implementieren möchte. Das
System verarbeitet dann die zweite Antwort und stellt eine Überprüfungsfrage
auf der Grundlage dieser Äußerung.
-
Die
obigen Szenarien sind exemplarischer Natur. Es kann viele andere
Situationen geben, um die Vererbungs-Hierarchie dieser Erfindung
zu nutzen. Um weiter zu verdeutlichen, wie die Vererbungs-Hierarchie
in diesen Szenarien genutzt wird, sind unten mehrere Beispiele aufgeführt.
-
3 beschreibt,
wie der Dialogmanager die Ausgabe des Spoken Language Understanding-Moduls
(SLU) und die Vererbungs-Hierarchie
der Erfindung nutzt. Das SLU-Modul 310 empfängt eingegebene
Sprache von einem Erkennungsmodul und verknüpft die erkannte Sprache mit
einem oder mehreren einer Reihe von Aufgaben-Zielen. Das SLU-Modul 310 stellt
eine Liste von Aufgaben-Zielen
anhand der erkannten eingegebenen Sprache zusammen und erteilt eine
Bewertung im Zusammenhang mit der Wahrscheinlichkeit, dass der Benutzer
die Implementierung eines bestimmten Aufgaben-Ziels wünscht. Das
Verfahren zur Erkennung von Sprache und zur Zuweisung einer Bewertung
im Zusammenhang mit der Wahrscheinlichkeit der Implementierung eines
Aufgaben-Ziels auf der Grundlage erkannter Sprache kann mit jedem
Verfahren durchgeführt
werden, das dem Fachmann bekannt ist, einschließlich des Verfahrens, das in
WO 9710589 offenbart ist.
-
Die
Liste von Aufgaben-Zielen und ihre dazugehörigen Bewertungen werden vom
SLU-Modul 310 in den Dialogmanager 330 eingegeben.
Der Dialogmanager 330 wendet einen Grenzwert auf die Liste von
Aufgaben-Zielen an, um das (die) wahrscheinlichste(n) eine oder
mehreren Aufgaben-Ziel(e) zu bestimmen, die der Benutzer implementieren
möchte.
Der angewandte Grenzwert kann z. B. vorgegeben oder berechnet werden.
Wenn keines der Aufgaben-Ziele
auf der Liste von Aufgaben-Zielen den Grenzwert einhält, ordnet
der Dialogmanager 330 an, dass dem Benutzer eine. Frage
zur Klärung
gestellt wird (z. B. "Das
System hat Ihre Antwort nicht verstanden. Bitte versuchen Sie es
noch einmal.") Sobald
der Grenzwert angewandt wurde, wird auf die Liste mit wahrscheinlichen
Aufgaben-Zielen eine Vererbungs-Hierarchie 320 angewandt,
wie z. B. diejenige, die in 1 dargestellt
und oben beschrieben ist. Der nächste
Abschnitt beschreibt anhand mehrerer Beispiele, wie der Dialogmanager 330 die
oben genannte Vererbungs-Hierarchie 320 und das Wissen über die
Aufgaben nutzt.
-
Wenn
der Benutzer eine Anfrage äußert, gibt das
Erkennungsmodul sein Ergebnis an das SLU-Modul 310 weiter,
das einen Satz von Anrufarten mit den bewerteten Wahrscheinlichkeiten
erstellt, dass ein Anrufer die einzelnen Dienste jeweils wünscht. Die
folgenden Beispiele verdeutlichen die Nutzung der Vererbungs-Hierarchie 320 zusammen mit
dem SLU-Modul 310 durch den Dialogmanager zur Erstellung
einer Booleschen Formel. Die Boolesche Formel wird vom Dialogmanager
zur Erzeugung einer Antwort verwendet.
-
Koniunktives
Szenario
-
- Benutzer: Ich möchte
ein Person-to-Person-Gespräch
(Person-zu-Person-Gespräch) nach
Tokio führen,
aber können
Sie mir sagen, wie spät
es dort jetzt ist ?
SLU-Ausgabe:
{(PERSON-TO-PERSON, 0.97),
(TIME
(Zeit), 1.00)}
Boolesche Formel: TIME UND PERSON-TO-PERSON
- System: Es ist jetzt 11.00. Wie möchten Sie diesen Anruf verrechnen
?
-
In
diesem Beispiel untersucht der Dialogmanager 330 die Vererbungs-Hierarchie
320, um festzustellen, dass die beiden Anrufarten, die vom SLU-Modul 310 zurückgeliefert
werden, zu zwei nicht verwandten Zweigen der Vererbungs-Hierarchie
gehören,
was bedeutet, dass der (die) Anrufer(in) möchte, dass das System seine
(ihre) beiden Anfragen beantwortet. Da mit jeder Anrufart eine Priorität verknüpft ist,
werden die Anrufarten mit höchster
Priorität
zuerst beantwortet. In diesem Beispiel wird TIME, ein Abkömmling von
INFORMATION, zuerst verarbeitet. Der Dialogmanager 330 schreitet
dann fort zur Verarbeitung der PERSON-TO-PERSON-Anforderung, was zunächst eine
Abfrage des Verrechnungsverfahrens erfordert.
-
Szenario des
gegenseitigen Ausschlusses
-
- Benutzer: Ich möchte
diesen Anruf verrechnen.
SLU-Ausgabe:
{(THIRD-NUMBER, 0.75),
(CARD,
0.24)}
Boolesche Formel: THIRD-NUMBER ODER CARD
- System: Wie möchten
Sie diesen Anruf verrechnen ?
-
In
diesem Beispiel ist es notwendig, dass der Dialogmanager 330 einen
Klärungsdialog
initiiert, um zu ermitteln, welches Verrechnungsverfahren angewandt
werden soll. Auch hier untersucht der Dialogmanager 330 die
Vererbungs-Hierarchie 320, um festzustellen, dass diese
Anrufarten sich gegenseitig ausschließen, da es nur ein Verrechnungsverfahren geben
kann. Die Beziehung des gegenseitigen Ausschlusses wird durch Einführung des
Konzepts von MUTUAL EXCLUSION (GEGENSEITIGES AUSSCHLIEßEN als
Vorgänger
von BILLING implementiert, wie in 1 dargestellt.
-
Ersetzungsszenario
-
- Benutzer: Ich versuche, einen Anruf mit der Telefonkarte
durchzuführen;
können
Sie mir beim Wählen helfen
?
SLU-Ausgabe:
{(DIAL-FOR-ME, 0.78),
(CARD, 0.96)}
Boolesche
Formel: CARD
- System: Kann ich bitte Ihre Kartennummer haben ?
- Benutzer: 000-123-4567-000
- System: Welche Nummer möchten
Sie anrufen ?
-
In
diesem Beispiel war es nicht nötig,
dass der Dialogmanager 330 nach dem Verrechnungsverfahren
fragt, wie es der Fall wäre,
wenn nur die Anrufart DIAL-FOR-ME zurückgeliefert worden wäre. Stattdessen
kann er jetzt schon nach der Nummer der Telefonkarte und der Telefonnummer
fragen, weil DIAL-FOR-ME ein Vorgänger von CARD ist, was bedeutet,
dass CARD DIAL-FOR-ME ersetzt. Jedes Attribut einer Anrufart hat
eine damit verknüpfte
Priorität.
Diese Priorität
zwischen Attributen ist anders als die Priorität zwischen Anrufarten und wird
verwendet, um zu bestimmen, nach welchem Attribut zuerst gefragt
werden soll. Für
die CARD-Anrufart hat das Attribut "Kartennummer" eine höhere Priorität als die Telefonnummer
und wird daher zuerst abgefragt.
-
Bestätigungsszenario
-
- Benutzer: Ja, Vermittlung, ich versuche 123 4567 anzurufen,
aber ich komme nicht durch.
SLU-Ausgabe:
{(DIAL-FOR-ME,
0.84)}
Boolesche Formel: (DIAL-FOR-ME)
- System: Möchten
Sie jemanden anrufen ?
- Benutzer: Ja.
- System: Würden
Sie bitte die Nummer wiederholen ?
- Benutzer: 555 4567
-
In
diesem Fall war es nötig,
zu überprüfen, ob
der Benutzer jemanden anrufen wollte, da das Vertrauen nicht groß genug
war. Es war jedoch nicht notwendig, den Benutzer explizit zu fragen "Welche Nummer möchten Sie
wählen
?", sondern nur
die Telefonnummer zu überprüfen, die
in der ursprünglichen Äußerung genannt
wurde.
-
Kontextänderungs-Szenario
-
- Benutzer: Ähm...äh...kann
ich ein R-Gespräch
führen ?
SLU-Ausgabe:
{(COLLECT,
0.80)}
Boolesche Formel: (COLLECT)
- System: Möchten
Sie ein R-Gespräch
führen
?
- Benutzer: Nein, nein, ziehen Sie das von meiner Telefonkarte
ab.
SLU-Ausgabe:
{(CARD, 0.85)}
Boolesche Formel:
(CARD)
- System: Möchten
Sie mit der Karte telefonieren ?
- Benutzer: Ja.
-
Es
ist sehr nützlich,
wenn das System eine Kontextänderung
bearbeiten kann, besonders wenn der Benutzer einen Fehler gemacht
hat und ihn rückgängig machen
will, was hier der Fall ist.
-
Der
Minimierungsalgorithmus für
die Boolesche Formel zur Erzeugung der minimalen und konsistenten
Kombination von Anrufarten beseitigt die oftmals komplexe Codierung
von Implikationsregeln, die häufig
mit Dialogmanagern 330 verbunden sind. Der Dialogmanager 330 der
Erfindung ist datengesteuert, er wird mit der Vererbungs-Hierarchie 320 bereitgestellt,
und er wendet den Minimierungsalgorithmus für die Boolesche Formel an.
Wenn wir die Vererbungs-Hierarchie 320 ändern, müssen wir keinen neuen Dialogmanager 330 erstellen.
Ein anderer Vorteil dieses datengesteuerten Ansatzes besteht in seiner
Fähigkeit,
die Übertragbarkeit
in andere Anwendungen zu erleichtern. Die Verwendung des Dialogmanagers 330 in
einer anderen Anwendung erfordert die Erstellung einer neuen Vererbungs-Hierarchie 320,
aber nicht eines neuen Dialogmanagers 330.
-
Wir
beschreiben den Algorithmus zur Erstellung der Booleschen Formel
anhand eines Beispiels:
- Benutzer: Ich möchte ein P-Gespräch verrechnen.
SLU-Ausgabe:
{(THIRD-NUMBER,
0.67), (CARD, 0.25), (PERSON-TO-PERSON,
0.97)}
Boolesche Formel: (PERSON-TO-PERSON UND THIRD-NUMBER)
ODER (PERSON-TO-PERSON UND CARD)
- System: Wie möchten
Sie diesen Anruf verrechnen ?
-
Von
der Vererbungs-Hierarchie 320 weiß das System, dass CARD und
THIRD-NUMBER sich gegenseitig ausschließen und dass PERSON-TO-PERSON
in Verbindung mit jeder dieser beiden Anrufarten durchgeführt werden
kann. Folglich ist die semantisch konsistente Kombination von Anrufarten (PERSON-TO-PERSON
UND THIRD-NUMBER) ODER (PERSON-TO-PERSON UND CARD). Der Dialogmanager 330 bildet
die ursprüngliche
Interpretation auf eine Interpretation ab, die auf der Vererbungs-Hierarchie 320 beruht,
und nutzt dies, um zu bestimmen, welche seiner Dialogstrategien
er anwenden soll. Die ursprüngliche
Interpretation, d. h. PERSON-TO-PERSON
UND THIRD-NUMBER UND CARD, wird anhand der Vererbungs-Hierarchie 320 in
eine mehrdeutige Interpretation abgebildet, da THIRD-NUMBER UND
CARD nicht kompatibel sind. Der Dialogmanager 330 wendet
dann eine Vereindeutigungs-Strategie an, um den Benutzer aufzufordern,
das Gebührenberechnungs-Verfahren
zu bestimmen. Anders als bei einem Beispiel, das die Abfrage fehlender
Informationen erfordert, ist dieses Szenario mehrdeutig, weil das
SLU-Modul 310 zwei Berechnungsverfahren bereitgestellt
hat, im Gegensatz zu keinem.
-
Im
Allgemeinen kann mit der Minimierung der Booleschen Formel die semantisch
konsistente Kombination von Anrufarten gefunden werden. Die 4–6 verdeutlichen
den Algorithmus mit Hilfe des Karnaugh-Tabellenverfahrens zur Minimierung Boolescher
Formeln. Wir beginnen durch Abstrahierung der Anrufarten aus diesem
Beispiel zu A, B und C, worin A und B sich gegenseitig ausschließen. Aufgrund
dessen sollte die resultierende Formel nicht A UND B enthalten.
-
6 ist
ein Flussdiagramm des Algorithmus, der vom Dialogmanager zur Erzeugung
der Booleschen Formel verwendet wird. Im Schritt S605 werden die
SLU-Ausgabe und die Vererbungs-Hierarchie
eingegeben. Im Schritt S610 wird eine Karnaugh-Tabelle erstellt, deren Zellen jeweils
einen Bitstring enthalten, der die Werte der Variablen für diese Zelle
(gezeigt im schattierten Bereich von 4) darstellt.
Im Schritt S615 wird auf alle Variablen, die sich gegenseitig ausschließen (in
diesem Beispiel A und B), die Transformation A=B=A∨B angewandt.
Das Ergebnis dieser Transformation ist im nicht schattierten Bereich
von 4 dargestellt. Im Schritt S620 wird für alle nicht
schattierten Zellen in 4 X=A∧B∧C ausgewertet, um die Einsen
und Nullen zu ergeben, die in der Standard-Karnaugh-Tabelle verwendet werden.
Im Schritt S625 wird durch das Karnaugh-Tabellen-Verfahren auf X
eine Minimierung der Booleschen Formel vorgenommen wie in 5 dargestellt.
Schließlich
wird im Schritt S630 eine Boolesche Formel ausgegeben.
-
Wenn
wir diesen Algorithmus auf das obige Beispiel anwenden, ist die
Ausgabe die Boolesche Formel (A UND C) ODER (B UND C). Der Dialogmanager
verwendet dann diese Formel, um festzustellen, dass er Klärungsfragen
stellen muss.
-
7 zeigt
ein Blockdiagramm einer möglichen
Struktur, in welcher der Dialogmanager der Erfindung implementiert
werden kann. Wie aus der Zeichnung ersichtlich ist, umfasst die
Struktur zwei verwandte Teilsysteme: Meaningful Phrase Cluster Generation
Subsystem 1 (Teilsystem zur Erzeugung sinnvoller Satz-Cluster)
und Input Speech Classification Subsystem 2 (Teilsystem
zur Klassifizierung eingegebener Sprache). Das Meaningful Phrase
Cluster Generation Subsystem 1 arbeitet auf einer Datenbank
einer großen
Anzahl von Äußerungen,
von denen jede mit einem aus einem vordefinierten Satz von Routing-Zielen
zusammenhängt,
worin jede Äußerung mit
ihrem dazugehörigen
Routing-Ziel markiert ist. Die Arbeit dieses Teilsystems wird im
Wesentlichen vom Meaningful Phrase Selector 5 (Selektor
sinnvoller Sätze)
durchgeführt,
der als Ausgabe einen Satz sinnvoller Sätze auswählt, die eine stochastische
Beziehung zu einem oder mehreren aus dem Satz vordefinierter Routing-Ziele
haben, mit dem die eingegebenen sprachlichen Äußerungen verknüpft sind.
Die ausgewählten
sinnvollen Sätze werden
dann in ein Meaningful Phrase Clustering Device 15 (Vorrichtung
zur Gruppierung sinnvoller Sätze)
eingegeben, welche diejenigen sinnvollen Sätze gruppiert, die semantisch
verwandt sind. Die Arbeitsweise des Meaningful Phrase Selector 5 und
des Meaningful Phrase Clustering Device 10 wird allgemein in Übereinstimmung
mit einem beliebigen bekannten Algorithmus zur Auswahl und Gruppierung
sinnvoller Sätze
festgelegt.
-
Die
Arbeit des Input Speech Classification Subsystem 2 beginnt
mit der Eingabe der Zielaufgaben-Anforderung eines Benutzers, in
der natürlichen Sprache
des Benutzers, in den Input Speech Recognizer 15. Der Input
Speech Recognizer 15 kann jede gewünschte Konstruktion haben und
erfüllt
die Funktion des Erkennens eines oder mehrerer sinnvoller Sätze in der
eingegebenen Sprache. Ein Meaningful Phrase Cluster Detector 20 (Detektor
für sinnvolle Satzgruppen)
erfasst dann die sinnvollen Satz-Cluster, die unter den sinnvollen
erkannten Sätzen vorhanden
sind. Wie in der Figur zu sehen ist, werden die sinnvollen Satz-Cluster,
die vom Meaningful Phrase Generation Subsystem 1 erzeugt
werden, dem Meaningful Phrase Cluster Detector 20 als Eingabe
zur Verfügung
gestellt, um die Routing-Ziele
zu bestimmen, die mit sinnvollen Satz-Clustern zusammenhängen, und
um den Wahrscheinlichkeitsgrad der Beziehung solcher eingegebenen
sinnvollen Satz-Cluster zu einem bestimmten Routing-Ziel zu ermitteln.
-
Die
Ausgabe des Meaningful Phrase Cluster Detector 20, welche
die erfassten sinnvollen Satz-Cluster umfasst, die in der Routing-Ziel-Anfrage des
Anrufers vorkommen, wird dem Interpretationsmodul 30 zur
Verfügung
gestellt. Das Interpretationsmodul 30 erstellt eine Liste
wahrscheinlicher Routing-Ziele auf der Grundlage der stochastischen
Beziehung zwischen den erkannten sinnvollen Satz-Clustern und den
ausgewählten
Routing-Zielen. Das Interpretationsmodul 30 wendet dann
einen Grenzwert auf die Liste von Routing-Zielen an, um die Liste
der Möglichkeiten
zu begrenzen. Die Liste wird dann in den Dialogmanager 25 eingegeben,
wo eine Vererbungs-Hierarchie und eine Boolesche Formel angewendet
werden, um eine Entscheidung zu treffen, ob das ausgewählte Routing-Ziel
implementiert werden soll, mit einer Benachrichtigung des Anrufers,
dass ein solches Ziel implementiert wird (wenn nur ein Ziel möglich ist),
oder ob zusätzliche Informationen
und/oder Bestätigung
vom Anrufer abgefragt werden sollen (wenn kein oder mehr als ein Ziel
möglich
ist).
-
Anhand
der Rückmeldung
des Anrufers als Reaktion auf eine solche Abfrage wendet der Dialogmanager 25 erneut
die Vererbungs-Hierarchie und die Boolesche Formel an, um zu bestimmen,
ob eine Entscheidung, ein bestimmtes Routing-Ziel zu implementieren,
angemessen ist. Dieser Rückmeldungsprozess
wird fortgesetzt, bis entweder eine eindeutige Entscheidung zur
Implementierung eines bestimmten Routing-Ziels getroffen werden
kann oder aber festgelegt wird, dass eine solche Entscheidung nicht
wahrscheinlich ist; in diesem Fall wird der Anrufer per Vorgabe
an eine Vermittlungsposition weitergeleitet.
-
8 ist
ein Flussdiagramm, das die Methodik der Erfindung darstellt. Die
automatisierten Anruf-Routingfunktionen beginnen mit Schritt S205,
wo einem Anrufer, der auf den Router zugreift, ein Gruß gesagt
wird, wie z. B. "Was
kann ich für
Sie tun ?" Die Antwort
des Anrufers auf diesen Gruß findet
im Schritt S210 statt und wird auf das Vorhandensein eines oder
mehrerer sinnvoller Satz-Cluster untersucht. Wie in der Figur zu
sehen ist, wird der Satz sinnvoller Satz-Cluster sowohl Schritt
S215 als auch Schritt S220 als Eingabe zur Verfügung gestellt.
-
In
Schritt S220 wird eine nach Priorität sortierte Liste von Aufgaben-Zielen
erstellt, basierend auf den erkannten sinnvollen Satz-Clustern,
die aus der eingegebenen Sprache des Anrufers erkannt wurden. Im
Schritt S221 wird ein Grenzwert auf die Liste von Aufgaben-Zielen
angewandt, um zu ermitteln, ob irgendeine Anzahl von Aufgaben-Zielen
im Zusammenhang mit der Sprache des Benutzers möglich ist. Im Schritt S222
werden dann eine Vererbungs-Hierarchie und eine Boolesche Formel
auf die Liste von Aufgaben-Zielen angewandt, um weiter die möglichen
Aufgaben zu bestimmen, die der Benutzer implementieren möchte. Im
Schritt S225 wird anhand der Ergebnisse oder der Vererbungs-Hierarchie und der
Booleschen Formel eine Entscheidung getroffen, ob keins, eines oder
mehrere Ziele implementiert werden können. Wenn nur ein Ziel möglich ist
und den Grenzwert einhält,
wird das Ziel im Schritt S245 implementiert. Wenn keins oder mehrere
der Ziele möglich
sind, bittet der Dialogmanager 25 im Schritt S230 je nach Bedarf
um eine Bestätigung
vom Benutzer oder fordert zusätzliche
Informationen an.
-
Ein
solcher Dialog beginnt typischerweise mit einer Anfrage an den Benutzer
in der Form "Möchten Sie...?" Wenn der Benutzer
eine solche Anfrage verneint, kehrt das Verfahren im Schritt 5235 zum
Schritt S210 zurück,
wo der Benutzer seine Anfrage neu formuliert. Ein "Ja" oder ein Schweigen
des Benutzers lässt
den Prozess zum Schritt S240 fortschreiten, wo überprüft wird, ob weitere Informationen
benötigt
werden, um das Ziel zu erreichen, das in der eingegebenen Sprache
nicht enthalten war – z. B.
im Falle einer Gutschrift-Anfrage die Nummer, auf die der Betrag
gutgeschrieben werden soll. Wenn zusätzliche Informationen benötigt werden,
kehrt der Prozess zum Schritt S230 zurück, um einen weiteren Dialog
mit dem Benutzer durchzuführen.
Wenn keine zusätzlichen
Informationen erforderlich sind, wird das Ziel im Schritt S245 implementiert.
-
Diese
Erfindung bietet ein Verfahren zur Bestimmung eines Satzes semantisch
konsistenter Anrufarten. Wissen über
Aufgaben ist in einer Vererbungs-Hierarchie dargestellt, und Beziehungen
(ersetzend und sich gegenseitig ausschließend) zwischen Anrufarten sind
definiert. Diese Beziehungen steuern die Erzeugung des endgültigen Satzes
semantisch konsistenter Anrufarten. Dieser Satz wird mit Hilfe eines
Minimierungsalgorithmus für
Boolesche Formeln erzeugt. Es ist dieser endgültige Satz von Anrufarten,
der das Dialogverhalten steuert.
-
Obwohl
die vorliegenden Ausführungsformen
der Erfindung detailliert beschrieben wurden, versteht es sich,
dass verschiedene Änderungen, Modifikationen
und Ersetzungen darin vorgenommen werden können, ohne vom Schutzumfang
der Erfindung, wie durch die beigefügten Ansprüche definiert, abzuweichen.