自然语言处理的例题跑不出来篇

第二章2.1中的

就职演说语料库

>>> cfd = nltk.ConditionalFreqDist(
... (target, file[:4])
... for fileid in inaugural.fileids()
... for w in inaugural.words(fileid)
... for target in ['america', 'citizen']
... if w.lower().startswith(target)) 
>>> cfd.plot() 

跑不出来。运行的结果说是


在其他语言的语料库

中也是条件频率

 from nltk.corpus import udhr
languages = ['Chickasaw', 'English', 'German_Deutsch',... 
'Greenlandic_Inuktikut', 'Hungarian_Magyar', 'Ibibio_Efik']
 cfd = nltk.ConditionalFreqDist(
... (lang, len(word))
... for lang in languages
... for word in udhr.words(lang + '-Latin1'))
 c f d . p l o t ( c u m u l a t i v e = T r u e)

一样的错误。。Mark一下

解决办法

更新

问了别人,把第二行的file[:4]改成fileid[:4]就行啦

第二个跑不出来的原因是

languages里的语言是错误的,udhr.fileids()一下,从里面直接复制到languages里面,试一下就好了

好奇作者是怎么跑出来的。。。

更新


这个跑不出来,错误是:


了解到读取的文件不是utf-8格式,在notepad里把文本的格式转换一下保存,就能读取了


猜你喜欢

转载自blog.csdn.net/weixin_41965702/article/details/81000791
今日推荐