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)
