【发布时间】:2015-06-02 16:19:08
【问题描述】:
当我分块文本时,我会在输出中得到很多代码,例如
NN, VBD, IN, DT, NNS, RB。
是否有记录在某处的列表告诉我这些的含义?
我试过谷歌搜索nltk chunk codenltk chunk grammarnltk chunk tokens。
但我找不到任何解释这些代码含义的文档。
【问题讨论】:
标签: python nlp nltk text-parsing pos-tagger
当我分块文本时,我会在输出中得到很多代码,例如
NN, VBD, IN, DT, NNS, RB。
是否有记录在某处的列表告诉我这些的含义?
我试过谷歌搜索nltk chunk codenltk chunk grammarnltk chunk tokens。
但我找不到任何解释这些代码含义的文档。
【问题讨论】:
标签: python nlp nltk text-parsing pos-tagger
您看到的标签不是分块的结果,而是分块之前发生的 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。
尽管上面的链接有各种各样的。但是希望这仍然对某人有所帮助,添加了一些其他链接中遗漏的内容。
CC:并列连词
CD:基数
DT:限定符
EX:在那里存在
FW:外来词
IN:介词或从属连词
JJ:形容词
VP:动词短语
JJR:形容词,比较级
JJS:形容词,最高级
LS:列表项标记
MD:模态
NN:名词、单数或整体
NNS:名词,复数
PP:介词短语
NNP:专有名词,单数短语
NNPS:专有名词,复数
PDT:预确定符
POS:所有格结尾
PRP:人称代词短语
PRP:所有格代词短语
RB:副词
RBR:副词,比较级
RBS:副词,最高级
RP:粒子
S:简单的陈述句
SBAR:由(可能为空的)从属连词引入的子句
SBARQ:由 wh 词或 wh 短语引入的直接问题。
SINV:倒置陈述句,即主语跟随时态动词或情态。
SQ:在 SBARQ 中的 wh 短语之后,颠倒是/否问题,或 wh 问题的主要子句。
SYM:符号
VBD:动词,过去式
VBG:动词、动名词或现在分词
VBN:动词,过去分词
VBP:动词,非第三人称单数现在时
VBZ:动词,第三人称单数现在时
WDT:Wh-确定器
WP:Wh-代词
WP:所有格 wh-代词
WRB:Wh-副词
【讨论】: