2017-01-10 25 views
0

При попытке реализовать систему распознавания речи для одного конкретного динамика с смешиванием русской и арабской речи у меня возникли некоторые проблемы. При адаптации акустической модели с 15-минутной речью громкоговорителя имеется слишком высокий процент ошибок (он распознает право 1 от 6-10 слов). Что я сделал: 1. Я переписал арабские слова на русский язык и поместил их в словарь . 2. Я пробовал старую модель msu_ru_zero.cd_cont_2000 от проекта ru4sphinx и новый от cmusphinx-ru-5.2 (последняя акустическая модель для русского языка ). 3. Я использовал словарь и модель языка, сделанные мной из текстов моей области обучения. В utf-8 имеется почти 200 Мб текста. Но только малая часть арабских терминов была в этом словаре.Чтобы создать акустическую модель с нуля или адаптировать существующую акустическую модель

Слишком мало (4 из 40) звуковых дорожек для адаптации не выполнено с «выровнять аудио для транскрипта», другие проходят без ошибок. Также в отчете после использования команды bw есть 220 сенонов, которые не соответствуют звуковым дорожкам адаптации.

Как я могу уменьшить частоту ошибок для этого смешивания langauge? Или мне нужно создать акустическую модель для этого 1 динамика с нуля? Мне не нужно транскрибировать арабский язык вообще, просто русский, если арабский по умолчанию будет использовать какой-то общий термин (например, -unk-), это тоже будет хорошо.

ответ

0

Я нашел проблему с моим словарем. было из-за text2wfreq <lmbase.txt | wfreq2vocab команда. , прежде чем я использовал wfreq2vocab с параметрами по умолчанию, поэтому мой словарь был усечен до наиболее частых 20 000 слов. В моем стартовом словаре есть более 200 тыс. Слов. wfreq2vocab имеет аргумент -top, поэтому -top 400000 работает для меня (он не фильтрует слова, он просто создает словарный запас сейчас)

И второе - теперь я использую адаптацию MAP вместо mllr.

с 30-минутным адаптационным звуком показывает мне 50-75 процентов правильных слов.