1. 引言
当今社会正处于数据日益呈爆炸式增长的时代,从如此庞大的数据中发掘出反映出的现实问题的知识具有重要的意义。文本分类是一种典型的知识发现任务,传统的文本分类方法,比如贝叶斯、K近邻和支持向量机等。这种方法主要依赖于人工提取的文本特征,再利用浅层模型实现文档的分类。
近年来,深度学习技术利用神经网络自动提取面向任务的文档特征,用于文档分类。基于图神经网络的方法可充分利用文本的关系学习文档表示,更好地用于文档分类。TextGCN [1] 利用图神经网络对文本进行分类,解决了长序列和非连续词的交互问题,它为数据集构建成一个图,从全局学习节点特征,然而它在模型训练是需要庞大的参数和极大的空间和内存消耗,容易产生显存爆炸和梯度爆炸的问题。Text-level-gnn [2] 解决了TextGCN内存消耗过大和泛化性能差的问题,它为每个文档单独的构建图来学习节点特征,但由于在构图时对于每队单词之间的边都是固定的,并不对所有单词之间具有适应性且因为从全局角度构图导致其在训练时的数据集中必须包含测试文件。TextING [3] 考虑了每个文档细粒度的交互信息,为每个文档建立图从局部学到词节点特征,为每个文档计算文档级的向量表示用于学习文档分类模型,尽管该模型在构图方面有了很大改进,但其在数据集选取方面有很大限制,只有有标签数据集才能为其所用。
TextING文本分类模型训练需要提供文档标签来指导模型的训练,而现实的数据集大多都是没有标签的。主题模型ETM [4] 能够从全局学到每个文档的主题表示,为得到更好的文档类别标签提供了更有效的特征表示。因此可以利用基于主题表示的文档聚类解决数据无标签问题,提出了一种融合TextING和ETM的文档聚类模型——TextING_ETM。其利用ETM学习每个文档的主题向量,通过聚类算法Kmeans [5] 对主题向量进行聚类 [6] 生成类标以此作为文档的伪标注,TextING中利用伪标注对模型参数进行指导学习到文档的表示,以此保证同时利用了单词的局部和全局的信息来进行无监督的文本分类。
2. 文档聚类模型TextING_ETM
文档聚类模型——TextING_ETM框架如图1所示。首先利用ETM主题模型从词的全局角度学习数据集中各个文档的主题表示,利用深度聚类 [7] 的思想,用Kmeans对主题表示的文档进行聚类得到文档伪类标。TextING模型基于文档图表示学习词和文档表示,利用伪标注指导模型参数学习。
2.1. 文档伪标签提取
基于词嵌入的主题模型ETM生成每个文档的过程如下:1) 根据
为每个文档分配一个主题
;2) 对文档中的每个词:a) 指派一个主题
;b) 指派词的主题分布
。其中,
代表输入的词嵌入向量矩阵,Cat(·)代表分类分布,LN(·)代表逻辑斯蒂正态分布,NN代表一个线性变换网络。基于ETM得到的文档主题表示,采用Kmeans++,获取文档的类别标签。
2.2. 基于图神经网络的文档分类模型
首先基于文档词序列对每个文档构建一个文档图,顶点表示词,边表示词间存在共现关系(表示为
,V表示顶点集,E表示边的集合)。首先利用预训练模型学习的词向量初始化图节点的词表示;然后基于词图聚合词共现词的特征来更新词的向量;最后根据词向量和软注意力机制得到文档表示,用于文档分类预测。在更新词向量时采用门控图神经网络的核心——GRU (Gated Recurrent Unit)对词表示进行充分更新,给定词嵌入矩阵
,GRU进行词向量更新过程如下:
(1)
(2)
(3)
(4)
(5)
其中,
代表初始的此向量矩阵,
代表哈达玛积,A代表邻接矩阵,
是sigmoid激活函数,
是可训练的权重参数和偏置系数,z和r是更新门和遗忘门以确定邻居信息对当前节点嵌入的贡献程度,
是更新过程中的候选变量,
是最终的词向量表示。
学到词向量表示后,基于注意力机制为各个词计算权重和最大池化层进行下采样操作最后计算出文档表示。计算公式如下:
(6)
(7)
和
是两个多层感知机(MLP),前一个计算的权重当作软注意力系数,后一个是特征非线性变换层。
最后,利用softmax层预测文档标签。模型优化目标为最小化交叉熵损失:
(8)
(9)
其中,
是聚类出来的伪类标,
是图神经网络预测的类标。
3. 实验
首先介绍数据集和参数,然后用标准互信息化分数(NMI)和纯度(purity)评比模型。
3.1. 数据集及实验设置
本实验在训练过程中使用了R8和20NewsGroup数据集对模型结果进行了验证。R8数据集包括8类路透社新闻数据,共有7674篇文档。20NewsGroup数据集中约有20,000篇新闻组文档,均匀分为20个不同主题的新闻组集合。文本以标准方式进行预处理,包括标记化和停止字删除。首先使用NLTK中的Stopwords对数据集进行停用词过滤,然后将数据集中小于等于2字符长度的词并且文档中的各词词频小于5的词移除,接着把数据集中所有空文档和长度为一的文档删掉。经过处理R8数据集剩余文档7674篇,不重复词数3562个,20NewsGroup数据集剩余文档18,846篇,不重复次数18,126个。在图神经网络构图时设置文档最大长度为800,将长文本进行截断,设置滑动窗口的大小为1。表1中详细介绍了实验过程中使用的数据集名称,训练时训练集和测试集的文档个数以及各数据集的类别。
硬件方面采用Intel(R) Core(TM) i7-6500U CPU,8 G内存,NVIDIAGeForce 940MX显卡。本实验所有词向量维度都设置为300维,权重设置为0.00001,学习率设置为0.001,丢弃率设置为0.5,TextING的隐藏单元设置为96,批量大小设置为1000。
![](Images/Table_Tmp.jpg)
Table 1. Samples and category of dataset
表1. 数据集的样本数及类别
3.2. 无监督文本分类效果评估
本文通过标准互信息化分数(NMI)和纯度(purity) [8] 对模型效果进行评比,NMI常用于评测模型的聚类性能,purity经常用来评测无监督模型的分类性能。NMI和purity始终在0.0到1.0之间,且分数越高代表模型在下游任务的表现越好。
各数据集的主题数Topics对模型训练的结果有很大的影响,为了找到合适的主题数(以下简写为T),进行了以下实验。
表2和表3列出了Topics的不同取值在同一数据集上的purity值也不同,由以上两表可以看出在20NG数据集上取Topics = 40模型训练结果最好,在R8数据集上取Topics = 30模型训练结果最好。因此在之后的模型训练时对于20NG数据集设定主题数为40,为R8数据集设定主题数为30。
表4和表5说明了本文中的模型与现有的模型在相同数据集上的对比,本文提出的方法在无监督分类任务上明显优于之前已有的方法。与之前的模型相比,本文的方法加入了丰富的词网络信息,对无标签信息的数据集进行分类可以得到不错的结果。
![](Images/Table_Tmp.jpg)
Table 2. Impact of changes in Topics on results of 20NG dataset
表2. 20NG数据集上Topics的变化对结果的影响
![](Images/Table_Tmp.jpg)
Table 3. Impact of changes in Topics on results of R8 dataset
表3. R8数据集上Topics的变化对结果的影响
![](Images/Table_Tmp.jpg)
Table 4. NMI comparison results of algorithms on real datasets
表4. 真实数据集上算法的NMI对比结果
![](Images/Table_Tmp.jpg)
Table 5. Purity comparison results of algorithms on real datasets
表5. 真实数据集上算法的Purity对比结果
4. 结论
本文提出了一个无监督文本聚类模型。其基于文档主题表示聚类得到文档伪类标,利用图神经网络学习更好的文档表示。与主流模型在真实数据集上的对比表明:其在无监督分类任务上具有更高的准确性。
基金项目
河北省高等学校科学技术研究项目(ZD2020175);河北省高校基本科研业务费资助;河北地质大学科技创新团队项目资助(KJCXTD-2021-11);河北省重点研发计划项目(项目名称:基于时空大数据及深度学习的地质灾害风险识别关键技术研究编号:22375415D)。