DE10209928A1 - Verfahren zum Betrieb eines Sprach-Dialogsystems - Google Patents

Verfahren zum Betrieb eines Sprach-Dialogsystems

Info

Publication number
DE10209928A1
DE10209928A1 DE10209928A DE10209928A DE10209928A1 DE 10209928 A1 DE10209928 A1 DE 10209928A1 DE 10209928 A DE10209928 A DE 10209928A DE 10209928 A DE10209928 A DE 10209928A DE 10209928 A1 DE10209928 A1 DE 10209928A1
Authority
DE
Germany
Prior art keywords
search
nodes
candidate
user
service
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.)
Withdrawn
Application number
DE10209928A
Other languages
English (en)
Inventor
Frank Joublin
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.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Intellectual Property and Standards GmbH
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 Philips Intellectual Property and Standards GmbH filed Critical Philips Intellectual Property and Standards GmbH
Priority to DE10209928A priority Critical patent/DE10209928A1/de
Priority to AU2003207897A priority patent/AU2003207897A1/en
Priority to DE60316125T priority patent/DE60316125T2/de
Priority to EP03704899A priority patent/EP1485908B1/de
Priority to AT03704899T priority patent/ATE372574T1/de
Priority to US10/506,402 priority patent/US20050171779A1/en
Priority to JP2003573635A priority patent/JP4460305B2/ja
Priority to PCT/IB2003/000834 priority patent/WO2003075260A1/en
Publication of DE10209928A1 publication Critical patent/DE10209928A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Abstract

Es wird ein Verfahren zum Betrieb eines Sprach-Dialogsystems (1) beschrieben. Zur Steuerung des Dialogs zum Auswählen eines von mehreren Diensten (9, 10) des Dialogsystems (1) durch den Nutzer wird eine Datenbank (6) verwendet, mit einer hierarchischen Datenstruktur (DS) mit einer Mehrzahl von Knotenpunkten (K) untereinander und zur Verbindung von Knotenpunkten (K) mit Dienstobjekten (D), welche jeweils an einem Ende eines Pfads (P) angeordnet sind. Die Dienstobjekte (D) repräsentieren die zur Verfügung stehenden Dienste (9, 10). Die Knotenpunkte (K) repräsentieren jeweils Kategorien, in welche darunter angeordnete weitere Kategorien und/oder die Dienste klassifiziert sind. Zumindest zu einem Teil der Dienstobjekte (D) und/oder Knotenpunkte (K) führt eine Mehrzahl von Pfaden (P). Jedem Knotenpunkt (K) und jedem Dienstobjekt (D) ist außerdem mindestens ein Schlüsselwort (S) zugeordnet. Aus einer Spracheingabe des Nutzers werden Suchworte extrahiert und auf Basis der Suchworte wird eine Anzahl von Kandidaten-Knotenpunkten (K) und/oder Kandidaten-Dienstobjekten (D) gesucht, deren zugeordnete Schlüsselworte (S) gemäß einem vorgegebenen Akzeptanzkriterium mit den Suchworten übereinstimmen. Das Suchverfahren wird in mehreren Suchschritten durchgeführt, bis die Anzahl der ermittelten Kandidaten-Knotenpunkte (K) und/oder Kandidaten-Dienstobjekte (D) oberhalb einer vorgegebenen Minimalanzahl und unterhalb einer vorgegebenen Maximalanzahl liegt. Es wird dann ein ...

