一种基于转折句语义块划分机制的情感分类方法与流程

文档序号:15144521发布日期:2018-08-10 20:17阅读:163来源:国知局

本发明属于自然与语言处理领域的情感分类问题,尤其针对包含多种语义的情感表达方式,如欲抑先扬或欲扬先抑的转折句,进行有效的情感分类。



背景技术:

随着internet的飞速发展,以网络为传播媒介的文本信息越来越受到企事业单位和个人的关注,网络信息可为政府部门了解民众意向,企业通过开辟产品评论了解用户对产品的意见以改进产品性能,消费者通过产品评论来指导消费行为。然而,网上每天都有大量的新评论出现,评论开始可能是积极肯定的态度但考虑到其他因素可能会转变为否定态度,即存在先抑后扬、先扬后抑或反复改变态度的现象。例如:社交网络(包括:国内的腾讯/新浪微博、人人网,国外的facebook、twitter等)每天都会产生大量的用户数据,而其中包含大量的人们就某事件发表个人观点的文本信息。例如:腾讯新闻上关于“小黄车死亡案”的一条评论:“出于人道主义精神的赔付是可以理解的,但是一味追着共享单车提供方是非常没有逻辑的。况且作为受害人,你本身也是有过错的,如果你不去违规使用共享单车,就不会出现现在的局面。”首先是对共享单车提供方应该给予赔偿持肯定态度,但后面又转折表达受害人自己也需要承担责任。例如:购物平台(包括:京东商城、苏宁易购、天猫等)每天都会产生海量的用户网购评论信息;例如:京东一条购买手机用户的评论:“声音太小,接电话挺费劲的,声音开到最大效果也不明显,不过上网速度很快,外形非常漂亮,整体好评”,先是表达缺点后面肯定陈述整理比较满意。现实生活中的这些评论信息除具有能表达情感极性的情感词外,又含有转折词使评论信息同时具有正/负两种情感,这一特点使得文本情感分类问题变得更加复杂,也使得传统的数据挖掘算法和已有的机器学习方法面临严峻的挑战:

挑战之一:传统的基于情感字典的无监督分类方法,通过情感字典分析句子中词语的情感极性,并通过对这些词语极性的简单求和来决定句子整体的情感倾向,对词语的重要度不做区分,显然难以得到较好的效果;

挑战之二:基于机器学习的文本情感倾向分析方法(包括:k-近邻、支持向量机svm、bayes等)存在以下几个主要问题:1)采用传统的词袋法进行表示,文本向量的维数较高且数据较为稀疏,不利用模型的训练;2)仅考虑特征间的句法结构而忽略其语义信息,造成特征映射结果上的语义不匹配,无法很好地表示文档的语义。

挑战之三:现有的深度学习方法能学习句子特征,典型的神经网络结构如循环神经网络(rnn)和卷积神经网络(cnn),这两种模型都是用词向量表示特征空间,并利用语义合成的方法提取句子的特征,最后使用分类器对其情感极性分类。相对于rnn模型,cnn参数数量较少,且能更好地捕捉文本的语义特征,时间复杂度也远小于rnn。然而,传统的cnn网络用于情感分析时忽略了句子的结构特征,max-pooling方法从句子的特征按照重要度中提取一个最大值,并不对句子的结构作任何区分。这一特点使得该方法在转折句的处理上效果不佳。



技术实现要素:

为了解决所述三个挑战中所存在的问题,本发明提供一种基于转折句语义块划分机制的情感分类方法,以期基于构建的转折词字典,对特征映射空间进行分段实现句子语义块的划分,从而获得每段中的重要语义信息,同时考虑句子的位置结构特征,进而提高文本情感倾向分析的正确性。

本发明为达到所述发明目的,采用如下技术方案:

本发明一种基于转折句语义块划分机制的情感分类方法的特点是按如下步骤进行:

步骤1:训练集和测试集中样本的词向量表示

步骤1.1构建词向量字典d

从网上获取外部语料并进行训练,得到词向量字典d,用于查询训练集和测试集中词语的词向量;词向量的维度设定为|v|;

步骤1.2对训练集和测试集中样本进行词向量表示

