用迁移学习解释:电商网站的用户评论应如何优化排序?

2019 年 9 月 05 日

用迁移学习解释:电商网站的用户评论应如何优化排序?

小蚂蚁说:

2018年6月初,自然语言处理三大顶会之一NAACL (Annual Conference of the North American Chapter of the Association for Computational Linguistics)在美国新奥尔良举行,吸引了世界各地的自然语言处理等领域的学者参加。

据统计,NAACL今年共收到了长短论文1092篇,蚂蚁金服人工智能部也有一篇论文被录用《Cross-Domain Review Helpfulness Prediction based on Convolutional Neural Networks with Auxiliary Domain Discriminators》.

本文主要讲述用迁移学习的方法改善电商网站中预测评论有用性的任务。


随着电子商务网站的用户评论数量不断增加,如何估计评论的有用性并将其恰当地推荐给消费者至关重要。通常,关于商品评价内容有用性的研究都是要求每个领域/类别都有大量的标注样本(即每个商品都有大量区分好中差评的评论)。然而,这种假设在现实中不太实际,特别是对于样本比较少(评价较少)的或有 OOV(out-of-vocabulary)问题的领域。因此,我们提出了一种基于卷积神经网络(CNN)的模型,它利用了基字和字符层面的表示来克服 OOV 问题。对于样本小的问题,我们主要利用基于特征迁移的迁移学习的技术来从其他领域里学习一些知识去帮助我们所感兴趣的领域。


基本思想就是这里假设源域和目标域有一些交叉特征(shared),也有些特有特征(specific),通过把源域和目标域映射到 shared 和 specific 特征空间,在这个新的空间里再进行学习。我们在迁移学习的框架里主要考虑了有 adversarial network 的 specific-shared 神经网络模型,可以对跨领域的多个数据同时建模。在公开的电商产品评论数据集上,我们的方法在准确性和跨领域稳健性方面都显著优于现有方案。


背景


电商平台是阿里巴巴的核心业务,例如淘宝,天猫,AliExpress,Lazada 等。网络电商不像传统购物,用户可以看到摸到实物,而网上购物的话用户能看到的是只是商家修饰过的文字图片。伴随着网络电商的高速发展,现有网商消费者已经形成根据产品评论(review)来判断产品好坏,服务优劣的习惯。


同样的,对于生活服务平台比如说口碑,用户搜索商家信息,基本上基于评论来决定是否前去商家消费。随着越来越多的用户分享产品评论,大量商家水军的介入,这些评论质量的好坏也越来越难以判断。很多好的评论(这里“好”是指评论本身的质量,而不是产品的好坏)被埋在了大量评论中。如何更好对用户评论进行排序对电商平台来说很重要。这个任务在学术界和工业界都受到了高度的关注。



过去大量的评论排序都是基于时间,点赞次数等。现在有些网站开始尝试基于评论的有用性来进行排序。最近关于评论有用性预测的研究已显示出效果,这些方法大多依赖使用专家经验和语义特征。例如,LIWC,INQUIRER 和 GALC 等语义特征(Yang et al.,2015; Martin and Pu,2010),基于 aspect 的(Yang et al.,2016)和基于 argument 特征(Liu et al.,2017a)。然而,这些方法需要大量的标记样本去更好的训练模型。这在现实某些情况下是不实际的,且生成的模型仅适用于当前类别/领域,很难迁移到标注数据有限的领域。对于标注数据少的领域,很难训练一个好的模型,而且经常会观察到“out-of-vocabulary”(OOV)问题。


为了缓解上述问题,在这项工作中,我们提出了一种无需先验知识和专家经验的预测评论有用性的端到端方法。


近年来,卷积神经网络(CNN)在自然语言处理的许多任务中已经表现出显著的结果,因为其模型的高效率和与递归神经网络(RNN)可比的性能(Kim,2014; Zhang al.,2015)。因此我们用 CNN 作为这项工作的基础。由于字符级表示对于减轻文本分类和机器翻译等任务中的 OOV 问题显著有益(Ballesteros al.,2015; Kim al.,2016),我们通过添加基于字符的表示来丰富 CNN 的单词级表示。


