Аннотация: В работе, представленной в этой статье, мы демонстрируем модель распознавания речи на основе RNN и CTC, в которой декодирование на основе WFST может эффективно объединять лексиконы и языковые модели.
Эта статья опубликована в сообществе HUAWEI CLOUD.Как решить контекстный сдвиг? Путь к сквозному ASR в сфере собственности (3)", оригинальный автор: xiaoye0829.
В этой статье мы представляем работу, которая объединяет CTC и WFST (взвешенные преобразователи с конечным состоянием): «EESEN: СКВОЗНОЕ РАСПОЗНАВАНИЕ РЕЧИ С ИСПОЛЬЗОВАНИЕМ ГЛУБОКИХ МОДЕЛЕЙ RNN И ДЕКОДИРОВАНИЯ НА ОСНОВЕ WFST».
В этой работе акустическая модель моделируется с использованием RNN для прогнозирования независимых от контекста фонем или символов, а затем с использованием CTC для выравнивания речи и меток. Другой момент этой статьи заключается в том, что в ней предлагается общий метод декодирования, основанный на WFST, который может включать словари и языковые модели во время декодирования CTC. В этом методе метки CTC, словари и языковые модели кодируются в WFST, а затем синтезируются в комплексный граф поиска. Этот подход на основе WFST может легко обрабатывать пустые теги в CTC и выполнять поиск луча.
В этом посте мы больше не будем говорить о RNN и CTC. Модуль, который в основном фокусируется на том, как использовать WFST для декодирования. WFST — это акцептор с конечным состоянием (FSA), и каждое переходное состояние имеет входной символ, выходной символ и вес.
На рисунке выше представлена схема языковой модели WFST. Вес на дуге — это вероятность срабатывания следующего слова при заданном предыдущем слове. Узел 0 является начальным узлом, а узел 4 — конечным узлом. Путь в WFST состоит из последовательности передач от входных символов к выходным символам. Наш метод декодирования представляет метки CTC, лексиконы и языковые модели как отдельные WFST, а затем, используя оптимизированные библиотеки FST, такие как OpenFST, мы можем эффективно объединить эти WFST в единый граф поиска. Давайте начнем с объяснения того, как начать создание одного WFST.
1. Грамматика Грамматика WFST кодирует последовательность слов, разрешенную языком. Изображение выше представляет собой упрощенную языковую модель. В нем две последовательности: «как дела» и «как дела». Базовой символической единицей WFST является слово, а веса на дугах — это вероятности языковой модели. При таком представлении в форме WFST декодирование CTC в принципе может использовать любую языковую модель, которая может быть преобразована в WFST. WFST этой языковой модели обозначается как G, поскольку он представлен в калди.
2. Лексикон Лексикон WFST кодирует отображение последовательности единиц лексикона в слова. По моделирующему блоку соответствующей метки РНС этот словарь имеет два соответствующих падежа. Если метка является фонемой, то этот словарь является тем же стандартным словарем, что и традиционная гибридная модель. Если метка является символом, словарь просто содержит написание каждого слова. Разница между этими двумя случаями заключается в том, что орфографический словарь можно легко расширить, включив в него любое слово OOV (вне словарного запаса). И наоборот, расширение словаря фонем не так интуитивно понятно, оно опирается на некоторый подход или модель графемы к фонеме и подвержено ошибкам. Этот словарь WFST обозначен как L, и на следующем рисунке показан пример построения двух словарей L:
В первом примере показано построение словаря фонем, предполагая, что запись словаря фонем имеет вид «is IH Z», в следующем примере показано построение словаря правописания «is is s». Для орфографических словарей существует еще одна сложность: при использовании символа в качестве метки CTC мы обычно вставляем дополнительный пробел между двумя словами, чтобы смоделировать разрыв между словами перед исходной транслитерацией. При декодировании мы допускаем наличие пробелов в начале и в конце слова. Эта ситуация может быть легко обработана WFST.
В дополнение к английскому, мы также показываем здесь статью для китайского словаря.
3. Маркеры Третий WFST отображает последовательности меток CTC на уровне кадра в отдельные словарные единицы (фонемы или символы). Для единицы словаря WFST уровня маркера используется для классификации всех возможных последовательностей тегов уровня кадра. Следовательно, этот WFST допускает появление пустой метки ∅, а также повторение любой метки, не содержащей пробелов. Например, после ввода 5 кадров модель RNN может вывести 3 вида последовательностей меток: «ААААА», «∅∅АА∅», «∅ААА∅». Токен wfst сопоставляет эти три последовательности с одной единицей словаря: «A». На рисунке ниже показан WFST для фонемы «IH», который допускает появление пустых тегов, а также повторение непустого тега «IH». Обозначим WFST этого токена как T.
4. Граф поиска После компиляции трех WFST по отдельности мы синтезируем их в комплексный граф поиска. Сначала синтезируются словарь WFST L и грамматика WFST G. При этом используются детерминация и минимизация, призванные сжать пространство поиска и ускорить декодирование. Этот синтезированный LG WFST затем синтезируется с WFST токена для окончательного создания графа поиска. Общая последовательность операций FST: S = T о min(det(LоG)). Этот поисковый граф S кодирует отображение последовательности меток CTC, соответствующих речевым кадрам, в последовательности слов. В частности, слова в языковой модели сначала разбираются на фонемы для формирования LG-графа. Затем RNN выводит метку (фонему или пробел), соответствующую каждому кадру, и ищет граф LG в соответствии с этой последовательностью меток.
При декодировании гибридной модели DNN нам необходимо использовать априорное состояние для масштабирования апостериорного состояния из DNN, которое обычно оценивается принудительным выравниванием в обучающих данных. Мы следуем аналогичному процессу при декодировании моделей, обученных CTC. В частности, мы запускаем окончательную модель RNN по всему обучающему набору, метки с наибольшим апостериором выбираются в качестве выравниваний на уровне кадра, а затем, используя это выравнивание, мы оцениваем априорные метки. Однако этот подход не показал хороших результатов в наших экспериментах, отчасти из-за того, что выходные данные моделей, обученных с помощью CTC после слоя softmax, демонстрировали высокое распределение пиков (т. е. модели CTC, как правило, выдавали одну ненулевую метку, Следовательно, во всем распределении будет много всплесков), что проявляется в том, что метки, соответствующие большинству кадров, являются пустыми метками, а непустые метки появляются только в очень узкой области, что делает оценку априорного распределения затруднительной. влияет количество пустых кадров. Вместо этого мы оцениваем более надежную метку заранее по последовательности меток в обучающем наборе, т. е. вычисляем априор по расширенной последовательности меток. Предположим, исходная метка: «IH Z», тогда расширенная метка может быть «∅IH ∅ Z ∅» и так далее. Подсчитав количество распределений меток на каждом кадре, мы можем получить предварительную информацию о метках.
Метод на основе WFST был представлен выше, далее давайте рассмотрим экспериментальную часть. После апостериорной регуляризации распределения оценка этой акустической модели должна быть уменьшена с помощью коэффициента масштабирования от 0,5 до 0,9, а оптимальное значение масштабирования определяется экспериментально. Эксперименты в этой статье проводились на WSJ. Лучшей моделью, используемой в этой статье, является модель RNN на основе фонем. На тестовом наборе eval92 эта модель достигает WER 7,87% при использовании словаря и языковой модели.При использовании только словаря WER быстро возрастает до 26,92. % . На рисунке ниже показано сравнение между моделью Eesen в этой статье и традиционной гибридной моделью. Из этой таблицы видно, что модель Eesen немного хуже, чем гибридная модель HMM/DNN. Но на больших наборах данных, таких как Switchboard, модели, обученные CTC, могут достигать лучших результатов, чем традиционные модели.
Существенным преимуществом Eesen является значительное ускорение скорости декодирования по сравнению с гибридной моделью HMM/DNN. Это ускорение связано с массовым сокращением количества состояний. Как видно из скорости декодирования в таблице ниже, Eesen добился ускорения скорости декодирования более чем в 3,2 раза. Кроме того, граф TLG, используемый в модели Eesen, также значительно меньше, чем граф HCLG, используемый в HMM/DNN, что также экономит место на диске для хранения модели.
В целом, в работе, представленной в этой статье, мы демонстрируем модель распознавания речи на основе RNN и CTC, в которой декодирование на основе WFST может эффективно объединять словари и языковые модели.
Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~