首页 > 解决方案 > 使用python比较多个文本的相似性

问题描述

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

标签: pythontextnlpanalysis

解决方案


我不知道您将如何比较文本之间的相似性,但假设您将使用 Jaccard 或余弦相似性将每个文本与另一个进行比较。

然后,您可以使用本文提出的全对相似度搜索,这里有一个实现。该算法速度极快,尤其是对于如此小的数据量。

all-pairs 搜索返回两个文档及其相似性,因此如果您想找到相似文档的“家族”,那么您将进一步需要应用像 DFS 这样的图遍历。元组上的堆栈溢出帖子python使用邻接列表并提供 O^(n+m) 时间复杂度。

这是一个示例,您可以使用全对算法尝试在 reddit 笑话 subreddit 中查找转发。


推荐阅读