Description

  • Die Erfindung betrifft ein Verfahren zum Betrieb eines Sprach-Dialogsystems, welches mit einem Nutzer unter Verwendung einer Spracherkennungseinrichtung und einer Sprachausgabeeinrichtung kommuniziert, wobei dem Nutzer verschiedene Dienste innerhalb des Sprach-Dialogsystems oder durch Vermittlung des Sprach-Dialogsystems zur Verfügung stehen und vom Nutzer innerhalb eines mit dem Sprach-Dialogsystem geführten Dialogs auswählbar sind. Dabei wird zur Steuerung des Dialogs zum Auswählen eines Dienstes durch den Nutzer eine Datenbank mit einer hierarchischen Datenstruktur verwendet, mit einer Mehrzahl von Knotenpunkten und einer Mehrzahl von Pfaden zur Verbindung der Knotenpunkte untereinander und zur Verbindung von Knotenpunkten mit Dienstobjekten, welche jeweils an einem Ende eines Pfads in der Datenstruktur angeordnet sind. Die Dienstobjekte repräsentieren dabei die zur Verfügung stehen Dienste, und die Knotenpunkte repräsentieren jeweils Kategorien, in welche wiederum andere Kategorien und/oder Dienste, die durch die innerhalb der hierarchischen Datenstruktur auf einer Ebene unter dem jeweiligen Knotenpunkt angeordneten, weiteren Knotenpunkte oder Dienstobjekte repräsentiert werden, klassifiziert sind. Darüber hinaus betrifft die Erfindung ein entsprechendes, automatisches Sprach-Dialogsystem und ein Computerprogramm mit Programmcodemitteln, um das Verfahren auszuführen.
  • Sprach-Dialogsysteme, die mit einem Nutzer unter Verwendung einer Spracherkennungs- und einer Sprachausgabeeinrichtung kommunizieren, sind bereits seit längerem bekannt. Es handelt sich hierbei um sogenannte sprachgesteuerte, automatische Systeme, die oft auch als Sprachapplikationen bezeichnet werden. Sofern es sich bei dem Sprach-Dialogsystem für den Nutzer um ein Mittel handelt, mit dem dieser den Zugang zu verschiedenen Diensten erlangt, handelt es sich um ein sogenanntes Voice-Portal. Das Sprach-Dialogsystem kann spezielle Terminals aufweisen, an denen sich der Nutzer befinden muss, um mit dem Sprach-Dialogsystem kommunizieren zu können, wie beispielsweise ein stationäres Auskunftssystem in einem Flughafen oder dergleichen. Häufig weisen derartige Sprach-Dialogsysteme jedoch einen Anschluss an ein öffentliches Kommunikationsnetz auf, so dass die Sprach-Dialogsysteme zum Beispiel mittels eines normalen Telefons, eines Mobilfunkgeräts oder eines PCs mit Telefoniefunktion etc. genutzt werden können. Ein Beispiel für diese Sprach-Dialogsysteme sind automatische Anrufbeantwortungs- und Auskunftssysteme, wie sie inzwischen beispielsweise von einigen größeren Firmen, Organisationen und Ämtern verwendet werden, um einen Anrufer möglichst schnell und komfortabel mit der gewünschten Information zu versorgen oder mit einer Stelle zu verbinden, welche für die speziellen Wünsche des Anrufers zuständig ist. Weitere Beispiele hierfür sind die automatische Telefonauskunft, wie sie bereits von einigen Telefongesellschaften eingesetzt wird, eine automatische Fahrplan- bzw. Flugplanauskunft oder ein Informationsdienst mit allgemeinen Veranstaltungshinweisen, beispielsweise mit Kino- und Theaterprogrammen, für eine bestimmte Region. Einige der Sprach-Dialogsysteme bieten über das reine Angebot, Informationen für den Nutzer bereit zu halten oder zu suchen und bei Bedarf an den Nutzer zu übermitteln, auch zusätzliche Dienste wie beispielsweise einen Reservierungsdienst für Sitzplätze im Zug oder Flugzeug oder Hotelzimmer, einen Bezahlservice oder einen Warenbestellservice.
  • Hierbei kann der Nutzer auch - beispielsweise mittels einer Dialogvermittlung (auch "Call-Transfer" genannt) - an einen externen, d. h. nicht zum Sprach-Dialogsystem gehörenden Dienst oder eine Person vermittelt werden. Der Begriff "Dienst" umfasst aber im Sinne dieser Schrift ausdrücklich nicht nur einen komplexen Dienst, wie ein Auskunftssystem, eine Vermittlungseinrichtung, einen Reservierungsdienst etc., sondern es kann sich hierbei auch lediglich um eine einzelne Information handeln, die innerhalb des Sprach-Dialogsystems an den Nutzer als eine "Dienstleistung" ausgegeben wird, beispielsweise die Ausgabe einer erfragten Telefonnummer oder das Abspielen eines Bandes mit Veranstaltungshinweisen. Im Prinzip können, ähnlich wie beispielsweise im Internet, dem Nutzer folglich beliebige Dienste über ein solches Sprach-Dialogsystem angeboten werden. Bei einem Sprach-Dialogsystem besteht dabei der Vorteil, dass der Nutzer lediglich ein normales Telefon bzw. ein Mobilfunkgerät benötigt, um die Dienste in Anspruch zu nehmen.
  • Zur Auswahl eines bestimmten Dienstes des Sprach-Dialogsystems durch den Nutzer wird in der Praxis derzeit üblicherweise nach dem eingangs genannten Verfahren vorgegangen, bei dem die einzelnen Dienste in einer festgelegten, hierarchischen Datenstruktur angeordnet sind, welche wie ein Entscheidungsbaum aufgebaut ist. Der Dialog zwischen dem Nutzer und dem Sprach-Dialogsystem beginnt dabei an einem Startpunkt an der Spitze der "Baumstruktur" und verläuft entlang eines Pfades bzw. Zweigs über mehrere Knotenpunkte, welche jeweils eine bestimmte Kategorie von Diensten repräsentieren, bis zum Ende eines Pfades, an dem sich dann ein "Dienstobjekt" befindet, welches den entsprechenden Dienst repräsentiert. Unter dem Begriff "Dienstobjekt" ist dabei im Sinne dieser Schrift ein beliebiges Datenobjekt, ein Softwaremodul o. Ä. zu verstehen, welches den Dienst selber darstellt und/oder Informationen über den Dienst enthält. Hierbei kann es sich beispielsweise um Informationen, in welcher Form der Dienst aufzurufen ist, um eine Adresse des Dienstes bzw. des betreffenden Softwaremoduls oder um Informationen zur Durchführung eines Call-Transfers oder Ähnliches handeln.
  • Die Knotenpunkte, welche jeweils die Kategorien repräsentieren, befinden sich auf verschiedenen Ebenen, wobei jeweils die Knotenpunkte auf einer höheren Ebene Kategorien repräsentieren, in die wiederum die Kategorien eingeordnet sind, die zu den in der darunter liegenden Ebene befindlichen Knotenpunkten gehören und somit bezüglich der darüber liegenden Kategorie sozusagen die Unterkategorien bilden.
  • Ein anschauliches Beispiel hierfür ist ein Sprach-Dialogsystem, welches verschiedene Auskunftsdienste anbietet, u. a. beispielsweise einen Wetterbericht und Veranstaltungshinweise. Bei diesem Beispiel könnte von einem zentralen Knotenpunkt aus in die Kategorien "Wetter" und "Veranstaltungshinweise" unterteilt werden. Unterhalb dieser Kategorien befinden sich dann jeweils weitere Kategorien, beispielsweise unter der Kategorie "Wetter" eine Kategorie "aktuelles Reisewetter" und eine Kategorie "Wettervorhersage" und unter der Kategorie "Veranstaltungshinweise" die Kategorien "Kino", "Theater" und "Vorträge" etc. Unter diesen einzelnen Kategorien befinden sich dann wiederum weitere Kategorien, wie beispielsweise unter der Kategorie "Reisewetter" die einzelnen Regionen, für die das Wetter abfragbar ist, oder unter der Kategorie "Theater" die einzelnen Theater in einer Stadt. Der Benutzer kann dann innerhalb des Dialogs einen Dienst auswählen, indem er, ausgehend vom Startpunkt, zunächst die Kategorien der oberen Ebene angeboten bekommt und zur Auswahl einer Kategorie aufgefordert wird. Dies kann beispielsweise durch eine Sprachausgabe des Systems (im Folgenden auch "Prompt" genannt) auf folgende Weise geschehen: "Wenn Sie sich für Veranstaltungshinweise interessieren, sagen Sie bitte "Veranstaltungen"; wenn Sie sich für den Wetterbericht interessieren, sagen Sie bitte "Wetter"." Je nach Antwort des Benutzers wird dann ein erneuter Prompt vom Dialogsystem erzeugt, beispielsweise nach Auswahl des Wetterberichts die Ansage: "Wenn Sie das aktuelle Reisewetter wünschen, sagen Sie "Reise"; wenn Sie den Wetterbericht für die nächsten Tage haben möchten, sagen Sie "Wetterbericht"" usw.
  • Es ist klar, dass mit zunehmender Komplexität der Sprach-Dialogsysteme und zunehmender Anzahl der Dienste innerhalb des Sprach-Dialogsystems die Baumstruktur entsprechend immer komplizierter wird und immer mehr Ebenen und somit auch mehr Knotenpunkte zur Verzweigung der einzelnen Pfade hinzukommen müssen. Um zu einem bestimmten Dienst zu gelangen, muss der Benutzer dabei zunächst die gesamte Datenstruktur vom Startpunkt bis zum Ende des jeweiligen Pfades durchlaufen und eine Vielzahl von Abfragen des Dialogsystems beantworten. Dieses Vorgehen ist dementsprechend zeitaufwändig, langweilig und unkomfortabel für den Benutzer. Darüber hinaus ist eine einmal festgelegte, starre Kategorieaufteilung zwangsläufig nicht für jeden der verschiedenen Nutzer intuitiv gut bedienbar, so dass es leicht zu Fehlentscheidungen des Nutzers an einem Knotenpunkt kommen kann. Der Nutzer wird dann zu einem falschen Dienst geleitet und muss unter Umständen noch einmal mit dem gesamten Dialog von vorne beginnen. Ist die Komplexität des gesamten Systems zu groß, führt dies dazu, dass das Sprach-Dialogsystem wegen dieser Unbequemlichkeiten von den Nutzern nicht mehr in Anspruch genommen wird.
  • Es ist Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zum Betrieb eines Sprach-Dialogsystems der eingangs genannten Art und ein entsprechendes Sprach- Dialogsystem zu schaffen, welches es ermöglicht, dass der Nutzer jederzeit auf einfache und schnelle Weise den gewünschten Dienst findet.
  • Diese Aufgabe wird durch ein Verfahren der eingangs genannten Art gelöst, bei dem zumindest zu einem Teil der Dienstobjekte und/oder Knotenpunkte innerhalb der Datenstruktur eine Mehrzahl von verschiedenen Pfaden führt und bei dem jedem Knotenpunkt und jedem Dienstobjekt ein oder mehrere Schlüsselworte zugeordnet sind. Erfindungsgemäß werden bei einem Empfang einer Spracheingabe des Nutzers aus dieser Spracheingabe Suchworte extrahiert und auf Basis der Suchworte eine Anzahl von Kandidaten-Knotenpunkten und/oder Kandidaten-Dienstobjekten gesucht, deren zugeordnete Schlüsselworte gemäß einem vorgegebenen Akzeptanzkriterium mit den Suchworten übereinstimmen. Dabei wird eine Suche in mehreren Suchschritten durchgeführt, bis nach einem Suchschritt die Anzahl der ermittelten Kandidaten- Knotenpunkte und/oder Kandidaten-Dienstobjekte oberhalb einer vorgegebenen Minimalzahl und unterhalb einer vorgegebenen Maximalzahl liegt. Es wird dann mittels der Sprachausgabeeinrichtung ein Sprachausgabe-Menü zur Ansage der durch die ermittelten Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte repräsentierten Kategorien und/oder Dienste an den Nutzer zur Auswahl einer bestimmten Kategorie oder eines bestimmten Dienstes generiert.
  • Vorrichtungsmäßig wird die Aufgabe durch ein automatisches Sprach-Dialogsystem mit einer Spracherkennungseinrichtung und einer Sprachausgabeeinrichtung zur Kommunikation mit einem Nutzer sowie mit mehreren vom Nutzer ausführbaren Diensten innerhalb des Sprach-Dialogsystems und/oder mit Mitteln zur Vermittlung des Nutzers an vom Nutzer auswählbare Dienste durch das Sprach-Dialogsystem gelöst, wobei dieses Sprach-Dialogsystem eine Dialogkontrolleinrichtung zur Steuerung des Dialogs zum Auswählen eines Dienstes durch den Nutzer und eine Datenbank mit einer entsprechenden oben genannten hierarchischen Datenstruktur mit einer Mehrzahl von Knotenpunkten und einer Mehrzahl von Pfaden zur Verbindung der Knotenpunkte untereinander und zur Verbindung von Knotenpunkten mit Dienstobjekten aufweist, welche jeweils an einem Ende eines Pfades in der Datenstruktur angeordnet sind. Dabei repräsentieren die Dienstobjekte die zur Verfügung stehenden Dienste, und die Knotenpunkte repräsentieren jeweils die Kategorien, in welche wiederum andere Kategorien und/oder Dienste, die durch die innerhalb der hierarchischen Datenstruktur auf einer Ebene unter dem jeweiligen Knotenpunkt angeordneten Knotenpunkte oder Dienstobjekte repräsentiert werden, klassifiziert sind. Erfindungsgemäß führt dabei zumindest zu einem Teil der Dienstobjekte und/oder Knotenpunkte innerhalb der Datenstruktur eine Mehrzahl von verschiedenen Pfaden. Außerdem sind jedem Knotenpunkt und jedem Dienstobjekt der Datenbank ein oder mehrere Schlüsselworte zugeordnet. Des Weiteren muss das erfindungsgemäße Sprach-Dialogsystem eine Analyseeinheit, um bei einem Empfang einer Spracheingabe des Nutzers aus dieser Spracheingabe Suchworte zu extrahieren, und eine Sucheinheit aufweisen, um auf Basis der Suchworte eine Anzahl von Kandidaten-Knotenpunkten und/oder Kandidaten-Dienstobjekte innerhalb der Datenbank zu suchen, deren zugeordnete Schlüsselworte gemäß einem vorgegebenen Akzeptanzkriterium mit den Suchworten übereinstimmen, wobei die Sucheinheit derart aufgebaut ist, dass sie eine Suche in mehreren Suchschritten durchführt, bis nach einem Suchschritt die Anzahl der ermittelten Kandidaten-Knotenpunkte und/oder Kandidaten- Dienstobjekte oberhalb einer vorgegebenen Minimalanzahl und unterhalb einer vorgegebenen Maximalanzahl liegt. Schließlich braucht das erfindungsgemäße Sprach- Dialogsystem eine Promptgenerierungseinheit, um nach einem erfolgreichen Suchschritt ein Sprachausgabe-Menü als Prompt zu generieren, um so dem Nutzer die durch die ermittelten Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte repräsentierten Kategorien und/oder Dienste zur Auswahl einer bestimmten Kategorie oder eines bestimmten Dienstes mittels der Sprachausgabeeinrichtung anzusagen.
  • Durch die Zuordnung von Schlüsselworten zu jedem Knotenpunkt und jedem Dienstobjekt - bzw. zu den einzelnen Kategorien und Diensten - und eine Suche anhand der aus der Spracheingabe des Nutzers extrahierten Suchworte nach passenden Knotenpunkten und/oder Dienstobjekten, welche diese Suchworte als Schlüsselworte aufweisen, kann der Dialog mit dem Benutzer relativ natürlich gestaltet werden. Der Benutzer muss bei der Suche den jeweiligen Dienst nicht entsprechend den vorgegebenen Kategorien klassifizieren, um zum Ziel zu gelangen, sondern er kann Formulierungen verwenden, die seines Erachtens den Dienst am besten beschreiben. Bei den Schlüsselworten handelt es sich daher vorzugsweise um den Namen des Dienstes bzw. der Kategorie selbst sowie um zusätzliche Schlüsselworte, wie insbesondere äquivalente Bezeichnungen des Dienstes bzw. der Kategorie oder Worte, die intuitiv mit diesem Dienst oder der Kategorie von den Nutzern in Verbindung gebracht werden können. Diese Vorgehensweise entspricht sogenannten "Shortcuts" oder Abkürzungen in herkömmlichen Systemen mit dem Unterschied, dass diese nicht explizit erstellt und später aufwändig gepflegt werden müssen, sondern im Verfahren bereits "eingebaut" sind. Durch die offene Struktur in der Weise, dass nicht nur ein Pfad entlang bestimmter festgelegter Knotenpunkte zu den Dienstobjekten führt, sondern dass die Datenstruktur in Form einer Mehrfach-Baumstruktur aufgebaut ist, wobei verschiedene Pfade entlang unterschiedlicher Knotenpunkte zum gleichen Dienstobjekt führen können, hat der Benutzer von mehreren Knotenpunkten aus die Möglichkeit, zum gleichen Dienstobjekt zu gelangen. Damit besteht die Möglichkeit, verschiedene Ordnungskriterien für ein Dienstobjekt festzulegen, die verschiedenen Benutzerkreisen mit unterschiedlichen Informations- und Wissensständen den bequemen Zugang zu den Diensten ermöglichen.
  • Da die Schlüsselworte nur bis zu einem bestimmten, vorgegebenen Akzeptanzkriterium mit den Suchworten übereinstimmen müssen, reicht es auch aus, wenn der Nutzer nicht wortgetreu alle Schlüsselworte einer Kategorie oder eines Dienstes als Suchworte in seiner Sprachausgabe nennt, sondern nur eine bestimmte Überdeckung zwischen Suchworten und Schlüsselworten vorliegt. Durch geschickte Wahl des Akzeptanzkriteriums kann dafür gesorgt werden, dass einerseits nicht zu viele Dienste oder Kategorien gefunden werden, andererseits aber keine Kategorien oder Dienste verworfen werden, die möglicherweise zu dem vom Nutzer gewünschten Dienst führen oder bei denen es sich sogar um den gewünschten Dienst selbst handelt, deren Schlüsselworte jedoch aufgrund einer ungünstigen Spracheingabe des Nutzers nur eine Teilüberdeckung mit den Suchworten aufweisen. Das Akzeptanzkriterium sollte daher nicht zu eng gewählt werden.
  • Für die Suche der Knotenpunkte und Dienstobjekte innerhalb der Datenstruktur mittels der Suchworte kann beispielsweise ein Softwaremodul aus einer üblichen Internet- Suchmaschine verwendet werden, das die gefundenen Knotenpunkte und/oder Dienstobjekte - im Folgenden auch "Treffer" genannt - mit einer prozentualen Trefferquote bewertet, die angibt, inwieweit eine Überdeckung zwischen Suchworten und Schlüsselworten vorliegt. Derartige Suchmodule sind dem Fachmann hinreichend bekannt und beispielsweise auch über die Produkte "FindIt" und "SpeechFinder" von Philips Speech Processing verfügbar. Die Suchmodule müssen lediglich von ihrer Datenschnittstelle an das Sprach-Dialogsystem angepasst sein bzw. umgekehrt. Es kann dann als Akzeptanzkriterium beispielsweise eine Trefferquote von 60% angenommen werden.
  • Eine irrtümliche, vorzeitige Verwerfung von eventuell richtigen, d. h. passenden Kategorien oder Diensten wird vermieden, da - sofern eine bestimmte Anzahl von Kandidaten-Knotenpunkten, d. h. eventuell passenden Kategorien, und/oder Kandidaten- Dienstobjekten, d. h. eventuell passenden Diensten, gefunden ist - alle diese Dienste und/oder Kategorien dem Benutzer vorzugsweise in Form einer bewerteten Liste angeboten werden. Dies erfolgt innerhalb eines Sprachausgabemenüs, welches von einer Prompt-Generierungseinheit erzeugt wird, d. h. es werden automatisch benutzerfreundliche, vereindeutigende Fragen bzw. benutzerzugeschnittene Menüs in Abhängigkeit von den vorherigen Spracheingaben und dem Suchprozess kreiert, um dem Nutzer innerhalb des Dialogs zu helfen, die gewünschte Information zu finden bzw. den gewünschten Dienst zu erreichen. Durch die Unterteilung der Suche in mehrere Suchschritte, welche so lange durchgeführt werden, bis nach einem Suchschritt die Anzahl der ermittelten Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte oberhalb einer vorgegebenen Minimalanzahl und unterhalb einer vorgegebenen Maximalanzahl liegt, wird dabei andererseits sichergestellt, dass dem Nutzer nicht zu lange Listen von Kategorien oder Diensten innerhalb eines Menüs des Dialogs angeboten werden. Die Maximalzahl sollte dementsprechend so gewählt werden, dass es sich um eine für den Nutzer akustisch leicht erfassbare und merkbare Anzahl von Kategorien oder Diensten handelt, so dass dieser nach dem Beenden der Menüausgabe noch alle angebotenen Dienste im Gedächtnis hat und entsprechend einen der Dienste oder eine der Kategorien auswählen kann.
  • Vorzugsweise sollte die Maximalanzahl gleich fünf gesetzt werden, so dass höchstens vier verschiedene Kategorien und/oder Dienste auf einmal angeboten werden.
  • Eine Möglichkeit, dies zu realisieren, besteht darin, dass das Akzeptanzkriterium variiert wird, wobei beispielsweise zunächst mit einem sehr großzügigen Akzeptanzkriterium gesucht wird und dann schrittweise, sofern zu viele Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte ermittelt werden, das Akzeptanzkriterium verschärft wird, bis schließlich die Anzahl der Treffer, die das Akzeptanzkriterium erfüllen, innerhalb des gewünschten Bereichs liegt.
  • Bei einem besonders bevorzugten Ausführungsbeispiel werden die einem bestimmten Knotenpunkt zugeordneten Schlüsselworte automatisch auch den darunter klassifizierten, weiteren Knotenpunkten oder Dienstobjekten zugeordnet, d. h. die Schlüsselworte werden innerhalb der Datenstruktur von oben nach unten weiter "vererbt".
  • Es kann dann vorzugsweise nach einem erfolglosen Suchschritt - wobei "erfolglos" hier so zu verstehen ist, dass entweder zu wenige oder zu viele Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte gefunden wurden - die Suche auf einer anderen Ebene oder unter Einbeziehung einer anderen Ebene der Datenstruktur fortgeführt werden, bis die Anzahl der Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte innerhalb der gewünschten Grenzen liegt.
  • Da durch die Vererbung sichergestellt ist, dass die Schlüsselworte von oben nach unten innerhalb der Datenstruktur ständig zunehmen und alle zu den höheren Kategorien, d. h zu den weiter oben in der Baumstruktur befindlichen Knotenpunkten, gehörenden Schlüsselworte auch in einer unteren Ebene zu finden sind, wird vorzugsweise mit der Suche unten in der Datenstruktur, d. h. auf der Ebene der Dienstobjekte begonnen. Wird hier nicht das gewünschte Ergebnis erzielt, wird die Suche schrittweise, jeweils auf bzw. unter Einbeziehung einer nächsthöheren Ebene, unter den Knotenpunkten weitergeführt. Bei diesem Verfahren ist es folglich nicht notwendig, das Akzeptanzkriterium selber zu verschärfen, sondern es kann einfach durch die schrittweise Suche auf verschiedenen Ebenen die Anzahl der Treffer reduziert werden, bis die Trefferanzahl innerhalb der gewünschten Grenzen liegt und ein sinnvolles Menü für die nächste Ausgabe an den Nutzer erzeugt werden kann. Dies hat den Vorteil, dass - anders als bei einer Verschärfung des Akzeptanzkriteriums - keiner der in einem ersten Suchschritt gefundenen Treffer verworfen wird, da dies ja dazu führen könnte, dass gerade der richtige Treffer verworfen wird. Statt dessen wird ein Menü aus Kategorien einer höheren Ebene zusammengestellt, so dass gewährleistet ist, dass einerseits nur eine geringere Anzahl von Kategorien innerhalb des Menüs ausgegeben wird, aber die Kategorien andererseits immer noch als "Oberbegriffe" alle die Kategorien bzw. Dienste abdecken, die in dem vorhergehenden Suchschritt gefunden wurden.
  • Mit anderen Worten wird bei diesem bevorzugten Ausführungsbeispiel des erfindungsgemäßen Dialogsystems dafür gesorgt, dass der Nutzer an einen Punkt innerhalb der Datenstruktur geführt wird, welcher sich einerseits möglichst nah an der untersten Ebene der Datenstruktur befindet, so dass vom Startpunkt des weiteren Dialogs aus nur wenige Abfragen notwendig sind, um das Dienstobjekt bzw. den Dienst zu erreichen. Andererseits befindet sich der Startpunkt in einer Ebene der Datenstruktur, die noch hoch genug ist, um alle anhand der extrahierten Suchwörter ermittelten Kategorien und Dienste abzudecken und keine Treffer unnötig zu verwerfen.
  • Vorzugsweise wird innerhalb eines Suchschritts bei einer zu geringen Anzahl von ermittelten Kandidaten-Knotenpunkten und/oder Kandidaten-Dienstobjekten das Akzeptanzkriterium erweitert. Dies ist insbesondere vorteilhaft bei dem zuletzt genannten Ausführungsbeispiel des Verfahrens, bei dem die Schlüsselworte von den oberen Knotenpunkten der Datenstruktur an die darunter befindlichen Knotenpunkte und Dienste vererbt werden und bei denen mit der Suche schrittweise von unten nach oben begonnen wird, da hier bei dem ersten Suchschritt auf der Ebene der Dienste immer die meisten Treffer gefunden werden und ein weiterer Suchschritt auf einer höheren Ebene nur zu einer Verringerung der Trefferanzahl führen kann.
  • Bei Verwendung eines herkömmlichen Datenbank-Suchmoduls aus einer Internet- Suchmaschine kann eine Variation des Akzeptanzkriteriums einfach durch Veränderung der prozentualen Trefferquote realisiert werden.
  • Bei einem weiteren, relativ einfach realisierbaren Ausführungsbeispiel werden zur Suche die extrahierten Suchworte einzeln mit den Schlüsselworten jedes einzelnen Knotenpunkts und Dienstobjekts verglichen und die Anzahl der Übereinstimmungen zwischen Suchworten und Schlüsselworten für die einzelnen Knotenpunkte und Dienstobjekte gezählt. Das Akzeptanzkriterium kann dann einfach eine festgelegte Mindestanzahl von Übereinstimmungen zwischen den extrahierten Suchworten und den Schlüsselworten sein. So kann beispielsweise festgelegt werden, dass alle Suchworte innerhalb der Schlüsselworte eines Dienstobjekts oder eines Knotenpunkts enthalten sein müssen oder mindestens zwei Suchworte oder mindestens ein Suchwort etc.
  • Anspruch 10 beschreibt eine weitere, besonders vorteilhafte Variante des erfindungsgemäßen Sprach-Dialogsystems. Sie betrifft den Fall, dass der Nutzer nach Durchführen einer Suche und einer Ansage eines Menüs gemäß dem erfindungsgemäßen Verfahren eine Spracheingabe tätigt, die weitere, neue Suchworte enthält.
  • Ein Beispiel hierfür ist der Fall, dass der Benutzer zunächst mit dem Suchwort "Reise" folgenden Prompt erhält: "Möchten Sie mit dem Auto, mit der Bahn oder mit dem Flugzeug reisen? Bitte wählen Sie einen Begriff aus", und der Benutzer dann relativ salopp antwortet: "Auto ist gut, ich will mobil sein." Dieser Antwortsatz des Benutzers enthält zwei potentielle Schlüsselworte, nämlich die Begriffe "Auto" und "mobil". Die anderen Worte dieses Satzes werden bei der Analyse als nicht sinntragend erkannt. Dementsprechend werden aus dieser Spracheingabe zwei neue Suchworte, nämlich "Auto" und "mobil" extrahiert. Das Sprach-Dialogsystem führt dann eine erneute Suche mit den Suchworten "Auto" und "mobil" durch und findet beispielsweise die Kategorie "Auto" (wie bei der ersten Suche) und zusätzlich die Kategorie "Mobilfunkgerät", welche zu bestimmten Telefonauskunftsdiensten oder Tarifauskunftsdiensten führen kann. Wird nun das Ergebnis der ersten Suche, bestehend aus den Kategorien "Auto, Bahn, Flugzeug", mit dem Ergebnis der zweiten Suche, bestehend aus den Kategorien "Auto" und "Mobilfunk", geschnitten, so erhält man als Gesamtergebnis die Kategorie "Auto", bei der es sich eindeutig um die vom Nutzer gewünschte Kategorie handelt. Diese Kategorie wird dann bevorzugt an den Nutzer wieder ausgegeben.
  • Sofern die Schnittmenge mehrere Treffer enthält, kann der Nutzer dann unter diesen bevorzugten Treffern auswählen. Bei nur einem einzelnen Schnittmengenelement kann die bevorzugte Ausgabe nur für eine Verifikation durch den Nutzer erfolgen, beispielsweise durch die Ansage "Sie haben "Auto" gewählt, ist das richtig?"
  • Sofern die Schnittmenge leer ist, wird vom Sprach-Dialogsystem das vorherige Suchergebnis ignoriert und nur das neue Suchergebnis genutzt. Ein Beispiel hierfür wäre, wenn der Nutzer auf die erste Ausgabe des ersten Suchergebnisses antwortet: "Ich wollte eigentlich Informationen über Mobilfunktarife haben." Dieser Antwortsatz des Benutzers enthält lediglich das Suchwort "mobil" und führt zu einem Suchergebnis, welches nur die Kategorie "Mobilfunk" enthält. Die Schnittmenge zwischen dem ersten Suchergebnis "Auto, Bahn, Flugzeug" und dem zweiten Suchergebnis "Mobilfunk" ist folglich leer, und es wird zu Recht nach Wunsch des Nutzers lediglich die Kategorie "Mobilfunk" angeboten.
  • Die Erfindung wird im Folgenden unter Hinweis auf die beigefügten Figuren anhand eines Ausführungsbeispiels näher erläutert. Es zeigen:
  • Fig. 1 ein schematisches Blockschaltbild der wesentlichen Komponenten eines erfindungsgemäßen Sprach-Dialogsystems,
  • Fig. 2 eine Blockdarstellung eines einfachen, anschaulichen Beispiels für eine Datenstruktur in einer Datenbank eines erfindungsgemäßen Sprach- Dialogsystems,
  • Fig. 3 einen Teil eines Flussdiagramms für einen möglichen Verfahrensablauf bei der Nutzung des Sprach-Dialogsystems.
  • Bei dem in Fig. 1 dargestellten Ausführungsbeispiel handelt es sich um ein Sprach- Dialogsystem 1, welches über eine Netzanschlussschnittstelle 5 verfügt, über die das Sprach-Dialogsystem 1 an ein öffentliches Kommunikationsnetz, beispielsweise an ein Telefonnetz, angeschlossen ist und somit von einem Nutzer über ein normales Telefon 14 erreichbar ist.
  • Um eine Kommunikation mit dem Nutzer in natürlicher Sprache durchzuführen, weist das Sprach-Dialogsystem 1 eine Spracherkennungseinheit 2 auf. Diese empfängt die von der Netzanschlussstelle 5 ankommenden Sprachsignale des Nutzers und führt eine Spracherkennung durch, wobei die innerhalb des Sprachsignals enthaltenen Informationen in Daten umgesetzt werden, die von den nachfolgenden Teilen des Systems verarbeitet werden können. Ausgangsseitig weist das Sprach-Dialogsystem 1 eine Spracherzeugungseinrichtung 3 auf. Hierbei kann es sich beispielsweise um ein sogenanntes TTS-System (Text-To-Speech-System) handeln, welches aus eingehenden, computerlesbaren Daten durch eine passende Zusammensetzung von Phonemen und Wörtern einen gesprochenen Text erzeugt. Es kann sich aber auch um einen sogenannten Prompt-Player handeln, welcher fertig abgespeicherte Texte enthält, die entsprechend aufgerufen und dem Nutzer abgespielt werden. Ebenso kann es sich auch um eine Einrichtung handeln, welche kombiniert ein TTS-System und einen Prompt-Player nutzt. Die ausgehenden Sprachdaten werden wiederum über die Netzanschlussschnittstelle 5 an das Telefon 14 des Nutzers übermittelt.
  • Kernstück des Sprach-Dialogsystems 1 ist eine Dialogkontrolleinrichtung 4, welche gemeinsam mit einer Datenbank 6 den Dialog mit dem Benutzer steuert und die im Dialogsystem 1 enthaltenen Dienste 9 aufruft oder den Nutzer über eine Call-Transfer- Einheit 7 zu einem externen Dienst 10 vermittelt.
  • Das dargestellte Sprach-Dialogsystem 1 kann im Wesentlichen in Form von Software auf einem geeigneten Rechner bzw. Server realisiert sein. Hierbei können die Spracherkennungseinrichtung 2, die Spracherzeugungseinrichtung 3 und die Dialogkontrolleinrichtung 4 reine Softwaremodule sein, die auf geeignete Weise untereinander verknüpft sind. Lediglich die Netzanschlussschnittstelle 5 muss entsprechende Hardwarekomponenten zum Anschluss an das gewünschte Netz aufweisen. Da auch ein Call-Transfer hardwaremäßig über die Netzanschlussschnittstelle 5 durchgeführt werden kann, kann - anders als in Fig. 1 dargestellt - im Prinzip auch die Call-Transfer-Einheit 7 eine reine Softwareeinheit sein, die nur die notwendigen Informationen zur Durchführung eines Call-Transfers zu den verschiedenen, externen Diensten 10 enthält und über die Netzanschlussschnittstelle 5 den Call-Transfer innerhalb des Kommunikationsnetzes einleitet.
  • Neben den in Fig. 1 dargestellten Komponenten kann das Sprach-Dialogsystem auch noch weitere Komponenten aufweisen, wie sie üblicherweise in Sprach-Dialogsystemen verwendet werden. Als Beispiel ist hier eine zusätzliche Datenbank 8 gezeigt, welche verschiedene Informationen über einzelne Nutzer enthält, die gegenüber dem Sprach- Dialogsystem registriert sind und die bei einem Anruf identifiziert werden können. Eine solche Datenbank kann insbesondere Informationen über von den Nutzern bevorzugt genutzten Dienste, über einen letzten Gebrauch des Sprach-Dialogsystems durch den betreffenden Nutzer oder Ähnliches enthalten. Die zusätzlichen Informationen können dann bei der Spracherkennung, bei der Analyse von Suchworten oder auf sonstige Weise für den Nutzer verwendet werden, um ihn so schneller zu den gewünschten Diensten zu geleiten. Insbesondere kann das Sprach-Dialogsystem auch noch zusätzliche Komponenten zur Führung einer Statistik über die Nutzung des Sprach-Dialogsystems oder einzelner Dienste allgemein oder für spezielle Nutzer enthalten.
  • Die Dialogkontrolleinrichtung 4 selbst besteht in dem dargestellten Ausführungsbeispiel aus mehreren, passend verknüpften Software-Modulen.
  • Hierzu zählt insbesondere ein Analysemodul 11, welches aus den von der Spracherkennungseinrichtung 2 empfangenen Daten bestimmte Suchworte extrahiert. Diese Suchwort-Extraktion erfolgt auf Basis von vorgegebenen grammatikalischen und syntaktischen Regeln, damit nicht jedes Wort innerhalb eines vom Nutzer gesprochenen Satzes als Suchwort extrahiert wird und insbesondere die nicht sinntragenden Worte innerhalb des Satzes ignoriert werden. So werden beispielsweise aus dem Satz "Ich möchte Theaterinformationen" die Begriffe "Theater" und "Informationen" als Suchworte extrahiert, wogegen die Worte "ich möchte" keine weitere Bedeutung für die weitere Verarbeitung haben.
  • Anhand der Suchworte wird dann von einem Suchmodul 12 der Dialogkontrolleinrichtung 4 in der Datenbank 6 eine Suche nach bestimmten Diensten und/oder Kategorien durchgeführt. Diese Datenbank enthält eine Datenstruktur DS nach Art eines Mehrfach- Entscheidungsbaums. Ein Beispiel hierfür ist in Fig. 2 dargestellt. Die Datenstruktur DS enthält hier mehrere Knotenpunkte K, welche über Pfade P miteinander verbunden sind. Die Knotenpunkte K befinden sich in zwei Ebenen I, II. Auf einer dritten Ebene III unter der unteren Knotenpunktebene II befindet sich eine Ebene mit Dienstobjekten D.
  • Diese Dienstobjekte D repräsentieren die einzelnen Dienste 9, 10. Bei dem dargestellten Ausführungsbeispiel handelt es sich jeweils um komplexere Dienste, bei denen noch weitere Abfragen innerhalb des Dienstes notwendig sind, damit der Benutzer zu der gewünschten Information kommt. So kann es sich beispielsweise bei dem Dienst "Festnetz" um eine normale Telefonauskunft handeln, an welche der Nutzer weitervermittelt wird. Bei dem Dienst "Bahn" handelt es sich um einen Dienst einer Eisenbahngesellschaft, zu welchem der Nutzer weitergeleitet wird, sobald er den Dienst "Bahn" auswählt. Die einzelnen Dienste 9, 10 können hierbei ebenfalls wieder in der erfindungsgemäßen Weise als Sprach-Dialogsystem aufgebaut sein. So kann beispielsweise eine Telefonauskunft, welche sich hinter dem Dienst "Festnetz" verbirgt, wiederum eine Datenbank mit einer eigenen Baumstruktur mit mehreren Kategorien und Diensten aufweisen, wobei als Dienst dann letztendlich die Ausgabe einer gesuchten Information über einen bestimmten Teilnehmer, z. B. die Telefonnummer oder die Adresse, zu verstehen ist.
  • Die Knotenpunkte K innerhalb der Datenstruktur DS repräsentieren jeweils Kategorien, in welche die in der Ebene darunter befindlichen Kategorien bzw. Unterkategorien oder Dienste klassifizierbar bzw. einzuordnen sind. Wie in Fig. 2 deutlich zu sehen ist, ist jeder der Dienste zumindest in einer Kategorie in der mittleren Ebene II eingeordnet. Hierbei fallen mehrere Dienste ggf. unter die gleiche Kategorie, so dass umgekehrt von einem Knotenpunkt K der mittleren Ebene II mehrere Pfade P zu verschiedenen Diensten D führen können. Ebenso sind die Kategorien der mittleren Ebene II als Unterkategorien den Kategorien in der Ebene I zugeordnet.
  • In Fig. 2 ist aus Gründen der Anschaulichkeit nur ein sehr einfaches Ausführungsbeispiel einer erfindungsgemäßen Datenstruktur DS dargestellt. In der Realität ist eine solche Datenstruktur erheblich komplexer und erstreckt sich über eine Vielzahl von Ebenen mit jeweils einer Vielzahl von parallelen Knotenpunkten und/oder Dienstobjekten. Dabei muss im Übrigen nicht jeder Dienst oder Knotenpunkt einer Kategorie der nächsthöheren Ebene zugeordnet sein, sondern es können auch eine oder mehrere Ebenen durch einen Pfad übersprungen werden.
  • Jedem der einzelnen Knotenpunkte K und Dienstobjekte D sind verschiedene Schlüsselworte S zugeordnet. Zu diesen Schlüsselworten S zählen insbesondere die Namen der einzelnen Kategorien bzw. Dienste selbst, wie sie in den Kästchen in Fig. 2 genannt sind. Darüber hinaus können den einzelnen Knotenpunkten K und Dienstobjekten D - bzw. den Kategorien und Diensten - jeweils zusätzliche Schlüsselworte zugeordnet sein. Sinnvollerweise gehören zu den weiteren Schlüsselworten geeignete Synonyme der Namen der einzelnen Dienste oder Kategorien oder sonstige Schlüsselworte, unter denen der Nutzer üblicherweise einen solchen Dienst oder eine Kategorie suchen würde oder die mit dem Dienst in Beziehung stehen können. Beispielsweise können, wie in Fig. 2 dargestellt, dem Dienst "Auto" die Schlüsselworte "Abfahrt" und "Wetter" zugeordnet sein, dem Dienst "Bahn" die Schlüsselworte "Abfahrt" und "Ankunft" und dem Dienstobjekt "Flug" die Schlüsselworte "Reiseland" und "Wetter".
  • Die Schlüsselworte einer Kategorie werden an die zugehörigen Kategorien oder Dienste in der nächsttieferen Ebene "weitervererbt". Dies ist in Fig. 2 beispielhaft an der Kette der Kategorie "Ort", Unterkategorie "mobil" und Dienst "Auto" dargestellt. Zu der Kategorie "Ort" gehören die Schlüsselworte "Ort" und "Standpunkt", zu der Unterkategorie "mobil" gehören dann die Schlüsselworte "mobil", "Ort", "Standpunkt" sowie eventuell weitere Schlüsselworte, und mit dem Dienst "Auto" sind dann die Schlüsselworte "Auto", "Ort", "Standpunkt", "Info", "mobil", "Reise" sowie ggf. weitere Schlüsselworte verknüpft.
  • Die Suche in dieser Datenstruktur DS verläuft in dem dargestellten Beispiel mit drei Ebenen auf folgende Weise:
    Begonnen wird mit einem Suchschritt auf der untersten Ebene III, d. h. auf der Ebene III der Dienstobjekte D. Anhand der Überdeckung der Suchworte mit den Schlüsselworten S der einzelnen Dienstobjekte D werden hier Kandidaten-Dienstobjekte D gesucht, welche zu dem gewünschten Dienst des Benutzers passen könnten. Für die konkrete Durchführung der Suche gibt es dabei verschiedene Möglichkeiten. Zum einen kann ein übliches Softwaremodul verwendet werden, wie es in einer Internet-Suchmaschine eingesetzt wird. Derartige Softwaresuchmodule liefern ein Ergebnis, welches prozentual für jeden Treffer die Überdeckung angibt, beispielsweise einen Treffer von 100%, wenn alle Suchworte innerhalb der Schlüsselworte des betreffenden Dienstobjekts oder Knotenpunkts zu finden sind. Bei Verwendung einer solchen Suchmaschine kann einfach als Akzeptanzkriterium ein Prozentsatz, beispielsweise 70%, festgelegt werden, oberhalb dessen ein Treffer akzeptiert wird. Liegt der Prozentsatz unterhalb dieses festgesetzten Akzeptanzkriteriums, wird der Treffer verworfen.
  • Führt die Suche nur zu einem einzigen Treffer, so ist davon auszugehen, dass es sich hierbei um den gewünschten Dienst handelt. Der Dienst wird entweder sofort für den Nutzer aufgerufen, oder es wird zuvor der Dienst zur Verifikation durch den Nutzer angesagt.
  • Wird überhaupt kein Dienst gefunden, so kann entweder der Nutzer zur Eingabe eines neuen Sprachbefehls aufgefordert werden, oder es wird das Akzeptanzkriterium beispielsweise auf 50% heruntergesetzt, in der Hoffnung, dass dann ein Dienst gefunden wird.
  • Wird dagegen bei der Suche mehr als ein Dienst gefunden, so hängt der weitere Verlauf des Dialogs davon ab, wie groß die Anzahl der gefundenen Dienste ist bzw. ob die Anzahl der gefundenen, entsprechenden Dienstobjekte D unterhalb einer festgelegten Maximalanzahl liegt. Im vorliegenden Ausführungsbeispiel wurde diese Maximalanzahl als fünf festgelegt. Liegt die gefundene Trefferzahl unter dieser Maximalanzahl, so wird von einer Prompt-Generierungseinheit 13 der Dialogkontrolleinrichtung 4 mit Hilfe der Sprachausgabeeinrichtung 3 ein Menü erzeugt, in welchem dem Benutzer die vier Treffer, d. h. die vier gefundenen Dienste, angesagt werden. Der Nutzer kann dann einen der Dienste auswählen.
  • Es wird an dieser Stelle darauf hingewiesen, dass die Auswahl durch den Benutzer nach der Ansage eines solchen Menüs nicht nur durch eine neue Spracheingabe, sondern auch durch einen Tastendruck des Telefons, beispielsweise mittels eines DTMF-Verfahrens, erfolgen kann. Hierzu kann beispielsweise bei der Prompt-Generierung vor dem jeweiligen Treffer, d. h. dem gefundenen Dienst oder der Kategorie, eine Zahl angesagt werden, und der Nutzer kann dementsprechend nur die passende Taste seiner Zifferntastatur am Telefon drücken. Das Sprach-Dialogsystem muss hierfür natürlich zusätzlich entsprechende Mittel zur Erkennung und Verarbeitung der DTMF-Signale aufweisen.
  • Überschreitet die Anzahl der Treffer die vorgegebene Maximalanzahl, so wird ein erneuter Suchschritt durchgeführt. Hierbei wird die Suche auf der nächsthöheren Ebene - in dem dargestellten Beispiel auf der mittleren Ebene II, d. h. der Ebene direkt über den Diensten angeordneten Knotenpunkten K - fortgesetzt. Da mehrere Dienste in eine Kategorie fallen und die Schlüsselworte nach unten vererbt werden, ist die Anzahl der Kategorien auf dieser Ebene geringer als die Anzahl der Dienste auf der darunter befindlichen Ebene III. Somit ist bei einer Suche mit den gleichen Suchworten die Anzahl der Treffer auf dieser Ebene II geringer als bei dem vorhergehenden Suchschritt auf der darunter befindlichen Ebene III.
  • In dem in Fig. 2 dargestellten Beispiel liegt naturgemäß, da die Ebene II nur vier Kategorien aufweist, die Anzahl der Treffer, d. h. der möglichen Kandidaten-Knotenpunkte, immer unter oder gleich vier. In der Realität wird auch diese Ebene erheblich mehr als vier unterschiedliche Kategorien bzw. Knotenpunkte aufweisen, so dass in vielen Fällen auch auf dieser Ebene die Anzahl der gefundenen Kandidaten-Knotenpunkte noch die Maximalanzahl überschreitet. In diesem Fall wird auf der nächsthöheren Ebene solange weitergesucht, bis schließlich die Anzahl der gefundenen Kandidaten-Knotenpunkte bzw. der evtl. passenden Kategorien unter der Maximalanzahl liegt.
  • Bei der Suche muss natürlich berücksichtigt werden, wenn nicht jeder Dienst bzw. Kategorie einer Kategorie der nächsthöheren Ebene zugeordnet ist, sondern eine oder mehrere Ebenen durch einen Pfad übersprungen werden. Dann müssen gegebenenfalls bei einem neuen Suchschritt in der nächst höheren Ebene die im vorhergehenden Suchschritt bereits gefundenen Kandidaten-Dienstobjekte oder Kandidaten-Knotenpunkte, die nicht mit einem Knotenpunkt der höheren Ebene verbunden sind, wieder in die Suche mit einbezogen werden.
  • Wird bei einem Suchschritt schließlich nur noch ein Kandidaten-Knotenpunkt ermittelt, so wird die Suche abgebrochen, da hier eine Situation erreicht ist, in der es nicht mehr möglich ist, die Treffer-Anzahl noch weiter zu reduzieren. Ein Fortsetzen der Suche auf einer tieferen Ebene ist ebenfalls nicht sinnvoll, da die Suche hier ja bereits durchgeführt wurde und zu einem Ergebnis mit einer Trefferanzahl geführt hat, welche höher ist als die vorgegebene Maximalanzahl. Dies bedeutet, dass alle diese Treffer zu dem einen gefundenen Kandidaten-Knotenpunkt der höheren Ebene gehören. Ein Beispiel für eine solche Situation ist eine Abfrage nach einer Verkaufsstelle eines Unternehmens, wobei die Verkaufsstellen jeweils nach Verkaufsgebieten in verschiedenen Postleitzahlregionen sortiert sind und die Anzahl der Verkaufsgebiete die Anzahl der Maximaltreffer überschreitet. In einer solchen Situation werden daher unabhängig von der jeweiligen Anzahl alle unter den jeweiligen, zuletzt gefundenen Kandidaten-Knotenpunkt gehörigen Kategorien oder Dienste an den Nutzer innerhalb eines Sprachausgabemenüs ausgegeben.
  • Da in diesem Fall die Maximalanzahl überschritten ist, erfolgt die Ausgabe vorzugsweise gruppiert und unter Angabe einer Gruppenbezeichnung. Bei dieser Gruppenbezeichnung handelt es sich beispielsweise um eine Zahl oder einen Namen, so dass der Benutzer zunächst eine Gruppe durch Angabe der Gruppenbezeichnung auswählen kann und dann diese Gruppe von Kategorien oder Diensten noch einmal zur weiteren Auswahl angesagt bekommt. Alternativ ist es auch möglich, dass das Sprach-Dialogsystem von selbst zunächst eine vereindeutigende Frage generiert und anhand der Antwort des Benutzers dann eine der beiden Gruppen zur Ansage auswählt. Bei dem genannten Beispiel könnte das Sprach-Dialogsystem nach dem Wohnort des Nutzers fragen und dann zunächst nur die Verkaufsgebiete der näheren Umgebung zur Auswahl anbieten. Wird bei einem Suchschritt in einer höheren Ebene kein Kandidatenpunkt ermittelt, so wird entsprechend die vollständige Liste der zuletzt ermittelten Kategorien oder Dienste ausgegeben.
  • Fig. 3 zeigt einen Ausschnitt aus einem Flussdiagramm, welches den möglichen Ablauf eines Dialogs bei der Nutzung des Sprach-Dialogsystems 1 darstellt. Nach Eingabe eines Sprachbefehls durch den Nutzer erfolgt zunächst die Spracherkennung. Dann werden aus den erkannten Sprachinformationen die Suchworte extrahiert. Anschließend erfolgt anhand dieser Suchworte eine Suche gemäß dem vorbeschriebenen Verfahren. Ist genau ein Dienst gefunden, so wird der betreffende Dienst für den Nutzer aufgerufen bzw. wenn es sich bei dem Dienst um eine reine Informationsausgabe handelt, diese Information ausgegeben. Ansonsten wird zunächst ein Prompt generiert und ausgegeben, mit dessen Hilfe der Nutzer zur Auswahl einer Kategorie oder eines Dienstes aus einer Anzahl von Kandidaten-Kategorien oder Kandidaten-Diensten aufgefordert wird. Die darauf vom Nutzer erfolgende Antwort wird dann wiederum der Spracherkennung zugeführt und eine erneute Suchwortextrahierung veranlasst. Mit den neuen Suchworten wird dann die Suche fortgesetzt. Dieses Verfahren wird so lange fortgeführt, bis schließlich der gewünschte Dienst gefunden ist, oder ein expliziter Abbruch des Dialogs, beispielsweise auf Wunsch des Nutzers, erfolgt
  • Im Folgenden wird außerdem eine Alternative zur Verwendung einer handelsüblichen Internet-Suchmaschine bzw. eines Suchmoduls einer solchen Suchmaschine beschrieben. Bei diesem Ausführungsbeispiel wird die Datenbank jeweils nach jedem Suchwort einzeln durchsucht und für jedes Suchwort als Ergebnis eine Menge von Knotenpunkten oder Dienstobjekten ermittelt, deren Schlüsselworte dieses bestimmte Suchwort enthalten. Die Anzahl der Übereinstimmungen der Suchworte mit den Schlüsselworten wird als Akzeptanzkriterium verwendet. Dies ist relativ einfach durch eine geeignete Bildung von Schnittmengen und/oder Vereinigungsmengen der Suchergebnisse möglich.
  • Das engste Akzeptanzkriterium ist bei diesem Verfahren die Festlegung, dass nur solche Treffer akzeptiert werden, bei denen alle Suchworte innerhalb der Schlüsselworte identisch vorhanden sind. Diejenigen Kategorien bzw. Dienste, deren Schlüsselworte alle Suchworte enthalten, lassen sich durch eine Schnittmengenbildung gemäß folgender Regel ermitteln:


  • Die Ai stellen dabei jeweils das Suchergebnis für das i-te Suchwort dar, d. h. die Menge der Kategorien bzw. Dienste, deren Schlüsselworte das i-te Suchwort enthalten.
  • Gemäß der Regel:


    lassen sich alle die Kategorien bzw. Dienste herausfinden, welche wenigstens zwei der Suchworte unter ihren Schlüsselworten aufweisen.
  • Außerdem können gemäß der Regel:


    alle Kategorien bzw. Dienste ermittelt werden, welche wenigstens ein Schlüsselwort aufweisen, das mit einem der Suchworte übereinstimmt.
  • Es stehen somit drei unterschiedlich strenge Akzeptanzkriterien zur Verfügung. Daher kann zunächst in einem Suchschritt die Anzahl der Treffer nach Formel (1) ermittelt werden. Wenn die Trefferanzahl zu gering ist, erfolgt eine Berechnung nach Formel (2) und schließlich nach Formel (3). Wird letztlich beim dritten Akzeptanzkriterium immer noch kein Treffer gefunden, so wird der Benutzer zur Eingabe einer neuen Suchanfrage aufgefordert.
  • Die Formeln (1) bis (3) werden im Folgenden noch mal an einem konkreten Beispiel verdeutlicht. Hierzu wird auf Fig. 2 verwiesen.
  • Es sei angenommen, dass dem Dienst "Auto" die Suchworte "Abfahrt" und "Wetter" zugeordnet sind; dem Dienst "Bahn" die Suchworte "Abfahrt" und "Ankunft" und dem Dienst "Flug" die Suchworte "Reiseland" und "Wetter".
  • Wird dann weiterhin davon ausgegangen, dass aus der Spracheingabe des Benutzers das Suchwort "Abfahrt" ermittelt wurde, so ist das Suchergebnis bei diesem einen Suchwort A1 = {"Auto", "Bahn"}. Da nur ein Suchwort vorhanden ist und somit nur eine Treffermenge A1 existiert, ändert sich durch die Schnittmengenbildung gemäß Formel (1) nichts.
  • Anders ist dies, wenn zusätzlich nach einem zweiten Suchwort, hier beispielsweise dem Suchwort "Wetter" gesucht wird. Das Suchergebnis für dieses zweite Suchwort "Wetter" wäre dann A2 = {"Flug", "Auto"}. Die Bildung der Schnittmenge von A1 und A2 führt zu:


    d. h. nur der Dienst "Auto" enthält sowohl das Suchwort "Abfahrt" als auch das Suchwort "Wetter" als Schlüsselworte. Somit wird exakt ein Dienst gefunden, welcher das strengste Akzeptanzkriterium erfüllt, und der Nutzer wird an diesen Dienst vermittelt.
  • Ein anderer Fall liegt vor, wenn noch ein drittes Schlüsselwort, beispielsweise das Schlüsselwort "Ankunft" hinzukommt. Man erhält dann für das Suchwort "Abfahrt" das Suchergebnis A1 = {"Auto", "Bahn"}, für das Suchwort "Wetter" das Suchergebnis A2 = {"Auto", "Flug"} und für das dritte Suchwort "Ankunft" das Suchergebnis A3 = {"Bahn"}. Erfolgt die Ermittlung des gesamten Suchergebnisses nach Formel (1), so erhält man eine leere Menge, da keine der Dienste alle Suchbegriffe innerhalb der Schlüsselworte enthält. Wird das Akzeptanzkriterium reduziert und die Berechnung des Gesamtergebnisses gemäß Formel (2) durchgeführt, so erhält man:


  • Man erhält folglich die Dienste "Auto" und "Bahn" als Gesamtergebnis, da diese beiden jeweils zwei der Suchworte innerhalb ihres Schlüsselwortsatzes enthalten.
  • Werden dagegen als Suchworte die Begriffe "Reiseland" und "Ankunft" gewählt, so erhält man für das erste Suchwort "Reiseland" das Suchergebnis A1 = {"Flug"} und für das zweite Suchwortwort "Ankunft" das Ergebnis A2 = {"Bahn"}. Wird nun das engste Akzeptanzkriterium gewählt und eine Berechnung des Gesamtergebnisses gemäß Formel (1) durchgeführt, so erhält man eine leere Menge. Ebenso führt eine Berechnung gemäß Formel (2) zu einer leeren Menge, weil in keinem der gefundenen Treffer beide Suchworte innerhalb der Schlüsselwortlisten vorhanden sind. Erst eine Berechnung des Gesamtergebnisses nach Formel (3) führt dazu, dass alle gefundenen Treffer, nämlich die Dienste "Bahn" und "Flug", als Kandidaten-Dienste bzw. Kandidaten-Dienstobjekte akzeptiert werden.
  • Es wird noch einmal darauf hingewiesen, dass neben den konkret beschriebenen Suchverfahren bzw. der Verwendung eines handelsüblichen Suchmoduls auch beliebige weitere Suchalgorithmen verwendet werden können, um das erfindungsgemäße Verfahren durchzuführen. Ebenso kann das Verfahren auch an weiteren Stellen modifiziert werden, ohne die Erfindung wesentlich zu verändern. So ist beispielsweise zu beliebigen Zeitpunkten jederzeit eine Ausgabe weiterer Prompts zur zusätzlichen Verifikation von Zwischenergebnissen möglich.
  • Das System kann auch als sogenanntes "Barge-In"-Dialogsystem aufgebaut sein, bei dem der Nutzer jederzeit während der Ausgabe eines Prompts antworten kann und diese Antwort vom Sprach-Dialogsystem akzeptiert und bearbeitet wird und die weitere Ausgabe des Prompts unterbrochen wird. Ebenso kann eine Suche jederzeit auf Wunsch des Nutzers oder bei Eintritt eines zuvor festgelegten Abbruchkriteriums abgebrochen werden.
  • Weiterhin wird noch einmal darauf hingewiesen, dass es sich bei dem in Fig. 1 dargestellten Ausführungsbeispiel nur um eine sehr grob vereinfachte Darstellung des Sprach-Dialogsystems handelt und dass das erfindungsgemäße Sprach-Dialogsystem auch in modifizierter Form realisiert werden kann. Insbesondere ist es möglich, die einzelnen Softwaremodule anstatt auf einem einzelnen Rechner auf verschiedenen Rechnern innerhalb eines Netzes anzuordnen, wobei es sich insbesondere anbietet, besonders rechenintensive Funktionen, wie beispielsweise die Spracherkennung, auf andere Rechner auszulagern. Weiterhin ist es möglich, dass das Sprach-Dialogsystem alternativ oder zusätzlich zum Telefonanschluss eine eigene Benutzerschnittstelle mit einem Mikrofon und einem Lautsprecher aufweist. Auch das Bereitstellen von Sprachdaten über das Datennetz - sog. Voice-over-IP - ist möglich.
  • Mit Hilfe der Erfindung ist es möglich, ein Voice-Portal aufzubauen, welches erheblich intuitiver und flexibler vom Nutzer zu bedienen ist als bisher bekannte Voice-Portale, Außerdem ist ein solches Sprach-Dialogsystem in der Lage, große Datenbanken, beispielsweise für telefonische Branchenauskunftssysteme bzw. sog. Yellow-Page- Applikationen, zu verwalten. Zudem können die Nutzer in einem relativ einfachen und effizienten Verfahren ihre Suchanfrage formulieren und verfeinern. Dabei wird eine Ausgabe von langen, unhandlichen und für den Benutzer nicht mehr merkbaren Listen vermieden.

