Как начать работать с речью в текст? - PullRequest
10 голосов
/ 18 августа 2008

Мне действительно интересны алгоритмы преобразования текста в текст, но я не уверен, с чего начать их изучение. Куча поисков привела меня к этому , но это с 1996 года, и я вполне уверен, что с тех пор произошли улучшения.

Есть ли у кого-нибудь, кто имеет опыт работы с подобными вещами, какие-либо рекомендации по чтению / проверке исходного кода? Или просто общий совет о том, что я должен пытаться узнать, если я хочу попасть в мир написания программ распознавания речи (иногда трудно узнать, что искать, если у вас мало знаний о предметной области).

Редактировать: Я хотел бы сделать что-то кроссплатформенное, но на данный момент я буду ориентироваться на Linux.

Редактировать 2: Спасибо csmba за хорошо продуманный ответ. На данный момент я в основном заинтересован в возможности создания приложений, которые позволяют автоматизировать или выполнять различные команды с помощью голоса. Таким образом, ограниченное количество распознаваемых команд можно связать вместе. Примером может служить музыкальный проигрыватель, который принимает команды типа «Воспроизвести альбом Hello Everything by Squarepusher», или средство запуска приложений, которое позволяет пользователю создавать голосовые ярлыки для запуска определенных приложений.

Я понимаю, что это довольно гигантская проблема, и что у меня далеко не тот уровень знаний, который требуется сейчас для реализации всего механизма распознавания, хотя методы, связанные с этим, меня очаровывают, и это то, что я бы хотел хотел бы работать сам, чтобы делать. По всей вероятности, я в конечном итоге подберу одну или две книги на эту тему и изучу / поиграю с «простыми» реализациями в свободное время.

Ответы [ 6 ]

8 голосов
/ 18 августа 2008

Это ОГРОМНЫЕ вопросы, я не знаю, с чего начать ... Итак, позвольте мне попробовать дать вам правильные "условия", чтобы вы могли уточнить свой квест:

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

Человек-машина: Приложения, которые имеют дело с пониманием того, что говорит человек, но человек знает, что он говорит с машиной, и грамматика очень ограничена. Примеры:

  • Компьютерная автоматизация
  • Специализированный: Пилоты, например, автоматизируют некоторые элементы управления (шум - огромная проблема)
  • Системы IVR (Interactive Voice Response), такие как Google-411 или когда вы звоните в банк, а компьютер на другой стороне говорит «скажи« сервис », чтобы получить обслуживание клиентов»

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

  • Call Center: разговор между Агентом-Клиентом, качество телефона, сжатый
  • Интеллект: радио / телефон / живые разговоры между 2 или более лицами

Теперь, Речь-Текст - это не то, о чем вы должны говорить, что вам небезразлично. Что вас волнует, так это решение проблемы. Для решения разных задач используются разные технологии. Смотрите обзор здесь некоторых из них. Подводя итог, можно сказать, что другие подходы - это фонетическая транскрипция, LVCSR и прямая связь.

Кроме того, вы заинтересованы в том, чтобы быть доктором технических наук? Вам понадобится эквивалент Мастера, включающий Обработка сигнала и, вероятно, PHd, чтобы быть передовым. В этом случае вы будете работать в компании, которая разрабатывает реальный речевой движок . Крупными являются такие компании, как Nuance и IBM, но существуют также Phillips и другие стартапы.

С другой стороны, если вы хотите быть тем, кто реализует приложения, вы будете работать не над движком, а над созданием приложения, использующего движок. Хорошая аналогия, я думаю, формирует игровую индустрию: Вы разрабатываете графический движок (например, движок Cry) или работаете над одной из нескольких сотен игр, и все они используют один и тот же графический движок?

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

еще одна вещь: в общем, вы также хотели бы иметь хороший статистический фон, тем ниже в стеке вы хотите быть.

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

Хорошо, мы сходимся здесь ... Тогда вас не интересует "Речь к тексту". Эти умные слова переносят вас в мир полной транскрипции, куда вам не нужно идти. Вы должны сосредоточиться на некоторых из более простых технологий «человек-машина», таких как Voice XML, и тех, которые используются в системах IVR (Nuance является крупнейшим игроком в этой области)

3 голосов
/ 18 августа 2008

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

Опрос, который вы указали, также, вероятно, является отличным ресурсом. Я уверен, что с 1996 года были достигнуты успехи, но основы вряд ли кардинально изменились. Если опрос хорошо написан, тогда стоит прочитать его.

2 голосов
/ 18 августа 2008

Я работал с продуктом IBM ViaVoice . Он имеет хороший механизм автоматического распознавания речи и хороший механизм преобразования текста в речь.

Веб-сайты не очень хорошие, но это ссылка для встроенной версии http://www -01.ibm.com / software / voice / support /

Это не зависит от платформы, и все работает через архитектуру MVC, используя vxml вариант xml для голосовых целей.

2 голосов
/ 18 августа 2008

Для OS X проверьте это: OS X Speech Technologies

Для Windows проверьте это: Microsoft Speech API

0 голосов
/ 24 ноября 2014

Существует также Служба распознавания речи для Android.

0 голосов
/ 18 августа 2008

На какую платформу вы ориентируетесь? Существует Microsoft Speech APIs , которые вы можете использовать, если это для Windows.

...