Updated README.md

This commit is contained in:
Andreas Greiner 2021-07-21 14:36:04 +02:00
parent d1cdad128f
commit 6768bd18f4

View File

@ -1,3 +1,33 @@
A chatbot prividing information about the raspberry pi 4.
## 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.
He answers questions abaout where to buy and the hardware of the microcomputer like RAM, OS or CPU.
### **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.