From 6768bd18f4f5a0f710362e30d126c518e28dd031 Mon Sep 17 00:00:00 2001 From: agreiner Date: Wed, 21 Jul 2021 14:36:04 +0200 Subject: [PATCH] Updated README.md --- README.md | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6dab213..e79d462 100644 --- a/README.md +++ b/README.md @@ -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. \ No newline at end of file +### **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. \ No newline at end of file