Предположим, что нейронная сеть обучена распознаванию речи с использованием временной классификации соединений (CT C). Для каждого кадра в аудиоклипе выводится вектор вероятности с 28 элементами, представляющими распределение по буквам в алфавите Engli sh, а также пробел и пустой символ. Мы переводим последовательность этих символов в прогнозируемую расшифровку, применяя функцию «squa sh», которая сворачивает непрерывные последовательности повторяющихся символов, а затем удаляет все пустые токены. «Декодирование» - это процесс выведения наилучшей транскрипции из выходов вероятности нейронной сети, возможно, в сочетании с языковой моделью или ограничениями относительно того, какие слова или фразы допускаются.
Взвешенные датчики конечного состояния (WFST ) в основном ориентированные графы, где каждое ребро связано с входным символом, выходным символом и числовым весом, а некоторые узлы идентифицируются как «начальное» или «конечное» состояние. Они используются в распознавании речи для представления грамматик, лексиконов и языковых моделей.
Как я могу использовать WFST для информирования процесса декодирования для нейронной сети с обучением CT C? Это упомянуто в статьях, и есть целая структура , посвященная этому, но я не могу найти объяснение высокого уровня (намного меньше псевдокода) о том, как на самом деле искать WFST, учитывая выходные данные из CT C обученная сеть. Я не уверен, как это математически осмыслить. Из того, что я могу сказать, модели acousti c на основе HMM декодируются с помощью WFST с использованием алгоритма Витерби. Но, глядя на псевдокод для алгоритма Витерби в Википедии, я не могу понять, как это связано с декодированием CT C вывода.