Меню
Бесплатно
Главная  /  Программы  /  Yandex диктовка. Интерактивное голосовое редактирование текста с помощью новых речевых технологий от яндекса. Планы на будущее

Yandex диктовка. Интерактивное голосовое редактирование текста с помощью новых речевых технологий от яндекса. Планы на будущее

Здравствуйте, дорогие читатели! Перед вами самая необычная статья нашего блога, ведь при её написании использовался голосовой набор текста. Поэтому сегодня мы с вами обсудим, как набирать текст голосом.

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

Сервисы голосового набора

Существуют сервисы, которые работают онлайн, и есть программы, которые устанавливаются на компьютер.

Онлайн-сервисы

Это бесплатная разработка Google Chrome, которая, соответственно, работает только в этом браузере. Думаю, с этим проблем не будет, ведь это лучший браузер, и если вы до сих пор им не пользуетесь, то читайте статью про то, . Блокнот можно установить прямо в браузер или пользоваться возможностью набора текста голосом, перейдя на их сайт.

Аналогичен предыдущему сервису, также работает только в Google Chrome. Пользоваться им элементарно: выбираем нужный язык и приложение под диктовку само печатает.

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

Чтобы воспользоваться набором, не прикасаясь к клавиатуре, вам нужно открыть вкладку “Инструменты ”, а затем нажать на “Голосовой ввод…”

Разные команды для редактирования и форматирования пока доступны только на английском языке, но для русского языка поддерживаются пунктуационные команды :

  • “точка”,
  • “запятая”,
  • “восклицательный знак”,
  • “вопросительный знак”,
  • “новая строка”,
  • “новый абзац”.

Как показала практика, это очень удобно.

Программы

Платная программа, которая при помощи голоса не только печатает на компьютере и устанавливает знаки препинания, но и радует дополнительными опциями: она умеет аудио, также можно расширить версию словарями (например, с юридическими терминами или другими).

Поддерживается операционными системами, начиная с Windows 7 и выше.

Цена: от 1 690 руб.

Бесплатна и может удовлетворить амбиции многих пользователей. Её привлекательность состоит в том, что она может распознавать голос на 50 языках. Для удобного использования есть горячие клавиши, можно самому выбирать источник звука, корректировать распознанный текст.

Плюсы и минусы набора при помощи голоса

Плюсы:

  • Благодаря этим приложениям, фрилансеры могут хорошо подзаработать, занимаясь транскрибацией. Множество заданий такого рода можно найти на бирже Work-zilla , – это излюбленное место новичков в удалённой работе. Вам только остаётся включить программу и чуть позже подкорректировать текст в Word.
  • Экономия времени и сил.
  • Отличная находка для людей с ограниченными возможностями.
  • Для творческих людей выше предложенные сервисы – палочка-выручалочка, все идеи можно быстро записать, просто озвучив голосом, чтобы не забыть.

К сожалению, существуют и минусы при работе с данными сервисами:

  • Если в помещении, где вы надиктовываете, есть посторонние звуки, то распознавание слов и словосочетаний в разы ухудшается.
  • Многие приложения, работающие онлайн, доступны только в браузере Google Chrome.
  • После набора нужно уделить время на редактирование и корректировку текста.
  • Необходимо иметь качественный чувствительный микрофон.
  • Желательно иметь хорошую дикцию, чтобы уменьшить риск возникновения ошибок.

Заключение

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

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

Оставляйте в комментариях ваши отзывы о работе различных сервисов распознавания речи.

Всего вам доброго!

Яндекс.Диктовка - приложение, которое представляет собой программное решение для голосового набора текста, а также выполнения голосовых команд. Установив программу, вы сможете набирать сообщения и создавать заметки, даже не касаясь виртуальной клавиатуры. Перед тем, как начать диктовку необходимо произнести фразу: "Яндекс, записывай". После этого откроется встроенный в программу блокнот, где начнется набор диктуемого вами текста. Точность распознавания голоса здесь крайне высока. Достигнуть этого удалось за счет фирменной технологии SpeechKit. Вообще изначально Яндекс.Диктовка задумывалась как встроенный компонент оболочки Яндекс.Кит. Но после того, как проект по созданию последней был закрыт, программа стала "самостоятельным" приложением.

