Создание файла языковой модели ARPA с 50000 слов - PullRequest
13 голосов
/ 21 апреля 2011

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

Ответы [ 2 ]

10 голосов
/ 15 июня 2011

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

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

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

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

В этой папке находится файл с именем 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 слов основано на идее выполнения какого-либо обобщенного распознавания речи с большим словарным запасоми не из-за необходимости использовать очень конкретные 50000 слов (например, что-то специализированное, например, медицинский словарь или список контактов из 50000 записей), этот подход должен дать такие результаты, если оборудование сможет с этим справиться.Вероятно, будут некоторые настройки Sphinx или Pocketsphinx, которые необходимо будет изменить, чтобы оптимизировать поиск по размеру модели.

0 голосов
/ 05 октября 2011

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

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

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

Вот также описание набора инструментов SLM для CMU: http://www.speech.cs.cmu.edu/SLM/toolkit_documentation.html

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

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

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

...