-
Die
Erfindung bezieht sich auf ein automatisches Dialogsystem zur gesprochenen
Datenbankabfrage. Solche Dialogsysteme werden u. a. zur Erteilung
von Auskünften
oder auch zur Erledigung von Bankgeschäften über Telefon oder an öffentlichen
Benutzerterminals verwendet. Bekannte Systeme sind z. B. das Fahrplanauskunftssystem
der Schweizer Bahnen und das Flugauskunftssystem der Deutschen Lufthansa.
Auch die IVR-Systeme (Interactive Voice Response) verschiedener
Anbieter wie z. B. von Periphonics gehören dazu. Allen diesen Systemen
ist gemeinsam, dass ein Benutzer in einen gesprochenen Dialog mit
einer Maschine tritt, um die von ihm gewünschten Auskünfte zu
erhalten bzw. die von ihm gewünschten
Transaktionen durchzuführen.
Neuere Systeme nutzen nicht nur die sprachliche Interaktion, sondern
auch noch weitere Medien, wie z. B. visuelle Bildschirmausgaben
oder das Versenden eines Telefaxes.
-
Ein
automatisches Dialogsystem zur gesprochenen Abfrage von z. B. Telefonbucheinträgen ist
beispielsweise aus der
WO 96/13030 bekannt.
Dort wird unter anderem ein Dialogschema beschrieben, dem ein Benutzer
zu folgen hat, um von dem automatischen System die Telefonnummer
einer in der Telefondatenbank gelisteten Person (im Englischen auch
als „residential
listing" bezeichnet)
zu erhalten. Dazu muss der Benutzer nacheinander in einzelnen Dialogbeiträgen (im
Englischen auch als „turns" bezeichnet) die
Stadt, die Straße und
den Nachnamen angeben.
-
Das
Dialogsystem verknüpft
diese Angaben beispielsweise miteinander, indem es zu jeder sprachlichen Äußerung des
Benutzers mittels Spracherkennung eine Liste von möglichen
Erkennungsergebnissen aufstellt, die eine Ähnlichkeit mit der jeweiligen
sprachlichen Äußerung haben,
und diese Listen mit der Telefondatenbank abgleicht. Dieser Abgleich
führt dann
zu einer (möglicherweise
leeren) Liste von Datenbankeinträgen,
deren jeweilige Stadt, Straße
und Nachname eine genügende Ähnlichkeit
mit den jeweiligen sprachlichen Äußerungen
des Benutzers haben.
-
Ist
die Anzahl der so bestimmten Datenbankeinträge klein genug, z. B. kleiner
als 3, so gibt das Dialogsystem dem Benutzer diese Datenbankeinträge einschließlich der
jeweiligen Telefonnummern bekannt. Anderenfalls kann das System
weitere Informationen, wie z. B. eine Buchstabierung des Städtenamens,
vom Benutzer anfordern, die dann in ähnlicher Weise mit den schon
erhaltenen Informationen und gegebenenfalls mit der Datenbank verknüpft werden.
Ein solches Vorgehen ist aber auch dann möglich, wenn einer der vorhergehenden
Erkennungsschritte entweder gar kein Ergebnis liefert oder nur eines,
das der entsprechenden sprachlichen Äußerung des Benutzers sehr unähnlich ist.
Eine weitere Einsatzmöglichkeit
der Abfrage zusätzlicher Informationen
ergibt sich, wenn die gesammelten Informationen sich nicht mit der
Telefondatenbank abgleichen lassen, d. h., wenn sich kein zu diesen
Informationen passender Datenbankeintrag bestimmen lässt. Versagen
alle Möglichkeiten
des automatischen Systems, dem Benutzer die gewünschte Information zu geben, weil
z. B. der Benutzer im beschriebenen Fall keine weiteren Informationen
geben kann, so kann der Benutzer zu einem menschlichen Operator
verbunden werden, der die Anfrage weiter bearbeitet.
-
Die
Tatsache, dass sich eine Benutzeranfrage erwartungsgemäß auf einen
in der Datenbank enthaltenen Eintrag bezieht, lässt sich zur Erhöhung der
Erkennungsgenauigkeit in den oben genannten Spracherkennungsschritten
benutzen. Die
WO 96/13030 schlägt dazu
zwei Verfahren vor. Zum einen lässt
sich das Vokabular für
den nächsten
Erkennungsschritt entsprechend den schon bekannten Informationen
bereitstellen. Sind z. B. die möglichen
Städte
bereits erkannt worden, so wird das Vokabular für den Straßenerkennungsschritt nur aus
den Straßen
zusammengestellt, die in der Datenbank zu Einträgen mit den bekannten Städten gehören. Zum
anderen können
die einzelnen Wörter
dieses Vokabulars auch noch untereinander gewichtet werden ("pre-weighting of
the recognition network").
Dazu erhalten die Straßen,
die zu Städten
gehören,
die eine größere Ähnlichkeit
mit der gesprochenen Äußerung der
Stadt aufweisen, ein höheres
Gewicht als diejenigen von Städten
mit geringerer Ähnlichkeit.
-
Solche
Gewichtungen von Vokabularwörtern
und von Folgen von Vokabularwörtern
werden in der Spracherkennung als Sprachmodell bezeichnet, vgl.
dazu auch die Veröffentlichung „D. J.
Attwater und S. J. Whittaker: Issues in large-vocabulary interactive
speech systems. BT Technology Journal 14(1996), Nr. 1, S. 177–186, Jan.
1996". Die
WO 96/13030 beschreibt,
dass solche Sprachmodelle außer
von der Datenbank und den schon erhaltenen Erkennungsergebnissen
der Benutzeräußerungen
auch noch von weiteren Umständen, wie
z. B. der Nummer des Anrufers bei telefonischen Auskunftssystemen
oder der Tageszeit, abhängen
können.
-
In
der
WO 96/13030 werden
die nach dem ersten Erkennungsschritt bei den weiteren Erkennungsschritten
verwendeten Vokabularien und gegebenenfalls Sprachmodelle dynamisch
aus der Datenbank (unter Berücksichtigung
der bereits erhaltenen Erkennungsergebnisse) berechnet. Im obigen
Beispiel wird also nach der Städtenamenerkennung
das Straßenvokabular
und dessen Sprachmodell dynamisch aus der Datenbank gewonnen. Da
das Dialogsystem den Benutzer jedoch nicht allzu lange auf seine
Reaktionen warten lassen darf, erfordert ein solches Vorgehen zum
einen eine enge Kopplung des Spracherkennungssystems, zu dem das
Vokabular und das Sprachmodell gerechnet werden, mit der Datenbank.
Zum anderen werden jedoch auch speziell entworfene Datenbanken benötigt, da
die derzeit in Benutzung befindlichen Datenbanken nicht in der Lage
sind, die benötigten
Informationen in der erforderlichen kurzen Zeit zu liefern.
-
So
muss die Datenbank bei der dynamischen Erstellung des Straßenvokabulars
z. B. in der Lage sein, innerhalb kurzer Zeit sämtliche Straßen zu liefern,
die zu der aus dem Städteerkennungsschritt
erhaltenen einen oder mehreren Städten gehören. Diese Funktionalität ist völlig untypisch
und erfordert daher viel Zeit für die
derzeit benutzten Datenbanken, die dafür vorgesehen sind, z. B. auf
die Eingabe der Stadt und des Nachnamens hin nur die relativ wenigen
passenden Einträge
mit dieser Stadt und diesem Nachnamen herauszugeben.
EP-A-645757 offenbart eine
Auswahl bevorzugter Hypothesen aus einer Menge möglicher Hypothesen durch Ad-hoc-Analyse
einer Datenbank. Dies ist als semantisches Co-Occurence-Filtern
bekannt
-
Aufgabe
der Erfindung ist es daher, ein automatisches Dialogsystem zur gesprochenen
Datenbankabfrage der eingangs genannten Art zu schaffen, das ohne
diese enge Kopplung zwischen Spracherkennungssystem und Datenbank
auskommt und auch mit den derzeit benutzten Datenbanken zusammenarbeiten
kann, sich aber dennoch die Vorteile einer verbesserten Erkennungsleistung
durch die Verwendung von Sprachmodellen zunutze macht.
-
Diese
Aufgabe wird gelöst
durch ein automatisches Dialogsystem zum gesprochenen Abfragen eines Datenbankeintrags,
der mehrere für
seine Abfrage verfügbare
Bestandteile enthält,
wobei die Spracherkennung einer sprachlichen Äußerung zum Abfragen des Datenbankeintrags
durch ein Sprachmodell unterstützt wird,
das vor dem Beginn des Dialogs erstellt wurde, zu dem die sprachliche Äußerung gehört, und
das das korrelierte Auftreten der für die Abfrage vorgesehenen
Bestandteile des Datenbankeintrags in der sprachlichen Äußerung des
Dialogs modelliert. Indem das Sprachmodell vor dem Beginn des Dialogs
erstellt wird, entfällt die
Anforderung, dass die Entnahme der entsprechenden Informationen
aus der Datenbank schnell erfolgen muss. Daher kann man auf die
enge Kopplung zwischen Spracherkennungssystem und Datenbank verzichten, und
es können
auch die derzeit benutzten Datenbanken verwendet werden.
-
Die
abhängigen
Ansprüche
2 bis 4 beanspruchen spezielle Ausgestaltungen des innerhalb des
automatischen Dialogsystems zur gesprochenen Datenbankabfrage verwendeten
Sprachmodells. Welche dieser Ausführungsformen sich in der Praxis
besonders vorteilhaft einsetzen lassen, richtet sich nach den Kenntnissen über das
Benutzerverhalten und nach den zur Verfügung stehenden Hardware- und
Softwareressourcen des Dialogsystems.
-
Die
Erfindung bezieht sich in Anspruch 5 jedoch auch auf ein Spracherkennungssystem
zur Spracherkennung einer sprachlichen Äußerung zum gesprochenen Abfragen
eines Datenbankeintrags, der mehrere für seine Abfrage vorgesehene
Bestandteile enthält,
wobei das Spracherkennungssystem durch ein Sprachmodell unterstützt wird,
das vor dem Beginn des Dialogs erstellt wurde, zu dem die sprachliche Äußerung gehört, und
das das korrelierte Auftreten der für die Abfrage vorgesehenen
Bestandteile des Datenbankeintrags in der sprachlichen Äußerung des
Dialogs modelliert. Ein solches Spracherkennungssystem kann z. B.
als Systemkomponente eines erfindungsgemäßen Dialogsystems zur gesprochenen
Datenbankabfrage benutzt werden.
-
In
Anspruch 6 bezieht sich die Erfindung auf ein Sprachmodell zur Unterstützung der
Spracherkennung einer sprachlichen Äußerung zum gesprochenen Abfragen
eines Datenbankeintrags, der mehrere für seine Abfrage vorgesehene
Bestandteile enthält,
wobei das Sprachmodell vor dem Beginn des Dialogs erstellt wurde,
zu dem die sprachliche Äußerung gehört, und
wobei das Sprachmodell das korrelierte Auftreten der für die Abfrage
vorgesehenen Bestandteile des Datenbankeintrags in der sprachlichen Äußerung des
Dialogs modelliert. Ein solches Sprachmodell lässt sich z. B. innerhalb eines
erfindungsgemäßen Dialogsystems
zur gesprochenen Datenbankabfrage verwenden.
-
Die
Erfindung bezieht sich in Anspruch 7 aber auch auf ein Verfahren
zum gesprochenen Abfragen eines Datenbankeintrags, der mehrere für seine
Abfrage vorgesehene Bestandteile enthält, wobei die Spracherkennung
einer sprachlichen Äußerung zum
Abfragen des Datenbankeintrags durch ein Sprachmodell unterstützt wird,
das vor dem Beginn des Dialogs erstellt wurde, zu dem die sprachliche Äußerung gehört, und das
das korrelierte Auftreten der für
die Abfrage vorgesehenen Bestandteile des Datenbankeintrags in der sprachlichen Äußerung des
Dialogs modelliert.
-
Diese
und weitere Aspekte und Vorteile der Erfindung werden im Folgenden
an Hand der Ausführungsbeispiele
und insbesondere an Hand der beigefügten Zeichnungen näher erläutert. Es
zeigen:
-
1 eine
Ausführungsform
eines erfindungsgemäßen Dialogsystems
zur gesprochenen Datenbankabfrage,
-
2 einen
Auszug aus dem Firmenteil eines Telefonbuches einer Stadt,
-
3 eine
mögliche
Abarbeitung einer gesprochenen Datenbankabfrage in Form eines Flussdiagramms.
-
1 zeigt
eine Ausführungsform
eines erfindungsgemäßen Dialogsystems
zur gesprochenen Datenbankabfrage. Ein Telefonanruf eines Systembenutzers
läuft an
der mit dem öffentlichen
Telefonnetz gekoppelten Telefonschnittstelle 1 auf, die
mit der Netzwerkschnittstellen- und Ein-/Ausgabe-Kontrolleinheit 2,
an der der Anruf entgegengenommen und zentral bearbeitet wird, bidirektional
verbunden ist. Die Netzwerkschnittstellen- und Ein-/Ausgabe-Kontrolleinheit 2 übergibt
eine sprachliche Äußerung des
Benutzers an das Spracherkennungssystem 3, das die Äußerung unter
Benutzung des Sprachmodells 6 erkennt, d. h. die für die Datenbankabfrage
relevanten Bestandteile aus der sprachlichen Äußerung extrahiert.
-
Diese
Erkennung im Spracherkennungssystem 3 besteht üblicherweise
zunächst
aus einer Überführung der
gesprochenen Äußerung in
Text, der sogenannten Sprache-zu-Text-Umsetzung oder der Spracherkennung
im engeren Sinne. Dabei kann entweder nur eine einzige Texthypothese
für die
sprachliche Äußerung erzeugt
werden oder aber auch eine Menge verschiedener solcher Texthypothesen,
die dann z. B. in Form sogenannter N-best-Listen oder in Form von
Wortgraphen organisiert werden. Zusätzlich können solche Texthypothesen
noch mit Bewertungen versehen werden, die z. B. mit dem Grad der Ähnlichkeit
der Texthypothese zur gesprochenen Äußerung korrespondieren.
-
Darf
der Benutzer als Vokabular nur Wörter
verwenden, die als für
die Abfrage vorgesehene Bestandteile jeweiliger Einträge in der
Datenbank enthalten sind, so genügt
bis auf die Behandlung von Buchstabierungen bereits der Sprache-zu-Text-Schritt.
Darf der Benutzer darüber
hinaus jedoch auch noch andere Wörter,
z. B. solche zur Begrüßung, verwenden,
so müssen
im Spracherkennungssystem 3 die Texthypothesen noch auf
die für
die Datenbankabfrage relevanten Bestandteile reduziert werden. Dazu
sind im Bereich der Spracherkennung verschiedene Methoden bekannt:
Es lassen sich z. B. die irrelevanten Wörter durch allgemeine Füllwortmodelle
abdecken („garbage
modelling, Word spotting")
oder man kann Methoden des Sprachverstehens wie z. B. Grammatiken
auf die Texthypothesen anwenden.
-
Darf
ein Benutzer auch Buchstabierungen oder Teilbuchstabierungen von
Wörtern
verwenden, die als für
die Abfrage vorgesehene Bestandteile jeweiliger Einträge in der
Datenbank enthalten sind, so müssen
diese in die ihnen entsprechenden Bestandteile des Datenbankeintrags
umgesetzt werden. Sagt ein Benutzer z. B. „Meyer mit E. Y." so zeigt die Information „mit E.
Y.” an,
dass ein gesuchter Datenbankbestandteil die Buchstabenfolge „E. Y." enthält. Zur
sprachmodellmäßigen Verarbeitung
solcher Konstrukte können
beispielsweise wieder Grammatiken oder auch Zustandsautomaten herangezogen
werden.
-
Das
Ergebnis des Spracherkennungssystems 3 ist in diesen Fällen eine
einzige oder eine Menge von alternativen Erkennungshypothesen der
sprachlichen Äußerung,
wobei die Hypothesen auf ihre für
die Datenbankabfrage relevanten Bestandteile reduziert wurden. Weiter
können
auch diese Hypothesen je nach Systemgestaltung mit Bewertungen versehen
werden, die beispielsweise etwas über die Wahrscheinlichkeiten aussagen,
dass die jeweiligen Hypothesen richtig erkannt wurden.
-
Das
Spracherkennungssystem 3 übergibt die Erkennungshypothese(n)
an die Dialogkontrolleinheit 4, die die während des
Dialogs vom Benutzer mitgeteilten Informationen sammelt, bei genügendem Informationsstand
eine Abfrage der Datenbank 7 durchführt und die nächste Dialogaktion
des Systems plant. Dazu übergibt sie
an die Sprachausgabeeinheit 5 den Inhalt der nächsten Systemmitteilung
an den Benutzer. Dabei kann sie z. B. den Text der nächsten Systemmitteilung
oder aber auch nur eine semantische Beschreibung davon übermitteln.
Entsprechend übernimmt
die Sprachausgabeeinheit 5 die Aufgabe, den Text in Sprache
zu überführen oder
zusätzlich
noch zuerst den Text aus der semantischen Beschreibung zu gewinnen.
-
Die
Sprachausgabeeinheit 5 übergibt
die nächste
Systemmitteilung als Sprache an die Netzwerkschnittstellen- und
Ein-/Ausgabe-Kontrolleinheit 2, von der sie über die
Telefonschnittstelle 1 schließlich an den Benutzer weitergegeben
wird.
-
Als
Verfeinerung der oben beschriebenen Vorgehensweise im Dialogsystem
zur gesprochenen Datenbankabfrage ist in 1 noch Folgendes
dargestellt: Die Netzwerkschnittstellen- und Ein-/Ausgabe-Kontrolleinheit 2 kann
der Dialogkontrolleinheit 4 noch weitere Informationen übergeben.
Diese Informationen können z.
B. die Telefonnummer des Anrufers oder auch nur eine Kennung der
Region, aus der der Anruf kommt, sein. Entsprechend dieser Informationen
kann die Dialogkontrolleinheit 4 z. B. unterschiedliche
Sprachmodelle 6 auswählen.
z. B. beobachtet man in der Praxis, dass Anrufer aus einer großen Stadt,
die eine Bahnverbindung erfragen wollen, üblicherweise von dieser Stadt
aus oder zu dieser Stadt hin fahren wollen. Dies lässt sich
bei der Aufbereitung und/oder bei der Benutzung der Sprachmodelle
vorteilhaft zur Senkung der Erkennungsfehlerrate verwenden. Um diese
Funktionalität
benutzen zu können,
muss die Sprachmodellkomponente 6 entsprechend für die Aufnahme
der benötigten
Sprachmodelle ausgelegt werden.
-
Die
Sprachmodelle 6 können
jedoch auch noch von anderen Gegebenheiten abhängig gemacht werden, so z.
B. von der Tageszeit oder dem Wochentag. Im obigen Bahnauskunftsbeispiel
beobachtet man an Arbeitstagen und z. B. Sonntagen wesentlich unterschiedliche
Verkehrsströme.
Das Vorliegen solcher Gegebenheiten kann von der Dialogkontrolleinheit 4 wahrgenommen
und an die Sprachmodelle 6 weitergegeben werden, oder die
Sprachmodelle 6 können
dies selbst überwachen.
-
Für den Fachmann
ist es offensichtlich, dass die in
1 dargestellten
und oben beschriebenen Möglichkeiten
der Systemgestaltung nur einige von vielen möglichen Varianten darstellen.
So wird in manchen Systemen die Sprachverstehenskomponente auch
als separater Block untergebracht, der auch ein eigenes Sprachmodell
verwenden kann, das von dem für
die Sprache-zu-Text Komponente verschieden ist. Insbesondere wird
hier auch auf die in der
WO 96/13030 beschriebenen
und auch für
diese Erfindung anwendbaren weiteren Möglichkeiten zur Systemausgestaltung
hingewiesen.
-
Weiter
ist für
den Fachmann ersichtlich, dass aus Übersichtlichkeitsgründen viele
Detailaspekte des Systems weder in
1 dargestellt
noch besprochen wurden. So muss das System natürlich der Tatsache Rechnung
tragen, dass eine hohe Zahl von Anrufen nicht zum Systemzusammenbruch
führen
sollte, oder dass stark verrauschte gesprochene Äußerungen nicht zu einer Überlastung
des Spracherkennungssystems
3 führen sollten. Entsprechende
Kommunikationsprotokolle und Fehlerbehandlungen sind vorgesehen.
So wird es üblicherweise
z. B. auch eine Kommunikationsrichtung vom Spracherkennungssystem
3 zur
Netzwerkschnittstellen- und Ein-/Ausgabe-Kontrolleinheit
2 geben,
auf der das Spracherkennungssystem
3 seine Bereitschaft mitteilen
kann, die nächste
gesprochene Äußerung zu
verarbeiten. Weiter sind, wie oben bei der Besprechung des in der
WO 96/13030 dargestellten
Standes der Technik erwähnt,
Ausweichmechanismen für
den Fall vorzusehen, dass z. B. das Spracherkennungssystem
3 beispielsweise
aufgrund von schwierigen akustischen Bedingungen überhaupt
kein Erkennungsergebnis für
eine sprachliche Äußerung erzeugt.
-
Weiter
können
während
des Betriebs des Dialogsystems statistische Daten z. B. über das
Anrufverhalten der Benutzer gesammelt und zur Anpassung der Sprachmodelle 6 verwendet
werden. Schließlich
deutet in 1 die gestrichelte Verbindung
der Datenbank 7 zu den Sprachmodellen 6 an, dass
die Sprachmodelle 6 unter Benutzung der in der Datenbank 7 enthaltenen
Informationen generiert wurden.
-
Mit
Hilfe von 2 und 3 wird die
Arbeitsweise des Dialogsystems zur gesprochenen Datenbankabfrage
anhand des Beispiels der Abfrage der Telefonnummer einer Firma ("business White pages" oder "yellow pages" in englischer Sprache)
näher erläutert. Dazu
zeigt 2 einen Auszug aus dem Firmenteil eines Telefonbuches
einer Stadt. Es sind vier Datenbankeinträge dargestellt, die insbesondere
folgende Kennzeichen aufweisen: Die Nachnamen der Firmeneigner sind
einander akustisch recht ähnlich
und daher leicht verwechselbar. Weiter tragen drei der Firmen die
Bezeichnung „Sanitär" in ihrem Datenbankeintrag.
-
3 zeigt
die Abarbeitung einer gesprochenen Datenbankabfrage in Form eines
Flussdiagramms. Die Abarbeitung startet im Startblock 10,
worauf im Prozessblock 11 dem Benutzer die Frage gestellt
wird, ob er die Telefonnummer einer Privatperson (englisch: white
pages querty) oder die einer Firma (englisch: yellow pages querty)
erfragen möchte.
Entsprechend der erkannten Benutzerantwort verzweigt die Kontrolle
nach dem Entscheidungsblock 12. Möchte der Benutzer die Telefonnummer
einer Privatperson, so erfolgt die weitere Abarbeitung in dem in 3 nicht
näher aufgelösten Block 13.
Möchte
er aber die Telefonnummer einer Firma, so wird ihm als nächstes im
Block 14 die Frage nach der Stadt gestellt, in der die
Firma bzw. die Zweigstelle der Firma ansässig ist, deren Nummer er erfragen
möchte.
-
Die
Benutzerantwort wird erkannt und eine Liste der erkannten Städtenamen
mit genügend
hoher Bewertung erstellt. Dabei wird für den weiteren Verlauf angenommen,
dass die Liste nicht leer ist. Der Fall, dass die Erkennung versagt
hat, wird hier also nicht weiter ausgeführt. Ist die Anzahl der erkannten
Städtenamen in
der Liste nicht klein genug, z. B. nicht kleiner als 3, was im Block 15 entschieden
wird, so versucht das System, die Städteauswahl näher einzugrenzen.
Dieses Vorgehen verhindert, dass in den nachfolgenden Schritten
zwischen einer zu großen
Zahl von Datenbankeinträgen
entschieden werden muss.
-
Um
die Städteauswahl
näher einzugrenzen,
wird zunächst
im Block 16 durch Aktualisierung eines Zählers festgehalten,
wie oft bereits versucht wurde, eine weitere Frage zur Stadt zu
stellen. Weiter kann dort auch festgehalten werden, welche Fragen
bereits zu der Stadt gestellt wurden. Sodann wird im Block 17 durch Auswertung
der Information von Block 16 entschieden, ob eine weitere
Nachfrage nach der Stadt noch vorgenommen werden soll. Ist das nicht
der Fall, so wird in dieser Ausführungsform
der Erfindung die weitere Gesprächsführung mit
dem Benutzer einem menschlichen Bediener im hier nicht weiter erläuterten
Block 18 überlassen.
Anderenfalls wird dem Benutzer im Block 19 eine weitere
Frage nach der Stadt gestellt, z. B. wird nach einer Buchstabierung
der Stadt, nach anderen z. B. großen Städten in der Nähe gefragt
oder auch einfach nur um eine Wiederholung des Städtenamens
gebeten. Zur Verarbeitung solch zusätzlicher umschreibender Information
wie z. B. der Angabe anderer großer Städte in der Nähe müssen dann
gegebenenfalls Methoden der künstlichen
Intelligenz herangezogen werden, die man architektonisch beispielsweise
bei der Dialogkontrolle 4 von 1 ansiedeln
kann.
-
Sodann
wird in Block 15 wieder entschieden, ob die Städteliste
jetzt klein genug ist. Die Eingrenzung des Städtenamens durch die Abarbeitung
der Blöcke 16, 17 und 19 wird
dabei so oft wiederholt, bis entweder die Übergabe des Gespräches an
den menschlichen Bediener in Block 18 erfolgt, oder aber
die Städteliste durch
Block 15 als klein genug bewertet wird. Ist dies der Fall,
die Städteliste
also klein genug, so wird dem Benutzer im Block 20 die
Frage nach der Firma gestellt, deren Nummer er erfragen möchte. In
Block 21 wird dann entschieden, ob das Dialogsystem genug
Informationen für
eine erfolgversprechende Datenbankanfrage besitzt. z. B. kann das
System verlangen, dass der Benutzer ihm zumindest einen Bestandteil
der Firmentätigkeit,
beispielsweise „Sanitär", und einen Bestandteil
des Firmennamens, z. B. „Meyer", mitteilt. Im Falle
der Verwendung mehrerer genügend
hoch bewerteter Erkennungsalternativen bedeutet das z. B. wie im
Fall der oben beschriebenen Städteerkennung,
dass die Liste der möglichen
Alternativen klein genug ist.
-
Erscheint
dem System die Information für
eine Datenbankabfrage nicht erfolgversprechend, so wird anlog wie
bei der Einschränkung
der Städteauswahl
verfahren: Im Block 22 wird ein Zähler aktualisiert, wie oft bereits
eine Präzisierung
der Firmeninformation versucht wurde. Weiter wird festgehalten,
welche Fragen bereits zu der Firma gestellt wurden. In Block 23 wird
sodann durch Auswertung der Information von Block 22 entschieden,
ob noch weiter nach der Firma gefragt werden soll. Ist das nicht
der Fall, so wird in dieser Ausführungsform
der Erfindung die weitere Gesprächsführung mit
dem Benutzer wieder einem menschlichen Bediener in Block 18 überlassen.
Anderenfalls wird dem Benutzer im Block 24 eine weitere
Frage nach der Firma gestellt, z. B. wird nach einer Buchstabierung
des Firmennamens, nach anderen Bestandteilen des Firmennamens und/oder
der Firmentätigkeit
oder auch einfach nur um eine Wiederholung des Firmennamens gebeten.
-
Sodann
wird in Block 21 wieder entschieden, ob die Datenbankanfrage
jetzt erfolgversprechend erscheint. Die Präzisierung der Firmeninformation
durch die Abarbeitung der Blöcke 22, 23 und 24 wird
dabei so oft wiederholt, bis entweder die Übergabe des Gespräches an
den menschlichen Bediener in Block 18 erfolgt, oder aber
die Datenbankanfrage durch Block 21 als erfolgversprechend
bewertet wird. Ist dies der Fall, erscheint also die Datenbankanfrage
erfolgversprechend, so wird diese im Block 25 durchgeführt. Im
Block 26 wird dann entschieden, ob die Anzahl der zurückgelieferten
Datenbankeinträge
mit einer genügend
hohen Bewertung klein genug ist, also z. B. kleiner als 3. Ist dies
nicht der Fall, so tritt das System wieder in Block 22 ein,
um nach dem oben beschriebenen Verfahren die Firmeninformation weiter
zu präzisieren
bzw. an einen menschlichen Bediener in Block 18 abzugeben.
-
Ist
aber, gegebenenfalls nach wiederholtem Eintritt in Block 26,
die Anzahl der zurückgelieferten
Datenbankeinträge
mit einer genügend
hohen Bewertung klein genug, so werden dem Benutzer im Block 27 die gefundenen
Datenbankeinträge
einschließlich
ihrer Telefonnummern angesagt. Danach wird die Abarbeitung des Verfahrens
im Endblock 28 beendet. Dazu kann das System dem Benutzer
eine Abschiedsbotschaft ansagen und das Telefongespräch beenden.
Es kann aber auch dem Benutzer die Möglichkeit zu einer erneuten Anfrage
geben, um bei entsprechendem Benutzerwunsch dann z. B. wieder in
Block 11 einzutreten.
-
Die
Benutzerantworten und ihre Spracherkennung sind in 3 nicht
explizit dargestellt. Es versteht sich aber, dass nach jeder Systemaufforderung
in den Blöcken 11, 14, 19, 20 und 24 eine
Benutzerantwort erwartet wird. Die Spracherkennung dieser Benutzerantworten
wird durch ein erfindungsgemäßes Sprachmodell
unterstützt,
das vor dem Beginn des Dialogs erstellt wurde, zu dem die sprachliche Äußerung gehört, und das
das korrelierte Auftreten der für
die Abfrage vorgesehenen Bestandteile des Datenbankeintrags in der sprachlichen Äußerung des
Dialogs modelliert.
-
Ein
solches Sprachmodell wird vor dem Beginn des Dialogs mit dem Benutzer
unter Benutzung der Datenbank und gegebenenfalls unter Zugrundelegung
weiterer Anrufstatistiken erstellt. Während des Dialogs erfolgen
keine Datenbankanfragen zur Anpassung des Sprachmodells, wodurch
die Notwendigkeit einer eng mit dem Spracherkennungssystem gekoppelten
und schnell reagierenden Datenbank entfällt.
-
Es
besteht die Möglichkeit,
das Sprachmodell vor dem Beginn eines Dialogs z. B. an die bis dahin
beobachtete Anrufstatistik und/oder an veränderte Datenbanken anzupassen
oder es komplett neu zu erstellen. Da solche Anpassungen oder Neuerstellungen
je nach ihrem Ausmaß sehr
aufwendig und zeitraubend sein können,
wird man sie üblicherweise
in Zeiträume
verlegen, in denen das System nur wenige Anfragen bearbeiten muss,
also beispielsweise in die Stunden zwischen Mitternacht und dem
frühen
Morgen.
-
Ein
erfindungsgemäßes, das
Spracherkennungssystem unterstützendes
Sprachmodell modelliert das korrelierte Auftreten der für die Abfrage
vorgesehenen Bestandteile eines Datenbankeintrags in sprachlichen Äußerungen.
Solche Korrelationen bestehen beispielsweise darin, dass die meisten
Firmen und insbesondere große
Firmen in großen
Städten
ansässig
sind, d. h. dass bei einer Firmenanfrage die Wahrscheinlichkeit steigt,
dass der Benutzer eine Telefonnummer in einer großen Stadt
erfragen will. Weiter zeigen Anrufstatistiken, dass die meisten
Benutzer Telefonnummern erfragen, die auch in der Datenbank vorhanden
sind. D. h., die Wahrscheinlichkeit für das gemeinsame Auftreten
von Bestandteilen, die zu einem nicht existenten Datenbankeintrag
führen
würden,
ist nur klein.
-
Für die Modellierung
korreliert auftretender Bestandteile der für die Abfrage vorgesehenen
Bestandteile eines Datenbankeintrags in sprachlichen Äußerungen
kommt es dabei nicht darauf an, ob diese Bestandteile zusammen in
einer sprachlichen Äußerung auftreten
oder ob sie über
mehrere Äußerungen
verstreut sind. So wurde z. B. in 3 in Block 14 die
Stadt, aus der eine Telefonnummer gewünscht wird, separat abgefragt, während die
Frage nach der Firma in Block 20 ohne nähere Einschränkung gestellt
wurde. Daher ist zu erwarten, dass viele Benutzer die Stadt auch
separat nennen werden, z. B. „Berlin", während sie
wahrscheinlich mehrere Bestandteile des Firmeneintrags gleichzeitig
sagen werden, z. B. „Ich
möchte
die Firma Mayr, Schlosserei".
Das Sprachmodell kann jedoch auch hier Bewertungen für die jeweilige
Gesamtinformation abgeben, also bei der Städteerkennung für die Gesamtinformation „Firma,
Stadt: Berlin" und
bei der Firmenerkennung für „Firma,
Stadt: Berlin, Mayr, Schlosserei".
-
Weiterhin
kann das Sprachmodell auch berücksichtigen,
dass die Informationen in verschiedenen sprachlichen Äußerungen
gegeben wurden, es kann also die Grenzen der sprachlichen Äußerungen
modellieren. Andererseits kann es, z. B. aus Vereinfachungsgründen, auch
nur die Informationen innerhalb einer sprachlichen Äußerung bewerten.
-
Um
das Gesagte anhand eines Beispieles näher zu erläutern und um mögliche Ausführungsformen von
Sprachmodellen vorzuführen,
werden im Folgenden die in 2 dargestellten
Datenbankeinträge
benutzt. Dazu werden vereinfachend nur die relativen Bewertungen
der vier in 2 gezeigten Einträge zueinander betrachtet,
d. h. dass z. B. die Frage nach der Städteauswahl für diese
Erläuterung
nicht betrachtet wird.
-
Es
besteht dann zum ersten die Möglichkeit,
alle in der Datenbank enthaltenen Einträge mit der Bewertung 1 zu versehen,
während
alle übrigen
Bestandteilkombinationen, die keine Entsprechung in einem Datenbankeintrag
finden, die Bewertung 0 erhalten. Dies kann so interpretiert werden,
dass das Sprachmodell nur zwischen den in der Datenbank enthaltenen
Einträgen
als „erlaubt" und allen übrigen Bestandteilkombinationen
als „nicht
erlaubt" unterscheidet.
Im Beispiel von
2 erhält man so die in der folgenden
Tabelle gezeigten Bewertungen.
Bestandteilkombination | Bewertung |
Sanitär Sanitär, Paul
Meyer, Elfi, Sanitär,
Gas- und Wasserinstallation | 1
1 1 |
Geyer,
Otto Karl Mayr, Elfriede, Sanitär | 0
0 0 |
-
Als
zweite Möglichkeit
kann die Bewertung 0 für
die nicht in der Datenbank enthaltenen Bestandteilkombinationen
beibehalten werden, während
man bei den in der Datenbank enthaltenen Einträgen ihre relativen Häufigkeiten
berücksichtigt.
Für die
obigen Beispiele erhält
man die in der folgenden Tabelle gezeigten Bewertungen.
Bestandteilkombination | Bewertung |
Sanitär Sanitär, Paul
Geyer, Paul, Sanitär,
Gas- und Wasserinstallation | 3/4
1/2 1/4 |
Geyer,
Otto Karl Mayr, Elfriede, Sanitär | 0
0 0 |
-
Die
Bewertung von „Sanitär" ergibt sich dabei
zu 3/4, weil das Wort „Sanitär" in 3 der 4 Datenbankeinträge auftaucht.
Entsprechend taucht die Bestandteilkombination „Sanitär, Paul" in 2 der 4 Einträge auf, ihre Bewertung ergibt
sich also zu 2/4 = 1/2. Ebenso bekommt die Bestandteilkombination „Geyer,
Paul, Sanitär, Gas-
und Wasserinstallation" die
Bewertung 1/4. Dabei wurde hier davon ausgegangen, dass die Reihenfolge der
Bestandteile in der Bestandteilkombination ohne Bedeutung ist, das
Sprachmodell also nur das Vorhandensein eines Bestandteiles in der
Bestandteilkombination bewertet. Dies ist aber für die Erfindung nicht notwendig.
So können
beispielsweise in einer anderen Ausführungsform die Bewertungen
von „Sanitär, Paul" und „Paul,
Sanitär" voneinander abweichen,
um z. B. eine beobachtete Benutzerpräferenz zu modellieren.
-
Eine
dritte Möglichkeit
für die
Sprachmodellbewertungen ist, den nicht in der Datenbank enthaltenen Bestandteilkombinationen
eine Bewertung entsprechend der bei den Benutzern beobachteten relativen
Häufigkeit
solcher Kombinationen zuzuweisen. Für die in der Datenbank enthaltenen
Einträge
kann man weiter ihre relativen Häufigkeiten
verwenden. So kann man beispielsweise die in der folgenden Tabelle
gezeigten Bewertungen erhalten.
Bestandteilkombination | Bewertung |
Sanitär Sanitär, Paul
Geyer, Paul, Sanitär,
Gas- und Wasserinstallation | 0,75
0,47 0,02 |
Geyer,
Otto Karl Mayr, Elfriede, Sanitär | 0,05
0 0,1 |
-
Dabei
wurde angenommen, das die Benutzer nie Vornamen (Karl) und Branchenbezeichnungen
(Sanitär)
verwenden, die nicht in der Datenbank enthalten sind, dass aber
gewisse Wahrscheinlichkeiten bestehen, dass Vor-/Nachnamenkombinationen
(Geyer, Otto), Vornamen-/Branchenkombinationen (Sanitär, Paul) und
komplette Firmenbezeichnungen (Geyer, Paul, Sanitär, Gas-
und Wasserinstallation; Mayr, Elfriede, Sanitär) auftauchen, die nicht zu
Datenbankeinträgen
gehören.
-
Die
technischen Verfahren zur Schätzung
der beschriebenen Sprachmodelle aus der Datenbank und z. B. aus
Benutzungsstatistiken sind einem Fachmann hinlänglich bekannt. Es genügt hier,
als Beispiele die sogenannten N-Gramm-Sprachmodelle und die stochastischen
Grammatiken zu erwähnen.
Die Möglichkeit, dass
ein Benutzer auch Bestandteilkombinationen verwendet, die nicht
zu einem Datenbankeintrag gehören, lässt sich
z. B. durch sogenanntes Discounting berücksichtigen.
-
Inschrift der Zeichnung
-
2
-
- Geyer, Paul, Sanitär,
Gas- und Wasserinstallation;
- Mayr, Elfriede, Schlosserei;
- Meyer, Paul, Sanitär,
Elektroinstallation;
- Meyer, Elfi, Sanitär,
Gas- und Wasserinstallation;