基于高斯过程与迁移学习的情感分析

部署运行你感兴趣的模型镜像

基于高斯过程的改进AdaBoost与迁移学习 情感分析

1 引言

随着云计算和大数据的发展,人们对信息安全和信息隐藏技术[1–3]越来越关注。社交媒体(如博客和社交网站)的爆炸式增长,使得个人和组织能够撰写个人经历、表达观点并分享生活。因此,以最准确的方法提取所表达的观点或隐含的情感,对企业和政治以及研究人员而言正变得日益重要。

情感分析指的是提取文本极性并捕捉人们观点的潜在信息[4]的过程。目前存在两种主要的情感分析方法:无监督基于词典的方法和有监督机器学习方法。前者通过计算文档中词语或短语的语义倾向来确定文档的整体倾向[5];后者则从文本中提取特征,并使用人工标注的语料库训练分类器[6]。近年来,基于深度神经网络的情感分析方法已成为一种热点并取得了一些显著成果。传统的机器学习需要大量训练样本来训练一个可靠模型,然而获取足够的标注训练数据既昂贵又有时甚至不可能。此外,许多机器学习和数据挖掘算法的一个主要假设是训练和测试数据必须处于相同的特征空间并且具有相同分布[7]。然而,在许多实际应用中,这一假设可能不成立。

本文提出了一种基于高斯过程的改进AdaBoost与迁移学习的情感分析方法。首先,我们利用段落向量模型(Doc2vec)获得连续分布的向量表示。然后,我们提出了一种基于深度高斯过程和改进AdaBoost的非对称迁移学习方法,该方法采用改进的AdaBoost方法自动调整源域数据和辅助数据的权重,以获取高质量的训练特征来实现情感分类。该方法使我们能够在源训练数据、辅助数据和目标测试数据具有不同分布的情况下学习到一个准确的模型,从而可能提高分类器的准确率。我们在第六届中文意见分析评测(COAE2014)的语料库上将所提出的方法与其他当前的情感分析方法进行了比较评估,结果证实了所提出方法的竞争性和鲁棒性。

本文其余部分组织如下:第2节介绍相关工作,第3节介绍我们的方法。第4节进行实验评估与讨论,第5节给出结论与未来工作。

2 相关工作

情感分析是研究人们针对产品、服务、组织、个人、话题及其属性等实体的观点、评价、态度和情绪的领域。自21世纪初以来,情感分析已发展成为自然语言处理和数据挖掘中最活跃的研究领域之一[4]。通常,情感分析主要在三个不同层次上进行研究:文档级别、句子级别和方面级别[8]。基于上述三个层次,情感分析方法主要有两种类型:基于词典的方法和机器学习技术。前者是一种方面级别的方法,通过应用包含与观点相关的正面或负面术语的情感词典,以无监督方式对文本进行评估[5];而后者则利用文本特征表示结合机器学习算法,以监督方式推导文本片段特征与所表达观点之间的关系[6]。

对于这两种方法,研究人员已经开发了各种改进方法,以找到最准确的意见挖掘方式。Taboada 等人[9]提出,在否定语境中将术语的情感得分向相反极性方向按固定量进行偏移。随后,Moreo 等人[10]提出了一种基于词典的面向评论的新闻情感分析器,用于处理非标准语言以及多领域场景中的观点。Milagros 等人[11]提出了一种基于依存句法分析的无监督文本分类方法,并利用通过半自动极性方式构建的情感词典来改进准确率。尽管基于词典的方法可以计算给定文档的整体情感倾向,但它们通常存在覆盖率低的问题,并且难以捕捉情感和情绪的更深层次的潜在表现。

另一方面,机器学习技术通常从文本中提取情感特征,然后使用人工标注语料库训练分类器。胡等人[12]使用标注数据训练情感分类器,以对新的微博消息进行分类。随后,有研究提出了一种更精确的分类模型,用于从未标注数据中挖掘词语的上下文知识[13]。为了更快地从文本片段中检测情感,吉亚特索格卢等人[14]提出了一种方法论,其中文本文档被表示为一些向量,并用于训练极性分类模型。近年来,一些基于深度神经网络(DNN)和表示学习的情感分析方法被广泛使用。2014年,有研究提出了一种深度卷积神经网络(CNN),利用从字符级到句子级的信息来对短文本进行情感分析[15]。类似地,蔡等人[16]使用两个独立的CNN结构分别学习文本特征和视觉特征,这些特征可被整合为另一个CNN结构的输入,以挖掘文本与图像之间的内在关系。不久之后,孙等人[17]将帖子和相关评论组合成微博对话以进行特征扩展,并采用由多个受限玻尔兹曼机(RBM)层堆叠而成的深度神经网络(DNN)模型来分析短微博文本的情感。机器学习方法成功捕捉到了书面语言中遇到的句法和语义规律,在情感分类方面已被证明极为有效。然而,机器学习要求训练数据和测试数据应处于相同分布下,而实际上训练数据与测试数据很难满足独立同分布的假设,因此分类方法的性能可能会下降。