实验表明,我们基于 CNN 的方法明显优于使用手工特征的方法,并且比现有的集成模型效果更好。同时,为了解决某些领域数据不足的问题,我们用跨域迁移学习方法(TL),来利用数据量多的领域的知识。值得注意的是,现有的关于这一任务的研究只关注单一类别/领域。我们尝试用经典的 specific shared 的模型来做跨域评论有用性预测这个任务,不同的是我们加入了对抗的 loss,大大提高了评论有用性估计的准确性。


模型


首先我们把这个问题定义为一个回归问题来拟合多少比例的用户认为这个评论是有用的。我们在源领域(某些产品类别)有大量数据,目标领域有较少的标签数据(目标预测产品类别),我们希望用源领域帮助学习目标领域下的评论受众面排序。与此同时我们改进了 TextCNN 来更好的帮助此任务。方案具体如下:



上图所示,模型主要分两部分,一个部分是改进的 TextCNN 来学习文本的表示,另外一个部分是加了对抗 loss 的迁移学习模型。


改进 TextCNN


TextCNN 核心在于文本分类任务中利用 CNN 来提取句子中类似 n-gram 的关键信息。其在情感分析里效果不错,而且优势是相较于常用于文本的 RNN 模型快很多,更容易符合线上 serving 的要求。TextCNN 大致方案就是将输入的文本信息,学到对应的词向量,然后通过卷积神经网络来学习一个分数。在这里我们在 TextCNN 的基础上提出一个多粒度卷积神经网络模型。在词向量的基础上我们同时学习字符向量。字符向量的好处是可以解决传统 TextCNN 不能很好的处理新词的问题(OOV problem)。


主要分这几步:


  • 查找词嵌入(word embedding),给输入的文本的每个词映射到一个词嵌入。

  • 把评论文本句子中的每个词拆解成字符然后再组合一起输入到一个卷积层(convolutional layer)和一个最大池化层(max-pooling layer)去学习出一个定长的字符嵌入(character embedding)。

  • 最后合并生成的词嵌入和字符嵌入,一起作为输入到卷积神经网络。


迁移学习


核心思想是从有很多标注数据的源领域里学习一些知识来帮助一个标注数据不多的目标领域。传统的机器学习需要对每个领域都积累大量训练数据,这将会耗费大量的人力与物力。如果我们能利用好现有的训练数据去帮助学习新的领域的学习任务将会大大减少标注的人力和物力。神经网络的本质是表征学习,自动选择及加工原始数据的特征。如图的上半部分我们利用一个由三部分网络结构组成的迁移学习的神经网络框架用于此任务。Source X 表示源领域输入,Target X 表示目标领域输入。


迁移学习一个比较经典的框架是 specific shared 的框架,如图上部分所示,基本 idea 是用一个神经网络学习共享的表征(shared representation)hc,以及两个分别的神经网络去学习源领域和目标领域分别独享表征(domain-specific representation) hs 和 ht,从而更好得同时学习源领域和目标领域的数据。用 k=0 表示源领域,k=1 表示目标领域,模型如下:



于此同时为了更好得学习共享的神经网络以及源领域和目标领域分别独享神经网络,我们在这个框架中引入对抗性损失函数(adversarial loss)[Liu et al., 2017b]。



这里用的是 entropy loss,是为了让学出来的特征和领域无关,即 domain invariant 的特征。


我们实际用的时候发现对抗的作用不大,主要原因是对于任何数据进来都无法区别它的领域,这样判别领域的模型容易退化。所以我们把判别领域的模型加到了 domain specific 的特征里。


具体来说,我们对每个领域的各自特征里分别引入了领域鉴别损失函数(domain discrimination loss,即去学习图中的 domain label),所以这里我们多了两个 loss,一个是源领域的 Ls,另外一个是目标领域的 Lt。



