WS 2018/19

Dialogsysteme

 

Dialogsysteme


Wintersemester 2018/19
Prof. Dr. Alexander Koller
Fr 10-12; Seminarraum C7.2

Softwareprojekt, BSc Computerlinguistik


Erste Sitzung: 26. Oktober 2018


Dialogsysteme sind aus dem Alltag heute kaum noch wegzudenken. Wir bedienen unser Handy mit Siri; wir kontrollieren unsere Musikbibliothek mit Alexa; wir lassen Google Home im Internet Informationen für uns heraussuchen.

In diesem Softwareprojekt entwickeln Sie eigene Dialogsysteme zur Bedienung von Geräten und Onlinediensten. Als Grundlage dient uns dafür das Sprachdialogsystem DialogOS, das vor einigen Jahren in einer Saarbrücker Spin-Off-Firma kommerziell entwickelt wurde und das wir im August 2018 aktualisiert und als Open-Source-Projekt herausgebracht haben. Mit DialogOS kann man einerseits einen Dialog schnell und einfach in einer graphischen Oberfläche definieren (siehe Bild unten). Andererseits kann man die Funktionalität von DialogOS durch eigene Plugins selbst erweitern.

Nach einer Einführungsphase, in der Sie sich mit DialogOS vertraut machen, werden Sie sich in Teams zusammenfinden. Jedes Team definiert ein Projekt, das Sie im Laufe des restlichen Semesters zusammen bearbeiten. Ein Projekt kann darin bestehen, ein Plugin zu implementieren, das DialogOS mit einem Gerät oder einem Onlinedienst verbindet, und dann ein Dialogsystem zu entwickeln, das eine bequeme sprachliche Interaktion mit diesem Dienst ermöglicht. Ein Projekt könnte auch darin bestehen, die Kernfunktionalität von DialogOS zu erweitern, z.B. DialogOS-Dialoge automatisch in Alexa-Skills zu konvertieren.

Unter anderem hat DialogOS eine eingebaute Schnittstelle, um Lego-Mindstorms-Roboter zu kontrollieren. Auf dieser Grundlage habe ich bereits 2002 und 2004 Softwareprojekte angeboten, in denen wir Vorversionen von DialogOS eingesetzt haben (hier ein Film auf Youtube).

Programmiersprache. Softwareprojekte sind sehr programmierintensive Lehrveranstaltungen. Ich setze voraus, dass Sie kompetente Python-Programmierer/innen sind (z.B. durch Besuch von Python 1 und 2). Da DialogOS-Plugins auf der Java Virtual Machine laufen müssen, wären Java-Kenntnisse sehr hilfreich. Notfalls können Sie aber vermutlich auch Plugins in Python schreiben und sie via Jython in DialogOS einzubinden.

Wir verwenden für den Kurs Github sowie ein modernes Buildsystem, vermutlich Gradle oder Maven. Es würde sich lohnen, wenn Sie sich vor Beginn des Kurses mit diesen Tools vertraut machen würden.

Prüfungsleistung. Jede/r Teilnehmer/in wird einen Vortrag halten, um das Projekt des Teams zu präsentieren, und in den Semesterferien eine Projektdokumentation schreiben. Daneben bewerte ich die Qualität des Projekts selbst sowie Ihren Einsatz während des Softwareprojekts.