Rasa Core

Rasa Core bildet zusammen mit Rasa NLU den Rasa Stack. Er ist dafür zuständig, eine möglichst natürliche Konversation mit dem Benutzer zu führen. [1]

Aufgaben

Rasa Core ist verantwortlich für den Conversation Flow, Context-Handling, Bot-Responses und Session Management. Dabei kann auf der Rasa NLU oder anderen Services aufgebaut werden, die die Intent Recognition und Entity Extraction übernehmen und die Ergebnisse dem Rasa Core zur Verfügung stellen. [1]

Aufbau

Der Rasa Core hält für jede Session, also für jeden User, einen Tracker. Dieser enthält den momentanen Zustand der Konversationen, der jeweiligen User. Bekommt der Bot nun eine Nachricht, wird zuerst der Interpreter durchlaufen, welcher den Originaltext als Eingabe bekommt, und die Eingabe, den Intent und die extrahierten Entities zurückgibt. Zusammen mit dem aktuellen Zustand des Trackers entscheidet die Policy Komponente nun, welche Action (Bot Response) als nächstes ausgeführt werden soll. Diese Entscheidung wird nicht durch einfache Regeln getroffen, sondern genauso wie Intents oder Entities, auf der Grundlage von einem, mit Machine Learning, trainierten Modell.

Einfluss auf diese Abläufe hat man an mehrer Punkten. Zunächst einmal ist das die Konfiguration des Interpreter, beziehungsweise der Rasa NLU. Diese sollte zuverlässig die richtigen Intents erkennen und alle benötigten Entities extrahieren. Die Policy Komponente, lässt sich auch Use Case spezifisch in einer dafür vorgesehen Datei konfigurieren (policy.yml).

Dabei kann man sich zwischen mehreren Policies entscheiden, bei denen man dann jeweils noch genauere Anpassungen vornehmen kann. Die Action sind die Bot Responses. Dabei können das einfache Text Antworten, Quick Replies, Bilder oder Action Webhooks sein. Letztere senden einen POST-Request an eine vorher definierte Schnittstelle und von wo die Antworten verschickt werden. Dadurch können zum Beispiel API calls oder Datenbanken-Zugriffe realisiert werden. [2] [3]

> Zurück zum BOTwiki - Das Chatbot Wiki

Quellen

[1] https://rasa.com/docs/
[2] https://rasa.com/docs/core/policies/
[3] https://rasa.com/docs/core/architecture/