python中的相似词分组
Posted
技术标签:
【中文标题】python中的相似词分组【英文标题】:Grouping Similar words in python 【发布时间】:2019-07-23 03:55:39 【问题描述】:我正在尝试使用 spacy 从文本中提取关键字/实体名称。
我能够提取所有实体名称,但我得到了很多重复项。
例如,
def keywords(text):
tags = bla_bla(text)
return tags
article = "Donald Trump. Trump. Trump. Donald. Donald J Trump."
tags = keywords(article)
我得到的输出是: ['唐纳德特朗普','特朗普','特朗普','唐纳德','唐纳德J特朗普']
如何将所有这些标签聚集在一个主标签“Donald J Trump”下?
【问题讨论】:
使用字典'master_tag': [list-of-other-tags]
有没有办法动态地做到这一点?我的意思是,特朗普就是一个例子,但我还有很多其他标签要分组。
【参考方案1】:
1) 简单的方法:只保留包含较小实体的最长实体 2)更耗时:制作实体字典 3) ML:用词袋向量化实体并将它们聚类,聚类中最长的实体将是“主”
【讨论】:
【参考方案2】:带有精心制作的字典。
没有无监督/集群可以可靠地做到这一点。
考虑以下句子:
特朗普总统会见了他的儿子小唐纳德·特朗普
【讨论】:
以上是关于python中的相似词分组的主要内容,如果未能解决你的问题,请参考以下文章