web-dev-qa-db-fra.com

Différence entre Rasa core et Rasa nlu

J'ai essayé de comprendre rasa à partir de la documentation officielle de Rasa core et Rasa nl mais je n'ai pas pu en déduire beaucoup. Ce que je peux comprendre c'est

Le noyau Rasa est utilisé pour guider le flux de conversation tandis que Rasa nlu consiste à comprendre et à traiter le texte pour extraire des informations (entités)

Deuxièmement, il existe des exemples pour construire un chatbot dans Rasa core ainsi que Rasa nl les deux peuvent être utilisés pour construire un chatbot mais ne pouvaient pas comprendre quelle est la différence entre deux approches et quand suivre lequel.

Pourriez-vous s'il vous plaît m'aider à mieux comprendre.

20
DarkShadow

Vous avez bien compris. Les deux travaillent ensemble, mais ils ont des objectifs distincts. En termes simples, Rasa Core gère le flux de conversation, les énoncés, les actions et Rasa NLU extrait les entités et les intentions.

À propos de votre deuxième question:

Le premier exemple montre l'intégralité du flux de travail pour créer le bot, il montre comment configurer le domaine et les histoires. Ce sont des fonctionnalités de Rasa Core, pas de Rasa NLU. Au point 2 de cet exemple (appelé Définir un interprète), l'auteur a explicitement déclaré qu'il utilisait Rasa NLU comme interprète (mais vous pourriez même utiliser un autre framework d'extraction d'entité).

Le deuxième exemple (celui de Rasa NLU) montre comment former l'entité et l'extracteur d'intention uniquement. Vous n'avez aucune information sur les domaines et les histoires, aucune information sur le flux conversationnel, c'est un pur exemple NLU (même s'il utilise la méthode d'exécution par défaut de Rasa Core pour exécuter le bot).

Quand j'ai commencé à étudier Rasa, c'était un peu difficile de comprendre les concepts pour développer les bots. Mais lorsque vous commencez à coder, cela devient clair. Peu importe les plates-formes que vous utilisez, NLU gérera l'entité et les intentions tandis que le flux conversationnel sera autre chose.

Il est même possible d'utiliser une bibliothèque pour gérer le cœur de votre bot et une autre pour gérer NLU.

Je voudrais noter que, différent de la plupart des outils que vous pouvez utiliser pour construire le cœur de votre bot, Rasa Core utilise l'apprentissage automatique pour mieux généraliser le flux de dialogue. Au lieu d'écrire du code pour chaque nœud possible de votre conversation, vous pouvez utiliser un ensemble de données de chemins conversationnels possibles et entraîner le noyau à le généraliser. Ceci est une fonctionnalité très cool et puissante :)

J'espère que cela aide.

20
Trinca

Une description très profane pour les débutants: Rasa NLU: C'est l'interpréteur qui comprend l'entrée. Comprend essentiellement les entités et étiquette l'intention.

Rasa Core: fait le reste du travail que vous voulez que votre bot fasse. Le flux de conversation étant la chose la plus importante.

par exemple: vous dites "Bonjour" au bot. Rasa NLU comprendra l'intention de l'entrée comme un `` message d'accueil '' et Rasa Core dira au bot de répondre avec un message d'accueil.

PS *: La réponse en retour serait une salutation si vous entraînez votre bot pour cela ou cela pourrait être autre chose également.

0
Tarun Bhavnani

Pour expliquer en termes simples Rasa NLU utilise NLP (Natural Language Processing) pour comprendre ce que vous dites au bot.

Il comprend ce que vous dites et le fait correspondre à une intention que vous avez définie.

Rasa Core d'autre part gère le flux de conversation. Le fichier de démarque des histoires répertorie les intentions et les actions pour eux.

Par conséquent, lorsque la NLU donne l'intention, le Core effectue l'action qui lui correspond et le bot répond avec cette action.

0
Prem Kagrani