Python'da NLTK paketini kullanmayı öğreniyorum. Özellikle, NLTK'de penn ağaç bankası veri kümesini kullanmam gerekiyor. Bildiğim kadarıyla, nltk.download('treebank')
'u ararsam veri kümesinin% 5'ini alabilirim. Ancak, tar.gz dosyasında eksiksiz bir veri kümem var ve kullanmak istiyorum. python/nltk içinde tam penn treebank veri kümesini nasıl kullanabilirim
Penn Treebank, NLTK tam yüklemesine erişiminiz varsa
de onu yüklemek için yapılandırılabilir: here yılında söylenir. Ptb paketini indirin ve dizini nltk_data/corpora/ptb dizininde, Treebank kurulumunun BROWN ve WSJ dizinlerini yerleştirin (symlinks de çalışır). Sonra Treebank yerine ptb modülünü kullanın:
Yani, terminalden piton, ithal nltk açtı ve nltk.download('ptb')
yazdınız. Bu komutla, ~/nltk_data
dizinim altında "ptb" dizini oluşturuldu. Sonunda, şimdi ~/nltk_data/ptb
dizini var. İçerde, yukarıda verdiğim bağlantıda önerildiği gibi, veri kümesi klasörümü koydum. Yani bu benim son dizin hiyerarşim. 00'dan 24'e klasörlerin tüm İçinde
$: 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
birçok
.mrg
dosyalar,
wsj_0001.mrg , wsj_0002.mrg
olarak ve benzeri vardır.
Şimdi, sorumu geri verelim. Yine here göre: Ben şunları yazarsanız
ben dosya kimlikleri elde etmek mümkün olmalıdır: Ben print(ptb.fileids())
yazarken
>>> 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', ...]
, ben boş dizi var.
>>> print(ptb.fileids())
[]
Bana yardımcı olabilecek biri var mı? Burada DÜZENLEME
benim ptb dizinin içeriği ve olan allcats.txt dosyanın bazı:
$: 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 ..