Настройка SmartApp Brain в Code
SmartApp Brain позволяет смартапам понимать естественную речь пользователей с помощью интентов и сущностей.
В редакторе Code параметры распознавания естественного языка задаются в разделе Настройки проекта на вкладках Классификатор и Настройки NLU.
Параметры классификатора
На вкладке Классификатор вы можете задать следующие параметры:
- Раскрывающийся список Алгоритм классификатора позволяет указать алгоритм, согласно которому будут классифицироваться интенты и сущности. Подробнее о выборе алгоритма читайте ниже.
- Исправление орфографии — при включении параметра распознавание интентов и сущностей производится с учетом словоформ указанных слов. Подробнее — в разделе Исправление орфографии.
- Часовой пояс — параметр влияет на распознавание сущностей, связанных с временными отрезками: «сейчас», «через 5 минут» и др. Если в запросе пользователя отсутствует информация о часовом поясе, значение берется из заданного параметра.
- API-ключ Brain — ключ, который используется для подписи запросов к SmartApp Brain Direct API. Таким образом вы сможете использовать обученный классификатор в сторонних проектах.
- Импорт проекта — импортирование проекта SmartApp Brain в формате валидного JSON-объекта.
Выбор алгоритма классификатора
В зависимости от выбранного алгоритма, рекомендуется настроить порог срабатывания классификатора. Это можно сделать с помощью параметра noMatchThreshold
в файле chatbot.yaml
. Подробнее — в разделе Подготовка проекта Code для Brain.
Доступны следующие алгоритмы:
STS — алгоритм распознавания интентов, использующий подход
Semantic Text Similarity
— с помощью функции схожести текстовых объектов алгоритм подбирает наиболее соответствующий интент.Функция схожести учитывает перестановки слов, их нормальные формы, синонимы и другую лингвистическую информацию. Используйте алгоритм если для обучения смартапа используется незначительный набор данных.
Рекомендуемый порог срабатывания классификатора: 0.2.
Classic ML — алгоритм классического машинного обучения для распознавания интентов.
При работе он опирается на нормализованные слова и словосочетания из них. Алгоритм не учитывает семантическую информацию. Используйте алгоритм при размере выборки более 5-7 тренировочных фраз на интент, при количестве интентов более 7-10.
Рекомендуемый порог срабатывания классификатора: 0.4.
BERT — нейронная сесть на базе композиции кодировщиков трансформера.
Сеть предварительно обучена с использованием простого текстового корпуса. Используйте алгоритм для интентов с набором примеров более пяти тренировочных фраз.
Рекомендуемый порог срабатывания классификатора: 0.55.
Настройки NLU
На вкладке можно задать параметры NLU в виде валидного JSON-объекта. Подробнее о расширенных настройках NLU.