-
Die
vorliegende Erfindung betrifft ein Verfahren, eine Vorrichtung und
ein System zur Aufbereitung von Informationen für ein Sprachdialogsystem.
-
Auf
Internetseiten werden Informationen in vielfältigen Formen dargestellt und
können
durch die Benutzer über
graphische Benutzeroberflächen
eingesehen werden. Eine mögliche
Form der Darstellung ist die Tabelle, in der in einer geordneten
Zusammenstellung Informationen in Form von Texten oder Daten abgebildet
werden. Die darzustellenden Informationen werden dabei in Zeilen
(horizontale Reihe) und Spalten (vertikale Reihe) derart gegliedert,
dass im Allgemeinen ein semantischer und/oder syntaktischer Zusammenhang
zwischen den Inhalten der Tabellenelemente einer Zeile bzw. einer
Spalte besteht.
-
Problematisch
hierbei ist, dass derart dargestellte Informationen durch einen
Benutzer nur über graphische
Benutzeroberflächen
genutzt werden können,
welches in bestimmten Anwendungsumgebungen jedoch nicht oder nur
bedingt möglich
ist. Dies ist beispielsweise während
einer Autofahrt der Fall, wenn der Benutzer über einen Internetzugang tabellarisch
dargestellte Informationen auf einer Internetseite lesen möchte. Daher
ist es wünschenswert,
einen Sprachzugang zu Tabellen auf Internetseiten bereitzustellen,
bei dem der Benutzer in natürlicher
Sprache eine themenbezogene Frage stellt und die passende Antwort
in natürlicher
Sprache vorgelesen bekommt.
-
Ein
Verfahren zur Navigation auf Internetseiten über eine Sprachsteuerung wird
in der US-Patentschrift
US
6,859,777 B2 beschrieben. Hierzu wird der Wortschatz eines
Spracherkenners dynamisch aus den auf einer Internetseite gefundenen
Querverweisen (Links) erzeugt. Diese Links können dann vom Benutzer gesprochen
werden, um auf eine andere Seite zu navigieren. Die übrige inhaltliche
Information, welche auf der Internetseite zu finden ist, wird durch
dieses Verfahren jedoch nicht eingebunden. So ist es durch einen
Benutzer insbesondere nicht möglich,
die auf der Internetseite in tabellarischer Form dargestellte Information
in einem Sprachdialogsystem gezielt abzufragen, woraufhin die gewünschte Information
durch das Sprachdialogsystem ausgegeben wird.
-
Somit
liegt der Erfindung die Aufgabe zugrunde, ein Verfahren, eine Vorrichtung
und ein Sprachdialogsystem zur Aufbereitung von Informationen für ein Sprachdialogsystem
anzubieten, mit dem in tabellarischer Form dargestellte Informationen
durch einen Benutzer gezielt abgefragt werden können.
-
Erfindungsgemäß wird diese
Aufgabe durch ein Verfahren, eine Vorrichtung und ein Sprachdialogsystem
mit den Merkmalen der Ansprüche
1, 12 und 13 gelöst.
Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Erfindungsgemäß werden
in einem Verfahren zur Aufbereitung von Informationen für ein Sprachdialogsystem
tabellarisch dargestellte Informationen bereitgestellt. Die tabellarisch
dargestellten Informationen und/oder deren Darstellung werden gemäß vorgegebenen
Kriterien standardisiert und zugreifbar hinterlegt. Weiterhin wird
horizontalen und/oder vertikalen Reihen von Tabellenelementen eine
erste Grammatik und den Tabellenelementen aus der jeweiligen Reihe
eine zweite Grammatik zugeordnet. Die ersten und zweiten Grammatiken
beschreiben strukturelle und begriffliche Regeln von sprachlichen
Eingaben, anhand derer die zugeordnete Reihe und die zugeordneten
Tabellenelemente der jeweiligen Reihe erkennbar sind. Auf Grundlage
der zugeordneten ersten und zweiten Grammatik ist die in tabellarischer
Form dargestellte Information für
ein Sprachdialogsystem aufbereitet. Das Verfahren hat die vorteilhafte
Wirkung, dass aus internetbasierten Anwendungen, welche nach spezifischen
Richtlinien implementiert worden sind, vollautomatisch eine Umsetzung
für ein
Sprachdialogsys tem generiert wird. So ist es beispielsweise möglich, aus
im Internet verfügbaren
FAQ-Listen (Frequently Asked Questions) halbautomatische Hilfesysteme
mit Sprachzugang zu generieren. Weiterhin ermöglicht das Verfahren Anbietern,
auf ihr Angebot im Internet aufmerksam zu machen, mit Hilfe einer
komfortablen Sprachdialoganwendung, ohne hierzu in eine getrennte,
speziell angefertigte Sprachdialogmaschine investieren zu müssen. So
kann beispielsweise ein Autofahrer unterwegs die nächste Tankstelle
oder das nächste Rasthaus
erfragen, wenn diese Informationen im Internet durch die Anbieter
in einer Tabelle geeignet bereitgestellt wurde, und die von dem
Verfahren aufbereiteten Informationen in dem Fahrzeug durch ein Sprachdialogsystem
verwendet werden.
-
Gemäß einer
Weiterbildung der vorliegenden Erfindung werden die tabellarisch
dargestellten Informationen in zumindest einem vorgebbaren Datenbestand
ermittelt. So ist es in vorteilhafter Weise möglich, dass von dem Verfahren
vorgegebene Internetadressen besucht werden und diese Seiten nach HTML-Tabellenobjekten
durchsucht werden.
-
Gemäß einer
weiteren Ausgestaltung der vorliegenden Erfindung weist eine horizontal
orientierte Tabelle in einer ersten Spalte Überschriften auf. Ein vorgebbares
Kriterium für
die Standardisierung der ermittelten tabellarisch dargestellten
Information ist eine horizontal ausgerichtete Tabelle. Dies macht sich
die Erkenntnis zunutze, dass bei einem Fettdruck in der ersten Reihe
gegenüber
normalem Schriftbild in den übrigen
Reihen ein starker Hinweis darauf zu sehen ist, dass in der ersten
Reihe Überschriften
stehen. Somit ist es in vorteilhafter Weise möglich, die aufgefundenen Tabellen
mit der gleichen Orientierung darzustellen. So liegt es beispielsweise auch
im Rahmen der vorliegenden Erfindung, mehrdimensionale Tabellen
oder verschachtelte Tabellen nach einem vorgegebenen Schema so zu
entfalten, dass diese anschließend
die gleiche Orientierung aufweisen und somit vergleichbar sind.
-
Nach
einer weiteren Ausgestaltung der vorliegenden Erfindung ist ein
vorgegebenes Kriterium für
die Standardisierung der ermittelten tabellarisch dargestellten
Information eine Vereinheitlichung der schriftlichen Darstellung
der Information. Dies hat beispielsweise den Vorteil, dass Abkürzungen
aufgelöst
oder vereinheitlicht werden, im Textteil vorkommende Sonderzeichen,
wie beispielsweise Abkürzungspunkte
oder Ordinalzahlpunkte, gemäß vorgegebenen
Heuristiken durch definierte alphanumerische Ketten ersetzt werden
und unbekannte Zeichen durch Leerzeichen ersetzt werden. Dieses
Vorgehen hat den Vorteil, dass die tabellarisch dargestellten Informationen
einheitlich und somit vergleichbar sind.
-
Gemäß einer
bevorzugten Ausgestaltung der vorliegenden Erfindung werden Tabellenelemente
jeweils zumindest einer Klasse zugeordnet und in Abhängigkeit
der zugeordneten Klassen und der standardisierten Informationen
wird horizontalen und/oder vertikalen Reihen von Tabellenelementen eine
Klasse zugeordnet. Die ersten und zweiten Grammatiken werden mit
Hilfe der zugeordneten Klassen ermittelt. Hierbei werden die Grammatiken mit
Hilfe der zugeordneten Klassen insbesondere aus einer Datenbasis
ermittelt. Diese Weiterbildung hat die vorteilhafte Wirkung, dass
auch Tabellen für eine
Sprachdialoganwendung aufbereitet werden, bei denen die erzeugten
oder aus einer Datenbasis ermittelten Standardgrammatiken nicht
anwendbar sind.
-
Nach
einer weiteren vorteilhaften Ausgestaltung der vorliegenden Erfindung
umfassen die zuzuordnenden Klassen syntaktische, semantische und Standardklassen.
Syntaktische Klassen sind hierbei beispielsweise Datumsangaben,
Uhrzeiten und Maßangaben
aller Art. Semantische Klassen sind beispielsweise Ontologien, welche
Listen einer bestimmten semantischen Klasse zugehöriger Elemente
umfassen. Falls keine passende syntaktische oder semantische Klasse
zugewiesen werden konnte, wird eine so genannte Standardklasse oder
Defaultklasse zugeordnet.
-
Gemäß einer
weiteren vorteilhaften Ausgestaltung der vorliegenden Erfindung
sind Standardausgaben für
eine Sprachsynthese vorgesehen, welche kontextabhängig die
aufbereiteten Informationen in einem Sprachdialogsystem ausgeben.
Diese Standardausgaben umfassen beispielsweise Startmitteilungen,
Systemausgaben und Antwortausgaben. Je nach Status, in dem sich
das Sprachdialogsystem befindet, können vorgegebenen Standardaussagen oder
mit aufbereiteten Informationen zusammengesetzte Standardaussagen
durch ein Sprachsynthesesystem für
die Benutzer ausgegeben werden.
-
Gemäß der erfindungsgemäßen Vorrichtung zur
Aufbereitung von Informationen für
ein Sprachdialogsystem weist die Vorrichtung ein Mittel zur Bereitstellung
von tabellarisch dargestellten Informationen auf. Weiterhin ein
Mittel zur Standardisierung der tabellarisch dargestellten Informationen
und/oder deren Darstellung gemäß vorgegebenen
Kriterien und ein Mittel zu deren zugreifbarer Hinterlegung. Außerdem weist
die Vorrichtung ein Mittel zur Zuordnung einer ersten Grammatik
zu horizontalen und/oder vertikalen Reihen und einer zweiten Grammatik
zu den Tabellenelementen aus der jeweiligen Reihe auf, wobei die
ersten und zweiten Grammatiken strukturelle und begriffliche Regeln
von sprachlichen Eingaben beschreiben, anhand derer die zugeordnete
Reihe und die zugeordneten Tabellenelemente der jeweiligen Reihe
erkennbar sind. So ist auf Grundlage der zugeordneten ersten und
zweiten Grammatiken die in tabellarischer Form dargestellte Information
für ein
Sprachdialogsystem aufbereitet.
-
Gemäß dem erfindungsgemäßen Sprachdialogsystem
zur Abfragbarkeit von in tabellarischer Form dargestellten Informationen
in einem Sprachdialog weist das Sprachdialogsystem folgende Komponenten
auf:
eine Spracherkennereinheit zur Erkennung von durch einen
Benutzer vorgenommenen Anfragen,
eine Dialogmaschine zur Ermittlung
von durch Benutzer angefragten in tabellarischer Form dargestellten Informationen,
und
eine Sprachsyntheseeinheit zur Ausgabe der angefragten
Informationen.
-
Die
vorliegende Erfindung wird nachfolgend an Ausführungsbeispielen anhand der
Zeichnungen näher
erläutert.
Es zeigen
-
1 eine
schematische Darstellung eines Verfahrens zur Aufbereitung von in
tabellarischer Form dargestellten Informationen für ein Sprachdialogsystem,
-
2 eine
standardisierte Tabelle mit Informationen über Staaten in Europa.
-
Die 1 zeigt
in einer schematischen Darstellung ein Verfahren zur Aufbereitung
von im Internet 101 aufgefundenen, in tabellarischer Form
dargestellten Informationen 102 für ein Sprachdialogsystem 109.
Hierzu werden durch einen Tabellencompiler 103 Tabellen
im Internet 101 gesucht und für die Sprachdialoganwendung 109 aufbereitet.
In einem Tabellen-Crawler 104 wird
zunächst
das Internet nach HTML-Tabellen abgesucht, diese auf Verwendbarkeit überprüft und die
verwendbaren Tabellen lokal abgelegt. Ein Tabellen-Transformer 105 standardisiert
die Darstellung der verwendbaren Tabellen und die jeweiligen textuellen
Tabellenelemente. Ein Grammar Guesser 106 ermittelt auf
Basis einer geeigneten Datenbank 110 für die Tabelleninhalte die passenden
Grammatiken, aus denen dann die Sprachmodelle für den Spracherkenner des Sprachdialogsystems 109 erzeugt
werden. Ein Prompt-Generator 107 generiert alle für die Anwendung
nötigen Ausgaben,
aus den Inhalten und gegebenenfalls der Überschrift der Tabelle. In
einem Anwendungsgenerator 108 werden die Ergebnisse des
Tabellen-Transformer 105,
des Grammar Guesser 106 und des Prompt-Generators 107 in einer vorgegebenen
Datenstruktur zu der erwünschten
Sprachdialoganwendung zusammengefügt, so dass die Tabelle selbst
in eine logische Datenstruktur überführt wird,
auf der die entsprechenden Anfragen ausgewertet werden können. Eine
Dialogmaschine 109 erkennt bei laufendem System die freien
natürlich-sprachlichen
Anfragen des Benutzers, über setzt
diese in eine Tabellenanfrage und gibt die gefundene Lösung letztlich
in natürlicher
Sprache wieder.
-
Im
Folgenden werden die in 1 dargestellten einzelnen Komponenten
des erfindungsgemäßen Verfahrens
noch einmal ausführlich
beschrieben. Sobald der Tabellen-Crawler 104 gestartet
wird, besucht er nacheinander die in einer Liste vorgegebenen Internet-Adressen,
beispielsweise http://www.sport1.de und http://www.koeln.de. Er
verfolgt die Links innerhalb der Vorgabe und durchsucht alle Seiten
nach HTML-Objekten, die gemäß dem HTML-Tabellenformat
von <table> und </table> umrahmt werden. Die
gefundenen Tabellen werden automatisch auf ihre Verwendbarkeit geprüft, beispielsweise
daraufhin, ob ihre Tabellenelemente genügend Text enthalten. Hiernach
wird auf Basis verschiedener Heuristiken die Orientierung der Tabellen
bestimmt. Beispielsweise ist Fettdruck in der ersten Spalte gegenüber normaler
Schrift in den übrigen Spalten
ein starker Hinweis darauf, dass es sich in der ersten Spalte um Überschriften
handelt, die Tabelle also horizontal orientiert ist. Umgekehrt verweist
Fettdruck in der ersten Zeile und normale Schrift in den übrigen Zeilen
auf eine vertikale Orientierung der Tabelle. Falls eine Tabelle
mehrdimensional ist, was beispielsweise bei Entfernungstabellen häufig der
Fall ist, wird sie nach einem vorgegebenen Schema entfaltet. Desgleichen
werden verschachtelte Tabellen, also Tabellen in Tabellen, in geeigneter Weise
entfaltet.
-
Die
aufgefundenen und zugreifbar hinterlegten Tabellen werden anschließend durch
den Tabellen-Transformer 105 standardisiert. Hierzu wird
beispielsweise eine vertikal orientierte Tabelle in eine horizontal
orientierte Tabelle transformiert. Weiterhin werden Abkürzungen
aufgelöst
oder vereinheitlicht, sowie im Textteil vorkommende Sonderzeichen,
wie beispielsweise Abkürzungspunkte
oder Ordinalzahlpunkte, gemäß vorgegebenen
Heuristiken durch definierte alphanumerische Ketten ersetzt. Des
Weiteren werden unbekannte Zeichen durch Leerzeichen ersetzt. In
gleicher Weise wird mit allen aufgefundenen und zugreifbar hinterlegten
Tabellen verfahren.
-
In
einem nächsten
Schritt wird durch einen Grammar Guesser 106 das anwendungsspezifische Vokabular
für den
Spracherkenner ermittelt, über
das der Benutzer im Dialog auf die Werte der Tabellenelemente zugreifen
kann. Hierzu wird zunächst
jedem Tabellenelement der standardisierten Tabelle eine Klasse zugeordnet.
Es gibt syntaktische und semantische Klassen. Syntaktische Klassen
sind beispielsweise Datumsangaben, Uhrzeiten und Maßangaben aller
Art. Falls der Text in einem Tabellenelement beispielsweise aus
einer Kardinalzahl mit darauf folgendem "qkm" besteht,
wird diesem Tabellenelement die Klasse "Flächenmaß" zugewiesen. Semantische
Typen werden über
Ontologien bestimmt. Dem Verfahren steht hierzu eine Datenbasis
mit einer erweiterbaren Menge von Ontologien zur Verfügung. Diese
Ontologien sind einfache Listen aller zugehörigen Elemente einer bestimmten
semantischen Klasse. Beispielsweise ist die Ontologie für "alle Staaten der
Erde" eine Liste
von allen Staaten der Erde, angefangen von Afghanistan bis hin zu
Zypern. Die Zuordnung erfolgt nun durch einen einfachen Abgleich
des Textes in dem entsprechenden Tabellenelement mit diesen Listen.
Das entsprechende Tabellenelement erhält alle semantischen Klassen,
in deren Ontologie der Text des entsprechenden Tabellenelementes
vorkommt. Beispielsweise würden
dem Tabellenelement mit dem Text "Frankreich" die Klasse "alle Staaten der Erde" und "alle Staaten in Europa" zugeordnet werden.
-
Anschließend wird
die Klasse der Zeile bestimmt. Hierzu werden die Klassen der einzelnen
Tabellenelemente der Zeile gesammelt und auf Basis verschiedener
Heuristiken die wahrscheinlichste Klasse für die gesamte Zeile bestimmt.
Beispielsweise würde
eine Zeile mit den Tabellenelementen "Frankreich" und "Italien" die Klasse "alle Staaten in Europa" zugeordnet werden,
weil dies die kleinste Klasse ist, die den meisten Tabellenelementen
der Zeile zugeordnet wurde. Falls einem Tabellenelement oder einer
Zeile weder eine syntaktische noch ein semantische Klasse zugewiesen
werden konnte, erhält
sie eine vorgegebene Default- oder Standardklasse.
-
Nachdem
dieser Prozess abgeschlossen ist und jeder Zeile der Tabelle eindeutig
eine Klasse zugewiesen wurde, erfolgt das Ermitteln der für das Sprachmodell
des Sprachdialogsystems nötigen Grammatiken.
Hierzu verfügt
der Tabellencompiler über
eine weitere Datenbasis mit Grammatiken. Die Grammatiken beschreiben
Wortketten, die ein Benutzer im freien Dialog verwenden würde, wenn
er zu einem bestimmten Thema etwas wissen will. Diese Wortketten
beschreiben keine ganzen Sätze,
sondern nur Teilstücke
von Äußerungen.
Beispielsweise würde
in der Benutzeräußerung "wie groß ist Frankreich?" die Wortkette "wie groß" von einer ersten Grammatik
und die Wortkette "Frankreich" von einer zweiten
Grammatik beschrieben. Die Grammatiken des Tabellencompilers unterscheiden
sich prinzipiell danach, ob es sich um die Frage nach einem Wert oder
um den Filter für
einen Wert handelt. Fragen nach einem Wert werden im Folgenden als
Trigger-Grammatiken und Filter für
Werte als Filter-Grammatiken bezeichnet. Trigger-Grammatiken liefern
als Trigger-Wert einen Platzhalter, der in der Auswertung mit der
jeweiligen Überschrift
der Zeile ersetzt wird. Filter-Grammatiken liefern als Ergebnis einen
Filter-Wert, der
mit den standardisierten Einträgen
in den Tabellenelementen verglichen wird. Ein Teil der Filter-Grammatiken
sind einfache Wortlisten, die im Wesentlichen den Listen der Ontologien
entsprechen. Beispielsweise ist eine Filter-Grammatik für alle Staaten der Erde vorgesehen,
welche die Namen aller Staaten der Erde auch in ihren Variationen enthält. So liefern
beispielsweise die Wortketten "Vereinigte
Staaten von Amerika", "Vereinigte Staaten" oder "USA" alle den gleichen
Wert "USA". Ebenso werden alle
Einträge
von beispielsweise "Vereinigte
Staaten" in den
Tabellenelementen auf den Wert "USA" standardisiert.
Ein weiterer Teil der Filter-Grammatiken beschreibt Wortketten,
wie beispielsweise "dreihunderttausend
Quadratkilometer", die
für numerische
Werte verwendet werden. Dies sind die Filter-Grammatiken für Maßangaben,
Datum, Uhrzeit, etc. Weiterer Bestandteil der Filter-Grammatiken
sind die Wortketten für
Vergleichskonstruktionen, wie beispielsweise "mehr als dreihunderttausend Quadratkilometer" oder "am größten". Darüber hinaus
gibt es auch Filtergrammatiken, die Vergleichskonstruktionen der
Tabellenelemente untereinander beschreiben, beispielsweise für Äußerungen
wie "welches Land
ist größer als
Italien?". Hierzu
ist ein besonderer Formalismus vorgesehen, der einen Platzhalter
einführt,
mit der der Vergleichsausdruck verbunden ist und der in der tatsächlichen Äußerung entsprechend
ersetzt wird.
-
Aus
dieser Datenbasis von Grammatiken werden diejenigen ausgewählt, die
für die
aktuelle Anwendung am besten passen. Hierzu werden verschiedene
Heuristiken verwendet, die die Klasse der Zeile, ihre Überschrift
und bei numerischen Werten ihr Minimum und Maximum berücksichtigen.
Jeder Zeile wird somit eine Trigger- und eine Filtergrammatik zugeordnet.
-
Weiterhin
kann es vorgesehen sein, um den Gesamtwortschatz für den Spracherkenner
möglichst
klein zu halten, numerische Werte in den Filtergrammatiken auf sinnvolle
Rundungen zu beschränken.
-
Für Zeilen,
denen die Default-Klasse zugewiesen wurde, werden Default-Grammatiken
erzeugt. Als Default-Triggergrammatik wird die Überschrift der Zeile genommen
und ein "welche
(r/s)" davor gesetzt.
Als Default-Filtergrammatik werden die Tabellenelemente der betreffenden
Zeile genommen.
-
Der
Grammar Guesser liefert auf diese Weise für jede Anwendung eine Menge
von Trigger- und Filtergrammatiken, die in ihrer Gesamtheit beschreiben,
was der Benutzer über
die jeweilige Tabelle im freien Dialog erfragen kann.
-
In
einem nächsten
Schritt werden vom Prompt-Generator die Prompts beziehungsweise Aussagen
für die
Anwendung generiert. Hierbei sind drei Arten von Prompts vorgesehen:
Die Start-Message-Prompts,
die System-Prompts und die Antwort-Prompts.
-
Der
Start-Message-Prompt dient dazu, dem Benutzer mitzuteilen, über welche
Themen aus dem Internet er sich in der Anwendung unterhalten kann. Das
System informiert beispielsweise den Benutzer mit folgendem Start-Message-Prompt: "Es wurde eine neue
Tabelle über
Staaten in Europa gefunden. In dieser Tabelle sind Informationen über Land, Hauptstadt,
Fläche
und Symbol zusammengestellt." Dieser
Start-Message-Prompt wird automatisch generiert, indem die Überschrift
der Tabelle "Staaten
in Europa" mit dem
Präfix "ich habe eine neue
Tabelle über" versehen wird. Dann
werden die Zeilenüberschriften
mit dem Präfix "gefunden. In dieser
Tabelle gibt es Informationen über" versehen, wonach
die einzelnen Zeilenüberschriften
durch Kommas und einem abschließenden "und" getrennt aufgezählt werden.
Falls eine Tabelle keine Überschrift
besitzt, wird der Start-Message-Prompt entsprechend anders generiert.
-
Die
System-Prompts werden in allgemeinen Dialogsituationen abgespielt,
beispielsweise wenn die Äußerung des
Benutzers nicht verstanden wurde oder wenn durch den Benutzer eine
Hilfefunktion aufgerufen wurde.
-
Der
Antwort-Prompt hat in diesem Ausführungsbeispiel zwei Aufgaben:
Zum einen bestätigt
er indirekt, was der Benutzer gesagt hat, beziehungsweise was der
Spracherkenner verstanden hat und zum anderen beantwortet er die
Frage. Beispielsweise fragt der Benutzer "wie heißt die Hauptstadt von Frankreich?", woraufhin das System
mit dem Antwort-Prompt "auf
deine Frage nach Hauptstadt, Frankreich, habe ich folgende Antwort
gefunden: Paris" antwortet.
Dieser Antwort-Prompt wird generiert, indem zuerst die von den Filtergrammatiken
erkannten Filter-Werte als Filter abgelegt werden, in diesem Beispiel
der Filter-Wert "Frankreich". Desgleichen wird
eine Trigger-Grammatik abgelegt, wie in diesem Beispiel: "wie heißt die Hauptstadt?". Dann wird aus der
abgelegten Trigger-Grammatik
und Filter-Grammatik eine Datenstruktur aufgebaut, die als Anfrage an
die Anwendung mit ihren hinterlegten, aufbereiteten Tabellen geschickt
wird. Anschließend
werden der erhaltene Ergebnis-Wert, der Trigger-Wert und der Filter-Wert verbalisiert,
so dass die oben beschriebene Antwort ausgegeben werden kann. Für die Verbalisierung
der Werte gibt es passende Standard-Prompts, so dass beispielsweise
nicht "fünf sieben
fünf neun
null null null null null" vorgelesen
wird, sondern "siebenundfünfzigmillionenfünfhundertneunzigtausend". Der Prompt-Generator 107 liefert also
für jede
Anwendung eine Menge von Prompts, welche dem Benutzer die Inhalte
der Anwendung vorstellt, auf Standardsituationen reagiert und die
gefundenen Antworten in natürlicher
Sprache präsentiert.
-
In
dem Anwendungsgenerator 108 werden die Datenstrukturen,
die vom Grammar Guesser 106 und vom Prompt-Generator 107 erzeugt
wurden, zu einer für
die Sprachdialoganwendung nutzbaren Struktur zusammengesetzt. Zunächst wird
der Anwendung ein Name gegeben, welcher der Tabellenüberschrift
beziehungsweise Hilfskonstruktionen entspricht, falls die Tabellenüberschrift
nicht identifizierbar ist. Unter diesem Namen wird ein Verzeichnis
angelegt und eine Konfigurationsdatei erzeugt. Im Anwendungsverzeichnis
werden vier Unterverzeichnisse generiert, welche ein Unterverzeichnis,
in dem die Beschreibung des Dialogflusses und die Prompts festgehalten
sind, ein Unterverzeichnis, das die Zugriffsbeschreibungen auf das
Hintergrundsystem, in diesem Falle die als Datenstruktur geeignet
aufbereitete Tabelle enthält,
ein Unterverzeichnis, in dem die Grammatiken liegen und ein Unterverzeichnis,
in dem die hieraus erzeugten Sprachmodelle liegen, umfasst. Mit
dieser Datenstruktur ist die Sprachdialoganwendung vollständig beschrieben
und kann auf die gewünschte
Sprachplattform geladen werden, wie beispielsweise auf einem PDA
oder eine Kraftfahrzeug-Head-Unit.
-
Das
Sprachdialogsystem 109 besteht im Allgemeinen aus einer
Spracherkennereinheit, einer Sprachsyntheseeinheit und einer Dialogmaschine. Anhand 2 werden
im Folgenden einige Dialogsequenzen vorgestellt, die auf Grundlage
der vom Tabellencompiler in 1 generierten
Sprachdialoganwendungen mit einem Sprachdialogsystem ausführbar sind.
-
1. "was weißt du über Frankreich?"
-
In
diesem Fall wird ein Filterwert abgefragt, so dass alle Tabellenelemente
der Spalte, in der Frankreich steht 207, vorgelesen werden
(Paris, 544.000 qkm, 58.850.000, Hahn).
-
2. "was gibt es in Europa für Hauptstädte?"
-
In
diesem Fall wird ein Triggerwert abgefragt, so dass alle Tabellenelemente
der Zeile mit der Überschrift
Hauptstadt 202 vorgelesen werden (Paris, Rom).
-
3. "wie heißt die Hauptstadt von Italien?"
-
In
diesem Fall wird ein Triggerwert und ein Filterwert abgefragt, so
dass das Tabellenelemente vorgelesen wird, das an der Schnittstelle
der Zeile Hauptstadt 202 und der Spalte Italien 206 vorkommt (Rom).
-
4. "wie groß ist Italien und wie heißt die Hauptstadt?"
-
In
diesem Fall werden zwei verschiedene Triggerwerte und ein Filterwert
abgefragt, so dass das Tabellenelement vorgelesen wird, das an der Schnittstelle
der Zeile Hauptstadt 202 und der Spalte Italien 206 vorkommt,
und das Tabellenelement vorgelesen wird, das an der Schnittstelle
der Zeile Fläche 203 und
der Spalte Italien 206 vorkommt (301.336 qkm, Rom).
-
5. "was weißt du über Paris?"
-
In
diesem Fall wird ein Filterwert abgefragt, so dass an dieser Stelle
eigentlich die Tabellenelemente der gesamten Spalte Paris 207 vorgelesen werden.
Sinnvollerweise wird jedoch eine Beschränkung eingeführt, so
dass hier nur das Tabellenelement vorgelesen wird, das an der Schnittstelle
der Referenzzeile Land 201 mit der Spalte Paris 207 vorkommt
(Frankreich).
-
6. "was weißt du über Staaten in Europa?"
-
In
diesem Fall wird weder ein Filterwert noch ein Triggerwert abgefragt,
so dass an dieser Stelle eigentlich die ganze Tabelle vorgelesen
wird. Sinnvollerweise wird jedoch eine Beschränkung eingeführt, so
dass nur die Tabellenelemente der Referenzzeile Land 201 ausgegeben
werden und das System in diesem Fall mit "usw." endet
(Frankreich, Italien, usw.).
-
Die
vorliegende Erfindung ist nicht auf die hier beschriebenen Ausführungsbeispiele
beschränkt.