Почему распознавание речи затруднено? [закрытый]
Почему распознавание речи так сложно? Какие конкретными связанные с этим проблемы? Я прочитал вопрос о распознавании речи, который частично ответил на некоторые мои вопросы, но ответы были в основном анекдотическими, а не техническими. Он также до сих пор не ответил, почему мы все еще не можем просто бросить больше оборудования на эту проблему.
Я видел инструменты, которые выполняют автоматическое шумоподавление с использованием нейронных сетей и анализа окружающего БПФ с отличным качеством. поэтому я не вижу причины, по которой мы все еще боремся с шумом, за исключением сложных сценариев, таких как смехотворно громкий фоновый шум или множественные источники речи.
Кроме того, разве это не просто случай использования очень больших, сложных, хорошо обученных нейронных сетей для выполнения обработки, а затем бросать в него аппаратные средства, чтобы заставить его работать достаточно быстро?Я понимаю, что сильные акценты-это проблема, и что у всех нас есть свои разговорные выражения, но эти механизмы распознавания все еще остаются базовыми что-то не так, когда человек говорит с медленным и четким американским или британским акцентом.
Так в чем же дело? Какиетехнические проблемы существуют, из-за которых компьютеру все еще так трудно понять меня?
5 ответов:
Некоторые технические причины:
В целом распознавание речи-сложная задача. Не неразрешимо трудно, но достаточно трудно, чтобы вы не ожидали никаких внезапных чудес, и это, безусловно, будет держать многих исследователей занятыми еще много лет.....
- вам нужно много помеченных обучающих данных, которые может быть трудно получить, если вы принимаете во внимание все различные акценты, звуки и т. д.
- нейронные сети и подобные им алгоритмы градиентного спускане масштабируются настолько хорошо - просто увеличение их размеров (больше слоев, больше узлов, больше связей) не гарантирует, что они научатся решать вашу проблему в разумные сроки. Масштабирование машинного обучения для решения сложных задач это все еще трудная, нерешенная проблема.
- многие подходы машинного обучениятребуют нормализованных данных (например, определенной начальной точки, стандартного шага, стандартной скорости). Они не работают хорошо, как только вы выходите за пределы этих параметров. Существуют такие методы, как свертка нейронных сетей и т.д. чтобы решить эти проблемы, но все они добавляют сложности и требуют большой экспертной тонкой настройки.
- размер данных для речи может быть довольно большим - размер данных делает инженерные проблемы и вычислительные требования немного сложнее.
Речевые данные обычно должны быть интерпретированы в контексте для полного понимания - человеческий мозг замечательно хорош в "заполнении пробелов", основанных на понятном контексте. Недостающая информация и различные интерпретации заполняются с помощью других модальностей (таких как видение). Современные алгоритмы не" понимают " контекст, поэтому они не могут использовать его для интерпретации речевых данных. Это особенно проблематично, потому что многие звуки / слова неоднозначны, если не взяты в контексте.
Люди используют больше, чем их уши, когда слушают, они используют знания, которые они знают. имейте в виду говорящего и предмет разговора. Слова не упорядочиваются произвольно вместе, Существует грамматическая структура и избыточность, которые используют люди предсказать слова, которые еще не произнесены. Кроме того, идиомы и то, как мы ’обычно’ говорить вещи делает предсказание еще проще.
При распознавании речи мы имеем только речевой сигнал. Мы, конечно, можем построить модель для грамматической структуры и использовать какой-то вид статистическая модель чтобы улучшить прогнозирование, но есть еще проблема, как моделировать мир знание, знание говорящего и энциклопедическое знание. Мы можно, конечно, не моделировать мировое знание исчерпывающе, но интересно вопрос в том, сколько нам на самом деле нужно в ASR, чтобы соответствовать человеческому понимание.
Речь произносится в окружении звуков, тикающих часов, компьютера. жужжание, где-то в коридоре играет радио, еще один человек. спикер в зале фон и т. д. Это обычно называют шумом, т. е. информация в речевом сигнале. В распознавании речи мы должны идентифицировать и отфильтровывать эти шумы от речевого сигнала. разговорный язык != Письменный язык1: непрерывная речь
2: изменчивость канала
3: вариативность динамиков
4: стиль речи
5: скорость речи
6: неоднозначность
Все эти моменты необходимо учитывать при построении речи. признание, вот почему его довольно трудно.
-------------ссылается на http://www.speech.kth.se/~rolf/gslt_papers/MarkusForsberg. pdf
Я подозреваю, что вас интересует "непрерывное" распознавание речи, когда говорящий произносит предложения (а не отдельные слова) с нормальной скоростью.
Проблема заключается не только в анализе сигналов, но и в наличии большого компонента естественного языка. Большинство из нас понимают разговорный язык не анализируя каждую вещь, которую мы слышим, так как это никогда не сработает, потому что каждый человек говорит по-разному, фонемы подавляются, произношение отличается и т. д. Мы просто интерпретируем a часть того, что мы слышим, а остальное "интерполируется" нашим мозгом, как только устанавливается контекст сказанного. Когда у вас нет контекста, трудно понять разговорный язык.
Множество основных проблем в распознавании речи напрямую не связаны с самим языком:
- разные люди (женщины, мужчины, дети, старики и т. д.) имеют разные голоса
- Иногда один и тот же человек звучит по-разному, например, когда человек простужен
- различные фоновые шумы
- повседневная речь иногда содержит слова из других языков (например, у вас есть немецкое слово Kindergarden в США / английском языке)
- некоторые лица не из страна сама выучила язык (обычно они звучат по-разному)
- одни люди говорят быстрее, другие медленнее
- качество микрофона
и т.д.Решать такие вещи всегда довольно сложно... кроме того, у вас есть язык/произношение, чтобы заботиться о нем...
Для справки смотрите статью Википедии http://en.wikipedia.org/wiki/Speech_recognition - он имеет хороший обзор, включая некоторые ссылки и ссылки на книги, которые являются хорошая отправная точка...
С технической точки зрения "предварительная обработка звука" - это всего лишь один шаг в длительном процессе... допустим, звук "crytal clear", затем несколько из вышеупомянутых аспектов (например, простуда, путаница в языках и т. д.) все еще нужно решить.
Все это означает, что для хорошего распознавания речи вам нужно иметь модель языка (языков), которая достаточно тщательна, чтобы учитывать небольшие различия (например, "съел" против "восьми"), которые обычно включают некоторый контекстный анализ (то есть семантическое и фактологическое/мировоззренческое знание, см. http://en.wikipedia.org/wiki/Semantic%5Fgap ) и др.
Поскольку почти все релевантные языки эволюционировали и не были разработаны как математические модели, вам в основном нужно "перепроектировать" имеющиеся неявные и явные знания о языке в модель, что является большой проблемой IMHO.Поработав сам с нейронными сетями, могу вас заверить, что в некоторых случаях они дают хорошие результаты они не являются "магическими инструментами"... почти всегда хорошая нейронная сеть была тщательно разработана и оптимизирована под конкретные требования... в этом контексте он нуждается как в обширном опыте / знании языков и нейронных сетей, так и в обширной подготовке для достижения полезных результатов...
Прошло уже десять лет с тех пор, как я посещал языковые курсы в колледже, но из того, что я помню, язык можно разбить на фонемы. Языковые процессоры делают все возможное, чтобы идентифицировать эти фонемы, но они уникальны для каждого человека. Даже после того, как они разбиты, они должны быть снова собраны в осмысленную конструкцию.
Возьмите этот пример, люди вполне способны читать без знаков препинания, без заглавных букв и без пробелов. Это займет секунду, но мы вполне можем это сделать. без труда. Это то, на что компьютер должен смотреть, когда он получает блок фонем. Однако компьютеры далеко не так хорошо разбирают эти данные. Одна из причин заключается в том, что компьютерам трудно иметь контекст. Люди могут даже понимать младенцев, несмотря на то, что их фонемы могут быть совершенно неправильными.Даже если у вас все фонемы правильные, то упорядочить их в порядке, который имеет смысл, также трудно.