NLTK库的data路径问题

问题描述

最近在学习《Python自然语言处理》一书中需要使用到NLTK模块,但是在导入数据时出现了问题。即输入from nltk.book import *时,会出现如下所示的错误:

*** Introductory Examples for the NLTK Book ***
Loading text1, ..., text9 and sent1, ..., sent9
Type the name of the text or sentence to view it.
Type: 'texts()' or 'sents()' to list the materials.
Traceback (most recent call last):
  File "D:\Anaconda3\lib\site-packages\nltk\corpus\util.py", line 80, in __load
    try: root = nltk.data.find('{}/{}'.format(self.subdir, zip_name))
  File "D:\Anaconda3\lib\site-packages\nltk\data.py", line 653, in find
    raise LookupError(resource_not_found)
LookupError: 
**********************************************************************
  Resource 'corpora/gutenberg.zip/gutenberg/' not found.  Please
  use the NLTK Downloader to obtain the resource:  >>>
  nltk.download()
  Searched in:
    - 'F:\\Demo_files\\PCB/nltk_data'
    - 'C:\\nltk_data'
    - 'D:\\nltk_data'
    - 'E:\\nltk_data'
    - 'D:\\Anaconda3\\nltk_data'
    - 'D:\\Anaconda3\\lib\\nltk_data'
    - 'C:\\Users\\Spico\\AppData\\Roaming\\nltk_data'
**********************************************************************
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "D:\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2862, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-2a5ed6d8b2c3>", line 1, in <module>
    from nltk.book import *
  File "D:\PyCharm\PyCharm 2017.3.1\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 20, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "D:\Anaconda3\lib\site-packages\nltk\book.py", line 20, in <module>
    text1 = Text(gutenberg.words('melville-moby_dick.txt'))
  File "D:\Anaconda3\lib\site-packages\nltk\corpus\util.py", line 116, in __getattr__
    self.__load()
  File "D:\Anaconda3\lib\site-packages\nltk\corpus\util.py", line 81, in __load
    except LookupError: raise e
  File "D:\Anaconda3\lib\site-packages\nltk\corpus\util.py", line 78, in __load
    root = nltk.data.find('{}/{}'.format(self.subdir, self.__name))
  File "D:\Anaconda3\lib\site-packages\nltk\data.py", line 653, in find
    raise LookupError(resource_not_found)
LookupError: 
**********************************************************************
  Resource 'corpora/gutenberg' not found.  Please use the NLTK
  Downloader to obtain the resource:  >>> nltk.download()
  Searched in:
    - 'F:\\Demo_files\\PCB/nltk_data'
    - 'C:\\nltk_data'
    - 'D:\\nltk_data'
    - 'E:\\nltk_data'
    - 'D:\\Anaconda3\\nltk_data'
    - 'D:\\Anaconda3\\lib\\nltk_data'
    - 'C:\\Users\\Spico\\AppData\\Roaming\\nltk_data'
**********************************************************************

之前曾经使用过nltk库,并且通过nltk.download() 工具下载过相关的语料,加之错误信息的提示,所以考虑到要从路径方面解决。

解决办法

在导入nltk.book 前,先使用如下指令将data路径导入:

from nltk import data
data.path.append(r"F:\nltk_data") # 这里的路径需要换成自己数据文件下载的路径

问题即可解决。网上查到的资料还有修改系统环境变量的方法,但是本人尝试后并未发现有效。

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
nltk_data是Python中一款常用的自然语言处理工具包NLTK(Natural Language Toolkit)中的一个重要组成部分。它包含了多种语料、词典和训练数据,用于支持多种自然语言处理任务,如分词、词性标注、句法分析等。 下载nltk_data可以通过以下步骤进行: 1. 安装NLTK:在Python环境中,可以通过pip install nltk命令进行安装。确保已经安装了合适版本的Python和pip工具。 2. 导入nltk模块:在Python代码文件中,通过import nltk导入nltk模块。 3. 先下载nltk_data的索引文件:通过nltk.download('all')命令下载nltk_data的索引文件。也可以选择只下载需要的部分,比如nltk.download('book')只下载书籍中所需的数据。 4. 下载需要的数据:通过nltk.download('data_name')命令下载具体的数据。其中data_name可以是具体的文件名,也可以是语料或词典的名称。 需要注意的是,下载nltk_data可能需要一定的时间和网络连接。下载过程中可以看到下载的进度以及下载完成的数据大小。下载后,nltk_data将默认保存在本地的NLTK数据目录中。 下载完成后,就可以在NLTK中使用数据了。可以使用nltk.corpus模块来访问语料数据,使用nltk.data模块来访问其他数据。比如可以使用nltk.corpus.brown.words()来获取Brown语料的词汇,使用nltk.data.path来获取nltk_data保存在本地的路径。 总之,下载并使用nltk_data是进行自然语言处理任务中必备的一步。通过下载nltk_data,我们可以获得丰富的语料、词典和训练数据,从而更好地进行文本处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值