摘要: NLTK是Python中用于自然语言处理的类型,其安装比较方便,使用如下命令: pip install nltk 但是在使用中往往会碰到一个问题。由于NLTK的运行需要其数据支持,而这些数据涉及专题比较多,数据量也较大,并不包含在NLTK安装包中,其设计为运...
NLTK是Python中用于自然语言处理的类型,其安装比较方便,使用如下命令:
pip install nltk
但是在使用中往往会碰到一个问题。由于NLTK的运行需要其数据支持,而这些数据涉及专题比较多,数据量也较大,并不包含在NLTK安装包中,其设计为运行时根据需求在线下载。这原本并非问题,技术角度而言是非常方便的。但奈何由于网络问题下载时间很长,且往往会失败。
解决这个问题的办法是手工下载,然后进行一些处理。步骤如下:
一、使用git克隆 nltk_data
库到本地,注意存储的路径。同样为了避免网络问题,使用 gitee 的镜像:
git clone --depth 1 https://gitee.com/gislite/nltk_data.git
二、在 Python 程序中按如下方式声明 nltk_data
的路径。
import nltk
from nltk import data
data.path.append("/path-to/nltk_data/packages")
三、在 Python 中调用 NLTK 函数:
nltk.sent_tokenize(cnt)
上面命令会出错 ,信息如下:
Resource punkt not found.
Please use the NLTK Downloader to obtain the resource:
>>> import nltk
>>> nltk.download('punkt')
这是因为 nltk_data
中文件是以压缩方式存储的,需要解压缩。
四、根据名称查找并进一步处理:
dev@w4:~/nltk_data$ find . | grep punkt
./packages/tokenizers/punkt.zip
./packages/tokenizers/punkt.xml
dev@w4:~/nltk_data$ cd ./packages/tokenizers/
dev@w4:~/nltk_data/packages/tokenizers$ unzip punkt.zip
Archive: punkt.zip
creating: punkt/
inflating: punkt/greek.pickle
inflating: punkt/estonian.pickle
inflating: punkt/turkish.pickle
完成以上步骤即可。
如果使用其他的数据,按类似方法处理。或者将所有压缩文件都解压在相应目录中。