工程师如何给女友买包?问问阿里“百事通”

简介: 小叽导读:工作那么忙,怎么给女朋友买包?是翻看包包的详情页,再从商品评论中去找信息吗?为了帮助类似的同学节省时间,阿里工程师们提出快速回答生成模型RAGE。你问它答,这个“百事通”能从整体结构,评论的抽取和表示及融合四个方面综合解决生成模型响应速率及生成质量的问题,进而提高生成的回答的真实性及有效性。从此,如何给女友“买包”,不再是难题。

本篇内容参考论文《Review-Driven Answer Generation for Product-Related Qestions in E-Commerce》论文作者为:武汉大学李晨亮、陈诗倩,阿里巴巴计峰、周伟、陈海青

引言

随着互联网技术的普及,电子商务产业得到了蓬勃的发展,用户的购买行为逐渐由线下转移到线上,然而线上购物带来便利的同时,弊端也逐渐显现。用户在做购买决定之前,通常希望获取更多的商品详情与使用感受等信息,然而,当网页浏览与点击代替了面对面的交易,用户无法获得直观的判断,仅能通过翻阅商品详情页及已购买用户的评论获取有效信息。用户需浏览及过滤大量的评论信息才能获得商品的综合评价,这无疑增加了线上购物的时间成本,降低了用户的购物体验。

为了解决线上环境信息获取渠道闭塞且耗时的问题,各大电商平台,例如,淘宝、亚马逊,相继提供社区问答(CQA)的服务。虽然社区问答在一定程度上缓解了部分用户浏览及过滤评论信息的时间成本,然而,等待已购买用户回答问题的过程同样是低效耗时且低召回的。因此,为了进一步节省用户购物时间,各大电商平台开始探索通过智能问答系统,自动、及时且真实的回答用户提出的商品相关性问题,帮助用户获取所需的信息。虽然现有的智能问答系统经过了几十年的发展,已经相对成熟,然而依然无法在电商领域广泛应用,其原因在于:

  1. 检索式问答系统过分依赖于问答库,而电商领域中问题形式千变万化,构造完整的问答库相对困难且耗时。
  1. 现有的生成式问答系统的工作均以循环神经网络及其变种形式为基础。循环神经网络因其时序特性而无法并行处理,导致效率较低。
  1. 目前生成式问答系统外部信息的引入主要依赖于结构化的知识库或者是关键词及主题模型,而在电商领域中,商品知识库的构造是一项消耗时间及人力成本的工作。

因此针对电商领域问答系统的需求现状及现有工作中存在的不足,我们创新性的提出了利用非结构评论信息引导回答生成的思想,同时提出了一种基于多层门控卷积神经网络的快速回答生成模型RAGE。该模型分别从整体结构,评论的抽取、表示及融合四个方面综合解决生成模型响应速率及生成质量的问题,进而提高生成的回答的真实性及有效性。

2 模型

模型整体结构如图1:

3.png
图1

2.1基础结构

  • 2.1.1问题编码器

考虑到循环神经网络存在的种种不足,我们选择采用门控卷积神经网络作为问题编码器对问题序列进行编码。然而,卷积神经网络因其权值共享的特性,导致其对位置信息不敏感。为解决门控卷积神经网络位置信息丢失的问题,我们在输入矩阵中引入位置向量,以保证卷积过程中模型对于位置信息的敏感性。同时,我们将词性信息(POS tag)引入输入矩阵,词性信息中所包含的句法和词法信息能够更好的帮助门控卷积神经网络理解词间关系和文本语义。

111.png

222.png

  • 2.1.2 基础解码器

333.png

444.png

555.png

2.2 评论的抽取、表示及融合

  • 2.2.1 评论的抽取

666.png

  • 2.2.2评论片段的表示

888.png

  • 2.2.3 评论的融合

为了使每一层的生成状态均对外部信息保持敏感,在回答生成器中我们同样采用了层次注意力机制。另外,我们认为问答任务中外部信息的选择过程不仅仅由当前的生成状态决定,还应与问题的语义密切相关。因此,在RAGE中我们利用与当前生成状态相关的加权问题编码向量与带权词典计算注意力权重,其原因在于加权问题编码向量中不仅仅含有当前生成状态的信息,同时包含了问题的语义信息,能够准确的对外部信息进行选择。其具体过程如公式2-14,2-15所示,最终得到与l层j时刻生成状态相关的评论信息编码向量。

999.png

式中表示第l层中,j时刻的问题编码向量与带权词典中中第i个词的表示向量计算的注意力权重。

为了避免信息的冗余,在每一层中本文通过门控机制选择性的利用问题编码信息和评论信息对生成状态进行更新,得到最终的生成状态。因而,将公式2-8改为公式2-16。

53.png

