查看原文
其他

微软开源Bing搜索背后的关键算法

xplanet 开源中国 2019-10-31

微软今天宣布开源了一项 Bing 搜索背后的关键算法 —— SPTAG,它使 Bing 能够快速将搜索结果返回给用户。

仅在几年前,网络搜索很简单,用户输入几个关键词然后浏览结果页面。现如今,这些用户可能会在手机上拍照并将其放入搜索框中,或使用智能助手提问,而无需亲自触摸设备。他们也可能会输入一个问题并期待一个实际的答复,而不是一个可能答案的页面列表。

SPTAG (Space Partition Tree And Graph,空间划分树和图)是分布式近似最近邻域搜索(ANN)库的核心,为大规模矢量搜索场景提供高质量矢量索引构建、搜索和分布式在线服务工具包。

利用 SPTAG 算法作为开源 Python 库的核心,Bing 能够在几毫秒内搜索数十亿条信息

当然,矢量搜索本身并不是一个新想法,但微软所做的是将这一概念应用于深度学习模型

首先,团队采用预先训练的模型并将数据编码到矢量中,其中每个矢量代表一个字或像素。然后使用新的 SPTAG 库生成向量索引。随着查询的进入,深度学习模型将该文本或图像转换为向量,该库紧接着就能在索引中找到最相关的向量。

微软表示,SPTAG 库迄今已对超过 1500 亿条数据进行了编目,包括单个单词、字符、网页代码段和完整查询。

“Bing 每天处理数十亿个文档,现在的想法是将这些条目表示为向量,并搜索这个 1000 亿以上向量的巨大索引,以便在 5 毫秒内找到最相关的结果”。

通过将矢量搜索应用到深度学习模型,微软让 Bing 搜索引擎能更快地向用户提供更相关的结果。

例如在 Bing 上搜索“巴黎的塔楼有多高?”,搜索引擎会告诉你埃菲尔铁塔高 324 米(1063 英尺),尽管在搜索关键词中并没有出现“埃菲尔”(Eiffel)这个单词。

Bing 团队期望开源 SPTAG 可用于构建可识别基于音频片段所说语言的应用,或用于让用户拍摄植物照片并识别属和物种的服务。

该库现已开放使用,并提供构建和搜索这些分布式矢量索引的所有工具。

码云极速下载地址
https://gitee.com/mirrors/sptag

开源中国征稿啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 200 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿


推荐阅读

微软爱开源有多深?

PHP 早已不是十年前的鸟样

微软全都要!Win10 引入真 Linux 内核

Flutter 也全都要,宣布支持多平台

除了async速度翻10倍,2019年JS还会带来什么?

开源让世界更美好↓↓↓

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存