Как Мефодий Стал Анной: Опыт Разработки И Запуска Классификаторов Голосовых Сообщений. Часть 2



Цель и задача Напомню, что внутри первая статья Мы получили модель удовлетворительного качества и пришли к выводу, что сразу строить нейронные сети не стоит; в случае неверных данных это не принесет большой пользы.

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

В этой статье мы поговорим о выводе работающей модели в производство.



Первые испытания классификатора.

От Мефодия до Анны

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

Мы развернули модель как веб-сервис и добавили вызов службы с использованием телефонии во время разговора.

И если до этого мы боролись с типичными сложностями ML-задач (верстка, дисбаланс), методы борьбы с ними известны, то началось самое интересное.

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

Мефодий так служил людям.

Первый день испытаний показал, что люди недовольны роботом.

Мефодий
Заброшенные трубы 19%
Тихие люди 58%
19% клиентов положили трубку, 58% промолчали и не ответили Мефодию.

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

Это оказалось самым трудным.



Интеграция.

Контрольный список

Мы составили чек-лист для интеграции системы с реальным миром.

Итак, прежде чем запускать в производство такого рода услугу, необходимо подумать:

  • Цель диалога
  • Ботовые фразы
  • Громкость текста/речь от бота
  • Обнаружение конца клиентской реплики
  • Сценарий взаимодействия
Ниже я поясняю каждый из пунктов.

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

Мы тут же ответили: «сформулированный запрос на техническую поддержку».

А вот как спросить так, чтобы пользователь понял, что от него хотят – это отдельная история.

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

Основные выводы, к которым мы пришли относительно фраз роботов:

  • Фразы бота не должны содержать пассивный залог
  • Фразы бота должны быть короткими
  • В конце каждой фразы должно быть понятно, что должен делать пользователь.

    Используйте наводящие вопросы на каждом этапе общения с ботом.

    По нашему опыту могу сказать, что разница между фразами «Я тебя слушаю» и «Какой у тебя вопросЭ» Есть!

  • Заключительная фраза в общении с ботом важна, чтобы клиент понимал, чего ожидать дальше.

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

Далее мы решили поэкспериментировать с голосом робота, и так у нас получилась девочка Мария.

Аудио Результат теста с Марией вселил в нас надежду.

Мефодий Мария
Заброшенные трубы 19% 14%
Тихие люди 58% 27%
Роботу уже отвечало больше людей, молчаливых стало 27% вместо 58%, но их количество все же хотелось сократить.

Мы прослушали примеры из тестового запуска и выявили интересные случаи, когда люди не успевали договорить или даже не успевали начать говорить.

Выше приведен пример, где Мария перебила клиента, не дождавшись окончания ответа.

Были люди, которые намеренно молчали; они знали, что это робот, и ждали оператора.

Мы с ними разобрались отдельно.

А есть люди, которые не смогли ответить из-за малого количества времени, отведенного на ответ. Мы поняли, что перебивать совершенно невежливо, так как это снижает лояльность клиентов.

Мы решили провести эксперименты по выбору продолжительности записи ответа клиента.

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

В таблице представлен процент информативных фраз при разной длительности записи ответа клиента.

Время отклика Мефодий Мария
5 секунд 52.4 56.3
7 секунд 63.8 78.2
10 секунд 84.1 91.4
12 секунд 83.7 92.1
15 секунд 79.2 90.6
«Эксперименты показали, что 10 секунд достаточно, чтобы сформулировать запрос.

Но ограничение времени — это лишь один из способов завершить запись ответа клиента; есть и другие.

Обнаружение тишины или определение окончания реплики по интонации говорящего – более эффективные методы.

Детектирование уже реализовано в мире затухание речи , разработчики делают акцент на интонации.

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

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

Но следующий тест с такими улучшениями показал значительное снижение количества прерванных звонков.

Количество молчаливых тоже уменьшилось, но хотелось как лучше.

Мефодий Мария Анна, v1
Заброшенные трубы 19% 14% 5%
Тихие люди 58% 27% 14%
Недолго думая, мы решили доработать скрипт взаимодействия бота и клиента.

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

Итоговая схема сценария диалога представлена ниже.



Как Мефодий стал Анной: опыт разработки и запуска классификаторов голосовых сообщений.
</p><p>
 Часть 2

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

Пример с повторным запросом

Мефодий Мария Анна, v1 Анна, v2
Заброшенные трубы 19% 14% 5% 4%
Тихие люди 58% 27% 14% 6%
Ответы после повторного запроса - - - 48%
В результате такое внедрение оказалось продуктивным: 4% вызовов были прерваны, а молчание — только 6%.

Мы работали над этим около 6 месяцев, казалось бы, модель готова, классифицируется хорошо, но реализовать ее было сложно.



Выводы поста

Готовая модель — это минимум, что можно сделать.

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

Только после этого реализовать модель не составит труда и показатели бизнеса пойдут вверх.



Знакомство с Анной.

Полученные результаты

Классификация вызовов позволила сократить время разговора.

Оно уменьшилось на 15 секунд, что означает 350 обработанных звонков в день.

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

Но это не главное.

Классификация звонков позволяла операторам принимать звонки по определенным темам.

Что было важно из-за проблем, о которых я писал в первая часть статьи : разнообразие тем не позволяло операторам быстро выйти на связь; сначала им нужно было узнать ответы на все вопросы клиентов.

После внедрения системы обучение операторов стало занимать 1 неделю вместо 3 месяцев.

Оператор, конечно, продолжает учиться, но уже может принимать звонки по теме, которую изучил на первой неделе.

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

Теги: #Машинное обучение #искусственный интеллект #Голосовые интерфейсы #автоматизация #голосовой помощник #колл-центр

Вместе с данным постом часто просматривают: