作者 | Charlie Waldburger

译者 | 刘畅

责编 | 一一

出品 | AI科技大本营(id:rgznai100)

【导读】随着互联网的普及,搜索成为人们最常用的基本功能之一,但这背后的秘密是什么呢?近日,微软公司介绍了他们是其如何应对用户搜索习惯的改变,并开源了支撑 Bing 搜索背后的算法。

搜索需求的改变

以前的网页搜索功能十分简单,用户输入几个词,就会返回一系列相应的结果页面。如今,这些用户可能会用手机拍照并将其放入搜索框或使用智能助手来提问,并不需要亲自触摸设备。他们可能会直接输入一个问题,并期待一个对应的回复,而不仅仅是给出多个可能答案的网页列表。

搜索需求的改变对于以往基于索引系统,依赖关键字匹配给出搜索结果的传统搜索引擎是一个挑战。

“关键词搜索算法会在人们提出问题或拍照并询问搜索系统'这是什么?' 时失效”,微软 Bing 搜索和 AI 团队的项目经理 Rangan Majumder 说到。

当然,紧跟用户的搜索偏好并不是新鲜事,自从网络搜索功能出现以来,这一直是一场博弈。但现在,由于人工智能的发展,包括微软在人工智能方向取得进步,越来越容易满足这些不断变化的需求。

“人工智能正在使我们的产品更加符合人的思考习惯,”Majumder 说, “但在以前人们不得不思考,'当我使用计算机进行搜索时,如何输入才能得到自己想要的结果?'”

微软已经制作完成了最先进的人工智能工具之一,并已经在 GitHub 上开源,它还将通过微软的 AI 实验室发布这些工具的用户示例技术和介绍视频

链接

https://www.ailab.microsoft.com/vectorsearchexperiment)

这种被称为空间分治树与图(Space Partition Tree And Graph, SPTAG)的算法,允许用户利用深度学习模型来在毫秒内搜索数十亿条信息(或称矢量)。反过来,这意味着他们可以更快地向用户提供更匹配的结果。

矢量搜索相较于关键字搜索,可以更容易的按照内容得到搜索结果。例如,如果用户键入“巴黎铁塔有多高?”Bing 可以返回一个自然语言结果告诉用户艾菲尔铁塔是 1,063 英尺,即使“搜索查询”中没有出现“Eiffel”这个词,而“tall”这个词也不会出现在结果中。

微软将矢量搜索应用于 Bing 搜索引擎,该技术可以帮助 Bing 更好地理解数十亿网络搜索背后的意图,并在数十亿网页中找到最匹配的结果。

使用矢量进行更好的搜索

矢量的本质上是单词、图像像素或其他数据点的数字表示,它有助于捕获某条数据实际的意义。由于深度学习技术的进步,微软认为可以开始使用这些向量来理解和表示搜索意图。一旦将数据点分配给某条数据,就可以排列或映射这些向量,其中排列地靠前的数字表示相似性。这些近端结果会显示给用户,从而提升搜索结果。当公司工程师注意到用户搜索模式有异常趋势时,Bing 使用的矢量搜索背后的技术就会启动。

“在分析我们的日志时,团队发现搜索查询字符越来越长,”Majumder 说。这表明用户提出了更多问题,对于之前的搜索问题进行更多解释,对关键字搜索的体验不佳,或者在描述抽象事物时“试图像计算机一样思考”。这些对用户来说都是不自然和不方便的。

通过 Bing 搜索,矢量化工作已经扩展到搜索引擎中超过 1500 亿条数据,来提升传统关键字匹配算法的效果,主要包括单个单词、字符、网页代码段、完整查询和其他媒体信息。一旦用户进行搜索后,Bing 可以扫描索引向量并提供最佳的匹配结果。矢量分配使用深度学习技术进行训练,然后持续改进。模型会在搜索后考虑用户最终点击的输入,以便更好地理解搜索的含义。

微软专家表示,虽然矢量化媒体和搜索数据的想法并不新鲜,但最近才有可能在大规模搜索引擎(如 Bing)上使用它。“Bing 每天会处理数十亿个文档,现在的想法是我们可以将这些条目表示为向量,并在 1000 亿个以上的大规模索引中进行搜索,以便在 5 毫秒内找到最匹配结果。”微软 Bing 团队程序经理 Jeffrey Zhu 表示。

