Domain Adaptation for Large-Scale Sentiment Classification: A Deep Learning Approach

本篇是迁移学习专栏介绍的第十四篇论文,由Yoshua Bengio领导完成发表在ICML2011上,引用量超1000+的论文,算是domain adaptation发表较早的论文。


Abstract

在线评论online reviews和推荐recommendations的指数增长使得情感分类成为学术和工业研究中一个有趣的话题。评审可以跨越许多不同的领域,因此很难为所有这些领域收集带注释的训练数据。因此,本文研究了情绪分类器的域适配问题,在此基础上,设计了一个基于一个源域的带标记评论训练系统,并将其应用于另一个源域。我们提出了一种深度学习方法,该方法学习以一种无监督的方式为每个评审提取有意义的表示。在一个由4种亚马逊产品评论组成的基准测试中,使用这种高级特征表示训练的情感分类器明显优于最先进的方法。此外,该方法具有良好的可扩展性,使我们能够在22个域的更大的工业强度数据集上成功地进行域适应。


1. Introduction

随着博客和社交网络等社交媒体的兴起,评论、评级和推荐迅速激增;对于想要销售自己的产品并发现新的市场机会的企业来说,能够自动过滤这些信息是当前面临的一个关键挑战。这引发了情绪分类(或情绪分析)的研究热潮,其目的是确定作者基于给定文本注释对给定主题进行判别。情感分析现在是一个成熟的机器学习研究课题,正如这篇综述所示(Pang and Lee, 2008)。许多不同领域的应用已经被提出,从电影评论(Pang et al., 2002)和国会辩论(Thomas et al., 2006)到产品建议(Snyder and Barzilay, 2007; Blitzer et al., 2007)。

大量的数据源使得设计一个健壮的情绪分类器变得困难和昂贵。实际上,评审处理词汇表不同的各种产品或服务。例如,考虑一个简单的例子,训练一个系统,分析关于两种产品的评论:厨房用具和dvd。一组评论中会包含一些形容词,如故障、可靠或可靠,另一组评论则会包含一些令人兴奋、恐怖或滑稽等。因此,跨域的数据分布是不同的。一个解决方案是为每个领域学习不同的系统。然而,这将意味着为大量域注释训练数据的巨大成本,并阻止我们利用跨域共享的信息。这里评估的另一种策略是,从一组有标记和无标记数据可用的域中学习单个系统,然后将其应用于任何目标域(标记或无标记)。只有当系统能够发现跨域共享和有意义的中间抽象时,这才有意义。在不同分布上训练和测试模型的问题称为域适应(Daum e III和Marcu, 2006)。

针对情绪分类器的领域适应问题,提出了一种深度学习方法。最近出现了一个很有前途的新领域——深度学习;参见(Bengio, 2009)。深度学习是建立在算法的基础上发现中间表示构建在一个分层方式。深度学习依赖于一项发现,即可以使用无监督学习根据上一层发现的特性,一次设置一个层次结构的每个层次。这些特征已经成功地用于初始化深度神经网络(Hinton and Salakhutdinov, 2006; Hinton et al., 2006; Bengio et al., 2006)。设想一个概率图形模型,其中我们引入了与观测数据的真实解释因素相对应的潜在变量。在这些潜在变量的空间中回答问题和学习依赖关系很可能比回答关于原始输入的问题更容易。一个简单的线性分类器或从一个或几个例子训练出来的非参数预测器就可以完成这项工作。实现这一点的关键是学习更好的表示,主要是从未标记的数据中学习:如何做到这一点是区分深度学习算法的关键。

我们在第3节中介绍的深度学习系统旨在使用未标记的数据从评审中提取高级特性。在第4节中,我们展示了使用这些学习特性训练的情感分类器可以:

(i)在4种产品的基准上超过最先进的性能

(ii)在22个领域的大规模数据集上成功地执行域适应,超过了我们尝试的所有baseline。


2. Domain Adaptation

域自适应考虑从不同分布中采样训练和测试数据的设置。假设我们有两组数据:源域S提供标记的训练实例,目标域T提供用于部署分类器的实例。我们不假设它们来自同一个分布,而是假设S来自一个分布pS, T来自一个分布pT。学习问题在于找到一个函数实现从S到T的良好转换,即对pS数据进行训练,对pT数据进行很好的推广。