迁移学习(TL)是一种允许训练数据和测试数据具有不同领域、任务和分布的方法[7],其目标是通过在一个数据集(源域)上训练模型,以适应另一领域(目标域)中的稀疏标注数据。根据源域和目标域样本是否标注以及任务是否相同,迁移学习可分为三类:归纳式迁移学习、直推式迁移学习和无监督迁移学习[18]。归纳式迁移学习通过从训练集中提取适用于测试数据的样本来实现知识迁移。戴等人[19]采用提升方法,通过自动调整训练实例的权重来过滤掉与同分布数据差异较大的分布不同的训练数据。在直推式迁移学习中,目标域没有标注数据,要求模型利用来自不同领域的源域和目标域数据。Huang 等人[20]利用未标注数据的可用性进行样本选择,并提出一种非参数方法,该方法无需分布估计即可直接生成重采样权重。无监督迁移学习关注于处理目标域中的无监督学习任务,且源域和目标域均无标注数据。戴等人[21]提出了一种基于自学习聚类算法的协同聚类方法,该方法通过对目标数据和辅助数据同时进行聚类,使辅助数据的特征表示通过公共特征集影响目标数据。

迁移学习能够解决数据挖掘和情感分析领域中标注数据不足以及跨领域情感分类的问题。在一个领域中训练的情感分类器在另一个领域中可能表现不佳[22]。因此,如何在不同领域中选择有用的特征和样本变得至关重要。江和翟[23]提出了一种两阶段方法,用于选取针对目标域的有用特征。类似地,顾等人[24]研究了多任务聚类,旨在学习一个所有任务共享的子空间,在该子空间中知识可以相互转移。

3 方法论

在本节中,我们介绍用于我们情感分析方法中的两个重要组成部分,并在第3.3节中给出算法的完整步骤。图1展示了该方法的框架。首先,我们使用Doc2vec模型将每个段落映射为一个唯一的向量,用矩阵中的列表示,同时每个词也被映射为一个唯一的向量。然后,利用改进的AdaBoost方法从源训练数据和辅助数据中获取高权重特征,这些数据与目标测试特征具有最相似的分布。最后,使用所有特征对基于深度高斯过程的不对称迁移学习(ATL‐DGP)模型进行训练和测试。

3.1 改进的Adaboost方法

事实上,当训练数据与测试数据具有相同分布时,传统机器学习算法表现良好,但如果它们来自不同的特征空间,性能可能会很差。为了解决这一问题,戴等人[17]提出了TradaBoost框架,该框架将AdaBoost扩展到迁移学习。在该方法中,源训练数据与测试数据具有相同分布,而辅助训练数据的分布可能与测试数据不同。在Tradaboost中,仍然对源训练数据应用AdaBoost来构建模型,但对于辅助训练数据,提出了一种机制来降低被学习模型错误预测的实例的权重,以削弱其影响,因为这些实例可能与源训练数据最不相似。他们旨在利用来自不同领域的辅助训练数据,实现将知识从旧领域迁移到新领域。

但在大多数情况下,我们没有足够的标注训练数据,且其分布与测试数据不同。另一方面,有限的训练样本无法覆盖整个特征空间,可能导致样本偏差问题。因此,我们提出了一种改进的AdaBoost方法来解决上述问题。

形式上,设Ds为源训练实例空间,Da为辅助训练实例空间,L = {0, 1}为类别标签集合。一个概念是一个布尔函数f,从D映射到L,其中D = Ds ∪ Da。测试空间表示为Dt,且Dt中的数据是未标注的。辅助训练数据、源训练数据和测试数据分别表示为Ta = {(da_i, f(da_i))}, Ts = {(ds_j, f(ds_j))}和Tt = {dt_k},其中da_i ∈ Da (i = 1,…,n),ds_j ∈ D (j = 1,…,m)以及dt_k ∈ Dt (k = 1,…,)。f(d)返回数据实例d的标签。组合训练集T = {(di, f(di))}定义如下:

