DE60126948T2 - Interaktive dialoge - Google Patents

Interaktive dialoge Download PDF

Info

Publication number
DE60126948T2
DE60126948T2 DE60126948T DE60126948T DE60126948T2 DE 60126948 T2 DE60126948 T2 DE 60126948T2 DE 60126948 T DE60126948 T DE 60126948T DE 60126948 T DE60126948 T DE 60126948T DE 60126948 T2 DE60126948 T2 DE 60126948T2
Authority
DE
Germany
Prior art keywords
announcement
state
states
condition
transition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60126948T
Other languages
English (en)
Other versions
DE60126948D1 (de
Inventor
Peter John Ipswich DURSTON
David John Ipswich ATTWATER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE60126948D1 publication Critical patent/DE60126948D1/de
Publication of DE60126948T2 publication Critical patent/DE60126948T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

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

Description

  • Diese Erfindung betrifft eine interaktive Dialogvorrichtung und Dialogverfahren und bezieht sich insbesondere, wenn auch nicht ausschließlich auf jene, die eine Spracheingabe und/oder -ausgabe, vorzugsweise unter Verwendung von Schnittstellenverfahren für die maschinelle Sprachverarbeitung, verwenden.
  • Ein spezielles Beispiel derartiger Dialoge betrifft die automatisierte Telefonanrufweiterleitung.
  • Systeme für die interaktive Sprachausgabe (IVR, für Interactive Voice Response) werden in "Towards fluency-structured dialogues with natural speech input", D. J. Attwater, J. S. Fischer und H. R. Greenhow, BT Techol. J. Band 17, Nr. 1, Januar 1999, erörtert. Hierin wird ein Aufbau zum Befolgen einer Dialogstruktur beschrieben, worin Spracheingaben erkannt und zum Gewinnen von Informationen analysiert werden und worin Sprachaufforderungen abhängig von der Vorgeschichte der in der Dialogstruktur besuchten Knoten erzeugt werden.
  • In der Druckschrift WO 9618260 wird ein automatisches Telefonanrufbeantwortungssystem offenbart, das dynamisch veränderliche sprachliche Ausgaben erzeugt, die entsprechend einer Echtzeitverarbeitung von auf einer Vielzahl früherer Antworten von Anrufern basierenden historischen Daten in dem Dialog zusammengestellt werden.
  • In "Spontaneous speech dialogue system TOSBURG II – the user centered multimodal interface" von Yoichi Takeyabashi, Systems & Computers in Japan, US, Scripta Technical Journals, New York, Band 26, Nr. 14, 15. November 1995, Seite 77–91, wird die Verwendung eines Sprachdialogsystems mit einem Dialogmanager gezeigt, der ein Modell für Übergänge zwischen Zuständen verwendet. Auch hier werden historische Dialogdaten basierend auf den Ergebnissen des Dialogverständnisses aktualisiert und eine Antwort erzeugt. Takeyabashi fasst auch eine multimodale Ausgabe ins Auge, die synthetisierte Sprache, Text und Bilder umfasst.
  • Gemäß einem Aspekt der Erfindung wird eine interaktive Dialogvorrichtung angegeben, die umfasst:
    Eine Einrichtung zum Erzeugen von auszugebenden Ansagen;
    eine Einrichtung zur Verarbeitung eingehender Antworten für das Erzeugen von Antwortdaten;
    einen Speicher zum Speichern von Antwortdaten;
    einen Speicher zum Speichern von Daten, die einen Anfangszustand,
    eine Vielzahl von nachfolgenden Zuständen, mögliche Übergänge zwischen Zuständen und für jeden Übergang eine zugeordnete Bedingung definieren, die erfüllt sein muss, bevor der Übergang als zulässig anzusehen ist, wobei zumindest einige der Zustände die gespeicherten Antwortdaten umfassen; und
    eine Steuereinrichtung, die ausgebildet ist
    • (a) ein syntaktisches Verfahren auszuführen, bei dem sie untersucht, ob Übergangsbedingungen erfüllt sind, um nachfolgende Zustände zu bestimmen, hinsichtlich derer (i) die dem Übergang bzw. den Übergängen von einem Referenzzustand zu diesem Zustand zugeordnete(n) Bedingung(en) erfüllt sind, und (ii) keine einem Übergang von diesem Zustand zugeordnete Bedingung erfüllt ist;
    • (b) Auswählen einer auszugebenden Ansage in Abhängigkeit des so bestimmten Zustands; worin die Steuereinrichtung ausgebildet ist, bei Erhalt einer Antwort das syntaktische Verfahren unter Verwendung des Anfangszustands als Referenzzustand zu wiederholen.
  • Gemäß einem weiteren Aspekt wird eine interaktive Dialogvorrichtung angegeben, die umfasst:
    Eine Einrichtung zum Erzeugen von auszugebenden Ansagen;
    eine Einrichtung zur Verarbeitung eingehender Antworten für das Erzeugen von Antwortdaten;
    einen Speicher zum Speichern von Antwortdaten;
    einen Speicher zum Speichern von Daten, die einen Anfangszustand,
    eine Vielzahl von nachfolgenden Zuständen, mögliche Übergänge zwischen Zuständen und für jeden Übergang eine zugeordnete Bedingung festlegen, die erfüllt sein muss, bevor der Übergang als zulässig anzusehen ist, wobei zumindest einige der Zustände die gespeicherten Antwortdaten umfassen;
    einen Zustandsvorgeschichtespeicher; und
    eine Steuereinrichtung, die ausgebildet ist
    • (a) ein syntaktisches Verfahren auszuführen, bei dem sie untersucht, ob Übergangsbedingungen erfüllt sind, um nachfolgende Zustände zu bestimmen, hinsichtlich derer (i) die dem Übergang bzw. den Übergängen von einem Referenzzustand zu diesem Zustand zugeordnete(n) Bedingung(en) erfüllt sind, und (ii) keine einem Übergang von diesem Zustand zugeordnete Bedingung erfüllt ist;
    • (b) die bestimmten Zustände in dem Vorgeschichtespeicher aufzuzeichnen;
    • (c) eine auszugebende Ansage abhängig von den Inhalten des Vorgeschichtespeichers auszuwählen;
    worin die Vorrichtung einen Ansagedefinitionsspeicher zum Speichern einer Vielzahl von Ansagendefinitionen umfasst, von denen jede Ansagedefinition ein sequenzielles Muster eines oder mehrerer dieser zugeordneten Zustände aufweist, und die Steuereinrichtung ausgebildet ist, von den Ansagen, die einem sequenziellen Muster zugeordnet sind, das zumindest mit dem neuesten Teil der Folge von Zuständen in dem Zustandsvorgeschichtespeicher übereinstimmt, die Ansage auswählt, die die längste derartige Übereinstimmung aufweist.
  • Nach einem weiteren Aspekt, der nicht die Verwendung eines Zustandsmodells voraussetzt, wird eine interaktive Dialogvorrichtung angegeben, die umfasst:
    Eine Einrichtung zum Erzeugen von auszugebenden Ansagen;
    eine Einrichtung zur Verarbeitung eingehender Antworten für das Erzeugen von Antwortdaten;
    eine Steuereinrichtung, die ausgebildet ist, ein Dialogverfahren durchzuführen, bei dem sie abhängig von den Antwortdaten eine auszugebende Ansage auswählt;
    eine Einrichtung zum Speichern der zuletzt ausgegebenen Ansage;
    eine Einrichtung, die ausgebildet ist, die ausgewählte Ansage mit der gespeicherten, letzten Ansage zu vergleichen, und im Falle einer Übereinstimmung das Dialogverfahren zu beenden.
  • Die Erfindung erstreckt sich auch auf die dazugehörigen Verfahren. Weitere Aspekte der Erfindung werden in den Ansprüchen definiert.
  • Im Folgenden wird eine beispielhafte Ausführungsform der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, worin:
  • 1 eine schematische Darstellung eines Computers wiedergibt, auf den eine erfindungsgemäße Software geladen wurde;
  • 2 einen bekannten Aufbau eines Systems zur maschinellen Sprachverarbeitung zeigt;
  • 3 den Dialogmanager von 2 etwas ausführlicher zeigt;
  • 4 eine zwei Zustände verbindende Kante mit zugehörigen Kantenbedingungen zeigt;
  • 5 einen automatisch hinzugefügten, expliziten Bestätigungszustand zeigt;
  • 6 eine Kantenbedingung veranschaulicht, die es ermöglicht, einen Zustand in dem Dialog zu überspringen;
  • 7 ein Dialogmodell für einen Teil eines Fehlermeldedialogs zeigt; und
  • 8 ein Flussdiagramm für den Funktionsablauf des Dialogmanagers zeigt.
  • Im Folgenden wird ein System zur maschinellen Sprachdialogverarbeitung beschrieben. In diesem Beispiel ist das System Teil eines Steuerungssystems für Telefonanrufe, dessen letztendliche Aufgabe darin besteht, von einem Anrufer genügend Information sicherzustellen, um zu entscheiden, wohin der Anruf geleitet werden soll und diese Information dann an das Fernsprechnetz zu übergeben, das den Anruf genau genommen weiterleitet. Es ist jedoch auch für viele andere Anwendungen geeignet. Insbesondere könnten, auch wenn das beschriebene System Spracherkennung und Sprachsyntheseverfahren zur Durchführung eines gesprochenen Dialogs verwendet, dieselben Prinzipien auch auf Systeme angewandt werden, die andere Formen für die Ein- und Ausgabe verwenden wie beispielsweise Text, oder wohl auch auf gemischte Kommunikationsarten (z. B. Texteingabe und Sprachausgabe) oder Systeme, die mehr als eine solches Arten gleichzeitig verwenden.
  • Soweit es die Hardware betrifft, wird das System auf einem standardmäßigen Desktopcomputer 101 (1) ausgeführt.
  • Der Computer 101 weist eine Zentraleinheit 102, die mit einem Bus 103 zur Kommunikation mit dem Speicher 104 verbunden ist, eine herkömmliche Plattenspeichereinheit 105 zum Speichern von Daten und Programmen, eine Tastatur 106 und Maus 107 für Benutzerein gaben und einen Drucker 108 sowie eine Anzeigeeinheit 109 für die Darstellung von Ausgaben des Computers 101, auf. Der Computer 101 weist auch eine Soundkarte 110 und für den Zugriff auf (nicht gezeigte) externe Netzwerke eine Karte zur Netzwerkanbindung 111 auf.
  • Der Plattenspeicher 105 enthält eine Reihe von Programmen, die in den Speicher geladen und von dem Prozessor 102 ausgeführt werden können, und zwar ein herkömmliches Betriebssystem 112 und ein Programm 113, das eine Vorrichtung zur interaktiven Sprachausgabe für die Anrufsteuerung unter Verwendung einer Schnittstelle für die maschinelle Sprachverarbeitung schafft.
  • Das Programm 113 arbeitet gemäß der von dem funktionellen Blockschaltbild in 2 dargestellten Struktur. Die (über die Netzwerkkarte 111 von 1) erhaltene sprachliche Äußerung eines Benutzers wird in die Spracherkennung 10 eingegeben. Die erhaltene sprachliche Äußerung wird von der Erkennung 10 unter Bezugnahme auf ein Sprachmodell 22, das eines von einer (nicht gezeigten) Vielzahl möglicher Sprachmodelle darstellt, analysiert. Das Sprachmodell 22 verkörpert die Wort- oder Subwortsequenzen, die von der Erkennung 10 erkannt werden können, sowie die Wahrscheinlichkeit des Auftretens dieser Sequenzen. Die Erkennung 10 analysiert die erhaltene sprachliche Äußerung und liefert als Ergebnis eine Darstellung der Wort- oder Subwortsequenzen, die der erhaltenen sprachlichen Äußerung am ähnlichsten sind. In diesem Beispiel wird angenommen, dass die Darstellung aus der wahrscheinlichsten Wort- oder Subwortsequenz besteht. Alternativ könnte eine Sequenz "zweiter Wahl" oder eine andere Multiple-Choice-Darstellung, wie beispiels weise die bekannte "Graphen"-Darstellung, der wahrscheinlichsten Sequenz erstellt werden.
  • Da die Erkennungsergebnisse erwartungsgemäß sehr fehleranfällig sind, erstellt die Erkennung auch einen Zuverlässigkeitswert, der jedem Wort in der Ergebnisdarstellung zugeordnet ist. Der Zuverlässigkeitswert ist ein Maß bezüglich der Wahrscheinlichkeit, dass das zugeordnete Wort von der Erkennung 10 korrekt erkannt wurde. Das Erkennungsergebnis wird einschließlich des Zuverlässigkeitswerts von einem Klassifizierer 6 empfangen, der die Äußerung zur Bildung einer semantischen Klassifizierung einem vorgegebenen Satz von Bedeutungen gemäß und unter Bezugnahme auf ein semantisches Modell 20 (das eines aus einer (nicht gezeigten) Vielzahl möglicher semantischer Modelle darstellt) klassifiziert. Die semantische Klassifizierung weist einen Wahrscheinlichkeitenvektor auf, wobei sich jede Wahrscheinlichkeit auf eine bestimmte aus dem vorgegebenen Satz von Bedeutungen bezieht.
  • Das Herz des Systems wird von einem Dialogmanager 4 gebildet, der weiter unten ausführlicher besprochen werden wird. Er dient der Steuerung des Dialogs unter Verwendung der Informationen aus dem Dialogmodel 18. Er kann einen Nachrichtengenerator 8 veranlassen, eine Nachricht zu erzeugen, die über die Telefonschnittstelle unter Verwendung des Sprachsynthesizers 12 zu dem Benutzer gesprochen wird. Der Nachrichtengenerator 8 verwendet Informationen aus dem Nachrichtenmodell 14, um die geeigneten Nachrichten aufzubauen. Der Sprachsynthesizer nutzt eine Spracheinheitdatenbank 16, die jeweils eine bestimmte Äußerung darstellende Spracheinheiten enthält. Der Dialogmanager setzt auch die Erkennung 10 darüber in Kenntnis, welches Sprachmodell für die Erkennung einer Antwort eines Benutzers auf die bestimmte erzeugte Nachricht zu verwenden ist, und weist auch den Klassifizierer 6 dahingehend an, welches semantische Modell für die Klassifizierung der Antwort zu verwenden ist. Falls eine Texteingabe erforderlich sein sollte, kann die Erkennung 10 ausgelassen oder umgangen werden.
  • Er erhält die Antwort eines Benutzers wie sie vom Klassifizierer 6 ausgegeben wird und kommt möglicherweise über weitere Abfragen und Antworten zu einer Schlussfolgerung, woraufhin er (in diesem Beispiel) über die Netzwerkverbindung 111, die in 2 als externes System 2 (zum Beispiel eine rechnergestützte Fernsprechverbindung zur Anrufsteuerung oder eine Kundendatenbank) gezeigt ist, eine Anweisung ausgibt.
  • Der Dialogmanager weist einen Speicher 28 (3) auf, der im Folgenden als Schwarzer-Brett-Speicher bezeichnet wird und in dem die während des Dialogs gesammelte Information aufgezeichnet wird. Diese umfasst (a) Information, die die momentane "Überzeugung" des Dialogmanagers bezüglich der Wünsche des Benutzers darstellt, (b) aus dem Dialog gewonnene zeitweilige Information und (c) eine Zustandsvorgeschichte.
  • Der Dialogmanager verwendet ein Zustandsmodell 18. Eine Reihe von Zuständen werden von den in einem Zustandsdefinitionsspeicher 32 gespeicherten Daten definiert, während (als Kanten bezeichnete) mögliche Übergänge von einem Zustand in einen anderen Zustand (dem Nachfolgezustand) von Daten definiert werden, die in einem Kantendefinitionsspeicher 34 gespeichert sind. Diese Daten umfassen auch den Kanten zugeordnete logische Bedingungen, unter Einschluss der in dem Schwarzen-Brett-Speicher gespeicherten Information. Die Zustandsdefinitionsdaten und Kantendefinitionsdaten bilden zusammen das Modell 18.
  • Das Zustandsmodell funktioniert in der Weise, dass der Dialogmanager das Modell insofern syntaktisch analysiert, dass er mit einem Anfangszustand beginnend die von dem Zustand wegführenden Kanten untersucht und, falls eine Kantenbedingung erfüllt ist, mit dem dieser Kante entsprechenden Nachfolgezustand fort fährt. Dieser Vorgang wird wiederholt, bis er nicht mehr weitergeführt werden kann, weil keine Kantenbedingung mehr erfüllt (oder keine Kante mehr vorhanden) ist. Der auf diese Weise erreichte Zustand wird als aktueller Zustand bezeichnet: Seine Identität wird der in dem Schwarzen-Brett-Speicher gespeicherten Zustandsvorgeschichte hinzugefügt. Diese Vorgeschichte wird von dem Dialogmanager zur Entscheidung für die nächste Ansage (unter Verwendung eines Ansagenspeichers 24) verwendet. Der Dialogmanager dient auch zur Eingabe von Daten in den Schwarzen-Brett-Speicher und zum Verwalten des Schwarzen-Brett-Speichers unter Verwendung von Ableitungsregeln aus einem Ableitungsregelspeicher 36. In der Praxis werden die Speicher 32, 34, 24, 36 von verschiedenen Bereichen des in 1 gezeigten Speichers 123 gebildet.
  • Der Zweck des Dialogmanagers 4 besteht in der Steuerung eines Dialogs mit dem Nutzer so, dass von dem Nutzer ein vorgegebener Satz von Informationselementen erhalten wird. Sobald der vorgegebene Satz von Elementen erhalten wurde, ist der Vorgang abgeschlossen; der Dialogmanager besitzt dann alle Informationen, die von dem ex ternen System 2 benötigt werden. Bei dem hierin beschriebenen System werden von dem Benutzer erhaltene Informationselemente zum Füllen von Slots verwendet, wobei der von dem Dialogmanager benötigte vordefinierte Satz von Elementen von einem Satz von Slots dargestellt wird, in dem jeder Slot jeweils mit einem Informationselement gefüllt wird, wie es von dem Benutzer erhalten wurde. Ein von dem Klassifizierer erhaltenes Informationselement wird in Form von drei Werten dargestellt (in der Beschreibung als 'Triplet' bezeichnet, wobei Triplet und Informationselement in dieser Beschreibung gegeneinander austauschbar verwendet werden), die einen Slotnamen, das Informationselement und den die Wahrscheinlichkeit, dass das Informationselement korrekt verstanden wurde, darstellenden Zuverlässigkeitswert definieren. Die drei Felder des Triplets werden als "Slot:Wert:Zuverlässigkeit" bezeichnet. Ein Beispiel eines solchen Triplets ist "Tag:Dienstag:0,9", das bedeutet, dass der Slotname 'Tag' mit dem Informationselement 'Dienstag' gefüllt wurde und dass die Wahrscheinlichkeit, dass 'Dienstag' korrekt ist 0,9 beträgt. Bei einer automatischen Anrufweiterleitung umfassen die Beispiele der für die Anrufsteuerungsaufgaben zu füllenden Slots 'Vorwahl', 'Tag' und 'Anrufkategorie'. Die 'Anrufkategorie' kann zum Beispiel von 'Verzeichnisabfrage', 'Fehlermeldung', 'Weckruf usw. gebildet werden. Beim Füllen der Slots speichert der Dialogmanager solche Triplets in dem Schwarzen-Brett-Speicher 28. Der Schwarze-Brett-Speicher 28 enthält damit eine Repräsentation der gegenwärtigen Überzeugung des Systems über die Absichten des Benutzers. Auch wenn ein typischer Eintrag auf dem schwarzen Brett von einem Triplet 'Slot:Wert:Vertrauen' gebildet wird (so zum Beispiel 'Tag:Samstag:0,5' – hier ist das System zu 50 % sicher, dass der von dem Benutzer erwähnte Tag Samstag ist), so werden doch auch Einzelheiten, die der Benutzer von sich wies (z. B. 'nein, nicht Samstag'), im schwarzen Brett gespeichert, wobei in diesem Fall der Eintrag 'Tag: Samstag:0' lautet. Neue Ergebnisse der jüngsten Äußerungen des Benutzers werden den momentan im Schwarzen-Brett-Speicher 28 enthaltenen Informationselementen hinzugefügt oder mit diesen kombiniert.
  • Unter "kombiniert mit" stellen wir uns ein weiteres Triplet vor, das auf einen bestimmten Slot bezogen ist, für den in dem schwarzen Brett-Speicher bereits ein Triplet mit derselben Bedeutung gespeichert wurde (d. h. es unterscheidet sich nur in der Zuverlässigkeit). Es kann zum Ersetzen des existierenden Eintrags oder zum Berechnen eines Ersatzeintrags aus der Kombination der beiden Ergebnisse verwendet werden (In diesem Beispiel wird angenommen, dass die Speicherung von zwei Triplets, die sich nur in der Zuverlässigkeit unterscheiden, nicht zulässig ist).
  • Nachfolgend ein möglicher Algorithmus:
    Eine schwarze Tafel enthält eine Liste von Slots S, von denen jeder einen Satz von Werten V mit zugehörigen Zuverlässigkeitswerten aufweist.
  • Die Fusionierung von schwarzen Brettern ist ein Vorgang, bei dem zwei schwarze Bretter mathematisch zu einem einzigen neuen schwarzen Brett kombiniert werden. Innerhalb des vorliegenden Kontexts wird das existierende schwarze Brett (das die momentane Systemüberzeugung enthält) mit den neuesten Ergebnissen der jüngsten Erkennung (die als zweites schwarzes Brett angesehen wird) kombiniert, um ein neues schwarzes Brett zu bilden, das die neue Systemüberzeugung enthält.
  • Ausgehend von den schwarzen Brettern A und B beschreibt dieser Vorgang, wie ein (ursprünglich leeres) neues schwarzes Brett C gefüllt wird. Die Fusionierung wird erzielt, indem die Werte von jedem (entweder am schwarzen Brett A oder B auftretenden) Slot der Reihe nach berücksichtigt werden.
  • Nachfolgend wird folgende Notation verwendet:
    Conf (A,S,V) – ist die Konfidenz des Slots S, der am schwarzen Brett A den Wert V aufweist (oder null, falls nicht definiert).
  • Für jeden der entweder an A und/oder B auftretenden Slots S:
    Sofern Slot S nur am schwarzen Brett A vorliegt (d. h. an B sind keine Slotwerte spezifiziert), werden die Werte des Slot S von A dem schwarzen Brett C hinzugefügt.
  • Sofern sich Slot S nur am schwarzen Brett B vorliegt (d. h. an A sind keine Slotwerte spezifiziert), werden alle Slot S-Werte von B dem schwarzen Brett C hinzugefügt.
  • Sofern sowohl an A wie an B Slots vorliegen, werden die Ergebnisse wie folgt zusammengeführt:
    Für jeden Wert V, der für Slot S entweder am schwarzen Brett A und/oder B vorliegt,
    wird ein neuer Wert für den Slot S dem schwarzen Brett C hinzugefügt, wobei die Konfidenz gegeben ist durch:
    Figure 00140001
    worin die Gewichte W wie folgt definiert sind
    Figure 00140002
    und vi ein oder mehrere Werte für den Slot S darstellen, für den eine Konfidenzangabe am schwarzen Brett verfügbar ist.
  • Die obige Entropie ist nur für bestimmte Werte am schwarzen Brett definiert. Eine Alternative hierzu besteht in der Berechnung der Entropie über alle möglichen Werte des Slots und nicht nur über jene, die gerade am schwarzen Brett registriert sind. Es wird eine Approximierung der maximalen Entropie vorgenommen, bei der alle nicht spezifizierten Wahrscheinlichkeiten,
    Figure 00140003
    gleichförmig über mögliche, aber nicht bestimmte Slotwerte verteilt werden.
  • Eine in dem Dialogzustandsdefinitionsspeicher 32 gespeicherte Dialogzustandsdefinition weist die folgenden Attribute auf:
    • • Name (Name des Zustands)
    • • Typ (Zustandstyp)
    • • ConfSlot (fakultativ) (Name des zu bestätigenden Slots)
    • • NextSlot (fakultativ) (Name eines Slots, für den die Information erneut beschafft werden muss).
  • Der Zustandsname stellt eine eindeutige Kennung dar, die zur Bezugnahme auf den Zustand verwendet wird. Es existieren sechs unterschiedliche Zustandstypen, nämlich:
    Figure 00150001
    Figure 00160001
  • ConfSlot verzeichnet den Slotnamen, der durch die Bestätigung der Informationselemente durch den Benutzer betroffen ist. In diesem Beispiel wird nur ein Slot verwendet, falls gewünscht können aber auch mehrere verwendet werden. Solche Slots sind in einer Ansage enthalten. Eine positive oder negative Antwort (d. h. ja oder nein) beeinflusst die einem bestimmten Slotwertfeld in dem maßgeblichen Triplet zugeordnete Konfidenz.
  • NextSlot verzeichnet alle Slotnamen, für die der Benutzer Informationselemente liefern könnte. Üblicherweise werden diese Informationselemente explizit abgefragt (d. h. 'welcher Tag?' würde NextSlot auf 'Tag' setzen).
  • Zum Beispiel würde der Zustand, der die Ansage 'Zu welcher Zeit am Montag?' voraussetzt, ein ConfSlot gleich 'Tag' aufweisen, da der 'Tag'-Slot implizit durch das Aufweisen des Werts 'Montag' bestätigt wird. NextSlot würde 'Zeit' und 'Vormittag/Nachmittag' entsprechen, da der Benutzer in einer Weise antworten könnte, dass der 'Zeit' und/oder der 'Vormittag/Nachmittag'-Slot ausgefüllt werden.
  • In dieser Ausführungsform der Erfindung kann ConfSlot nur einen (oder null) Slotnamen enthalten. Dies bedeutet, dass Abfragen, wie beispielsweise 'Zu welcher Zeit am Montag Morgen?' nicht möglich sind, bei denen sowohl die 'Tag' als 'Vormittag/Nachmittag'-Slotwerte gleichzeitig bestätigt werden.
  • Zustände werden über Kanten verbunden. Diese enthalten Bedingungen, die bei der syntaktischen Analyse des Dialogmodells untersucht werden (das syntaktische Analysieren des Dialogmodells wird im Einzelnen nachfolgend unter Bezugnahme auf die 7 beschrieben). Während des syntaktischen Analysierens muss eine Kantenbedingung wahr sein, damit man die Kante überschreiten und den nächsten Zustand berücksichtigen kann. In dem Schwarzen-Brett-Speicher 28 gespeicherte Informationselemente werden untersucht, um zu bestimmen, ob eine Kantenbedingung wahr ist. Ein Beispiel für eine Kantenbedingung ist: 'Tag'-Slot ist gefüllt und sein Wert weist eine hohe Zuverlässigkeit für seine Richtigkeit auf.
  • 4 zeigt beispielhaft zwei Zustände 41, 42, bei denen für jeden der Name, Typ und die zugeordneten Slotnamen angezeigt sind. Zustand 41 soll den Benutzer veranlassen, den Wert von Slots 1 zu bestätigen und weitere Informationen zu liefern. Das Modell gestattet es einem nicht, mit Zustand 42 (der zur Bestätigung von Slot 42 vorgesehen ist) weiterzumachen, bevor Slot 1 nicht zufrieden stellend bestätigt wurde und die Daten für Slot 2 mit einer akzeptablen Zuverlässigkeit empfangen wurden. Somit besteht die Kantenbedingung darin, dass die Slot 1 zugeordnete Zuverlässigkeit größer als 0,99 und die Slot 2 zugeordnete Zuverlässigkeit größer als 0,8 ist.
  • Jedes Mal, wenn das System den Benutzer zu etwas auffordern muss, wird ein aktueller Dialogstatus durch syntaktisches Analysieren des Dialogmodells beginnend von einem bestimmten Startzustand aus bestimmt, bis ein Zustand aufgefunden wird, bei dem keiner der Bedingungen an den aus diesem Zustand herausführenden Kanten entsprochen wird.
  • Indem das Modell jedes Mal von Anfang an syntaktisch analysiert wird, ist es einem Benutzer möglich, sich um das Dialogmodell herum zu bewegen und falsch erkannte Einzelheiten eher zu korrigieren, als einem vorgegebenen Dialogweg zu folgen. Diese Art des Dialogs wird oftmals als Dialog mit gemischter Initiative bezeichnet, da der Benutzer nicht die von dem System gestellte Frage beantworten muss, sondern etwas anderes sagen kann. Das jedesmalige syntaktische Analysieren des Modells besitzt den Vorteil, dass sich zu Beginn des Dialogs auftretende Fehler nicht notwendigerweise fortpflanzen. Nimmt man zum Beispiel eine Benutzeräußerung an, die ein R-Gespräch oder einen Leitungstest (der Klassifizierer ist sich nicht sicher was, aber das R-Gespräch besitzt den höheren Zuverlässigkeitswert) zusammen mit einer deutlich zu verstehenden Vorwahl angibt, dann wird die erste syntaktische Analyse des Dialogmodells zu einem Zustand führen, bei dem eine Ansage, wie beispielsweise 'R- Gespräch an 01473...' wiedergegeben wird. Wenn der Benutzer dies richtig stellt – indem er z. B. sagt "Ich wollte die Leitung testen", so wird das Dialogmodell erneut syntaktisch analysiert und gelangt dieses Mal zu einem Leitungstestzustand, wobei die Ansage 'Leitungstest zu 01473...' wiedergegeben wird. Da jedesmal erneut syntaktisch analysiert wird, ermöglicht es in einem Schritt von einem Zustand, der sich mehrere Zustände entlang eines Zweigs des Dialogmodells befindet, zu einem Zustand zu springen, der sich mehrere Zustände entlang eines anderen Zweigs befindet (im obigen Fall besteht keine Notwendigkeit zu einer erneuten Aufforderung für die Eingabe der Vorwahl).
  • Jedes Mal, wenn dem Schwarzen-Brett-Speicher 28 Informationen hinzugefügt werden, werden die Elemente entsprechend den im Ableitungsregelspeicher 36 gespeicherten Ableitungsregeln aktualisiert. Nachdem die Elemente aktualisiert wurden, wird das Dialogmodell, um den nächsten Dialogzustand aufzufinden, beginnend vom Anfangszustand erneut syntaktisch analysiert. Wenn der nächste Dialogzustand eine Null oder eine Markierung ist, so werden die Elemente gemäß den Ableitungsregeln erneut aktualisiert und das Dialogmodell wird wiederholt beginnend vom Anfangszustand syntaktisch analysiert.
  • Wie zuvor erwähnt, muss der Dialogmanager 4 die Erkennung 10 und den Klassifizierer 6 darüber informieren, welches Sprachmodell 22 und welches semantisches Modell für einen bestimmen Dialogzustand zu verwenden sind. Das für einen Zustand zu verwendende Erkennungsmodell kann, wie in der folgenden Tabelle angegeben, über die Zustandsdefinition erhalten werden.
  • Figure 00200001
  • Eine allgemeine Regel zur Bestimmung des Erkennungsmodells kann so ausgedrückt werden: "Verwende alle spezifizierten confSlots und nextSlots plus ja/nein, falls der Zustand entweder eine explizite oder implizite Bestätigung darstellt".
  • In einem Dialog benutzen oftmals mehr als ein Slot dieselbe Sprachlehre gemeinsam (z. B. Ankunfts- und Abfahrtsort, und kurze Zahlenfolgen bei einer Telefonnummer). [Naheliegend, + Eingangszeit?] Für eine Ja/Nein-Fragestellung, wie beispielsweise 'Möchten Sie eine weitere Anfrage eingeben?', wird nextSlot auf ja/nein gesetzt. In diesem Fall enthalten das Erkennungsmodell und das semantische Modell nur die Ja/Nein-Sprachlehre.
  • Im Folgenden wird beschrieben, in welcher Weise die Zustandsvorgeschichte zur Auswahl der geeignetsten Ansage verwendet wird.
  • Ansagen werden von dem Dialogmanager unter Verwendung von Regeln ausgewählt. Die Ansageauswahl beruht auf der jüngsten Zustandsvorgeschichte, wobei eine 'N-Gram'-Analyse verwendet wird, um aus der Zustandsvorgeschichteliste die geeignetste Aufforderung herauszufinden. Es werden Prioritäten für die Regeln festgelegt, wobei die Regeln, die eine längere Zustandsvorgeschichteliste erfordern, zuerst berücksichtigt werden. Falls keine Übereinstimmung mit einer langen Zustandsvorgeschichte besteht (die zum Beispiel festlegt, welche die dieser Ansage vorangegangenen vier Zustände sein müssten), so werden die Regeln für kürzere Zustandsvorgeschichten verwendet (zum Beispiel für drei vorangegangene Zustände). Dieses als Back-Off (oder als Back-Off-Algorithmus) bekannte Verfahren wird bis zum Auffinden einer Übereinstimmung fortgesetzt. Ein derartiges Back-Off kann solange fortgesetzt werden, bis einer ausschließlich auf dem aktuellen Zustand beruhenden Bedingung genügt ist. Man kann dies als Standardansage des Zustands ansehen. Diese Standardansagen werden in Vorlagen festgelegt, wie sie die folgende Tabelle mit typischen Vorlagen für unterschiedliche Zustandsarten veranschaulicht, und die sich in dem Ansagespeicher befinden können.
  • Figure 00210001
  • Hierin geben die Feldnamen innerhalb der < > Platzhalter (token) an, die durch tatsächliche Werte ersetzt werden müssen. Für die Zu standstypen 'Null' und 'Markierung' werden keine Ansagen wiedergegeben, womit auch keine Ansagen festgelegt werden müssen.
  • Standardansagen, wie die oben gezeigten, gestatten den schnellen Aufbau und die spätere Verfeinerung eines auf maschineller Sprachverarbeitung beruhenden IVR-Systems (interaktives Sprachausgabesystem). Das Hinzufügen von Ansagen auf der Grundlage längerer Zustandsvorgeschichten (d. h. von Folgen von Zuständen aus der Vorgeschichte und nicht nur eines einzelnen aktuellen Zustands) ermöglicht die Verwendung anaphorischer Verbindungen. Wenn die vorangehende Ansage 'einen Weckruf erwähnte, kann die nachfolgende Ansage zum Beispiel, um sich darauf zu beziehen und den Ausdruck nicht wiederholen zu müssen, sicher 'ihn' verwenden.
  • Nachfolgend Beispiele für in dem Ansagespeicher 24 gespeicherte Einträge:
    Figure 00220001
  • Die Syntax setzt sich hierbei aus einer entsprechenden Zustandsvorgeschichte, einem Punkt, einer Aufforderungsvorgabe, einem senkrechten Strich und schließlich dem (später zu erläuterten) Kostenwert zusammen. Das erste Beispiel zeigt eine Standardansage für den Zustand zustand0. Das zweite Beispiel zeigt, dass, wenn der Zustand zustand0 zweimal eingenommen wurde, zum Beispiel wenn der Benutzer nichts sagt oder wenn die Aussage des Benutzers zurückgewiesen wird (d. h. keine erfolgreich extrahierte Information enthält), eine andere Ansage verwendet wird. Das dritte Beispiel enthält eine für eine Vorgeschichte aus drei Zuständen gebildete Bedingung. Dies ermöglicht die Verwendung des Wortes 'dies', da dem Benutzer die Bedeutung von 'dies' bekannt sein wird.
  • Das Verfahren zum Benennen von Regeln, nach denen Zuständen in der Zustandsvorgeschichte entsprochen werden muss, kann über die Verwendung von normalen Ausdrücken zur Beschreibung von Zustandsnamen erweitert werden. Auf diese Weise kann eine einzelne Regel einer Reihe von verschiedenen, doch möglicherweise ähnlichen Zustandsvorgeschichten entsprechen. Wie zuvor hat die längste Sequenz übereinstimmender Zustände Vorrang vor den kürzeren Listen.
  • Für diesen Fall sind im Folgenden Beispiele von Einträgen in dem Ansagespeicher angegeben:
    Figure 00230001
  • In diesem Fall bedeutet das '?' ein einzelnes Zeichen mit irgendeinem Wert. Auf regulären Ausdrücken basierende Sprachen (regular expression languages) sehen (wie in dem obigen Beispiel gezeigt) Platzhalter vor, beispielsweise 'ein oder mehr Zeichen', 'null oder mehr Zeichen' oder 'genau ein Zeichen'. In diesem Kontext ist jeder andere, von einer Standardsprache zum Abgleich mit von regulären Ausdrücken gebildeten Mustern unterstützte, Mechanismus, wie zum Beispiel der in der 'perl' Programmiersprache verwendete, zulässig. In diesem Fall wird die Abgleichfunktionseinheit für reguläre Ausdrücke stets versuchen, die kürzeste Sequenz von Symbolen abzugleichen.
  • Dieser Mechanismus kann weiter ausgebaut werden, indem man zulässt, dass die regulären Ausdrucksmuster in den Regeln verwendet werden, um mit der Zustandssequenz als Gesamtausdruck und nicht als Abfolge von Ausdrücken abgeglichen zu werden. Eine einfache Art dies umzusetzen besteht darin, jedes in einer Regel definierte Zustandsmuster eins nach dem anderen in einem regulären Gesamtausdrucksabgleich mit der aktuellen Zustandsvorgeschichteliste abzugleichen. Dies kann durch die Darstellung der Zustandsvorgeschichte als verkettete Liste von Zustandsnamen erreicht werden, die durch dasselbe Trennzeichen getrennt sind, das in den Ansageauswahlregelbeschreibungen verwendet wird (in den Beispielen wird ein Doppelpunkt verwendet). Jedes Ansageregelmuster wird als Ganzes (vom Beginn der Regel bis zum Dezimalpunkt, wenn die Syntax des obigen Beispiels verwendet wird) mit dieser verketteten Darstellung abgeglichen, wodurch eine Verankerung des Abgleichs an der rechten Seite der Vorgeschichteliste erzwungen wird. Die Regel, die der längsten Abfolge von Zuständen entspricht, wird als Abgleichregel gewählt. Falls mehr als eine Regel existiert, die mit derselben Anzahl von Zuständen übereinstimmen, dann wird die mit der größeren Anzahl exakter Zustandsübereinstimmungen ausgewählt.
  • Es wird die folgende Beispielregel angenommen:
    Figure 00240001
  • Diese Regel entspricht 'Zustand2', gefolgt von einem oder mehreren (das Plus-Symbol) Zuständen, die dem Muster 'Zustand' entsprechen, gefolgt von einem einzelnen Zeichen (das Fragezeichen-Symbol) und endet mit 'Zustand6'.
  • Bei normaler Verwendung enden die Regeln für den aktuellen Zustand stets mit dem Namen des aktuellen Zustands, dies muss aber nicht notwendigerweise so sein.
  • Die Ausgabe des Dialogmanagers an den Nachrichtengenerator 8 besteht in einer Vorlage für die erforderliche Ansage (z. B. "<Zu_welcher_Zeit_am> <Tag> <An_welchem_Tag> <Zeit>", "<R-Gespräch_für><Gebiet>"). Die Vorlage enthält eine Abfolge von in spitzen Klammern dargestellten Platzhaltern [innerhalb der spitzen Klammern ist hier inkonsistenter Klartext gezeigt, jedoch nicht in der obigen Tabelle]. Die Platzhalter müssen durch Werte ersetzt werden (zum Beispiel ist der <Tag>-Platzhalter durch den in dem schwarzen Brett gespeicherten Tag zu ersetzen). Der Nachrichtengenerator 8 empfängt die Vorlage und gibt sie in eine Liste von an den Synthesizer 12 zu sendenden Sprachdateien ein. Als Alternative kann ein Synthesizer für die Wandlung von Text in Sprache verwendet werden, so dass an den Synthesizer Text- statt Sprachdateien gesandt werden. Falls eine Textausgabe gewünscht ist, könnten die Textfolgen direkt ausgegeben werden. Der Nachrichtengenerator 8 verwendet Informationen des Nachrichtenmodells 14, das dem Text oder den Platzhalterwerten Sprachdateien zuordnet. Einigen Vorlagen sind Bedingungen zugeordnet, die erfüllt sein müssen, bevor die jeweilige Vorlage verwendet werden kann. Die Bedingungen beziehen sich auf Informationsele mente, die in dem Schwarzen-Brett-Speicher 28 oder in dem Speicher 30 für globale Variablen gespeichert sind.
  • Nachfolgend ein Beispiel für die in dem Nachrichtenmodell 14 gespeicherte Information:
    Figure 00260001
  • Die Syntax setzt sich hierbei aus Symbol, Punkt, Klartext (zur Verwendung für die Ermittlung von Ansageduplikaten), einem senkrechter Strich, dem Namen der Sprachdatei und einem Doppelpunkt gefolgt von der Bedingung zusammen.
  • Wenn das System der <Willkommen>-Platzhalter wiedergibt, können drei unterschiedliche Sprachdateien (mit einer .wav-Dateierweiterung) wiedergegeben werden. Die Einträge werden der Reihe nach geprüft und es wird die Sprachdatei verwendet, die eine Bedingung als erste erfüllt. Die in dem Schwarzen-Brett-Speicher 28 gespeicherten Informationselemente (d. h. die Slots "grüßen" und "stille") werden verwendet, um zu bestimmen, welche geeignet ist. Die dritte Anweisung ist unbedingt.
  • Ein weiteres Beispiel ist das Erzeugen der für eine Vorlage erforderlichen Nachricht, wie beispielsweise:
    Figure 00270001
  • Das Beispiel "<Begrüßung> <Zu_welcher_Zeit_am> <Tag>" würde also die folgende, an den Synthesizer 12 zu sendende Liste von Sprachdateien erzeugen: "gutenMorgen.wav zuwelcherZeitam.wav Montag.wav".
  • Vorlagen können auf andere Vorlagen verweisen. Der <Tageszeit>-Platzhalter kann zum Beispiel einen Zeitplatzhalter zusammen mit einem dem Vormittag/Nachmittag-Platzhalter enthalten, zum Beispiel:
    Figure 00270002
    Figure 00280001
  • In dem Ableitungsregelspeicher 36 abgespeicherte Ableitungsregeln aktualisieren die Inhalte des Schwarzen-Brett-Speichers 28. Eine Ableitungsregel kann zum Beispiel festlegen, dass wenn als Zeit Punkt 2 Uhr des heutigen Tages angegeben wurde und es bereits nach zwei Uhr nachts ist, angenommen werden kann, dass der Benutzer (beim Einrichten eines zukünftigen Weckrufes) den Nachmittag meint.
  • Ableitungsregeln werden auch dazu verwendet, um zeitweilige Einträge vom schwarzen Brett zu entfernen. Wenn ein Benutzer zum Beispiel 'Ja' sagt, dann wird dies in den Schwarzen-Brett-Speicher eingetragen (beispielsweise als Eintrag 'bestätige:y:0,95'). Auch wenn dies für den aktuellen Dialogzustand von Bedeutung ist, muss dies vor dem Erkennen der nächsten Benutzeräußerung entfernt werden, damit es nicht als Antwort auf nachfolgende Bestätigungsaufforderungen interpretiert wird. Die Äußerung des Benutzers kann als Begrüßung (der Benutzer sagt "Hallo") klassifiziert werden. In diesem Fall wird das Triplet 'callClass:grüßen:wert' in dem schwarzen Brett-Speicher 28 vorhanden sein. Beim Eingeben eines neuen Zustands muss dieses entfernt werden, um wiederholten Begrüßungen vorzubeugen. Schließlich kann das schwarze Brett eine dritte Art zeitweili ger Einträge enthalten, nämlich ein Kennzeichen, das angibt, dass der Benutzer sich still verhalten hat. Der Zweck dieses Eintrags ist es, die als nächstes wiedergegebene Ansage zu modifizieren (auch wenn sich der Dialogzustand nicht ändert), um mehr Anweisungen zu geben und den Benutzer zum Sprechen zu ermutigen. Auch dieser Eintrag wird entfernt, sobald die nächste Äußerung des Benutzers erkannt wird.
  • Eine Ableitungsregel kann auch dazu verwendet werden, um dem Schwarzen-Brett-Speicher 28 Information hinzuzufügen, beispielsweise eine Vorwahl von einer anderen Quelle (beispielsweise CLI). Wenn ein Benutzer zum Beispiel eine Telefonnummer ohne Vorwahl angibt, ist es auf der Grundlage der Annahme, dass es sich um eine Telefonnummer aus demselben Ort handelt, vollkommen angemessen zu fragen, 'Handelt es sich um 01473?' (dies ist etwas, das Telefonisten normalerweise tun).
  • Wie zuvor erwähnt, sind mit jeder Formulierung einer Ansage Kosten verbunden. Dies ist ein Maßstab dafür, 'wie gut sich das System macht'. Beim Erstellen der Standardansagen können Kostenvorgaben für jeden Zustandstyp (Frage, imp, exp, usw.) automatisch festgelegt werden. Wie zuvor können diese Werte dann manuell weiterbearbeitet werden. Wenn zusätzliche Ansagen hinzugefügt werden, müssen ihnen zugeordneten Kosten festgelegt werden. Insbesondere würden Ansagen, die verwendet werden, ohne dass sich der gegenwärtige Zustand geändert hat (z. B. 'zustand1 zustand2 zustand2'), höhere Kosten aufweisen. Solche Zustände zeigen einen mangelnden Fortschritt des Dialogs an. Das kann sein, weil sich der Benutzer still verhält, etwas sagt, ohne dass daraus eine nützliche Information extrahiert werden kann (die Äußerung wurde eigentlich zurückgewiesen), oder durch Korrigieren eines Fehlers. All dies führt zu überlangen Dialogen und einer schlechten Beurteilung durch den Benutzer, und somit zu höheren Kosten.
  • Beim syntaktischen Analysieren des Dialogmodells während eines Anrufs werden die mit jeder verwendeten Ansage verbundenen Kosten aufsummiert.
  • Einigen Ansagen können negative Kosten zugeordnet sein, wodurch sich die aufsummierten Kosten verringern. Diese Zustände repräsentieren Meilensteine des Dialogs, wie beispielsweise die Zusammenstellung einer vollständigen Telefonnummer. Sobald ein solcher Meilenstein passiert wurde, nimmt die Auffassungsgabe des Benutzers für das System wahrscheinlich zu – dies wird von den negativen Kosten modellieren.
  • Bei anderen Ausführungsformen der Erfindung können die Kosten mit der Zeit auch verfallen, um die Kurzzeitgedächtniseffekte des Benutzers zu modellieren.
  • Für die Kosten wird ein Schwellwert festgesetzt und sollten die aufsummierten Kosten den Kostenschwellwert überschreiten, so wird dies erkannt und der Benutzer an einen menschlichen Telefonisten übergeben.
  • Ein zweiter, niedriger Kostenschwellenwert wird festgelegt, um eine frühzeitige Warnung auszugeben, dass bei einem Anruf Schwierigkeiten auftreten. Einem Telefonisten kann dann gestattet sein, den An ruf kurzzeitig zu überwachen, wobei er diesen nahtlos von dem automatischen System übernimmt falls es erforderlich sein sollte. Der Telefonist kann sich aus dem Anruf zurückziehen, wenn der Dialog Fortschritte im Dialog zeigt.
  • Gemäß einer weiteren Besonderheit kann es so eingerichtet werden, dass der automatische Dialog beendet und der Benutzer immer dann mit einem menschlichen Telefonisten verbunden wird, wenn eine Formulierung einer Ansage erzeugt werden soll, die mit der unmittelbar zuvor an den Benutzer ausgegebenen Ansage übereinstimmt. Da es viele Möglichkeiten der Dialogführung gibt (einschließlich vieler Wiederholungen desselben Ansagezustands), ist es nicht möglich, alle Eventualitäten der Zustandsvorgeschichte mit geeignet formulierten Ansagen abzudecken. Daher wird jedes Mal, wenn eine Ansage wiedergegeben wird, die Ansage außerdem in geeigneter Form abgespeichert. Wenn eine neue Ansage erzeugt wird, wird sie vor der Wiedergabe mit der gespeicherten verglichen. Die aktuelle und die vorangehende Ansage müssen in ihrer gesprochenen Form identisch sein, nicht in der von dem N-Gram ausgewählten Vorlage. So kann zum Beispiel 'Wann am <Tag>?' wiederholt werden, vorausgesetzt dass der Tagesslot einen anderen Wert aufweist.
  • Wenn außer den Standardansagen keine weiteren Ansagen definiert wurden, besteht eine hohe Wahrscheinlichkeit für Wiederholungen derselben Ansage. Die Verwendung von Ansagen mit längerer Vorgeschichte reduziert das Risiko, einen Benutzer Ansagenwiederholungen auszusetzen. Dies ist ein sehr mächtiges Mittel der Vorbeugung von Dialogwiederholungen – der extra Aufwand für das Hinzufügen zusätzlicher Ansagen erhöht den Durchsatz des Systems, ohne die Grenzen der für den Dialog verfügbaren Ansagen bloßzulegen.
  • Es wird darauf hingewiesen, dass die Identität der Formulierung das Kriterium für eine Übergabe an den Telefonisten sein könnte, wobei der Vergleich in diesem Fall zwischen Textketten (mit übersetzten Platzhaltern) vorgenommen würde. Als Alternative könnten die erzeugten Sprachdateinamensketten gespeichert und die neu erzeugten Sprachdateinamensketten damit verglichen werden. Dies lässt die Möglichkeit zu, dass zwei sprachliche Äußerungen mit identischer Formulierung aber unterschiedlicher Betonung (z. B. "Bitte wiederholen Sie den Namen") als nicht identisch angesehen werden.
  • 7 stellt ein Beispiel eines Dialogmodells dar, bei dem ein Benutzer eine Störung meldet. Störungsmeldungen werden entweder an eine Servicestelle für Privat- oder an eine Servicestelle für Geschäftskunden weiter verwiesen. Der Dialog muss bestätigen, dass der Benutzer eine Störung melden will, und muss festlegen auf welche Nummer er verwiesen werden muss. Die Zustände mit den Nummern 72, 74, 75 sind explizite Bestätigungszustände, die dem Dialog wie oben beschrieben automatisch hinzugefügt wurden. Diese Zustände werden nur verwendet, wenn sich der Dialogmanager eines Elements nicht sicher ist und eine explizite Bestätigung (d. h. 'War dies privat?') benötigt. Die Ansagevorlagen sind für jeden Zustand zusammen mit der für die Verwendung der Ansagevorlage erforderlichen zugeordneten Zustandsvorgeschichte gezeigt. Die meisten der Ansagevorlagen sind Standardvorlagen, die als Vorgeschichte einen einzigen Zustand erfordern, aber es gibt auch einige mit einer Vorgeschichte aus zwei Zuständen (z. B. 'WieKannIchHelfen, RefFaultB', das einen direkten Sprung von 'WieKannIchHelfen' zum aktuellen Zustand 'RefFaultB' bedeutet). Jeder Zustand weist einen Namen (z. B. 'FaultRB-e') und einen Typ (z. B. 'exp') auf und bestimmt dann Slots für 'confSlot' und 'nextSlot'. In diesem Beispiel werden nur zwei Slots verwendet.
  • Das Flussdiagramm der 8 zeigt die Funktionsweise des Dialogmanagers. Das Verfahren beginnt bei 200 mit dem Auftreten eines Ereignisses, wie beispielsweise der Erkennung von Sprache durch die Erkennung 10, oder durch ein äußeres Ereignis, wie beispielsweise den Beginn oder die Beendigung einer Telefonverbindung zu der Vorrichtung. Falls Sprache erkannt wird, wird sie bei 201 durch den Klassifizierer 6 klassifiziert. Repräsentiert das resultierende Triplet eine positive oder negative Bestätigung, so wird die in dem Schwarzen-Brett-Speicher aufgezeichnete Konfidenz entsprechend angepasst (202, 203). Zur selben Zeit werden alle anderen für denselben Slot vorhandenen Werte angepasst, so dass die Gesamtheit der Konfidenzen für diesen Slot gleich bleibt (Wenngleich dies auch als Teil des nachfolgenden Zusammenfügungsprozesses erledigt werden könnte, falls gewünscht). Die neuen resultierenden Triplets werden mit den existierenden Schwarzen-Brett-Triplets zusammengeführt (204). In Schritt 205 werden die Ableitungen wie zuvor beschrieben durchgeführt. Dann wird das Dialogmodell vom Startzustand aus syntaktisch analysiert (206) und der aktuelle Zustand wird aufgezeichnet. Sofern der aktuelle Zustand nicht null ist, wird er an den Vorgeschichtespeicher in 207 angefügt. Das Verfahren springt zurück zu Schritt 205, falls der aktuelle Zustand ein Null- oder Markierungstyp ist. Andernfalls werden die Ableitungen erneut ausgeführt (208) und die Ansagedefinition wird in Schritt 209 auf der Grundlage der Inhalte des Vorgeschichtespeichers erzeugt. Falls die Ansage gleich der vorangehenden ist, wird in Schritt 210 eine Übergabe an eine Anweisung initiiert. Es wird darauf hingewiesen, dass die für einen Endzustand erzeugte Ansagedefinition anstatt (oder zusätzlich zu) einer tatsächlichen Ansagedefinition eine Anweisung enthalten kann, die die Aktion bezeichnet, die bei Beendigung des Dialogs vorzunehmen ist. Falls eine solche Anweisung gefunden wird, wird die entsprechende Aktion bei 211 ausgeführt.
  • Die für die nächste Ansage erforderliche Erkennungs- und Klassifiziererkonfiguration wird in 211 unter der Annahme bestimmt, dass keines dieser Ereignisse auftritt. Hier durchsucht der Dialogmanager den Ansagespeicher, um den Eintrag mit der längsten Übereinstimmung mit den Inhalten des Vorgeschichtespeichers aufzufinden, bei dem alle in dem Eintrag enthaltenen Bedingungen erfüllt sind. In Schritt 212 wird die Ansage dem Synthesizer 12 zugestellt und die Konfiguration wird in die für die nächste Benutzereingabe bereite Erkennung 10 und den Klassifizierer 6 geladen. Das Verfahren kehrt dann zu Schritt 200 zurück um die Antwort des Benutzers abzuwarten.
  • Nachfolgend wird unter Bezugnahme auf die 7 ein Beispiel für das Verfahren zur syntaktischen Analyse beschrieben. Betrachtet wird der Startzustand 71. Zunächst ist die für das Weitergehen zum nächsten Zustand 72 erforderliche Kantenbedingung falsch. Daher bleibt die erste syntaktische Analyse bei Zustand 71 stehen, der als aktueller Zustand aufgezeichnet wird. Die erforderliche Ansage wird erzeugt und dem Benutzer über den Sprachsynthesizer 12 ausgegeben. Die Erkennung 10 erkennt die Antwort des Benutzers, worauf hin die erkannte Äußerung vom Klassifizierer 6 klassifiziert wird. Das Ergebnis der Klassifizierung wird mit dem bereits im Schwarzen-Brett-Speicher 28 gespeicherten Ergebnissen kombiniert und die Ableitungsregeln werden zur Aktualisierung des Schwarzen-Brett-Speichers 28 verwendet. Das Dialogmodell wird dann erneut syntaktisch analysiert, wobei zunächst der Startzustand 71 berücksichtigt wird: Falls die Überprüfung der verbindenden Kante 81, die den Startzustand 71 mit dem nächsten Zustand 72 verbindet, ergibt, dass die Kantenbedingung 81 wahr ist, so wird mit der Untersuchung der Kantenbedingung, die den Zustand 72 mit den nachfolgenden Zuständen verbindet, fortgefahren. Dieser Vorgang wird wiederholt, indem die Kantenbedingungen reihum untersucht werden – es wird darauf hingewiesen, dass zum Beispiel die Kantenbedingungen 83 und 84 in einer bestimmten Reihenfolge untersucht werden, in diesem Fall wird die Bedingung 83 vor der Bedingung 84 berücksichtigt, auch wenn sich in diesem Beispiel die Bedingungen gegenseitig ausschließen, so dass die Reihenfolge in der die Kanten untersucht werden keine Auswirkungen auf das Endergebnis haben. Wenn eine zu einem nächsten Zustand führende Kantenbedingung wahr ist, dann wird die aus diesem nächsten Zustand führende Bedingung untersucht. Wenn keine von den berücksichtigten Kantenbedingungen, die aus einem Zustand führen, wahr ist, dann wird dieser Zustand zum aktuellen Zustand.
  • Basierend auf dem Dialogmodell von 7 werden nun drei Beispieldialoge mit einem Benutzer beschrieben.
  • Erstens ein Beispiel für eine typische Anfrage:
    • System: Willkommen bei BT. Wie kann ich Ihnen helfen?
    • Benutzer: Die Störungsstelle bitte. (callClass wird als "Störungsstelle" mit genügend hoher Zuverlässigkeit erkannt, um die Notwendigkeit einer expliziten Bestätigung zu umgehen. Das Dialognetzwerk wird von Beginn an durchlaufen und gelangt zum FaultRB-Zustand 73, an dem die Ansage des Systems wiedergegeben wird)
    • System: Störungsstelle, selbstverständlich. Ist das eine private oder eine geschäftliche Anfrage?
    • Benutzer: private (Diesmal ist das Erkennen von 'private' weniger zuverlässig – aber immer noch zuverlässig genug, um einer expliziten Bestätigung vorzubeugen, aber nicht ausreichend, um den Anruf zu abzuschließen. Der Dialog tritt in den Zustand FaultR ein und erbittet eine implizite Bestätigung.)
    • System: Eine private, danke
    • Benutzer: Schweigen (Da der Zustand FaultR 76 einen impliziten Bestätigungszustand darstellt, erhöht das Schweigen die Zuverlässigkeit der bestätigten Daten, in diesem Fall von private. Nun wird das Netzwerk erneut durchlaufen und diese Mal wird der Zustand RefFaultR erreicht – ein Zustand mit einer abschließenden Feststellung.)
    • System: Bitte bleiben Sie am Apparat, während ich Sie verbinde.
  • Ein anderer möglicher Dialog, bei dem auf jeder Stufe eine explizite Bestätigung benötigt wird (d. h. unklare Rede) zeigt sich wie folgt:
    • System: Willkommen bei BT. Wie kann ich Ihnen helfen?
    • Benutzer: Die Störungsstelle bitte.
    • System: Wünschen Sie die Störungsstelle?
    • Benutzer: Ja.
    • System: Ist dies eine private oder eine geschäftliche Anfrage? (Unter Verwendung der Ansage für die Vorgeschichte 'FaultBR-e FaultRB')
    • Benutzer: privat.
    • System: Ist dies privat?
    • Benutzer: Ja.
    • System: Bitte bleiben Sie am Apparat, während ich Sie verbinde.
  • Ein weiteres Beispiel betrifft einen Benutzer, der mit hoher Zuverlässigkeit erkannt wird und alle Einzelheiten in einem. Zug ausspricht.
    • System: Willkommen bei BT. Wie kann ich Ihnen helfen?
    • Benutzer: Die Störungsstelle für Privatkunden bitte.
    • System: Bitte halten Sie sich für die Störungsstelle für Privatkunden bereit (Unter Verwendung der Ansage für die Vorgeschichte 'WieKannIchIhnenHelfen RefFaultR')
  • Das IVR-Programm 109 kann auf verschiedenen Übertragungs- und/oder Speichermedien, wie beispielsweise einer Floppydisk, einer CD-ROM oder einem Magnetband, enthalten sein, so dass das Programm auf ein oder mehrere Mehrzweckcomputer geladen werden kann oder über ein Computernetzwerk unter Verwendung eines geeigneten Übertragungsmediums abgerufen werden kann.
  • Sofern sich aus dem Zusammenhang nicht deutlich etwas anderes ergibt, sind die in der Beschreibung und in den Ansprüchen verwendeten Wörter "aufweisen", "aufweisend" und dergleichen im einschlie ßenden Sinn und im Gegensatz zu einem ausschließenden oder erschöpfenden Sinn zu verstehen; das bedeutet im Sinne von "einschließlich, aber nicht darauf beschränkt".
  • Wie bei bekannten Systemen üblich, werden in dem obigen Beispiel das Dialogmodell, die Ansagen und die Ableitungsregeln für eine bestimmte Anwendung manuell erzeugt (in dieser Beschreibung als 'handkodiert' bezeichnet). Für ein gutes Zusammenspielen mit einem Benutzer ist etwas Handkodieren notwendig; falls gewünscht kann der Aufbau des Dialogmodells jedoch zu einem gewissen Grad automatisiert werden.
  • Die Kenntnis der Systemdomäne wird für das manuelle Erzeugen von Zustandsdefinitionen, die auf Mensch-zu-Mensch- (Akronym: H-H-, für Human-Human-) Dialogen basieren, verwendet. In unserer internationalen Patentanmeldung Nr. PCT/GB00/04904 wird ein Verfahren zum automatischen Erzeugen von Zustandsdefinitionen aus einem Stamm von übertragenen H-H-Dialogen beschrieben, die zur Verwendung hier geeignet sind. Diese Zustandsdefinitionen werden dann durch Hinzufügen neuer Zustandsdefinitionen aufgestockt, die im Allgemeinen nicht in H-H-Dialogen aufgefunden werden, die aber für Mensch-Computer-(Akronym: H-C-, für Human-Computer-)Dialoge notwendig sind. Diese Aufstockung wird weiter unten ausführlicher beschrieben.
  • Kanten werden zunächst per Hand hinzugefügt. Diese definieren zulässige Zustandsübergänge und verwenden die Kenntnis von der Domäne (z. B. werden, um einen bestimmten Dienst einzurichten, Tag, Zeit und Name benötigt). Zunächst enthalten die Kanten keine Be dingungen, sondern definieren nur die zulässigen Dialogpfade. Bedingungen werden manuell hinzugefügt, wobei sie auf den wahrscheinlichsten Wert für einen Slot basieren und nicht darauf, ob der Wert einen bestimmen ihm zugeordneten Zuverlässigkeitswert aufweist. Ein Beispiel für eine solche Bedingung wäre, dass der Tag-Slot ausgefüllt ist und der wahrscheinlichste Wert Montag wäre.
  • In dieser Ausführungsform der Erfindung werden die Kantenbedingungen automatisch hinzugefügt, wobei die ConfSlot-Attribute der zwei von ihnen verbundenen Zustände verwendet werden. Dieser Vorgang wird nun unter Bezugnahme auf die 4 beschrieben [auch wenn der Algorithmus nicht wirklich klar ist]. Eine Kante 40 führt aus dem Zustand 41 heraus und in den Zustand 42 hinein, der ein Zustand vom Typ 'imp'- (implizite Bestätigung) oder 'exp'- (explizite Bestätigung) sein kann. Der Zuverlässigkeitswert des Slotnamens in ConfSlot für Zustand 41, aus dem die Kante herausführt, muss größer als ein vorgegebener Wert sein; in diesem Beispiel muss der Zuverlässigkeitswert größer als 99 % sein. Der Zuverlässigkeitswert für einen in NextSlot bezeichneten Slot (in diesem Fall Slot2) muss ebenfalls größer als ein vorgegebener Wert sein; 80 % für eine implizite Bestätigung wie in 4 gezeigt, oder größer als 30 % für eine explizite Bestätigung.
  • Daher wird einer Kante, die von einem Zustand des Typs einer impliziten oder expliziten Bestätigung herausführt, eine Bedingung mit der Folge hinzugefügt, dass die Zuverlässigkeit des zu bestätigenden Werts einen entsprechend vorgegebenen Wert überschreitet.
  • Einer Kante, die zu einem Zustand mit impliziter oder expliziter Bestätigung hinführt, wird eine Bedingung mit der Folge hinzugefügt, dass die Zuverlässigkeit des zu bestätigenden Werts einen entsprechend vorgegebenen Wert überschreitet.
  • Die 5 zeigt die Dialogzustände von 4 nach Hinzufügen eines weiteren Zustands 51. Spracherkennungen machen mehr Fehler als Menschen und daher sind H-C-Dialoge anders als H-H-Dialoge. Insbesondere enthalten H-C-Dialoge oft explizite Bestätigungen (d. h. 'Sagten Sie Dienstag'), die in H-H-Dialogen selten vorkommen. Ein neuer, expliziter Bestätigungszustand 51 kann vor dem impliziten Bestätigungszustand 42 automatisch hinzugefügt werden. Das ConfSlot-Zustandsattribut des impliziten Bestätigungszustands wird zum Festlegen der an den Kanten 53 und 54 gezeigten Bedingungen verwendet.
  • Der zusätzliche explizite Bestätigungszustand 51 basiert auf einer Kopie des impliziten Zustands 42. Jedoch wurden die Kantenbedingungen wie in 5 gezeigt abgeändert. Es wird ein neuer Schwellwert (in diesem Beispiel 30 %) benötigt. Der Schwellwert für die explizite Bestätigung ist niedriger als der für die implizite Bestätigung; falls sich das System über ein Informationselement nicht sicher ist, wird am besten eine explizite Bestätigung statt einer impliziten Bestätigung verwendet.
  • Daher wird ein Zustand vom expliziten Bestätigungstyp vor einen Zustand vom impliziten Bestätigungstyp hinzugefügt und es werden Bedingungen wie oben beschrieben hinzugefügt.
  • Die in diesem Beispiel verwendeten Werte von 30 %, 80 % und 99 bestimmen jeweils:
    • • Die minimal erforderliche Zuverlässigkeit eines Ergebnisses vor dem Anfordern einer expliziten Bestätigung.
    • • Die minimal erforderliche Zuverlässigkeit eines Ergebnisses vor dem Anfordern einer impliziten Bestätigung (Überspringen des expliziten Zustands).
    • • Die zum Überspringen des impliziten Bestätigungszustands erforderliche minimale Zuverlässigkeit eines Ergebnisses.
  • Die Zuverlässigkeit eines Elements wird erhöht, wenn es explizit oder implizit bestätigt wird. Eine explizite Bestätigung erfordert eine positive (z. B. ja, jawohl) Antwort zum Erhöhen der Zuverlässigkeit oder eine negative Antwort (nein, das ist falsch usw.) zum Verringern der Zuverlässigkeit. Dieselben Regeln sind auf eine implizite Bestätigung anzuwenden, wobei auch eine neutrale Antwort (z. B. Schweigen oder indem einfach zusätzliche Informationen gegeben werden) die Zuverlässigkeit erhöht. Dies ist der einzige Unterschied zwischen einer impliziten und expliziten Bestätigung.
  • Zwei Werte werden benötigt: Die Zuverlässigkeitswerte der expliziten und impliziten Bestätigung. In diesem Beispiel werden Werte von 100 % und 99,5 % verwendet. Ein explizit bestätigtes Element wird als endgültig richtig angesehen und ein implizit bestätigtes Element besitzt einen geringfügig niedrigeren Zuverlässigkeitswert. In der 6 ist ein Beispiel gezeigt, bei dem ein Element (in Slot2) explizit bestätigt wurde (in Zustand1a 51). Wenn das Dialogmodell daher erneut syntaktisch analysiert wird, wird der implizite Bestätigungszustand (Zustand2 42) redundant und wird übersprungen (da die Zu verlässigkeit für Slot2 auf 100 % gesetzt wurde und sowohl die Kantenbedingung 54 als auch die Kantenbedingung 61 wahr ist). Der aktuelle Zustand für den nächsten Dialog mit dem Benutzer ist Zustand3 62.
  • Als Alternative kann der Zuverlässigkeitswert für ein explizit bestätigtes Element auf der Erkennungsgenauigkeit einer 'Ja/Nein'-Erkennung (gewöhnlicherweise nahe 98 %) basieren. In ähnlicher Weise kann die Zuverlässigkeit einer impliziten Bestätigung auf dem Erkennungserfolg zusammen mit der Quote von Leuten basieren, die solche Ansagen korrigieren.
  • Wichtig ist, dass die Zuverlässigkeitswerte für die implizite und explizite Bestätigung mit den zum Festlegen der Kantenbedingungen verwendeten globalen Werten konsistent sind. Andernfalls könnte es nicht mehr möglich sein einen Zustand zu verlassen, so dass der Benutzer in diesem Zustand gefangen bleibt.
  • Der Klassifizierer 6 gibt ein Zuverlässigkeitsmaß für eine Ja/Nein-Spracherkennung zurück, wobei es in anderen Ausführungsformen der Erfindung möglich sein könnte, dieses in das in dem Schwarzen-Brett-Speicher 28 gespeicherte relevante Triplet mit einzubeziehen. Wenn sich der Klassifizierer 6 zum Beispiel zu 100 % sicher ist, dass der Benutzer ja sagte, dann wird die Zuverlässigkeit des bestätigten Slots auf 100 % gesetzt. Falls die Ja/Nein-Erkennungszuverlässigkeit andererseits nur 70 % beträgt, dann könnte diese Zuverlässigkeit auf 70 % gesetzt werden.
  • Die jeder Ansage zugeordneten Kosten und Kostenschwellwerte erfordern eine manuelle Festsetzung. Um dies zu erreichen, wird das Dialogmodell nach dem Zugfallsprinzip getestet, um die möglichen Dialoge aufzufinden. Die Kostenschwellwerte werden angepasst, um unakzeptabel lange Dialoge auszuschließen.
  • Ein Dialogmodell wird zusammenfassend mit den folgenden Schritten geschaffen:
    • 1) Festlegen der Zustände (manuell aus einem Stamm von H-H-Dialogen definiert)
    • 2) Manuelles Definieren von Verbindungen zwischen den Zuständen
    • 3) Manuelles Definieren der Bedingungen von Slot-Inhalten an einigen Kanten
    • 4) Automatisches Erweitern mit Bestätigungszuständen
    • 5) Automatisches Anfügen von Bedingungen an die Kanten (unter Verwendung vorgegebener Zuverlässigkeitsschwellwerte)
    • 6) Automatisches Erzeugen einer Standardansage für jeden Zustand
    • 7) Automatisches Anfügen von Kosten an die Ansagen
    • 8) Anpassen der Zuverlässigkeitsbedingungen an den Kanten. Zum Beispiel kann die explizite Bestätigung eines Slots durch Setzen eines hohen Zuverlässigkeitsschwellwerts erzwungen werden.
    • 9) Manuelles Editieren der Standardansage für jeden Zustand
    • 10) Manuelles Anfügen von Ansagen für jeden Zustand gemäß einer bestimmten Zustandsvorgeschichte
    • 11) Testen des Modells nach dem Zufallsprinzip zum Festsetzen der Kostenschwellwerte für das Übergeben eines Benutzers an den Telefonisten