Отличительная особенность данной программы состоит в том, что она может самостоятельно расставлять знаки препинания, анализируя паузы в вашей речи. Мало того, "голосом" можно заставить приложение сделать перенос на следующую строку, добавить к тексту смайлик или удалить отдельное слово из набранного текста. Программа даже "умеет" озвучивать набранный текст при помощи встроенного голосового движка. Для этого достаточно произнести фразу "Прочитай всё". В общем, у разработчиков из Яндекс получилось довольно технологичное и мощное программное решение для голосового ввода.

Ключевые особенности и функции

  • обеспечивает точное распознавание текста за счет использования технологии SpeechKit;
  • дает возможность редактировать текст голосовыми командами;
  • самостоятельно расставляет знаки пунктуации, анализируя паузы в вашей речи;
  • умеет озвучивать весь набранный текст после команды "Прочитай всё".

Сегодня наше приложение Диктовка для интерактивного написания и редактирования текста голосом появилось в AppStore и Google Play . Его главная задача - продемонстрировать часть новых возможностей комплекса речевых технологий Яндекса. Именно о том, чем интересны и уникальны наши технологии распознавания и синтеза речи, я хочу рассказать в этом посте.

Пара слов, чтобы вы понимали, о чём пойдёт речь. Яндекс уже давно предоставляет бесплатное мобильное API , которое можно использовать, например, для распознавания адресов и голосовых запросов к поиску. За этот год мы смогли довести его качество почти до того же уровня, на котором такие запросы и реплики понимают сами люди. И теперь мы делаем следующий шаг - модель для распознавания свободной речи на любую тему.

Кроме этого, наш синтез речи поддерживает эмоции в голосе. И, насколько нам известно, это пока первый коммерчески доступный синтез речи с такой возможностью.

Обо всём этом, а также о некоторых других возможностях SpeechKit: об активации голосом, автоматической расстановке пунктуационных знаков и распознавании смысловых объектов в тексте - читайте ниже.

Всеядное ASR и качество распознавания

Система распознавания речи в SpeechKit работает с разными видами текста, и последний год мы работали над расширением сферы её применения. Для этого мы создали новую языковую модель, пока самую большую, для распознания коротких текстов на любую тему.

За прошедший год относительная доля ошибочно распознанных слов (Word Error Rate) понизилась на 30%. Например, сегодня SpeechKit правильно распознаёт 95% адресов и географических объектов, вплотную приблизившись к человеку, который понимает 96–98% услышанных слов. Полнота распознавания новой модели для диктовки разных текстов сейчас составляет 82%. С таким уровнем можно создать полноценное решение для конечных пользователей, что мы и хотели показать на примере Диктовки.

Изначально SpeechKit работал только для поисковых запросов: общей тематики и геонавигационных. Хотя уже тогда мы задумывали сделать не просто дополнительный инструмент ввода, «голосовую» клавиатуру, а универсальный интерфейс, который полностью заменит любое взаимодействие с системой живым разговором.

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

Такой размер модели ставил новые условия с точки зрения вычислительных ресурсов. Для каждого фрейма рассматриваются несколько тысяч вариантов распознавания - и чем больше мы успеваем, тем выше качество. А работать система должна в потоке, в режиме реального времени, поэтому все расчёты нужно оптимизировать динамически. Экспериментировали, пробовали, искали подход: ускорения добились, например, сменой библиотеки линейной алгебры.

