УДК 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/