博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cross-Domain Review Helpfulness Prediction -论文阅读
阅读量:4069 次
发布时间:2019-05-25

本文共 4467 字,大约阅读时间需要 14 分钟。

Cross-Domain Review Helpfulness Prediction based on Convolutional Neural Networks with Auxiliary Domain Discriminators

Abstract

问题:如何估计评论的有用性并将其恰当地推荐给消费者(review helpfulness prediction)

当前方法缺点:每个域需要大量的标注数据。每个域之间是封闭的,当在某些域数据非常少、out-of-vocabulary问题时,需要每个域包含大量标注数据。

本文提出基于CNN的模型来利用word-level和character-based表达,解决oov问题。并通过迁移域之间的知识,解决部分领域标注数据较少问题。具体方法是域之间提取公有特征,域类提取私有特征,在这两个特征空间上学习相应的任务,这应该是参考了,对跨域数据同时建模。在亚马逊公开评论数据集上,文中方法在准确性和跨领域稳健性方面显著优于sota。

Introduction

如何估计评论的有用性并将其恰当地推荐给消费者(review helpfulness prediction),目前的一些方法依赖于手工提取特征,例如LIWC,INQUIRER和GALC等语义特征(Yang et al.,2015; Martin and Pu,2010),基于aspect的(Yang et al.,2016)和基于argument特征(Liu et al.,2017a)。然而,这些方法存在一些问题:

  1. 需要大量的标记样本去更好的训练模型。这在现实某些情况下是不实际的,
  2. 且生成的模型仅适用于当前类别/领域,很难迁移到标注数据有限的领域。
  3. 对于标注数据少的领域,很难训练一个好的模型,
  4. 而且经常会观察到“out-of-vocabulary”(OOV)问题。

而本文提出的( cross-domain transfer learning (TL) )方法,不需要领域知识和手工提取特征。提出基于CNN的模型来利用word-level和character-based表达,解决oov问题。并通过迁移域之间的知识,解决部分领域标注数据较少问题。具体方法是域之间提取公有特征,域类提取私有特征,在这两个特征空间上学习相应的任务,这应该是参考了,对跨域数据同时建模。

例如,评价中包含图像质量的特征只对相机品类有用,而语义特征和argument-based对所有域都有用。因此需要学习 shared features, private features

(Ganin et al., 2016; Taigman et al., 2017)最早使用 shared and domain-specific features。最近 Liu et al. (2017b) and Chen et al. (2017)添加了对抗损失和domain discriminators并应用于分类和分词任务。

Model

在这里插入图片描述

本文将问题定义为一个回归问题来拟合多少比例的用户认为这个评论是有用的。在源领域(某些产品类别)有大量数据,目标领域有较少的标签数据(目标预测产品类别),希望用源领域帮助学习目标领域下的评论排序。

CNN with Character Representations

使用CNN来提取word-level和character-based表达,不同点在于character-based。

character-based

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

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

Knowledge Transfer with Domain Discriminators

shared neural network and domain-specific neural networks to learn shared and domain-specific features

使用网络结构,使用cnn作为基础的特征提取器。 domain-specific output layers:

y ^ k = { σ ( W s c h c + W s h s + b s ) ,  if  k = 0 σ ( W t c h c + W t h t + b t ) ,  if  k = 1 \hat{y}^{k}=\left\{\begin{array}{l}{\sigma\left(\mathbf{W}^{\mathrm{sc}} \mathbf{h}^{\mathbf{c}}+\mathbf{W}^{\mathbf{s}} \mathbf{h}^{\mathbf{s}}+\mathbf{b}^{\mathbf{s}}\right), \text { if } k=0} \\ {\sigma\left(\mathbf{W}^{\mathrm{tc}} \mathbf{h}^{\mathbf{c}}+\mathbf{W}^{\mathbf{t}} \mathbf{h}^{\mathbf{t}}+\mathbf{b}^{\mathbf{t}}\right), \text { if } k=1}\end{array}\right. y^k={
σ(Wschc+Wshs+bs), if k=0σ(Wtchc+Wtht+bt), if k=1
其中k是域的标签,表明数据来源于目标域还是源域。其中** W s c , W t c , W s , W t W^{sc}, W^{tc}, W^{s}, W^{t} Wsc,Wtc,Ws,Wt**分别表示 shared-source, shared-target, source, and target domains参数。

引入对抗损失

L a d v = 1 n ∑ i = 1 n ∑ k = 0 1 p ( d = k ∣ h i c ) log ⁡ p ( d = k ∣ h i c ) L_{a d v}=\frac{1}{n} \sum_{i=1}^{n} \sum_{k=0}^{1} p\left(d=k | \mathbf{h}_{i}^{c}\right) \log p\left(d=k | \mathbf{h}_{i}^{c}\right) Ladv=n1i=1nk=01p(d=khic)logp(d=khic)
它的输入是共享特征 h c h^c hc,即让模型学出与领域无关的共享特征。

domain discrimination losses:同时作者添加了判别领域的任务加入到了模型中,作者为每一个字添加域的标签,并加入预测,添加损失:

L s = − 1 n s ∑ i = 1 n s ∑ k = 0 1 I ( d i = k ) log ⁡ p ( d = k ∣ h i s ) L t = − 1 n t ∑ i = 1 n t ∑ k = 0 1 I ( d i = k ) log ⁡ p ( d = k ∣ h i t ) L_{s}=-\frac{1}{n_{s}} \sum_{i=1}^{n_{s}} \sum_{k=0}^{1} \mathbb{I}^{\left(d_{i}=k\right)} \log p\left(d=k | \mathbf{h}_{i}^{s}\right) \\ L_{t}=-\frac{1}{n_{t}} \sum_{i=1}^{n_{t}} \sum_{k=0}^{1} \mathbb{I}^{\left(d_{i}=k\right)} \log p\left(d=k | \mathbf{h}_{i}^{t}\right) Ls=ns1i=1nsk=01I(di=k)logp(d=khis)Lt=nt1i=1ntk=01I(di=k)logp(d=khit)
其中 h i t h_i^t hit是目标域每个输入 X i X_i Xi的domain-specific features。 h i t h_i^t hit是源域。

orthogonality constraints:

L o r t h = ∑ k ∈ { s , t } H c ⊤ H k L_{o r t h}=\sum_{k \in\{s, t\}} \mathbf{H}^{\mathbf{c} \top} \mathbf{H}^{\mathbf{k}} Lorth=k{
s,t}
HcHk
详细见:

Experiments

在Amazon的评论数据上面测试本文的模型,包含Watches,Phone,Outdoor,Home,和Electronics五个领域。

Comparison with hand-crafted features and ensemble features

和现有的五种人为构造特征的方法(STR,UGR,LIWC,INQ,ASP)[Yang et al.,2015]做了对比,同时对比了两个集成模型[Yang et al.,2016]。

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

说明CNN的模型有非常好的领域自适应性,即不需要很多特征工程就可以适用于很多的领域。

Comparison with TL models

对比了三种方法:

  • 仅用源领域数据(src-only),
  • 仅用目标领域的数据(tgt-only),
  • 对抗的迁移学习模型[liu et al., 2017b]

实验结论:

  • 仅用目标领域数据的效果会比仅用源领域的效果好,这说明源领域和目标领域有领域的差异(domain gap)。
  • 迁移学习的方法会比仅用目标领域的数据效果好,这个说明迁移学习对于目标领域有帮助。
  • 我们提出的模型比现有的迁移学习框架效果好,特别是在数据小的领域提升比较明显。

目标域数据量对TL的影响:同时作者去实验目标域的数据量大小,发现:

  • 仅使用10%或者30%目标领域数据的情况下,迁移带来的提升越明显,说明我们的迁移学习的方法对于训练数据越少的目标领域帮助越大。
  • 在全量的目标数据上(100%),我们的方法反而出现了略微的效果的降低。这个说明如果目标领域数据足够的话,其实仅用目标领域数据就可以训练一个不错的模型,这个时候迁移学习带来的收益比较微小。

Reference

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

转载地址:http://yxaji.baihongyu.com/

你可能感兴趣的文章
adb command not found
查看>>
Xcode 启动页面禁用和显示
查看>>
【剑指offer】q50:树中结点的最近祖先
查看>>
二叉树的非递归遍历
查看>>
【leetcode】Reorder List (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Candy(python)
查看>>
【leetcode】Sum Root to leaf Numbers
查看>>
【leetcode】Pascal's Triangle II (python)
查看>>
java自定义容器排序的两种方法
查看>>
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>
AngularJS2中最基本的文件说明
查看>>
从头开始学习jsp(2)——jsp的基本语法
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
Solr及Spring-Data-Solr入门学习
查看>>
python_time模块
查看>>
python_configparser(解析ini)
查看>>