Но важнее и сложнее всего было собрать достаточно правильных данных, пригодных для обучения потоковой речи. Сейчас для тренировки акустической модели используются около 500 часов вручную транскрибированной речи. Это не такая уж большая база - для сравнения, популярный научный корпус Switchboard , который часто используют в исследовательских целях, содержит примерно 300 часов живых, спонтанных разговоров. Безусловно, увеличение базы способствует росту качества обучаемой модели, но мы делаем упор на правильную подготовку данных и аккуратнее моделируем транскрипции, что позволяет с приемлемым качеством обучаться на относительно небольшой базе.

Пара слов о том, как устроен модуль распознавания (подробно мы об этом рассказывали некоторое время назад). Поток записанной речи нарезается на фреймы по 20 мс, спектр сигнала масштабируется и после ряда преобразований для каждого фрейма получаются MFCC .

Коэффициенты поступают на вход акустической модели, которая вычисляет распределение вероятностей для примерно 4000 сенонов в каждом фрейме. Сенон - это начало, середина или конец фонемы.

Акустическая модель SpeechKit построена на комбинации скрытых Марковских моделей и глубокой нейронной сети прямого распространения (feedforward DNN). Это уже проверенное решение, и в прошлой статье мы рассказывали, как отказ от гауссовых смесей в пользу DNN дал почти двукратный скачок в качестве.

Затем вступает первая языковая модель: несколько WFST - взвешенных конечных трансдьюсеров - превращают сеноны в контекстно-зависимые фонемы, а из них уже с помощью словаря произношений строятся целые слова, причём для каждого слова получаются сотни гипотез.

Финальная обработка происходит во второй языковой модели. К ней подключена RNN , рекуррентная нейронная сеть, и эта модель ранжирует полученные гипотезы, помогая выбрать самый правдоподобный вариант. Сеть рекуррентного типа особенно эффективна для языковой модели. Определяя контекст каждого слова, она может учитывать влияние не только ближайших слов, как в нейронной сети прямого распространения (скажем, для триграммной модели - это два предшествующих слова), но и дальше отстоящих, как бы «запоминая» их.

Распознавание длинных связных текстов доступно в SpeechKit Cloud и SpeechKit Mobile SDK - для использования новой языковой модели в параметрах запроса нужно выбрать тему «notes».

Голосовая активация

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

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

При нашем подходе модуль голосовой активации - это, по сути, система распознавания в миниатюре. Только работает она в более жёстких условиях. Во-первых, распознавание команды должно происходить на самом устройстве, без обращения к серверу. А вычислительные мощности смартфона сильно ограничены. Критично и энергопотребление - если обычный модуль распознавания включается только на определённое время для обработки конкретного запроса, то модуль активации работает постоянно, в режиме ожидания. И при этом не должен сажать батарею.

Впрочем, есть и послабление - для системы активации нужен совсем небольшой словарь, ведь ей достаточно понимать несколько ключевых фраз, а всю остальную речь можно просто игнорировать. Поэтому языковая модель активации гораздо компактнее. Большинство состояний WFST соответствуют определённой части нашей команды - например, «началу четвёртой фонемы». Есть также «мусорные» состояния, описывающие тишину, посторонний шум и всю остальную речь, отличную от ключевой фразы. Если полноценная модель распознавания в SpeechKit имеет десятки миллионов состояний и занимает до 10 гигабайт, то для голосовой активации она ограничена сотнями состояний и умещается в несколько десятков килобайт.

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

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

Синтез речи

Третий основной компонент речевой технологии - это синтез речи (text-to-speech). TTS -решение SpeechKit позволяет озвучить любой текст мужским или женским голосом, да ещё и задав нужную эмоцию. Ни у одного из известных нам голосовых движков на рынке нет такой возможности.