获取|i|条评论文本构成训练集ds={s1,s2,…si…s|i|}以及|i|条评论文本构成测试集dt={t1,t2,…,tj,…t|j|},其中si和tj分别表示所述训练集ds和测试集dt中的第i个训练样本和第j个测试样本,并有:表示所述训练集ds中第i个训练样本si中的第m个单词;表示所述测试集dt中第j个测试样本tj中的第n个单词;i=1,2,…,|i|,m=1,2,…,m,j=1,2,…,|j|,n=1,2,…,n;

根据所述词向量字典d,查询所述训练集ds中第i个训练样本si中的第m个单词的词向量为得到所述训练集ds中第i个训练样本si的词向量矩阵为一个m×|v|的矩阵;

同理得到所述测试集dt中第j个测试样本tj的词向量矩阵表示所述测试集dt中第j个测试样本tj中的第n个单词的词向量;

步骤2:设置卷积核并进行卷积计算

步骤2.1设置k种不同大小尺寸的卷积核集合,记为{w1,w2,…,wk,…,wk}其中表示高为hk,宽为nk的第k种尺寸卷积核集合,表示hk×nk的矩阵;并有表示第k种尺寸卷积核集合中第g个卷积核,并进行随机初始化;

步骤2.2以所述第g个卷积核为滑动窗口,利用式(1)对所述第g个卷积核和所述第g个卷积核覆盖下的第i个训练样本si的词向量矩阵si的第τ到第τ+h-1之间的片段进行卷积操作,得到单一特征映射向量中第τ个值从而得到单一特征映射向量则由所述k种尺寸的卷积核与第i个训练样本si的词向量矩阵si进行卷积操作,得到第i个训练样本si的词向量矩阵si的特征映射向量

式(1)中,表示当前滑动窗口覆盖下的第τ到第τ+h-1之间的向量矩阵,表示偏置向量,σ(·)为激活函数,表示1×(m-hk+1)的矩阵,1≤τ≤m-hk+1;

步骤3:构建转折字典zd,并在所述训练集ds中的第i个训练样本si中查找转折词,根据转折词所在位置将所述特征映射向量对进行分段,并在每个分段中提取最重要的一个特征,则若干个片段得到若干个特征;

步骤3.1构建转折字典zd,并根据所述转折词字典zd,查找所述训练集ds中第i个训练样本si中是否含有转折词,如果含有所述转折字典zd中第l个转折词zl,则给出所述第l个转折词zl在所述训练集ds中第i个训练样本si中的位置为

步骤3.2根据所述第g个卷积核的尺寸得到所述转折词zl在所述第i个训练样本si的词向量矩阵si的单一特征映射向量中的位置为并作为划分点;

步骤3.3根据所述划分点将所述特征映射向量中的单一特征映射向量分为两段单一特征映射向量,即

步骤3.4利用最大池化方法对两段单一特征映射向量进行处理,分别得到两段单一特征映射向量中的最大值并组成第k种尺寸第g个卷积核的最大值对从而得到k×g个最大值对

步骤3.5对所述k×g个最大值对进行拼接,由此得到所述第i个训练样本si最终特征表示空间

步骤4:基于所述特征表示空间构建分类模型

步骤4.1基于伯努利分布设置置零向量为r,且所述置零向量r与特征表示空间为同一维度的元素为0或为1的向量;

步骤4.2利用式(2)对所述训练集ds构建softmax分类器o:

式(2)中,f(·)为激活函数,wo为权值参数,bo为另一个偏置向量;

步骤4.3利用梯度下降方法对损失函数进行优化,从而对所述softmax分类器o(·)的训练,得到优化后的softmax分类器作为所述分类模型;

步骤5利用所述分类模型o*(·)对所述测试集dt中第j个测试样本tj进行情感分类,得到不同情感类别的概率,并以最大概率所对应的情感类别作为最终的情感分类结果。

与已有技术相比,本发明的有益效果体现在:

1、为了捕获更加丰富的文本特征,本发明使用不同尺寸的多卷积核进行卷积运算,从而获得多源的特征映射向量,达到了提取出更高质量特征的目的。

2、本发明基于转折词所在位置将句子分段,从每一段中选取最重要的特征;既克服了传统方法中的维度灾难、稀疏性和没有考虑文本语义信息,从而导致分类精度降低的问题;又克服了深度学习方法中没有考虑句子转折现象,只按照重要度提取特征,导致重要特征信息丢失的问题;因此提高了文本情感分类的准确率。

