首页 > 代码库 > NLTK读书笔记和实践问题记录

NLTK读书笔记和实践问题记录

python版本3.4.2:

1、书上的例子是

from nltk.corpus import wordnet as wn

wn.synset(‘car.n.01‘).lemma_names   #获得同义词集

wn.synset(‘car.n.01‘).definition    #获得定义

在3.4.2下执行得到输出:

<bound method Synset.lemma_names of Synset(‘car.n.01‘)>和

<bound method Synset.definition of Synset(‘car.n.01‘)>

可能是版本问题,在上面命令行后加上()即可,即如下:

wn.synset(‘car.n.01‘).lemma_names()

wn.synset(‘car.n.01‘).definition()

 2、书上是from urllib import urlopen,但是报错:ImportError: cannot import name ‘urlopen‘;实际原因是python3的库和python2的库的位置不同,这里应该改成:

from urllib.request import urlopen。说道这里,顺便说一下from ... import ...和import的不同,如果使用import,则导入后如果访问这个模块的功能,需要全路径写上,而from ... import呢,访问时就直接写上import后面的即可(可能的意思是这个import的东东是from这里来的)。

3、python idle在backspace删除时总是感觉删除半个byte,有个白框框,可以按住alt键,一次删一个,按ctrl是一次删一个词

4、可能也是python3的缘故,urlopen(url).read()返回的是bytes,而不是str,python中str和bytes转化比较简单,例如bytes--》string,a.decode(encoding="utf-8");string-->bytes,a.encode(encoding="utf8")

5、对于自然语言处理,首先要将文本分词,将标点符号和单词分开,然后再处理

NLTK读书笔记和实践问题记录