Есть несколько принципиально разных технологий синтеза речи, и в большинстве современных систем используется конкатенативный синтез методом «unit selection». Заранее записанный образец голоса режется на определенные составные элементы (например, контекстно-зависимые фонемы), из которых составляется речевая база. Затем любые нужные слова собираются из отдельных юнитов. Получается правдоподобная имитация человеческого голоса, но воспринимать его тяжело - скачет тембр, возникают неестественные интонации и резкие переходы на стыках отдельных юнитов. Особенно это заметно при озвучивании длинного связного текста. Качество такой системы можно повышать, увеличивая объём речевой базы, но это долгий и кропотливый труд, требующий привлечения профессионального и очень терпеливого диктора. И полнота базы всегда остаётся узким местом системы.

В SpeechKit мы решили использовать статистический (параметрический) синтез речи на базе скрытых Марковских моделей. Процесс, по сути, аналогичен распознаванию, только происходит в обратном направлении. Исходный текст передаётся в модуль G2P (grapheme-to-phoneme), где преобразуется в последовательность фонем.

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

Тембр такого голоса несколько «компьютерный», зато у него естественные и плавные интонации. При этом гладкость речи не зависит от объёма и длины читаемого текста, а голос легко настраивать. Достаточно указать в параметрах запроса один ключ, и модуль синтеза выдаст голос с соответствующей эмоциональной окраской. Разумеется, никакая система unit selection на такое не способна.

Чтобы модель голоса смогла построить алгоритмы, соответствующие различным эмоциям, потребовалось правильным образом обучить её. Поэтому во время записи наша коллега Евгения, чей голос и можно услышать в SpeechKit, произносила свои реплики по очереди нейтральным голосом, радостным и, наоборот, раздражённым. В ходе обучения система выделила и описала параметры и характеристики голоса, соответствующие каждому из этих состояний.

Не все модификации голоса построены на обучении. Например, SpeechKit позволяет также окрасить синтезированный голос параметрами «drunk» и «ill». Наши разработчики пожалели Женю, и ей не пришлось напиваться перед записью или бегать на морозе, чтобы хорошенько простудиться.

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

Статистический метод также позволяет быстро расширять систему. В модели unit selection для добавления нового голоса нужно создать отдельную речевую базу. Диктор должен записать много часов речи, при этом безупречно выдерживая одинаковую интонацию. В SpeechKit для создания нового голоса достаточно записать хотя бы два часа речи - примерно 1800 специальных, фонетически-сбалансированных предложений.

Выделение смысловых объектов

Слова, которые произносит человек, важно не только перевести в буквы, но и наполнить смыслом. Четвёртая технология, которая в ограниченном виде доступна в SpeechKit Cloud, не касается напрямую работы с голосом - она начинает работать уже после того, как произнесённые слова распознаны. Но без неё полный стек речевых технологий не сделать - это выделение смысловых объектов в естественной речи, которое на выходе даёт не просто распознанный, а уже размеченный текст.

Сейчас в SpeechKit реализовано выделение дат и времени, ФИО, адресов. В гибридной системе сочетаются контекстно-свободные грамматики, словари ключевых слов и статистические данные поиска и разных сервисов Яндекса, а также алгоритмы машинного обучения. Например, во фразе «поехали на улицу Льва Толстого» слово «улица» помогает системе определить контекст, после чего в базе данных Яндекс.Карт находится соответствующий объект.

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

На вход системы подаётся список разных типов объектов и примеры фраз из живой речи, их описывающих. Далее из этих примеров методом Pattern Mining формируются паттерны. В них учитываются начальная форма, корни, морфологические вариации слов. Следующим шагом даются примеры употребления выбранных объектов в разных сочетаниях, которые помогут системе понимать контекст. На основе этих примеров строится скрытая Марковская модель, где наблюдаемыми состояниями становятся выделенные в реплике пользователя объекты, а скрытыми - соответствующие им объекты из предметного поля с уже известным значением.

Например, есть две фразы: «вставить „привет, друг“ в начало» и «вставить из буфера». Система определяет, что в первом случае после «вставить» (действие редактирования) идёт произвольный текст, а во втором - известный ей объект («буфер обмена»), и по-разному реагирует на эти команды. В традиционной системе это потребовало бы написания правил или грамматик вручную, а в новой технологии Яндекса анализ контекста происходит автоматически.

