陈英傑:爱奇艺搜索排序模型迭代之路
导读:本次分享内容为爱奇艺在做视频搜索时,遇到的傑爱真实案例和具体问题;以及面对这些问题的时候,我们的奇艺解决方案 。这次分享的搜索ppt针对一线的开发人员,希望可以给一线的排序开发人员提供一些启示。
01
介绍
首先介绍一下我们支持的模型搜索入口,在我们app的迭代搜索框里 ,支持下图所示的陈英搜索方式 :图搜索 、台词搜索、傑爱语音搜索 。奇艺
今天分享的 ,其实还是排序一个更加通用的搜索方式,即文本查询。模型通过把用户输入的迭代文本做自然语言处理后进行的关键字查询 ,在此,陈英我们做了很多自然语言处理和语义的理解 。
在视频内容层面 ,最重要的是视频本身的描述信息 ,如标题 ,演职人员等信息。还有一个是内容的语义,我们当前并不是多模态特征去抽取,更多的是通过用户对该视频的观看行为,如搜索、浏览、评论 、弹幕等各种行为 ,由此产生的数学结构去抽取语义信息 。所以我们今天更关注在doc层和query层是如何做这些匹配的 。
在介绍具体的匹配过程之前 ,我们先了解一下一个通用的搜索系统的约束条件(下图所示):
- 精准匹配,用户搜什么词,展现什么内容 ,而且需要top结果排序;
- 内容生态 ,爱奇艺的视频搜索不仅仅是站内搜索引擎,而是全网的视频搜索引擎,所以我们会囊括所有中文的视频资源,包括我们没有版权的视频 ,我们希望打造的是 ,帮助用户链接到想要的资源,同时我们还支持文学 、漫画资源的搜索;
- 智能分发,搜索结果有不同的版权方,我们需要对原创结果进行激励 ,防止略币驱逐良币 ,载流量上给优质资源进行扶持;
- 冷启动问题,新视频相比于老视频在特征上相对弱势,我们需要给予冷启动空间 ,在此做一些探索和利用;
- 搜索多样性 ,防止靠前结果都是一样的 。
此外 ,我们发现 ,当用户在搜索产生的结果使得自身的的主需求得到满足的时候 ,可以激发用户一些其他的语义相关的结果。
在这样五个约束条件下,我们如何搭建全网的搜索引擎呢?下图即是我们的整体系统框架。
我们有大量视频资源,通过召回系统,即基于文本匹配的matching system ,得到候选集,经过粗排和精排,最后返回给用户 ,这是大体的流程图,其中最重要的是召回系统和排序系统 。
两个系统的重要模块很多,下图列举其中一些:包括改写纠错,基础召回 ,知识图谱召回 ,语义匹配召回;排序模块关注特征工程 ,学习模型的选择,模型融合与智能决策 。
在此我们将要展开的是我们是如何进行一步步迭代的 。
- 第一 , 召回策略的迭代,我们从基础相关性慢慢走到语义相关性的路径;
- 第二, 排序模型的尝试 。
--
02
召回策略迭代
1. 基础相关性
首先是基础相关性 ,搜索引擎处理流程图如下:
通过对用户的query进行切词,将右边的视频资源的文本描述信息构建构建倒排索引 ,此过程为精确匹配过程,词匹配则倒排索引拉回归并,然后返回用户 ,此过程较为经典,在传统的搜索引擎也是比较成熟的应用方式 。
这样一个流程里面 ,它解决的问题也比较通用 :
- 切词粒度 ,不同的词的粒度会影响你是否可以通过倒排索引召回内容;
- 词权重,一个query中,哪些词是重要的,哪些是不重要的 ,会影响你在相关性计算的时候的最终得分。
这其实是基础相关性中需要解决的问题,也是我们在1.0版本中 ,花了很多力气去解决的问题。需要注意的是,上面的问题并没有最优解,这是一个根据bad case不断做优化的过程 。
这里举个例子,如下图:
基础相关性解决不了的问题 ,我们归为四类 :词汇的同义多以问题 、语言表达差异、输入错误兼容、泛语义召回。
2. 语义相关性
在解决基础相关性遇到问题的时候,我们再来思考一下 ,在文本匹配上是怎么解决语义的问题 ,如下图所示:
左边是XX老师整理的五个层面 :词 、词组、词义、主题、结构 。在搜索场景下 :我们有天然的用户搜索之后的点击行为,基于点击行为,我们可以在不同层面做语义匹配 ,紫色框是我们要解决的问题所用到的技术 。
下图是机器翻译模型:
机器翻译是一个目前比较火热的领域,并且在深度学习出现之后 ,其准确率得到了飞跃性的提高。这是我们解决语义相关性的第一个手段。
- 翻译模型