深度学习算法学习原始输入和目标之间的中间概念。我们在这种情况下使用它的直觉是,这些中间概念可以在域之间产生更好的传输。例如,假设这些中间概念间接地捕获了诸如产品质量、产品价格、客户服务等内容。其中一些概念足够普遍,可以在广泛的领域(在情感分析中对应于产品或服务)中发挥作用。由于可以跨域使用相同的单词或单词元组来表示这些高级概念的存在,因此应该有可能发现它们。此外,由于深度学习利用无监督学习来发现这些概念,因此可以利用跨所有领域的大量未标记数据来学习这些中间表示。在这里,和其他许多深度学习方法一样,我们不设计这些中间概念应该是什么,而是使用通用的学习算法来发现它们。

2.1. Related Work

以前曾有人提出过与领域适应有关的学习设置,并以不同的名称发表过。Daum e III和Marcu(2006)将问题形式化,并提出了一种基于混合模型的方法。解决域自适应问题的一般方法是通过实例加权,其中将依赖于实例的权重添加到损失函数中(Jiang和Zhai, 2007)。域适应的另一个解决方案是迁移源域和目标域的数据表示,使它们呈现相同的观测值和标签的联合分布。Ben-David et al.(2007)正式分析了表示变化对域适应的影响,Blitzer et al.(2006)提出了结构对应学习(SCL)算法,该算法利用目标域的未标记数据寻找数据的低秩联合表示。

最后,域自适应可以简单地看作是一个标准的半监督问题,忽略域差异,将源实例看作带标记的数据,目标实例看作无标记的数据(Dai et al., 2007)。在这种情况下,框架非常接近自我学习(Raina et al., 2007),在自我学习中,一个人可以从一些类别的带标签的例子中学习,也可以从一组更大类别的未带标签的例子中学习。Raina等人(2007)的方法主要依赖于对表示的无监督学习,就像这里提出的方法。

2.2. Applications to Sentiment Classification

在一些文献中,情绪分析与领域顺应有着密切的联系,许多研究领域顺应的著作都专门针对情绪分析进行研究。其中,绝大多数人建议在Blitzer等人(2007)收集的亚马逊产品评论基准上进行实验。

Amazon data 数据集提出了比关于22种不同产品类型的34万条评论,这些评论都被标记为正面或负面正如表1(顶部)所详细说明的,域之间在实例总数和负面示例的比例方面存在巨大差异。

由于这个数据集是异构的、严重不平衡的和大规模的,因此发布了一个更小、更受控制的版本。简化后的数据集包含4个不同的领域:书籍、dvd、电子产品和厨房用具。每个域有1000个正的和1000个负的实例,以及数千个未标记的示例。正面和负面的例子也是完全平衡的(详见表1的底部部分)。后一个版本在文献中用作基准。据我们所知,本文将包含在大型Amazon数据集中首次发布的结果。

Compared Methods 在关于较小的4域基准数据集的原始论文中,Blitzer等(2007)采用结构对应学习(SCL)进行情绪分析。Li and Zong(2008)提出多标签共识训练(MCT)方法,它结合了几个与SCL训练的基分类器。Pan等人(2010)首次使用光谱特征对齐(SFA)算法用于对来自不同源和目标域的单词进行对齐,以帮助弥合它们之间的差距。这三种方法在我们的实证评价中起到了比较的作用。

3. Deep Learning Approach

3.1. Background

如果深度学习算法能够在一定程度上捕捉到解释输入数据变化的潜在生成因素,那么真正需要利用这种能力的是,所学习的表示有助于解开潜在的变化因素。最简单和最有用的方法是,如果所学习的一些特性(所学习表示的各个元素)大部分只与这些因素中的一些有关,也许只有一个。相反,这意味着这些特征将具有不变的属性,即他们对这些变异因素中的一个子集(可能只有一个)的反应将是高度特异性的,而对其他因素不敏感。Goodfellow等人(2009)对这一假设进行了检验,研究了与相机运动相关的图像和几何不变性。