对于不同领域来源的数据,我们最终就是优化如下目标函数(loss function):



试验效果


我们在一个公开的数据里(Amazon 的评论数据)上面测试我们的模型。主要用了 Watches,Phone,Outdoor,Home,和 Electronics 五个领域的数据。



基础模型的效果


为了验证我们基础模型的效果,我们和现有的五种人为构造特征的方法(STR,UGR,LIWC,INQ,ASP)[Yang et al.,2015]做了对比,同时我们对比了两个集成模型[Yang et al.,2016]。结果如下图所示,可以看出:


  • 基础的CNN模型在这个任务里效果非常好,比任何一种单独特征的方法好,效果和集成模型比较接近。

  • 通过我们对CNN的改进,我们的效果可以超过集成模型,这个说明我们的模型有非常好的领域自适应性,即不需要很多特征工程就可以适用于很多的领域。



迁移学习的效果


我们继续验证我们迁移学习模型的效果。我们主要对比了三种方法,一个是仅用源领域数据(src-only),一个是仅用目标领域的数据(tgt-only),还有就是现有的考虑了对抗的迁移学习模型 TL-S [liu et al., 2017b]。结果如下图所示,我们发现:


  • 仅用目标领域数据的效果会比仅用源领域的效果好,这说明源领域和目标领域有领域的差异(domain gap)。

  • 迁移学习的方法会比仅用目标领域的数据效果好,这个说明迁移学习对于目标领域有帮助。

  • 我们提出的模型比现有的迁移学习框架效果好,特别是在数据小的领域提升比较明显。


什么时候迁移学习最有效


我们这里发现我们的方法对于某些数据小的领域提升比较大(如上图),于是我们做了个实验去分析目标领域的数据大小对于迁移的有效性的影响。同样的,我们用 Electronics(数据最多)作为源领域,outdoor 作为目标领域。我们改变目标领域数据大小(从 10%到 100%),然后观察不同的比例数据下迁移的有效性。效果如下图所示:


  • 很明显仅使用10%或者30%目标领域数据的情况下,迁移带来的提升越明显,说明我们的迁移学习的方法对于训练数据越少的目标领域帮助越大。

  • 在全量的目标数据上(100%),我们的方法反而出现了略微的效果的降低。这个说明如果目标领域数据足够的话,其实仅用目标领域数据就可以训练一个不错的模型,这个时候迁移学习带来的收益比较微小。



总结


在这项工作中,我们提出了一种无需先验知识和专家经验的预测评论有用性的端到端的方法。我们的方法是基于 TextCNN,同时添加了基于字符的表示来丰富 CNN 的单词级表示,并且用了一个考虑了对抗 loss 的迁移学习方法。在一个公开的电商数据实验表明,我们的方法明显优于使用手工特征的集成模型,同时比现有的迁移学习框架更有效。目前我们的迁移学习方法也在蚂蚁金服反欺诈场景中得到了应用。在未来,我们会考虑把这个技术应用到更多的蚂蚁金服的业务场景里。


参考文献


  1. [Ballesteros al.,2015] Miguel Ballesteros, Chris Dyer, and Noah A.Smith.2015. Improved transition-based parsing by modeling characters instead ofwords with lstms. In EMNLP, pages 349–359.

  2. [Kim al.,2016] Yoon Kim, Yacine Jernite, David Sontag, and AlexanderM. Rush. 2016. Character-aware neural language models. In AAAI’16, pages2741–2749.

  3. [Martin and Pu,2010] Lionel Martin and Pearl Pu. 2010. Prediction ofHelpful Reviews Using Emotions Extraction. In AAAI, pages 1551–1557.

  4. [Liu et al., 2017a] Haijing Liu, Yang Gao, Pin Lv,Mengxue Li, ShiqiangGeng, Minglan Li, and Hao Wang. 2017a. Using argument-basedfeatures to predict and analyse review helpfulness. In EMNLP, pages 1358–1363.

  5. [Liu et al., 2017b] Pengfei Liu, Xipeng Qiu, andXuanjing Huang. 2017. Adversarial multi-task learning for text classification.In ACL, pages 1–10.

  6. [Yang et al.,2015] Yinfei Yang, Yaowei Yan, Minghui Qiu, and ForrestBao. 2015. Semantic analysis and helpfulness prediction of text for onlineproduct reviews. In ACL, Beijing, China, pages 38–44.

  7. [Yang et al.,2016] Yinfei Yang, Cen Chen, and Forrest Sheng Bao. 2016.Aspect-based helpfulness prediction for online product reviews. In ICTAI, pages836–843.


