[发明专利]基于动态词向量和层级神经网络的文档级情感分类方法有效
申请号: | 201911051331.7 | 申请日: | 2019-10-30 |
公开(公告)号: | CN110765269B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 刘发贵;郑来磊 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F16/35 | 分类号: | G06F16/35;G06F40/30;G06F40/279;G06N3/0442;G06N3/045;G06N3/0464;G06N3/047;G06N3/048 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 何淑珍;江裕强 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 动态 向量 层级 神经网络 文档 情感 分类 方法 | ||
1.基于动态词向量和层级神经网络的文档级情感分类方法,其特征在于,包括以下步骤:
S1、通过构建并训练双向语言模型以获得高质量的动态词向量;包括以下步骤:
S1.1、构建并训练双向语言模型;所述双向语言模型为一个两层的语言模型,每层均由双向长短期记忆神经网络biLSTM组成,该语言模型以句子作为输入单位,在输入层将句子输入到第一层语言模型中以计算该句子出现的概率,而句子的概率由计算句子中每一个单词从前向和后向出现的概率累乘得到;第一层的输出向量作为第二层语言模型的输入再进行训练,单词的动态词向量由输入层和两层语言模型的输出经加权求和得到;
每层biLSTM的隐藏层单元数均为128,输出的向量维度为256,所述双向语言模型的输入为一个由N个单词组成的句子序列(w1,w2,...,wN),该序列输入到两层biLSTM中,两层biLSTM分别从前向和后向提取输入的单词序列中的特征,第一层提取单词的语义特征,第二层提取和上下文环境相关的语法特征,最后的词向量由两层biLSTM的输出向量和输入层向量经加权求和后得到;
所述双向语言模型的训练目标为使得单词序列中的每一个单词都生成对应的词向量,双向语言模型的训练过程中,使用10亿单词训练集对该模型训练10个epoch,mini-batch设置为64,训练机器为GTX TitanX×4;
S1.2、将文档中的单词序列输入到训练好的双向语言模型中,得到高质量的动态词向量;动态词向量的生成过程如下:
给定一个由N个单词组成的句子(w1,w2,...,wN),定义如下所示的计算句子的概率的双向语言模型(biLM):
p(w1,w2,...,wN)=Πk=1p(wk|w1,w2,...,wk-1); (1)
p(w1,w2,...,wN)=Πk=1p(wk|wk+1,wk+2,...,wN); (2)
公式(1)和(2)分别表示从前向和后向处理输入语句的语言模型,wk表示第k个单词,p()表示求取概率;biLM由最大化前向和后向语言模型的联合对数概率之和得到:
将biLM堆叠L层以进一步提取高级语义特征,单词wk的表征通过聚合所有层的特征来计算:
其中,表示输入层LM,表示计算第k个单词时的第j层biLM,L为biLM堆叠的层数,设定L为2,即堆叠双层;
单词wk的最终词向量通过对输入层LM、第1到第L层的biLM加权求和得到:
其中,Emb(wk)为第k个单词的词向量表示,αj为第j层的权重值,该值被随机初始化为[0,...,1]之间,在训练过程中作为超参数自动学习得到,Rk,j为单词wk在第j层的表示;
S2、将得到的动态词向量输入到层级神经网络中以对文档进行建模以获得文档表征向量,并将该向量输入到softmax函数中以对文档进行分类;包括以下步骤:
S2.1、构建层级神经网络;所述层级神经网络由两层网络构成:
第一层中,使用双向门控循环神经网络biGRU和注意力机制来对文档中的句子进行建模以获得句子表征;其中,biGRU用于捕获句子中的长依赖关系,注意力机制用于提取句子中的重要单词;
第二层中,将所有的句子表征传入另一个biGRU以获得文档的初步表征,biGRU由重置门和更新门组成,用于控制将哪些历史状态信息保存到当前状态中;第二层中使用了biGRU网络两种不同类型的输出:
第一种,biGRU的每个神经单元都输出一个向量并组成一个矩阵,然后使用卷积神经网络CNN提取该矩阵的局部特征,获得局部特征向量;
第二种,将biGRU的最后一个神经单元作为输出以获得文档的全局特征向量;
将CNN提取的局部特征向量和biGRU提取到的全局特征向量相结合以得到最终的文档表征向量,该向量输入至softmax函数以得到文档的情感分类结果;双向门控循环神经网络biGRU中,GRU由两个门组成,即重置门rt和更新门zt,用于控制将哪些信息保存到当前状态gt;在当前时间t,前向将信息更新为:
zt=sigmoid(Wzxt+Uzgt-1+bz); (7)
rt=sigmoid(Wrxt+Urgt-1+br); (8)
其中xt,gt-1,分别是输入向量,上一状态和当前候选状态;○表示乘法运算;公式(7)决定保留过去信息的状态单元的数量以及添加了多少新信息,而公式(8)控制过去状态对当前状态的贡献;如果(8)等于零,则丢弃先前的状态;是在训练期间学习的超参数;H和d是隐藏单位和输入向量的维度;
前向处理从w1到wN的句子,而后向从wN到w1处理句子;将和相连接以得到biGRU:
xi=Emb(wi),i∈[1,N];
其中,和分别表示将单词xi输入到前向和后向GRU中,两者对应的输出向量为和和相连接后得到了双向门控循环神经网络biGRU的输出gi;所述注意力机制用于提取出对句子语义重要的单词:
首先,使用单层MLP获得gt的隐藏层表示ut:
ut=tanh(Wwgt+bw); (14)
其中,Ww和bw在训练期间学习的超参数;使用softmax函数来衡量每个单词的重要性,表示为αt:
最后,使用αt计算单词注解gt的加权和来获得句子S的表示:
S=∑tαtgt; (16)
每个句子S的表示是一个与具有相同形状的向量,前向和后向GRU级联后是原始维度的两倍;
所述卷积神经网络CNN的结构包含卷积层、最大池化层和全连接层;其中,卷积层中使用卷积滤波器对输入的矩阵进行卷积操作以得到特征图,最大池化层使用池化操作提取特征图中的最优特征,最后使用全连接层将最优特征向量映射至所需的维度;卷积神经网络CNN提取文档特征的过程如下:
给定包含L个句子的文档,通过层级神经网络的第一层得到句子向量集合[S1,S2,...,SL],将句子向量输入到biGRU中,该biGU的每个状态单元均输出一个向量并组成矩阵M=[S′1,S′2,...,S′L],
令为卷积滤波器,该卷积滤波器每次处理h个句子;使用卷积滤波器从文档矩阵M中提取特征并生成特征图m,第s个卷积滤波器的特征ms由如下生成:
ms=tanh(fMs:s+h-1+b); (17)
其中,b是偏置项,tanh()为激活函数;最终生成的特征图m为:
m=[m1;m2;...;mL-h+1]; (18)
然后在m上应用最大池化操作,最大池化操作是指:对于特征图m的每一行向量,取其最大值作为该行向量的最优特征,然后通过全连接层将最大池化后的特征向量映射到最终的文档表征向量由glast和r级联后得到,其中glast为第二种biGRU的输出向量;
S2.2、将步骤1中得到的动态词向量输入层级神经网络中,得到文档表征向量,该向量输入至softmax函数以得到文档的情感分类结果;文档的情感分类结果p经softmax函数计算得到:
p=softmax(Wcv+bc); (19)
其中,Wc和bc分别为权重值和偏置项,两者均为在训练期间学习得到的超参数,c为文档的情感类别数,v表示最终的文档表征向量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911051331.7/1.html,转载请声明来源钻瓜专利网。