Автопунктуация

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

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

Большая сложность возникла с данными для обучения - в большинстве корпусов уже нормализованные тексты, в которых знаки препинания опущены. Также почти нет пунктуации и в текстах поисковых запросов. Мы обратились к «Эху Москвы», которые вручную расшифровывают все свои эфиры, и они разрешили нам использовать свой архив. Быстро выяснилось, что для наших целей эти транскрипции непригодны - они сделаны близко к тексту, но не дословно, а поэтому для машинного обучения не годятся. Следующая попытка была сделана с аудиокнигами, но в их случае, наоборот, качество оказалось слишком высоким. Хорошо поставленные голоса, с выражением декламирующие текст, слишком далеки от реальной жизни, и результаты обучения на таких данных никак не удавалось применить в спонтанной диктовке.

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

Начать пришлось с чистого листа - мы решили расставлять знаки препинания уже на этапе пост-обработки. Начали с одного из простейших методов, который, как ни странно, показал в итоге вполне приемлемый результат. Паузы между словами получают одну из меток: пробел, точка, запятая, вопросительный знак, восклицательный знак, двоеточие. Чтобы предсказать, какая метка соответствует конкретной паузе, используется метод условных случайных полей (CRF - conditional random fields). Для определения контекста учитываются три предшествующих и два последующих слова, и эти нехитрые правила позволяют с достаточно высокой точностью расставлять знаки. Но мы продолжаем экспериментировать и с полноценными моделями, которые смогут ещё на этапе распознавания голоса правильно интерпретировать интонации человека с точки зрения пунктуации.

Планы на будущее

Сегодня SpeechKit активно используется для решения «боевых» задач в массовых сервисах для конечных пользователей. Следующая веха - научиться распознавать спонтанную речь в живом потоке, чтобы можно было прямо в реальном времени расшифровать интервью или автоматически конспектировать лекцию, получая на выходе уже размеченный текст, с выделенными тезисами и ключевыми фактами. Это огромная и очень наукоёмкая задача, которую пока не удалось решить никому в мире - а других мы и не любим!

Для развития SpeechKit очень важна обратная связь. Поставьте

Здравствуйте, друзья! Буквально недавно я описал два полезных приложения: первое из них — это мобильное приложение для обмена фотографиями, а второе - это в браузере Google Chrome. Но, как говорится, Бог любит троицу, поэтому я решил все-таки сделать трилогию и познакомить Вас с еще одной полезностью — мобильным приложением Яндекс.Диктовка, которое позволяет набирать текст голосом.

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

В принципе, в Интернете таких решений много. Например, про который я уже писал . Он конечно более раскрученный по сравнению с Яндекс.Диктовкой и для него доступно расширение в Google Chrome, но его мобильную версию мне так и не довелось найти.

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

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

Единственная проблема, которая действительно влияет на распознавание речи (причем в любом подобном сервисе!) – это дикция говорящего. Но это дело поправимое. Дикцию можно тренировать элементарными упражнениями, например, такими, как

Яндекс.Диктовка – интересное приложение от Яндекс, которое позволяет совершенно по-новому оценить речевые технологии.

Сервис Яндекс.Диктовка позволяет вводить делать новые заметки, писать SMS-сообщения – не касаясь клавиатуры дисплея. Проще говоря, все действия в приложении делаются с помощью голосовых команд. К примеру, для начала работы необходимо сказать фразу «Яндекс, записывай», после чего вы сможете проговорить то, что хотели бы записать в заметку или отправить в сообщении.


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


В целом, очень даже неплохой и интересный сервис, который позволяет забыть о привычных способах созданиях заметок и ввода текста. Понравилась программа? Тогда вам следует скачать Яндекс.Диктовка на Android бесплатно прямо сейчас!