리소스 u'tokenizers / punkt / english.pickle '을 찾을 수 없습니다.


96

내 코드 :

import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

에러 메시지:

[ec2-user@ip-172-31-31-31 sentiment]$ python mapper_local_v1.0.py
Traceback (most recent call last):
File "mapper_local_v1.0.py", line 16, in <module>

    tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 774, in load

    opened_resource = _open(resource_url)

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 888, in _open

    return find(path_, path + ['']).open()

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 618, in find

    raise LookupError(resource_not_found)

LookupError:

Resource u'tokenizers/punkt/english.pickle' not found.  Please
use the NLTK Downloader to obtain the resource:

    >>>nltk.download()

Searched in:
- '/home/ec2-user/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''

이 프로그램을 Unix 컴퓨터에서 실행하려고합니다.

오류 메시지에 따라 유닉스 컴퓨터에서 파이썬 셸에 로그인 한 다음 아래 명령을 사용했습니다.

import nltk
nltk.download()

그런 다음 d-down 로더 및 l-list 옵션을 사용하여 사용 가능한 모든 것을 다운로드했지만 여전히 문제가 지속됩니다.

나는 인터넷에서 해결책을 찾기 위해 최선을 다했지만 위의 단계에서 언급 한 것과 동일한 해결책을 얻었습니다.


답변:


171

alvas의 답변에 추가하려면 punkt말뭉치 만 다운로드 할 수 있습니다 .

nltk.download('punkt')

다운로드 all는 나에게 과잉처럼 들립니다. 그것이 당신이 원하는 것이 아니라면.


nltk 코퍼스 이름에 감사드립니다.
Austin A

nltk.download ( 'punkt')가 작동하도록하려면 최신 nltk 버전 3.2.5로 업그레이드해야했습니다.
Charles

이것은 내가 위의 코드를 실행 한 후 얻는 것입니다. [nltk_data] Error loading punkt : <urlopen error [Errno 111] Connection [nltk_data] rejectd>
Paul

이전 문제와 관련하여 제가해야 할 일은 VPN을 끄는 것뿐이었습니다.
Paul

59

punkt모델 만 다운로드하려는 경우 :

import nltk
nltk.download('punkt')

필요한 데이터 / 모델이 확실하지 않은 경우 NLTK에서 인기있는 데이터 세트, 모델 및 태거를 설치할 수 있습니다 .

import nltk
nltk.download('popular')

위의 명령을 사용하면 데이터 세트를 다운로드하기 위해 GUI를 사용할 필요가 없습니다.


34

나는 해결책을 얻었다.

import nltk
nltk.download()

NLTK 다운로더가 시작되면

d) 다운로드 l) 목록 u) 업데이트 c) 구성 h) 도움말 q) 종료

다운로더> d

어떤 패키지를 다운로드합니까 (l = list; x = cancel)? 식별자> punkt


25

쉘에서 다음을 실행할 수 있습니다.

sudo python -m nltk.downloader punkt 

인기있는 NLTK 말뭉치 / 모델을 설치하려면 :

sudo python -m nltk.downloader popular

모든 NLTK 말뭉치 / 모델 을 설치하려면 :

sudo python -m nltk.downloader all

다운로드 한 리소스를 나열하려면 :

python -c 'import os; import nltk; print os.listdir(nltk.data.find("corpora"))'
python -c 'import os; import nltk; print os.listdir(nltk.data.find("tokenizers"))'

11
import nltk
nltk.download('punkt')

Python 프롬프트를 열고 위의 명령문을 실행하십시오.

sent_tokenize 함수의 인스턴스를 사용 PunktSentenceTokenizer를 으로부터 nltk.tokenize.punkt 모듈. 이 인스턴스는 이미 교육을 받았으며 많은 유럽 언어에서 잘 작동합니다. 따라서 문장의 끝과 새 문장의 시작을 나타내는 구두점과 문자를 알고 있습니다.


9

최근 저에게도 같은 일이 일어났습니다. "punkt"패키지를 다운로드하기 만하면 작동합니다.

"사용 가능한 모든 것을 다운로드"한 후 "list"(l)를 실행하면 모든 것이 다음 줄과 같이 표시됩니까? :

[*] punkt............... Punkt Tokenizer Models

별표와 함께이 줄이 보이면 그것은 당신이 가지고 있음을 의미하며 nltk는 그것을로드 할 수 있어야합니다.


1
안녕하세요 @ supreeth-meka, 해결책을 찾았습니다. 제가 제안한 것입니다. 제 답변을 "수락 됨"으로 표시해 주시겠습니까?
eeelnico 2014-10-26

5

입력하여 Python 콘솔로 이동

$ 파이썬

터미널에서. 그런 다음 Python 셸에 다음 두 명령을 입력하여 각 패키지를 설치합니다.

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

이것은 나를 위해 문제를 해결했습니다.


2

내 문제는 내가 nltk.download('all')루트 사용자로 전화했지만 결국 nltk를 사용한 프로세스는 콘텐츠가 다운로드 된 / root / nltk_data에 대한 액세스 권한이없는 다른 사용자였습니다.

그래서 다운로드 위치의 모든 것을 NLTK가 다음과 같이 찾으려는 경로 중 하나에 재귀 적으로 복사했습니다.

cp -R /root/nltk_data/ /home/ubuntu/nltk_data

2
  1. 다음 코드를 실행하십시오.

    import nltk
    nltk.download()
  2. 그 후 NLTK 다운로더가 나타납니다.

  3. 모든 패키지를 선택합니다.
  4. punkt를 다운로드하십시오.

2

이 코드 줄을 추가하면 문제가 해결됩니다.

nltk.download('punkt')

2

다음을 가져 왔지만 오류가 발생했습니다.

import nltk
nltk.download()

하지만 Google colab의 경우 이것은 내 문제를 해결했습니다.

   !python3 -c "import nltk; nltk.download('all')"

1

간단한 nltk.download ()는이 문제를 해결하지 못합니다. 나는 아래를 시도했고 그것은 나를 위해 일했습니다.

nltk 폴더에서 tokenizers 폴더를 만들고 punkt 폴더를 tokenizers 폴더에 복사하십시오.

작동합니다.! 폴더 구조는 그림과 같아야합니다.


1

폴더를 재정렬해야 합니다. tokenizers폴더를 nltk_data폴더 로 이동하십시오 . 당신이 가지고있는 경우에 작동하지 않습니다 nltk_data포함 된 폴더를 corpora포함하는 폴더 tokenizers폴더를


1

저에게 위의 내용 중 아무것도 작동하지 않았기 때문에 웹 사이트 http://www.nltk.org/nltk_data/ 에서 모든 파일을 직접 다운로드하고 "nltk_data"내부의 "tokenizers"파일에 직접 넣었습니다. " 폴더. 예쁜 해결책은 아니지만 여전히 해결책입니다.


0

나는 같은 문제에 직면했다. 모든 것을 다운로드 한 후에도 여전히 'punkt'오류가 발생했습니다. 내 Windows 컴퓨터의 C : \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers에서 패키지를 검색했는데 거기에 'punkt.zip'이 있습니다. 어떻게 든 zip이 C : \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers \ punk에 추출되지 않았다는 것을 깨달았습니다. 압축을 풀면 음악처럼 작동했습니다.



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.