《Sequential Short-Text Classification with Neural Networks》读书笔记

一、在Forward Sequential Short-Text Classification这章中主要介绍了一种通过利用文本序列信息来进行分类的方法

步骤:

1、短文本向量化:

(1)利用word2vec向量化短文本

(2)利用RNN或者CNN二次向量化文本

《Sequential Short-Text Classification with Neural Networks》读书笔记

2、训练分类器

利用普通的FNN即可,X为一个长度为l的短文本序列

《Sequential Short-Text Classification with Neural Networks》读书笔记

假设第一层输入是:s[i-d1-d2:i],输出是Y[i-d2:i]

《Sequential Short-Text Classification with Neural Networks》读书笔记

其中输出Yj表示分类

第二层输入是:Y[i-d2:i],输出是Zi,表示该短文本属于该分类的概率,传播公式为:

《Sequential Short-Text Classification with Neural Networks》读书笔记

3、相关参数

数据集:|C|是类的个数,|V|是词汇数、

《Sequential Short-Text Classification with Neural Networks》读书笔记

参数设置:

《Sequential Short-Text Classification with Neural Networks》读书笔记

4、实验结果

《Sequential Short-Text Classification with Neural Networks》读书笔记

《Sequential Short-Text Classification with Neural Networks》读书笔记

5、实验分析:

d1,d2分别代表文本向量化中句子序列化的个数与分类时序列化的个数,(0,0)代表向量化和分类时都不序列化,一个单词对应一个神经网络训练,如图2.3中的第一个。(0,2)代表向量化时不序列化,分类时相邻三个单词一起训练,如图2.3中的第二个。

从实验结果可以看出,当保持d1 = 0时,增加d2可以提升效果,但是保持d2 = 0时,增加d1不能提升效果。因此,在文本向量化的阶段不需要考虑单词序列之间的信息,因为原始由word2vec训练得到的词向量的高维度已经包含了很多信息。在训练分类器时考虑序列信息则可以提升训练效果。


二、Bidirectional Sequenial Short-Text Classification

模型图如下,此处缺少了优化层

数据集是文献的摘要,从摘要中分类每个句子属于总结、背景、方法等,共7个类:

OBJECTIVE、BACKGROUND、CONCLUSIONS、RESULTS、METHODS、START、END








《Sequential Short-Text Classification with Neural Networks》读书笔记

1、模型

模型分为三层:Hybrid token embedding layer、Setence level prediction layer、label sequence optimization layer

Hybrid token embedding layer:该层的输入是令牌token x,Zi是x的特征。x经过向量化之后得到t,Zi经过向量化之后得到Ci,C1:l经过bi-lstm之后,两个方向最后一个时序的输出合并在一起,再和t合并在一起,得到E.

Setence level prediction layer:该层输入是E,输出经过bi-lstm训练两个方向最后一个时序输出的合并为s,s再输入一个FNN,经过训练后,得到每个分类的概率A1:n。

label sequence optimization layer:假定一个大句子中,每个子序列的标签之间有转换关系,则设定一个标签转换矩阵T,如下:

《Sequential Short-Text Classification with Neural Networks》读书笔记


经过预测层得到的A1:n后,调用如下公式计算:

《Sequential Short-Text Classification with Neural Networks》读书笔记

上面的公式表示:将每个子序列的令牌得到的标签分类结果ai[yi]加起来,然后再根据标签转换矩阵将得到的分类序列的转换之和求出来,两者之和为当前分类出来的标签序列的s(Y1:n)

《Sequential Short-Text Classification with Neural Networks》读书笔记

这个是当前分类出来的序列的概率。优化层的目标就是最大化这个概率。由于这个概率的计算时间复杂度为O(n|C|^2),因此采用时间复杂度为O(|C|)的计算公式:

《Sequential Short-Text Classification with Neural Networks》读书笔记

2、实验结果

《Sequential Short-Text Classification with Neural Networks》读书笔记

由表3.4可知,当去除优化层时,效果会大大降低

3、对比实验

对比实验1:打乱文本序列,实验结果F1值84%,验证文本序列信息的作用

对比实验2:去除文本中双括号的内容,实验结果F1值89.9,验证双括号内容对于实验效果没有帮助