Claims (24)

  1. Interaktive Dialogvorrichtung aufweisend: eine Einrichtung zum Erzeugen von auszugebenden Ansagen; eine Einrichtung zur Verarbeitung eingehender Antworten für das Erzeugen von Antwortdaten; einen Speicher zum Speichern von Antwortdaten; einen Speicher zum Speichern von Daten, die einen Anfangszustand, eine Vielzahl von nachfolgenden Zuständen, mögliche Übergänge zwischen Zuständen und für jeden Übergang eine zugeordnete Bedingung definieren, die erfüllt sein muss, bevor der Übergang als zulässig anzusehen ist, wobei zumindest einige der Zustände die gespeicherten Antwortdaten umfassen; und eine Steuereinrichtung, die ausgebildet ist (a) ein syntaktisches Verfahren auszuführen, bei dem sie untersucht, ob Übergangsbedingungen erfüllt sind um nachfolgende Zustände zu bestimmen, hinsichtlich derer (i) die dem Übergang bzw. den Übergängen von einem Referenzzustand zu diesem Zustand zugeordnete(n) Bedingung(en) erfüllt sind und (ii) keine einem Übergang von diesem Zustand zugeordnete Bedingung erfüllt ist; (b) eine auszugebende Ansage in Abhängigkeit des so bestimmten Zustands auszuwählen; worin die Steuereinrichtung ausgebildet ist, bei Erhalt einer Antwort das syntaktische Verfahren unter Verwendung des Anfangszustands als Referenzzustand zu wiederholen.
  2. Interaktive Dialogvorrichtung aufweisend: eine Einrichtung zum Erzeugen von auszugebenden Ansagen; eine Einrichtung zur Verarbeitung eingehender Antworten für das Erzeugen von Antwortdaten; einen Speicher zum Speichern von Antwortdaten; einen Speicher zum Speichern von Daten die einen Anfangszustand, eine Vielzahl von nachfolgenden Zuständen, mögliche Übergänge zwischen Zuständen und für jeden Übergang eine zugeordnete Bedingung festlegen, die erfüllt sein muss, bevor der Übergang als zulässig anzusehen ist, wobei zumindest einige der Zustände die gespeicherten Antwortdaten umfassen; einen Zustandsvorgeschichtespeicher und eine Steuereinrichtung, die ausgebildet ist (a) ein syntaktisches Verfahren auszuführen, bei dem sie untersucht, ob Übergangsbedingungen erfüllt sind, um nachfolgende Zustände zu bestimmen, hinsichtlich derer (i) die dem Übergang bzw. den Übergängen von einem Referenzzustand zu diesem Zustand zugeordnete(n) Bedingung(en) erfüllt sind und (ii) keine einem Übergang von diesem Zustand zugeordnete Bedingung erfüllt ist; (b) die bestimmten Zustände in dem Vorgeschichtespeicher aufzuzeichnen; (c) eine auszugebende Ansage abhängig von den Inhalten des Vorgeschichtespeichers auszuwählen; worin die Vorrichtung einen Ansagendefinitionsspeicher zum Speichern einer Vielzahl Ansagedefinitionen umfasst, von denen jede Ansagedefinition ein sequentielles Muster eines oder mehrerer dieser zugeordneter Zustände aufweist, und die Steuereinrichtung ausgebildet ist, von den Ansagen, die einem sequentiellen Muster zugeordnet sind, das zumindest mit dem neuesten Teil der Folge von Zuständen in dem Zustandsvorgeschichtespeicher übereinstimmt, die Ansage auswählt, die die längste derartige Übereinstimmung aufweist.
  3. Interaktive Dialogvorrichtung aufweisend: eine Einrichtung zum Erzeugen von auszugebenden Ansagen; eine Einrichtung zur Verarbeitung eingehender Antworten für das Erzeugen von Antwortdaten; eine Steuereinrichtung, die ausgebildet ist ein Dialogverfahren durchzuführen, bei dem sie abhängig von den Antwortdaten eine auszugebende Ansage auswählt; eine Einrichtung zum Speichern der zuletzt ausgegebenen Ansage; eine Einrichtung, die ausgebildet ist, die ausgewählte Ansage mit der gespeicherten letzten Ansage zu vergleichen und im Falle einer Übereinstimmung das Dialogverfahren zu beenden.
  4. Vorrichtung nach Anspruch 1, umfassend einen Zustandsvorgeschichtespeicher, wobei die Steuereinrichtung ausgebildet ist, die bestimmten Zustände in dem Vorgeschichtespeicher aufzuzeichnen; worin die Vorrichtung einen Ansagedefinitionsspeicher zum Speichern einer Vielzahl von Ansagedefinitionen umfasst, von denen jede Ansagedefinition eine Folge von einem oder mehreren dieser zugeordneten Zustände aufweist, und die Steuereinrichtung ausgebildet ist, die Ansage abhängig von der längsten Folge von Zuständen in dem Ansagedefinitionsspeicher auszuwählen, wobei die Folge von Zuständen einer Folge des oder der neuesten Zustände entspricht, die in der Zustandsvorgeschichte gespeichert sind.
  5. Vorrichtung nach Anspruch 1, 2 oder 4, die eine Einrichtung zum Speichern der zuletzt ausgegebenen Ansage umfasst, sowie eine Einrichtung zum Vergleichen der ausgewählten Ansage mit der gespeicherten letzten Ansage und zum Beenden des Dialogverfahrens im Falle einer Übereinstimmung.
  6. Vorrichtung nach Anspruch 3 oder 5, worin die Steuereinrichtung ausgebildet ist, die Ansagen in Textform zu speichern und die Vergleiche an Textfolgen vorzunehmen.
  7. Vorrichtung nach Anspruch 3 oder 5, worin die Steuereinrichtung zum Speichern der Ansagen in Form einer Liste von einem oder mehreren, gespeicherte Sprache repräsentierende Dateinamen und zum Vornehmen der Vergleiche an den Dateinamenslisten ausgebildet ist.
  8. Vorrichtung nach einem der vorangehenden Ansprüche, worin der oder ein Speicher zum Speichern einer Vielzahl von Ansagenachrichten Daten umfasst, die die jeder Nachricht zugeordneten Kosten repräsentieren, und worin die Steuereinrichtung ausgebildet ist, die zugeordneten Kosten beim Erzeugen der Nachricht zu Gesamtkosten zu addieren und die Vorrichtung mit einer Überwachungsstation zu verbinden, falls die Gesamtkosten einen vorgegebenen Überwachungswert überschreiten.
  9. Vorrichtung nach einem der vorangehenden Ansprüche, worin der oder ein Speicher zum Speichern einer Vielzahl von Ansagenachrichten Daten umfasst, die die jeder Nachricht zugeordneten Kosten repräsentieren, und worin die Steuereinrichtung ausgebildet ist, die zugeordneten Kosten beim Erzeugen der Nachricht zu Gesamtkosten zu addieren und den Vorgang an eine Bediens tation zu transferieren und die Vorrichtung zukoppeln, falls die Gesamtkosten einen vorgegebenen Transferwert überschreiten.
  10. Vorrichtung nach einem der vorangehenden Ansprüche zur Verwendung mit gesprochenen Antworten, worin die Antwortverarbeitungseinrichtung eine Spracherkennung umfasst.
  11. Vorrichtung nach einem der vorangehenden Ansprüche zur Verwendung mit gesprochenen Ansagen, worin die Ansageerzeugungseinrichtung einen Sprachsynthesizer umfasst.
  12. Verfahren zum Betreiben eines interaktiven Dialogs mit einem Benutzer, aufweisend: Verarbeiten eingehender Antworten zum Erzeugen von Antwortdaten; Speichern von Antwortdaten; Ausführen eines syntaktischen Verfahrens durch Bezugnahme auf ein Dialogmodel, das über gespeicherte Daten definiert ist, die einen Anfangszustand, eine Vielzahl von nachfolgenden Zuständen, mögliche Übergänge zwischen Zuständen und für jeden Übergang eine zugeordnete Bedingung festlegen, die erfüllt sein muss bevor der Übergang als zulässig anzusehen ist, wobei zumindest einige der Zustände die gespeicherten Antwortdaten umfassen; worin das syntaktische Verfahren umfasst (a) Untersuchen, ob Übergangsbedingungen erfüllt sind um nachfolgende Zustände zu bestimmen, hinsichtlich derer (i) die dem Übergang bzw. den Übergängen von einem Referenzzustand zu diesem Zustand zugeordnete(n) Bedingung(en) erfüllt sind und (ii) keine einem Übergang von diesem Zustand zugeordnete Bedingung erfüllt ist; (b) auswählen einer auszugebenden Ansage abhängig von dem so bestimmten Zustand; und worin bei Erhalt einer Antwort das syntaktische Verfahren unter Verwendung des Anfangszustands als Referenzzustand wiederholt wird.
  13. Verfahren zum Betreiben eines interaktiven Dialogs mit einem Benutzer, aufweisend: Verarbeiten eingehender Antworten zum Erzeugen von Antwortdaten; Speichern von Antwortdaten; Ausführen eines syntaktischen Verfahrens durch Bezugnahme auf ein Dialogmodel, das über gespeicherte Daten definiert ist, die einen Anfangszustand, eine Vielzahl von nachfolgenden Zuständen, mögliche Übergänge zwischen Zuständen und für jeden Übergang eine zugeordnete Bedingung festlegen, die erfüllt sein muss bevor der Übergang als zulässig anzusehen ist, wobei zumindest einige der Zustände die gespeicherten Antwortdaten umfassen; worin das syntaktische Verfahren umfasst (a) Untersuchen, ob Übergangsbedingungen erfüllt sind um nachfolgende Zustände zu bestimmen, hinsichtlich derer (i) die dem Übergang bzw. den Übergängen von einem Referenzzustand zu diesem Zustand zugeordnete(n) Bedingung(en) erfüllt sind und (ii) keine einem Übergang von diesem Zustand zugeordnete Bedingung erfüllt ist; (b) Aufzeichnen des bestimmten Zustands in einem Vorgeschichtespeicher; (c) Auswählen einer auszugebenden Ansage abhängig von den Inhalten des Vorgeschichtespeichers; und worin das Auswählen der Ansage unter Bezugnahme auf eine Vielzahl gespeicherter Ansagedefinitionen vorgenommen wird, von denen jede Ansagedefinition einer Sequenz von einem oder mehreren dieser Zustände zugeordnet ist, und die Ansage abhängig aus der längsten Folge von Zuständen in dem Ansagedefinitionsspeicher ausgewählt wird, wobei die Folge von Zuständen einer Folge des oder der neuesten Zustände entspricht, die in dem Zustandsvorgeschichtespeicher gespeichert sind.
  14. Verfahren zum Betreiben eines interaktiven Dialogs mit einem Benutzer, aufweisend: Verarbeiten eingehender Antworten zum Erzeugen von Antwortdaten; Durchführen eines Dialogverfahrens, das das Auswählen einer auszugebenden Ansage abhängig von den Antwortdaten umfasst; Speichern der zuletzt ausgegebenen Ansage; Vergleichen der ausgewählten Ansage mit der gespeicherten letzten Ansage und Beenden des Dialogverfahrens bei einer Übereinstimmung.
  15. Verfahren nach Anspruch 12, umfassend das Aufzeichnen des im Vorgeschichtespeicher bestimmten Zustands; worin das Auswählen der Ansage durch Bezugnahme auf eine Vielzahl gespeicherter Ansagedefinitionen vorgenommen wird, von denen jede Ansagedefinition eine Folge von einem oder mehreren dieser zugeordneten Zustände aufweist, und das Auswählen der Ansage abhängig von der längsten Folge von Zuständen in dem Ansagedefinitionsspeicher erfolgt, wobei die Folge von Zuständen einer Folge des oder der neuesten Zustände entspricht, die in dem Zustandsvorgeschichtespeicher gespeichert sind.
  16. Verfahren nach Anspruch 12, 13 oder 15, umfassend das Speichern der zuletzt ausgegebenen Ansage und Vergleichen der ausgewählten Ansage mit der zuletzt gespeicherten Ansage und Beenden des Dialogverfahrens im Falle einer Übereinstimmung.
  17. Verfahren nach einem der Ansprüche 14 oder 16, worin die Ansagen in Textform gespeichert werden und die Vergleiche an den Textfolgen vorgenommen werden.
  18. Verfahren nach Anspruch 14 oder 16, worin die Ansagen in Form einer Liste von einem oder mehreren, gespeicherte Sprache repräsentierende Dateinamen gespeichert und die Vergleiche an den Dateinamenslisten vorgenommen werden.
  19. Verfahren nach einem der Ansprüche 12 bis 18, worin die Antworten in gesprochener Form empfangen werden und von einer Spracherkennung verarbeitet werden.
  20. Verfahren nach einem der Ansprüche 12 bis 19, das das Erzeugen der Ansagen in Sprachform umfasst.
  21. Verfahren nach Anspruch 12, 13, 15 oder 16, umfassend das Erzeugen der gespeicherten Modelldaten durch (i) Erzeugen eines Anfangsdatensatzes; (ii) Ersetzen von Daten, die einen Übergang in einen Zustand definieren, der einer impliziten Bestätigung entspricht, durch Daten, die einen zusätzlichen Zustand repräsentieren, der einer expliziten Bestätigung, einem Übergang in den zusätzli chen Zustand und einem Übergang von dem zusätzlichen Zustand entspricht.
  22. Verfahren nach Anspruch 12, 13, 15, 16 oder 21, das bei einem Übergang, der aus einem Zustand mündet, der einer Bestätigung entspricht, den Schritt zum Hinzufügen von Daten umfasst, die eine Bedingung definieren, dass ein dem bestätigten Wert zugeordnetes Vertrauen einen vorgegebenen Wert überschreitet.
  23. Verfahren nach Anspruch 12, 13, 15, 16, 21 oder 22, das bei einem Übergang, der aus einem Zustand mündet, der einer Bestätigung entspricht, den Schritt zum Hinzufügen von Daten umfasst, die eine Bedingung definieren, dass ein dem zu bestätigenden Wert zugeordnetes Vertrauen einen vorgegebenen Wert überschreitet.
  24. Datenträger zur Aufnahme in einem Computer, der Anweisungen enthält, die dem Computer die Ausführung eines Verfahrens nach einem der Ansprüche 12 bis 23 ermöglichen.
