孤惯|微软 Bing 搜索核心技术 BitFunnel 原理揭秘( 五 )


处理错误率最后我们来聊聊如何处理错误率 , 传统上我们为了降低匹配错误率大幅度地提高了存储代价 。 这样做真的有意义么?实际上我们网页搜索的目标并不是获取与关键词真的都完全匹配的网页 , 而是获取到内容最相符合的网页 。 必应有一个Ranking Oracle系统 , 能够计算一个查询和文档之间的符合分数来衡量文档与用户目标的价值 。 这个系统考虑了上千种信号进行处理 , 甚至其中一些都不知道它是怎么起作用的 , 因为这是基于机器学习在高维空间中学习所获取的结果 , 同时也非常运行的代价也相当高 。
孤惯|微软 Bing 搜索核心技术 BitFunnel 原理揭秘假设我们有无限的查询时间和查询物料传送给Ranking Oracle , 让它返回十项最相关的文档资料 , 这将怎么处理?幸运的是 , 我们有很好的解决方案 。 Bellevue Washington有一个大厦里面有上千名的工程师 , 他们的主要工作就是避免网络传来相同的文档 , 主要策略的技术是通过过滤那些不能匹配布隆过滤器的文件 。
孤惯|微软 Bing 搜索核心技术 BitFunnel 原理揭秘在BitFunnel发明之前 , 主要采用反向索引 。 采用了BitFunnel之后运行的速度更快 ,但也同样会生成错误样本传递Ranking Oracle , BitFunnel之所以胜出在于能够将错误样本变少的同时保证时间效率 。
孤惯|微软 Bing 搜索核心技术 BitFunnel 原理揭秘对比
孤惯|微软 Bing 搜索核心技术 BitFunnel 原理揭秘
孤惯|微软 Bing 搜索核心技术 BitFunnel 原理揭秘可以看出:BitFunnel的优势在于速度和DQ低 , 但是有一定的错误率 。
最后 , 是Bing使用BitFunnel后的效果图:
孤惯|微软 Bing 搜索核心技术 BitFunnel 原理揭秘希望各位技术牛人能够从这Bing搜索BitFunnel技术实现文章中收获并运用到实际工作中 。
参考附录:
[1] BitFunnel: Revisiting Signatures for Search , Bob Goodwin , Michael Hopcroft , Dan Luu , SIGIR 2017
[2] An Experimental Study of Bitmap Compression vs. Inverted List Compression, Wang, Jianguo and Lin, Chunbin and Papakonstantinou, Yannis and Swanson, Steven, SIGMOD 2017
[3] Weighted bloom filter. Jehoshua Bruck, Jie Gao, and Anxiao Jiang. In 2006 IEEE International Symposium on Information theory. IEEE.
[4] BitFunnel官方博客:


推荐阅读