0

我有 python 2.6 、用于 python 的 NLTK 以及我正在使用的几个外部资源。问题是,一切都被识别(导入语句)

from nltk import sent_tokenize
from nltk import word_tokenize 
import re 
from nltk.corpus import stopwords 
from nltk.stem import PorterStemmer 
from nltk.probability import FreqDist

Traceback (most recent call last):
  File "E:\Program Files\eclipse\Martin Project Folder\labs2\src\lab2.py", line 22, in <module>
    sents.append(sent_tokenize( review.raw( ) ))

on line 22 you :

Resource 'tokenizers/punkt/english.pickle' not found.  Please
  use the NLTK Downloader to obtain the resource: >>>
  nltk.download().
  Searched in:
    - 'C:\\Users\\Martinos/nltk_data'
    - 'C:\\nltk_data'
    - 'D:\\nltk_data'
    - 'E:\\nltk_data'
    - 'E:\\Python26\\nltk_data'
    - 'E:\\Python26\\lib\\nltk_data'
    - 'C:\\Users\\Martinos\\AppData\\Roaming\\nltk_data'

任何人都知道这是为什么,因为程序应该在 nltk 中找到 punkd 版本(因为它识别 nltk)?

4

2 回答 2

1

正如堆栈跟踪中的错误消息所说,您应该从 python 控制台调用函数“nltk.download()”来下载所需的资源。此消息还列出了 nltk 尝试查找丢失资源的所有路径。

于 2011-02-04T09:13:33.617 回答
1

您需要下载 nltk 资源。要解决此问题,请执行以下操作:

Python mode in the Terminal and run following commands 
import nltk 
nltk.download()
于 2014-02-13T17:10:48.613 回答