$$
di =
\begin{cases}
da_i, & i = 1,…, n; \
ds_i, & i = n+1,…, n+m.
\end{cases}
$$

这里,Ta和Ts对应来自不同领域的某些标注数据,我们试图充分利用这些数据,然而我们无法知道Ta和Ts的哪一部分对我们有用。可以利用Tt来找出有用的部分。我们试图解决的问题是:给定少量来自不同领域的已标注源训练数据Ts、大量已标注辅助数据Ta以及一些未标注测试数据Tt,目标是从Ta和Ts中选择出有用的数据部分用于情感分析。

在我们改进的Adaboost方法中,与Tradaboost不同,采用Hedge(b)来降低Ta和Ts中实例的权重,这些实例可能与测试数据的分布最不相似。在每个迭代轮次中,如果某个实例被错误预测,则该实例可能与测试数据存在冲突。随后,我们通过将其训练权重乘以b^(h_t(d_i) ≠ f(d_i)) ∈ (0, 1],降低其训练权重以减弱其影响。经过若干次迭代后,与测试数据具有相同分布的实例将获得更大的权重,然后我们可以从源训练数据和辅助数据中选取权重最高的前固定数量的训练数据。这些实例将有助于学习算法构建更优的分类器。该方法的具体步骤如下所述:

步骤1. 给定两个标注数据集Ta和Ts、未标注数据集Tt、一个学习器以及最大迭代次数N。

步骤2. 初始化权重向量,即w1 = [1/(n+m), …, 1/(n+m)],我们允许用户为w1指定初始值。

步骤3. 对于 t = 1,…,N,设置 pt = wt / Σ_{i=1}^{n+m} wti;调用学习器,向其提供组合训练集T以及在T上的分布pt和未标注数据集Tt,然后得到一个假设 ht: D → L。接着计算ht在T上的误差:

$$
ε_t = \frac{\sum_{i=n+1}^{n+m} x_{ti} |h_t(d_i) - f(d_i)|}{\sum_{i=n+1}^{n+m} x_{ti}},
$$

并设置 bt = εt / (1 - εt),注意 εt 需小于 1/2;更新新的权重向量:

$$
x_{t+1,i} = x_{t,i} b^{|h_t(d_i) - f(d_i)|}_t, \quad 1 ≤ i < n+m.
$$

步骤4。 分别选择前固定数量的高权重源训练数据和辅助数据集Ts’和Ta’。

3.2 基于深度高斯过程的不对称迁移学习

高斯过程(GPs),也称为正态随机过程,满足正态分布,是概率分布的一种推广。通过使用GPs,对高维和非线性函数的计算变得相对容易。此外,GPs的输出可以映射到分类模型上的概率值,这些值表示相应输出类别的概率。

Kandemir提出了一种ATL‐DGP模型,该模型采用两层前馈深度高斯过程作为源域和目标域的任务学习器,并在基准真实世界图像分类任务上达到了最先进的水平。图2展示了这一思想。通常,图像分类的过程与文本情感分析相似,两者都可以将向量表示作为分类器的输入,因此,图像分类的模型也可用于情感分析。本文中,我们借鉴ATL‐DGP模型,并打算将其应用于情感分类。

在本节中,我们将Xi设为任务i的Ni × D维数据矩阵,其每一行包含Ni个 D维实例,Yi是Ni × C矩阵,包含相应的输出。我们设定Ts = {Xs, Ys},Ta = {Xa, Ya},并构建两个高斯过程分类模型F = {Fa, Fs}。根据 ATL‐DGP,Fa可表示如下:

$$
p(Y_a|F_a) = \mathcal{N}(Y_a|F_a, β^{-1}I),
\tag{2}
$$

$$
p(F_a|D_a) = \mathcal{N}(F_a|0, K_{D_a D_a}),
\tag{3}
$$

$$
p(D_a|B_a) = \prod_{i=1}^H \mathcal{N}(d_{ia}|b_{ia}, α^{-1}I),
\tag{4}
$$

