Выбор алгоритма распознавания интентов
Обновлено 16 ноября 2023
Вы можете выбрать алгоритм классификатора, который будет использоваться при распознавании интентов.
На выбор доступны следующие классификаторы:
- Semantic Textual Similarity (STS) — алгоритм, который сравнивает семантическую близость слов. Учитывает словарные формы слов, их синонимы и другие параметры. Рекомендуется использовать для интентов с незначительным набором примеров: 5–7 тренировочных фраз;
- Classic ML — алгоритм машинного обучения для распознавания интентов на основе данных по исходным словам, словарным формам и основам слов без учета семантической информации. Рекомендуется использовать при выборке объемом более 20 тренировочных фраз на интент;
- BERT (англ. Bidirectional Encoder Representations from Transformers) — алгоритм представляет собой нейронную сеть, основу которой составляет композиция кодировщиков трансформера, предварительно обученную с использованием только простого текстового корпуса. Рекомендуется использовать для интентов с набором примеров более 5 тренировочных фраз.
Чтобы выбрать алгоритм классификатора интентов в Code:
- Откройте проект.
- На панели слева выберите раздел Настройки проекта.
- Выберите вкладку Классификатор.
- В раскрывающемся списке Алгоритм классификатора выберите нужный алгоритм.
- Нажмите Сохранить.
Настройка порога срабатывания классификатора
Порог срабатывания классификатора задается в файле chatbot.yaml параметре caila.noMatchThreshold
:
./chatbot.yaml
name: echo-template
entryPoint:
- main.sc
botEngine: v2
language: ru
sts:
noMatchThreshold: 0.2
caila:
noMatchThreshold: 0.2
Параметр caila.noMatchThreshold
задает порог срабатывания классификатора. В параметре нужно указывать занчение в диапазоне от 0 до 1. Значение по умолчанию 0.2
. Если классификатор не может отнести фразу ни к одному из классов с заданной степенью уверенности, создается событие event: noMatch
.
Порог срабатывания классификатора BERT нужно подбирать самостоятельно. Рекомендованное минимальное значение — 0.5.