使用
itertools.groupby
要将具有相同NNP标记的连续词组分组,请执行以下操作:
from itertools import groupby
groups = groupby(tagged, key=lambda x: x[1]) # Group by tags
names = [[w for w,_ in words] for tag,words in groups if tag=="NNP"]
#[['Ronald', 'McDonald'], ['Central', 'Park'], ['Monday']]
names = [" ".join(name) for name in names if len(name)>=2]
#['Ronald McDonald', 'Central Park']