$$
p(B_a|X_a) = \prod_{i=1}^H \mathcal{N}(b_{ia}|0, K_{X_a X_a}),
\tag{5}
$$

其中,Ya和Fa为决策边界,Da为输入数据的潜在表示。这里,Ba是潜在非线性流形上辅助实例的表示。KXX是格拉姆矩阵,满足 Kx = k(xi,xj),KDaDa是由第一个高斯过程模型层基于Fa和Da生成的格拉姆矩阵,KXaXa是由第二个高斯过程模型层基于Ba和Xa生成的格拉姆矩阵。p(·)表示密度函数,N(x|μ,Σ)是具有均值μ和协方差Σ的多元正态密度:α,β在公式(1)、(3)中以及下文中的k均为正态密度的精度。H表示隐节点数量。

类似地,对于Fs有:

$$
p(Y_s|F_s) = \mathcal{N}(Y_s|F_s, β^{-1}I),
\tag{6}
$$

$$
p(F_s|D_s) = \mathcal{N}(F_s|0, K_{D_s D_s}),
\tag{7}
$$

$$
p(D_s|B_s, B_{a→s}, p) = \prod_{k=1}^{N_s} \mathcal{N}(d_{ks}|p b_{a→s} + (1-p)b_{ks}, α^{-1}I),
\tag{8}
$$

$$
p(p) = \text{Beta}(p|ε,φ),
\tag{9}
$$

$$
p([B_s, B_{a→s}]|X_a,X_s) = \prod_{i=1}^H \mathcal{N}([b_{ia}, b_{is}]|0, K_{[X_a,X_s][X_a,X_s]}),
\tag{10}
$$

$$
p(B_s|X_s) = \prod_{i=1}^H \mathcal{N}(b_{is}|0, K_{X_s X_s}).
\tag{11}
$$

3.3 提出的方法

在情感分析领域,当训练数据(尤其是标注训练数据)不足以构建准确的分类模型时,情感分析的最终结果将不理想。此外,由于训练样本无法覆盖整个特征空间,训练数据和测试数据可能处于不同分布。标注新数据成本较高,而丢弃旧数据也是一种浪费。本文提出一种基于高斯过程的改进AdaBoost和迁移学习的情感分析方法。传统的词袋模型丢失了词语顺序,且忽略了词语语义,存在数据稀疏性和高维性问题。Le和Mikolov[26]提出了一种名为段落向量(Doc2vec)的无监督框架,用于学习文本片段的连续分布式向量表示,该方法可应用于变长文本片段。为了更好地处理数据集,我们使用Doc2vec模型将所有特征映射为段落向量和词向量。此外,充分利用辅助训练数据可以提升分类模型性能。但辅助训练数据可能与测试数据具有不同分布。因此,改进的 AdaBoost方法的目的是从辅助数据和源数据中选择最有帮助的训练数据。经过特征选择后,我们获得高权重源训练数据以及辅助数据集Ts’和Ta’。此处,Ts’和Ta’是与目标测试特征具有最相似分布的特征。最后,为了实现知识迁移,ATL‐DGP使用来自Ta、Ts、Ts’、Ta’和Tt的所有特征进行训练和测试。

算法1给出了我们方法的详细描述。

算法1. 提出的方法

输入 :源训练数据集 Ts 和辅助训练数据集 Ta,目标测试数据集 Tt,Doc2vec模型,隐含节点的数量H,以及 AdaBoost 迭代的最大次数 N。

输出 :目标测试数据集 Tt 的标签

步骤 :

步骤1 :使用Doc2vec模型将Ts、Ta、Tt映射为段落向量和词向量;

步骤2 :调用GPs模型,使用改进的AdaBoost方法获取高权重的源训练数据和辅助数据集Ts’和Ta’;

步骤3 :输入 Ta, Ts, Ts’, Ta’ 用于ATL‐DGP以训练模型;

步骤4 :调用ATL‐DGP模型预测Tt并输出类别标签。

4 实验评估

4.1 实验设置

为了评估我们的方法,我们采用了第六届中文意见分析评测(COAE2014)中文微博观点识别任务的基准中的训练数据和测试数据,其中训练数据集被设为源训练数据,测试数据集被设为目标测试数据。训练数据包含1840个来自同一主题的训练实例,其中包括1005个人工标注的正例和835个负例;测试数据包含来自手机、保险和翡翠三个不同领域的7000个测试实例,其中包括3776个正例和3224个负例。