3、本发明在最终的分类模型构建过程中使用伯努利分布置零方法,能够有效的防止模型过拟合,使模型具有更好的泛化能力。

4、本发明面向实际应用领域,如:用户在社交网络发表对事件看法的情感倾向,可用于政府部门及时发现并掌握舆论走向;网上购物用户对商品评论的情感倾向,可为商家、消费者提供预测、预警工作,为商家的销售、服务质量调整策略提供建议以及为消费者的购物行为进行推荐。

附图说明

图1是本发明情感分类方法流程图;

图2是本发明使用多卷积核进行卷积操作的过程示意图;

图3是本发明基于转折词位置进行语义分段的过程示意图;

图4是本发明仅利用特征空间中部分特征构建分类模型的过程示意图。

具体实施方式

本实施例中,如图1所示,一种基于转折句语义块划分机制的情感分类方法是按如下步骤进行:

步骤1:训练集和测试集中样本的词向量表示

步骤1.1构建词向量字典d

从网上获取外部语料并进行训练,得到词向量字典d,用于查询训练集和测试集中词语的词向量;本实施例中基于googlenewscorpus外部语料库(约1000亿个单词),利用google公开的word2vec对语料库进行训练,得到的词向量库googlenews-vecctors-negative300.bin文件作为词向量字典d,词向量的维度设定为|v|,本实施例中|v|=300;

步骤1.2对训练集和测试集中样本进行词向量表示

获取|i|条评论文本构成训练集ds={s1,s2,…si…s|i|}以及|i|条评论文本构成测试集dt={t1,t2,…,tj,…t|j|},其中si和tj分别表示训练集ds和测试集dt中的第i个训练样本和第j个测试样本,并有:表示训练集ds中第i个训练样本si中的第m个单词;表示测试集dt中第j个测试样本tj中的第n个单词;i=1,2,…,|i|,m=1,2,…,m,j=1,2,…,|j|,n=1,2,…,n;

根据词向量字典d,查询训练集ds中第i个训练样本si中的第m个单词的词向量为得到训练集ds中第i个训练样本si的词向量矩阵为一个m×|v|的矩阵;

同理得到测试集dt中第j个测试样本tj的词向量矩阵表示测试集dt中第j个测试样本tj中的第n个单词的词向量;

步骤2:设置卷积核并进行卷积计算

步骤2.1设置k种不同大小尺寸的卷积核集合,记为{w1,w2,…,wk,…,wk}其中表示高为hk,宽为nk的第k种尺寸卷积核集合,表示hk×nk的矩阵;并有表示第k种尺寸卷积核集合中第g个卷积核,并进行随机初始化;

步骤2.2以第g个卷积核为滑动窗口,利用式(1)对第g个卷积核和第g个卷积核覆盖下的第i个训练样本si的词向量矩阵si的第τ到第τ+h-1之间的片段进行卷积操作,得到单一特征映射向量中第τ个值从而得到单一特征映射向量则由k种尺寸的卷积核与第i个训练样本si的词向量矩阵si进行卷积操作,得到第i个训练样本si的词向量矩阵si的特征映射向量

式(1)中,表示当前滑动窗口覆盖下的第τ到第τ+h-1之间的向量矩阵,表示偏置向量,σ(·)relu激活函数,表示1×(m-hk+1)的矩阵,1≤τ≤m-hk+1;卷积操作的具体运算表示为分别表示第g个卷积核和词向量矩阵si的第τ到第τ+h-1之间的片段中的第e行第f列的元素。

图2所示给出了假设3种尺寸的卷积核的卷积运算示意图,图2中卷积核的尺寸分别为2×300,3×300和4×300,即hk=2,hk=3,hk=4,这里设定n1=n2=n3=|v|=300;每种尺寸的卷积核有100个,即g=100。分别对图2中的3×100个卷积核与第i个训练样本si的词向量矩阵si进行卷积运算,

当卷积核尺寸为2×300,卷积操作后得到的单一特征映射向量为m-2+1维的向量,100个尺寸为2×300的卷积核则得到100个m-2+1维的向量,表示为

当卷积核尺寸为3×300,卷积操作后得到的单一特征映射向量为m-3+1维的向量,100个尺寸为3×300的卷积核则得到100个m-3+1维的向量,表示为

