Ken*_*edy 7 python java algorithm divide-and-conquer cosine-similarity
我需要计算列表中字符串之间的余弦相似度.例如,我有一个超过1000万个字符串的列表,每个字符串必须确定它自己与列表中的每个其他字符串之间的相似性.什么是我可以用来有效和快速完成这项任务的最佳算法?分而治之算法是否适用?
编辑
我想确定哪些字符串与给定字符串最相似,并且能够获得与相似性相关的度量/分数.我认为我想做的事情与群集相符合,群集的数量最初并不为人所知.
使用转置矩阵。这就是 Mahout 在 Hadoop 上所做的事情,以快速完成此类任务(或仅使用 Mahout)。
从本质上讲,以简单的方式计算余弦相似度是不好的。因为你最终会计算出很多 0 * 的东西。相反,您最好按列工作,并保留其中的所有 0。