为了更直观的描述这一点,Majumder 详细解释道:一堆可以延伸到月球的 1500 亿张的名片中,眨眼之间,可在使用了 SPTAG 算法的 Bing 搜索里一个接一个地找到 10 张不同的名片。

搜索算法 SPTAG 及项目简介

该项目库假设使用向量来表示样本,并且可以使用 L2 距离或余弦距离来比较向量。为查询返回的向量是与查询向量具有最小 L2 距离或余弦距离的向量。

SPTAG 提供两种方法:kd-tree 和相关邻域图(SPTAG-KDT)与平衡 k-means 树和相关邻域图(SPTAG-BKT)。 SPTAG-KDT 在索引构建成本上更便宜,而 SPTAG-BKT 在高维数据中的搜索精度方面更好。

算法流程

SPTAG 的灵感来自 NGS 方法[WangL12]。 它包含两个基本模块:索引构建器和搜索器。 RNG 建立在 k 近邻图[WangWZTG12,WangWJLZZH14]上,用于提高连接度。平衡的 k 均值树是用于替换 kd 树,以避免在高维向量中,kd 树对距离估计不准确带来的束缚。搜索首先在空间分治树中搜索,以找到可以在 RNG 中开始搜索的若干种子数,然后迭代地在树和图中进行搜索。

强调

最新更新:支持在线矢量删除和插入

分布式服务:在多台计算机上搜索

构建

  • 环境配置

  • 安装

它将在代码目录中生成一个 Release 文件夹,其中包含所有构建目标。

它将在构建目录中生成 SPTAGLib.sln。 在 Visual Studio(至少 2015 年版本)中编译ALL_BUILD 项目将生成一个包含所有构建目标的 Release 目录。

验证

运行 Release 文件夹中的 test(或 Test.exe)以验证所有测试。

未来

将矢量用于视觉、音频搜索

Bing 团队表示,他们希望开源产品以用于企业或面向消费者的应用程序,从而识别基于音频片段的语言或者用于图像繁多的服务,例如让人们拍摄鲜花等照片的应用程序,然后确定它是什么类型的花。对于这类应用,缓慢或不相关的搜索体验容易失去用户。

“甚至需要几秒钟的搜索都会使应用程序无法使用,”Majumder 指出。该团队还希望研究人员和学者能够利用它来探索其他领域的搜索突破。“我们才开始在这个深度上探索矢量搜索的真正可能性”。

原文地址:

https://blogs.microsoft.com/ai/bing-vector-search/

https://github.com/microsoft/SPTAG

学习 Python 的最佳方式

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

【END】

【END】

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)

戳他了解更多↓↓↓

 热 文 推 荐 

☞ 比 Java 更具争议的 PHP,处处留坑?

☞微软将取缔 8 亿 Windows 10 用户的密码!

☞ To B 赛道上,“飞奔的大象”阿里会赢吗?

☞厉害!女学生偷师男子学校,变身区块链开发工程师

☞“我月入 3 万,每天都只想跳槽”

☞深扒! 币安被盗的7074.18枚比特币去哪了?

☞如何使用「番茄法」高效的写算法题?

☞面对互联网一线大厂,这些技术你需要了解!

☞刺激!华为程序员年薪200万 ?真相让人心酸!

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢

