Шрифт:
Интервал:
Закладка:
Существует альтернативная методика расчёта WER, при которой вставки и удаления, в отличие от замены, засчитывают не за целую, а за половину ошибки. Эта версия была предложена[1922] в 1990 г. Мелвином Хантом, однако в наши дни под WER обычно понимают оригинальную метрику. Более тонкий подход к оценке качества распознавания может быть получен путём разделения замен на грубые и негрубые, такая перевзвешенная метрика называется IWER (Inflected WER, склоняемый WER), поскольку предназначена прежде всего для того, чтобы снизить штраф за некритичные ошибки в окончаниях слов.
6.2.2.5 Прогресс и проблемы
В 2000 г. лучшая система распознавания речи, существовавшая на тот момент, а именно CU-HTK[1923], продемонстрировала на Hub5’00 значение WER, равное 25,4%[1924], то есть примерно каждое четвёртое слово распознавалось неправильно. И всё это в условиях, когда тестовая выборка была составлена из разговоров, максимально приближённых по параметрам к обучающей выборке. При этом протокол тестирования, использованный NIST, был максимально «дружественным» для систем распознавания, например, ошибкой не считались несовпадения в написании слов, используемых для обозначения хезитации (uh, eh, mm, hm, huh и т. д.)[1925], то есть различных эканий и беканий, которыми люди склонны заполнять неловкие паузы в разговоре. В общем, ситуация была весьма плачевной.
Задача распознавания речи отчасти похожа на задачу оптического распознавания текста. В 1960-х гг., как мы уже рассказывали, команда SRI решала задачу распознавания напечатанных на бумаге текстов программ на фортране и обнаружила, что не всегда можно наилучшим образом распознать слово, просто сложив лучшие гипотезы по поводу каждого из составляющих его символов. Ведь модель, распознающая отдельные символы, не знает ничего о закономерностях языка, выражение которого записано при помощи этих символов. С фонетической точки зрения речь можно также рассматривать как последовательность элементарных единиц, своеобразных звуковых символов. Их называют фонемами (от др.-греч. φώνημα — звук; фонема — минимальная смыслоразличительная единица языка, не имеющая самостоятельного лексического или грамматического значения). Точно так же лучшие гипотезы по поводу отдельных фонем в звуковом представлении произносимого слова необязательно гарантируют успешное угадывание слова в целом. Люди постоянно коверкают слова при произнесении их вслух. Отдельные звуки просто выпадают, другие обладают существенной степенью вариативности. Лингвисты придумали множество специальных терминов для обозначения подобных явлений.
Например, термином «элизия» (от лат. elisio — выдавливание, выталкивание) называют отпадение звука (гласного, согласного или даже целого слога) в слове или фразе с целью облегчения произношения для говорящего. Иногда звуки могут быть опущены с целью улучшения благозвучия. В русском языке «чтобы» часто превращается в [штоп], «уже» в [уш], «бы» в [б] и так далее.
Термином «коартикуляция» (от лат. со(n) — с, вместе + articulatio — членораздельно, ясно произношу) называют наложение артикуляции, характерной для последующего звука, на весь предшествующий звук. Примером коартикуляции может служить лабиализация (огубление) согласного под влиянием последующего губного [о] или [у]. Например, при произнесении слова «суп» наши губы вытягиваются в трубочку до начала произнесения звука [у], что приводит к изменению звучания звука [с], его лабиализации.
Звуки могут влиять друг на друга. Это влияние вызывает комбинаторные изменения, к которым относятся аккомодация, ассимиляция, диссимиляция, диэрезы, эпентезы, гаплология. Кроме этого, на звуки могут влиять общие условия произношения. Это вызывает позиционные изменения звуков. К ним относятся протеза в начале слова, оглушение звонких согласных в конце слова, редукция безударных гласных и так далее.
Как человеческий мозг справляется со всеми этими фонетическими сложностями? На самом деле нам помогает знание контекста. Благодаря пониманию синтаксической и смысловой структуры высказываний мы можем догадаться, что именно за слово сказал собеседник, даже если расслышали его недостаточно чётко. В системах распознавания речи за угадывание слов по контексту отвечают так называемые языковые модели (language model, LM). В начале 2000-х гг. наиболее популярными были языковые модели, основанные на n‑граммах (серии из n слов, встречающихся в тексте последовательно). В зависимости от выбранного n, n‑граммы называются биграммами (n = 2), триграммами (n = 3) и так далее. Рассчитав статистику n-грамм на достаточно большом текстовом корпусе, можно построить модель, неплохо предсказывающую вероятность появления того или иного слова в текущем контексте. Такой же трюк можно проделывать не только со словами, но и с фонемами, при этом сочетания фонем будут называться n-фонами (бифонами, трифонами или даже квинфонами).
В системе CU-HTK для распознавания речи использовалась комбинация из нескольких «классических» алгоритмов машинного обучения. Это были скрытые марковские модели для предсказания трифонов и квинфонов, деревья решений, гауссовы смеси распределений и, наконец, языковая модель на основе квадрограмм и триграмм. В качестве входного представления звука использовались мел-кепстральные коэффициенты. Настройка столь сложного ансамбля моделей была весьма непростой задачей и требовала не только обширных познаний, но и изрядного упорства, а также везения.
Большую проблему для сравнения различных систем распознавания речи составляет неоднородность датасета Hub5’00. Его подмножество CallHome в целом сложнее для распознавания, чем подмножество SwitchBoard, при этом в литературе в качестве значения метрики приводятся значения, полученные как на всём Hub5’00, так и на отдельных его подмножествах — Hub5’00 SWB и Hub5’00 CH. Из-за этого некоторые графики, призванные изобразить динамику точности распознавания речи по годам, попахивают откровенной шизофренией. Давайте всё-таки попробуем найти какие-то точки опоры — например Hub5’00 SWB. В 2000 г. показатель WER CU-HTK на Hub5’00 SWB составил 19,3%. В 2011 г. модель[1926], созданная исследователями из Microsoft и основанная на комбинации глубокой нейронной сети и скрытых марковских моделей, продемонстрировала на Hub5’00 SWB показатель WER в 16,1%. Таким образом, за 11 лет уровень ошибки удалось снизить лишь на 3,2 процентных пункта. А в 2013 г. исследователям из IBM удалось[1927] уменьшить WER на Hub5’00 SWB до 11,5%. Это удалось сделать за счёт замены полносвязной сети, получающей на вход мел-кепстральные коэффициенты, на свёрточную нейронную сеть, работающую со спектрограммой звукового сигнала. Таким образом, за два года удалось достичь большего прогресса, чем за предыдущие одиннадцать. И это было только начало.
В 2014 г. величина ошибки снизилась до 10,4%, а в 2015 г. — до 8,0% (за счёт ансамбля полносвязной, свёрточной и рекуррентной сетей, работающих с мел-кепстральными коэффициентами, а также использования нейронной сети в качестве элемента языковой модели)[1928]. В октябре 2016 г. команда разработчиков из Microsoft сообщила о создании системы распознавания речи, которая делает то же или даже меньшее