作者电商算法

深度学习在小米电商业务的应用实践

小米大数据联合小米有品、小米商城、AI实验室和云平台,携手赋能小米电商业务

深度学习小米电商业务的应用实践

随着深度神经网络技术的不断进步,越来越多的基于深度学习的文本、图像表示和排序模型等方法,在电商领域被广泛采用,并产生卓越的效果。小米系的电商业务近些年取得突飞猛进的发展,用户规模和品类持续增加,传统的机器学习在已特定领域不再适用,本文详细介绍了小米大数据部应用深度学习等技术,在小米有品的搜索、推荐和评价等场景的落地。

--精细化语义搜索--

不同于字面搜索,语义搜索的目的是精确理解用户查询意图,并按相关性和重要性两个维度,返回最符合预期的商品,所以电商场景的语义搜索,包含两个阶段,查询理解和排序模型。本节重点讲述查询理解的成分识别和排序模型的向量召回。

在电商搜索场景下,针对用户查询,搜索引擎首先要做的就是理解用户的查询需求,才能匹配到合适的商品。不同于用户在百度等通用搜索引擎输入的查询,电商搜索的查询会包含不同类型的成分,比如商品品牌、商品名、修饰词(工艺、材质、适用人群和季节等)。电商查询词成分识别的目的就是识别出包含的品牌词、商品词、修饰词等。

为了解决这个问题,最直接的做法是使用品牌字典、商品名字典、修饰词字典去进行规则匹配。这种做法前期可以快速解决特定场景,但存在很多问题: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. 查询词成分识别效果

ComponentPrecisionRecallF1

品牌词

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模型线上对比

MethodRecallCTR liftCVR 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. 标签抽取效果

MethodPrecisionRecallF1

BERT-CRF

0.9441

0.9455

0.9448

CRF

0.8318

0.8339

0.8328

细粒度情感分类是识别语义标签的情感倾向,根据抽取出的标签以及评论的上下文判断当前标签的情感。电商标签往往很短,有些仅从标签本身很难区分其的情感。同时抽取出的标签在不同的评论内也可能存在情感歧义,例如,“希望商品价格便宜点”,抽取的标签是价格便宜,但是用户表达的价格贵。所以需要根据上下文以及标签本身综合判断。模型方面,我们利用BERT预训练语言模型得到评论文本的上下文表征,对BERT的结果使用注意力机制(Attention)加权,然后将组成标签的属性词以及描述词的首尾特征向量与注意力机制(Attention)后的结果连接在一起做分类,得到情感的概率得分。

Tab 4. 细粒度情感分类效果

MethodPrecisionRecallF1

BERT-ATT

0.9833

0.9921

0.9877

XGBoost

0.9560

0.9601

0.9580

--总结及展望--

本文讲述了常见的深度学习模型在小米电商业务上的应用实践,分析了TDM,LSTM和BERT在电商搜索、推荐和评论的落地经验,TDM模型在召回排序阶段给出了较好的效果,搜索查询理解的成分识别中,Bi-LSTM+CRF优于传统的CRF模型,而BERT虽然在离线评论标签聚类中优于其他方法,但对在线部署的性能要求很高,后续我们会不断探索知识蒸馏等模型压缩和迁移方法,减小线上部署服务的代价。

小米大数据
小米大数据

小米大数据,是一支以「融汇公司全景数据,通过数据驱动,AI 赋能公司核心业务」为使命的研发技术团队,目前已经对 MIUI、游戏、电商、信息流、金融和小爱等提供平台化、组件化支持

理论大数据小米BERTLSTM深度学习
13
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

查询理解技术

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

知识蒸馏技术

Hinton 的工作引入了知识蒸馏压缩框架,即通过遵循“学生-教师”的范式减少深度网络的训练量,这种“学生-教师”的范式,即通过软化“教师”的输出而惩罚“学生”。为了完成这一点,学生学要训练以预测教师的输出,即真实的分类标签。这种方法十分简单,但它同样在各种图像分类任务中表现出较好的结果。

XGBoost技术

XGBoost是一个开源软件库,为C ++,Java,Python,R,和Julia提供了渐变增强框架。 它适用于Linux,Windows,MacOS。从项目描述来看,它旨在提供一个“可扩展,便携式和分布式的梯度提升(GBM,GBRT,GBDT)库”。 除了在一台机器上运行,它还支持分布式处理框架Apache Hadoop,Apache Spark和Apache Flink。 由于它是许多机器学习大赛中获胜团队的首选算法,因此它已经赢得了很多人的关注。

概率图模型技术

在概率论和统计学中,概率图模型(probabilistic graphical model,PGM) ,简称图模型(graphical model,GM),是指一种用图结构来描述多元随机 变量之间条件独立关系的概率模型

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

百度机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

https://www.baidu.com/
聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

小米机构

小米公司正式成立于2010年4月,是一家专注于智能手机自主研发的移动互联网公司,定位于高性能发烧手机。小米手机、MIUI、米聊是小米公司旗下三大核心业务。“为发烧而生”是小米的产品理念。小米公司首创了用互联网模式开发手机操作系统、发烧友参与开发改进的模式。2018年7月,工业和信息化部向与中国联合网络通信集团有限公司首批签约的15家企业发放了经营许可证,批准其经营移动通信转售业务,其中包括:小米科技有限责任公司。 2018年7月9日,正式登陆香港交易所主板 。

https://www.mi.com/
情感分类技术

情感分类是对带有感情色彩的主观性文本进行分析、推理的过程,即分析对说话人的态度,倾向正面,还是反面。

推荐文章
暂无评论
暂无评论~