gpt4 book ai didi

algorithm - 如何优化发现相似性?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:29:38 25 4
gpt4 key购买 nike

我有一组由浮点向量表示的 30 000 个文档。所有向量都有 100 个元素。我可以通过使用向量之间的余弦度量来比较两个文档来找到它们的相似性。问题是找到最相似的文档需要花费很多时间。有什么算法可以帮助我加快速度吗?

编辑

现在,我的代码只计算第一个向量和所有其他向量之间的余弦相似度。大约需要 3 秒。我想加快速度 ;) 算法不一定要准确,但应该给出与完整搜索相似的结果。

每个向量的元素之和等于1。

start = time.time()

first = allVectors[0]
for vec in allVectors[1:]:
cosine_measure(vec[1:], first[1:])

print str(time.time() - start)

最佳答案

locality sensitive hashing (LHS) 有帮助吗?在 LHS 的情况下,哈希函数以您选择的概率映射彼此靠近的相似项目。据称它特别适合高维相似性搜索/最近邻搜索/近重复检测,在我看来这正是您想要实现的目标。

另见 How to understand Locality Sensitive Hashing?

关于algorithm - 如何优化发现相似性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com