Я делал это раньше, но это было несколько лет назад. Дай мне посмотреть, смогу ли я повторить шаги для тебя.
Первый шаг - создать файл с указанием классов. Он должен иметь три столбца. Во-первых, это идентификатор класса, затем вероятность этого слова для данного класса и, наконец, слово.
Следующим шагом является замена всех слов в данных обучения их идентификаторами классов. Вы можете использовать скрипт SRILM replace-words-with-classes
или написать собственный скрипт для этого.
Теперь вы тренируете языковую модель, используя ngram-count
, точно так же, как вы делали бы это для обычной неклассной модели с n-граммами.
Для оценки вы просто указываете модель языка, а также файл класса.
ngram -ppl test_data.txt -lm class.lm -classes class_definition_file.txt