Вы здесь

Как расшифровывают речь компьютеры? Часть 2

Опубликовано: 2020-07-10

Продолжение. Начало: Как расшифровывают речь компьютеры? Часть 2​

 

Процесс распознавания

На практике расшифровка речи в текст начинается с того, что система прослушивает часть звука (фрагмент речи), произнесенного в микрофон.

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

Цифровые данные преобразуются в спектрограмму (график, показывающий, как частотные составляющие звука меняются со временем по интенсивности) с использованием математического метода (быстрое преобразование Фурье — БПФ), а затем разбиваются на ряд перекрывающихся фрагментов — акустических кадров, каждый обычно длится от 1/25 до 1/50 секунды.

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

Разговорные языки строятся только из нескольких десятков фонем (в английском используется около 46 минимальных единиц звукового строя языка, а в испанском — около 24). Поэтому, теоретически, мы можем распознать любое высказывание, просто научившись понимать звуки. Вместо того чтобы распознавать звуки примерно 40 000 слов английского языка, достаточно распознать только 46 базовых звуков компонента (или сколько их в вашем языке). Хотя всё равно понадобится большой фонетический словарь, в котором перечислены фонемы, составляющие каждое слово. Этот метод анализа произнесенных слов с помощью идентификации звуков или фонем также называют моделью «бусы на веревке»: фрагмент неизвестной речи («веревка») распознается путем разбивки его на звуки или частицы звуков (бусы). Научившись понимать звуки, вы сможете понимать слова.

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

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

3. Статистический анализ

На самом деле распознавание речи — более сложный процесс, чем просто идентификация звуков и сравнение их с сохраненными шаблонами, и вот почему:

  • Речь чрезвычайно изменчива: разные люди говорят по-разному (хотя слова одни и те же, и построены из стандартного набора фонем).
  • Вы не всегда произносите определенное слово одинаково. Даже если и так, ваше произношение слова (или части слова) может отличаться в зависимости от предыдущих или последующих звуков или слов.
  • По мере увеличения нашего словарного запаса растет и количество одинаково звучащих слов. Например: цифра 3 и «три» — действие, цифра 7 и «съем». Таким образом, распознавание чисел является более сложной задачей для голосовой диктовки на ПК с общим словарным запасом в 50 000 слов, чем для автоматизированного коммутатора с конкретным словарным запасом из 10 слов, содержащим только десять цифр.
  • Чем больше спикеров должна распознать система, тем будет больше вариаций и тем больше вероятность ошибок.

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

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

Также, согласно правилам грамматики, не принято ставить рядом два существительных. Прилагательные («красный», «хороший», «чистый») принято ставить перед существительными, а не после них (чистый стол, а не стол чистый).

Когда компьютер пытается анализировать разговорный текст и слышит «вот ******* пример», машина допускает, что возможное слово является прилагательным, а не существительное. Таким образом, согласно правилам грамматики, машина может исключить существительные, вроде слова «стол», и делает предположение, что фраза будет звучать как «хороший пример» или «плохой пример». Дополнительная подсказка — если машина услышала первый звук неизвестного слова, например, букву «х», а не «п».

Также практически все современные системы распознавания речи используют некоторые статистические трюки, чтобы понять, о чем речь. Учитывается вероятность того, что один звук последует за другим, что между звуками может быть тишина, и что разные слова будут следовать за другими словами.

В конечном счете, система создает так называемую «скрытую модель Маркова». Проанализировав все элементы звукового спектра, все звуки и тишину, которые может содержать речь, компьютер делает лучшее предположение о том, какие «бусы» висят «на веревке»

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

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

4. Искусственные нейронные сети

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

Еще в 1980-х годах ученые разработали нейросетевые модели, которые могли бы имитировать то, как мозг учится распознавать образцы. Эти модели называют «искусственные нейронные сети». Ученые обнаружили, что самую высокую точность в распознавании речи дает совместное использование нейронных сетей и модели Маркова. По сравнению с тем, если бы эти подходы использовались отдельно.


 

нужен
перевод?

заказать онлайн
+7 (495) 995 7253
info@swan-swan.ru