使用nltk(已导入)。玩古腾堡语料库
import nltk
from nltk.corpus import gutenberg
检查出fileids,找到一个我可以玩的文件:
gutenberg.fileids()
我做了一个小代码来找到最常用的单词(为图表选择一些)
kjv_text = nltk.Text(kjv)
from collections import Counter
for words in [kjv_text]:
c = Counter(words)
print c.most_common()[:100] # top 100
kjv_text.dispersion_plot(["LORD", "God", "Israel", "king", "people"])
直到这里它完美无缺。然后我尝试实现ConditionalFreqDist,但得到一堆错误:
cfd2 = nltk.ConditionalFreqDist((target, fileid['bible-kjv.txt'])
for fileid in gutenberg.fileids()
for w in gutenberg.words(fileid)
for target in ['lord']
if w.lower().startswith(target))
cfd2.plot()
我试图改变一些事情,但总是会遇到一些错误。任何可以告诉我我做错了什么的专家?
由于
答案 0 :(得分:1)
这是错误的:
fileid in:
cfd2 = nltk.ConditionalFreqDist((target, fileid['bible-kjv.txt'])
应该引用它所在的元素(在这种情况下是gutemberg文本列表中的第4个元素)。 所以这条线应该说:
cfd2 = nltk.ConditionalFreqDist((target, fileid[3])