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:建立输出层
last
经过GCN‑Attention层后,最后得到目标实体向量Att ,last表示最后时刻的GCN‑Attention层的输出;通过一个softmax分类器输出最后结果,计算如式(3)所示lastFinal=softmax(WAtt +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,定义当前目标实体向t t‑1量为p ,表示t时刻的目标实体向量p,此时GCN‑Attention层接受上一层目标实体向量p ,t t‑1 t t t t‑1将p与p 通过一个affine子层整合为一个目标实体向量,定义为z ,z=ReLU(W(p ,p )+t t‑1 t t‑1b),其中W,b为可训练参数,ReLU为激活函数,(p,p )表示将p和p 拼接为一个向量;
步骤1‑3‑4:建立Attention子层
t
由1‑3‑1得到向量组gs={g1,g2,…,gn},和由1‑3‑3得到的目标实体向量z ,将两者作为Attention子层的输入,计算如式(2)所示t t
similarity(gi,z)表示计算gi和z的相似度,本方法采用的是向量内积和后再作用一t个Softmax函数;定义Attention子层输出的目标向量为Att ,t代表当前时刻,于是输出目t标实体Att和向量组gs。
2.如权利要求1所述的基于GCN‑Attention的情感分析方法,其特征在于,步骤2具体包括:步骤2‑1:将训练集中的句子读到内存中,作为embedding层的输入步骤2‑2:设定dropout=0.5,学习率η=0.01,用来控制模型的学习进度步骤2‑3:设定最小化交叉熵误差函数, y为训练输出值;
步骤2‑4:设定迭代次数epoches,开始迭代训练
步骤2‑5:计算训练数据集,在当前迭代次数i下,训练得到模型的损失函数值Eloss;
步骤2‑6:模型权重参数更新,采用SGD的方式更新,
步骤2‑7:判断迭代是否结束,若i
3.如权利要求1或2所述的基于GCN‑Attention的情感分析方法,其特征在于,步骤1‑3:建立GCN‑Attention层,采用5层GCN‑Attention层。