Стрепетилов - Сибирский федеральный университет

advertisement
УДК 81’33
РЕЧЕВЫЕ ТЕХНОЛОГИИ НА ПРИМЕРЕ КОМПАНИИ «ЯНДЕКС»
Стрепетилов А.А.,
научный руководитель старший преподаватель Лабушева Т. М.
Сибирский федеральный университет
Введение
Современная жизнь и общество диктуют бешеный темп жизни, в которой
новые технологии сменяют друг друга уже не каждое поколение, но каждые
несколько лет. Это касается не только, скажем, архитектуры вычислительных
систем, но и разработки интерфейсов. На смену привычному сочетанию «клавиатура
и мышь» пришёл сенсорный интерфейс, который является уже неотъемлемой частью
мобильных устройств, таких как смартфоны и планшетные компьютеры. Однако
порой даже его бывает недостаточно, чтобы быстро построить маршрут, найти
нужную информацию и т. д. И вот всё популярнее и популярнее становятся речевые
технологии. Именно о них, на примере разработок компании «Яндекс»,
рассказывается в данной статье.
Прежде надо заметить, что сами по себе речевые технологии являются весьма
молодой разработкой. Разумеется, ещё в XX веке были попытки воссоздать
устройства с использованием голосовых команд, например, в 1964 году IBM
разработала голосовой калькулятор Shoebox, который мог «понимать» простые
команды и воспроизводить математические операции. Однако попытки
продвинуться в области речевых технологий оканчивались неудачей вплоть до
начала XXI века, и причиной тому были недостаточные вычислительные мощности
и отсутствие теоретической базы. И теперь, основываясь на принципах
компьютерной лингвистики и цифровой обработки сигналов, речевые технологии
стали развиваться семимильными шагами.
Технология
В октябре 2013 года на технологической конференции “YaC” «Яндекс»
представила алгоритмы работы голосового управления, которые были разработаны в
недрах самой компании. В основе работы голосового управления лежит
распознавание речи. Оно разбивается на два ключевых этапа: преобразование
сигнала речи в сеноны (части фонем) с помощью акустической модели и
воспроизведение соответствующего текста из сенонов с помощью языковой модели.
Разумеется, интерфейсы, по крайней мере, пока не способны «слышать»
отдельные слова — для любого устройства голосовая команда воспринимается как
последовательный цифровой сигнал. Принцип работы акустической модели состоит
в преобразовании этого сигнала в так называемые сеноны — части фонем
(слышимых звуков, например, [й], [а], [р] и т. д.). И сейчас мы опишем, как это
происходит.
Сначала на вход системе подаётся голосовой сигнал. Система разбивает его на
«фреймы» — участки по 25 мс длиной, которые накладываются друг на друга с
шагом 10 мс (то есть первый «фрейм» будет идти в интервале 0-25 мс, второй
«фрейм» — 10-35 мс, третий — 20-45 мс и т. д.). Затем с помощью преобразования
Фурье система получает спектр сигнала для каждого «фрейма». Это, по сути, массив
чисел, который подаётся уже в акустическую модель. В свою очередь, акустическая
модель, построенная на базе обученной нейронной сети, ищет вероятностные
распределения среди сенонов. И когда она находит соответствия, в дело вступает
языковая модель.
Стоит отметить, что обучение акустической модели — совершенно
нетривиальная задача. Основная сложность упирается в заранее подготовленные
данные, ведь именно на них и должна опираться акустическая модель. В «Яндексе»
потратили около 500 часов на запись фонетически богатого текста, который позже
был размечен на «фреймы» и обработан соответствующим образом.
Задача языковой модели сводится к преобразованию сенонов. Принцип
действия этой модели основан на работе конечных автоматов. Само преобразование
происходит в несколько этапов. Сначала сеноны «складываются» в фонемы, а те
преобразуются в готовые слова при помощи «лексикона» — фонетического словаря.
Конечно, система не может задать однозначное соответствие между сеноном и
фонемой (даже человеку свойственно ошибаться в распознавании речи), поэтому
происходит взаимодействие с теми фонемами, которые обладают более-менее
одинаковыми вероятностями по отношению к сенону. Готовые слова поступают в
языковую модель, которая также построена на базе нейронной сети. В итоге
языковая модель подаёт на выход наиболее вероятную последовательность слов.
Если акустические модели обучаются при помощи записанной речи, то
языковые модели «изучают» тексты: запросы, команды, специально подготовленные
статьи и т. д. Сейчас в словарях «Яндекса» находится более 4-х миллиардов слов
(стоит заметить, что эти 4 миллиарда включают однокоренные и похожие слова,
которые отличаются по звучанию).
Эффективность распознавания
Любая технология распознавания текста оценивается двумя ключевыми
критериями: по качеству текста (смогла ли программа распознать записанный сигнал
верно) и по скорости выполнения (как быстро пользователь сможет получить
результат). В настоящее время в компании «Яндекс» добились следующих
результатов: короткие запросы распознаются с точностью 88%, специальные
запросы (к ним относятся названия городов, улиц, организаций и т. д.) с точностью
95%, а длинные тексты с — 82%.
Хорошую скорость распознавания обеспечивает принцип потоковой передачи
данных. Речевой сигнал пользователя отправляется на сервис маленькими
кусочками, где они распознаются, и отправляется обратно. При наличии хорошего
Интернет-соединения пользователь получает распознанный запрос практически
сразу.
Голосовая активация, синтез речи и выделение объектов
Голосовая активация — одна из задач, в которых применяется распознавание
речи. В отличие от основного алгоритма, голосовая активация способна работать без
подключения к сети Интернет, поскольку основные алгоритмы и модели находятся
уже в памяти устройства пользователя. Программе не нужно распознавать всю речь:
её задача обнаружить во всём голосовом потоке «ключевое слово активации»
(знаменитое «Окей, Гугл»). Как только кодовое слово обнаружено, то включается
основной алгоритм распознавания речи.
Синтез речи — ещё одно направление, использующее алгоритмы
распознавания речи (только обратным способом). Процесс подготовки к синтезу
речи весьма трудоёмок: сперва диктор с нужным голосом записывает сотни часов
фонетически богатого текста. Затем весь поток «нарезается» на фонемы, из них
составляется колоссальная база данных, и та становится основной для
формирования синтезированной речи по готовому тексту. У этого подхода есть свои
недостатки: при «склеивании» фонем по готовому тексту на «стыках» образуются
«артефакты» звучания.
В «Яндексе» использовали другой подход. Сначала текст попадает в модуль
«Graphemes 2 Fonemes», который преобразует его в фонемы. Затем фонемы подают
на вход акустической модели и переводятся в числовую последовательность. И уже
готовая последовательность синтезируется вокодером. При этом, если изменять
параметры числовой последовательности, то можно изменять и сам голос, включая
даже интонации.
Выделение смысловых объектов — это третье важное направление, которое
развивается на основе алгоритмов распознавания речи. Если вкратце, то это
«понимание» программой того, что написано в тексте. В качестве объекта —
ключевой смысловой единицы в тексте — может использоваться имя, адрес,
действие, услуга и т.д. Скажем, запрос «Заказать такси на улицу Краснодарская, 22 к
08.00» можно разбить на следующие объекты: «заказать такси» как действие,
«08.00» как время и «Краснодарская, 22» как адрес. В компании «Яндекс» все
смысловые объекты распределяются на две категории: условно «простые» объекты
(например, время) и «сложные» (имена, адреса и т. д.). Первые обрабатываются с
помощью томита-парсера — программы для извлечения структурированных данных.
Она находится в свободном доступе для скачивания и использования. «Сложные» же
объекты обрабатываются внутренней технологией «Яндекса» под названием
«MatrixNet».
Выводы
Технологии распознавания речи — это путь не только к новому интерфейсу,
но и к новым возможностям. Достаточно представить себе, как было бы удобно
преобразовать записанную на диктофон лекцию в готовый текст или практически
мгновенно получить текстовый вариант важной конференции или совещания.
Однако распознавание речи нашло бы себя и во многих отраслях и
направлениях. Вот лишь некоторые из них:
 персональные компьютеры и ноутбуки, которые смогут выполнять
определённые задачи с помощью голосовых команд;
 автомобильные системы, в которых водителю не нужно будет отвлекаться на
нажатие клавиш или сенсоров;
 сервисы телефонии, в которых пользователи смогут сразу описать свой
запрос, а не нажимать по очереди кнопки, подписанные как «ожидание
соединения с оператором»;
 автоматическое протоколирование, которое значительно облегчит задачу
ведения записей сразу во многих областях (например, юриспруденция);
 и многие подобные.
Список литературы
1. Сато, Юкио. Без паники! Цифровая обработка сигналов / Сато, Ю; пер. с яп.
Селиной Т.Г. — Москва: Додэка-XXI, 2010. — 176 с.
2. Как это работает? Распознавание речи [Электронный ресурс] / Яндекс.Блог. —
Электрон. текстовые дан. — Москва: 2013. — Режим доступа:
http://blog.yandex.ru/post/72171/
3. Филлипов, Денис. Интерактивное голосовое редактирование текста с
помощью новых речевых технологий [Электронный ресурс] / Хабрахабр. —
Электрон. текстовые дан. — Москва: 2014. — Режим доступа:
http://habrahabr.ru/company/yandex/blog/243813/
Download