составить новое предложение с моделью n-грамм, используя nltk

Я сделал 2-х и 3-х граммовые модели из своего текстового файла.

from nltk import *
text = open('Alice in Wonderland.txt', 'r').read()
table = string.maketrans('', '')
text = text.translate(table, string.punctuation)
tokens = word_tokenize(text.lower())
bigram = nltk.bigrams(tokens)
trigram = nltk.trigrams(tokens)

но как я могу генерировать новые предложения, используя эти модели?


person Mohammad Hassan Sohan Ajini    schedule 08.11.2015    source источник


Ответы (1)


В настоящее время функция generate() NLTK устарела, поскольку она не работает, см. https://github.com/nltk/nltk/issues/1180

Но современной альтернативой является генерация текста с использованием рекуррентных нейронных сетей, например. https://github.com/karpathy/char-rnn (Примечание: В отличие от традиционной скрытой марковской модели на основе Ngram, char-RNN не использует информацию ngrams.)

В качестве альтернативы вы можете реализовать свою собственную скрытую марковскую модель, см. http://fulmicoton.com/posts/shannon-markov/

person alvas    schedule 08.11.2015