当我对文本进行分块时,我在输出中得到很多代码,例如NN, VBD, IN, DT, NNS, RB
。
是否有 list 记录了这些含义?
我尝试了谷歌搜索nltk chunk code
nltk chunk grammar
nltk chunk tokens
。
但是我找不到任何解释这些代码含义的文档。
最佳答案
您看到的标签不是分块的结果,而是分块之前发生的POS标签。这是Penn Treebank标签集,请参见https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html
>>> from nltk import word_tokenize, pos_tag, ne_chunk
>>> sent = "This is a Foo Bar sentence."
# POS tag.
>>> nltk.pos_tag(word_tokenize(sent))
[('This', 'DT'), ('is', 'VBZ'), ('a', 'DT'), ('Foo', 'NNP'), ('Bar', 'NNP'), ('sentence', 'NN'), ('.', '.')]
>>> tagged_sent = nltk.pos_tag(word_tokenize(sent))
# Chunk.
>>> ne_chunk(tagged_sent)
Tree('S', [('This', 'DT'), ('is', 'VBZ'), ('a', 'DT'), Tree('ORGANIZATION', [('Foo', 'NNP'), ('Bar', 'NNP')]), ('sentence', 'NN'), ('.', '.')])
要获取块,请在块输出中查找子树。从上面的输出中,
Tree('ORGANIZATION', [('Foo', 'NNP'), ('Bar', 'NNP')])
指示块。本教程站点对于解释NLTK中的分块过程很有帮助:http://www.eecis.udel.edu/~trnka/CISC889-11S/lectures/dongqing-chunking.pdf。
有关官方文档,请参见http://www.nltk.org/howto/chunk.html
关于python - DT NNS RB中的NN VBD在NLTK中是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29332851/