您可以將您的語料庫文件保留在本地目錄中,只需將nltk_data/corpora
文件夾中的符號鏈接添加到您的語料庫的位置即可,正如您引用的段落所示。但是,如果您無法修改nltk_data
或只是不喜歡通過nltk_data
目錄進行不必要的往返的想法,請繼續閱讀。
對象ptb
僅僅是一個語料庫讀取器對象的快捷方式,該對象通過Penn Treebank語料庫的適當設置進行初始化。它被定義(在nltk/corpus/__init__.py
)是這樣的:
ptb = LazyCorpusLoader(# Penn Treebank v3: WSJ and Brown portions
'ptb', CategorizedBracketParseCorpusReader, r'(WSJ/\d\d/WSJ_\d\d|BROWN/C[A-Z]/C[A-Z])\d\d.MRG',
cat_file='allcats.txt', tagset='wsj')
可以忽略LazyCorpusLoader
部分;它被使用是因爲nltk定義了很多語料庫端點,其中大多數從未加載到任何一個python程序中。相反,通過直接實例化CategorizedBracketParseCorpusReader
來創建語料庫閱讀器。如果你的陰莖看起來酷似ptb
語料庫,你會這樣稱呼它:
from nltk.corpus.reader import CategorizedBracketParseCorpusReader
myreader = CategorizedBracketParseCorpusReader(r"<path to your corpus>",
r'(WSJ/\d\d/WSJ_\d\d|BROWN/C[A-Z]/C[A-Z])\d\d.MRG',
cat_file='allcats.txt', tagset='wsj')
正如你所看到的,你提供的路徑,文件的實際位置,並留下其餘參數是相同的:他們是包含在語料庫中的文件名的正則表達式,將語料庫文件映射到類別的文件以及要使用的標記集。您創建的對象將與ptb
或treebank
完全相同的語料庫讀取器(除非它未被延遲創建)。
使用符號鏈接,就像文檔告訴你的一樣。 –