Рейтинг алгоритмов
-
Transformer ru или Transformer multi:
- Имеет хорошую точность и высокую скорость классификации.
- Выполняет классификацию на основе большой языковой модели и использует не просто слова, а информацию о смысловой связи между ними.
- Хорошо проявляет себя на небольших выборках.
- Может распознавать больше языков, чем официально поддерживает JAICP.
- Второстепенные слова во фразах могут занижать вес интента. Посмотрите возможное решение.
- Transformer multi может выдавать высокий вес для отрицательных примеров. Посмотрите возможное решение.
-
Второе место делят два алгоритма:
-
Classic ML:
- Учитывает начальные формы (леммы) и основы слов (стеммы).
- Сохраняет хорошую скорость работы при высоких нагрузках на бота.
- В отличие от Deep Learning, работает с отрицательными примерами.
- Требуется большой датасет.
- Требуется одинаковое количество фраз в интентах. Посмотрите возможное решение.
- Долго обучается.
- Не учитывает семантику слов и не учитывает синонимы. Посмотрите возможное решение.
-
Deep Learning:
- Использует информацию о семантике слов при формировании гипотез.
- Различает похожие интенты лучше, чем Classic ML.
- Требуется большой датасет. Посмотрите возможное решение для маленьких датасетов.
- Долго обучается.
- Плохо справляется с отрицательными примерами. Посмотрите возможное решение.
-
-
STS:
- Хорошо проявляет себя на небольших выборках: даже если каждый интент содержит всего одну тренировочную фразу, алгоритм будет работать.
- Позволяет использовать сущности в тренировочных фразах.
- Обладает самыми гибкими и интерпретируемыми настройками.
- Различает семантически близкие интенты лучше, чем Classic ML.
- Поддерживает не больше 1000 тренировочных фраз. Подходит только для маленьких проектов без упора на NLU.
- Медленная классификация. Скорость зависит от длины запроса, количества и длины тренировочных фраз.