一种基于emoji的跨语言情感分析方法和装置与流程

文档序号:16855809发布日期:2019-02-12 23:16阅读:239来源:国知局
一种基于emoji的跨语言情感分析方法和装置与流程

本发明是一种基于emoji的跨语言情感分析方法和装置,属于软件技术领域。



背景技术:

近年来,随着互联网的发展,网络上涌现出了大量的用户生成文本,例如博客、微博、论坛讨论、评论等。大量的用户生成文本引发了研究者对其进行自动情感分析的研究兴趣。自2000年初以来,情感分析已经成为自然语言处理领域最热门的研究课题之一,并被广泛应用于web挖掘、数据挖掘、信息检索、普适计算和人机交互等研究领域。研究者对于情感分析工作的热情很大程度上归功于其较高的实际应用价值。情感分析技术已被应用于客户反馈跟踪、销售预测、产品排名、股市预测、意见整合、选举预测等诸多真实场景,并产生较大的实际效益。

可是,目前多数情感分析研究都开展在英文文本上。这种研究现状很大程度上是因为早期情感分析工作主要由英语为母语的国家的研究者开展。这些研究提供了一些有标注的语料库和基准数据集,为研究人员进行后期研究提供了便利。进一步地,研究者们都开始聚焦在英文文本研究上,从而导致了其他语言上情感分析工作的停滞不前。然而,据统计,仅有25.3%的互联网用户使用英语(https://www.internetworldstats.com/stats7.html)。这表明其他语言也拥有庞大的用户群体,在其他语言上开展情感分析工作同样至关重要。这样的研究现状促使一批研究者开始进行跨语言情感分析研究。该研究旨在利用资源丰富的语言(即源语言,通常指英语)中的标注数据来训练一种通用模型,该跨语言情感分析模型同样可以对标注数据资源不丰富语言(即目标语言,如日语)的文本进行情感分类。

跨语言情感分析的关键在于寻找出一个能连接源语言与目标语言之间的词汇鸿沟的媒介。大部分的主流工作选择源语言和目标语言的平行文本来作为这一媒介。平行文本即对于同一语义,两种语言的不同的文本表述。平行语言的生成高度依赖于机器翻译技术。但目前的翻译技术在翻译过程中往往会丢失原语句中的情感信息,给跨语言情感分析造成困难。例如,图1所示,英语中的“blacksheep”往往用于指“害群之马”,但在翻译成日语后,只保留了原来英语的语义信息(黑色的羊),丢失了讽刺的情感意味。另外,虽然源语言(英语)与其他语言相比,有标注的资源的数据量相对丰富,但事实上,这些数据在如今的深度学习算法面前仍然太局限,往往无法很好地学习出词句的向量表征。因此,急需找到一个既能缓解翻译过程中的出现情感丢失的问题,又能弥补标记数据的缺失的新的学习方式。一种可能的解决方案即是远程监督学习。远程监督学习技术需要研究者人工定义规则来生成弱标签数据,通过对大量弱标签数据的学习来达到接近使用真实标记的数据训练的结果。



技术实现要素:

针对目前跨语言情感分析技术领域存在的问题,本发明的目的是基于emoji的广泛使用提供一种半监督的表征学习框架来解决跨语言情感分析的方法和装置。

对于跨语言情感分类问题,选择的弱标签需要满足两个特性。一方面,该标签需要在各语言中都被广泛使用。另一方面,该标签能够隐式地透露出情感信息。这样的选择标准下,本发明使用emoji(表情符号)作为弱标签。emoji因其没有语言障碍且能用于表达不同情感的特质,被不同的性别和国家的用户广泛使用,可以将其作为各语言中文本真实情感的弱标签。因此,本发明提出了一种基于emoji的跨语言情感分析表征学习方法,旨在利用源语言(英语)的资源训练出能分类目标语言的文本情感的模型。

本发明采用的技术方案如下:

一种基于emoji的跨语言情感分析方法,其主要步骤为:

1.无监督学习阶段:基于收集的大量源语言和目标语言的未标记文本创建词向量;

2.远程监督学习阶段:基于创建的词向量,选出未标记文本中包含emoji的文本,通过这些文本建立emoji预测任务,从而获得句表征模型;

3.监督学习阶段:将标记过情感极性的源语言语料翻译成目标语言,利用原先的句表征模型得到原文本和翻译得到的文本的文档表征,然后利用这些文档表征训练一个情感分类模型;

4.情感分类阶段:利用训练得到的情感分类模型,对目标语言的新文本进行情感分类,得到其情感极性。

图2是上述方法的流程图。上述步骤的具体技术方案如下:

1.无监督学习阶段

在这个阶段中,使用了大规模的推特文本和word2vec的方法来训练得到词向量。这些文本可以通过twitterapi(https://developer.twitter.com/)获取得到。传统的one-hot表示方法虽然能将每个词区分开,但那还是却离散地表示,无法建立词与词之间的语义联系,从而加大了后期文本处理任务的难度。为了解决这一问题,本发明使用了word2vec词向量的机制,即通过模型训练将每个单词编码到连续的向量空间中。该过程只是利用未标记的语料来捕捉词语所表征的语义信息,因此是无监督的。在具体实现的过程中,先通过预训练得到的词向量模型参数来初始化整体框架中的词向量表征部分,并在接下来的远程监督学习阶段进行参数的调整优化,在最后的监督学习阶段固定相关的参数。

2.远程监督学习阶段

基于无监督学习阶段创建的词语层面的表征(即词向量),本发明设计了一个基于emoji的预测任务来同时包含文本语义和情感信息的表征机制。在预测emoji任务中,使用相同的emoji的句子会在向量空间被相似地表征。在图3中进一步说明了emoji预测模型的框架结构。其中使用两个双向lstm层和一个attention层来进行句子层面的文本编码。这里,通过使用skip-connection(跳跃式传递)的机制,使得attention层的输入为词向量层加上两个lstm层的输出,以实现信息在整个模型中无阻碍传递。最后,attention层的输出用于softmax层的分类。

接下来,将分别介绍双向lstm层、attention层及softmax层。

双向长短期记忆网络(bi-lstm)层:每个训练样本可以表示为(x,e),其中x=[d1,d2,…,dl],表示移除emoji后的文本对应的词向量序列,而e对应着文本中原本包含的emoji。在步骤t时,lstm按照如下的公式进行网络中节点状态的计算:

i(t)=δ(uix(t)+wih(t-1)+bi),

f(t)=δ(ufx(t)+wfh(t-1)+bf),

o(t)=δ(uox(t)+woh(t-1)+bo),

c(t)=ft⊙c(t-1)+i(t)⊙tanh(ucx(t)+wch(t-1)+bc),

h(t)=o(t)⊙tanh(c(t)),

其中x(t),i(t),f(t),o(t),c(t)及h(t)分别表示lstm在步骤t下的输入向量、输入门状态、遗忘门状态、输出门状态、内存单元状态及隐藏层状态。w、u、b分别代表循环网络结构的参数、输入结构的参数及偏差项参数。符号⊙表示元素积。可以根据模型的输出得到对应步骤t下每个句子的词序列表征向量。

更进一步地,为了获取和每个词相关的过去及未来使用的上下文信息,使用双向lstm来对词序列编码。将前向及后向lstm得到的词序列的第i个元素的表征向量直接连接得到最终的表征hi。具体计算公式如下:

这样得到的表征向量hi同时捕获到了对应的第i个词语前向及后向的上下文信息。

attention层:由于在之前提到的,通过skip-connection连接了词向量层、前向lstm层、后向lstm层作为attention层的输入向量,输入句子中的第i个词语因而可以如下表征为ui:

ui=[di,hi1,hi2],

上式中di,hi1及hi2分别表示第i个词语在词向量层、前向lstm层、后向lstm层中的表征。由于不是每一个词语都对预测emoji的任务及情感分类起到相同的作用,本发明引入了attention机制来决定每个词语在当前阶段表征学习过程的重要性。第i个词语的attention层得分可以按照如下的公式进行计算:

其中wa为attention层的参数矩阵,而每个句子都可以表示为一组词序列,进一步表征为词序列中各个经过连接后的词表征的加权平均,而其中的权值即为上式计算出的attention值。具体来说,每个句子的表征即为如下的形式,其中l为句子中所包含的词语个数:

softmax层:从attention层得到的句子表征再转移到softmax层中,经过softmax层后将会返回对应的概率向量y。概率向量y的每一个元素表示对应的句子包含某个特定emoji的概率。具体来说,概率向量第i个元素可以按照如下的方式进行计算:

其中,t表示矩阵转置,wi表示第i个权重参数,bi表示第i个偏差项参数,k表示概率向量的维度。在得到每个句子对应的概率向量后,使用交叉熵作为损失函数,使用梯度下降的方式对参数进行更新,最小化模型的预测误差。在上述的远程监督学习及无监督学习对参数的调整后,可以从attention层的输出中提取每个句子的向量表征。

而由于之后的监督学习阶段的数据量有限,为了避免模型参数过于庞大带来的过拟合问题,在训练最终文档层面的向量表征过程中将会固定句子表征模型,相应的参数将不会再被调整。

3.监督学习阶段

在远程监督学习阶段之后,每个语言中的有相同语义及情感信息的句子将会在表征的向量空间中映射紧密。而最终希望解决的问题是文档的跨语言情感分析,因此仍需要一种紧凑且抓住有效信息的方法对文档进行表征。每个文档中,不同的句子对整个文档的情感表达均有不同程度的重要性。因此,同样采用了文档层面的attention机制来聚合每个文档中的不同句子。这里将每个文档表征记为r,文档中的句子表征记为v,通过如下的公式对r进行计算:

其中wb为attention层的权值矩阵,而βi为文档中第i个句子的attention值。使用谷歌翻译将每个源语言样本x∈ls翻译成目标语言,并采用相同的方法得到翻译后文本的向量表征。对于每个有标注英语文本xs及其相应翻译文本xt,假设其通过上述的attention层后得到的向量表征为rs及rt,在监督学习的阶段将其直接连接得到rc=[rs,rt],并将得到的rc作为最后softmax层的输入,并最小化网络预测结果和真实标签间的交叉熵损失来更新相应的网络参数。

与上面方法对应地,本发明还提供一种基于emoji的跨语言情感分析装置,其包括:

无监督学习模块,负责基于收集的大量源语言和目标语言的未标记文本创建词向量;

远程监督学习模块,负责基于所述词向量选出未标记文本中包含emoji的文本,通过所述包含emoji的文本建立emoji预测任务,从而获得句表征模型;

监督学习模块,负责将标记过情感极性的源语言语料翻译成目标语言,利用所述句表征模型得到原文本和翻译得到的文本的文档表征,然后利用所述文档表征训练情感分类模型;

情感分类模块,负责利用训练得到的所述情感分类模型,对目标语言的新文本进行情感分类,得到其情感极性。

与现有技术相比,本发明的积极效果为:

本发明使用在社交平台上易爬得的emoji文本来缓解标记资源稀少、不同语言中标记资源不平衡的问题。具体来讲,因为是远程监督学习,使用emoji作为情感的弱标签,因此对于人工标注的语料的需求量较少。另外,因为emoji在各语言中被广泛使用,用emoji来做跨语言情感分析中的弱标签,对各语言普适。

附图说明

图1是谷歌翻译样例示意图。

图2为本发明方法的流程图。

图3为远程监督学习框架图。

图4为从包含多个emoji的推文中提取样本的示例图。

具体实施方式

下面以经典的亚马逊评论的跨语言分析任务(https://www.uni-weimar.de/en/media/chairs/computer-science-department/webis/data/corpus-webis-cls-10/)来进一步说明和验证本发明的方法。该任务以英语为源语言,以日语、法语、德语为目标语言,对于每个语言,包含数据、dvd、音乐三个领域的情感分析任务。因其代表性,该任务一直作为学术领域在跨语言情感分析领域的基准数据集。为了在该数据集上验证本发明的方法,按如下步骤实施模型的训练。

首先,从推特上爬取了英语、日语、法语、德语的推文,并进行如下预处理:

1)去除转发的推文,以保证每句话都出现在它原来的语境中;

2)去除包含url的推文,以保证每句话的情感只依赖于本身的语义,不依赖于外部资源;

3)对于所有的推文进行了切词,并且转为了小写字母。由于日文不是由空格分隔单词,本实施例选用了mecab(http://taku910.github.io/mecab)这一切词工具来对日文单独处理;

4)对于推文中的@以及数字,用统一的特殊字符来替代;