基于情绪分析的深度学习算法评价是一件很有趣的事情。首先,如果他们能够提取出一些能够在一定程度上解开变异的潜在因素的特性,这可能有助于跨域执行迁移,因为我们期望存在一些通用的概念来描述跨多个域的产品评审。其次,亚马逊的数据集,我们知道其中一些因素(如是否审查是对一个特定的产品,或者是一个积极的评价,产品),所以我们可以使用这些知识来定量检查在多大程度上他们树立学习表示:域适应情绪分析成为媒介更好地理解深架构。最后,尽管深度学习算法还没有被评估为情感分类器的领域适应性,但在涉及文本数据的其他任务上,已经有一些非常有趣的结果被报道,在一些情况下超过了先前的最先进水平(Salakhutdinov and Hinton, 2007; Collobert and Weston, 2008; Ranzato and Szummer, 2008)。

3.2. Stacked Denoising Auto-encoders

我们模型的基本框架是堆叠式去噪自动编码器(Vincent et al., 2008)。自动编码器由编码器函数h(·)和解码器函数g(·)组成,其维数通常小于自变量维数。输入x的重构由r(x) = g(h(x))给出,自动编码器通常被训练成最小化重构误差损失(x, r(x))的形式。重构误差的例子包括平方误差,或者像这里,当x或r(x)的元素可以被认为是离散事件的概率时,的元素和r(x)的元素之间为Kullback-Lieblerx散度。当编码器和译码器线性和二次重建错误,恢复在h (x)的主要组件(PCA)的空间x。一旦auto-encoder一直训练,一个堆栈可以另一个auto-encoder之上,通过培训的第二个看到的编码输出第一个作为训练数据。堆叠式自动编码器是构建深层架构的最早方法之一(Bengio et al., 2006),还有受限玻尔兹曼机(RBMs) (Hinton et al., 2006)。一旦一堆自动编码器或RBMs经过训练,它们的参数描述了x的多层表示,可以用来初始化一个有监督的深度神经网络(Bengio, 2009)或直接给分类器输入,就像我们在本文中所做的那样。

与普通的自动编码器相比,一种有趣的替代方法是去噪自动编码器(Vincent et al., 2008)或DAE,其中输入向量x被随机破坏为一个向量x,并训练模型去噪,即,以最小化去噪重建误差损失(x, r(x))。因此DAE不能简单地复制其在代码层中的输入x h (x),即使h (x)的维数大于x的。去噪误差可以链接在几个方面的可能性的生成模型的分布未毁坏的例子x (Vincent, 2011)。

3.3. Proposed Protocol

在我们的设置中,我们可以访问来自不同域的未标记数据,并且只能访问一个源域的标签。我们用一个两步程序来解决情感分类器的域适应问题。

