Обучение бота
База знаний, по которой бот понимает, что необходимо ответить пользователю
Для полноценной работы чат-бота с распознаванием намерений пользователя, необходимо создать и настроить базу знаний, по запросам к которой бот будет давать правильные ответы и выстраивать логику взаимодействия с пользователем.
Для этого вам понадобится сервис Dialogflow. На нем необходимо авторизоваться с помощью аккаунта Google.
После авторизации на сервисе Dialogflow и создании нового Проекта / Агента дальнейшая работа по обучению бота будет производиться в разделе Intents.

Создаем Намерения, с помощью которых бот сможет распознавать текстовые запросы пользователя и подбирать правильные ответы из базы знаний. По кнопке Create Intent или нажав на + около Intents, создаем новое намерение.

Например, создадим намерение Приветствие для стартового скрипта бота.
В поле Intent name указать заголовок намерения. например, "Приветствие".
В разделе ADD TRAINING PHRASES описываем перечень возможных вариантов обращения пользователя к чат-боту или синонимы ключевых слов.


При обучении бота, чем больше вы введете однородных по смыслу запросов и синонимов ключевых слов, тем более качественно ваш бот будет обучен.
Рекомендуем включить проверку на пересечение обучаемых фраз в различных Намерениях. Для этого в настройках Проекта / Агента установите активность параметра проверки.

Отслеживать проверку на пересечение необходимо в разделе Validation.

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

Знаки вопроса и прочие знаки препинания в конце предложения здесь прописывать не нужно. Применение вариантов с перестановкой слов приветствуется.
На момент создания и описания намерения, а также и в дальнейшей работе доступна возможность редактирования намерения.
После ввода всех вариантов возможных обращение необходимо сохранить намерение, нажав на кнопку Save.

В процессе обучения бота нужно проверять правильность вводимых значений. Для этого, в поле Try it now необходимо указать один из введенных вариантов обращения и система должна предоставить ссылку на нужное намерение. Например, при варианте вопроса "До скольки вы открыты" выдается намерение "Часы_работы".

Для того, чтобы бот отвечал на обращение пользователя не описанные в намерениях, необходимо создать скрипт Живой разговор:
Укажите название скрипта. Например: "Живой разговор";
Установить опцию Включить NLP;
Установить интеграцию с намерением в поле NLP намерение - установить значение " .* ";
Установить опцию Использовать определение NLP Action;
Установить интеграцию с функцией SmallTalk в поле NLP Action
- установить значение " .* ";
Остальные параметры без изменения.


В блоке Меню необходимо добавить пункт меню Повторяем, применяя следующие параметры:
Нажмите на кнопку Добавить пункт меню;
В поле Код укажите букву "а" и в фигурных скобках значение 300, например, а{300}. Это регулярное выражение обезопасит чат-бот от случайно введенного не заложенного в сценарии варианта, который может привести к остановке бота.
Однако, поскольку мы включили опцию Включить NLP у скрипта, то ввод от пользователя в первую очередь будет отправлен в DF для распознавания намерения и только в случае, если намерение не будет найдено, ввод от пользователя будет использован для поиска пункта меню с соответствующим кодом.
Так сейчас работает интеграция с NLP-машиной на платформе Metabot. Если в скрипте включена опция NLP, то при достижении меню ввод от пользователя вначале проверяется в базе знаний NLP и только потом по меню.
Установить опцию Скрыть код;
В поле Подпись пункта меню укажите, например, фразу "Повторяем";
Установите опцию Скрыть весь пункт меню
В Dialogflow нужно включить функцию Живой разговор, где в свою очередь его тоже можно обучить. Для этого нужно перейти в раздел Small talk, активировав параметр Enable.

Поздравляем Вас с успешным обучением бота распознавать свободное общение бота с пользователями в сервисе Dialogflow!
Last updated
Was this helpful?