2012-07-19 1 views
7

인터넷에 연결할 수없는 SUSE Linux 상자에서 nltk를 실행하려고합니다.오프라인 Linux 머신에서 nltk 용 english.pickle 설치 방법

나는 성공적 NLTK를 설치하고 그것을 실행하지만 난

>>> tagged = nltk.pos_tag(tokens) 

를 제출할 때이 오류가 얻을 : 나는에있는 상자를 연결할 수 없기 때문에

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

내가 다운로더를 사용할 수 없습니다를 인터넷.

필요한 패키지를 어떻게 설치할 수 있습니까?

답변

2

다운로더는 파일을 특정 폴더에 저장합니다. 온라인 컴퓨터에서 다운로드하여 오프라인 컴퓨터의 해당 위치에 파일을 복사 할 수 있다고 상상합니다. 내 컴퓨터에서 다운로드는 /usr/local/lib/nltk_data입니다.

+0

제안 해 주셔서 감사합니다. Windows 컴퓨터에서이 작업을 수행했다면 다운로드 한 파일은 Linux에서 작동합니까? –

+0

죄송합니다, 방금 고객님의 의견을 보았습니다. 모르겠지만 데이터가 크로스 플랫폼이어야한다고 생각합니다 (줄 끝 부분 제외). – darkphoenix

3

데이터가 nltk_data 디렉토리에 다운로드됩니다. 즉 어디 한 시스템에서 다른 시스템으로 다르지만, 다음을 수행하여 찾을 수 있습니다 :

import nltk 
print nltk.data.find('.') 

english.pickle<nltk_data>/taggers/의 하위 폴더에 있어야합니다. 가장 쉬운 방법은 인터넷에 연결된 컴퓨터에서 다운로더를 사용한 다음 동일한 하위 폴더에 복사하는 것입니다. english.pickle의 버전은 하나 뿐이며 Windows 상자에 문제없이 다운로드 할 수 있습니다.

(2017)를 참조 목적