Речевые технологии. Голосовая биометрия для чайников на примере работы в контактном центре

Материал из VXML
Перейти к: навигация, поиск

Автор - Сергей Исаев, менеджер по продуктам, ООО "ЦРТ"

Verification0.jpg

Содержание


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

Опять же, т.к. моя работа связана с контактными центрами (КЦ), то говорить я буду о них. Это еще связано с тем, что сейчас именно они активно интересуются голосовой биометрией, что не удивительно, т.к. телефонный канал – это идеальное ее применение.

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

Вы, конечно, можете возразить про вариант подтверждения личности абонента, «основанном на знаниях», — это пароли, секретные слова, TPIN коды (банки), паспортные данные и т.д., – но все это ненадежно с точки зрения безопасности и требует запоминания информации у абонента или всегда держать информацию под рукой, что не очень удобно для абонента и неэффективно (затратно) для КЦ.

Для начала определимся с понятиями, что входит в понятие голосовой биометрии:

  • Это идентификация, т.е. установление личности человека по голосу. Это когда вам звонит старый приятель по телефону с неизвестного номера и говорит: «Угадай кто это?» и вы пытаетесь в голове среди всех известных (знакомых) голосов найти наилучшее совпадение. Когда сканирование памяти закончилось и вы нашли более-менее подходящее совпадение, то вы можете уже сказать: «Ага, это мой одноклассник Серега, с которым я не говорил 10 лет». Но гарантии в том, что это именно он, у вас нет, и тут приходит время верификации.
  • Верификация — это подтверждение личности по голосу, т.е. однозначное удостоверение личности. Для этого мы можем попросить доказать, что Серега именно тот, за кого себя выдает. Мы можем спросить у него: «Скажи, где мы были в 6 утра на выпускном?» — эта информация позволит нам подтвердить личность Сереги, т.к. только он может являться носителем этой информации (аналогично паролю, о котором я писал выше).

Если хотите более умное определение, то:

  • Идентификация — проверяет совпадение одного образца голоса со многими из базы голосов. В качестве результата идентификации система показывает список личностей с похожими голосами в процентном отношении. 100% совпадение означает, что образец голоса полностью совпадает с голосом из базы данных и личность установлена достоверно.
  • Верификация — производит сличение двух образцов голоса: голос человека, чью личность необходимо подтвердить, с голосом, который храниться в базе данных системы и чья личность уже достоверно установлена. В качестве результата верификации система показывает степень совпадения одного голоса с другим в процентном отношении.

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

Голосовая верификация

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

Какая бывает верификация?

  • Текстонезависимая — когда подтверждение личности происходит по спонтанной речи абонента, т.е. нам не важно, что говорит человек. Это самый долгий метод подтверждения — чистой речи абонента должно накопиться минимум 6-8 сек. Обычно этот способ применяется непосредственно во время общения абонента с оператором КЦ, когда последнему нужно однозначно удостовериться, что абонент именно тот, за кого себя выдает. Самое интересное, что данный способ верификации можно применять скрытно от самого абонента. На рабочем месте оператора КЦ виден вот такой рабочий инструмент:
Часть интерфейса рабочего места оператора КЦ для проведения верификации клиента
  • Текстозависимая по статической парольной фразе — когда подтверждение личности происходит по парольной фразе, которую на момент регистрации придумал абонент. Длительность парольной фразы должна быть не менее 3 сек. Обычно мы предлагаем говорить свое ФИО и название компании. Парольная фраза всегда одинаковая.
  • Текстозависимая по динамической парольной фразе — когда подтверждение личности происходит по парольной фразе, которую предлагает сама система в момент звонка для верификации, т.е. каждый раз парольная фраза разная! Обычно мы предлагаем динамическую парольную фразу из последовательности цифр. Абонент повторяет за системой числа до тех пор, пока она не примет однозначного решения «свой/чужой». Это может быть и одно число типа «32» или целый набор «32 58 64 25». Интересно то, что произнесение разных цифр дает разный объем информации для сличения: самая «полезная» цифра «восемь» – она больше всего содержит полезной речевой информации, самая бесполезная — «два».

Как работает верификация по голосу?

Шаг 1.
Чтобы мы могли провести верификацию по голосу, нам нужно в своей базе уже иметь образец голоса (слепок голоса), хозяин которого достоверно известен. Поэтому первый шаг – это наполнение базы слепками голосов, для этого мы просим абонентов (клиентов) пройти процесс регистрации в системе.
Регистрация в системе абонента означает, что он добровольно оставляет свой слепок голоса, который потом мы будем использовать для верификации. Обычно мы просим оставить подряд 3 слепка голоса, чтобы была вариативность – три раза произнести свой пароль. Затем, когда верификация будет успешно пройдена, мы заменим наиболее старый слепок голоса новым, таким образом, происходит постоянное обновление слепков, если абонент часто пользуется системой. Так мы решаем проблему старения голоса.
Если мы применяем верификацию по динамической парольной фразе, то мы просим произнести абонента цифры от 0 до 9 три раза. В результате у нас будет 30 образцов голоса.

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

