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模型。