"Костюм для искупления" или почему автоматическая расшифровка аудио выдаёт чушь?
👻Если коротко: в аудио нет границ между словами и нет как таковых “букв” в привычном смысле этого слова. Есть непрерывный акустический поток, из которого ИИ-модель должна реконструировать язык.
В речи нет чётких границ между словами и даже между звуками они не всегда есть
На письме «я сегодня пойду домой», а в реальной речи это непрерывный поток: [йасиводн'а пʌйдудʌмой]
Граница между «я» и «сегодня» может практически отсутствовать.
📌Важно: звук – не постоянная единица, произношение одного звука зависит от соседних звуков.
Мы в повседневном общении легко автоматически восстанавливаем: «я сегодня», потому что наш мозг одновременно использует лексику, грамматику, контекст и вероятностную модель языка.
ИИ тоже использует языковую модель, но если акустический сигнал неидеальный (особенности дикции говорящего, качество аудиозаписи и т.д.), он может выбрать другое слово с похожим акустическим профилем.
Например, «он уже приехал» может быть распознано и как «он уже приехал», и как «он уже при этом», а дальше система уже выбирает наиболее вероятную последовательность.
Звуки в живой речи сильно отличаются от их “учебного”, “идеального” произношения.
Например, слово “сейчас” формально выглядит как последовательный набор букв “с-е-й-ч-а-с”. Но в нормальной разговорной речи оно может звучать значительно редуцированнее, чем ожидает человек, который мысленно представляет написание слова. Не просто короче, а вообще иначе, типа [щас] или даже [ща].
Плюс, устная русская речь (да и не только русская) вообще характеризуется сильной редукцией безударных гласных. Например, “молоко́” на фонетическом уровне совсем не равно буквальному [молоко]. Безударные /о/ и /а/ меняют свои акустические характеристики.
Ударное “дом” имеет устойчивый акустический образ, то есть, там кроме /о/ никаких вариантов быть не может. А безударное /о/ может значительно приближаться к [а] или вообще становиться менее отчётливым.
Например, “потому что” в потоке речи будет звучать примерно как [птамушта] или даже [пуша], а это далеко не всегда можно буквально сопоставить с написанным текстом, там не звучит вообще ни одной "о".
Согласные тоже постоянно меняются под влиянием соседних звуков.
Звонкость/глухость согласных может изменяться в зависимости от соседнего согласного.
Например, в последовательности согласных звуков /с/ и /б/ в слове “просьба” будет выглядеть как [з’б], а если это еще и сочетать с нечетким произношением остальных звуков, может получиться вообще что угодно: от “проза” до “брось”.
Короче, фонема не имеет одного стабильного акустического образа.
Условного /т/ в речи не существует как единственного звука: /т/ перед /а/, /т/ перед /и/, /т/ перед /к/, /т/ после /с/ — фактически разные звуки.
Поэтому система автоматического распознавания речи решает довольно сложную задачу:
какой фонетический сигнал соответствует какой фонеме (звуку) → какой набор фонем соответствует слову → какое слово наиболее вероятно в данном контексте.
😱Живая речь не состоит из слов. Ага, живите с этим :)
Письменный язык дискретен:
Я | сегодня | очень | устала.
Устный язык континуален:
ясёдняоченьустала
А ещё, паузы не обязательно совпадают с границами предложений, человек может начинать слово, передумывать и перестраивать фразу, слова могут сокращаться, окончания могут проглатываться, некоторые звуки практически исчезают, возникают вставки типа «ну», «как бы», «это», «вот», говорящий может одновременно смеяться, вздыхать или говорить поверх другого человека.
Поэтому транскрипция — это не прямой процесс речь → текст.
По сути, это акустический поток → фонетические признаки → фонемные категории → слова → морфология → синтаксис → смысловая интерпретация.
ИИ-расшифровщик сталкивается с той же фундаментальной проблемой, с которой наш мозг сталкивается каждую секунду: как восстановить дискретную языковую структуру из непрерывного и порой неполного акустического сигнала?
Человек решает её благодаря огромному количеству знаний: фонологии, лексикону, морфологии, синтаксису, семантике, знанию ситуации, ожиданию того, что человек может сказать в данной ситуации.
ИИ делает нечто очень похожее, но при нестабильном сигнале у него резко возрастает пространство возможных гипотез (в общем-то, как и у нас, человеков, ведь нам порой тоже может послышаться что-то не то, просто у нас это происходит реже, в меньших объемах и с меньшим разнообразием вариантов, назовем это так — потому что информации о контексте происходящего у нас больше).
Да и черт бы с ним, с некачественным сигналом (будь то дикция или качество записи или что-то еще), ИИ же ошибается и при вполне четкой артикуляции звуков. Причина тут проста (ну, относительно): всё вышесказанное в сумме + недостаток данных (множество позиций множества звуков во множестве их сочетаний друг с другом+ контекст).
Всё это мы изучали на первом-втором курсах филфака (15 лет назад), и я тогда плохо понимала, зачем все это нужно. Фонология вообще для меня больше похожа на математику, чем на гуманитарную науку, поэтому я ее всегда сдавала со слезами. Уже потом, когда появились голосовые помощники и стал развиваться ИИ, меня осенило, какую на самом деле роль играют фонологи во всяких IT-историях.