Die Bezeichnung Chatbot ist aus einer Komposition zweier englischer Wörter erstanden und bedeutet zum einen „chat“=plappern und zum anderen „bot“= Roboter.
Chatbots wie Siri, Alexa und Co. werden momentan weit verbreitet für unterschiedliche Aufgaben als "Personal Assistant" eingesetzt. So soll auch der entwickelte Chatbot im Labor Computernetze den Betreuern unter die Arme greifen. Das Ziel ist ein textbasierter Chatbot, der die Studierenden sowohl bei organisatorischen als auch allgemeinen inhaltlichen Fragen während der Versuchsdurchführung unterstützt.
In dieser Projektarbeit analysierten wir zunächst die Aufgaben einer „Helfenden Hand“ (beziehungsweise eher eines helfenden Programmes) für die aufkommenden Fragen der Studenten während des Labors. Innerhalb der Konzeption wurden auch die Aufgaben, die der Chatbot später übernehmen soll, festgelegt. Bei der Umsetzung spielt natürlich auch das Framework eine wichtige Rolle, welches basierend auf einer ausgiebigen Literaturrecherche und mehrmaliger Absprache mit den Laborbetreuern festgelegt wurde. All dies soll natürlich angenehm gestaltet, benutzerfreundlich und intuitiv über ein User-Interface bedient werden.
Grob unterteilen kann man unser Projekt in drei Teile. Jedes der Teammitglieder war für eine Hauptaufgabe verantwortlich: Die Erstellung einer Wissensdatenbank, die Entwicklung des Back-Ends und die Gestaltung des User-Interfaces. Die Wissensdatenbank ist sozusagen das „Brain“ des Chatbots, unseres Robi‘s. Sie ist aus AIML-Files aufgebaut, wobei AIML ein Akronym für „Artificial Intelligence Markup Language“ ist, eine Auszeichnungssprache, die auf XML (Extensible Markup Language) basiert. Die Wissensdatenbank ist eine erste Basis, die nach dieser Projektarbeit noch ausgeweitet und ergänzt werden kann und soll. Damit der Nutzer auf diese über eine Schnittstelle zugreifen kann, wird das Back-End als Verbindung zwischen Wissensdatenbank und User-Interface benötigt. Es läuft mit Python und für die User-Schnittstellen gibt es aktuell zwei verschiedene Versionen. Die eine Schnittstelle ist als Desktop-App zu verwenden und die andere öffnet sich als Webanwendung im Browser. Die Browser-Webanwendung ist eine Kombination aus HTML, CSS und außerdem JavaScript. Hierfür wurde als Framework Flask verwendet. Flask ist ebenfalls in Python geschrieben und fungiert als Brücke zwischen Webserver und Webanwendung. Es dient sozusagen als Kommunikation zwischen Server und Anwendung. Im Gegensatz dazu wurde die Desktop-App mit dem Framework PyQT realisiert. PyQT bezeichnet ein GUI-Toolkit zur plattformübergreifenden Entwicklung grafischer Benutzeroberflächen und Programme, welches eine spezielle Anbindung zur Programmiersprache Python aufweist.
Im Labor der Hochschule läuft der Chatbot dann eigens auf einem Raspberry Pi, wobei es sich um einen Minirechner handelt, welcher sich auf einer Platine befindet, die nicht größer als eine Kreditkarte ist. Von jedem Laborrechner aus, ist es dann möglich, innerhalb des Labors auf „Robi“ zuzugreifen und sich durch seine Antworten unterstützen zu lassen.
Wir offen auf einen guten Einsatz und eine sinnvolle Unterstützung durch unseren Robi im Labor Computernetze. Außerdem freuen wir uns darauf, Robi in Action sehen zu werden. Voller Spannung erwarten wir außerdem die Weiterentwicklung, welche voraussichtlich zeitnah stattfinden wird.
Projektteam:
David Huber, Melinda Mader, Thomas Falk
Projektbetreuung:
Prof. Dr. Claudia Schmidt