nltk擴展包安裝問題以及下載很慢的解決辦法

當我們用命令(pip inatall nltk)下載好nltk的時候,如果需要下載其中的擴展包需要使用如下命令:

>>>import nltk

>>>nltk.download()

由於下載的網站時國外的網站,下載速度十分慢,還會引發一系列的問題。接下來給出解決辦法

一、解決下載慢的問題:

從下面這個鏈接下載nltk的擴展包,裏面擁有大部分的nltk模型。

鏈接:https://pan.baidu.com/s/1EvTVpzwEdIoNpRXHZ7a23g 
提取碼:k6dz

資源來源參考:https://blog.csdn.net/qq_36142114/article/details/94609645

二、解決安裝問題

當我們下載好nltk的擴展包之後需要使用,如果擴展包沒有放到正確的位置,程序依舊會報錯。下面帶來解決辦法:

1.找到nltk擴展包默認下載位置

打開python運行如下代碼:

>>>import nltk

>>>nltk.download()

會出現一個窗口:

紅框部分便是默認的下載位置。

2.找到你寫的程序中,使用了哪一個模型

比如:我使用了english.pickle這樣一個模型

在這個模型前面是有兩個文件夾的,一個是tokenizers,一個是punkt。

我們需要從開始下載的那一個大的nltk擴展包中,找到這樣一個模型:

先解壓得到下圖:

點擊進入packages文件夾,裏面會有一個tokenizers文件夾,再次點擊進入會有一個punkt的壓縮包,裏面就有我們需要的模型enlish.pickle。

3.將找到的模型移入nltk默認下載的路徑下

默認路徑爲第一幅圖中紅框框住的那個:C:\Users\asus\AppData\Roaming\nltk_data

注意:根據我的代碼  sentensor = nltk.data.load('tokenizers/punkt/english.pickle')   ,此時需要的是把tolenizers這整個文件夾複製,然後粘貼到C:\Users\asus\AppData\Roaming\nltk_data這個路徑下。

然後你的punkt.zip這個文件就到了這個文件夾下:C:\Users\asus\AppData\Roaming\nltk_data\tokenizers\,此時還未結束,因爲punkt爲壓縮包,需要解壓纔可是使用。

注意:有的人解壓後,會出現兩個punkt文件夾,意思是解壓後,會得到.\punkt\punkt\,這時需要刪除一個多餘的punkt文件夾。

此時,你的代碼就可以開始使用english,pickle模型了,其他的擴展包也是用類似的方法。雖然有點麻煩,但是絕對不會出錯。

三、總結

其實上面的內容會有一點繁瑣,但是我想講的詳細一點,方便別人看的懂,自己也懂。

整體安裝的過程其實非常簡單。

  • 我的代碼是這樣的:sentensor = nltk.data.load('tokenizers/punkt/english.pickle')

       所以我的english.pickle所在的文件夾爲:C:\Users\asus\AppData\Roaming\nltk_data\tokenizers\punkt

  • 如果我將代碼寫成這樣:sentensor = nltk.data.load('english.pickle')

       我的english.pickle所在的文件夾應該爲:C:\Users\asus\AppData\Roaming\nltk_data\

反正你用的模型運行的正不正確,就取決於這條代碼中括號的這個路徑是不是能找到english.pickle模型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章