在Python中获得文本和集合文本之间的相似性

时间:2019-04-24 10:32:37

标签: python string text twitter similarity

我正在为Twitter构建一个事件检测器,并且它受到垃圾邮件推文的极大影响,因此我计划使用文本相似性算法对推文进行一些过滤。

我考虑过的方法是拥有一组推文,我将在其中存储不同的推文。首先,我将清除tweet中的链接和提及,并检查我正在处理的tweet是否具有与集合中任何tweet大于阈值(例如0.7-0.8)的相似性值。如果是这样,我将继续迭代并忽略该推文。否则,我会将该推文添加到集合中并使用它。

我一直在阅读有关问题的不同答案,但它们仅适用于小型文本集,尽管这将至少与大约15.000条推文的数据集一起使用,所以算法将在每个推文和集合之间进行比较的推文数量为15.000次。

其他问题也有些陈旧,可能已经创建了新算法,或者可能出现了旧算法的更好实现。

总而言之,您认为解决该垃圾邮件问题的最佳方法是什么?是Python原生的还是extern的?

1 个答案:

答案 0 :(得分:2)

要找到相似性,可以使用tf-idf向量,然后计算它们之间的余弦相似性,但是要比较的向量很多,因此您可以对数据进行聚类并为每个聚类找到中心向量,因此,需要将您的新推文与中心向量(不是全部)进行比较。