Ich versuche zu lernen mit NLTK Paket in Python. Insbesondere muss ich den Penn-Tree-Bank-Datensatz in NLTK verwenden. Soweit ich weiß, wenn ich nltk.download('treebank')
anrufen kann ich die 5% des Datensatzes bekommen. Ich habe jedoch einen vollständigen Datensatz in der tar.gz-Datei und möchte ihn verwenden. In here wird gesagt, dass:Wie könnte ich komplette Penn Baumbank Datensatz in Python/Nltk
Wenn Sie Zugriff auf eine vollständige Installation der Penn Treebank, NLTK kann so konfiguriert werden, als auch zu laden. Laden Sie das ptb-Paket herunter, und geben Sie in das Verzeichnis nltk_data/corpora/ptb die Verzeichnisse BROWN und WSJ der Treebank-Installation an (Symlinks funktionieren ebenfalls). Dann das ptb Modul anstelle von Baumbank:
Also, ich den Python von Terminal geöffnet, importiert nltk und tippte nltk.download('ptb')
. Mit diesem Befehl wurde das Verzeichnis "ptb" unter meinem Verzeichnis ~/nltk_data
erstellt. Am Ende habe ich jetzt Verzeichnis. Wie in dem obigen Link angedeutet, habe ich dort meinen Dataset-Ordner abgelegt. Das ist meine letzte Verzeichnishierarchie.
$: 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
Innen alle Ordner 00-24, gibt es viele .mrg
Dateien wie wsj_0001.mrg , wsj_0002.mrg
und so weiter.
Jetzt können wir meine Frage zurückgeben. Wieder nach here:
Ich sollte die Datei-IDs erhalten können, wenn ich die folgenden schreiben:
>>> 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', ...]
Leider, wenn ich print(ptb.fileids())
Ich habe leeres Array eingeben.
>>> print(ptb.fileids())
[]
Gibt es jemanden, der mir helfen könnte?
EDIT hier ist der Inhalt meiner ptb Verzeichnis und einige allcats.txt Datei:
$: 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 ..