[发明专利]一种基于GCN-Attention的情感分析方法有效
申请号: | 202010182153.8 | 申请日: | 2020-03-16 |
公开(公告)号: | CN111400494B | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 肖志勇;张立 | 申请(专利权)人: | 江南大学 |
主分类号: | G06F16/35 | 分类号: | G06F16/35;G06N3/0442;G06N3/045;G06N3/047;G06N3/048;G06N3/084 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 戴风友 |
地址: | 214122 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gcn attention 情感 分析 方法 | ||
1.一种基于GCN-Attention的情感分析方法,其特征在于,步骤如下:
步骤1:建立GCN-Attention模型
构建GCN-Attention模型,需要包含embedding层、双向LSTM层、GCN-Attention层和输出层;
步骤1-1:建立embedding层
embedding层作为模型的输入层,使用的是预训练好的GloVe词向量,GloVe词向量可选维度有25、50、100、200、300;定义输入的单词序列为S={w1,w2,…,wn},其中n为该单词序列的长度,n为单词序列中单词的个数,wi表示单词序列中的一个单词;将该输入经embedding层作用后,输出可表示为S={v1,v2,…,vn},n为该向量组中向量的个数,vi表示一个维度为300的向量,ds表示词向量的维度;
步骤1-2:建立双向LSTM层
双向LSTM层包含正向LSTM和反向LSTM,其中正向LSTM是序列的初始位置开始往后输入序列,反向LSTM是从序列的结束位置开始往前输入序列,这样的好处是同时兼顾了序列中“未来”和“过去”的信息;上一层的输出S={v1,v2,…,vn},作为双向LSTM层的输入,根据LSTM的计算公式:如式(1)所示:
ct=f*ct-1+g*i
ht=o*tanh(ct)
(1)
其中,xt为t时刻的输入,ht为t时刻的输出,ct为t时刻的记忆单元,所有的W和b均为可训练参数,σ是sigmoid激活函数,tanh为双曲正切函数,*为元素乘运算,i是对输入信息进行选择操作,控制信息的输入过程,f是对前一模块需要被遗忘的信息进行遗忘操作,控制信息遗忘过程,g用来判断哪些信息应该存储到当前细胞状态,对信息的存储进行控制,o则是输出门对输出信息进行选择,控制输出信息;通过将正向LSTM和反向LSTM的输出拼接得出hs={h1,h2,…,hn},其中hs为输出的向量组,向量组个数为n,hi表示其中一个隐藏层向量;
步骤1-3:建立GCN-Attention层
GCN-Attention层的层数为1~10层,目标实体能动态的提取句子中的相关信息;将双向LSTM的输出向量hs={h1,h2,…,hn},作为GCN-Attention层的输入;
步骤1-4:建立输出层
经过GCN-Attention层后,最后得到目标实体向量Attlast,last表示最后时刻的GCN-Attention层的输出;通过一个softmax分类器输出最后结果,计算如式(3)所示
Final=softmax(WAttlast+b)
(3)
W,b为可训练参数;
步骤2:训练GCN-Attention模型
设定超参数,将训练集输入到GCN-Attention模型,得到损失函数值,再反向传播得到梯度,通过梯度值更新参数,经过设置的迭代次数的迭代之后,得到训练好的GCN-Attention模型;
步骤3:预测
GCN-Attention模型完成训练后,将要预测的测试集输入模型,即可得到准确率和损失函数值;
步骤1-3:建立GCN-Attention层,具体包括:
步骤1-3-1:建立GCN子层
进入GCN-Attention层后,首先经过GCN子层,通过句法依存树对输入序列构建对称邻接矩阵,定义为A,计算gs=ReLU(A*hs*W),其中*表示为矩阵乘,A为通过依存树构建的对称邻接矩阵,W为可训练的参数,ReLU为激活函数;通过GCN子层得到的向量组gs,其每个向量的每一个特征均加上了在依存树上邻近向量的对应特征,即gs中的某一向量g,向量g的某一特征,均由该向量的在依存树上的附近向量的对应特征共同决定;在句法上进一步混合了句子信息;
步骤1-3-2:分离目标实体并池化
将GCN子层的输出gs={g1,g2,…,gn},抽取其中代表目标实体的向量Term={gr+1,gr+2,…,gr+m},m为目标实体Term的长度,r为目标实体Term在gs中的坐标;进行最大池化计算p=max(gr+1,gr+2,…,gr+m),得到向量p,此时目标实体的向量值为p;
步骤1-3-3:整合目标实体向量
由于有多个GCN-Attention层,存在不同时刻的目标实体向量p,定义当前目标实体向量为pt,表示t时刻的目标实体向量p,此时GCN-Attention层接受上一层目标实体向量pt-1,将pt与pt-1通过一个affine子层整合为一个目标实体向量,定义为zt,zt=ReLU(W(pt,pt-1)+b),其中W,b为可训练参数,ReLU为激活函数,(pt,pt-1)表示将pt和pt-1拼接为一个向量;
步骤1-3-4:建立Attention子层
由1-3-1得到向量组gs={g1,g2,…,gn},和由1-3-3得到的目标实体向量zt,将两者作为Attention子层的输入,计算如式(2)所示
similarity(gi,zt)表示计算gi和zt的相似度,本方法采用的是向量内积和后再作用一个Softmax函数;定义Attention子层输出的目标向量为Attt,t代表当前时刻,于是输出目标实体Attt和向量组gs。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江南大学,未经江南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010182153.8/1.html,转载请声明来源钻瓜专利网。