DE60126948T 2000-07-20 2001-07-19 Interaktive dialoge Expired - Lifetime DE60126948T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP00306183 2000-07-20
EP00306183 2000-07-20
EP01301395 2001-02-16
EP01301395 2001-02-16
PCT/GB2001/003261 WO2002009094A1 (en) 2000-07-20 2001-07-19 Interactive dialogues

Publications (2)

Publication Number Publication Date
DE60126948D1 DE60126948D1 (de) 2007-04-12
DE60126948T2 true DE60126948T2 (de) 2007-12-06

Family

ID=26073246

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60126948T Expired - Lifetime DE60126948T2 (de) 2000-07-20 2001-07-19 Interaktive dialoge

Country Status (5)

Country Link
EP (1) EP1301921B1 (de)
AU (1) AU2001270886A1 (de)
CA (1) CA2411888C (de)
DE (1) DE60126948T2 (de)
WO (1) WO2002009094A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004287016A (ja) * 2003-03-20 2004-10-14 Sony Corp 音声対話装置及び方法並びにロボット装置
US7853451B1 (en) * 2003-12-18 2010-12-14 At&T Intellectual Property Ii, L.P. System and method of exploiting human-human data for spoken language understanding systems
US7542907B2 (en) 2003-12-19 2009-06-02 International Business Machines Corporation Biasing a speech recognizer based on prompt context
US9229974B1 (en) 2012-06-01 2016-01-05 Google Inc. Classifying queries
DE102013010208B3 (de) 2013-06-20 2014-12-04 Sikom Software Gmbh Verfahren und Anordnung zur Realisierung multimodaler Wartefelder und Suche aktueller Telefonanrufe für einen Benutzer in einem Telekommunikationsnetz

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9424887D0 (en) * 1994-12-09 1995-02-08 Univ Oxford Brookes Computer apparatus with dialogue-based input system
US5685000A (en) * 1995-01-04 1997-11-04 U S West Technologies, Inc. Method for providing a linguistically competent dialogue with a computerized service representative
CN1097769C (zh) * 1995-01-18 2003-01-01 皇家菲利浦电子有限公司 提供可由操作员干预支持的人机对话的方法和设备
CA2292959A1 (en) * 1997-05-06 1998-11-12 Speechworks International, Inc. System and method for developing interactive speech applications
AU2556600A (en) * 1999-03-12 2000-10-04 Christopher Nice Man-machine dialogue system and method

