我想使用word_tokenize, pos_tag, FreqDist
。我不想默认下载所有nltk
。我想使用nltk.download(info_or_id='')
。我应该在info_or_id
中添加什么选项来获取POS标记及其频率。 POS标签 - Penn Treebank POS。
答案 0 :(得分:0)
如果您查看语料库http://www.nltk.org/nltk_data/,则每个说明都包含其ID,例如棕色,wordnet,book_grammars。您选择哪个取决于您的应用程序。寻找标记的语料库,例如布朗包括POS,你必须看看每一个,我想,看看。 Treebank提到了Penn Treebank(id treebank),也是Sinica Treebank(id sinica_treebank)。请参见下文标题Parsed Corpora http://www.nltk.org/howto/corpus.html
答案 1 :(得分:0)
您的问题会将nltk
本身与nltk_data
混淆。你不能真正下载nltk的一部分(尽管如果你需要节省空间,你可以手动修剪它,小心)。但我认为您正试图避免下载所有nltk数据。正如@barny所写,当您打开交互式nltk.download()
窗口时,您可以看到不同资源的ID。
要使用树库pos标记器,您需要其腌制培训表(不树库语料库);你会在"模特"中找到它们。标识maxent_treebank_pos_tagger
下的标签。 (因此:nltk.download("maxent_treebank_pos_tagger")
。
FreqDist
班级没有或不需要任何经过培训的模型。
word_tokenize
也没有,它将一个句子作为单个字符串并将其分解为单词。但是,您可能需要sent_tokenize
的模型,它会将较长的文本分解为句子。这是由" Punkt"处理的。句子标记器,您可以使用nltk.download("punkt")
下载其模型。
PS。对于一般用途,我建议在" book"中下载所有内容。集合,即nltk.download("book")
。它只占总数的一小部分,它可以让你做大部分事情,而不会经常争吵,找出缺少的东西。