Борьба с кумулятивным смещением фонетического выравнивания в системе коррекции чтения Корана на основе CTCPython

Программы на Python
Anonymous
Борьба с кумулятивным смещением фонетического выравнивания в системе коррекции чтения Корана на основе CTC

Сообщение Anonymous »

Контекст проблемы: Я создаю систему коррекции чтения Корана, используя точно настроенную модель Wav2Vec2-Bert для многоуровневого декодирования CTC. Конвейер берет аудио пользователя, прогнозирует фонемы (Sifat) и сравнивает их со ссылкой, сгенерированной фонетическим транскрибатором (

Код: Выделить всё

quran_phonetizer
).
Техническая проблема: В длинных аяях (последовательности > 20 слов) я сталкиваюсь с кумулятивным смещением выравнивания (сдвигом). Поскольку модели CTC не обеспечивают идеальных границ слов, а чтение Корана включает в себя «Связную речь» (Wasl), при которой фонемы выпадают или сливаются (например, Ighdam, Hamzatul Wasl), глобальное выравнивание с использованием difflib.SequenceMatcher начинает смещаться.
К середине длинного аята ошибка в слове № 4 приводит к тому, что слово № 5 сопоставляется с фонемами слова № 6, что приводит к «фантомным» ошибкам и значительному падению точности (иногда до < 5%).
Текущая логика: Я использую взвешенное пропорциональное сопоставление, при котором вычисляю «фонетический вес» каждого слова и соответствующим образом распределяю глобальный ссылочный индекс, а затем применяю SequenceMatche

Подробнее здесь: https://stackoverflow.com/questions/798 ... recitation

Вернуться в «Python»