【问题标题】:Python nltk Resource u'tokenizers/punkt/english.pickle' not found bu It is actually presentPython nltk Resource u'tokenizers/punkt/english.pickle' not found bu 它实际上是存在的
【发布时间】:2017-01-09 12:14:07
【问题描述】:

这是我的代码,只是使用 nltk 执行一些标记化。

import nltk
from nltk.corpus import stopwords
tokens = nltk.word_tokenize(doc, language='english')
# remove all the stopwords
filtered = [w for w in tokens if (w not in stopwords.words('english')) and (w.isalnum())]

我已经下载了 punkt 包。我还尝试将正确的文件夹复制并粘贴到错误消息所搜索的位置。 这是我在其他类似问题中看到的错误。

找不到资源 u'tokenizers/punkt/english.pickle'。
请使用 NLTK 下载器获取资源:>>>

nltk.download() 搜索:

- '/root/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''

我什至尝试重新安装整个 nltk 和软件包,但没有成功。 有关环境的有用信息: - 通过 Pycharm IDE 的终端运行 -操作系统:Ubuntu 15 -nltk 使用 pip 安装 -nltk_data 安装在默认位置 /home/user/nltk_data

请不要告诉我使用 nltk.download('punkt') 因为我有它。 感谢您的帮助。

【问题讨论】:

  • 尝试在计算机范围内搜索文件并检查它是否下载到正确的目录中。查找 / |grep punkt/english.pickle
  • 还有另一个神奇的问题:它在作为单个脚本运行时完美运行,但在更大的软件中调用时会引发该异常。 @Rafi 我做到了,它就在那里????
  • 在我们为您提供帮助之前,您必须回答几个问题。更大的软件是什么?您是如何运行它的(通过 IDE 或在终端上)?你在用窗户吗?您使用的是哪个操作系统?你是如何安装 NLTK(anaconda 或 pip)的?你在哪里运行你的 python 脚本?你把 nltk_data 目录保存在哪里了?
  • 按顺序,该软件包含一些 python 文件,这些文件对其他文件执行基本操作(如果我删除这些 nltk 行,它会完美运行);我通过pycharm IDE的终端运行它(我不能直接用IDE的简单“运行”运行它,因为我需要root权限;我使用的是ubuntu 15(在ubuntu 16上也有同样的问题);我使用pip安装了nltk;我用按钮运行(不是终端)运行脚本,它可以工作;nltk_data 在默认位置 /home/user/nltk_data 中是 sacra,我试图将它复制到不同的位置,错误消息中的“建议”。感谢您的关注
  • 请通过编辑问题添加信息,而不是放在评论中,谢谢=)

标签: python nltk tokenize


【解决方案1】:

您必须安装 nltk-punkt 才能进行标记化。

  • 怎么做?

    1. 打开一个终端。
    2. 执行python命令进入python环境。
    3. 执行import nltk
    4. 执行nltk.download('punkt')

您的终端可能是这样的:

【讨论】:

    猜你喜欢
    • 2014-12-21
    • 2016-08-11
    • 2015-01-28
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 2011-11-30
    相关资源
    最近更新 更多