Tôi đang cố gắng tìm hiểu bằng cách sử dụng gói NLTK trong python. Đặc biệt, tôi cần sử dụng số liệu ngân hàng cây penn trong NLTK. Theo tôi biết, Nếu tôi gọi nltk.download('treebank')
tôi có thể nhận được 5% của tập dữ liệu. Tuy nhiên, tôi có một tập dữ liệu hoàn chỉnh trong tập tin tar.gz và tôi muốn sử dụng nó. Trong here người ta nói rằng:làm cách nào tôi có thể sử dụng tập dữ liệu penn treebank hoàn chỉnh bên trong python/nltk
Nếu bạn có quyền truy cập vào một cài đặt đầy đủ của Penn Treebank, NLTK có thể được cấu hình để tải nó là tốt. Tải xuống gói ptb và trong thư mục nltk_data/corpora/ptb đặt các thư mục BROWN và WSJ cài đặt Treebank (các liên kết cũng hoạt động). Sau đó, sử dụng mô-đun ptb thay vì treebank:
Vì vậy, tôi đã mở con trăn từ thiết bị đầu cuối, nhập nltk và nhập nltk.download('ptb')
. Với lệnh này, thư mục "ptb" đã được tạo trong thư mục ~/nltk_data
của tôi. Cuối cùng, bây giờ tôi có thư mục ~/nltk_data/ptb
. Bên trong đó, như được gợi ý trong liên kết tôi đưa ra ở trên, tôi đã đặt thư mục tập dữ liệu của mình. Vì vậy, đây là hệ thống phân cấp thư mục cuối cùng của tôi.
$: pwd
$: ~/nltk_data/corpora/ptb/WSJ
$: ls
$:00 02 04 06 08 10 12 14 16 18 20 22 24
01 03 05 07 09 11 13 15 17 19 21 23 merge.log
Bên trong tất cả các thư mục 00-24, có nhiều .mrg
file như wsj_0001.mrg , wsj_0002.mrg
và vân vân.
Bây giờ, hãy trả lại câu hỏi của tôi. Một lần nữa, theo here:
tôi sẽ có thể để có được những id tập tin nếu tôi viết các nội dung sau:
>>> from nltk.corpus import ptb
>>> print(ptb.fileids()) # doctest: +SKIP
['BROWN/CF/CF01.MRG', 'BROWN/CF/CF02.MRG', 'BROWN/CF/CF03.MRG', 'BROWN/CF/CF04.MRG', ...]
Thật không may, khi tôi gõ print(ptb.fileids())
tôi có mảng rỗng.
>>> print(ptb.fileids())
[]
Có ai có thể giúp tôi không?
EDIT đây là nội dung của thư mục PTB của tôi và một số allcats.txt file:
$: pwd
$: ~/nltk_data/corpora/ptb
$: ls
$: allcats.txt WSJ
$: cat allcats.txt
$: WSJ/00/WSJ_0001.MRG news
WSJ/00/WSJ_0002.MRG news
WSJ/00/WSJ_0003.MRG news
WSJ/00/WSJ_0004.MRG news
WSJ/00/WSJ_0005.MRG news
and so on ..