深度学习在小米电商业务的应用实践
随着深度神经网络技术的不断进步,越来越多的基于深度学习的文本、图像表示和排序模型等方法,在电商领域被广泛采用,并产生卓越的效果。小米系的电商业务近些年取得突飞猛进的发展,用户规模和品类持续增加,传统的机器学习在特定领域已不再适用,本文详细介绍了小米大数据应用深度学习等技术,在小米有品的搜索、推荐和评价等场景的落地。
--精细化语义搜索--
不同于字面搜索,语义搜索的目的是精确理解用户查询意图,并按相关性和重要性两个维度,返回最符合预期的商品,所以电商场景的语义搜索,包含两个阶段,查询理解和排序模型。本节重点讲述查询理解的成分识别和排序模型的向量召回。
在电商搜索场景下,针对用户查询,搜索引擎首先要做的就是理解用户的查询需求,才能匹配到合适的商品。不同于用户在百度等通用搜索引擎输入的查询,电商搜索的查询会包含不同类型的成分,比如商品品牌、商品名、修饰词(工艺、材质、适用人群和季节等)。电商查询词成分识别的目的就是识别出包含的品牌词、商品词、修饰词等。
为了解决这个问题,最直接的做法是使用品牌字典、商品名字典、修饰词字典去进行规则匹配。这种做法前期可以快速解决特定场景,但存在很多问题:1)通过字典匹配,字典未包含的成分,难以识别;2)如果查询中一个词匹配到多个成分,涉及到同义消歧。所以我们尝试基于模型的方法,常用的经典模型包括HMM和CRF,以及深度学习方法Bi-LSTM等。具体是采用Bi-LSTM+CRF模型,相比于Bi-LSTM模型,引入了输出label的相互依赖关系;相比于HMM和CRF,引入了查询词上下文的相互依赖关系。在基于单字的Bi-LSTM+CRF方法中,为了引入语义信息,同时对单字做了向量化表示,模型结构如图Fig 1:
Fig 1. 基于Bi-LSTM+CRF的成分识别
其中,第一层是输入查询的每个中文单字,第二层是中文单字的向量表示,第三层是Bi-LSTM,第四层是Bi-LSTM的正反向拼接,最后一层是CRF,基于拼接向量进行成分识别和预测。
数据格式采用BIO,B-Brand表示品牌的开始字,I-Brand表示品牌的中间字,B-Good表示商品的开始字,I-Good表示商品的中间字,O表示不属于任何一个成分。成分识别的目的就是对查询的每个字预测B/I/O标签。实验中,我们共标注了10万条历史查询词。使用80%的数据训练,剩下20%测试,评估指标包含:1)查询整体的BIO标签正确率(Accuracy)(每个字的标签都正确,则正确,否则错误);2)每种成分的准确率(Precision)、召回率(Recall)和F1-score,离线模型训练的整体正确率(Accuracy)为85%+,每种成分的指标如表Tab 1。
Tab 1. 查询词成分识别效果
Component | Precision | Recall | F1 |
---|---|---|---|
品牌词 | 0.9113 | 0.8834 | 0.8974 |
产品词 | 0.8925 | 0.8639 | 0.8755 |
修饰词 | 0.8003 | 0.8079 | 0.8021 |
电商搜索场景下,查询成分识别可以应用在召回和排序阶段。召回阶段通过识别出具体成分,进一步判断查询的意图,比如:品牌类查询,还是品牌词+商品词的查询。从而在召回的时候使用不同的策略。排序阶段,对于品牌类查询,可以在排序阶段予以加权处理。
电商搜索任务中,怎么准确的召回候选商品一直是非常重要的问题。由于查询和商品之间的语义鸿沟,从纯文本角度进行召回,会漏掉字面不相似但语义相关的商品,导致欠召回,为了解决此类问题,一种方案是,对查询改写,标签化等,另一种方案是用深度模型把查询和商品向量化,发现隐空间中的语义相似性。随着近些年深度模型在文本嵌入和表示的应用,基于向量空间的语义匹配模型( DSSM)在搜索的任务上取得不错的效果,并有很多工作的扩展,我们借鉴了一些论文的想法,结合实际场景设计如下神经网络结构 Fig 2
Fig 2. 向量语义匹配召回DSSM架构
获取大规模的高质量训练数据,一直是深度模型比较重要的问题。我们通过对<query,product>对的CTR进行过滤,得到正负训练样本,并在负样本中去掉商品的搜索词命中查询的数据。
线上用的DeepLearning4j预测查询词的向量,用FAISS框架实时检索。线上实时点击率提升约1%,尤其对中长尾词的点击提升较大。后续会增加图片等多模态信息,网络结构上会尝试注意力(Attention)机制。
--首页个性化推荐--
电商推荐本质上需要完成从全量商品库高效检索相关的Top-K商品,由于候选商品数量过于庞大,现在的推荐系统一般分为两个阶段:召回排序和精准排序。对于召回阶段,面临着从全量商品库,高效召回商品的问题,由于存在系统性能问题,需要重点去解决两个关键阶段:1、怎么高效检索,即算的快。高效检索意味着需要设计合理的检索结构和检索策略,能够在一个系统可容纳的时间内来保证可以召回足够多的商品。2、整个召回的过程虽然算得快,但是不能算偏,还要把用户真正感兴趣的商品召回,就是所谓的算的准。
TDM(Tree-based Deep Match)是为大规模推荐系统设计的,能够承载任意先进模型来高效检索用户兴趣的推荐算法解决方案。TDM基于树结构,提出了一套对用户兴趣度量进行层次化建模与检索的方法,使得系统能直接利用深度学习模型在全量数据上检索用户兴趣。其基本原理是使用树结构对全量项目(item)进行索引,然后训练深度模型以支持树上的逐层检索,从而将大规模推荐中全量数据检索的复杂度由O(n)(n为所有项目的量级)下降至O(log n)。可以利用DIN(这里可以是任何先进的模型)承担用户兴趣判别器的角色,输入就是每层构造的正负样本,输出的是<用户,节点>对的兴趣度,将被用于检索过程作为寻找每层Top-K的评判指标。如图:在用户特征方面仅使用用户历史行为,并对历史行为根据其发生时间,进行了窗口划分。在节点特征方面,使用的是节点经过嵌入(Embedding)后的向量作为输入。此外,模型借助注意力机制(Attention),将用户行为中和本次判别相关的那部分筛选出来,以实现更精准的判别,模型结构图 Fig 3:
Fig 3. TDM模型架构图
线上对比baseline模型,item2vec和Youtube Net,均有非常显著的提升,详见Tab 2.
Tab 2. TDM模型线上对比
Method | Recall | CTR lift | CVR lift |
---|---|---|---|
Item2vec | 5.91% | - | - |
YoutubeNet | 7.13% | 11.01% | 3.43% |
TDM | 12.37% | 64.12% | 24.07% |
--评价标签和排序--
评论观点抽取的主要任务是从评论中将用户的观点抽取出来,汇集成简短有效的信息,体现核心维度和卖点信息,辅助用户快速筛选,指导购物行为。同时,这些信息反映出来的用户观点可以帮助商家进行产品优化、舆情分析,升级营销策略等。算法自动抽取的语义标签自动和商品关联,目前自动个抽取出的标签能够覆盖20+一级类目,150+三级类目,类目下商品标签覆盖率80%+。线上效果图 Fig 4:
Fig 4. 有品评价标签效果
评论观点抽取主要分为评论标签抽取和细粒度情感分析两部分
评论标签抽取指从用户评论中自动抽取语义标签,标签由一般由属性词+描述词或者描述词本身组成,所以需要从评论中抽取出属性词以及描述词,例如,“做工精细”中“做工”就是属性词,“精细”就是描述词。我们标注了约1.5w条评论数据,标注出了评论中的属性词、描述词以及标签的情感倾向(即正向、中性和负向)。
模型方面,我们使用了BERT+CRF的序列标注模型。BERT(Bidirectional Encoder Representation from Transformers) 是Google提出的基于变换器(Transformer)的深度双向编码文本表示模型,通过模型预训练+任务微调整的方式,在各项NLP基础任务中展现出了卓越的性能。我们在BERT的基础上增加了CRF层。 CRF是一种经典的概率图模型,CRF层可以自动学习到一些约束来确保最终预测结果有效性。
Tab 3. 标签抽取效果
Method | Precision | Recall | F1 |
---|---|---|---|
BERT-CRF | 0.9441 | 0.9455 | 0.9448 |
CRF | 0.8318 | 0.8339 | 0.8328 |
细粒度情感分类是识别语义标签的情感倾向,根据抽取出的标签以及评论的上下文判断当前标签的情感。电商标签往往很短,有些仅从标签本身很难区分其的情感。同时抽取出的标签在不同的评论内也可能存在情感歧义,例如,“希望商品价格便宜点”,抽取的标签是价格便宜,但是用户表达的价格贵。所以需要根据上下文以及标签本身综合判断。模型方面,我们利用BERT预训练语言模型得到评论文本的上下文表征,对BERT的结果使用注意力机制(Attention)加权,然后将组成标签的属性词以及描述词的首尾特征向量与注意力机制(Attention)后的结果连接在一起做分类,得到情感的概率得分。
Tab 4. 细粒度情感分类效果
Method | Precision | Recall | F1 |
---|---|---|---|
BERT-ATT | 0.9833 | 0.9921 | 0.9877 |
XGBoost | 0.9560 | 0.9601 | 0.9580 |
--总结及展望--
本文讲述了常见的深度学习模型在小米电商业务上的应用实践,分析了TDM,LSTM和BERT在电商搜索、推荐和评论的落地经验,TDM模型在召回排序阶段给出了较好的效果,搜索查询理解的成分识别中,Bi-LSTM+CRF优于传统的CRF模型,而BERT虽然在离线评论标签聚类中优于其他方法,但对在线部署的性能要求很高,后续我们会不断探索知识蒸馏等模型压缩和迁移方法,减小线上部署服务的代价。