-
Die
Erfindung bezieht sich auf ein Dialogsystem und insbesondere auf
seine Speicherarchitektur und ein Speichermanagement-Verfahren in
einem Dialogsystem.
-
Dialogsysteme
sind normalerweise aufgabenorientiert, d. h., für eine spezifische Anwendung spezialisiert.
Das Dialogmanagement und der Dialogspeicher werden entsprechend
der Aufgabe entwickelt und implementiert. Das Dialogmanagement ist
typischerweise als ein endlicher Automat implementiert, in dem die
Eingaben eines Anwenders oder die Handlungen des Systems Übergänge von
Zustand zu Zustand auslösen.
Jeder Zustand definiert einen spezifischen Kontext. Das Dialogmanagement ist
lokal im gegebenen Zustand implementiert, wobei es auf die Funktionalität begrenzt
ist, die für
den Kontext im Voraus definiert worden ist, den der Zustand modelliert.
Der Dialogspeicher ist unter Verwendung von Datenstrukturen implementiert,
um die Informationen zu speichern, die während des Dialogs ausgetauscht
werden, die für
die Aufgabe relevant sind, und um außerdem zusätzliche Informationen über den
Gesamtsystemsstatus zu speichern, siehe z. B.
EP0911783 .
-
Um
z. B. den Informationsaustausch während des Dialogs zu speichern,
der für
die Aufgabe relevant ist, könnte
ein Dialogsystem, das für
die Aufgabe des Bereitstellens von Zeitplänen für Züge spezialisiert ist, nur eine
Tabelle verwenden, um alle für die
Aufgabe relevanten Informationen, z. B. den Abfahrtsort, das Ziel,
die Abfahrts- und/oder Ankunftszeit, als eine Datenstruktur ähnlich zu
vorhandenen Fahrplänen
zu speichern.
-
Weil
derartige aufgabenorientierte Dialogsysteme, die eingeschränkt sind,
um spezifische Dienste bereitzustellen, einen Dialogspeicher implementieren,
der eng mit der spezifischen Aufgabe in Beziehung steht, d. h. nur
Informationen speichern, die ausreichend sind, um die Aufgabe in
einem gegebenen Zustand auszuführen,
ist es wahrscheinlich, dass Informationen, die nicht in einer vorgegebenen Reihenfolge
eingegeben werden, d. h. Informationen, die in einem anderen Zustand
eingegeben werden sollten, vermisst werden, wobei das System abermals
nach diesen Informationen fragen muss, selbst wenn sie bereits durch
den Anwender eingegeben worden sind.
-
Deshalb
ist es die der Erfindung zu Grunde liegende Aufgabe, vorhandene
Dialogsysteme im Hinblick auf ihre Speicherstruktur und ihr Speichermanagement
zu verbessern, so dass alle eingegebenen und/oder ausgegebenen Informationen
richtig verarbeitet werden können.
-
Diese
Aufgabe wird durch ein Dialogsystem gemäß dem unabhängigen Anspruch 1 und ein Speichermanagement-Verfahren
in einem Dialogsystem gemäß dem unabhängigen Anspruch
6 gelöst.
Bevorzugte Ausführungsformen
sind in den jeweiligen folgenden Unteransprüchen entsprechend definiert. Computerprogrammprodukte
gemäß der Erfindung sind
in den Ansprüchen
9 und 10 definiert.
-
Gemäß der Erfindung
umfasst ein Dialogsystem mehrere Speichereinheiten, von denen jede
eine Informationseinheit speichern kann, und wenigstens eine logische
Verbindung zwischen der Speichereinheit und wenigstens einer anderen
der Speichereinheiten.
-
Das
Speichermanagement-Verfahren in einem Dialogsystem gemäß der Erfindung
umfasst die Schritte des Speicherns einer Informationseinheit in einer
Speichereinheit zum Zeitpunkt des Auftretens der Informationseinheit
und des Zuweisens wenigstens einer logischen Verbindung zu wenigstens
einer anderen Speichereinheit zu dieser Speichereinheit nach der
Speicherung der Informationseinheit und des Speicherns der wenigstens
einen logischen Verbindung in der Speichereinheit.
-
Deshalb
sind gemäß der Erfindung
Vorkehrungen gegeben, um die ganzen während eines Dialogs durch beide
Teilnehmer, d. h. durch den Anwender und durch das System selbst,
ausgetauschten Information speichern.
-
Beispiele
derartiger logischer Verbindungen sind historische Positionen in
dem Dialog, die Spracheingabe eines bestimmten Anwenders, der tatsächliche/-geschätzte semantische
Inhalt der Speichereinheit und/oder spezifische Anwendereingaben auf
eine spezifische Systemausgabe. Jede Speichereinheit könnte mehrere
logische Verbindungen speichern, z. B. eine entsprechend ihrer historischen
Position im Dialog und eine andere entsprechend der Beziehung zwischen
der Anwendereingabe und der Systemausgabe. Die logischen Verbindungen
könnten
z. B. Zeiger auf vorhergehende und/oder nachfolgende Speichereinheiten
oder Zeiger auf einen Index, der die entsprechende Wechselbeziehung
definiert, sein.
-
Eine
Informationseinheit ist vorzugsweise ein "einziges Stück der Informationen", d. h. die bei jeder
Wendung des Dialogs ausgetauschten Informationen, das entweder durch
den Anwender oder durch das System erzeugt wird, z. B. der durch
den Anwender ausgesprochene Satz oder die durch das System ausgeführte Handlung
oder allgemeiner eine Anwendereingabe oder eine Systemausgabe.
-
Im
Ergebnis ist es möglich,
mehrere verschiedene Informationseinheiten zu verarbeiten, die in
den Anwendereingaben enthalten sind, selbst wenn diese Informationseinheiten
nicht in einer richtigen vorgegebenen Reihenfolge und zum richtigen Zeitpunkt
eingegeben werden. Deshalb werden komplexe Dialogsysteme, z. B.
Gesprächssysteme,
und ihre Implementierung durch das Dialogsystem und das Speichermanagement-Verfahren
gemäß der Erfindung
unterstützt.
-
Das
Dialogsystem gemäß der Erfindung
umfasst vorzugsweise wenigstens ein Speichermanager-Modul, das jeweils
so beschaffen ist, dass es das Management von wenigstens einer Gruppe
von logisch verbundenen Speichereinheiten ausführt. Damit kann ein Speichermanager-Modul
z. B. das Management der gesamten Speichereinheiten des Dialogsystems
ausführen
oder könnten
mehrere Speichermanager-Module vorgesehen sein, von denen jedes
für eine
oder mehrere Gruppen von Speichereinheiten verantwortlich ist.
-
Ferner
ist das Speichermanager-Modul vorzugsweise so beschaffen, dass es
eine Definition der Inhalte jeder gemanagten Gruppe der Speichereinheiten
speichert und/oder eine Definition der Inhalte wenigstens einer
Speichereinheit jeder gemanagten Gruppe von Speichereinheiten speichert.
-
Alternativ
oder zusätzlich
könnte
ein Speichermanager-Modul eine logische Verbindung zur ersten und/oder
eine logische Verbindung zur letzten logisch verbundenen Speichereinheit
jeder gemanagten Gruppe von Speichereinheiten speichern. Um eine
entsprechende Gruppe der logisch verbundenen Spei chereinheiten (die
als ein Speichernetz betrachtet werden könnte) zu durchsuchen, könnte den logischen
Verbindungen von einer Speichereinheit zur vorhergehenden oder nachfolgenden
Speichereinheit von einer Speichereinheit zur anderen gefolgt werden.
Es sind jedoch außerdem
andere Ausführungsformen,
wie ein Index, um ein Speichernetz zu definieren, möglich.
-
Vorzugsweise
sind eine oder mehrere der Speichereinheiten in einer Speicherschicht
gruppiert, die eine Gruppe aus einer oder mehreren logisch verbundenen
Speichereinheiten umfasst und die einer Verarbeitungsstufe des Dialogsystems
zugewiesen ist. Derartige Verarbeitungsstufen des Dialogsystems könnten z.
B. die Schlüsselstufen
bei der Verarbeitung der Anwendereingaben und Systemausgaben sein.
Eine Verarbeitungsstufe könnte
so betrachtet werden, dass sie einen Schritt bei der Verarbeitung der
spezifischen Modalität
darstellt, die bei der Eingabe des Anwenders betrachtet wird. Vorzugsweise umfasst
jede Speicherschicht homogene Informationen. In einer derartigen
Organisation könnten
die Speichernetze Verknüpfungen
innerhalb der Schicht, die z. B. den Verknüpfungen der Speichereinheiten
in einer Speicherschicht entsprechen, und die Schicht überschreitende
Verknüpfungen,
die z. B. den Verknüpfungen
der Speichereinheiten entsprechen, die die gleichen historischen
Anwendereingabe- oder Systemausgabe-Informationen, aber in verschiedenen
Schichten, z. B. in verschiedenen Verarbeitungsstufen, speichern,
umfassen.
-
Ferner
ist gemäß der Erfindung
vorzugsweise ein Speichermanager-Modul für jede der wenigstens einen
Speicherschicht vorgesehen, wobei das Speichermanager-Modul jeweils
so beschaffen ist, dass es das Management der jeweils entsprechenden
Speicherschicht ausführt.
-
Das
Speichermanagement-Verfahren gemäß der Erfindung
umfasst vorzugsweise außerdem den
Schritt des Definierens der Inhalte einer Gruppe logisch verbundener
Speichereinheiten und das Management der Inhalte in einem Speichermanager-Modul.
-
Das
Speichermanagement-Verfahren gemäß der Erfindung
umfasst ferner vorzugsweise außerdem
den Schritt des Speicherns einer logischen Verbindung zur ersten
und/oder einer logischen Verbindung zur letzten logisch verbundenen
Speichereinheit jeder gemanagten Gruppe von Speichereinheiten in
einem Speichermanager-Modul.
-
Deshalb
kann gemäß der Erfindung,
wie z. B. der Dialog weitergeht, eine bessere Spezifikation des Kontextes
und der Ziele des Anwenders für
das System verfügbar
sein, wobei dann vorhergehende Eingaben des Anwenders erneut verarbeitet
werden können
und/oder vorhergehende Handlungen des Systems erneut verarbeitet
werden können
und oder vorhergehende Handlungen des Systems entsprechend der Struktur,
die in einem oder mehreren Speichernetzen gegeben ist, überprüft werden
können. Außerdem könnte es
möglich
sein, das erneute Stellen von Fragen an den Anwender zu vermeiden,
falls fehlende Informationen aus vorhergehenden Eingaben wiedergewonnen
werden können,
wenn später im
Verlauf des Dialogs aus anderen Eingaben neues Wissen erlangt worden
ist. Außerdem
können
die Speicherinhalte abgespeichert und über mehrere Dialoge verwendet
werden, wobei sie dann verwendet werden können, um ein richtiges Anwenderprofil
für eine
bessere Anpassung des Systems an die Vorlieben jedes Anwenders aufzubauen
und aufrechtzuerhalten.
-
Weitere
Vorteile und Merkmale des Dialogsystems und des Speichermanagement-Verfahrens in
einem Dialogsystem gemäß der Erfindung
werden deutlicher anhand der folgenden Beschreibung einer beispielhaften
Ausführungsform
in Verbindung mit den beigefügten
Figuren, worin:
-
1 einen
Blockschaltplan eines Dialogsystems mit der Speicherarchitektur
für die
Eingaben des Anwenders gemäß der Erfindung
zeigt; und
-
2 einen
Blockschaltplan eines vereinfachten allgemeinen Dialogsystems zeigt.
-
Das
typische Dialogsystem 8, das in 2 gezeigt
ist, umfasst eine Spracherkennungseinrichtung 2, die die
Anwendereingaben, hier Spracheingaben, empfängt und ihre Ergebnisse an
die Sprachverarbeitungseinheit 6 liefert. Die Sprachverarbeitungseinheit 6 interpretiert
die erkannten Anwendereingaben und stellt ihre Ergebnisse einem
Dialogmanager 7 bereit, der die Systemausgaben dem Anwender 1 bereitstellt.
-
Das
gezeigte Dialogsystem basiert auf einer Spracheingabe, ist aber – selbst
verständlich – nicht darauf
eingeschränkt.
Alternativ oder zusätzlich könnten eine
Texteingabe oder irgendeine andere Eingabemöglichkeit verwendet werden.
In einem derartigen Fall muss eine entsprechende Erkennungseinrichtung "für die Anwendereingaben" anstelle der oder
zusätzlich
zur Spracherkennungseinrichtung 2 implementiert werden.
Ferner könnte
die Systemausgabe in irgendeiner gewünschten Form, z. B. textlich, als
Sprachausgabe, taktil usw. an den Anwender geliefert werden.
-
Das
Dialogsystem 8 gemäß der Erfindung, das
in 1 gezeigt ist, umfasst außerdem die Speichereinheiten 4,
die in Speicherschichten 5 angeordnet sind, deren Management
durch die Speichermanager-Module 3 ausgeführt wird.
Insbesondere ist eine erste Speicherschicht 51 zwischen
der Spracherkennungseinrichtung 2 und der Sprachverarbeitungseinheit 6 vorgesehen,
wobei eine weitere Speicherschicht 5n zwischen
der Sprachverarbeitungseinheit 6 und dem Dialogmanager 7 gezeigt
ist.
-
Das
Management der ersten Speicherschicht 51 wird
durch ein entsprechendes erstes Speichermanager-Modul 31 ausgeführt, wobei sie N Speichereinheiten 411 bis 41N ,
N ist eine positive ganze Zahl, umfasst, von denen drei in 1 gezeigt sind,
nämlich
eine erste Speichereinheit 411 ,
eine j-te Speichereinheit 41j und
eine N-te Speichereinheit 41N .
-
Die
weitere Speicherschicht 5n umfasst
ein weiteres Manager-Speicher-Modul 3n und
N Speichereinheiten 4n1 bis 4nN , von denen drei in 1 gezeigt
sind, nämlich
eine erste Speichereinheit 4n1 , eine
j-te Speichereinheit 4nj und eine
N-te Speichereinheit 4nN .
-
Die
erste und die weitere Speicherschicht 51 , 5n sind nur beispielhaft für alle n
Speicherschichten, n ist eine positive ganze Zahl, gezeigt, die
in verschiedenen Stufen des Dialogsystems 8 angeordnet sein
könnten,
z. B. zusätzlich
zu der gezeigten ersten und der gezeigten weiteren Speicherschicht 51 , 5n zwischen
der Spracherkennungseinrichtung 2, der Sprachverarbeitungseinheit 6 und
dem Dialogmanager 7. Im Allgemeinen könnten die Speicherschichten zwischen
oder nach den Verarbeitungsmodulen angeordnet sein, die die Verarbeitungsstufen
des Dialogsystems definieren, und ein Teilergebnis der Verarbeitung
speichern. Außerdem
muss die Anzahl der Speichereinheiten 4 innerhalb der verschiedenen Speicherschichten 5 nicht
notwendiger Weise gleich sein.
-
In
dem gezeigten Beispiel wird die erste Speicherschicht 51 als eine Speicherschicht für die Spracherkennungsergebnisse
verwendet, während die
weitere Speicherschicht 5n als
eine Speicherschicht für
die Sprachverarbeitungsergebnisse verwendet wird. Die Speichereinheiten
innerhalb einer entsprechenden Speicherschicht sind durch Verknüpfungen
innerhalb der Schicht logisch verknüpft, z. B. entsprechend der
historischen Position einer in der entsprechenden Speichereinheit
gespeicherten Informationseinheit im Dialog. Beispielhaft ist die
erste Speichereinheit 411 der ersten
Speicherschicht 51 mit der j-ten
Speichereinheit 41j der ersten
Speicherschicht 51 verknüpft, die
mit der N-ten Speichereinheit 41N der
ersten Speicherschicht 51 verknüpft ist. Ähnlich ist
die erste Speichereinheit 4n1 der
weiteren Speicherschicht 5n mit
der j-ten Speichereinheit 4nj der
weiteren Speicherschicht 5n verknüpft, die
mit der N-ten Speichereinheit 4nN der
weiteren Speicherschicht 5n verknüpft ist.
-
In
beiden gezeigten Speicherschichten 51 , 5n könnten
zusätzliche
Speichereinheiten 2, ..., j – 1 zwischen der ersten Speichereinheit 4x1 und der j-ten Speichereinheit 4xj angeordnet sein, wobei zusätzliche
Einheiten j + 1, ..., N – 1
zwischen der j-ten Speichereinheit 4xj und
der N-ten Speichereinheit 4xN für jede Speicherschicht 5x mit x = 1, ..., n angeordnet sein
könnten.
Diese Speichereinheiten werden dann in ihrer numerischen Reihenfolge
(= historisch) über Verknüpfungen
innerhalb der Schicht mit den gezeigten ersten, j-ten und N-ten
Speichereinheiten 4x1 , 4xj , 4xN verknüpft.
-
Ferner
sind die gezeigten Speichereinheiten über die Schicht überschreitende
Verknüpfungen
logisch zwischen verschiedenen Speicherschichten verbunden, hier
z. B. jeweils die ersten Speichereinheiten 411 4n1 , die j-ten Speichereinheiten 41j , 4nj und die
N-ten Speichereinheiten 41N , 4nN , weil z. B. die Spracherkennungsergebnisse
innerhalb der Speichereinheiten der ersten Speicherschicht 51 (historisch) den Informationseinheiten
entsprechen, die im Ergebnis der Sprachverarbeitungseinheit 6 in
den entsprechenden Speichereinheiten der weiteren Speicherschicht 5N gespeichert sind. Selbstverständlich müssen diese
logischen Verbindungen nicht nur zwischen Speichereinheiten, die
entsprechende Nummern besitzen, d. h. zwischen den ersten Speichereinheiten,
den j-ten Speichereinheiten
und den N-ten Speichereinheiten, vorhanden sein, sondern sie könnten – abhängig von
der entsprechenden gespeicherten Informationseinheit – außerdem z.
B. zwischen der ersten Speichereinheit 411 der
ersten Speicherschicht 51 und der
j-ten Speichereinheit 4nj der weiteren
Speicher schicht 5n hergestellt
werden, falls diese Speichereinheiten einander (z. B. historisch)
entsprechen.
-
Außerdem werden
Verknüpfungen
für geschätzte Inhalte
zwischen mehreren Speichereinheiten innerhalb einer Speicherschicht 5 hergestellt,
in dem gezeigten Beispiel die ersten und N-ten Speichereinheiten 4x1 , 4xN einer
Speicherschicht 5, aber es könnten – wie im Fall der gezeigten
die Schicht überstreitenden
Verknüpfungen – Verknüpfungen
für geschätzte Inhalte
außerdem
zwischen verschiedenen Schichten und anderen als den gezeigten Speichereinheiten
hergestellt werden. Außerdem
könnten längere Ketten
der Speichereinheiten 4 aufgebaut werden, wobei die Verknüpfungen
für geschätzte Inhalte
in jeder Speicherschicht 5 anders sein könnten.
-
Im
Folgenden wird eine ausführlichere
Beschreibung der Speicherarchitektur gemäß der Erfindung, die in 1 beispielhaft
gezeigt ist, gegeben. In dieser Beschreibung werden, wo es geeignet
ist, keine ausführlichen
Bezugnahmen auf die Nummer einer Speicherschicht oder einer Speichereinheit
darin gegeben, stattdessen werden allgemeine Bezugnahmen – wie sie
außerdem
in der obigen Beschreibung verwendet worden sind – auf eine
oder mehrere Speicherschichten) 5 und eine oder mehrere
Speichereinheiten) 4 gegeben.
-
Wie
oben angegeben ist, ist die Speicherarchitektur in Form von Speichereinheiten,
d. h. den Speichereinheiten 4, der Speicherschichten 5 und von
mehreren verschiedenen logischen Verbindungen zwischen diesen Speichereinheiten 4 definiert. Diese
logischen Verbindungen sind als ein entsprechendes Speichernetz
angegeben. Die Speichereinheiten 4 speichern die tatsächlichen
Informationen, die während
des Dialogs ausgetauscht werden, wobei die Speicherschichten Speichereinheiten
enthalten, die die gleiche Darstellung der Informationen gemeinsam
benutzen, d. h. der Informationen in einer spezifischen Stufe der
Verarbeitung. Die Speichernetze organisieren die Speichereinheiten
aus mehreren verschiedenen Standpunkten, die Speichereinheiten sind
z. B. in einer Zeitlinie organisiert.
-
Im
Prinzip könnte
das Management des gesamten Dialogspeichers durch ein Speichermanager-Modul
ausgeführt
werden, auf das sich alle anderen Komponenten des Dialogsystems
für den
Speicherzugriff stützen;
diese Organisation könnte
als eine Einschichtstruktur betrachtet werden. Das Vorhandensein mehrerer
verschiedener Speicherschichten und getrennter entsprechender Speichermanager-Module
unterstützt
das Organisieren und das Vereinfachen der Gesamtspeicherstruktur
und unterstützt
außerdem
das Implementieren einer richtigen Speicherzugriffs-Politik; z.
B. würden
der Sprachprozessoreinheit 6 keine Zugriffsrechte auf die
Speicherschicht gegeben, die z. B. die Signalverarbeitungsinformationen
speichert.
-
Gemäß der beispielhaften
Ausführungsform der
Erfindung ist das Dialogsystem 8 mit den Speichereinheiten 4 für zwei Schlüsselstufen
des Dialogsystems 8 versehen. Diese Speichereinheiten 4 sind geeignet
in einer Speicherschicht 5 für jede Schlüsselstufe organisiert. Hier
sind die Schlüsselstufen
die Spracherkennungseinrichtung 2 und die Sprachverarbeitungseinheit 6.
-
In
Abhängigkeit
von den Modalitäten,
die durch das Dialogsystem verwendet werden, könnten verschiedenen Stufen
für die
Schlüsselstufen
der Anwendereingabe identifiziert werden. In einem Dialogsystem
mit gesprochener Sprache könnten
z. B. die Schlüsselstufen
so gewählt
werden, wie in 2 dargestellt ist. Allgemeiner
stellt jede Stufe einen Schritt bei der Verarbeitung der spezifischen
Modalität
dar, die bei der Eingabe des Anwenders betrachtet wird. Typischerweise
umfasst die Verarbeitung z. B. die Erfassungs-, Analyse-, Erkenntnis-
und Verständnisstufen.
-
In
Abhängigkeit
von der spezifischen Architektur und vom Typ des Systems können außerdem verschiedenen
Stufen für
die Systemausgaben identifiziert werden. In einem aufgabenorientierten
System könnte
z. B. die einzige Stufe die Zuordnung der Eingabe des Anwenders
zu einer Systemhandlung sein. Unter Verwendung der Speichereinheiten 4 für eine derartige
Stufe kann sich das System "erinnern", was es in Reaktion
auf eine spezifische Eingabe des Anwenders getan hat. Diese Informationen
könnten bei
der Fortsetzung des Dialogs hilfreich sein.
-
Wie
vorher angegeben worden ist, ist eine Speicherschicht 5 für jede der
Verarbeitungsstufen vorgesehen. Jede Speicherschicht 5 umfasst
mehrere Speichereinheiten 4, von denen jede ein einziges Stück der Informationen
enthält,
z. B. eine Eingabe eines Anwenders (z. B. eine Äußerung) oder eine Systemausgabe
(z. B. eine Handlung). Jede Speicherschicht 5 enthält homogene
Informationen, z. B. speichern die Speichereinheiten 4 in
der ersten Speicherschicht 51, die in der Stufe zwischen
der Spracherkennungseinrichtung 2 und dem Sprachverständnismodul,
d. h. dem Sprachprozessor 6, verwendet wird, Wort-Graphen, wie sie
sich aus dem Spracherkennungsprozess ergeben.
-
Jedes
Mal, wenn eine neue Speichereinheit 4 zu einer Speicherschicht 5 hinzugefügt wird,
wird sie mit den anderen vorhandenen Speichereinheiten 4 logisch "verbunden", wobei sie folglich
in wenigstens ein Speichernetz, z. B. das Speichernetz, das die
Zeitlinie darstellt, logisch eingefügt wird. Im Allgemeinen wird
jede Speichereinheit 4 in mehrere verschiedene Speichernetze
entsprechend der Speicherschicht, zu der sie gehört zu, und entsprechend der
Dialogmanagement-Strategie logisch eingefügt. Insbesondere wird die Speichereinheit 4 normalerweise
nicht kopiert und physisch in mehrere Speichernetze eingefügt; es werden
nur Verbindungen, z. B. Zeiger, auf andere Speichereinheiten erzeugt.
Die erste Speichereinheit 4x1 einer
Speicherschicht 5 ist nicht notwendigerweise mit anderen
vorhandenen Speichereinheiten 4 logisch verbunden, nachdem eine
Informationseinheit in ihr gespeichert worden ist.
-
Wie
in 1 gezeigt ist und wie vorher angegeben worden
ist, kann ein Speichernetz sowohl die Speichereinheiten 4,
die zur selben Speicherschicht 5 gehören, als auch die Speichereinheiten 4,
die zu verschiedenen Speicherschichten 5 gehören, miteinander
verknüpfen.
-
Auf
jede Speicherschicht 5 könnte durch die Module des Dialogsystems,
z. B. die Spracherkennungseinrichtung 2, die Sprachverarbeitungseinheit 6 und
den Dialogmanager 7, zugegriffen werden, die nur zu der
entsprechenden Stufe der Verarbeitung gehören. Der Dialogmanager 7 könnte z.
B. Zugriff auf alle Speicherschichten 5 besitzen, während die Sprachprozessoreinheit 6 nur
auf die erste Speicherschicht 51 ,
z. B. auf die linguistische Anwendereingabe, Zugriff besitzen würde, die
von der Spracherkennungseinrichtung 2 ausgegeben wird.
Selbstverständlich
könnte
es in einem multimodalen Dialogsystem für die Sprachverarbeitungseinheit 6 zweckmäßig sein,
ebenso auf andere Speicherschichten zuzugreifen.
-
Für das richtige
Management des Speichers, der als ein Betriebsmittel für das System
betrachtet wird, wird das Management jeder Speicherschicht 5 gemäß der gezeigten
Ausführungsform
der Erfindung durch das Speichermanager-Modul 3 ausgeführt. Die
Struktur eines Speichermanager-Moduls 3, z. B. der Code,
um ein Speichermanager-Modul 3 in Software zu implementieren,
könnte
eindeutig sein, wobei sie konfiguriert werden kann, um alle Arten
der Schichten zu behandeln, d. h., wenn das System arbeitet, wird
für jedes
Speichermanager-Modul 3 eine Instanz gebildet, wobei verschiedene
Parameter verwendet werden, um jedes Speichermanager-Modul 3 für die spezifischen
Inhalte zu konfigurieren, die in dieser Stufe in der entsprechenden
Speicherschicht 5 zu speichern sind. Mit anderen Worten,
jedes Speichermanager-Modul 3 weiß über die Inhalte der Speicherschicht 5,
deren Management es ausführt,
Bescheid, wobei erforderlichenfalls die richtige Validierung der
Dienstanforderungen ausgeführt
werden kann. Der Speichermanager könnte z. B. als eine Klasse
in einer objektorientierten Sprache implementiert sein, wobei dann
für jedes
Speichermanager-Modul als ein Objekt dieser Klasse eine Instanz gebildet
wird.
-
Die
Konfiguration eines Speichermanager-Moduls 3 umfasst die
Definition der Inhalte der Speicherschicht 5 (und/oder
ihrer Speichereinheiten 4). Sobald ein Speichermanager-Modul 3 konfiguriert ist,
kann es die Anforderungen, die von den Modulen kommen, die im Dialogsystem
enthalten sind, richtig erkennen, validieren und bedienen. Ein Speichermanager-Modul 3,
das für
einen Wort-Graphen
konfiguriert ist, würde
z. B. Zugriffsanforderungen zurückweisen,
die von der Spracherkennungseinrichtung 2 kommen, weil
die Spracherkennungseinrichtung 2 nur die Daten bereitstellen
soll, die in dieser Speicherschicht zu speichern sind.
-
Wie
vorher erwähnt
worden ist, könnte
jede Speicherschicht 5 für Module zugänglich sein,
die nur zu dieser entsprechenden Stufe der Verarbeitung gehören. Deshalb
kann ein Speichermanager-Modul 3 die Zugriffsanforderungen
auf die entsprechende Speicherschicht 5 validieren.
-
Außerdem können die
Speichermanager-Module 3 andere Dienste bereitstellen,
z. B. das Kopieren der Speichereinheiten 4, das Durchsuchen der
Speicherschicht 5 nach Speichereinheiten 4, die spezifische
Kriterien erfüllen,
z. B. Speichereinheiten 4, die ähnliche Informationen speichern,
das Herstellen und Aktualisieren von Verbindungen zwischen den Speichereinheiten 4 usw.
Mit anderen Worten, das Speichermanager-Modul 3 ist sowohl
für das
Erzeugen und das Gewähren
von Zugriff auf die Speichereinheiten 4 als auch für das Aufrechterhalten
des Speichernetzes innerhalb einer Speicherschicht 5 verantwortlich.
Ein Teil der Wartung des Speichernetzes wird durch das Speicherma nager-Modul 3 autonom
ausgeführt,
während
ein Teil von ihr durch andere Module, z. B. das Dialogmanager-Modul 7 des
Dialogsystems 8, angefordert und angewiesen werden kann.
Die Organisation der Speichereinheiten 4 in einer Zeitlinie
kann z. B. autonom ausgeführt
werden, während
die Organisation der Speichereinheiten 4 z. B. entsprechend
der semantischen Inhalte durch den Dialogmanager 7 angesteuert
werden könnte.
-
Im
Folgenden werden verschiedene mögliche
Strukturen der Speichernetze beispielhaft erklärt.
-
Im
Allgemeinen sollten die Inhalte des Speichers in Bezug auf die Dialoghistorie
und den Kontext strukturiert und organisiert sein, um den Dialogspeicher
nutzbar und effektiv zu machen. Mit anderen Worten, die Speichereinheiten 4 müssen eine
richtige Identifizierung und Verbindung erlauben, um in einer effektiven
Weise verwendet zu werden.
-
Insbesondere
ist jede Speichereinheit 4 mit den anderen Speichereinheiten 4 logisch
verbunden, die mit ihr in Beziehung stehen. Wie vorher erwähnt worden
ist, können
mehrere verschiedene Verbindungen zwischen (denselben) Speichereinheiten 4 definiert
sein, von denen jede als ein Speichernetz bezeichnet wird. Weil
ein Speichernetz in Form von Verbindungen zwischen Speichereinheiten
definiert ist, kann ein Speichernetz beliebig definiert sein. Dennoch
sind nicht alle Speichernetze für
den Zweck des Dialogmanagements bedeutungsvoll oder relevant. Als
ein Beispiel könnten
die folgenden Verbindungsstrategien (Beziehungen), d. h. Speichernetze, angewendet
werden:
- Die historische Position im Dialog
(der Graph der unbearbeiteten Historie) als eine zeitliche Beziehung
zwischen den Speichereinheiten 4. Die resultierende Sammlung
der Speichereinheiten 4 kann als ein Graph betrachtet werden,
dessen Struktur der Struktur der Historie des Dialogs folgt.
- Die Stufen (Schichten) überschreitende
Verbindung. Die Speichereinheiten 4, die zu verschiedenen
Speicherschichten 5 gehören,
die z. B. alle zur selben Anwenderspracheingabe gehören, können miteinander
verbunden werden. Wie z. B. in 1 gezeigt
ist, enthält
unter der Voraussetzung der Anwenderäußerung uui die
j-te Speichereinheit 41j in der
ersten Speicherschicht 51 , hier die
Speicherschicht für
den Wort-Graphen, den Wort- Graphen
wgi, der durch die Spracherkennungseinrichtung 2 für die Äußerung uui erzeugt worden ist. Die j-te Speichereinheit 4nj in der weiteren Speicherschicht 5n , hier die Speicherschicht für den Konzept-Graphen,
enthält
z. B. den Konzept-Graphen cgi, den der Prozessor 6 für die natürliche Sprache
für den
Wort-Graphen wgi erzeugt hat. Deshalb sind
die j-ten Speichereinheiten 41j , 4nj mit
einer die Schicht überschreitenden Verknüpfung verbunden
(usw. für
nachfolgende Stufen, falls es welche gibt).
- Die tatsächlichen/geschätzten semantischen
Inhalte der Speichereinheit. Die Speichereinheiten 4 werden
entsprechend dem darin gespeicherten semantischen Informationsgehalt
verbunden. Alle Speichereinheiten 4, die ein spezielles
(eine spezielle Menge von) Konzepten) enthalten, könnten z.
B. verbunden werden. Unter Verwendung eines derartigen Speichernetzes
kann das System seine Speicher vorteilhaft nutzen, das System könnte z.
B. nur auf diejenigen Speichereinheiten 4 zugreifen, von
denen erwartet wird, dass sie relevante Informationen in Bezug auf
die laufende Verarbeitung enthalten, z. B. die Anapher-Auflösung. Andere
Arten der Inhalte, z. B. Schlüsselwörter, können außerdem betrachtet
werden.
- Die Verbindungen der Anwendereingabe mit der Systemausgabe.
Die Speichereinheiten 4, die die Anwendereingaben speichern,
werden mit den Speichereinheiten 4 verbunden, die die in
Reaktion auf die gegebenen Anwendereingaben erzeugten Systemausgaben
speichern. Unter Verwendung eines derartigen Speichernetzes kann das
System z. B. möglicherweise
die ganze Wechselwirkungs-Historie rekonstruieren.
-
Es
können
mehrere andere Speichernetze erzeugt und aufrechterhalten werden,
um die Speichereinheiten 4 entsprechend mehreren und anderen
Typen der Analysator-Standpunkte und in Abhängigkeit von den Dialogmanagement-Strategien zu organisieren.
-
Wie
vorher erwähnt
worden ist, beziehen sich die oben angegebenen beispielhaften Ausführungsformen
und Beispiele auf ein System mit gesprochenen Dialogen, aber die
Speicherarchitektur gemäß der Erfidung
kann außerdem
in Mehrfachmodell-Dialogsystemen und beim Dialogmanagement verwendet
werden.
-
Deshalb
wird gemäß der Erfindung
eine Speicherarchitektur für
Dialogsysteme vorgeschlagen, die vorzugsweise wenigstens eine Speicherschicht 5 in
jeder von mehreren Schlüsselstufen
eines Dialogsystems sowohl für
die Eingabe des Anwenders als auch für die Antworten und Anforderungen
des Systems hinzufügt.
Jede Speicherschicht kann selektiv aktiviert werden. Eine derartige
Architektur kann eine umfassende Dialoghistorie schaffen und dann
die richtige Unterstützung
für die
Implementierung komplexer Dialogsysteme liefern. Jede Speicherschicht 5 umfasst
normalerweise mehrere Speichereinheiten 4, von denen jede
eine Informationseinheit, z. B. der Form eines einzigen Stücks der Informationen,
speichert. Die Speichereinheiten 4 von einer oder mehreren
Speicherschichten 5 sind über wenigstens ein Speichernetz
logisch verknüpft. Das
Management eines Speichernetzes wird vorzugsweise durch ein Speichermanager-Modul ausgeführt, wobei
ein Speichermanager-Modul vorzugsweise das Management von mehr als
einem Speichernetz ausführen
kann.