Подтвердить что ты не робот

Создание файла модели языка ARPA с 50 000 слов

Я хочу создать файл модели языка ARPA с почти 50 000 слов. Я не могу сгенерировать модель языка, передав свой текстовый файл в CMU Language Tool. Доступна ли какая-либо другая ссылка, где я могу получить модель языка для этих многих слов?

4b9b3361

Ответ 1

Я думал, что отвечу на этот вопрос, поскольку у него есть несколько голосов, хотя на основании других вопросов Кристины я не думаю, что это будет полезный ответ для нее, поскольку языковая модель на 50 000 слов почти наверняка не будет приемлемый уровень ошибок в сообщениях или скорость распознавания (или, скорее всего, даже долгое действие) с системами распознавания в приложении для iOS, которые в настоящее время используют этот формат языковой модели из-за аппаратных ограничений. Я полагал, что стоит документировать его, потому что я думаю, что это может быть полезно для других, которые используют платформу, где хранение словаря такого размера в памяти является более жизнеспособной вещью, и, возможно, это будет возможностью для будущих моделей устройств.

Нет никакого веб-инструмента, о котором я знаю, как инструмент базы знаний Sphinx, который будет обрабатывать текстовый корпус из 50 000 слов и возвращать модель языка ARPA. Но вы можете получить уже имеющуюся языковую модель DMP на 64 000 слов (которую можно использовать с Sphinx в командной строке или в других реализациях платформы так же, как файл ARPA.lm) со следующими шагами:

  • Загрузите эту модель языка с речевого сайта CMU:

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20HUB4%20Language%20Model/HUB4_trigram_lm.zip

В этой папке находится файл language_model.arpaformat.DMP, который будет вашей языковой моделью.

  1. Загрузите этот файл с речевого сайта CMU, который станет вашим произношением:

https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/pocketsphinx/model/lm/en_US/cmu07a.dic

Преобразуйте содержимое cmu07a.dic во все прописные буквы.

Если вы хотите, вы также можете обрезать словарь произношения, удалив из него какие-либо слова, которые не найдены в corpus language_model.vocabulary(это будет проблема с регулярным выражением). Эти файлы предназначены для использования с одной из акустических моделей на английском языке Sphinx.

Если желание использовать модель английского языка на 50 000 слов обусловлено идеей сделать какое-то обобщенное широкое распознавание речи на основе словаря, а не необходимостью использовать очень конкретные 50 000 слов (например, что-то специализированное, как медицинский словарь или список контактов в 50 000 человек), этот подход должен давать эти результаты, если аппаратное обеспечение может справиться с этим. Вероятно, будут некоторые настройки Sphinx или Pocketsphinx, которые необходимо будет изменить, что оптимизирует поиск с помощью этого размера модели.

Ответ 2

Насколько велик ваш учебный корпус? если это всего лишь 50000 слов, это будет крошечным/слишком маленьким.

В общем, вы можете использовать инструментарий из CMU или HTK

Подробная документация для инструментария распознавания речи HTK здесь: http://htk.eng.cam.ac.uk/ftp/software/htkbook_html.tar.gz

Здесь также описание CMU SLM Toolkit: http://www.speech.cs.cmu.edu/SLM/toolkit_documentation.html

см. также: Создание совместимой языковой модели openears

Вы можете использовать более общую модель языка, основанную на более крупном корпусе, и интерполировать свою меньшую модель языка с ней. Например, резервная языковая модель... но это не тривиальная задача.

см. http://en.wikipedia.org/wiki/Katz 's_back-off_model