本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。


原文链接:


https://mp.weixin.qq.com/s/8e3L7WmC6T5gDKWzzXqNvA


2019 年 9 月 05 日 16:242012
用户头像

发布了 150 篇内容, 共 20.7 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

LeetCode题解:22. 括号生成,递归先生成再过滤,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

十年 Java 开发经验,走了五年弯路,整理了一份 Java 架构师进阶路线及进阶资料!

Java成神之路

Java 编程 程序员 面试 编程语言

职场求生攻略答疑篇之 4 —— 社会有多真实,人心就有多虚伪

臧萌

职场 职场成长

大区块链的必然性

CECBC区块链专委会

区块链技术

iOS底层原理之—dyld与objc的关联

iOSer

ios ios开发 iOS Developer dyld objc

架构师训练营第四周学习总结

Gosling

极客大学架构师训练营

架构师训练营第一周课后练习

架构师训练营第一周总结

轻量级业务中台开发框架,以DDD思想为基础,融合中台核心要素,赋能中台建设

高鹏

中台 业务中台 DDD 框架 中台架构

网上赌被黑系统维护出不了款怎么办

其实很简单

互联网 网络安全 信息安全 网络

架构师训练营第四周课后作业

Gosling

极客大学架构师训练营

面试多次被拒,‘两个月’61天,我收到了蚂蚁金服P7级的offer

周老师

Java 编程 程序员 架构 面试

区块链要如何解决供应链金融痛点?

CECBC区块链专委会

区块链 金融

架构师训练营第四周总结

SpringBoot整合Jpa项目(含Jpa 原生sql语句介绍)

小Q

Java 架构 微服务 springboot jpa

十三、深入Python字典和集合

刘润森

Python

spring-boot-route(十七)使用aop记录操作日志

Java旅途

Spring Boot aop

来点不一样的: 精选200个Java技术面试真题,详解应聘Java程序员常见考点,在Github上标星89.6K

996小迁

编程 程序员 架构 面试

Redis - redis.conf - 中文翻译

学习个球

redis 缓存 翻译

第四周 系统架构作业

钟杰

极客大学架构师训练营

COSCon'20 & Apache Roadshow 来了,数据技术专场欢迎您

海豚调度

学习笔记丨数据结构与算法之贪心算法

Liuchengz.

贪心算法

[周末荐片]Undercover Billionaire

亚伦碎语

生活

分布式系统中的CAP、ACID、BASE概念

云流

编程 分布式

一文带你轻松了解Python导入模块的各种命令

计算机与AI

Python

马化腾的区块链理想

CECBC区块链专委会

区块链 马化腾

十四、深入Python条件和循坏

刘润森

Python

微服务已成Java开发的面试门槛,你连SpringCloud都不会怎么涨薪

Java架构之路

Java spring 编程 程序员 面试

Java进阶架构师面试手册:核心框架篇整理,助我斩获65W架构师Offer!

Java架构追梦

Java 学习 架构 面试 框架

每周花6小时跟清华大牛马士兵学Java:多线程高并发、JVM调优、算法、设计模式等

Java架构之路

Java 程序员 面试 算法 编程语言

阿里大牛原创技术好文精选整理:Redis+Nginx+设计模式+Spring全家桶+SQL+Dubbo

Java架构之路

Java 程序员 面试 编程语言

用迁移学习解释:电商网站的用户评论应如何优化排序?-InfoQ