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

来源: 2018-06-27 17:13:43

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》,作者:陈岑、杨寅飞、周俊、李小龙、鲍盛。论文链接:http://aclweb.org/anthology/N18-2095

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

前言

随着电子商务网站的用户评论数量不断增加,如何估计评论的有用性并将其恰当地推荐给消费者至关重要。通常,关于商品评价内容有用性的研究都是要求每个领域/类别都有大量的标注样本(即每个商品都有大量区分好中差评的评论)。然而,这种假设在现实中不太实际,特别是对于样本比较少(评价较少)的或有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) hsht,从而更好得同时学习源领域和目标领域的数据。用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的迁移学习方法。在一个公开的电商数据实验表明,我们的方法明显优于使用手工特征的集成模型,同时比现有的迁移学习框架更有效。目前我们的迁移学习方法也在蚂蚁金服反欺诈场景中得到了应用。在未来,我们会考虑把这个技术应用到更多的蚂蚁金服的业务场景里。