如何从词性标注(POS tagging)结果中提取POS标签列表
实现方案(Python 环境)
你得到的词性标注结果为双层嵌套列表结构,内层列表的每个元素是(词汇, 词性标签)格式的元组,直接提取每个元组的第二个值即可得到目标结果。
最简写法(列表推导式)
# 原始词性标注输出 pos_output = [[("ද්විපාර්ශවික", "NNP"), ("එකඟතා", "NNP"), ("ජන", "JJ"), ("ජීවිත", "NNJ"), ("සෞඛ්යය", "NNC"), ("මනාව", "RB")]] # 提取词性标签 pos_tag_list = [[tag for _, tag in sentence] for sentence in pos_output]
执行后pos_tag_list的输出就是你需要的[['NNP', 'NNP', 'JJ', 'NNJ', 'NNC', 'RB']]。
代码中用
_指代不需要用到的词汇变量,符合Python的通用编码习惯。
基础循环写法(逻辑更直观)
如果对列表推导式不熟悉,也可以用普通循环实现,效果完全一致:
pos_tag_list = [] for sentence in pos_output: current_tags = [] for word, tag in sentence: current_tags.append(tag) pos_tag_list.append(current_tags)
以上两种写法都支持多句子的批量处理,如果你后续的标注结果包含多个句子的词性输出,不需要修改逻辑即可直接使用。
内容的提问来源于stack exchange,提问作者Chandima Samarakoon
相关产品推荐
相关产品推荐