Claims (12)

1. Verfahren zum Betrieb eines Sprach-Dialogsystems (1), welches mit einem Nutzer unter Verwendung einer Spracherkennungseinrichtung (2) und einer Sprachausgabeeinrichtung (3) kommuniziert,
wobei dem Nutzer verschiedene Dienste (9, 10) innerhalb des Sprach-Dialogsystems (1) oder durch Vermittlung des Sprach-Dialogsystems (1) zur Verfügung stehen und vom Nutzer innerhalb eines mit dem Sprach-Dialogsystem (1) geführten Dialogs auswählbar sind, und dabei zur Steuerung des Dialogs zum Auswählen eines Dienstes (9, 10) durch den Nutzer eine Datenbank (6) verwendet wird, mit einer hierarchischen Datenstruktur (DS) mit einer Mehrzahl von Knotenpunkten (K) und einer Mehrzahl von Pfaden (P) zur Verbindung der Knotenpunkte (K) untereinander und zur Verbindung von Knotenpunkten (K) mit Dienstobjekten (D), welche jeweils an einem Ende eines Pfads (P) in der Datenstruktur (DS) angeordnet sind, wobei die Dienstobjekte (D), die zur Verfügung stehen, Dienste (9, 10) repräsentieren und die Knotenpunkte (K) jeweils Kategorien repräsentieren, in welche wiederum andere Kategorien und/oder Dienste, die durch die innerhalb der hierarchischen Datenstruktur (DS) auf einer Ebene (II, III) unter dem jeweiligen Knotenpunkt (K) angeordneten, weiteren Knotenpunkte (K) oder Dienstobjekte (D) repräsentiert werden, klassifiziert sind,
dadurch gekennzeichnet,
dass zumindest zu einem Teil der Dienstobjekte (D) und/oder Knotenpunkte (K) innerhalb der Datenstruktur (DS) eine Mehrzahl von Pfaden (P) führt, und jedem Knotenpunkt (K) und jedem Dienstobjekt (D) ein oder mehrere Schlüsselworte (S) zugeordnet sind
und bei einem Empfang einer Spracheingabe des Nutzers aus dieser Spracheingabe Suchworte extrahiert werden
und auf Basis der Suchworte eine Anzahl von Kandidaten-Knotenpunkten (K) und/oder Kandidaten-Dienstobjekten (D) gesucht wird, deren zugeordnete Schlüsselworte (S) gemäß einem vorgegebenen Akzeptanzkriterium mit den Suchworten übereinstimmen, wobei eine Suche in mehreren Suchschritten durchgeführt wird, bis nach einem Suchschritt die Anzahl der ermittelten Kandidaten-Knotenpunkte (K) und/oder Kandidaten-Dienstobjekte (D) oberhalb einer vorgegebenen Minimalanzahl und unterhalb einer vorgegebenen Maximalanzahl liegt,
und dann mittels der Sprachausgabeeinrichtung (3) ein Sprachausgabe-Menü zur Ansage der durch die ermittelten Kandidaten-Knotenpunkte (K) und/oder Kandidaten- Dienstobjekte (D) repräsentierten Kategorien und/oder Dienste (9, 10) an den Nutzer zur Auswahl einer bestimmten Kategorie oder eines bestimmten Dienstes (9, 10) generiert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die einem bestimmten Knotenpunkt zugeordneten Schlüsselworte automatisch auch den darunter klassifizierten, weiteren Knotenpunkten und/oder Dienstobjekten zugeordnet sind.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass nach einem erfolglosen Suchschritt die Suche auf oder unter Einbeziehung einer anderen Ebene (I, II, III) der Datenstruktur (DS) fortgeführt wird, bis die Anzahl der gefundenen Kandidaten-Knotenpunkte (K) und/oder Kandidaten-Dienstobjekte (D) oberhalb der vorgegebenen Minimalanzahl und unterhalb der vorgegebenen Maximalanzahl liegt.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass mit der Suche innerhalb der Datenstruktur (DS) auf der Ebene (I) der Dienstobjekte (D) begonnen wird und dann die Suche schrittweise jeweils auf oder unter Einbeziehung einer nächst höheren Ebene (II, III) unter den Knotenpunkten (K) weitergeführt wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die vorgegebene Minimalanzahl der Kandidaten-Knotenpunkte (K) und/oder Kandidaten-Dienstobjekte (D) gleich eins ist und bei Ermittlung nur eines Kandidaten- Dienstobjekts (D) in einem Suchschritt der durch dieses Kandidaten-Dienstobjekt (D) repräsentierte Dienst (9, 10) aufgerufen wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die vorgegebene Minimalanzahl der Kandidaten-Knotenpunkte (K) und/oder Kandidaten-Dienstobjekte (D) gleich eins ist und bei Ermittlung nur eines Kandidaten- Knotenpunkts (K) in einem Suchschritt die Suche abgebrochen wird und unabhängig von der jeweiligen Anzahl alle Kategorien oder Dienste (9, 10) an den Nutzer in einem Sprachausgabe-Menü ausgegeben werden, die durch die Knotenpunkte (K) und/oder Dienstobjekte (D) repräsentiert werden, die sich in der Datenstruktur (DS) unter dem betreffenden Kandidaten-Knotenpunkt (K) befinden und mit diesem über einen Pfad (P) verbunden sind.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Kategorien oder Dienste gruppiert unter Angabe einer Gruppenbezeichnung ausgegeben werden.
8. Verfahren einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass das Akzeptanzkriterium eine Mindestanzahl von Übereinstimmungen zwischen den extrahierten Suchworten und den einem Knotenpunkt oder Dienstobjekt zugeordneten Schlüsselworten umfasst.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass innerhalb eines Suchschritts bei einer zu geringen Anzahl von ermittelten Kandidaten-Knotenpunkten und/oder Kandidaten-Dienstobjekten das Akzeptanzkriterium erweitert wird.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass, sofern das Sprach-Dialogsystem nach einer ersten Suche und einer Ansage der durch die ermittelten Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte repräsentierten Kategorien und/oder Dienste an den Nutzer eine erneute Spracheingabe des Nutzer empfängt, welche vom Sprach-Dialogsystem extrahierbare, neue Suchworte enthält, auf Basis der neuen Suchworte in einer zweiten Suche eine neue Anzahl von Kandidaten-Knotenpunkten und/oder Kandidaten-Dienstobjekten ermittelt, und die Schnittmenge der bei der ersten Suche ermittelten Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte und der bei der zweiten Suche ermittelten Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte bildet, und die Kategorien und/oder Dienste, welche durch die in der Schnittmenge befindlichen Kandidaten-Knotenpunkte und/oder Kandidaten-Dienstobjekte repräsentiert werden, bevorzugt an den Nutzer ausgibt.
11. Automatisches Sprach-Dialogsystem (1)
mit einer Spracherkennungseinrichtung (2) und einer Sprachausgabeeinrichtung (3) zur Kommunikation mit einem Nutzer
mit mehreren vom Nutzer auswählbaren Diensten (9) innerhalb des Sprach- Dialogsystems (1) und/oder Mitteln (7) zur Vermittlung des Nutzers an vom Nutzer auswählbare Dienste (10) durch das Sprach-Dialogsystem (1),
mit einer Dialog-Kontrolleinrichtung (4) zur Steuerung des Dialogs zum Auswählen eines Dienstes (9, 10) durch den Nutzer
und mit einer Datenbank (6) mit einer hierarchischen Datenstruktur (DS) mit einer Mehrzahl von Knotenpunkten (K) und einer Mehrzahl von Pfaden (P) zur Verbindung der Knotenpunkte (K) untereinander und zur Verbindung von Knotenpunkten (K) mit Dienstobjekten (D), welche jeweils an einem Ende eines Pfads (P) in der Datenstruktur (DS) angeordnet sind, wobei die Dienstobjekte (D) die zur Verfügung stehen Dienste (9, 10) repräsentieren und die Knotenpunkte (K) jeweils Kategorien repräsentieren, in welche andere Kategorien und/oder Dienste, die durch die innerhalb der hierarchischen Datenstruktur (DS) auf einer Ebene (II, III) unter dem jeweiligen Knotenpunkt (K) angeordneten, weiteren Knotenpunkte (K) und/oder Dienstobjekte (D) repräsentiert werden, klassifiziert sind,
dadurch gekennzeichnet,
dass zumindest zu einem Teil der Dienstobjekte (D) und/oder Knotenpunkte (K) innerhalb der Datenstruktur (DS) eine Mehrzahl von verschiedenen Pfaden (P) führt,
dass jedem Knotenpunkt (K) und jedem Dienstobjekt (D) der Datenbank (6) ein oder mehrere Schlüsselworte (S) zugeordnet sind, und
dass das Sprach-Dialogsystem (1)
eine Analyseeinheit (11), um bei einem Empfang einer Spracheingabe des Nutzer aus dieser Spracheingabe Suchworte zu extrahieren,
eine Sucheinheit (12), um auf Basis der Suchworte eine Anzahl von Kandidaten- Knotenpunkten (K) und/oder Kandidaten-Dienstobjekten (D) innerhalb der Datenbank (6) zu suchen, deren zugeordnete Schlüsselworte (S) gemäß einem vorgegeben Akzeptanzkriterium mit den Suchworten übereinstimmen, wobei die Sucheinheit (12) derart aufgebaut ist, dass sie eine Suche in mehreren Suchschritten durchführt, bis nach einem Suchschritt die Anzahl der ermittelten Kandidaten-Knotenpunkte (K) und/oder Kandidaten-Dienstobjekte (D) oberhalb einer vorgegebenen Minimalanzahl und unterhalb einer vorgegebenen Maximalanzahl liegt, und
eine Promptgenerierungseinheit (13), um nach einem erfolgreichen Suchschritt ein Sprachausgabe-Menü zu generieren, um die durch die ermittelten Kandidaten-Knotenpunkte (K) und/oder Kandidaten-Dienstobjekte (D) repräsentierten Kategorien und/oder Dienste (9, 10) an den Nutzer zur Auswahl einer bestimmten Kategorie oder eines bestimmten Dienstes (9, 10) mittels der Sprachausgabeeinrichtung (3) anzusagen,
aufweist.
12. Computerprogramm mit Programmcode-Mitteln, um alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 10 auszuführen, wenn das Programm auf einem Computer eines Sprach-Dialogsystems ausgeführt wird.
DE10209928A 2002-03-07 2002-03-07 Verfahren zum Betrieb eines Sprach-Dialogsystems Withdrawn DE10209928A1 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE10209928A DE10209928A1 (de) 2002-03-07 2002-03-07 Verfahren zum Betrieb eines Sprach-Dialogsystems
AU2003207897A AU2003207897A1 (en) 2002-03-07 2003-03-03 Method of operating a speech dialogue system
DE60316125T DE60316125T2 (de) 2002-03-07 2003-03-03 Verfahren und betrieb eines sprach-dialogsystems
EP03704899A EP1485908B1 (de) 2002-03-07 2003-03-03 Verfahren zum betrieb eines sprachdialogsystems
AT03704899T ATE372574T1 (de) 2002-03-07 2003-03-03 Verfahren zum betrieb eines sprachdialogsystems
US10/506,402 US20050171779A1 (en) 2002-03-07 2003-03-03 Method of operating a speech dialogue system
JP2003573635A JP4460305B2 (ja) 2002-03-07 2003-03-03 音声対話システムの操作方法
PCT/IB2003/000834 WO2003075260A1 (en) 2002-03-07 2003-03-03 Method of operating a speech dialogue system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10209928A DE10209928A1 (de) 2002-03-07 2002-03-07 Verfahren zum Betrieb eines Sprach-Dialogsystems