Also Published As

Publication number Publication date
CA2411888A1 (en) 2002-01-31
AU2001270886A1 (en) 2002-02-05
EP1301921A1 (de) 2003-04-16
EP1301921B1 (de) 2007-02-28
CA2411888C (en) 2009-12-29
DE60126948D1 (de) 2007-04-12
WO2002009094A1 (en) 2002-01-31

Similar Documents

Publication Publication Date Title
DE60004862T2 (de) Automatische bestimmung der genauigkeit eines aussprachewörterbuchs in einem spracherkennungssystem
DE69829389T2 (de) Textnormalisierung unter verwendung einer kontextfreien grammatik
DE4397100C2 (de) Verfahren zum Erkennen von Sprachsignalen und Spracherkennungssystem mit rekursiver Grammatik mit endlicher Zustandsanzahl
DE69917112T2 (de) Erweiterung des Wortschatzes eines Client-Server-Spracherkennungssystems
DE60033733T2 (de) Datenbankabfragesystem basierend auf Spracherkennung
EP1466317B1 (de) Betriebsverfahren eines automatischen spracherkenners zur sprecherunabhängigen spracherkennung von worten aus verschiedenen sprachen und automatischer spracherkenner
DE69814114T2 (de) Natürliche sprache verstehendes verfahren und verstehende vorrichung zur sprachsteuerung einer anwendung
DE69835718T2 (de) Verfahren und Gerät zur Sprachinteraktion über ein Netzwerk unter Verwendung von parametrierbaren Interaktionsdefinitionen
DE4015905C2 (de) Sprachanalyseeinrichtung, -verfahren und -programm
DE3317325A1 (de) Durch stimm-eingabe gesteuerter computer
EP1273003B1 (de) Verfahren und vorrichtung zum bestimmen prosodischer markierungen
DE19847419A1 (de) Verfahren zur automatischen Erkennung einer buchstabierten sprachlichen Äußerung
EP0702353A2 (de) System und Verfahren zum Ausgeben von Sprachinformation in Reaktion auf eingegebene Sprachsignale
DE10297333T5 (de) Diagramm-Parsing unter Verwendung verdichteter Grammatikdarstellungen
DE10147341A1 (de) Dynamischer Aufbau einer Dialogsteuerung aus Dialogobjekten
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung
EP0836175B1 (de) Verfahren und Anordnung zum Ableiten wenigstens einer Folge von Wörtern aus einem Sprachsignal
EP0614172A2 (de) Verfahren und Anordnung zum Ermitteln von Wörtern in einem Sprachsignal
EP1926081A1 (de) Verfahren zur Dialoganpassung und Dialogsystem zur Durchführung
DE10100725C1 (de) Automatisches Dialogsystem mit Datenbanksprachmodell
DE60214850T2 (de) Für eine benutzergruppe spezifisches musterverarbeitungssystem
EP1035707A2 (de) Verfahren, Erzeugungsmodul, Server, Steuermodul und Speichermittel zum Erstellen von Validierungsregeln
EP1282897B1 (de) Verfahren zum erzeugen einer sprachdatenbank für einen zielwortschatz zum trainieren eines spracherkennungssystems
DE60126948T2 (de) Interaktive dialoge
DE19849855C1 (de) Verfahren zur automatischen Generierung einer textlichen Äußerung aus einer Bedeutungsrepräsentation durch ein Computersystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1301921

Country of ref document: EP

Representative=s name: BEETZ & PARTNER PATENT- UND RECHTSANWAELTE, 80538