式中为门控权值向量,由l层的j时刻生成词生成状态,当前生成状态相关的加权问题编码向量,当前生成状态相关的评论信息编码经过函数()映射而得,具体程如公式2-17所示。

54.png

式中为两层矩阵映射及Sigmoid非线性变换。

3 实验

3.1对比模型

1)Seq2seqwith Attention(Bahdanau 2016)

2)TA-Seq2seq(Xing2017)

3)ConvSeq2seq(Gehring2017)

4)ConvSeq2seq-RV:在ConvSeq2seq的基础上,每次生成时动态的限制生成的词必须出现在其对应的相关评论片段中

5)RAGE/POS:RAGE去除POS信息

3.2数据集

我们使用了两个淘宝平台中真实的“问大家”数据集对模型的生成效率及质量进行测评,两个数据集分别为“手机”相关数据集及“大家电”相关数据集。其中“手机”数据集相对较小,仅涉及4457个商品,而“大家电”数据集相对较大且离散,包含冰箱、洗衣机等多个子类目下的47979个商品。

为了测试RAGE模型的泛化能力,本文从手机数据集中随机挑选出6个品牌的商品相关性问题及其对应商品的评论作为测试集,其余商品的问答对和评论作为训练集。同样的,随机挑选出“大家电”数据集下的两个子类目,取其问题及评论作为测试集,其余商品问答对和评论构成训练集。

最终得到的数据集统计信息如表4-1所示。表中表示问答对的数量,表示问题的词平均长度,表示标准回答的词平均长度,表示抽取的平均评论片段数目。

56.png

对于测试集,我们仅保留其问题部分,该问题对应的标准回答仅用于衡量模型的生成效果不应参与训练及生成过程。抽取评论片段的过程中,我们首先利用Word Mover’s Distance在训练集中寻找其最相似的问题,取该问题的答案与测试集中的问题构成问答对。

3.3 评价指标

客观评价指标我们采用词平均相似度(Embedding BaseSimilarity;ES)及句中离散度(Distinct)来衡量。主观评价方面,我们规定了如下的打分标准:+3:如果生成的回答既通顺又与问题密切相关,同时包含有效信息且该有效信息与标准回答及用户评论相符,则该回答为3分。+2:如果生成的回答包含与标准回答及用户评论相符的有效信息,但是含有部分的语法错误,比如重复生成、句式紊乱等,则该回答为2分。+1:如果生成回答仅能够用于回答问题,但是不包含有效的信息,比如“我是给别人买的,我不知道”,“可以,可以”等无意义的回答,则该回答为1分。0:如果生成的回答毫无意义或者包含太多的语法错误以至于难以理解,则该回答为0分。而后邀请两位评价者对模型的生成回答进行评价,并利用kappa值衡量评价者间的评价一致性。

3.4 实验结果及分析

我们对各模型进行了客观指标的评价,,并得到了如表4-2的结果。通过对两个指标的观察我们发现,“大家电”数据集的词平均相似度整体低于“手机”数据集,其原因可能是由于“大家电”数据集类目复杂,句式较为离散,模型不易学习其问答间的转换关系。另外“大家电”数据集中RAGE/POS的句中离散度高于RAGE模型,通过结合主观评价指标的综合分析,我们认为其可能的原因是RAGE/POS生成了部分不相关的词,导致其句中离散度较高。同时我们观察到,TA-Seq2seq和ConvSeq2seq-RV以及RAGE/POS、RAGE的句中离散度和词平均相关性在两个数据集上均高于Seq2seqA和ConvSeq2seq,佐证了本文“引入外部信息有利于生成包含有效信息以及贴合问题语义的回答”的观点。

57.png

主观评价的部分,我们通过对表4-3,4-4中的结果进行分析,得到如下结论。第一,虽然RAGE生成的回答与标准回答在各方面都存在一定差距,但是相比于现有的回答生成工作,RAGE在通顺性以及包含有效信息程度等方面都有显著的提升。第二,我们可以观察到,RAGE/POS和RAGE在2分的结果上有明显差距,说明词性信息的引入确实有助于提高回答生成的通顺性。

58.png

59.png

考虑到电商领域实时响应的需求,我们在基础模型的搭建过程中,将以往工作中常用的循环神经网络替换为多层门控卷积神经网络,为证明其效率,我们在单卡 Tesla K40 GPU环境下对比了各个模型的训练及测试效率,其结果如表4-5中所示,可以观察到,基于循环神经网络的Seq2seqA和TA-Seq2seq模型,训练及测试的耗时明显高于基于多层卷积神经网络的其他模型。

60.png

表4-6 Case Study:

61.png

