Я прототипую додаток, і мені потрібна мовна модель, щоб обчислити здивування в деяких створених пропозиціях.
Чи є якась навчена мовна модель в 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 слів. Що я можу довіряти результатам для загального домену (не лише новин)