Publications (1)

Publication Number Publication Date
DE10209928A1 true DE10209928A1 (de) 2003-09-18

Family

ID=27762753

Family Applications (2)

Application Number Title Priority Date Filing Date
DE10209928A Withdrawn DE10209928A1 (de) 2002-03-07 2002-03-07 Verfahren zum Betrieb eines Sprach-Dialogsystems
DE60316125T Expired - Lifetime DE60316125T2 (de) 2002-03-07 2003-03-03 Verfahren und betrieb eines sprach-dialogsystems

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60316125T Expired - Lifetime DE60316125T2 (de) 2002-03-07 2003-03-03 Verfahren und betrieb eines sprach-dialogsystems

Country Status (7)

Country Link
US (1) US20050171779A1 (de)
EP (1) EP1485908B1 (de)
JP (1) JP4460305B2 (de)
AT (1) ATE372574T1 (de)
AU (1) AU2003207897A1 (de)
DE (2) DE10209928A1 (de)
WO (1) WO2003075260A1 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102149A1 (en) * 2003-11-12 2005-05-12 Sherif Yacoub System and method for providing assistance in speech recognition applications
JP2005292476A (ja) * 2004-03-31 2005-10-20 Jfe Systems Inc 顧客応対方法及び装置
EP1889181A4 (de) * 2005-05-16 2009-12-02 Ebay Inc Verfahren und system zum verarbeiten einer datensuchanforderung
US7773731B2 (en) * 2005-12-14 2010-08-10 At&T Intellectual Property I, L. P. Methods, systems, and products for dynamically-changing IVR architectures
US7577664B2 (en) 2005-12-16 2009-08-18 At&T Intellectual Property I, L.P. Methods, systems, and products for searching interactive menu prompting system architectures
AU2007211838A1 (en) * 2006-02-01 2007-08-09 Icommand Ltd Human-like response emulator
US7961856B2 (en) 2006-03-17 2011-06-14 At&T Intellectual Property I, L. P. Methods, systems, and products for processing responses in prompting systems
US8166027B2 (en) * 2006-03-30 2012-04-24 International Business Machines Corporation System, method and program to test a web site
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9214156B2 (en) * 2013-08-06 2015-12-15 Nuance Communications, Inc. Method and apparatus for a multi I/O modality language independent user-interaction platform
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
JP6305629B2 (ja) * 2015-03-19 2018-04-04 株式会社東芝 分類装置、方法及びプログラム
CN104794218B (zh) * 2015-04-28 2019-07-05 百度在线网络技术(北京)有限公司 语音搜索方法和装置
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
KR20210001082A (ko) * 2019-06-26 2021-01-06 삼성전자주식회사 사용자 발화를 처리하는 전자 장치와 그 동작 방법
CN111242431A (zh) * 2019-12-31 2020-06-05 联想(北京)有限公司 信息处理方法和装置、构建客服对话工作流的方法和装置
US20220366911A1 (en) * 2021-05-17 2022-11-17 Google Llc Arranging and/or clearing speech-to-text content without a user providing express instructions

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6478327A (en) * 1987-01-22 1989-03-23 Ricoh Kk Inference system
JPH0748219B2 (ja) * 1989-12-25 1995-05-24 工業技術院長 会話制御システム
JPH03282677A (ja) * 1990-03-29 1991-12-12 Nec Corp 記号と概念の対応関係の設定方法
JP2837047B2 (ja) * 1992-11-06 1998-12-14 シャープ株式会社 文書データ検索機能付き文書処理装置
US6701428B1 (en) * 1995-05-05 2004-03-02 Apple Computer, Inc. Retrieval of services by attribute
US6192110B1 (en) * 1995-09-15 2001-02-20 At&T Corp. Method and apparatus for generating sematically consistent inputs to a dialog manager
US7050977B1 (en) * 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US6829603B1 (en) * 2000-02-02 2004-12-07 International Business Machines Corp. System, method and program product for interactive natural dialog
JP3827058B2 (ja) * 2000-03-03 2006-09-27 アルパイン株式会社 音声対話装置
WO2001067351A1 (en) * 2000-03-09 2001-09-13 The Web Access, Inc. Method and apparatus for performing a research task by interchangeably utilizing a multitude of search methodologies
US6625595B1 (en) * 2000-07-05 2003-09-23 Bellsouth Intellectual Property Corporation Method and system for selectively presenting database results in an information retrieval system
US6999932B1 (en) * 2000-10-10 2006-02-14 Intel Corporation Language independent voice-based search system

