在python中将相似的单词分组

时间:2019-03-01 06:33:59

标签: python-3.x text nlp cluster-analysis spacy

我正在尝试使用spacy从文本中提取关键字/实体名称。

我能够提取所有实体名称,但是却有很多重复项。

例如

def keywords(text): 
    tags = bla_bla(text)
    return tags
article = "Donald Trump. Trump. Trump. Donald. Donald J Trump."
tags = keywords(article)

我得到的输出是: [“唐纳德·特朗普”,“特朗普”,“特朗普”,“唐纳德”,“唐纳德·J·特朗普”]

如何将所有这些标签聚集在主标签“唐纳德·J·特朗普”下?

2 个答案:

答案 0 :(得分:0)

1)简单方法:仅保留包含较小元素的最长实体 2)更耗时:制作实体字典 3)ML:将带有词袋的实体矢量化并聚类,聚类中最长的实体将是“主要”

答案 1 :(得分:0)

带有精心构建的字典。

没有可以可靠地做到这一点的无监督/集群。

考虑以下句子:

  

特朗普总统会见了他的儿子小唐纳德·特朗普。