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

Как человек слышит?

 

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

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

Как работает микрофон?

 

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

Что такое ASR (STT)?

"ASR - Automatic Speech Recognition" переводится как "Автоматическое распознавание речи," и, как следует из названия, эта технология используется для автоматического распознавания речи в звуковых сигналах. Также "STT - Speech-to-Text" означает "Преобразование речи в текст" и используется как синоним ASR, хотя ASR является более широким понятием. Поэтому в этой статье мы постараемся глубже изучить процесс автоматического распознавания речи.

Как возникает диаграмма звуковых волн?

Звуковые волны от какого-либо источника, например, от течения воды, попадают на микрофон. Когда звук достигает мембраны микрофона, волновая линия поднимается вверх (красная), а когда звук ослабевает, опускается вниз (синяя). Если звука нет, линия остается посередине. Поскольку эти процессы имеют научные названия, приведу их описание:

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

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

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

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

Как работает автоматическое распознавание речи?
Мы записали звук с помощью микрофона, а теперь рассмотрим процесс распознавания речи в нем.

Сначала разделим звуковые волны на части (фреймы) длительностью 25 миллисекунд. В каждой части речи содержится определенная фонема.

Чтобы вспомнить, что такое фонема, обратимся к родному языку. Для этого воспользуемся Википедией:

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

Для тех, кто ничего не понял: фонема - это звук, из звуков образуются слова. Например, возьмем слово "Привет," в нем 6 фонем: "п," "р," "и," "в," "е," "т." Попробуйте произнести, все звуки не похожи друг на друга.

Итак, мы разделили звуковые волны на части:

Мы сказали, что в каждой части находится одна фонема, но откуда нам знать, какая именно?! Здесь нам на помощь приходит Акустическая модель (acoustic model) . Чтобы проще представить акустическую модель:

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

Как видите, акустическая модель запомнила все последовательные фонемы в процессе обучения.

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

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

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

Здесь в игру вступают наши любимые Языковые модели (Language models) .

Языковая модель рассчитывает, как разделить эту последовательность букв на фразы, чтобы получилось логичное предложение.

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

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