«Вышка» для чат-бота: как дообучение влияет на успешность проекта автоматизации

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

«Вышка» для чат-бота: как дообучение влияет на успешность проекта автоматизации

Демьян Грин, гендиректор и основатель сервиса автоматизации коммуникации с клиентами Лия

Демьян Грин

Почему Лия не распознает намерения пользователей

Причины, по которым бот не дает нужного ответа на вопрос:

  • не проанализированы и не кластеризованы нераспознанные фразы пользователей; нет примера/похожего варианта готового ответа, на который можно ориентироваться;
  • нераспознанная фраза не добавлена в соответствующее намерение;
  • орфографические ошибки в сообщениях, избыток пунктуации, символов, отсутствие пробелов и т.п.;
  • вовремя не добавлено обновление: например, сведения про новую акцию, которой интересуются пользователи;
  • намерение создано, но не добавлено в сценарий, поэтому Лия задает уточняющие вопросы или переводит на оператора;
  • отсутствие специализированных сущностей, позволяющих распознавать иностранные слова;
  • плохо развита или отсутствует динамика — недостаточно API-методов и индивидуальной работы с данными пользователя.

Чтобы не сталкиваться с ситуациями, когда бот выдает неуместную реакцию или переводит на оператора (а это напрямую негативно влияет на качество и процент автоматизации за исключением случаев, когда перевод на оператора заложен в сценарии) нужно непрерывно обучать ИИ. И самый первый этап этого процесса начинается еще до запуска автоматизации коммуникации (АК) — с кластеризации — для выделения самых важных групп интентов.

Примерный ответ необразованного чат-бота (все сопроводительные примеры взяты из дебаг-чата)  
Примерный ответ необразованного чат-бота (все сопроводительные примеры взяты из дебаг-чата)  

Кластеризация намерений как начальная ступень образования чат-бота

Для чего нужна кластеризация? Для четкого распознавания. Этот процесс мы запускаем до сборки проекта во время знакомства с датасетом клиента, когда команда разработчиков выгружает историю диалогов с пользователями и сортирует интенты. На основе анализа кластеров выделяем возможные тематики, черновики потенциальных сценариев. И так на протяжении всего существования проекта, добавляя новые намерения, а при необходимости и новые сценарии.

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

Кластеризованные намерения по возврату товара 
Кластеризованные намерения по возврату товара 

Допустим, есть два сообщения: «скажите, какие у вас акции» и «скажите, какие у вас промокоды». Фразы отличаются двумя словами: «акция» и «промокод». И можно объединить оба слова в одно намерение (если клиент не видит необходимости в разграничении) — тогда бот будет выдавать одну текстовку в обоих случаях.

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

Когда АК запущена, активная кластеризация и анализ самых свежих диалогов продолжается на протяжении 2-3 месяцев, а далее проходит по графику — для своевременного выделения нераспознанных фраз и создания дополнительных интентов, которые сразу добавляются в проект. Таким образом чат-бот дообучается уже в процессе, а процент покрытий постепенно увеличивается.

«Вышка» для чат-бота: как дообучение влияет на успешность проекта автоматизации
«Вышка» для чат-бота: как дообучение влияет на успешность проекта автоматизации
«Вышка» для чат-бота: как дообучение влияет на успешность проекта автоматизации
Так выглядят кусочки выгруженных кластеров  
Так выглядят кусочки выгруженных кластеров  

Высшее образование на основе кластеров и диалогов

Мы с умыслом не заложили в Лию программу, по которой она могла бы учиться самостоятельно. Как раз затем, чтобы избежать ошибок — самообразование ИИ приводит к непредсказуемым и некорректным ответам, ведь без контроля он начинает поглощать все подряд: и нужную информацию, и нерелевантную, накапливая ошибочные знания. Если абсолютно все автоматизировать, это приведет не к 100%-му покрытию, а наоборот, снизит показатели.

Задача решается через полуавтоматический процесс разметки и дообучения: система классифицирует не распознанные запросы, а специалисты отбирают правильные, добавляют в уже существующие намерения или создают новые. Когда клиентам нужен определенный сценарий, но в процессе становится понятно, что для этого количества пользовательских запросов недостаточно, нам приходится самим додумывать фразы для интентов, набирая по-минимуму 15−20 штук.

Такой подход обеспечивает высокую точность и предсказуемость работы.

Ответ именно такой, какой и требовался тому, кто спрашивал 
Ответ именно такой, какой и требовался тому, кто спрашивал 

В качестве оптимального варианта мы выбрали обучение по кластерам (мастхэв) и по диалогам (как дополнительное образование) с обязательным присутствием человека.

Нет гарантии, что в какой-то момент не вылезет фраза или вопрос, который Лия не распознает, и тогда после выгрузки всей истории диалогов они вычленяются и улетают в кластеры.

