2012-07-19 33 views
7

Tôi đang cố gắng chạy nltk trên một hộp SUSE Linux không thể kết nối với internet.Làm thế nào để cài đặt english.pickle cho nltk trên một dòng máy Linux

Tôi đã cài đặt thành công NLTK và nó chạy nhưng khi tôi gửi

>>> tagged = nltk.pos_tag(tokens) 

tôi nhận được lỗi này:

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

tôi không thể sử dụng downloader kể từ khi tôi không thể kết nối hộp Internet.

Có ai làm cách nào để tôi có thể cài đặt các gói cần thiết không?

Trả lời

2

Trình tải xuống lưu trữ các tệp trong một thư mục cụ thể. Tôi tưởng tượng có thể tải xuống máy trực tuyến và sao chép các tệp vào vị trí tương đương trên máy ngoại tuyến của bạn. Trên máy của tôi, nó tải xuống /usr/local/lib/nltk_data.

+0

Cảm ơn đề xuất của bạn - nếu tôi làm điều này trên máy tính Windows, các tệp tải xuống có hoạt động trên hộp Linux không? –

+0

Xin lỗi, tôi vừa thấy bình luận của bạn. Tôi không biết, nhưng tôi tưởng tượng dữ liệu nên được nền tảng chéo (ngoại trừ có thể cho kết thúc dòng). – darkphoenix

3

Dữ liệu được tải xuống thư mục nltk_data. Trong trường hợp đó là khác với một hệ thống khác, nhưng bạn có thể tìm hiểu bằng cách làm như sau:

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

english.pickle phải ở trong một thư mục con của <nltk_data>/taggers/. Cách dễ nhất để đặt nó ở đó là sử dụng trình tải xuống trên máy có quyền truy cập internet, sau đó sao chép nó và đặt nó vào cùng một thư mục con. Chỉ có một phiên bản english.pickle và bạn có thể tải xuống phiên bản này trên hộp Windows, không sao cả.

Các vấn đề liên quan