博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于信息检索(IR)、搜索引擎的学与思
阅读量:4067 次
发布时间:2019-05-25

本文共 2656 字,大约阅读时间需要 8 分钟。


平台建设(工程、数据、算法)

面对大数据业务挑战,AI·OS至多能起到30%的作用,随后是算法解决30%+,其余的靠产品和机缘,只不过AI·OS的30%是个前提条件,AI·OS发展的核心线索是优化算法迭代效率

在这里插入图片描述

TPP推荐业务平台、RTP深度学习预测引擎、HA3搜索召回引擎、DII推荐召回引擎、iGraph图查询引擎

集群物理资源的调度任务:中台容器和隔离技术与搜索工程交汇之地,更是模型训练PAI-TF与实时计算Blink通过AOP成为体系友员的桥头堡。

大数据在线服务框架:

  • 索引存储(全文检索、图检索、深度学习模型)
  • 索引管理(全量、增量以及实时更新)
  • 服务管理(最终一致性、切流降级扩缩容等)

阿里搜索事业部

十年一剑,阿里推荐与搜索引擎平台AI·OS首次公开!

阿里巴巴搜索引擎平台Ha3

在这里插入图片描述

Ha3是搜索体系中的在线部分,在其系统内部,包含Qrs(Query result searcher)和Searcher两种基本的角色。

  • Qrs用于接收用户查询,将用户查询分发给Searcher,收集Searcher返回的结果作整合,最终返回给用户,这里的用户既指直接通过http请求查询引擎的自然人,也指Ha3的上游服务,如sp(搜索链路的Ha3上游服务)和tpp(推荐链路的Ha3上游服务)。
  • Searcher是搜索查询的执行者,倒排索引召回、统计、条件过滤、文档打分及排序及摘要生成的过程都是在Searcher上完成的。根据业务的需要,有时也会把摘要(Summary)单独分出来,搭建一套独立的摘要集群。

我们把索引数据的生成过程称作离线过程。Ha3的索引是通过搜索团队开发的Build Service系统生成的。

  • Build Service首先是一个独立的服务,通过运维系统对数据源产出的信号监控,这个独立服务产出全量和增量索引到hdfs上,通过dp分发给Ha3的Searcher。全量索引的产出周期通常是一天或数天,增量索引的周期通常是几十分钟。
  • Build Service也以lib的方式存在于Ha3当中,用于实时处理增量消息,直接将索引生成到Ha3 Searcher的内存当中,这样,Ha3的查询结果对数据时效性的保证能做到秒级。但这种方式也比较耗内存,随着实时消息的到来作线性增长,因此每次加载增量索引时,Ha3都会清理实时索引的内存。

阿里巴巴搜索引擎平台Ha3揭秘


电商搜索算法技术的演进

统计模型,机器学习 -> 离线在线与实时的深度学习与智能决策体系

搜索引擎:对数据的整理、分析、索引产生索引库,如何根据用户输入的关键词在索引倒排表中进行检索,完成商品与检索之间的相关度评价,对将要输出的结果进行排序,并实现某种用户相关性反馈机制

电商搜索独特性:

  • 从数据更新角度来看,淘宝的数据变化和更新非常快
  • 从搜索数据源来看,淘宝商品的图片在用户研究和购买过程中起到了很大作用
  • 全链路特性
  • 最后更重要的一点淘宝是一个生态系统。而搜索排序算法的设计不只是体现了搜索本身的技术追求,也包含了更多的商业诉求

搜索算法技术的迭代进步:

  • 检索时代:基于传统搜索引擎技术的相关性模型,保证用户查询词语商品标题的有效匹配;基于商品成交与否的销售人气模型,保证有助于被消费者接受的商品得到更多的展示机会
  • 大规模机器学习时代:点击预估模型、Learning to Rank方法
  • 大规模实时在线学习时代:支持在秒级别内对海量用户行为及其相关联的海量商品作实时分析处理,从中提取多维度的用户/商品数据特征,并采用分布式Parameter Server架构进行在线学习,从而使用户行为可以在几秒内影响搜索排序等在线服务
  • 深度学习与智能决策时代:语义搜索,搜索个性化和智能决策

在这里插入图片描述

在这里插入图片描述

阿里搜索事业部

电商搜索算法技术的演进


搜索引擎中的语义匹配技术

百度文本语义匹配框架SimNet

SimNet是百度自然语言处理部于2013年自主研发的语义匹配框架,该框架在百度各产品上广泛应用,主要包括BOW、CNN、RNN、MM-DNN等核心网络结构形式,同时基于该框架也集成了学术界主流的语义匹配模型,如MatchPyramid、MV-LSTM、K-NRM等模型。SimNet使用PaddleFluid和Tensorflow实现,可方便实现模型扩展。

按照文本语义匹配网络结构, 可将SimNet中实现的网络模型主要分为如下两类:

  • Representation-based Models

    如:BOW, CNN, RNN(LSTM, GRNN)
    特点:文本匹配任务的两端输入,分别进行表示,之后将表示进行融合计算相似度;

  • Interaction-based Models

    如:MatchPyramid, MV-LSTM, K-NRM, MM-DNN
    特点:在得到文本word级别的序列表示之后,根据两个序列表示计算相似度匹配矩阵,融合每个位置上的匹配信息给出最终相似度打分;


搜狗语义匹配

传统的信息检索算法:BM25 算法通过网页字段对查询字段的覆盖程度来计算两者间的匹配得分

深度语义匹配模型:DSSM(Deep Structured Semantic Model)、CDSSM(Convolutional DSSM)、K-NRM(Kernel based Neural Ranking Model)

  • DSSM 利用全连接神经网络把查询-网页标题信息抽象表示为高维向量,并利用特定的匹配算法计算查询和网页信息之间的相关性。
  • K-NRM 方法首先计算查询和网页标题之间的相似度矩阵,再利用特定的核函数对相似度矩阵进行分析变换,最终利用变换后的矩阵信息计算查询-网页的匹配得分。

最新应用于搜狗搜索的深度学习模型以及强化学习训练框架,分别是 IR-Transformer 和 IRGAN(Information Retrieval Generative Adversarial Network,信息检索生成对抗网络)。

  • IR-Transformer, 使用 multi-head attention 技术可以直接处理语句内字词间逻辑关系,该特点可以提高长句的语义分析的精确度。此外,使用 multi-head attention 的模型还具有更容易进行并行计算等优势
  • IRGAN 强化学习训练框架:采用该框架可以动态的提升训练数据的难度,从而提高训练效率以及预测精度

基于IR-transformer、IRGAN模型,解读搜狗语义匹配技术

你可能感兴趣的文章
java自定义容器排序的两种方法
查看>>
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>
AngularJS2中最基本的文件说明
查看>>
从头开始学习jsp(2)——jsp的基本语法
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
Solr及Spring-Data-Solr入门学习
查看>>
python_time模块
查看>>
python_configparser(解析ini)
查看>>
selenium学习资料
查看>>
<转>文档视图指针互获
查看>>
从mysql中 导出/导入表及数据
查看>>
HQL语句大全(转)
查看>>
几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
查看>>
javascript传参字符串 与引号的嵌套调用
查看>>
swiper插件的的使用
查看>>
layui插件的使用
查看>>
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>