私はNLTKパッケージをPythonで使って学びたいと思っています。特に、NLTKでpenn tree bankデータセットを使用する必要があります。私が知る限り、nltk.download('treebank')
と呼ぶと、私はデータセットの5%を得ることができます。しかし、私はtar.gzファイルに完全なデータセットを持っており、それを使いたいと思います。あなたはペンツリーバンクのフルインストールへのアクセス権を持っている場合は、NLTK は同様にそれをロードするように構成することができます私はpython/nltkの中で完全なpenn treebankデータセットを使うことができます
:hereではあると言われています。 ptbパッケージをダウンロードし、 のディレクトリnltk_data/corpora/ptbに、TreebankインストールのBROWNとWSJ ディレクトリを配置します(シンボリックリンクも同様に動作します)。その後 は、ツリーバンクの代わりにPTBモジュールを使用します。
だから、私は端末からのpython、輸入NLTKを開き、nltk.download('ptb')
を入力しました。このコマンドを使用すると、 "ptb"ディレクトリが私の~/nltk_data
ディレクトリに作成されています。最後に、今私は~/nltk_data/ptb
ディレクトリがあります。そこには、私が上で与えたリンクに示唆されているように、私は自分のデータセットフォルダを入れました。これは私の最終的なディレクトリ階層です。 00から24までのすべてのフォルダ内
$: 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
は、多くの
.mrg
ファイルなど
wsj_0001.mrg , wsj_0002.mrg
などなどがあります。
今、私の質問を返します。ここでも、hereによると:
私は、私は次のことを書いた場合、ファイルIDを取得することができるはずです:私はprint(ptb.fileids())
を入力すると残念ながら
>>> 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', ...]
、私は空の配列を得ました。
>>> print(ptb.fileids())
[]
私を助けることができる人はいますか?ここでEDIT
は私のPTBディレクトリの内容とあるallcats.txtファイルの一部:
$: 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 ..