我有一个句子列表列表,按单词标记,然后标记 pos,因此结果显然是一个包含元素的列表:
[(w1,pos_tag1)(w2,pos_tag2)]
[(w3,pos_tag3),(w4,pos_tag4),(w5,pos_tag5)]
[(w6,pos_tag6),(w7,pos_tag7)]
我只需要按照它们在所有句子中出现的顺序获取 pos_tags 列表。我尝试的是对列表进行迭代
tags = [x[1] 表示列表中元素中的 x]
但这不起作用。我怎样才能拥有这些列表中的所有标签?
谢谢
最佳答案
您可以使用zip(*list)
习惯用法解压元组列表,请参阅Unpacking a list / tuple of pairs into two lists / tuples
>>> from nltk import pos_tag
>>> tagged_sent = pos_tag('The quick brown fox jumps over the lazy dog'.split())
>>> tagged_sent
[('The', 'DT'), ('quick', 'JJ'), ('brown', 'NN'), ('fox', 'NN'), ('jumps', 'VBZ'), ('over', 'IN'), ('the', 'DT'), ('lazy', 'JJ'), ('dog', 'NN')]
>>> words, tags = zip(*tagged_sent)
>>> tags
('DT', 'JJ', 'NN', 'NN', 'VBZ', 'IN', 'DT', 'JJ', 'NN')
关于python - 仅从 (word,pos_tag) 元组获取 POS 标签列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003418/