Also Published As

Publication number Publication date
JP2005519507A (ja) 2005-06-30
EP1485908A1 (de) 2004-12-15
JP4460305B2 (ja) 2010-05-12
WO2003075260A1 (en) 2003-09-12
EP1485908B1 (de) 2007-09-05
ATE372574T1 (de) 2007-09-15
DE60316125D1 (de) 2007-10-18
US20050171779A1 (en) 2005-08-04
AU2003207897A1 (en) 2003-09-16
DE60316125T2 (de) 2008-06-19

Similar Documents

Publication Publication Date Title
DE60316125T2 (de) Verfahren und betrieb eines sprach-dialogsystems
DE60217579T2 (de) Automatische Steuerung von Hausgeräten mittels Erkennung von natürlicher Sprache
DE60017000T2 (de) Verfahren zur zielorientierten Sprachübersetzung mittels Extraktion der Bedeutung und Dialog
DE10220524B4 (de) Verfahren und System zur Verarbeitung von Sprachdaten und zur Erkennung einer Sprache
DE69934275T2 (de) Gerät und Verfahren um die Benutzerschnittstelle der integrierten Sprachantwortsystemen zu verbessern
EP0963581B1 (de) Verfahren und system zur bereitstellung und übermittlung individualisierter verkehrsinformationen
DE69730929T2 (de) System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften
DE112009005365B4 (de) Verfahren und systeme zum weiterleiten von anrufen an ein call-center basierend auf gesprochenen sprachen
DE102006037250A1 (de) Verfahren und Vorrichtungen zur Identitätsverifikation
EP1071075A2 (de) Verfahren zur Eingabe von Daten in ein System
DE102006006551B4 (de) Verfahren und System zum Bereitstellen von Sprachdialoganwendungen sowie mobiles Endgerät
WO2003030149A1 (de) Dynamischer aufbau einer dialogsteuerung aus dialogobjekten
EP1361737A1 (de) Verfahren und System zur Verarbeitung von Sprachdaten und Klassifizierung von Gesprächen
DE10034694B4 (de) Verfahren zum Vergleichen von Suchprofilen sowie dessen Verwendung
DE10208295A1 (de) Verfahren zum Betrieb eines Sprach-Dialogsystems
EP1370995A1 (de) Verfahren und kommunikationssystem zur generierung von antwortmeldungen
EP1249992B1 (de) Verfahren zum Betrieb eines automatischen Branchen-Auskunftssystems
EP1330817B1 (de) Robuste spracherkennung mit datenbankorganisation
EP1340169B1 (de) Verfahren und vorrichtung zur automatischen auskunfterleitung mittels einer suchmaschine
EP1321851B1 (de) Verfahren und System zum Nutzen von vom Nutzer frei zu wählenden Markierungsnamen als Einsprungposition in die Menustruktur eines Sprach-Dialogsystems
DE10118125A1 (de) Automatisches Auskunftssystem
EP1361738A1 (de) Verfahren und System zur Verarbeitung von Sprachdaten mittels Spracherkennung und Frequenzanalyse
EP1909472A1 (de) Kontextsensitive Kommunikationsfunktion
DE60125597T2 (de) Vorrichtung für die Dienstleistungsvermittlung
WO1999005681A1 (de) Verfahren zum abspeichern von suchmerkmalen einer bildsequenz und zugriff auf eine bildfolge in der bildsequenz

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee