Насколько большим должен быть корпус, чтобы создать языковую модель для Сфинкса? - PullRequest
2 голосов
/ 15 июля 2011

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

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011

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

Для создания общей модели языка разработчики используют очень большие корпуса.Например, существует корпус Google объемом 1 ТБ, содержащий миллионы слов и терабайт данных.Часть триграммы составляет около 40 ГБ биграммовых отсчетов, но это должно быть сто терабайт текстов.

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

добавление к ответу Николая:

Это не тривиальная задача.Генерация языковой модели - это трудоемкая и ресурсоемкая задача.

Если вы хотите иметь «хорошую» языковую модель, вам понадобится большой или очень большой корпус текста для обучения языковой модели (подумайте впорядок величины нескольких лет текстов журналов Уолл-стрит).

«хорошо» означает: если языковая модель сможет обобщать данные обучения на новые и ранее невидимые входные данные

Вам следует ознакомиться с документацией по Sphinx и языку HTK.модельные наборы инструментов.

Пожалуйста, проверьте эти две темы:

Построение openears совместимой языковой модели

Анализ текста Ruby

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

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

...