Вы все правильно поняли. Оба работают вместе, но у них разные цели. Проще говоря, Rasa Core обрабатывает поток разговора, высказывания, действия и извлекает сущности и намерения Rasa NLU.
По поводу вашего второго вопроса:
В первом примере показан весь рабочий процесс по созданию бота, показано, как настроить домен и истории. Это особенности Rasa Core, а не Rasa NLU. В пункте 2 этого примера (который называется «Определить интерпретатор») автор прямо сказал, что он использует Rasa NLU в качестве интерпретатора (но вы могли бы даже использовать другую структуру экстрактора сущностей).
Второй пример (Rasa NLU) показывает, как обучать только объект и средство извлечения намерений. У вас нет никакой информации о доменах и историях, никакой информации о диалоговом потоке, это чистый пример NLU (даже несмотря на то, что он использует метод запуска по умолчанию из Rasa Core для запуска бота).
Когда я начал изучать Расу, мне было немного сложно понять концепции разработки ботов. Но когда вы начали кодировать, все стало ясно. Независимо от того, какие платформы вы используете, NLU будет обрабатывать сущности и намерения, в то время как разговорный поток будет чем-то другим.
Можно даже использовать одну библиотеку для обработки ядра вашего бота, а другую - для обработки NLU.
Я хотел бы отметить, что в отличие от большинства инструментов, которые вы можете использовать для создания ядра своего бота, Rasa Core использует машинное обучение для лучшего обобщения потока диалога. Вместо того, чтобы писать код для каждого возможного узла в вашем диалоге, вы можете использовать набор данных возможных диалоговых путей и обучить ядро обобщать его. Это очень крутая и мощная функция :)
Надеюсь, это поможет.
person
Trinca
schedule
14.12.2017