35 lines
2.6 KiB
Markdown
35 lines
2.6 KiB
Markdown
## 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.
|
|
|
|
 |