使用python比较多个文本的相似性

使用python比较多个文本的相似性,python,text,nlp,analysis,Python,Text,Nlp,Analysis,因此,我有大约300-500篇文本文章,我想比较这些文章的相似性和相关/重复的图。一些文章可能涉及相同的主题,但不完全相同。所以为了解决这个问题,我开始试验空间和相似性函数。。现在的问题是相似性一次只比较两个文档,我想我需要循环每一个文本,并将其与另一个文本进行比较,这是一个非常缓慢且耗费内存的过程,有办法解决吗?我不知道如何比较文本之间的相似性,但假设您将使用Jaccard或余弦相似性来相互比较 然后,您可以使用提出的具有实现的所有对相似性搜索。该算法非常快,尤其是对于如此小的数据量 all

因此,我有大约300-500篇文本文章,我想比较这些文章的相似性和相关/重复的图。一些文章可能涉及相同的主题,但不完全相同。所以为了解决这个问题,我开始试验空间和相似性函数。。现在的问题是相似性一次只比较两个文档,我想我需要循环每一个文本,并将其与另一个文本进行比较,这是一个非常缓慢且耗费内存的过程,有办法解决吗?

我不知道如何比较文本之间的相似性,但假设您将使用Jaccard或余弦相似性来相互比较

然后,您可以使用提出的具有实现的所有对相似性搜索。该算法非常快,尤其是对于如此小的数据量

all pairs搜索返回两个文档及其相似性,因此,如果要查找相似文档的“系列”,则需要进一步应用类似DFS的图遍历。在
python
上,tuples使用邻接列表并提供O^(n+m)时间复杂度


例如,您可以使用尝试在reddit子reddit中查找repost的所有对算法。

“现在的问题是相似性一次只比较两个文档”。这到底是个什么问题?您是否有任何理由认为此任务的时间复杂度应小于N^2?是的,对不起,您应该澄清此部分;有没有办法减少N^2时间?可能有,但首先您需要严格定义如何处理这些数据。如果只是简单地说寻找相似的文章,那么似乎每个潜在的文章对都是一个可以检查的有效候选,因此N^2。这是除非您实现某种近似方法,即仅考虑对的非稠密子集,但结果的质量将不相同。特别是你寻找重复的事实表明你对这里的配对相似感兴趣