基于案件要素指导及深度聚类的新闻与案件相关性分析
2021-12-27李云龙余正涛高盛祥郭军军彭仁杰
李云龙,余正涛,高盛祥,郭军军,彭仁杰
(1. 昆明理工大学 信息工程与自动化学院,云南 昆明 650500;2. 昆明理工大学 云南省人工智能重点实验室,云南 昆明 650500)
0 引言
案件领域舆情分析都是以某案件相关的新闻文本为基础开展的,新闻与案件的相关性分析的目的是判断新闻文本与案件是否相关,是案件领域新闻舆情分析的重要环节,对于案件领域舆情分析具有重要意义。新闻与案件相关性分析可以被看作是一个文本聚类过程,即描述同一个案件的新闻文本被聚类到同一个案件簇下。目前对于文本聚类的相关研究可分为基于统计和基于深度学习两类方法。基于统计的方法大多以向量空间模型为基础,通过更改文档特征的提取方法或者利用外部知识增强文本表示来提升聚类效果。Kang等人[1]将文档抽出的关键词作为特征来表征文档,从而完成文本的聚类。Bouras等人[2]利用WordNet中词汇关系对原文本向量进行补充,提出了一种基于WordNet的新闻文档聚类方法。张雪松[3]等人运用频繁词集对文本进行表示,之后利用社区划分算法实现文本聚类。然而,基于统计的方法没有考虑文本的序列信息和句法语义信息,只能获取浅层的语义特征。基于深度学习的文本聚类方法因其强大的语义表示能力成为目前研究的趋势,其主要思想是选用合适的监督信号,利用深度学习框架获得文本的特征向量,提升聚类的效果。Xu等人[4]以文本的谱哈希作为监督信息,利用卷积神经网络学习文本的表征,最后使用K-means算法实现文本的聚类。Vakulenko等人[5]以主题标签作为监督信息,利用双向GRU(Gated Recurrent Unit)获得推特新闻的向量表征,最后使用层次聚类完成推特的突发新闻事件检测。以上方法将聚类过程和文本表示过程分离开来进行。研究表明,共同优化这两项任务能提升聚类的效果[6]。Wang等人[7]提出将深度表示学习和K-means聚类结合设计聚类目标函数,并利用少量加标数据和大量未加标数据对目标函数进行迭代优化,从而实现短文本半监督聚类。Zhang等人[8]提出利用聚类的注意力捕获文本表示和聚类簇之间的相关性,并在此基础上,联合学习文本表示和聚类模型。现有聚类算法对于新闻与案件相关性分析任务来说,由于其缺乏有效的指导信息,导致聚类发散,降低了结果的准确性。
分析同一案件下的新闻文本可以发现,虽然其立场和角度可能不同,但大多都包含相近的案件要素。表1展示了“重庆公交坠江案”两篇不同的新闻报道,都包含了“案发地,涉案人员,案件描述”等案件要素信息,而这些案件要素能有效地对案件进行表征。因此,探究在基于聚类的新闻与案件相关性分析任务中如何有效利用案件要素这一指导信息是非常有必要的。
表1 重庆公交坠江案新闻示例
具体来说,本文提出的基于案件要素指导及深度聚类的新闻与案件相关性分析方法,借鉴基于自编码器聚类[9]及半监督聚类[10]的思想,针对案件和新闻文本的特点,抽出重要的句子表征文本,利用卷积自编码器[11]获得文本的向量化表征,充分利用案件要素对聚类过程和文本表征的指导作用,实现文本聚类。
本文主要贡献包括以下两个方面:
(1) 提出了利用案件要素初始化聚类中心的聚类方法,充分发挥案件要素在聚类过程中的指导作用;
(2) 提出了在卷积自编码器中施加聚类损失的方法,有效利用案件要素对文本向量化表征的指导作用。
1 基于案件要素指导及深度聚类的新闻与案件相关性分析方法
本文方法旨在将大量未标记的案件新闻文本划分到不同的案件中,实现新闻与案件的相关性分析,主要包含文本压缩、文本表征及聚类三个模块,总体框架如图1所示。
图1 模型架构图
1.1 基于多种摘要的文本压缩
作为篇章级文本,新闻文本通常包含几十至几百个句子,含有大量的冗余信息。研究发现,重要的信息通常分布在一篇文章的几句话中[12]。故本文采用多种摘要方法对新闻文本进行摘要的抽取,利用投票的方法对摘要进行合成,提取出重要的信息表征文本,实现文本压缩。
先将多种摘要文本压缩任务形式化描述如下: 设一篇新闻文本为S={S1,S2,…,Sp},共包含p个句子。设q种方法生成的摘要分别为L1v,L2v,…,Lqv, 简写为L1v:Lqv,其中,每个摘要包含v个句子,共包含o个不同的句子。目标是从L1v:Lqv中选取z个句子作为压缩后的文本。
定义第i种摘要为fi(·),那么
这里,利用Tan等人[13]在标题生成任务中所使用的7种抽取式摘要方法对新闻文本进行摘要,分别为Lead,Luhn[14],LSA[15],LexRank[16],TextRank[17],SumBasic[18],KL-Sum[19]。那么i∈[1,7],即q=7。
选取多个摘要中出现频次最高的z个句子作为压缩后的文本,当频次相同时,考虑句子在文档中出现的位置,选取位置靠前的句子。此外,本文认为新闻标题也是新闻的一部分,并且具有主题性和事实性,因此也在压缩后的文本集合中加入了标题信息。具体过程如算法1所示。
1.2 案件要素对案件的表征
Mikolov等人[20]提出的Word2Vec模型能够利用词的上下文信息将词转化成低维稠密向量,其得到的词向量非常有利于表达词的语义特征。
案件要素是案件的结构化展示,可以利用案件要素来表征案件。令Er={e1,e2,…,em}为第r案件的案件要素集合,共包含m个案件要素。对于每一个案件要素ei,都能把它表征为一个d维的词向量wi,即Er={w1,w2,…,wm}。
Mitchel等人[21]研究发现向量加是一种简单有效的语义组合方法。借鉴这一思想,用案件要素的词向量的均值对案件进行向量化表示。假设Cenr∈Rd为第r个案件的向量化表示,计算方法如式(2)所示。
假设共有k个案件,使用Cen来表示案件的集合,那么:
Cen为作为案件的向量化表示,可以直接将其作为“种子”来初始化聚类算法的聚类中心,指导聚类的过程。
1.3 基于卷积自编码器的文本表征
对一篇新闻文本S压缩后的句子集合X,令xi∈Rk是句子集合X中第i个词的词向量,并且该句子集合共包含n个词。那么这篇新闻文本可以表示如式(4)所示。
其中,⊕是拼接操作。也就是说,把句子集合X构造为一个n×k维的文档词矩阵。
1.3.1 编码器
采用Kim[22]提出的文本分类模型作为编码器。对于输入的单通道文档词矩阵x∈Rn×k,第τ个特征映射的潜在表示如式(5)所示。
其中,Wτ∈Ra×k为第τ个卷积核,a为卷积核的高度。σ是激活函数,*代表2d卷积操作,bτ是第τ个卷积操作的偏置项。由于本文使用的是窄卷积,故cτ∈Rn-a+1。
对cτ进行最大池化操作,得到hτ∈R,即:
由于聚类中心的维度是d维,故需要d个卷积核对输入的文档词矩阵进行卷积操作,并且对每一个特征图都进行最大池化操作,最后对每一个hτ进行拼接得到文本的向量化表示H∈Rd,即:
1.3.2 解码器
使用反卷积网络来构成解码器部分,首先分别对每一个hτ进行反池化操作,把数据还原为gτ∈Rn-a+1。其次,对每一个gτ进行反卷积操作,对文档词矩阵进行重构,计算方法如式(8)所示。
其中,σ是激活函数,T表示所有的特征图,WT是相对应的卷积核的转置,*是2d卷积操作,ξ是偏置项。
采用最小均方差损失作为卷积自编码的重构损失,计算如式(9)所示。
其中,θ为卷积自编码器的参数。
1.4 聚类迭代过程
对于给定的新闻文本向量集合{Hi}i=1,2,…,N,Hi为第i篇新闻文档通过卷积自编码器得到的向量化表示。本文的任务是将N篇不同案件的新闻文本划分到k个不同的案件簇中,即C={C1,…,Cr,…,Ck}。其中,Cr为第r个案件簇。K-means是运用最广泛的聚类算法之一,其损失函数如式(10)所示。
其中,M∈Rd×k为聚类中心矩阵,sr,i∈{0,1}k为每篇新闻文本案件簇的划分,并且1Tsi=1。
第r个案件簇划分的更新方式如式(11)所示。
但我们不单独训练文本表示模型,而是将文本表征和聚类过程统一到同一个框架,交替更新卷积自编码器的参数θ,聚类中心M以及每篇新闻文本在案件簇的划分si,实现文本表示和聚类的协同。
1.4.1 文本案件簇划分的迭代
在迭代更新过程中,把新闻文本划分到与聚类中心最近的聚类簇中,具体地,更新si的规则如式(12)所示。
1.4.2 聚类中心的迭代
1.4.3 卷积自编码器参数的更新
在自编码器重构损失的指导下对网络进行训练,可以约束文本表征,而在聚类损失的指导下对网络进行训练,能使文本的表征更接近案件。故使用卷积自编码器的重构损失及聚类损失的组合来联合训练网络,损失函数定义如式(6)所示。
其中,λ∈[0,1]是平衡Lossc和Loss(θ)n的超参数。
考虑聚类迭代的前期,自编码器不能学习到很好的文本表征,并对案件的表征产生影响,产生糟糕的聚类结果。令一共训练T轮,前J轮只执行更新卷积自编码器的参数,并且令λ=0,使损失只为自编码器的重构损失Loss(θ)n。后T-J轮在前向时加入聚类过程,损失为联合损失Loss。
利用提出的方法迭代更新X={X1,X2,…,XN}T轮后,新闻文本集将收敛到不同的案件簇中,从而得到最终的聚类结果。具体过程如算法2所示。
2 实验
2.1 数据集与评价标准
截至目前,尚未找到公开的案件相关的新闻文本数据集。为了验证模型的有效性,本文选取了近年来发生的6个热门案件,以案件要素作为检索关键词,从百度新闻及搜狗新闻对案发后一段时间内的相关新闻文本进行爬取,清洗并标注出与6个案件相关的新闻文本5 970条。每个案件新闻文本都覆盖了从案件的发生到案件后续的影响全过程。例如,对于“重庆公交坠江案”相关新闻文本,包括了“案件经过、救援、女司机的声讨、案件原因、责任的认定、反思及教训”等方面。数据集的相关统计信息如表2所示。
表2 案件相关新闻文本数据集
通过对中国裁判文书网(1)http://wenshu.court.gov.cn/中文书的案件要素的构成进行分析,同时考虑案件相关新闻文本的特点,我们定义“案发地,涉案人员,案件描述”三种要素作为案件要素。每个案件的要素定义如表3所示。
表3 案件要素列表
本文将聚类结果与数据集中文本的标签进行比较来评估聚类的性能, 选用准确率(ACC)和标准化互信息(NMI)作为评价指标。其中,准确率的定义如式(17)所示。
其中,sT∈[1,N]为聚类结果矩阵的转置,s,∈[1,N]为数据集中文本的标签矩阵,tr为矩阵的迹,N为新闻文本总数。
标准化互信息(NMI)可以用来衡量两个数据分布之间的相似度,对于聚类任务,即衡量聚类标签和聚类结果之间的相似程度。令Y为聚类标签集合,A为聚类结果集合,定义如式(18)所示。
其中,MI(·)为互信息,H(·)为信息熵。NMI∈[0,1],值越大说明聚类效果越好。
2.2 基线方法
本文选择了两种基于向量空间的模型,一种基于主题模型以及四种基于词向量的分布式表示方法对文档进行表征,并都使用K-means聚类算法和提出的方法进行比较。特别地,对于基于向量空间模型的特征维度为2 000,其余基线方法的维度均为300。此外,对于文档的分布式表示方法,使用本文方法压缩后的文本。具体如下: ①TFIDF-1: 将文档中的每个词作为特征项,权重为TFIDF; ②TFIDF-2: 使用窗口大小为2的上下文单词作为特征项,权重为TFIDF; ③LDA: 利用主题模型获得文档表示; ④MeanWV(MeanWord Embedding): 文档的平均词向量; ⑤TWE(Topical Word Embedding(2)https://github.com/largelymfs/topical_word_embeddings): 拼接主题向量的平均和词向量的平均表示文档[23]; ⑥TopicVec(3)https://github.com/askerlee/topicvec: 使用文档主题向量和词向量均值的拼接表示文档[24]; ⑦STC: 以谱哈希作为监督信息,利用卷积神经网络学习文本的表征[4]。
2.3 实验设置
2.3.1 预训练词向量
考虑到模型中的卷积自编码器是一个无监督模型,输入的词向量矩阵不能参与训练,文本的表征依赖于词向量的质量和词向量在数据集上的覆盖范围。针对这个问题,我们在数据集上构建词典,利用预训练中文词向量(4)https://github.com/Embedding/Chinese-Word-Vectors构建映射关系,得到初始词向量,同时采用skip-gram模型[20]在数据集上对词向量进行微调。
2.3.2 参数设置
我们在数据集经过反复实验,调整模型,确定了最佳参数。除非特别说明,所有实验均采用以下的超参数设置: ①对于文档压缩模块,我们设置每个摘要抽取的句子数为3句,多个摘要合成的句子数也为3句。②对于卷积自编码模块,输入词向量的维度为300维;选取三种不同的卷积核,高度分别为3、4、5,并且每种卷积核厚度均为100;优化器为Adam,学习率为0.01, L2正则化权重为0.000 01。③对于聚类模块,案件要素的embedding维度为300;设置迭代的轮次为25,在聚类过程中,前5轮不使用聚类损失优化网络;平衡聚类损失和自编码器损失的超参数设置为0.1。
2.4 实验结果及分析
2.4.1 本文方法的有效性分析
为了验证本文的方法,我们在数据集上分别选取了2、3、4、5、6个案件进行了实验,并与基线方法进行了比较,实验结果表明,本文的方法在准确率和标准化互信息两个指标上均优于基线方法。实验结果如表4所示。
表4 本文方法和基线方法的实验结果对比
从表4的实验结果可看出,基于LDA的文本表征的聚类效果相对较差,分析其原因,主要是由于该方法不是很合适本任务,因为我们的目的是把同一案件的新闻文本聚类到同一个案件簇,一个案件是一个话题,而LDA认为一篇新闻文本含有多个话题,所以造成了聚类结果的不理想。基于向量空间的文本表征的聚类方法取得了不错的效果,首先因为对于案件相关的舆情数据, 不同案件的新闻文本具有一定的差异,TF-IDF计算出的是词对文档的代表程度,能较好地区分不同文档;其次,案件新闻文本属于篇章及文本,包含大量的统计特征,基于向量空间模型的方法能够体现其统计的优势。特别是对于TFIDF-2,考虑了二元语法特征,捕捉了一部分上下文信息。基于分布式的文档表示方法,MeanWV、TWE和TopicVec都分别使用词嵌入或主题嵌入对文档进行表示,STC以文本谱哈希作为伪监督,得到文本表示,取得了接近TFIDF-2的效果。
而本文方法利用卷积自编码器对文本进行特征的提取和语义的组合,使文本的表征有了n元语法特征,同时使用聚类的损失进行指导,令模型更能学习到任务相关的文本表示形式。此外,使用案件要素初始化聚类中心,指导了聚类过程。故本文方法在两个平均指标上,均优于基线方法。例如,在6个案件下,我们的方法比TFIDF-2在准确率上提升了4.61%,标准化互信息提升了9.20%。
此外,对在不同数目案件上聚类的结果进行分析,可以看出,聚类数目越少,聚类效果越好。本文方法在不同数目案件上的聚类结果均优于基线方法。
2.4.2 案件要素的有效性分析
在固定超参数不变的前提下,选取6个案件,利用案件要素初始化聚类中心以及随机初始聚类中心两种方法进行对比,验证案件要素的对聚类过程的指导作用。图2展示了两个不同的方法在迭代过程中评价指标的变化趋势,图2(a)为准确率的变化趋势,图2(b)为标准化互信息的变化趋势。
图2 案件要素初始化聚类中心和随机初始化聚类中心对结果的影响
由图2可以看出,利用案件要素初始化作为指导信息,在迭代过程中,性能稳步上升,证明本文方法是有效的。在20轮以后,结果趋于稳定,证明本文方法具有稳定性。然而使用随机初始化聚类中心的方法,虽然最终的性能都有了提升,但是迭代过程就不那么稳定了,其原因可能是由于K-means算法对初值具有很强的依赖性,如果选取的初值不合适,容易陷入局部最优值,导致较差的聚类结果,并且使迭代过程不稳定,模型难以收敛。
2.4.3 聚类中心迭代规则有效性分析
为了验证本文的聚类中心的迭代规则是有效的,同时也进一步验证案件要素的指导作用。在相同的超参数、都使用案件要素初始化聚类中心的条件下,对比了提出的聚类中心的迭代规则及只利用案件簇下新闻文本的均值向量作为中心的方法,在6个案件下的实验结果如图3所示。
图3 案件要素初始一次聚类中心和迭代聚类中心对结果的影响
由图3可以看出,利用本文提出的聚类中心迭代规则,在每一轮的迭代过程中,聚类的结果在评价指标上都比对比方法所有提升,说明本文提出的聚类中心迭代方法,在案件的表征向量中有效融入了新闻文本的信息,提升了聚类的效果。也更加说明了,案件要素作为案件的表征,以它作为聚类中心,对聚类的过程具有指导作用。
2.4.4 聚类损失的指导作用分析
利用本文的方法,分别只利用网络的重构损失及聚类损失和重构损失的组合来训练网络,其他参数保持不变,同样选取6个案件进行实验,结果如图4所示。
图4 联合损失和只使用网络重构损失对结果的影响
由图4可以看出,只利用网络的重构损失训练网络,与利用联合损失在聚类的前期的迭代中相比,差别不是很大。之后,施加了聚类损失的约束取得了更好的效果。分析原因,可能是由于在迭代的前期,网络趋向于训练文本的表征,之后,使用聚类损失的约束能使文本的表征更接近案件实际,更有利于聚类。
2.4.5 不同文档压缩方法有效性分析
此外,本文还验证了基于多种摘要的文档压缩方法的有效性。与以下三种方法进行对比: ①Uncompressed,不进行压缩; ②TextRank,只利用TextRank[17]方法进行压缩; ③Rouge1,计算标题与文档句子的Rouge1值,并选取得分最高的前3个句子进行压缩。案件数目为6个,实验结果如表5所示。
表5 不同压缩方法实验结果对比
由表5可以看出,不进行压缩的方法是一种糟糕的选择,因为一篇新闻文本包含大量的冗余信息,对文本的表征造成了混淆。而只使用一种文档压缩方法,不能保证抽取的信息就是文档重要的信息。计算标题与文档句子的压缩方法,有可能存在标题党或者标题不是描述事实的情况,造成压缩的结果不准确。而本文的方法综合考虑了以上情况,因此其效果是最理想的,比Rouge1方法在准确率上提高5.64%,标准化互信息提高了7.20%。
2.4.6 可视化
图5分别展示了TFIDF-2和本文方法在二维空间的聚类分布情况,从图中可以看出,本文的方法在数据集上体现出明显的聚类效果,各个案件新闻的特征向量分别相互远离,同一个案件新闻特征向量相互聚集,加强了聚类效果,提高了模型的泛化能力。
图5 聚类结果可视化
3 总结与展望
将案件要素信息作为监督指导条件,融入基于神经网络的聚类模型中约束文本的表征及聚类的搜索过程,实现新闻与案件相关性分析,是一种很有效的方法,实验结果也证明了该方法的有效性。进一步研究还可以考虑更多案件信息的深度利用,如结构信息、内容信息等。另外,我们还将研究基于预训练的案件新闻文本的表示方法。