此外,我们从自然语言处理与中文计算(NLPCC2014)基于深度学习的情感分类任务的基准中获取辅助数据,其中包含来自不同领域(如图书、数字视频等)的10000个训练实例,包括5000个正例和5000个负例。

进行了若干预处理步骤。首先,使用结巴1中文文本分词进行分词、词性标注和停用词去除。然后,采用Doc2vec2将整个数据集映射到向量表示,并通过改进的AdaBoost方法从源特征和辅助特征中筛选出有用的训练特征。最后,将源训练特征(拼接源特征和辅助特征)以及目标测试特征输入ATL‐DGP模型,以获得分类结果。实验所需的所有参数如表1所示。

表1. 参数设置

模型 Name
Doc2vec Min_计数 1
Doc2vec 窗口大小 10
Doc2vec 词向量维度 300
AdaBoost 对冲(b) 0.025
AdaBoost 最大迭代次数 10
AdaBoost 初始权重 1
ATL‐DGP 诱导点数量 10
ATL‐DGP 隐藏单元数量(源) 5
ATL‐DGP 隐藏单元数量(目标) 5
ATL‐DGP 最大迭代次数 1
ATL‐DGP 起始学习率 0.001

1 https://github.com/fxsjy/jieba
2 https://radimrehurek.com/gensim/models/doc2vec

4.2 结果与分析

在本节中,我们通过借助基准数据集将我们的方法与一系列基线方法进行比较,以评估其性能。在将文本转换为向量表示后,这些向量矩阵被用作以下四种不同分类算法的输入。支持向量机(SVM)[3],将一个类别的文档向量与其他类别的文档向量分离开,并尽可能保持较大的间隔。RBMDNN[14]采用堆叠了多个RBM层的DNN模型,用于分析短微博文本的情感。为了更充分地比较这些方法,在ATL‐DGP1中仅使用源训练数据作为训练样本,而在SVM、RBMDNN、ATL‐DGP2和AdaBoost ATL‐DGP(A‐ATL‐DGP)中使用组合训练特征(即源训练数据与辅助数据拼接后的结果)作为训练数据,目标测试数据则用作测试数据。

通常,情感分类的性能通过四个指标进行评估,即:准确率、精确率(P)、召回率(R)和F1分数(F)。不同方法的性能如表2所示。在表2中,采用迁移学习技术的方法性能优于朴素贝叶斯(NB)、支持向量机(SVM)和 RBMDNN等传统机器学习算法。

此外,尽管ATL‐DGP2中存在辅助数据,但与ATL‐DGP1相比,ATL‐DGP2的准确率下降了1.15%。这表明添加训练数据集可能有助于分类器,但也可能降低性能,因为辅助数据中包含大量噪声数据,且辅助数据的分布可能与测试数据不同,这种现象称为负迁移。

相比之下,如果按照我们上述方法对辅助数据进行选择,分类器的性能将得到显著提升。显然,与ATL‐DGP2相比,A‐ATL‐DGP算法的准确率提高了3.68%,且比ATL‐DGP1也高出2.53%。

表2. 不同方法的性能

方法 SVM RBMDNN ATL‐DGP1 ATL‐DGP2 A‐ATL‐DGP
准确率 (%) 79.95 81.50 84.02 82.87 87.70
正面 P 0.7880 0.8469 0.8517 0.8415 0.8750
正面 R 0.7924 0.7967 0.8159 0.8365 0.8750
正面 F 0.7902 0.8210 0.8309 0.8581 0.8803
负面 P 0.7916 0.7750 0.8415 0.8365 0.8776
负面 R 0.7820 0.8000 0.8172 0.8046 0.8914
负面 F 0.7868 0.7873 0.8060 0.8255 0.8774
总体 F1 0.8116 0.8149 0.8843

5 结论

本文提出了一种新的情感分析方法,该方法将AdaBoost算法与基于深度高斯过程的非对称迁移学习模型相结合。实验结果表明,所提出的方法特别有效且高效,因为选择了最有用的不同分布实例作为额外训练数据,用于预测测试数据的标签。性能可以在以下方面进一步提升:利用正向迁移的特性,寻找更好的方法来避免负迁移;同时,可以从领域相似性出发,开发更简单的领域相似性度量算法。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值