Trainieren von domänenspezifischen Dialogsystemen anhand vorgegebener Dialogmuster

Hintergrund

In den letzten Jahren sind häufiger neuronale Netze (konkret: rekurrente long-short-term-memory-Netze, Hochreiter & Schmidhuber, 1997) bei der Entwicklung von Dialogsystemen eingesetzt worden. Diese können mehrere Schritte von „traditionellen“ Natural Language Processing-Pipelines ersetzen, sofern eine geeignete und große Trainingskollektion verfügbar ist. Sie können dann aus Textvektoren Informationen extrahieren, beinhalten ein Kontextgedächtnis, können mit diversen sprachlichen Phänomenen umgehen und - sofern gewünscht - auch die Ausgabe in natürlicher Sprache übernehmen.

Dem gegenüber stehen z.B. AIML-basierte Systeme (Artificial Intelligence Markup Language, ALICE AI Foundation & Wallace, 2001), die vergleichsweise einfach aufzusetzen sind und viel weniger Vorarbeit brauchen, aber nicht ohne weiteres mit den genannten Problemen umgehen können. Bei AIML gibt man Mustersätze an und legt Antworten dafür fest („Wenn der Nutzer ABC sagt, dann antworte mit DEF“). Es gibt erweiterte Syntaxfunktionen (z.B. für Variablen), allerdings ist das kein vollwertiger Ersatz für ein „echtes“ Gedächtnis oder Sprachverstehen. AIML-basierte Systeme lassen sich zwar durch entsprechende Schnittstellen verbessern, aber dann ist es auch nicht mehr so einfach zu verwenden.

Zielsetzung der Arbeit

Es soll untersucht werden, ob man automatisiert basierend auf „Dialogmustern“ Kollektionen erstellen kann, mit denen man domänenspezifische Dialogsysteme trainieren kann. Dabei werden mehrere Fragen beantwortet: - Wie kann man erreichen, dass möglichst viele Teile domänenunabhängig entwickelt werden, um maximale Wiederverwendbarkeit zu garantieren? - Wie gut versteht das System Eingaben, die nicht aus dem Trainingsset stammen? - Kann das System automatisch mit Problemen im Sprachverstehen umgehen (z.B. durch gezieltes Nachfragen)?

Das Ziel ist ausdrücklich nicht, eine neuartige Herangehensweise an Sprachverarbeitung oder Dialogsysteme zu entwickeln, sondern ein System zu bauen, dass es möglichst einfach macht, einen Chatbot aufzusetzen, der komplexe Probleme in Dialogsystemen mit moderner Technik angeht. Im Idealfall ist das nicht viel schwieriger aufzusetzen als ein AIML-basiertes System, kann aber besser mit komplexen Dialogen umgehen.

Konkrete Aufgaben

- Entwurf einer (vermutlich XML-basierten) Sprache für die Generierung von annotierten Kollektionen - Trainieren eines neuronalen Netzes basierend auf den Kollektionen - Automatisches Mapping von Nutzereingaben zu vorher definierten Funktionen einer domänenspezifischen Logikkomponente - Problemlöseverhalten (Nachfragen), falls Nutzereingaben nicht verarbeitet werden können - Entwicklung eines Beispielchatbots zur Demonstration und Evaluation des Systems. Die Evaluation erfolgt entweder in einer Nutzerstudie oder durch Bewertungen der Qualität von systemgenerierten Antworten durch Menschen.

Erwartete Vorkenntnisse

- Sprachverarbeitungstools (z.B. Apache NLP) - Neuronale Netze

Weiterführende Quellen

ALICE AI Foundation & Wallace, R. S. (2001 - 2013). AIML. Available at http://www.alicebot.org/ Vinyals, O., & Le, Q. (2015). A neural conversational model. arXiv preprint arXiv:1506.05869v3 Bordes, A., & Weston, J. (2016). Learning end-to-end goal-oriented dialog. arXiv preprint arXiv:1605.07683. Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural computation, 9(8), 1735-1780. Lee, S., & Stent, A. (2016, September). Task Lineages: Dialog State Tracking for Flexible Interaction. In 17th Annual Meeting of the Special Interest Group on Discourse and Dialogue (p. 11).