使用NLTK和Python生成句子

时间:2015-01-18 17:47:31

标签: python-2.7 nltk

我在使用NLTK从自定义语料库中生成随机句子时遇到了麻烦。

在开始之前,我想提一下我使用的是NLTK版本2x,因此“生成”功能仍然存在。

这是我目前的代码:

file = open('corpus/romeo and juliet.txt','r')
words = file.read()
tokens = nltk.word_tokenize(words)
text = nltk.Text(tokens)
print text.generate(length=10)

这会运行,但不会创建随机句子(我想要horse_ebooks氛围)。相反,它每次都会返回我的语料库来源的前10个单词。

但是,如果我使用NLTK的棕色语料库,我会得到所需的随机效果。

text = nltk.Text(nltk.corpus.brown.words())
print text.generate(length=10)

进入布朗语料库文件,似乎每个单词都被分开并用动词,形容词等标记 - 我认为这些内容将使用我的第一个代码块的word_tokenize函数完成。

有没有办法生成类似布朗示例的语料库 - 即使这意味着将我的txt文档转换为那种方式而不是直接读取它们?

任何帮助都将不胜感激 - 任何关于此的文件要么是过时的,要么只是say to use Markov Chains(我有,但我想弄清楚!)我理解generate()从NLTK开始被删除3.0因为错误。

0 个答案:

没有答案