当卷积核尺寸为4×300,卷积操作后得到的单一特征映射向量为m-4+1维的向量,100个尺寸为4×300的卷积核则得到100个m-4+1维的向量,表示为

图2中的3×100个卷积核与第i个训练样本si的词向量矩阵si进行卷积运算,可得到3×100个单一特征映射向量即得到第i个训练样本si的词向量矩阵si的特征映射向量,表示为

步骤3:构建转折字典zd,并在训练集ds中的第i个训练样本si中查找转折词,根据转折词所在位置将特征映射向量对进行分段,并在每个分段中提取最重要的一个特征,则若干个片段得到若干个特征;

步骤3.1构建转折字典zd,并根据转折词字典zd,查找训练集ds中第i个训练样本si中是否含有转折词,如果含有转折字典zd中第l个转折词zl,则给出第l个转折词zl在训练集ds中第i个训练样本si中的位置为

本实施例中综合了智能单词(http://www.smart-words.org/linking-words/transition-words.html)和msu(https://msu.edu/user/jdowell/135/transw.html)公开的转折词,构建了共计179个转折词的字典。转折词字典zd如表1所示。

表1转折词字典

步骤3.2根据第g个卷积核的尺寸得到转折词zl在第i个训练样本si的词向量矩阵si的单一特征映射向量中的位置为并作为划分点;

步骤3.3根据划分点将特征映射向量中的单一特征映射向量分为两段单一特征映射向量,即

步骤3.4利用最大池化方法对两段单一特征映射向量进行处理,分别得到两段单一特征映射向量中的最大值并组成第k种尺寸第g个卷积核的最大值对从而得到k×g个最大值对

步骤3.5对k×g个最大值对进行拼接,由此得到第i个训练样本si最终特征表示空间

图3所示给出了基于转折词位置进行语义划分的一个具体示例,以100个尺寸为3×300的卷积核为例,展示了基于转折词的池化最大值运算过程。图3中样本中包含转折词“but”,且“but”在样本中的位置为假定卷积核的尺寸为3×300,可得转折词“but”在单一特征映射向量中的划分点为10-3+1,从而将的单一特征映射向量划分为两段并分别求出每段的最大值,从而可得到一个最大值对,100个尺寸为3×300的卷积核则得到100个最大值对,从而构成最终的特征表示空间

步骤4:基于特征表示空间构建分类模型

步骤4.1为了防止基于全连接方式训练分类器可能导致的过拟合问题,使用伯努利方式随机地将特征表示空间按照一定比例ρ置0,只有非0的元素参与分类器构建。具体操作如图4所示:基于伯努利分布设置置零向量为r,且置零向量r与特征表示空间为同一维度的元素为0或为1的向量,利用中的部分元素置0;

步骤4.2利用式(2)对训练集ds构建softmax分类器o:

式(2)中,f(·)为激活函数,可采用sigmoid函数或tanh函数,wo为随机初始化的权值参数,bo为另一个偏置向量,初始化为0向量;

利用式(2)的分类器可计算第i个训练样本si属于类别l的概率表示为式(3):

式(3)中,表示o*(si)向量的第l个元素,|l|表示类别的总个数。

步骤4.3利用梯度下降方法对对数损失函数进行优化,从而对softmax分类器o(·)的训练,得到优化后的softmax分类器作为分类模型;

本实施例中,对数似然损失函数表示为式(4):

梯度下降法的具体操作步骤如下:

步骤4.3.1按照式(5)和式(6)更新权值参数wo和偏置向量bo;

步骤4.3.2将第k种尺寸第g个卷积核的最大值对放回其在单一特征映射向量中的原始位置,单一特征映射向量中的其余位置置0,表示为

步骤4.3.3按照式(7)和式(8)更新第g个卷积核和偏置向量bc

式(7)和式(8)中,表示对矩阵进行180翻转;

步骤4.3.4返回到步骤2,迭代执行步骤2到步骤4共e次;

步骤5利用分类模型o*(·)对测试集dt中第j个测试样本tj进行情感分类,得到不同情感类别的概率,并以最大概率所对应的情感类别作为最终的情感分类结果。

对于测试集dt中第j个测试样本tj,按照训练样本相同的方法得到最终特征空间代入分类器o*(·)中求解测试集dt中第j个测试样本tj属于类别l的概率表示为:

式(9)中,表示o*(tj)向量的第l个元素,|l|表示类别的总个数。

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