首先,使用带整流单元(即max(0,x))的叠加去噪自动编码器(SDA),以无监督的方式从所有可用域的文本评审中学习更高级别的特征提取。带有(软)整流单元的RBMs已经被引入(Nair和Hinton, 2010)。我们使用这样的单位是因为它们已经被证明在情绪分析任务上优于其他非线性(Glorot et al., 2011)。利用随机梯度下降法,以贪婪的分层方式学习SDA。对于第一层,解码器的非线性为logistic sigmoid,腐败过程为掩蔽噪声(即每个主动输入的概率P为0)2,训练准则为Kullback-Liebler散度。整流器的非线性太困难,不能用于输出单元:重构误差梯度不会流动,如果当目标为正时,重构为0(整流器参数为负)。为了训练上层DAEs,我们使用softplus激活函数(即log(1 + exp(x),整流器的平滑版本)作为解码器输出单元的非线性。我们还利用平方误差作为重构误差准则,并在输入层的整流非线性之前加入高斯腐败噪声,以保持表示法的稀疏性。编码层激活(整流器之后)在不同的深度定义新的表示。

在第二步中,一个线性分类器被训练在源域的迁移标记数据上。由于支持向量机(SVM)在情感分类方面表现良好(Pang et al., 2002),我们使用了具有平方铰链损失的线性SVM。最后在目标域中对该分类器进行测试。

3.4. Discussion

前一种协议在情感分类器的领域自适应方面具有很好的性能。

现有的情绪分析领域适应方法侧重于来自源和目标分布的信息,而SDA无监督学习可以使用来自其他领域的数据,在所有这些领域共享表示。这还减少了迁移到多个领域所需的计算量,因为需要进行一轮无监督的培训,并允许我们很好地处理大量数据并考虑实际应用。

SDA学习的代码是输入的非线性映射,因此可以编码复杂的数据变化。据我们所知,现有的情感分析领域适应方法仅使用线性投影将输入映射到一个新的或增强的空间。此外,整流非线性具有很好的能力,自然地为代码层提供稀疏表示(带有精确的零),这非常适合线性分类器,并且在计算成本和内存使用方面非常有效。


4. Empirical Evaluation

4.1. Experimental Setup

对于这两个数据集,预处理都对应于(Blitzer et al., 2007)的设置:每个审阅文本都被视为一个单词包,并转换为二进制向量,编码存在/不存在unig和big。由于计算上的原因,在特征集中只保留了unigram和bigram词汇表中最常见的5000个词汇。我们使用表1中给出的火车/测试分割。对于所有的实验,基线都是在原始数据上训练的线性SVM,而我们的方法SDAsh对应的是同一类SVM,但是训练和测试的数据都是经过第3节描述的系统变换后的特征。所有svm的超参数都是在训练集上交叉验证选取的。

对于SDAsh,我们探索了一组广泛的超参数集:掩蔽噪声概率为{0.0,0.3,0.5,0.6,0.7,0.8,0.9},(其最优值通常较高:0.8);{0.01, 0.1, 0.25, 0.5, 1}中的上层高斯噪声标准偏差;一个尺寸为{1000,2500,5000}的隐藏层,(5000总是表现最好的);对\left\{0.0,10^{-8}, 10^{-5}, 10^{-3}, 10^{-2}\right\}中的激活值进行L1正则化惩罚;在\left\{10^{-4}, 10^{-3}, 10^{-2}, 10^{-1}\right\}中的学习率。所有的值都选择w.r.t.为域内验证误差的平均值。所有算法都是使用Theano库实现的(Bergstra et al., 2010)。

4.2. Metrics

我们用e(S, T)表示迁移误差,定义为在源域S上训练得到的方法在目标域T (e(T, T)上测试得到的测试误差称为域内误差。域自适应的主要比较点是基线域内误差,记为eb(T, T),它对应于基线方法得到的测试误差,即对目标域的原始特征进行训练和测试的线性SVM。

这些定义,我们可以定义标准的领域适应度量:迁移损失t。它的区别是传递误差和indomain基线误差即t(S, T)=e(S, T)-e_{b}(T, T)源域和目标域t。

不幸的是,当一个处理大量的异构域有不同的困难(亚马逊与大数据),迁移损失并不令人满意。此外,对所有可能的源-目标域对其均值进行计算是没有意义的。因此,我们还引入了以下指标:

  • Transfer ratio Q: 它也描述了迁移,但定义为用t中的商替换差,因为它对域内误差的重要变化不太敏感,因此更适合于平均。我们报告了数据集中所有源-目标对的平均值:\mathcal{Q}=\frac{1}{n} \sum_{(S, T)_{s \neq T}} \frac{e(S, T)}{e_{b}(T, T)} (对于n对:(S, T) \text { with } S \neq T)。
  • In-domain ratio I: 一些领域自适应方法与我们的方法一样,迁移所有域(包括源)的特征表示。因此,这些方法的域内误差不同于基线的域内误差。定义域内比度量了这一点,定义为:\mathcal{I}=\frac{1}{m} \sum_{S} \frac{e(T, T)}{e_{b}(T, T)}(m是定义域的总数)。

4.3. Benchmark Experiments

在4个域的基准上,我们将我们的域适应协议与2.2节中介绍的3种方法(SCL、SFA和MCT)进行了比较。我们报告了原始论文的结果,这些结果是使用整个特征词汇和不同的分割,但与我们的相同大小。根据我们的经验,只要保留了设置的大小,无论火车/测试分裂成什么样子,结果都是一致的。因此,我们可以检查所有基线都达到了类似的性能。我们也报告结果的迁移式支持向量机(Sindhwani Keerthi, 2006)在标准semi-supervised设置训练:训练集的源域是用作标记集,和其他领域的训练集的无标号set.3数据集训练实例的数量相对较少,我们的无监督特征提取器是由一层5000辆。

Main results 图1描述了所有方法和所有源-目标域对的传输损失。在12例中有11例(SCL仅略好于厨房电器),8例显著好于支持向量机。有趣的是,对于每个目标域,SDAsh都存在一种负迁移损失的情况:由于我们的特征的质量,训练在不同域中的SVM可以优于训练在目标域中的SVM。

图2(左)为相同方法的传递比,加上换能器支持向量机(T-SVM)和我们系统的第二个版本SDA。与SDAsh相反,SDA的无监督训练并不是在所有可用的域上都进行,而是在夫妻之间进行,SCL也是如此:例如,为了从书籍迁移到DVD, SDA的feature extractor只针对这两个域的评论进行训练。SDA的转化率高于SDAsh,我们可以得出结论,共享所有领域的无监督预培训(即使是那些不直接相关的领域)是有益的,正如预期的那样。图2还显示了监督性和无监督性学习的组合SDAsh(和SDA)执行的vised相位优于纯半监督T-SVM。在绝对分类性能方面,我们得到了平均迁移泛化误差:基线- 24.3%,SFA - 21.3%, SDAsh - 16.7%。

A-distance 距离是两个概率分布之间相似性的度量。Ben-David等(2007)研究表明,源分布与目标分布之间的a -距离是区域自适应上概化边界的重要组成部分。他们假设,为了在源域和目标域之间有良好的传输,应该很难区分它们,因为这意味着相似的特征分布。在实践中,计算精确的a距离是不可能的,必须计算一个proxy​​​​​​​。因此,我们在两个域之间评估一个线性SVM分类器的泛化误差。我们的proxy​​​​​​​对于A-distance定义为\hat{d}_{A}=2(1-2 \epsilon)

图2(右)报告了每对域的结果。令人惊讶的是,dA在新的特征空间中增加了:SDAsh的无监督特征提取提高了域识别能力。因此,在Ben-David et al.(2007)之后,SDAsh的表示应该会损害传输,但我们也观察到一个改进(见图1)。

为了验证这一假设,我们训练了一个l1正则化SVM,在6个领域识别任务(每个领域对一个)和5个情感分析任务(每个领域加所有领域)上选择最相关的特征。图3显示了与单个特性相关的任务数量的直方图,它们被划分为域任务数量和情感任务数量。坐标(n, m)处的颜色水平表示在n个情感分析任务和m个域识别任务中重用的特征的数量。将原始数据得到的图与SDAsh迁移后的图进行比较,证实了我们的假设:后一种情况下,域识别和情绪分析的相关特征重叠程度要小得多。事实上,一个完整的特征分离将导致一个图,其中只有第一列和底线是彩色的,这表明每个特征要么用于域识别,要么用于情感分类,但不能同时用于这两种分类。使用SDAsh迁移原始数据使特性更接近这种模式。

4.4. Large-Scale Experiments

现在我们展示在较大版本的数据上得到的结果。这些条件比以前的实验更现实,更能代表真实世界:更多的领域,不同的和更大的尺寸,不同的比例之间的积极和消极的例子,等等。除了基准之外,我们还比较了3种方法:我们的特征提取器(SDAsh1)或3层(SDAsh3)各5000个单元,多层感知器(MLP)的体系结构如下:一个隐藏层上的softmax logistic回归(5000个双曲正切单元)。

图4根据各模型的域内比给出了各模型的迁移比。这些结果对应于以下平均迁移泛化误差:(基线)- 14.5%,(MLP) - 13.9%, (SDAsh1) - 11.5%和(SDAsh3) - 10.9%。尽管有大量的域和它们的异构性,但这两个SDA系统都有显著的改进。MLP的性能表明,非线性有助于从数据中收集所有必要的信息,但还不够:需要一个无监督的阶段,可以包含来自所有领域的数据。也可以证明,在这种大规模的问题上,单层还不足以达到最佳性能。叠加3层可以得到数据的最佳表示。值得注意的是,与基线相比,SDAsh3在y轴上的改进要高于在x轴上的改进:SDAsh3学习的表示方法比域内学习的表示方法更有利于迁移,因此真正适合于域适应。


5. Conclusion

研究表明,基于稀疏整流单元的叠置去噪自编码器的深度学习系统能够实现无监督的特征提取,这对情绪分类器的域自适应有很大的帮助。事实上,我们的实验表明,线性分类器训练与这种高层次的学习特征表示评论胜过当前最先进的技术。此外,我们已经能够成功地在工业规模的数据集上执行域自适应22个领域,在这些领域中,我们显著地改进了基线上的泛化,并改进了类似结构但纯粹受监督的替代方法。

发布了261 篇原创文章 · 获赞 137 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/weixin_37993251/article/details/89356627