《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少了闭括号。

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

时间: 2024-11-06 10:56:49

《Python自然语言处理》中文版-纠错【更新中。。。】的相关文章

【从0开始Tornado建站】0.9版本python网站代码开源--持续更新中

从5月份开始[从0开始Tornado建站]这个专栏,开始一点一点把这个分类兴趣网站弄起来,从无到有的过程也是令人兴奋的:-) 国庆的时候等待备案然后上线,现在网站域名为ustchacker.com, 欢迎加入,一起分享代码和点子,可以提问题共同进步- 现在的代码版本是0.9(我自己定的...因为还在完善中),希望能依靠开源的力量打造出一个分类兴趣网站的模板式框架!托管在GitHub上: https://github.com/littlethunder/ustchacker.com ,希望大家对p

【从0開始Tornado建站】0.9版本号python站点代码开源--持续更新中

? ? ? ? 从5月份開始[从0開始Tornado建站]这个专栏,開始一点一点把这个分类兴趣站点弄起来,从无到有的过程也是令人兴奋的:-) 国庆的时候等待备案然后上线,如今站点域名为ustchacker.com, 欢迎增加,一起分享代码和点子,能够提问题共同进步- 如今的代码版本号是0.9(我自己定的.. .由于还在完好中),希望能依靠开源的力量打造出一个分类兴趣站点的模板式框架! 托管在GitHub上:?https://github.com/littlethunder/ustchacker.

Python接口测试题(持续更新中)

1.json和字典的区别? Json是轻量级的数据交互格式,以key-value的键值对形式来保存数据,结构清晰,可以说是目前互联网项目开发中最常用的一种数据交互格式. 字典,同样是以key-value的键值对来保存数据,是python中的一种数据类型. 2.你做接口自动化测试时,测试数据放哪里? 1) 对于一些基础配置比如数据库配置可以放到properties文件(yaml文件,没用过就别拓展了) 2) 接口测试需要用到的数据可以放数据库表,也可以放到excel中. 3.什么是数据驱动? 数据

Python自然语言处理实践: 在NLTK中使用斯坦福中文分词器

http://www.52nlp.cn/python%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86%E5%AE%9E%E8%B7%B5-%E5%9C%A8nltk%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%96%AF%E5%9D%A6%E7%A6%8F%E4%B8%AD%E6%96%87%E5%88%86%E8%AF%8D%E5%99%A8 原文地址:https://www.cnblogs.com/lhuser/p/

Effective Go中文版(更新中)

原文链接:https://golang.org/doc/effective_go.html Introduction Go是一种新兴的编程语言.虽然它借鉴了现有语言的思想,但它具有不同寻常的特性,使得高效的Go程序与其他语言编写的程序大不相同.将C ++或Java程序直接转换为Go不太可能产生令人满意的结果 - Java程序是用Java编写的,而不是Go.另一方面,从Go语言的角度思考问题可能会产生一个成功但完全不同的程序.换句话说,要写好Go,了解它的特性和语法是很重要的.了解Go中编程的既定

python算法合集(更新中。。。)

一.数论算法 1.求两数的最大公约数 import sys def gcd(p, q): if q == 0: return p return gcd(q, p%q) def main(): p = int(sys.argv[1]) q = int(sys.argv[2]) print(gcd(p, q)) if __name__ == '__main__': main() 原文地址:https://www.cnblogs.com/mocuishle/p/8476632.html

Python自然语言处理 NLTK包中的 text3.generate() 命令出错 'Text' object has no attribute 'generate'

<python自然语言处理时>第28页有这样一个命令--text3.generate()---功能是:产生一些与text3风格类似的随机文本. 用NLTK3.0.4和Python2.7.6来实现时却出现错误:'Text' object has no attribute 'generate' . 探索一下后发现问题所在: 打开nltk文件夹中的text.py发现了,原来新版本的NLTK没有了"text1.generate()"这个功能作者已经把demo里的text.gener

细数Python与C++的区别(更新中……)

Python与C/C++有不少区别,其中一些很容易疏忽,导致程序出错.这里列了一些,供大家参考.持续更新中-- Python没有自增自减运算符 C/C++中有++i.i++.--i.i--.而Python则没有这些运算符.C/C++的一个常见循环是: for (int i = 0; i < 10; ++i) { std::cout << i << endl; } 而Python对应的循环为: for i in range(10): print (i) 也许这是Python不提

python调用虹软2.0(全网首发)-更新中

python调用虹软2.0目前没有任何demo可以参考,自己研究了2个晚上终于把第一步做出来了,使用了opencv来加载和显示图片,龟速更新中 1 from ctypes import * 2 #人脸框 3 class MRECT(Structure): 4 _fields_=[(u'left1',c_int32),(u'top1',c_int32),(u'right1',c_int32),(u'bottom1',c_int32)] 5 #版本信息 版本号,构建日期,版权说明 6 class A