NLP中分词是一件麻烦事,nltk可以一定程度上优雅的解决一些需求
如果你去搜索“nltk安装”,那么多半会得到以下的代码
import nltk
nltk.download()
你多半不会进入如下界面(因为网络问题会提示远程连接失败)
然后你什么都没下载就试图去使用nltk,会报错如下:
LookupError:
**********************************************************************
Resource punkt not found.
Please use the NLTK Downloader to obtain the resource:
>>> import nltk
>>> nltk.download('punkt')
For more information see: https://www.nltk.org/data.html
Attempted to load tokenizers/punkt/english.pickle
Searched in:
- 'C:\\Users\\Administrator/nltk_data'
- 'C:\\Users\\Administrator\\Desktop\\venv\\nltk_data'
- 'C:\\Users\\Administrator\\Desktop\\venv\\share\\nltk_data'
- 'C:\\Users\\Administrator\\Desktop\\venv\\lib\\nltk_data'
- 'C:\\Users\\Administrator\\AppData\\Roaming\\nltk_data'
- 'C:\\nltk_data'
- 'D:\\nltk_data'
- 'E:\\nltk_data'
- ''
**********************************************************************
正确的安装方法
去GitHub下载所需模块
NLTK项目地址:
https://github.com/nltk/nltk_data/tree/gh-pages/packages
在如下路径找到punkt.zip
还记得刚刚的报错吗?
Searched in:
- 'C:\\Users\\Administrator/nltk_data'
- 'C:\\Users\\Administrator\\Desktop\\venv\\nltk_data'
- 'C:\\Users\\Administrator\\Desktop\\venv\\share\\nltk_data'
- 'C:\\Users\\Administrator\\Desktop\\venv\\lib\\nltk_data'
- 'C:\\Users\\Administrator\\AppData\\Roaming\\nltk_data'
- 'C:\\nltk_data'
- 'D:\\nltk_data'
- 'E:\\nltk_data'
- ''
在以下任意路径中,建立tokenizers文件夹,把刚刚下载的punkt.zip解压到此处
此时(以'C:\ nltk_data'为例),punkt.zip的解压路径应该为:
C:\ nltk_data\tokenizers\punkt
测试
import nltk
yuliao = 'hello, how are you?'
res = nltk.word_tokenize(yuliao)
print(res)