最后我们做了Case Study。于表4-6中列出其标准回答,评论抽取过程中Word Mover’s Distance最小的评论片段MSR,以及各个模型的生成结果。通过表中案例可以观察到,对于问题1,2,4这类简单的问题,各个模型生成的回答都相对贴合问题语义。Seq2seqA以及ConvSeq2seq这两个模型由于没有引入外部信息,其生成的回答明显不具备任何有效信息,是所有问题都适用的安全性回答。RAGE得利于其对评论片段的抗噪表示以及融合方式,生成的回答相比于其他模型更加准确、通顺、符合语法且包含丰富的有效信息。

问题3,5,6与问题1,2,4相比较为复杂,其包含了两个子问题,“制冷效果怎么样?”“制热呢?”从表4-6中罗列的结果可知,大部分模型,包括标准回答均只回答了一个子问题,只有RAGE对两个子问题都做出了回答。

4 总结

通过对实验结果进行主观、客观及模型效率的分析,我们认为,RAGE在电商领域的问答任务中有较好的表现,相比于现有的其他工作,RAGE能够更加快速的生成具有通顺性,贴合问题语义且包含丰富信息的回答。

目录
相关文章
|
1月前
|
数据采集 缓存 Java
Python、Java、PHP 三种语言实现爬虫的核心技术对比与示例
本文对比Python、Java、PHP三大语言爬虫技术,涵盖核心工具(如Scrapy/Jsoup/Goutte)、典型代码示例及异步、分布式、缓存等性能优化策略,并给出选型建议与反爬合规实践,助开发者高效构建稳定爬虫系统。
|
缓存 监控 安全
构建高效后端系统的最佳实践
本文将深入探讨如何构建一个高效的后端系统,从设计原则、架构选择到性能优化等方面详细阐述。我们将结合实际案例和理论分析,帮助读者了解在构建后端系统时需要注意的关键点,并提供一些实用的建议和技巧。
372 6
|
7月前
|
Web App开发 监控 网络安全
《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话
本文介绍如何使用Fiddler抓取HTTPS协议数据包。由于现代网站普遍采用HTTPS加密,直接抓包无法获取明文数据。文章详细讲解了HTTPS原理、Fiddler抓包机制及证书配置步骤,包括启用HTTPS解密、安装并信任根证书等,帮助用户顺利捕获和分析HTTPS会话内容。
1387 4
|
存储 测试技术 项目管理
【北京大学 软件工程】三、软件需求
本文介绍了软件需求工程的基础概念和流程。首先定义了需求及其获取,强调需求是描述系统功能、性能等方面的要求,并需具备必要性、无歧义性、可测性、可跟踪性和可测量性五大基本性质。接着阐述了需求的分类,包括功能、性能、外部接口、设计约束和质量属性五类,并详细说明了各类需求的具体内容及示例。此外,还探讨了需求发现的技术,并分析了每种技术的应用场景与优缺点。最后,文章解释了需求规约(SRS)的概念、格式和作用,指出它是软件开发组织与用户之间的技术合同,用于指导项目管理、产品设计、测试计划和用户手册的编写。需求规约不应包含设计细节或项目规划信息,而是专注于明确系统的功能性与非功能性要求。
1069 1
【北京大学 软件工程】三、软件需求
|
NoSQL Redis
基于Redis的高可用分布式锁——RedLock
这篇文章介绍了基于Redis的高可用分布式锁RedLock的概念、工作流程、获取和释放锁的方法,以及RedLock相比单机锁在高可用性上的优势,同时指出了其在某些特殊场景下的不足,并提到了ZooKeeper作为另一种实现分布式锁的方案。
969 2
基于Redis的高可用分布式锁——RedLock
|
机器学习/深度学习 数据可视化 Swift
CAS-ViT:用于高效移动应用的卷积加法自注意力视觉Transformer
这是8月份再arxiv上发布的新论文,我们下面一起来介绍这篇论文的重要贡献
752 10
CAS-ViT:用于高效移动应用的卷积加法自注意力视觉Transformer
|
网络安全 开发工具 git
windows 下配置ssh 秘钥到souretree进行使用
windows 下配置ssh 秘钥到souretree进行使用
383 0
|
传感器 安全 搜索推荐
太空居住:长期太空任务的生命支持系统
【9月更文挑战第20天】长期太空居住的生命支持系统是一个复杂而精细的系统工程,涉及多个领域的协同作用。随着科技的不断进步和创新,未来的太空居住将更加安全、舒适和可持续。通过智能科技的应用,我们有理由相信,在不久的将来,人类将在太空中建立起真正的“家园”,为人类的星际探索事业开辟新的篇章。
|
Kubernetes 负载均衡 数据中心
在K8S中,在主机和容器上部署应用程序有什么区别?
在K8S中,在主机和容器上部署应用程序有什么区别?
|
SQL 存储 JSON
AlaSQL.js:用SQL解锁JavaScript数据操作的魔法
AlaSQL.js:用SQL解锁JavaScript数据操作的魔法
506 1