小米移动搜索中的AI技术( 二 )


小米移动搜索中的AI技术

文章插图
 
获取 DSSM 模型处理的结果后,进行模型融合,利用好两种模型的优势 。
人工标注样本的优点是精度高,交叉标注可以使得准确率达到90%以上 。从用户行为中收集的样本,样本精度大约只有70%,优势是数据量大长尾覆盖度好,能将 query 与 document 的语义结果放在同一个向量空间 。以下是两种方式比较具体结果:
小米移动搜索中的AI技术

文章插图
 
三、意图识别与词权重
首先看下意图识别的例子,根据输入来识别出不同的意图:
小米移动搜索中的AI技术

文章插图
 
输入是 " 男士用洗面奶洗脸的正确方法 ",在识别出意图后,放到 " jingyan " 、 " zhidao " 等垂类索引中去搜索,能够提升性能并为后续的排序等流程提供信息 。
这个项目早期解决的方法是词典+规则的方式,这种方法是精度高、依赖人工挖掘,覆盖度有限,规则之间可能冲突,维护成本高 。后来改进为在词典+规则的基础上,使用LR 和 DNN 两个模型计算意图分数 。
使用 FTRL 优化的 LR 模型做意图识别能获得在线学习的方法的好处,是因为意图是动态变化的过程,这使得线上模型能够快速的更新 。这里将意图识别建模分为多个二分类问题;构建的特征有 N-Gram 、长度特征、首位位置特征等;单类别的样本量在千万级别 。此外还使用了 DNN 模型做意图识别,把多类别的样本放到 DNN 模型中,需要数量保持一定程度的均衡 。
在对 query 进行分词后,还需要计算分词结果的词权重,最容易想到的方法是 IDF,这种方法比较简单应用在工业级系统中效果不够理想 。因为一个句子具有整体含义,是一个上下文相关的问题 。传统的方法是使用 CRF 模型来进行计算,目前 SOTA 的方法是用 BiLSTM+CRF 的方法 。
小米移动搜索中的AI技术

文章插图
 
四、点击模型排序
用户的浏览和点击等行为数据除了计算相关性还可以用来改善排序的效果 。
移动搜索业务与传统的网页搜索有一个明显的区别,传统的网页搜索结果,不同的网页之间有类似的结构,移动搜索排序面临的一个挑战是异构结果 。比如搜索结果中其字段表述的含义跟视频跟应用是不同的,视频里面分级、主演,应用是有哪家厂商发布/应用类型,这些信息在不同结果之间是对不齐的,网页搜索场景中的排序一般是同构结果排序 。业务中采用了点击模型进行异构结果的排序 。下面介绍几种点击模型: PBM 、Cascade Model 、DBN。
小米移动搜索中的AI技术

文章插图
 
4.1 点击模型—PBM
小米移动搜索中的AI技术

文章插图
 
PBM 是一个比较简单的基于位置模型,即结果与用户看的概率、实际看的概率来决定 。
4.2 点击模型-CM
假设用户看结果是带有顺序的状态,过程如下:
小米移动搜索中的AI技术

文章插图
 
4.3 点击模型-DBN
使用 DBN 的假设包括,第一点是用户点过,并不代表对结果完全满意,即这是概率事件 。另外一个假设是给出的所有结果中,并不一定有用户满意的结果,用户可能都不太感兴趣而放弃搜索 。DBN 的训练过程中用到了 EM 算法 。
小米移动搜索中的AI技术

文章插图
 
我们使用了多模型组合并对模型针对移动搜索场景做了额外的优化 。模型中考虑是否有图以及结果的大小等带来的 bias。
例如下图的 query = " 赵薇老公 ",改进效果对比:
小米移动搜索中的AI技术

文章插图
 
五、总结
搜索推荐的整体架构:
小米移动搜索中的AI技术

文章插图
 
作者:宫士敏,小米大数据部算法团队 Leader,带领团队构建了小米移动搜索算法体系 。研究领域主要包括搜索引擎、机器学习、推荐系统等 。对搜索中的相关性计算、排序、NLP 等相关技术有深刻理解,并对深度学习在搜索推荐领域应用有丰富的实践经验 。毕业于中科院计算所,之前在搜狗搜索负责网页搜索算法相关工作 。


推荐阅读