Спасение от рутины: как голосовые роботы облегчают жизнь айтишникам

Поздороваться с клиентом, перевести звонок на нужную телефонную линию, разобрать почту… Тратить время на однообразные задачи не хочется никому, но в сфере IT, где работают высококлассные специалисты, эту проблему уже решили. Здесь рутину берут на себя голосовые помощники. Чем они отличаются от голосовых роботов и как их обучают, рассказывает Дмитрий Подкорытов, разработчик машинного обучения из Контура.

Дмитрий Подкорытов
Разработчик машинного обучения в Контуре
Спасение от рутины: как голосовые роботы облегчают жизнь айтишникам

Чем голосовой робот отличается от голосового помощника?

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

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

Как устроена работа голосовых роботов?

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

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

Как учатся модели?

Как говорилось выше, модель учится извлекать из данных статистические закономерности, чтобы по ним делать предсказания. Обучение модели похоже на то, как учится ребенок: он слышит одни и те же слова из разных источников, ищет связь между речью и объектами и получает награду, если угадал правильно. Так учится и модель: мы даём ей задачу предсказать связь между данными одного вида (например, звук) и другого (например, текст), и модель пытается предсказывать по одним данным другие, получая поощрение за правильные предсказания. Таким путем модель получает знание о закономерностях в данных, что позволяет ей предсказывать данные, которые она еще не видела. Модель и после обучения будет ошибаться в предсказаниях, но задача обучения — привести её к состоянию, когда она совершает как можно меньше ошибок.

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

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

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

6
Начать дискуссию