千亿级照片,毫秒间匹配最佳结果,微软开源 Bing 搜索背后的关键算法相关推荐

  1. 千亿级照片,毫秒间匹配最佳结果,微软开源Bing搜索背后的关键算法

    [导读]随着互联网的普及,搜索成为人们最常用的基本功能之一,但这背后的秘密是什么呢?近日,微软公司介绍了他们是其如何应对用户搜索习惯的改变,并开源了支撑 Bing 搜索背后的算法. 作者 | Char ...

  2. 千亿级照片,毫秒间匹配最佳结果,微软开源 Bing 搜索背后的关键算法!

    随着互联网的普及,搜索成为人们最常用的基本功能之一,但这背后的秘密是什么呢?近日,微软公司介绍了他们是其如何应对用户搜索习惯的改变,并开源了支撑 Bing 搜索背后的算法. 作者 | Charlie ...

  3. kafka集群为什么需要三个节点_每天处理千亿级日志量,Kafka是如何做到的?

    之前为大家分享了不少 Kafka 原理解析类的干货,今天咱们一起来看看 360 基于 Kafka 千亿级数据量的深度实践! 图片来自 Pexels 本文主要围绕如下内容分享: 消息队列选型 Kafka ...

  4. 牛年伊始,鹏欣携手MTC,打造中国千亿级肉牛产业航母

    3月16日,上海鹏欣(集团)有限公司(以下简称"鹏欣")与麦汇信息科技有限公司(以下简称"MTC")携手举办的鹏欣云南肉牛产业SAP项目启动大会在昆明总部金家大 ...

  5. SkyWalking优化-打造千亿储能、毫秒查询的链路追踪系统

    目录 1.开篇 2.为什么需要全链路监控 3.为什么选择Skywalking 4.预研阶段 4.1 架构和原理 4.2 副作用 5.POC阶段 5.1 对接发布系统 5.2 完善插件补全链路 5.3压 ...

  6. Kylin 在满帮集团千亿级用户访问行为分析中的应用

    2019 年 7 月 12 日,国内首届以 Apache Kylin 为主题的大数据领域的前沿盛会 Kylin Data Summit 在上海落幕.在本次大会的制造业分论坛上,来自满帮集团的陈雅婕的分 ...

  7. 千亿级数量下日志分析系统的技术架构选型

     
 随着数据已经逐步成为一个公司宝贵的财富,大数据团队在公司往往会承担更加重要的角色.大数据团队往往要承担数据平台维护.数据产品开发.从数据产品中挖掘业务价值等重要的职责.所以对于很多大数据工程师 ...

  8. 千亿级服务器监控数据存储实践

    千亿级服务器监控数据存储实践 背景 近几年开源的大数据处理系统已经逐步发展到一个比较成熟的阶段了,各类大数据处理的场景都有了相应的解决方案,如同 mysql 在当今互联网公司中的关系数据存储广泛应用地 ...

  9. 小龙虾消费大数据:规模千亿级 带动500多万就业

    爬过风口,千亿级小龙虾经济常态化 小龙虾以其自身特点满足了食客饮食.社交.娱乐等各方面需求,市场广阔:产业经营模式的多元化趋势明显,业态逐渐丰富:再加之政府产业政策的大力扶持和资本的涌入,产业为餐饮经 ...

最新文章

  1. MySQL 学习笔记(2)— 通配符/正则表达/运算符
  2. 2018机器阅读理解竞赛冠军分享:问答系统新思路
  3. 科技竞赛:阿广带大家免费使用GPU打比赛,普通人也有机会拿奖金!
  4. 系统中多种隐藏超级用户添加方法第1/2页
  5. HDU - 1757 A Simple Math Problem(矩阵快速幂,水题)
  6. viterbi算法_序列比对(十四)——viterbi算法和后验解码的比较
  7. 基于Lua插件化的Pcap流量监听代理
  8. 关于USB3.0的U盘正确用法
  9. 麦吉尔大学的数学与计算机科学,麦吉尔大学数学与计算机科学本科.pdf
  10. 解决fatal: could not get a repository handle
  11. 桥接路由器总是掉线_tp路由器桥接老掉线怎么办
  12. kali2021安装GVM(openVAS)
  13. 【c++从菜鸡到王者】第六篇:详解晦涩难懂的c++语法
  14. html emsp ensp nbsp; thinsp;空格到底怎么占用像素的
  15. 强强联手:诚迈科技携手研华共同发起嵌入式Linux和Android联盟
  16. 蜜拓蜜 实体微商缔造者
  17. python的imaplib实现搜索邮件
  18. pyqt5打包成exe可执行文件
  19. 【区块链技术与应用】(八)
  20. lodop打印控件工作使用总结

热门文章

  1. 提高抗打击能力_“玻璃娃娃”不可取,抗打击能力培养很重要,父母别忽视
  2. Keras Datasets 国内下载镜像
  3. python关键词对联_keras基于CNN和序列标注的对联机器人
  4. python提高——类(私有化,封装、继承、多态)
  5. Unity实现爆炸的伤害值计算
  6. 数字式轮胎气压计行业调研报告 - 市场现状分析与发展前景预测
  7. 2021年中国宠物牙膏市场趋势报告、技术动态创新及2027年市场预测
  8. 操作需要计算机管理员权限,win10系统操作文件时提示需要管理员权限的处理教程...
  9. 做游戏,学编程(C语言) 5 数组之生命游戏
  10. a pycharm 标记多个_轻松学透Markdown的终极教程 #3:Markdown标准标记语法(全)