《 Scaling Up All Pairs Similarity Search》
来源:互联网 发布:江苏昆山华道数据 编辑:程序博客网 时间:2024/05/19 18:39
ScalingUp All Pairs Similarity Search
扩展所有pair的相似性搜索。
摘要:
给定一个高维稀疏向量集合,我们研究找出所有pair的相似性分数(例如定义为余弦分数)的问题,并在这些pair高于给定阈值。我们提出一个简单算法:基于一种新颖的索引和优化策略,不需要近似算法和参数调优来解决这个问题。我们展示这种方法能够有效的处理多种数据集合,通过广泛调整相似性分数,并且对之前最好的方法都能得到更快的速度。
介绍:
需要计算相似性的地方。
互联网搜索的关键词提炼:可以用于相似query的发现、关键词推荐。目的是得到高质量的推荐,我们只需要计算所有querypair的相似性分数。
协调过滤:
需要计算相似用户的相关性。
重复网页的检测和去除:
对于文档索引非常重要。
共同引用检测:
用于点击作弊的识别。
这些都不是新的应用,但是目前由于web的规模很大,因此大量的应用都要计算上千万的query,上千万的用户的相关性分数。
(从以上几点可以看出,作者对搜索引擎相关应用了解比较多,作者是google工作阶段完成的论文)
一个算法是使用近似算法。(按:我们经常使用一些方法只计算部分query直接的相关性,而不是计算一个query和其他所有n个query之间的相关性)。
即使在理论上,很多近似算法通过调整参数得到一个很小的错误率,但是在实际算法应用中,可能会造成较大的错误。最近数据库社区的工作发现所有相似性的pairs已经被替换为精确的解决问题,以及在数据库管理系统的环境中。我们提出一个精确的解决方法。我们证明一个吝啬的并结合一些细微并且简单的优化可以带来性能上巨大的提升。
问题定义:
Given a set of real-valued vectors V={v1,v2…vn}of fixed dimensionality m, a similarity function sim(x,y), and a similaritythreshold t, we wish to compute the set of all pairs(x,y) and theirsimilarity values sim(x,y) such that x,y∈V and sim(x,y)≥t.We assume the similarity function iscommutative. Thus, if the pair (x,y) meetsthe threshold, so does (y,x), and we need only include one in the result. Wealso assume vector values are non-negative.
对向量先归一化,那么向量距离只需要算两个向量内积,不需要分母。
针对特征维度:对特征维度的数据做倒排。
- 《 Scaling Up All Pairs Similarity Search》
- Scaling Up And Out
- M-Tree for Similarity Search
- CruiseControl Enterprise 最佳实践 (6) : Scaling up
- interviewstreet-pairs --类别search
- similarity search on complex data : the direction
- 【Similarity Search】Multi-Probe LSH算法深入
- Adaptive Hashing for Fast Similarity Search
- Set-based Similarity Search for Time Series
- KDD 2011的关于Scaling Up Machine Learning的Tutorial
- Scaling up Machine Learning.pdf 英文原版 免费下载
- CDirectoryChangeWatcher - ReadDirectoryChangesW all wrapped up
- All washed up 彻底完蛋
- i'm all geared up
- CDirectoryChangeWatcher - ReadDirectoryChangesW all wrapped up
- SLOW(FASTER)-ALL-PAIRS-SHORTEST-PATHS
- NeMa: fast graph search with label similarity-VLDB2013
- Semantic SPARQL Similarity Search Over RDF Knowledge Graphs -VLDB2016
- 游戏开发笔记之八——基础动画显示(二)游戏循环的使用
- 取球游戏--第三届蓝桥杯预赛真题 c++本科组 第10题(我用java做的)
- 一日一点RakNet(50)--Router2
- 在二元树中找出和为某一值的所有路径
- 游戏开发笔记之九 游戏地图制作(一)平面地图贴图
- 《 Scaling Up All Pairs Similarity Search》
- 单例的实现种类
- 面向对象的六大设计原则
- 调用操作符和函数对象
- poj1008
- 生活如此颓废。。。
- 游戏开发笔记之十 基础动画显示(三) 透明动画的实现
- MD百度博客太烂了,转移过来!
- 既然有了MAC地址标识唯一主机,为什么还要发明IP地址