5)将那些有冗余字母的单词恢复到它们原来的样子,例如将“cooool”和“cooooooool”都转为“cool”。

将word2vec用于这些预处理后的文本得到源语言和目标语言中每个词的表征。

接下来,从这些推文中提取包含emoji的文本。对于每个语言,从其推文中提取了用的最多的64种emoji,然后过滤掉不含这些emoji的句子。另外,一些语句中可能会包含多个emoji。对于每个推文,为其中包含的每种emoji都创造出一条样本。例如,图4中(a)图所示的语句可以衍生出(b)图、(c)图所示的两条样本。利用这些得到的emoji样本建立emoji预测任务,为源语言和目标语言分别训练得到句表征模型。

最后,将带有情感标签的英语语料翻译为目标语言,构成平行文本。将平行文本分别丢入上一步得到的对应语言的句表征模型中得到文本中每句话的句表征,用于训练监督学习模型。

得到的监督学习模型可以用于分类目标语言的文本的情感。下面表1展示了本发明的方法在亚马逊基准数据集的9个任务中的分类准确率。

表1.本发明方法在亚马逊基准数据集的9个任务中的分类准确率(%)

本发明中,无监督学习阶段得到词向量的过程中除了使用word2vec算法外,还可以使用其他经典算法,例如glove算法。远程监督学习阶段除了使用双向lstm层来编码文本外,也可以使用cnn(卷积神经网络)模型。另外,双向lstm的层数也可以做调整。

本发明另一实施例提供一种基于emoji的跨语言情感分析装置,其包括:

无监督学习模块,负责基于收集的大量源语言和目标语言的未标记文本创建词向量;

远程监督学习模块,负责基于所述词向量选出未标记文本中包含emoji的文本,通过所述包含emoji的文本建立emoji预测任务,从而获得句表征模型;

监督学习模块,负责将标记过情感极性的源语言语料翻译成目标语言,利用所述句表征模型得到原文本和翻译得到的文本的文档表征,然后利用所述文档表征训练情感分类模型;

情感分类模块,负责利用训练得到的所述情感分类模型,对目标语言的新文本进行情感分类,得到其情感极性。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1