raspibot/README.md
2021-07-21 14:36:04 +02:00

2.5 KiB

Raspberry Pi 4 Chatbot

Ein Chatbot, welcher Fragen zum Raspberry Pi 4 beantwortet, hauptsächlich zu Themen wie verbauten RAM, verfügbaren Betriebssystemen oder etlichen Anschlussmöglichkeiten. Im Hintergrund wird die LUIS AI der Microsoft Azure Plattform verwendet, als User Interface dient eine Website, welche via Websocket mit einem Node.js Server kommuniziert.

Installation

npm install

Start

node staticExpress.js
oder
npm start

Themengebiete

  • Betriebssystem
  • SD-Karte
  • GPIO-Pins
  • CPU
  • Arbeitsspeicher
  • Stromversorgung
  • Monitorausgänge
  • USB-Anschlüsse
  • Netzwerkkonnektivität
  • Kosten und Kaufmöglichkeiten

Funktionalität

Anfragen-Handling mit LUIS-AI

Der Node.js Server erhält Anfragen der Clients via Websockets. Diese Anfragen werden dann an die LUIS-AI weitergeleitet, welcher mit ermittelten Intens (Absichten) und dazugehörigen Wahrscheinlichkeiten antwortet.

Antworten an Nutzer ermitteln

Der lokale Bot wählt dann den Intent mit der größten Wahrscheinlichkeit aus und holt sich eine Antwort aus der Wissensbasis. Bei dieser Wissensbasis handelt es sich um eine Json-Datei, welche zu jedem Intent 3 verschiedene Nachrichten liefert. Eine dieser Nachrichten wird per Zufall ausgewählt, sodass der Bot wie ein echter Mensch wirkt und nicht immer die gleiche Antwort liefert. Außerdem gibt es bei jedem Intent noch 2 weitere Antworten in der Wissensbasis, welche bei wiederholtem Fragen als Antwort ausgewählt werden. Diese bieten genauere Informationen, da davon ausgegangen wird, dass der Nutzer Genaueres wissen will, wenn er erneut nachfrägt. Kann die LUIS-AI keine Absicht in der Anfrage erkennen, gibt es auch hierfür 3 verschiedene Antwortmöglichkeiten (Fallbacks) in der Wissensbasis. Diese weisen den Nutzer darauf hin, dass die Frage nicht verstanden wurde und man die Frage doch genauer stellen sollte. Außerdem werden Beispielthemen genannt, zu welchen der Bot Antworten hätte.

Weiterentwicklung des Bots

Der LUIS-AI Service speichert alle Anfragen und die ermittelten Intent ab. So kann man prüfen, ob alles richtig funktioniert und auch das echte Nutzerverhalten analysieren und den Bot dann gezielt darauf trainieren. Dank der Modularisierung Server, LUIS-AI und Wissensbasis ist auch das Eingliedern neuer Informationen problemlos möglich. Hier muss dann nur die Wissensbasis um Antworten erweitert werden und die LUIS-AI mit passenden Anfragen trainiert werden.