В данной статье мы разберем, каким образом можно избежать ошибок при работе с НЛУ.

Оглавление

Основные ошибки

Копирование агента

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

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

Наполнение модели

В каждом намерении должно быть не менее 30 фраз, иначе точность распознавания будет сильно снижена. Также это влияет на показатель точности модели при обучении агента.

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

Не рекомендуется создавать схожие по смыслу намерения, или разделять одно намерение на схожие по смыслу - это тоже негативно повлияет на точность определения.

NLU не умеет работать с числами - при внесении какого-либо числа в намерение, все другие числа будут распределяться в это намерение. Поэтому не стоит вносить в модель, например, номера телефонов.
Для работы с числами и номерами есть другие инструменты - ветки с типом число и номер телефона.
Также не стоит вносить в намерения и сущности дни недели, месяца, и т.п.

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

Рекомендации

Наполнение модели

При наполнении намерений фразами рекомендуется использовать полиморфы - вариации одной фразы с измененным порядком слов. Для генерации полиморфов фраз у нас есть полезный инструмент - бот-полиморфер в Telgram: https://t.me/mr_poly_bot

Также рекомендуется вносить в намерения и сущности синонимы, и схожие по смыслу слова и фразы - это может сильно повысить точность распознавания.

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

Также не стоит использовать длинные фразы (4 слова и более) при наполнении агента - NLU разбивает фразы на слово сочетания длиной до 3 слов, например, фраза "привет как у тебя дела" будет разбита на словосочетания длиной от 1 до 3 слов: "привет", "привет как", "привет как у", "как", "как у", "как у тебя", "у", "у тебя", "у тебя дела" и так далее. При использовании длинных фраз на точность определения намерения может повлиять порядок слов, а также в намерение с длинной фразой может быть распределена не подходящая по смыслу фраза, если ее слова частично будут соответствовать фразе из набора данных.
Стоит убрать из фразы все лишнее, и оставить только слова, несущие смысловую нагрузку, например, фразу "привет как у тебя дела" можно преобразовать во фразу "привет как дела", не потеряв смысл фразы. Это может повысить точность определения.

Тестирование агента

Тестирование прошлых версий агента

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

Автоматическое тестирование: бот NLU Tester

Для тестирования агентов можно использовать нашего Telegram-бота TWIN: NLU TESTER - это позволяет провести тест с большим набором данных.
Бот принимает файл в формате .csv, содержащий в себе фразы и ожидаемые намерения, после чего отправляет в сообщении краткую информацию о проведенном тесте, и подробную информацию в форме excel-таблицы.

Пример файла для отправки можно получить в самом боте по команде /example.

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

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

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

  • Нет меток