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

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

Распознавание речи — это одна из самых сложных областей информатики, куда входит чрезвычайно сложная лингвистика и математика. В этой теме нелегко разобраться. Можно почитать отраслевые технические и научные статьи. Или давайте в этой статье в общих чертах разберемся, как компьютеры распознают речь. Хоть и поверхностно, зато понятно.

В целом, чтобы превратить произносимые звуки в письменные слова, компьютер использует четыре различных подхода:

1. Сопоставление с простыми шаблонами (где каждое произнесенное слово распознается целиком — таким способом мы мгновенно распознаем дерево или стол без осознанного анализа того, на что мы смотрим).

2. Анализ характеристик и признаков (где каждое слово разбивается на частицы и распознается по ключевым признакам — по содержащимся в нем гласным).

3. Языковое моделирование и статистический анализ (при котором знание грамматики и вероятность того, что определенные слова или звуки следуют друг за другом, используется для ускорения распознавания и повышения точности).

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

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

1. Сопоставление с простыми шаблонами

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

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

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

2. Анализ характеристик и признаков

Автоматизированные многоканальные телефоны оснащены небольшими словарями — обычно всего десять слов — десять основных цифр.

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

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

Проблема в том, что этот подход неэффективен. Зачем учиться распознавать каждое слово в словаре, если все эти слова состоят из базового набора звуков? Зачем покупать стандартную компьютерную систему диктовки, а потом обнаружить, что необходимо три или четыре раза читать словарь, обучая систему распознавать каждое возможное слово, которое можно произнести? Так какая альтернатива? Как люди это делают? Нам не нужно видеть каждый Ford, Chevrolet или Cadillac, чтобы понимать, что неизвестное четырехколесное средство передвижения — это автомобиль. Увидев множество моделей автомобилей, наш мозг каким-то образом хранит то, что называется прототипом (обобщенная концепция автомобиля: четыре колеса, достаточно большой, вмещает двух-четырех пассажиров, двигается по дороге). И когда мы видим транспортное средство неизвестной нам марки, мы сравниваем его с прототипом и осознаем, что это автомобиль.

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

Источник: https://www.explainthatstuff.com/voicerecognition.html

 

нужен
перевод?
заказать онлайн
+7 (495) 995 7253
info@swan-swan.ru