Создание файла языковой модели ARPA с 50000 слов
Я хочу создать файл языковой модели ARPA с почти 50000 слов. Я не могу сгенерировать языковую модель, передав свой текстовый файл в CMU Language Tool. Доступна ли какая-либо другая ссылка, где я могу получить модель языка для этих многих слов?
2 ответа
Я думал, что отвечу на этот вопрос, так как у него есть несколько голосов, хотя, основываясь на других вопросах Кристины, я не думаю, что это будет пригодный для нее ответ, поскольку языковая модель на 50 000 слов почти наверняка не будет иметь приемлемого слова частота ошибок или скорость распознавания (или, скорее всего, даже долгое время) в системах распознавания в приложениях для iOS, которые в настоящее время используют этот формат языковой модели, из-за аппаратных ограничений. Я подумал, что это стоило документировать это, потому что я думаю, что это может быть полезно для тех, кто использует платформу, где сохранение словарного запаса такого размера в памяти является более жизнеспособной вещью, и, возможно, это будет возможность для будущих моделей устройств.
Я не знаю ни одного веб-инструмента, подобного инструменту базы знаний Sphinx, который бы обрабатывал текстовый корпус из 50000 слов и возвращал языковую модель ARPA . Но вы можете получить уже законченную модель языка DMP из 64 000 слов (которую можно использовать со Sphinx в командной строке или в других реализациях платформы так же, как и файл ARPA .lm), выполнив следующие шаги:
- Загрузите эту языковую модель с речевого сайта CMU:
В этой папке находится файл с именем language_model.arpaformat.DMP, который будет вашей языковой моделью.
- Загрузите этот файл с речевого сайта CMU, который станет вашим словарем произношения:
https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/pocketsphinx/model/lm/en_US/cmu07a.dic
Преобразуйте содержимое cmu07a.dic во все заглавные буквы.
Если вы хотите, вы также можете обрезать словарь произношения, удалив из него любые слова, которые не найдены в корпусе language_model.vocabulary (это будет проблемой регулярного выражения). Эти файлы предназначены для использования с одной из акустических моделей Sphinx на английском языке.
Если желание использовать модель на английском языке из 50 000 слов обусловлено идеей общего распознавания речи с большим словарным запасом, а не необходимостью использовать очень конкретные 50 000 слов (например, что-то специализированное, например медицинский словарь или Список контактов с 50 000 записей), этот подход должен дать те результаты, если оборудование может справиться с этим. Вероятно, будут некоторые настройки Sphinx или Pocketsphinx, которые нужно будет изменить, чтобы оптимизировать поиск по модели такого размера.
Насколько велик ваш тренировочный корпус? если это только 50000 слов, это было бы крошечным / слишком маленьким.
В общем, вы можете использовать инструментарий от CMU или HTK
Подробная документация для инструментария распознавания речи HTK здесь: http://htk.eng.cam.ac.uk/ftp/software/htkbook_html.tar.gz
Вот также описание инструментария УУЗР CMU: http://www.speech.cs.cmu.edu/SLM/toolkit_documentation.html
см. также: Создание языковой модели, совместимой с openears
Вы могли бы взять более общую языковую модель, основанную на большем корпусе, и интерполировать с ней свою меньшую языковую модель, например, отсроченную языковую модель... но это не тривиальная задача.
см.: http://en.wikipedia.org/wiki/Katz's_back-off_model