《Python自然语言处理》中文版-纠错更新中。。。

Posted 波比12

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Python自然语言处理》中文版-纠错更新中。。。相关的知识,希望对你有一定的参考价值。

最近在看《Python自然语言处理》中文版这本书,可能由于是从py2.x到py3.x,加上nltk的更新的原因,或者作者的一些笔误,在书中很多代码都运行不能通过,下面我就整理一下一点有问题的代码。

第一章:

p3.该处为小建议,书中没有错误:关于nltk.book的下载,最好下载到‘/nltk_data‘文件夹下,如‘D:/nltk_data‘

p7.text3.generate(). generate()函数用法已经过时,正在查找最新的方法。

p18.关于FreqDist()函数发生了更新,如果按照书上的代码键入,并不会得到预期的结果,可以用下面的方法进行改进来得到相同的结果:

>>>fdist1=FreqDist(text1)
>>>len(fdist1)
19317
>>>vocabulary1=sorted(fdist1.items(),key=lambda jj:jj[1],reverse=True)
>>>s=[]
>>>for i in range(len(vocabulary1)):
            s.append(vocabulary1[i][0])
>>>print(s)

p22.FreqDist函数,和18页的问题是一样的,可以仿照上面的解决方法进行改进。

p32.babelize_shell() 该函数在nltk3.0中已经不再可用了,跳过该函数讲解部分。

第二章:

p48页: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))  会显示出错

改正:将第一个括号内的file[:4]改为fileid[:4]即可。即:cfd=nltk.ConditionalFreqDist((target,fileid[:4]) for fileid in inaugural.fileids() for w in inaugural.words(fileid) for target in [‘america‘,‘citizen‘] if w.lower().startswith(target))

p51:代码最后一行cfd.plot(cumulative=True少了闭括号。

 

由于是刚开始看,所以后面的还没看到,本文也会持续更新新遇到的错误,也欢迎大家补充。

 

以上是关于《Python自然语言处理》中文版-纠错更新中。。。的主要内容,如果未能解决你的问题,请参考以下文章

“AI+”CIEC丨促中文自然语言技术发展,自然语言处理技术创新大赛——中文文本纠错比赛火热开赛

自然语言处理NLP之文本摘要机器翻译OCR信息检索信息抽取校对纠错

QAQ

腾讯云自然语言处理接口服务的经典应用场景

c语言编程中出现的纠错英文语句是什么意思?

Elasticsearch汉字补全和拼写纠错