ВВЕДЕНИЕ

С помощью Advancement in NLP и среды с открытым исходным кодом различные организации пытаются внедрить бота на основе автоматизированных ответов.

В этой статье я кратко расскажу о том,

  1. Что такое РАСА?
  2. Его архитектура,
  3. Как реализовать,
  4. Как реализовать настраиваемое намерение и настраиваемый ответ с помощью rasa.

Сначала давайте разберемся, что такое чат-бот на самом деле.

Чат-бот — это приложение, которое может инициировать разговор от имени человека с некоторым входом (текстом/аудио) от пользователя. Это может быть простой бот, основанный на правилах, или интеллектуальное приложение, использующее понимание НЛП. Различные варианты использования чат-бота могут быть:

Обслуживание клиентов

Часто задаваемые вопросы, S

Запрос компаний

Изготовлено на заказ для внутреннего применения

РАСА

Rasa — это движок на базе NLU, способный осуществлять текстовое или речевое взаимодействие. Он невероятно мощный и используется разработчиками по всему миру для создания чат-ботов и контекстных помощников. Вы можете создать, развернуть и разместить внутреннюю реализацию, что сделает чат-бот и связанные с ним данные более безопасными.

Реализация чат-бота:

  1. Создайте новую папку для проекта чат-бота.
  2. Всегда рекомендуется создавать новую среду для любого из проектов, основанных на python.
  3. Создайте новую среду из conda.
conda create — name rasa
  1. Затем активируйте среду командой
activate rasa
  1. Запустите команду pip install rasa для всех зависимостей.

В этом терминале введите:

rasa init
  1. Тогда вы получите предопределенную структуру, которую будет строить раса.

Код action.py для реализации вашего действия. Если вы хотите, чтобы RASA вызывал внешний API или Rest API. вы можете определить пользовательские действия здесь.

Nlu.yml здесь вы можете определить намерения и обучающие данные для модели.

domain.yml здесь вы можете комбинировать различные намерения с пользовательскими ответами.

Исходный код:

Добавьте следующие строки в nlu.yml:

- intent: document_status
examples: |
- [GMO](document)
- where is gmo crawler?(document:gmo crawler)
- [CDI](document)
- who worked on cdi?(document:cdi)
- who have knowledge about chatbot?[chatbot]
- chatbot(document:chatbot)
- [chatbot](document)

Добавьте следующие строки кода в stories.yml

- story: document space
steps:
- intent: document_status
- action: action_custom_doc

Теперь мы создадим собственный ответ в методе action.py. Вы можете использовать следующие строки кода, чтобы получить общее представление.

class ActionCustomdoc(Action):
def name(self) -> Text:
return “action_custom_doc”
def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
slot_name = tracker.get_slot(“document”)
print(“slotname”, slot_name)
dispatcher.utter_message(
text=”your document is created by Mr.X “)
return []

В файле domain.yml мы добавим объекты и слоты для определения пользовательских намерений и объектов.

intents:
- greet
- goodbye
- affirm
- deny
- mood_great
- mood_unhappy
- bot_challenge
- document_status
actions:
- action_custom_doc
entities:
- document
slots:
document:
type: unfeaturized

В action.yml нам нужно будет раскомментировать следующий фрагмент кода, чтобы запустить наш пользовательский метод ответа:

action_endpoint:
url: “http://localhost:5055/webhook"

Обучение и тестирование модели Rasa

Следующим шагом будет обучение нашей модели:

В терминале conda введите:

rasa train

Это обучит модель и сохранит файл в модели местоположения.

В терминале conda введите:

rasa shell

Это активирует бота.

Плюсы:

Легко понять и реализовать

Чат-боты могут быть легко развернуты или интегрированы в широкий спектр каналов.

Пользовательские действия Могут быть очень легко реализованы, что позволяет разработчику кодировать желаемые операции из чат-бота.

Поддерживает широкий спектр внешних политик и других конвейеров и сред с открытым исходным кодом, таких как spacy, утенок и т. д.

Предоставляет интерактивные способы развертывания и тестирования с однострочными командами.

Минусы:

Обучение вашей модели может занять некоторое время, что немного раздражает.

Если не соблюдается правильный формат или отступ, вся модель не будет обучаться. Вы должны вручную оценивать ошибки в каждой строке файлов модели.

Вам необходимо настроить правильную среду со всеми предварительными условиями и соответствующими конвейерами и пакетами, установленными в этой конкретной среде. В противном случае он не будет правильно поддерживать извлечение сущностей и намерений.

Вам необходимо иметь определенные знания о Dockers и Kubernetes, чтобы развернуть свой чат-бот онлайн на постоянной основе.

Вывод:

Платформа Rasa очень гибкая для поддержки внешних конвейеров и пакетов. Это, в свою очередь, позволяет разработчикам очень легко добавлять собственные истории, намерения, слоты, сущности. Кроме того, будучи открытой структурой, многие разработчики делают эту структуру обновленной.

Следующее, что нужно сделать, это настраиваемые действия, которые облегчают работу нашего чат-бота, поскольку это сделает наши желаемые операции очень полезными. Мы можем добавить настраиваемые действия с API и JSONS для извлечения данных из базы данных. Что улучшает взаимодействие с клиентами.