当前位置: 首页 > 面试题库 >

Python-如何下载NLTK数据?

苏畅
2023-03-14
问题内容

更新答案:NLTK适用于2.7。我有3.2。我卸载了3.2,然后安装了2.7。现在可以了!!

我已经安装了NLTK并尝试下载NLTK数据。我所做的就是遵循此站点上的说明:http ://www.nltk.org/data.html

我下载了NLTK,进行了安装,然后尝试运行以下代码:

>>> import nltk
>>> nltk.download()

它给了我如下错误信息:

Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    nltk.download()
AttributeError: 'module' object has no attribute 'download'
 Directory of C:\Python32\Lib\site-packages

尝试了nltk.download()nltk.downloader(),都给了我错误消息。

然后我习惯于help(nltk)拉出包装,它显示以下信息:

NAME
    nltk

PACKAGE CONTENTS
    align
    app (package)
    book
    ccg (package)
    chat (package)
    chunk (package)
    classify (package)
    cluster (package)
    collocations
    corpus (package)
    data
    decorators
    downloader
    draw (package)
    examples (package)
    featstruct
    grammar
    help
    inference (package)
    internals
    lazyimport
    metrics (package)
    misc (package)
    model (package)
    parse (package)
    probability
    sem (package)
    sourcedstring
    stem (package)
    tag (package)
    test (package)
    text
    tokenize (package)
    toolbox
    tree
    treetransforms
    util
    yamltags

FILE
    c:\python32\lib\site-packages\nltk

我确实在那儿看到了Downloader,不确定为什么它不起作用。Python 3.2.2,系统Windows Vista。


问题答案:

要下载特定的数据集/模型,请使用nltk.download()函数,例如,如果你要下载punkt句子标记器,请使用:

$ python3
>>> import nltk
>>> nltk.download('punkt')

如果不确定所需的数据/模型,则可以使用以下数据和模型的基本列表开始:

>>> import nltk
>>> nltk.download('popular')

它将下载“流行”资源的列表,其中包括:

<collection id="popular" name="Popular packages">
      <item ref="cmudict" />
      <item ref="gazetteers" />
      <item ref="genesis" />
      <item ref="gutenberg" />
      <item ref="inaugural" />
      <item ref="movie_reviews" />
      <item ref="names" />
      <item ref="shakespeare" />
      <item ref="stopwords" />
      <item ref="treebank" />
      <item ref="twitter_samples" />
      <item ref="omw" />
      <item ref="wordnet" />
      <item ref="wordnet_ic" />
      <item ref="words" />
      <item ref="maxent_ne_chunker" />
      <item ref="punkt" />
      <item ref="snowball_data" />
      <item ref="averaged_perceptron_tagger" />
    </collection>

已编辑
如果有人避免nltk从https://stackoverflow.com/a/38135306/610569上从下载较大的数据集而避免错误

$ rm /Users/<your_username>/nltk_data/corpora/panlex_lite.zip
$ rm -r /Users/<your_username>/nltk_data/corpora/panlex_lite
$ python

>>> import nltk
>>> dler = nltk.downloader.Downloader()
>>> dler._update_index()
>>> dler._status_cache['panlex_lite'] = 'installed' # Trick the index to treat panlex_lite as it's already installed.
>>> dler.download('popular')

更新

从v3.2.5起,当nltk_data找不到资源时,NLTK会提供更多信息,例如:

>>> from nltk import word_tokenize
>>> word_tokenize('x')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/l/alvas/git/nltk/nltk/tokenize/__init__.py", line 128, in word_tokenize
    sentences = [text] if preserve_line else sent_tokenize(text, language)
  File "/Users//alvas/git/nltk/nltk/tokenize/__init__.py", line 94, in sent_tokenize
    tokenizer = load('tokenizers/punkt/{0}.pickle'.format(language))
  File "/Users/alvas/git/nltk/nltk/data.py", line 820, in load
    opened_resource = _open(resource_url)
  File "/Users/alvas/git/nltk/nltk/data.py", line 938, in _open
    return find(path_, path + ['']).open()
  File "/Users/alvas/git/nltk/nltk/data.py", line 659, in find
    raise LookupError(resource_not_found)
LookupError: 
**********************************************************************
  Resource punkt not found.
  Please use the NLTK Downloader to obtain the resource:

  >>> import nltk
  >>> nltk.download('punkt')

  Searched in:
    - '/Users/alvas/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'
    - ''


 类似资料:
  • 问题内容: 我已经安装了nltk包。接下来我尝试下载 支持包使用nltk.下载()和我收到错误: [错误号11001]getaddrinfo 我的机器/软件详细信息如下: OS:Windows 8.1 Python:3.3.4 NLTK包:3.0 下面是在python中运行的命令: 看来它会鉴于最好是从. 在另一台机器上打字在浏览器,它重定向到. 我不是了解为什么重定向不会发生在我的笔记本电脑上。

  • 问题内容: 我在Windows上,但是我正在使用腻子壳连接到linux计算机,并想安装python 2.7。无法弄清楚该怎么做。如何从命令行下载python? 问题答案: wget –no-check-certificate https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz tar -xzf Python-2.7.11.tgz c

  • 问题内容: 我试图使用Python从Internet下载某些内容,但我使用的是urllib模块,但无法正常工作。我希望能够将下载的文件保存到我选择的位置。如果有人可以用清晰的例子向我解释如何做到这一点,将不胜感激。 问题答案: 我建议像这样使用urllib2: 您甚至可以将其缩短为(尽管,如果您打算将每个单独的调用括在-中,则不想将其缩短):

  • 我尝试通过selenium(python)从GoogleTrend下载CSV数据。 在前面,我尝试打印源页和提取数据,我以后想要。它在一段时间内起作用,但现在不起作用了。 导入sys导入时间 从selenium导入webdriver.Common.Keys导入selenium.webdriver.Common.Action_Chains导入selenium.webdriver.Support.UI

  • 问题内容: WordNet很棒,但是我很难在nltk中获得同义词。如果您在此处类似地搜索“ small”一词,则会显示所有同义词。 基本上,我只需要了解以下内容: 哪里的选项可以是化名和反义词,但是获取同义词的选择是什么? 问题答案: 如果您想要同义词集中的同义词(又称组成集合的引理),则可以使用以下命令获取它们:

  • 我正在寻找一种在python中下载pdf文件的方法,我看到了关于推荐urllib模块的其他问题的答案。我试图用它下载一个pdf文件,但是当我试图打开下载的文件时,一条消息显示该文件无法打开。 错误消息 这是我使用的代码- 我做错了什么?此外,该文件会自动保存到python文件所在的目录中。如何更改它保存到的位置? 编辑-我再次尝试使用示例pdf的链接,http://unec.edu.az/appl