Возьмем, например, запросы, касающиеся багажа и дополнительного багажа: «уточните багаж в моем заказе» и «уточните дополнительный багаж в моем заказе». Нам надо натренировать Лию так, чтобы, в первую очередь, она цеплялась именно за слово «дополнительный» в связке со словом «багаж», а не за слово «багаж» — и не путалась в понятиях.

Чем больше вариантов написания слова «дополнительный» в сочетании со словом «багаж» мы загрузим в интент, тем выше в дальнейшем будет распознавание.

«Вышка» для чат-бота: как дообучение влияет на успешность проекта автоматизации
Лия корректно отвечает на любые вопросы о дополнительном багаже  
Лия корректно отвечает на любые вопросы о дополнительном багаже  

Некорректное обучение — причина потери покрытий

Может ли дообучение быть не совсем верным? Да. Если компания выбирает самостоятельное обучение ИИ-помощника, то она рискует допустить одну из часто встречающихся ошибок.

Во-первых, выбрать один из двух вариантов — только по диалогам или только по кластерам.

Всё же это взаимодополняющие вещи, и хотя обучение по диалогам является вспомогательным — там гораздо меньше информации, чем в кластерах, — для тех, кто хочет, чтобы результат АК приближался к идеальному, нужно включить его в обязательную программу. И совсем некорректным будет обучение только по диалогам. Лучше остановиться на варианте «просвещения» по кластерам с частотой от двух до четырех раз в месяц и один раз в месяц дополнять его выгрузками диалогов.

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

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

В четвертых, неудачным вариантом будет автоматическая выгрузка кластеров в Лию, совсем без участия человека. В результате чат-бот может взять на вооружение все без разбору.

Наглядный результат некорректного дообучения  
Наглядный результат некорректного дообучения  

Человек с руками — важное звено в образовании чат-бота

Без непосредственного участия человека образование ИИ пока еще невозможно. После скачивания кластеров (они могут быть огромными, например, за неделю у крупных клиентов набегает 5-10 тысяч блоков с фразами) мы отбираем первые 200 штук для дообучения как самые информативные. Затем нужно все нераспознанные фразы проанализировать и распределить по интентам или создать новые. Для эффективного результата требуется вовлеченность человека.

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

Обычно Лия спотыкается о знаки препинания и опечатки только на старте проектов, но в процессе дообучения перестает путаться, даже если фраза написана с ошибками. Для лучшего результата целесообразно не чистить самые актуальные фразы от опечаток — в этом случае Лия запомнит, что у конкретного слова могут быть альтернативные варианты написания и начнет распознавать и безграмотные обращения.

Почему так важно актуализировать каждую новую акцию

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

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

Когда Лие ничего не известно о новой акции  
Когда Лие ничего не известно о новой акции  

С какой периодичностью нужно дообучать чат-бота

График и частоту обучения можно просчитать на стадии составления первых отчетов по трафику, то есть по числу пользователей и уникальных сообщений, накопленных за определенный отрезок времени. Все зависит от масштаба проекта — чем больше разнообразных тематик, в том числе сценариев, тем чаще нужно будет «вразумлять» бота. По желанию клиента мы можем делать это с любой цикличностью: выгружать кластеры и диалоги за три дня, за день, за десять и т. п.

Однако есть разумные рамки: небольшой компании — до 200 тысяч диалогов в месяц, достаточно доучивать бота раз в месяц по кластерам. Если у кого-то такое количество диалогов набирается за день, то периодичность обучения сводится к еженедельной. Крупным компаниям вроде «Самоката» потребуется обучение раз в неделю, средним — дважды в месяц. Но когда у клиента возрастает трафик, количество дообучений приходится увеличивать.

Заметили на практике, что если полностью отдавать проект на самостоятельное ведение клиентам, то за редким исключением показатели автоматизации снижаются. Поэтому стараемся контролировать слишком «суверенные» компании и когда при анализе статистики видим — что-то не так с процентом покрытий, упал или наметилась перспектива на понижение, — предупреждаем об этом и предлагаем помощь.

Нераспознанные фразы неизбежны для любых проектов, потому что человеческая фантазия и вариативность формулировок практически необъятны. И все эти новые для ИИ сведения нужно по мере поступления добавлять в копилку знаний ИИ. Если Лия пропустит неделю или две учебы, этот «пропуск занятий» напрямую отразится на покрытии, автоматизация может упасть — незначительно (на 1-2%), а иногда и более ощутимо. Поэтому важно придерживаться графика и обновлять его при необходимости.

👉Ближе познакомиться с моей компанией, ее предложениями и возможностями Лии вы сможете на нашем сайте.

2
1
1
1
8 комментариев