logo
Шпора по ЕЯИС, 2ой семестр (Головня) [8282 вопросов]

78. Метод динамического программирования.

Рассмотрим более подробно алгоритм динамического программирования для выравнивания по времени. Данный метод впервые был предложен в СССР. В основе ДП-метода распознавания речи лежит предположение, что реализации одного и того же слова более сходны с акустическим эталоном данного слова, чем с эталонами других слов. К достоинствам этого метода относятся простота реализации, легкая обучаемость и универсальность модели. В настоящее время существуют различные модификации ДП-метода, которые используют различного рода ограничения, накладываемые на функцию деформации оси времени, весовые функции параметров, отражающие значимость отдельных сегментов, и другие фонетические знания.Предложенные позже модификации ДП-метода позволяют определить вероятность присутствия искомых элементов речи (звукосочетаний, слов) в текущем речевом потоке, осуществить в процессе распознавания динамическое выравнивание временных шкал эталонных описаний искомых элементов речи и их реализаций и оценить их временное местоположение в реальных условиях наличия разного рода акустических помех. Надежность распознавания существенно повышается учете вариативностей на стыках слов в слитной речи вследствие эффекта коартикуляции. Рассмотрим сначала схему работы ДП-метода на примере.Пусть необходимо распознать и отличить друг от друга два слова «ноль» и «два». Предположим, мы используем предварительное фонемное распознавание, в результате которого слово «ноль» записано как два сегмента [но] и [л’] или [нноолл'] (длительность звуков при произнесении оказалась одинаковой). В слове «два» произнесли по одному элементу на фонему: [д], [в], [а]. Необходимо узнать взаимные расстояния между звуками. Выше была представлена таблица признаков фонем и по ней определены расстояния между фонемами. Восстановим фрагмент этой таблицы (табл. 5.3).

Проведем следующие эксперименты по произношению заданных слов: 1) произнесение слова «ноль» с искажением во времени: [ннооол’]; 2) другое искажение произнесения – [ноол'л'л']; 3) произносим слово «два». Матрица расстояний до фонем слова «два» представлена в табл. 5.4.

Рассмотрим работу алгоритма для первого произнесения. Результаты сравнения представим в таблице, по одной оси которой записан эталон, а по другой – реализация (произнесение слова диктором). Для всех временных отсчётов эталонов и реализаций в данной таблице заполняются расстояния. В результате получаем матрицу локальных расстояний (табл. 5.5).

Далее вычисляется интегральное расстояние по следующей итеративной формуле:

где Lij – интегральное расстояние между эталоном и реализацией в точке ( i, j ); dij – локальное расстояние в этой же точке. Чтобы рассчитать расстояние в точке ( i, j ), нужно знать расстояние до 3-х соседних точек. Алгоритм начинается с точки (0,0). По осям локальные расстояния считаются равными бесконечности, а L0,0 = 0. Сначала считаем по первому столбцу, потом по второму и т.д. В результате получим табл. 5.6.

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