最大熵词性标注表

2 投票
2 回答
825 浏览
提问于 2025-04-17 06:32

我使用 nltk.pos_tag 来进行词性标注,这个方法使用的是 maxent part of speech tagger。我需要一个所有可用标签的表格。

我的最终目标是从文本中提取出副词和形容词。

任何帮助都非常感谢。

谢谢

2 个回答

1

试试这个:

import nltk
nltk.help.upenn_tagset()
# and
nltk.help.brown_tagset()
4

pos_tag这个函数,根据它的说明文档,使用的是“NLTK目前推荐的词性标注器”,所以这个建议的有效性可能会过时。为了得到可重复的结果,建议使用一个明确的词性标注器对象。

查看pos_tag的源代码,我们可以看到它调用了

>>> nltk.data.load('taggers/maxent_treebank_pos_tagger/english.pickle')

通过这个,我们可以得到一个词性标签的列表,使用

>>> _.classifier().labels()
['PRP$', 'VBG', 'VBD', '``', 'VBN', 'POS', "''", 'VBP', 'WDT', 'JJ', 'WP', 'VBZ',
 'DT', '#', 'RP', '$', 'NN', 'FW', ',', '.', 'TO', 'PRP', 'RB', '-LRB-', ':',
 'NNS', 'NNP', 'VB', 'WRB', 'CC', 'LS', 'PDT', 'RBS', 'RBR', 'CD', '-NONE-',
 'EX', 'IN', 'WP$', 'MD', 'NNPS', '-RRB-', 'JJS', 'JJR', 'SYM', 'UH']

(我必须承认我是通过查看对象和反复尝试才发现这个的。)

形容词和副词至少会有JJ(形容词)和RB(副词)这两个类别,可能还有VBN(过去分词,比如“tired”)。

撰写回答