Я создаю прототип приложения и мне нужна языковая модель для вычисления недоумения в некоторых сгенерированных предложениях.
Есть ли в Python обученная языковая модель, которую я могу легко использовать? Что-то простое, как
model = LanguageModel('en')
p1 = model.perplexity('This is a well constructed sentence')
p2 = model.perplexity('Bunny lamp robert junior pancake')
assert p1 < p2
Я посмотрел на некоторые рамки, но не смог найти то, что я хочу. Я знаю, что могу использовать что-то вроде:
from nltk.model.ngram import NgramModel
lm = NgramModel(3, brown.words(categories='news'))
Это использует хорошее распределение вероятности тьюринга в Brown Corpus, но я искал какую-то хорошо продуманную модель для некоторого большого набора данных, такого как набор данных 1b words. То, что я могу доверять результатам для общего домена (не только новости)