Когда стоит предложить клиенту пройти регистрацию? Тогда, когда мы уже подтвердили его личность другими способами, например, при посещении офиса компании или когда оператор КЦ задал 100500 разных вопросов про девичью фамилию матери.
У нас есть реально работающий сервис (стенд) на телефоне. Как реализован механизм регистрации для клиентов банка на практике, можно узнать из этого документа.

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

Как проходит регистрация абонента в системе? (Статическая парольная фраза)

Схема регистрации человека в биометрической системе

1. Абонент звонит в биометрическую систему, которая предлагает ему придумать и произнести парольную фразу. Произнести 3 раза.
2. Голос обрабатывается сервером биометрии и на выход мы получаем 3 модели голоса. По одной на каждый произнесенный пароль.
3. На сервере мы заводим карточку клиента (Юрий Гагарин) к которой прицепляем полученные 3 модели голоса.

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

Как получают модели голоса?
Мы используем 4 независимых метода:

  • анализ статистики основного тона;
  • метод смеси гауссовых распределений и SVM;
  • спектрально-формантный;
  • метод полной изменчивости.

Описывать их подробно я здесь не возьмусь – это сложно даже для меня и в курс «для чайников» точно не входит. Этому всему мы учим на нашей кафедре РИС в ИТМО (Санкт-Петербург).

Шаг 2.
Это непосредственно сама верификация. То есть у нас есть абонент на том конце провода, который утверждает, что он Юрий Гагарин. А у нас в базе, соответственно, есть карточка клиента Юрия Гагарина, где хранятся слепки его голоса, поэтому все, что нам нужно сделать – это сравнить голос человека, который утверждает, что он Юрий Гагарин, с голосом настоящего Юрия Гагарина.

Как проходит верификация абонента в системе? (Статическая парольная фраза)

Схема верификации человека в биометрической системе

1. Сначала мы поступаем как при регистрации, т.е. у нас есть произнесенный клиентом пароль, который мы отправляем на сервер биометрии и строим модель голоса «якобы» Юрия Гагарина.
2. Затем мы берем 3 модели голоса настоящего Юрия Гагарина, делаем хитрым способом усредненную модель и тоже отправляем ее на сервер биометрии.
3. Просто сравниваем 2 разные модели. На выходе мы получаем процент соответствия одной модели к другой.
4. Дальше нам нужно что-то делать с этим числом (на рисунке — 92%). Много это или мало, можем мы однозначно сказать, что это Юрий Гагарин или это обманщик?

Порог доверия «свой/чужой»


В системе у нас есть такой параметр как «порог доверия» — это некий процент соответствия. Допустим, мы его сами задали в 60%. Таким образом, если процент соответствия модели голоса «якобы» Юрия Гагарина не доходит до «порога доверия», то нам позвонил обманщик. Если больше «порога доверия», то нам позвонил настоящий Юрий Гагарин. «Порог доверия» мы можем задавать сами, обычно это от 50 до 70% в зависимости от задачи верификации.

Здесь мне нужно было бы вам рассказать про ошибки первого (FR) и второго рода (FA), а также обобщенной ошибки (EER), но я это делать не буду – это сильно усложнит и увеличит текст. Если интересно, то я попробую уговорить кого-нибудь из научного отдела это популярно описать и размещу здесь отдельно.

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

Интеграция сервера биометрии в контактный центр

Блок-схема продукта VoiceKey


Честно говоря, здесь все очень просто: на вход мы подаем голос в формате wave или PCM по http, на выходе получаем результат сравнения. Больше подробнее на этом останавливаться не хочу.

Процесс верификации занимает в среднем 0.8 сек. Есть возможность работать одновременно со многими потоками.

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

Массовое использование и надежность голосовой биометрии

Теперь затронем такой вопрос: насколько вообще технология голосовой биометрии пригодна к массовому использованию? Надежна ли она?

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

Для справки: разработки Российских ученых в области голосовой биометрии занимают если не первое место в мире, то точно делят его с другими. Это подтверждено независимыми исследованиями, например NIST (Национальный Институт Стандартов и Технологий, США), где наша компания попала в тройку лучших по всем пяти тестам среди коммерческих компаний. Или то, что наш продукт «VoiceKey» победил в номинации «Лучший продукт года для КЦ» в 2013 году в международном конкурсе «Хрустальная гарнитура».
Также можно отметить, что нашей компании принадлежит реализация самого крупного в мире на сегодняшний день проекта по голосовой биометрии в телефонном канале.

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



Анонимный пользователь #1

1084 days ago
Голоса 1+-
Здравствуйте. Можно ли задать вам вопросы в личку?! Меня интересует данное устройство. Моя почта sofiya_rakhimova@mail.ru
Добавить новый комментарий
Если не хотите писать от анонимного пользователя, зарегистрируйтесь или представьтесь системе.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Статьи
Грамматики
Элементы VXML
Элементы SSML
Инструменты