wiki.ziemers.de

ziemer's informatik Wiki

Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:software:beuthbot:deconcentrator-js

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:software:beuthbot:deconcentrator-js [22.07.2020 19:03]
Lukas Danckwerth
wiki:software:beuthbot:deconcentrator-js [22.07.2020 19:20] (aktuell)
Lukas Danckwerth [Requirements Analysis]
Zeile 1: Zeile 1:
 ===== Deconcentrator-JS ===== ===== Deconcentrator-JS =====
  
-[[http://php.net|{{https://raw.githubusercontent.com/beuthbot/deconcentrator-js/master/.documentation/DeconcentratorJSLogo100.png}}]]+[[https://raw.githubusercontent.com/beuthbot/deconcentrator-js|{{https://raw.githubusercontent.com/beuthbot/deconcentrator-js/master/.documentation/DeconcentratorJSLogo100.png}}]]
  
 > BeuthBot deconcentrator written in JavaScript > BeuthBot deconcentrator written in JavaScript
Zeile 58: Zeile 58:
 === Structure === === Structure ===
  
-Location             About                                                 +Location             About                                                 ^
-| -------------------- | ----------------------------------------------------- |+
 | `.documentation/   | Contains documentation, UML and icon files.           | | `.documentation/   | Contains documentation, UML and icon files.           |
 | `model/            | Contains the processors and the `processor-queue.js`. | | `model/            | Contains the processors and the `processor-queue.js`. |
Zeile 74: Zeile 73:
 === Functionality === === Functionality ===
  
-![function](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/beuthbot/deconcentrator-js/master/.documentation/uml/function.txt)+ 
 +<uml> 
 +@startuml 
 + 
 +participant "gateway" as GW 
 + 
 +box "deconcentrator-js" #LightBlue 
 +participant "deconcentrator.js" as DC 
 +participant "processor-queue.js" as PQ 
 +participant "rasa-processor.js" as RP 
 +participant "PROC_1.js" as P1 
 +participant "PROC_2.js" as P2 
 +end box 
 + 
 +GW -> DC: request\nwith message 
 +activate DC 
 +DC -> DC: create and fill queue 
 +DC -> PQ: run 
 +activate PQ 
 +PQ -> RP: (async) request 
 +activate RP 
 +PQ -> P1: (async) request 
 +activate P1 
 +RP -> PQ: interpretation 
 +deactivate RP 
 +PQ -> P2: (async) request 
 +activate P2 
 +P1 -> PQ: interpretation 
 +deactivate P1 
 +P2 -> PQ: interpretation 
 +deactivate P2 
 +PQ -> DC: all\ninterpretations 
 +deactivate PQ 
 +DC -> DC: filter out\nbest intent 
 +DC -> GW: response\nwith intent 
 +deactivate DC 
 + 
 +@enduml 
 +</uml
  
 == deconcentrator.js == == deconcentrator.js ==
Zeile 89: Zeile 127:
  
 == Implemented Processors == == Implemented Processors ==
-  * [rasa-processor.js](model/rasa-processor.js)+  * [[https://raw.githubusercontent.com/beuthbot/deconcentrator-js/master/model/rasa-processor.js|rasa-processor.js]]
   * ...   * ...
  
Zeile 122: Zeile 160:
 </code> </code>
  
-### Request Schema - `Message`+=== Request Schema - `Message` ===
  
-```json+<code>
 { {
   "text": "Wie wird das Wetter morgen?",   "text": "Wie wird das Wetter morgen?",
Zeile 130: Zeile 168:
   "processors": ["rasa"]   "processors": ["rasa"]
 } }
-```+</code>
  
 Whereas the specification of the `min_confidence_score` and the`processors` is optional. If not minimum confidence score is given a default one is used (by now this is `0.8`). For now there is only the usage of RASA implemented so there is no effect of specifying the `processors` property. Whereas the specification of the `min_confidence_score` and the`processors` is optional. If not minimum confidence score is given a default one is used (by now this is `0.8`). For now there is only the usage of RASA implemented so there is no effect of specifying the `processors` property.
Zeile 136: Zeile 174:
 == Class Diagramm == == Class Diagramm ==
  
-![alternative text](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/beuthbot/deconcentrator-js/master/.documentation/uml/message.txt)+<uml> 
 +@startuml 
 + 
 +class Message { 
 +  text: String 
 +  min_confidence_scoreFloat 
 +  processors: Array<String> 
 +
 + 
 +@enduml 
 +</uml>
  
-### Response Schema - `Answer`+=== Response Schema - `Answer` ===
 The response for a successfully processed request to the deconcentrator contains the following information. The response for a successfully processed request to the deconcentrator contains the following information.
 <code> <code>
Zeile 182: Zeile 230:
 == Class Diagramm == == Class Diagramm ==
  
-![alternative text](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/beuthbot/deconcentrator-js/master/.documentation/uml/answer.txt)+<uml> 
 +@startuml 
 + 
 +class Answer { 
 +  text: String 
 +  intentIntent 
 +  entities: Array<Entity> 
 +  error: String 
 +
 + 
 +class Intent { 
 +  name: String 
 +  confidence: Float 
 +
 + 
 +class Entity { 
 +  start: Int 
 +  end: Int 
 +  text: String 
 +  value: String 
 +  confidence: Float 
 +  additional_info: AdditionalInfo 
 +  entity: String 
 +
 + 
 +class AdditionalInfo { 
 +  value: String 
 +  grain: String 
 +  type: String 
 +  values: Dictionary<String, Any> 
 +
 + 
 +Answer *--- Intent 
 +Answer *--- Entity 
 +Entity *--AdditionalInfo 
 + 
 +@enduml 
 +</uml>
  
 ==== Implemented and connected NLU processors ==== ==== Implemented and connected NLU processors ====
  
-Provider |BeuthBot Project Processor File +Provider ^BeuthBot Project Processor File ^ 
-| -------- |---------------- | -------------- | +| [[https://rasa.com/docs/rasa|RASA]] | [[https://github.com/beuthbot/rasa|rasa]] | [[https://github.com/beuthbot/deconcentrator-js/blob/master/model/rasa-processor.js|rasa-processor.js]] |
-| [RASA](https://rasa.com/docs/rasa/) [rasa](https://github.com/beuthbot/rasa[rasa-processor.js](https://github.com/beuthbot/deconcentrator-js/blob/master/model/rasa-processor.js|+
  
 === More NLU processors candidates === === More NLU processors candidates ===
  
-[Microsoft LUIS](https://azure.microsoft.com/de-de/services/cognitive-services/language-understanding-intelligent-service/) +  * [[https://azure.microsoft.com/de-de/services/cognitive-services/language-understanding-intelligent-service/|Microsoft LUIS]] 
-[Google Cloud NLU](https://cloud.google.com/natural-language/+  * [[https://cloud.google.com/natural-language/|Google Cloud NLU]
-- [IBM Watson NLU](https://www.ibm.com/watson/services/natural-language-understanding/)+  * [[https://www.ibm.com/watson/services/natural-language-understanding/|IBM Watson NLU]]
  
 ==== .env ==== ==== .env ====
Zeile 211: Zeile 295:
 ==== Requirements Analysis ==== ==== Requirements Analysis ====
  
-  * [x] `/DCF100/The deconcentrator responds to incoming POST requests by delegating the message to a collection of NLU processor which try to interpretate the given message +  * [x] ''/DCF100/'' The deconcentrator responds to incoming POST requests by delegating the message to a collection of NLU processor which try to interpretate the given message 
-  * [x] `/DCF101/The deconcentrator accepts incoming messages as defined via the Request Schema +  * [x] ''/DCF101/'' The deconcentrator accepts incoming messages as defined via the Request Schema 
-  * [x] `/DCF102/The deconcentrator sends answers as defined via the Response Schema +  * [x] ''/DCF102/'' The deconcentrator sends answers as defined via the Response Schema 
-  * [x] `/DCF103/The deconcentrator answers with proper messages for occuring errors +  * [x] ''/DCF103/'' The deconcentrator answers with proper messages for occuring errors 
-  * [x] `/DCF104/New NLU processors muss be easy to integrate +  * [x] ''/DCF104/'' New NLU processors muss be easy to integrate 
-  * [x] `/DCF105/The deconcentrator has a default value for the minimum confidence score +  * [x] ''/DCF105/'' The deconcentrator has a default value for the minimum confidence score 
-  * [x] `/DCF106/The deconcentrator has a default value for the list of processors +  * [x] ''/DCF106/'' The deconcentrator has a default value for the list of processors 
-  * [x] `/DCF107/The minimum confidence score can be set globally within the Dockerfile +  * [x] ''/DCF107/'' The minimum confidence score can be set globally within the Dockerfile 
-  * [ ] `/DCF108/The list of processors to be used can be set globally within the Dockerfile+  * [ ] ''/DCF108/'' The list of processors to be used can be set globally within the Dockerfile
  
  
wiki/software/beuthbot/deconcentrator-js.1595437385.txt.gz · Zuletzt geändert: 22.07.2020 19:03 von Lukas Danckwerth