基于双语信息的情绪分类方法及系统与流程

文档序号:15445786发布日期:2018-09-14 23:20阅读:152来源:国知局
本发明涉及一种自然语言的计算机处理方法,具体涉及一种对文本进行情绪分类的方法及系统。
背景技术
:随着社交网络的迅速发展,twitter、facebook、微博等社交媒体逐渐成为人们沟通情感和传达信息的重要途径。它们是一种新兴的基于用户关系的信息获取、传播及分享平台,注册用户可以随时通过电脑、手机等设备发布信息。就国内而言,微博以更新快、信息量大、传播广等特点吸引了越来越多的用户,已逐渐成为人们分享和获取信息的核心社交平台。在微博海量的文本信息中,有很大一部分文本带有微博用户的情感信息。微博用户通过微博发表自己的观点,如对名人的喜欢或厌恶、对商品的评论、社会热点的看法及生活中的喜怒哀乐等。处理和分析这些带有情绪的言论有助于舆情监控、突发事件预警及心理疾病治疗等实际应用。因此,对微博等社交文本的情绪分析研究有着较高的研究意义和应用价值。情绪识别和情绪分类是情绪分析的两个基本任务。情绪识别(emotionrecognition)是指对目标文本进行分析,判断该文本是否含有情绪。情绪分类(emotionclassification)是针对文本表达的个人情绪(如:高兴、伤心、惊讶等)进行自动分类的方法。情绪识别是情绪分类的前提和基础,情绪分类是情绪分析的重点和难点。本发明主要解决情绪分类方面的技术问题。目前,已有的文本情绪分类研究都是在单语语料上训练得到情绪分类模型。例如,中国发明专利申请cn105243095a公开了一种基于微博文本的情绪分类方法,,包括以下步骤:s1、收集一定数量微博用户发表的微博文本,并将收集到的微博文本进行情绪类型标注;s2、利用分词软件将标注好的微博文本进行分词处理,并将经过分词处理的微博文本作为训练样本,并利用所述训练样本及贝叶斯工具包构建贝叶斯分类器;s3、利用所述贝叶斯分类器,对用户微博文本进行分类,得到分类结果,并根据所述分类结果确定情绪类型。而在实际应用中,由于存在已标注样本不足和文本较短(如短微博文本)、信息量少等问题,现有技术中的情绪分类方法难以捕捉到有效的特征,严重影响了文本情绪分类的性能。因此,如何在已标注样本较少、文本较短、信息量少的应用场景下,提供一种有效的情绪分类方法,是本领域急需解决的问题。技术实现要素:本发明的发明目的是提供一种基于双语信息的情绪分类方法,以有效提升文本情绪分类性能。本发明的另一个目的是提供一种基于双语信息的情绪分类系统。为达到上述发明目的,本发明首先对收集的语料进行标注,得到标注样本,使用机器翻译程序,将中文语料翻译成英文语料、将英文语料翻译成中文语料,将两组中文语料进行合并得到最终的中文语料、将两组英文语料进行合并得到最终的英文语料;将中英文两组语料进行分词,使用词特征对文本进行特征表示;使用lstm模型分别从中文词特征表示和英文词特征表示中学习更深层次的隐层特征;将学习到的两组隐层特征进行融合,训练softmax分类器进行情绪分类。具体地,本发明采用的技术方案是:一种基于双语信息的情绪分类方法,包括以下步骤:(1)从互联网上获取用于情绪分类的文本,所述文本包括中文文本和英文文本中的至少一类;(2)使用机器翻译程序,将获取的中文文本翻译成英文,将英文文本翻译成中文,合并相同语言的文本,分别得到中文语料组和英文语料组;(3)对中文语料组中的语料进行分词,使用词特征对文本进行表示,并使用lstm模型学习深层次的隐层特征,得到中文隐层特征;对英文语料组中的语料进行分词,使用词特征对文本进行表示,并使用lstm模型学习深层次的隐层特征,得到英文隐层特征;(4)融合步骤(3)中获得的中文隐层特征和英文隐层特征,获得融合后的隐层特征,作为情绪分类器的输入特征;(5)将步骤(4)中获得的融合后的隐层特征输入情绪分类器进行处理,实现情绪分类;其中,所述情绪分类器经过训练构建,对情绪分类器的训练包括:收集一定量的文本,进行人工标注,赋予每条文本一个情绪标签,构成训练文本集;对训练文本集采用上述步骤(2)-(4)的方法处理获得融合后的隐层特征,对情绪分类器进行训练。上述技术方案中,步骤(3)中,使用词袋模型将词特征转化为特征向量,其中向量的长度为词典的长度,如词典中的词在文本中出现,则对应的值为1,否则为0。步骤(4)中,中文隐层特征和英文隐层特征采用拼接方式整合;或者,中文隐层特征和英文隐层特征采用按位相加方式融合。优选地,所述情绪分类器由softmax分类器经训练构建获得。上述技术方案中,步骤(1)中,使用计算机程序自动从微博上爬取微博文本、从twitter上爬取twitter文本,作为用于情绪分类的文本。为获得更好的分类效果,先对获取的文本进行自动语言识别,再由机器翻译程序将中文文本翻译成英文,将英文文本翻译成中文。为实现本发明的另一发明目的,本发明提供一种基于双语信息的情绪分类系统,包括:获取模块,用于从互联网上获取用于情绪分类的文本;机器翻译模块,用于将获取的中文文本翻译成英文,将英文文本翻译成中文;语料混合模块,用于合并相同语言的文本,分别得到中文语料组和英文语料组;特征提取模块,用于对语料进行分词处理并得到隐层特征;融合模块,用于融合中文隐层特征和英文隐层特征;情绪分类模块,用于实现情绪分类;上述各模块依次连接,上一模块的输出作为下一模块的输入。其中,所述特征提取模块为双通道模块,每一通道分别包括分词组件、词特征提取构建组件和lstm模型层,两个通道分别用于对中文文本和英文文本的处理。由于上述技术方案运用,本发明与现有技术相比具有下列优点:本发明通过机器翻译,获取了文本的双语信息,不仅解决了文本情绪分类任务中标注样本缺乏的问题,而且能够使用翻译文本对源文本进行扩充,有效地提升了文本情绪分类任务的性能,在测试样本中取得了很好的情绪分类正确率。附图说明图1是本发明实施例的基于双语信息的情绪分类系统框架图;图2是本发明实施例与其它不同情绪分类方法性能比较图。具体实施方式下面结合附图及实施例对本发明作进一步描述:实施例一:参见图1所示,是本发明的一种基于双语信息的情绪分类系统框架结构,它的系统主要由两部分构成:训练和识别。包括:获取模块,用于从互联网上获取用于情绪分类的文本;机器翻译模块,用于将获取的中文文本翻译成英文,将英文文本翻译成中文;语料混合模块,用于合并相同语言的文本,分别得到中文语料组和英文语料组;特征提取模块,用于对语料进行分词处理并得到隐层特征;融合模块,用于融合中文隐层特征和英文隐层特征;情绪分类模块,用于实现情绪分类;上述各模块依次连接,上一模块的输出作为下一模块的输入。具体分别步骤描述如下:a)将收集到的微博文本和twitter文本进行人工标注,赋予每条文本一个情绪标签;b)使用机器翻译程序,将微博文本翻译成中文、将twitter文本翻译成英文;c)合并相同语言的文本,得到两组不同语言的语料;d)对两组语料进行分词,分别使用词特征对文本进行表示,并使用lstm模型学习深层次的隐层特征;e)融合得到的两组隐层特征,构建最终情绪分类模型;f)使用训练好的分类模型,对测试样本进行情绪分类。所述语料处理过程中步骤a)中,通过python程序从微博和twitter网站收集语料,并安排人员进行情绪类别的标注;所述语料处理过程中步骤b)中使用机器翻译程序对收集到的微博文本和twitter文本进行翻译;所述分类处理过程中步骤c)中,将中文微博语料同翻译后的twitter语料进行合并、将英文twitter语料同翻译后的微博语料进行合并;所述分类处理过程中步骤d)中,使用python结巴分词,对两组语料进行分词,得到文本的词特征表示,使用lstm模型提取高层次的隐层特征;所述分类处理过程中步骤e)中,融合两组隐层特征,得到融合特征,构建情绪分类器;所述分类处理过程中步骤f)中,分别在中文微博语料和英文twitter语料上进行测试,得到文本情绪识别结果。下面详细说明本发明方法所涉及的各个细节问题。1.语料预处理本发明提出一种基于双语信息的情绪分类方法。在语料预处理过程中,本发明借助python结巴分词接口进行分词,从原始语料中获取每个样本的词特征。使用百度翻译程序对文本进行翻译。如下所示。原始文本:同学们立刻欢呼雀跃起来。分词文本:同学们立刻欢呼雀跃起来。翻译文本:studentsimmediatelycheeredup.原始文本:todayissoglad分词文本:todayissoglad翻译文本:今天很高兴本发明使用词的一元特征对文本进行特征表示,如使用“同学们立刻欢呼雀跃起来”表示文本“同学们立刻欢呼雀跃起来”;随后使用词袋模型将词特征转化为特征向量,如“1010011…”,其中向量的长度为词典的长度,如词典中的词在文本中出现,则对应的值为1,否则为0。最后,我们将离散的特征向量映射为wordembedding词向量特征,即每个词又是一个n维的向量,句子由一个型为(句子长度,词向量维度)的向量表示。这样做的意义在于避免了文本向量长度太大,向量稀疏的问题,同时word-embedding向量能够包含词的语义信息,更有利于文本分类问题。2.lstm模型lstm是对传统递归神经网络(rnn)的改进,其使用记忆单元来对历史信息进行更新,可以解决rnn在反向传播过程中的梯度消失和梯度爆炸问题。alexgraves对lstm进行了改进,使得lstm被广泛应用于自然语言处理、语音识别等领域中。使用lstm可以学习到文本的长期依赖关系,历史信息的更新和利用受到3个门的控制。lstm单元在t时刻的更新过程如下:(1)(2)(3)(4)(5)(6)其中为lstm在t时刻的输入,为lstm在t-1时刻的输出,为记忆单元在t时刻的候选值。w,u是参数矩阵,b是偏置向量。表示logistic函数,符号表示向量的点乘。遗忘门用来决定当前时刻哪些旧信息需要从记忆单元中抛弃;输入门决定当前时刻记忆单元中需要存储哪些新的信息;输出门决定了当前时刻记忆单元中哪些信息需要输出。遗忘门与上一个时刻记忆单元的值相乘得到上一时刻记忆单元保存下的信息,输入门与当前时刻记忆单元的候选值相乘得到当前时刻新加入记忆单元的信息,将两者相加得到当前时刻记忆单元的值。使用tanh函数将记忆单元的值映射到-1与1之间,起到稳定数值的作用。最后将输出门与相乘,得到lstm单元在t时刻的输出。3.实验结果本实施例中使用的语料来自中文新浪微博语料和英文twitter语料。其中中文微博语料有七种情绪类别,类别及数量分布如下表:表1中文微博语料情绪类别样本分布类别angerdisgustfearhappinesslikesadnesssurprise样本集6691392148145922041173362英文twitter语料的情绪类别有4种,分布如下表:表2英文twitter语料情绪类别样本分布类别angerfearjoysadness样本集1901245218161733从中文微博语料中每个类别抽取72条,共72×7=504条文本作为中文测试集,剩余样本作为中文训练集;从英文twitter语料中每个类别抽取200条,共200×4=800条文本作为英文测试集,剩余样本作为英文训练集。为说明本发明的效果,以下采用多种对比例和2种实施例进行了情绪分类,并做了性能比较。对比例:baseline1_maxent:直接使用源语言的训练集训练最大熵分类器,对相应语言的测试集进行测试;baseline1_lstm:直接使用源语言的训练集训练lstm分类器,对相应语言的测试集进行测试;baseline2_maxent:通过百度翻译将中文语料翻译成英文、英文语料翻译成中文,从而实现训练集扩充。使用扩充后的训练集训练最大熵分类器,对测试集进行测试;baseline2_lstm:通过百度翻译将中文语料翻译成英文、英文语料翻译成中文,从而实现训练集扩充。使用扩充后的训练集训练lstm分类器,对测试集进行测试;两个实施例(融合方式不同):bilingual-concat:融合双语训练集,构建双通道lstm情绪分类器,对相应语言的测试集进行测试。其中两个通道的隐层向量通过拼接方式融合。bilingual-sum:融合双语训练集,构建双通道lstm情绪分类器,对相应语言的测试集进行测试。其中两个通道的隐层向量通过按位相加方式融合。(上述方法中最大熵分类器使用词袋模型bag-of-words,lstm分类器使用word-embedding作为特征输入)上述各方法的实验性能(正确率)如图2所示。从图2中可以看出,对比例的方法(baseline1_maxent和baseline1_lstm,baseline2_maxent和baseline2_lstm)的性能相当,lstm分类器略优于最大熵分类器;通过翻译语料扩充训练集的方法在正确率上也有提高。而实施例的基于双语的双通道lstm分类器性能明显优于其他方法。隐层向量融合方式使用concat和sum都能够在正确率上得到提高。表3和表4展示了中英文语料测试集上各实验方法在各情绪类别上的f1值,总体看来,基于双语的双通道lstm情绪分类方法还是有效的。其中f1分数是统计学中用来衡量分类模型精确度的一种指标。它同时兼顾了分类模型的准确率和召回率。f1分数可以看作是模型准确率和召回率的一种加权平均,它的最大值是1,最小值是0。表3英文语料各情绪类别的f1值比较情绪类别angerfearjoysadnesslikedisgustsurprisebaseline1_maxent0.3650.0790.4630.4400.4470.3570.207baseline1_lstm0.4590.0270.4970.4000.4320.3350.152baseline2_maxent0.3020.2800.4970.4470.4180.3510.230baseline2_lstm0.4430.0980.4660.4640.4460.3610.228bilingual-concat0.4340.2670.5180.4860.4060.4230.140bilingual-sum0.4390.1220.5930.4000.4710.4590.202表4中文语料各情绪类别的f1值比较情绪类别angerfearjoysadnessbaseline1_maxent0.5310.4780.5800.431baseline1_lstm0.5000.5100.5790.471baseline2_maxent0.5310.5020.5840.456baseline2_lstm0.5470.5170.5910.494bilingual-concat0.5600.5380.6280.466bilingual-sum0.5370.5150.6600.477可见,本发明实施例的方法,获得了显著的性能提升。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1