阿里云峰会 | 统一召回引擎在搜索场景的应用实践

简介:淘宝每次的搜索行为在后端都会有大量的数据计算和处理才会召回符合用户需求的搜索结果,当面对的业务越来越多如何在工程体系上不断演化满足不同业务的需求?特邀阿里巴巴技术专家介绍统一召回引擎,带你了解如何应对~

特邀嘉宾:

项昭贵(项公)-阿里巴巴高级技术专家

视频地址: https://summit.aliyun.com/2021/session/689

AI Online Serving工程体系

阿里自研的整套搜索工程体系-AI Online Serving体系,目前支撑起海内外阿里电商全部的搜索、推荐、广告业务,时刻置身大数据主战场,引导成交占据集团电商大盘主体;此外,作为中台技术中坚,AI·OS已是包括电商、阿里云、优酷、菜鸟、盒马、钉钉等等在内全集团的基础设施,更为重要的是AI·OS体系的云产品(开放搜索和智能推荐)矩阵通过阿里云服务于全球开发者,在稳定性和工程效率上都是行业领先水平。

统一召回引擎

统一引擎架构及演化过程

左图是搜索引擎HA3和推荐引擎BE的不同执行流程,我们将各引擎功能抽象成算子,把基础功能形成公共算子库,用户可以直接复用和根据业务需求开发,形成右图的Suez框架。

统一召回引擎的特点

1.查询流程DAG化

  • 与深度学习执行引擎统一
  • 搜索功能抽象成算子
  • 统一算子库,支持算子粒度的复用和开发

2.多种查询表达方式

  • SQL
  • TuringSDK

等.....

可以灵活定制执行流程,加速业务迭代速度

统一召回引擎的应用实践

召回引擎面临的挑战

既要,又要,还要

  1. 数据膨胀:文档数据,算法数据
  2. 深度学习的应用:召回,粗排,精排
  3. 稳定高效:高可用,时效性,低延迟

传统解决方案及问题

数据规模膨胀体现在数据维度越来越多。例如电商搜索领域以前只考虑商家、商品两个维度,现在还需要考虑物流、位置等维度。传统引擎处理把这些数据在离线处理join成一张大宽表推给在线做索引构建和查询服务,这会有个问题,很可能出现一个辅表数据更新导致大量的主表数据更新,从而出现写数据扩大的问题,对在线服务的时效性有很大的挑战,在一些场景上很难得到满足,尤其大促场景很难满足要求低延迟高时效的需求

传统解决方案:

将数据按一定维度拆分通过多个引擎实例去提供服务,由业务方来将一次查询拆分成多个请求访问多个引擎,实现搜索结果。

存在的问题:

  1. 出现大量数据的序列化;
  2. 数据可能会有截断,导致效果受损;

例如外卖平台搜索,发现想搜索的店铺因为配送时间或距离原因没有match上,导致意图搜索菜单没有体现,用户体验不佳;

数据规模膨胀另一个体现是数据量变大,数据量变大导致单个搜索加载提供查询的时间变多。

传统解决方案:

一个是将索引进行扩裂,可能带来请求的拆分和结果的合并,随着个数越来越多,耗时越来越大,逐渐成为技术瓶颈。另一个是当搜索个数多时,整个集群的稳定性和可用性受到损害,对用户而言存在查询结果不稳定情况。

统一召回引擎解决方案

  1. 引擎支持多张表
  • 通过一个引擎里面在线同时加载多张表,每张表的索引构建、更新、切换、加载都是独立的;
  • 查询时通过在线多表join方式,可以在一次查询时拿到全局的信息,包括店铺信息,商品信息都能得到充分运用,匹配最符合用户需求的召回结果;
  1. 采用SQL表达查询流程
  • 开发者使用简单
  • 复用SQL生态基础功能

3.并行查询,降低延迟的利器

把索引数据按一定维度切分,在处理用户的查询请求时可以根据不同的切分并行的查询,从而降低整个查询的延迟,也避免了通过扩裂的方式带来的问题。

4.向量召回,深度学习在召回阶段应用

在信息丰富的今天,我们的查询引擎光靠文本查询很难满足业务的需求

  • 采用达摩院自研的向量检索内核-Proxima,具有超大规模数据向量索引的构建,提供高性能的在线向量检索能力;
  • 在原来文本召回基础上,增加向量召回,可以实现对文档召回率和准确率的兼顾,同时可以在每一路排序里面进行较好的灵活配置,取得好的搜索效果

统一召回引擎在推荐场景的应用

打造个性化推荐效果的召回引擎

统一召回引擎的云上实践

阿里云开放搜索

开放搜索(OpenSearch)是基于阿里巴巴自主研发的大规模分布式搜索引擎搭建的一站式智能搜索业务开发平台,通过内置各行业的查询语义理解、机器学习排序算法等能力,提供充分开放的引擎能力,助力开发者快速搭建更高性能、更高搜索基线效果的智能搜索服务。

开放搜索在电商行业应用

  • 电商行业搜索产品化落地,用户无需各方向技术探索,只需按模板接入即可拥有更优搜索服务;
  • 内置更高质量算法模型,免去大量的数据标注与模型训练工作,直接内置淘系搜索算法能力;
  • 支持个性化搜索与服务能力,通过引擎侧的多路召回能力,实现搜索结果、下拉提示、底纹词等重要服务;
  • 支持用户自行训练的NLP模型导入开放搜索,灵活满足业务开发者需求;
  • 阿里巴巴自研引擎系统,处理海量数据、高并发、海量用户请求,性能优于开源方案;
  • 根据电商行变化,不断迭代更新原有能力,提供更高时效性的服务保障;

开放搜索在教育搜题场景应用

  • 支持文本索引、图片向量索引、公式索引多路召回结果,降低文本搜题、拍照搜题场景的无结果;
  • 教育查询分析全套能力,解决准确率较低问题,可定制排序脚本,深度优化召回结果排序效果;
  • 用户灵活配置的向量+文本召回,快速提升搜索系统效果;
  • 排序插件开发-Cava语言 ,更强的定制能力,更易于维护,轻松实现业务排序需求;
  • 按量付费,即时生效,保障高峰期搜索稳定同时,不需要提前购买大量资源,无成本负担;
  • 支持千亿体量数据搜索的毫秒级响应,实时数据更新秒级可见;

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

你可能感兴趣的:(阿里云峰会 | 统一召回引擎在搜索场景的应用实践)