首页 > 解决方案 > 在 spacy 的帮助下合并几乎相似的行

问题描述


如果它们几乎相似,我想合并一些行。
可以使用 spaCy 检查相似性。

东风:

string                     
yellow color       
yellow color looks like 
yellow color bright
red color okay
red color blood

输出:

string
yellow color looks like bright
red color okay blood

解决方案:
蛮力方法是 - 对于字符串中的每个项目检查与其他 n-1 项目的相似性,如果大于某个阈值则合并。
还有其他方法吗?
因为我接触的人不多,不知道他们是怎么做的,
我想到的一个想法是——我们可以传递一些函数来合并吗?如果是真的,那么合并,否则不要。

欢迎任何其他流行的方法。

标签: pythonmergenlpdata-sciencespacy

解决方案


我想你还没有想到有可能,例如:

yellow color bright
yellow color I like
yellow color looks like

在这些情况下,您需要决定要做什么:只随机合并其中的 2 个?三个都?

在考虑了这一点之后,您可能会发现您真正想要做的是对词嵌入进行聚类,即将它们分成相似元素的非重叠组(一个组的大小可以等于 1)。

幸运的是,有很多现有的解决方案,每一个都有其优点和缺点。例如,DBSCAN在 O(n log n) 中运行。


推荐阅读