APP下载

基于案件要素的案件话题优化

2021-12-08彭仁杰余正涛高盛祥李云龙郭军军赵培莲

小型微型计算机系统 2021年12期

彭仁杰,余正涛,高盛祥,李云龙,郭军军,赵培莲

(昆明理工大学 信息工程与自动化学院,昆明 650500)(昆明理工大学 云南省人工智能重点实验室,昆明 650500) E-mail:ztyu@hotmail.com

1 引 言

随着互联网的迅速发展,互联网信息已经在人民生活中扮演者越来越重要的角色.微博上的信息传播及时,扩散速度快,许多案件的发生和讨论都是从微博上开始发生,并且引起了广大网民的讨论,导致微博成为新的舆情事件产生和民意反映的集聚地.近年来,司法部门对于新闻舆情也逐渐重视起来.通过自然语言处理技术处理与法律相关的数据,有利于提升相关部门的工作效率,并且能够了解当下广大网民所关心关注的话题,能够更好的引导公众的舆论和引导事件往有利的方向发展.

为了得到与案件相关的话题,其关键就是在于利用案件要素得到与案件关联紧密的话题.当前,在话题发现方面已有很多研究,代表性方法有基于聚类算法的话题发现方法[1-5]和基于潜在狄立克雷分配(latent Dirichlet allocation,LDA)主题模型的热点话题发现方法[6-9].David Blei提出了LDA(Latent Dirichlet Allocation)模型[10],该模型是基于词袋模型,考虑词条共现,来生成文档的话题分布,在长文本中取得了很好的效果;但是由于短文本长度较短,词语之间联系弱,文档级水平的词共现信息缺少.因此在传统狄利克雷分布LDA模型(Latent Dirichlet Allocation)的基础上,出现了一系列的改进模型,He Li等人提出了基于潜在狄利克雷分配的分层分类模型[11],使用LDA模型作为特征提取技术来提取潜在话题,以减少数据稀疏性的影响,并构建与语料库关联的主题特征向量.Chien J T等人提出了一种新的层次分割模型(HSM)[12],通过上下文信息来反映句子与话题间的相似度.Jen-Tzung Chien提出一种基于贝叶斯稀疏学习的方法来为稀疏话题模型选择显著词汇特征,以此来建立所选相关词的潜在话题模型[13].Xiaohui Yan等人提出了基于Biterm的话题模型BTM(Bitrem Topic Model)[14],能在一定程度上针对共现对bitrem建模缓解词条共现的稀疏性,在微博文本话题发现中取得了很好的效果.李卫疆等[15]引入BTM话题模型来处理微博短文本的同时整合了K-means聚类算法来对BTM模型所发现的话题进行聚类,缓解了短文本的数据稀疏性问题,提高了话题的质量.由于传统的话题模型是对整个文本进行话题抽样,所以得到的话题具有发散性,与所期望的案件关联度不大,且部分短语被切分为多个个体词后会引起额外的重现,使得生成的话题中可能出现一些无关词汇从而导致话题可读性下降,对于案件领域话题发现不适用.

在案件领域中,传统的话题模型在进行话题建模的时候都是以数理统计为基础的,忽略了词项之间的语义关系,得到的话题都太过发散,有很多噪声话题,并且得到的话题与案件关联不紧密;同时,话题中词的优劣直接影响话题的可解读性,话题词之间的相关性方面有很大的局限性,导致案件话题生成质量不高,无法对案件话题进行很好的表述.通过对大量的案件相关微博和案件的构成进行分析,发现案件是由“人、事、物、时、空”等多个要素构成的;同时,这些案件要素也会在微博中出现,因此,本文提出了一种利用基于案件要素对BTM话题模型进行改进的方法,将通过词嵌入向量获得的语义信息与原始主题模型相结合,考虑文档词与案件要素的相似特征频率,更好的获得微博话题中与案件更相关的话题,如表1所示,再选取概率较高的话题对案件话题进行表征;同时计算案件话题的表征与文本词进行相关性和案件要素与文本词的相似度,得到案件话题词集.

表1 案件相关微博举例Table 1 Examples of case Weibo

本文的创新包括两个方面:

1)通过提取案件要素与文档词的相似特征来对原始的主题模型进行改进,优化主题模型得到的概率矩阵,得到与案件相关的话题词,选取概率较高的词来进行话题表征;

2)得到了案件相关候选词后,提利用候选词与文本词之间的相关性和案件要素与文本词之间的相似度,得到案件话题词集,解决了生成的话题与案件相关性不高,可解释性比较差,话题生成质量不高的问题.

2 案件要素分析

案件是由多种要素构成的[16],通过案件要素,可以对案件进行表述,关于案件构成要素的理论或说法,主要有“五要素论”、“七要素论”、“纵向动态和横向静态要素论”、“信息化侦查要素论”等.由于微博文本为短文本,且没有太多事实描述,通过对大量的案件相关的微博进行分析,提取出了与犯罪事件相关的人、事、物、空等基本结构要素.将这些案件要素作为监督,可以得到与案件关系紧密的话题.

3 基于案件要素的话题优化方法

案件要素指导下的话题发现方法分为案件相关话题发现和案件相关话题的词的优化两部分,其关键步骤如图1所示.案件相关话题的生成:输入微博文本,通过BTM话题模型训练得到话题的概率分布Z,通过对案件文本进行分析,获取案件要素信息C={C1,C2,…,Cm},微博文本D={T1,T2,…,Tn}其中Ti代表文本中的词,Ci代表组成案件的要素,m代表案件描述的长度,e∈E,E为案件要素的集合.通过词嵌入将文档词和要素嵌入为词级的向量空间表示,再经过语义表征计算两者的语义相似度,得到特征相似矩阵,再与话题概率矩阵相乘得到案件相关话题分布矩阵,选取话题词对案件话题进行表征.案件话题词的优化:使用互信息的方法,通过KL距离来计算话题与文档中词的相关性,同时利用词嵌入将文档中的词和要素嵌入为词级的向量空间表示,计算文档中词与案件要素的相似度,两者加权最终选择前k个词作为案件话题词.

图1 基于案件要素指导下的话题优化方法Fig.1 Diagram of topic optimization method based on case element guidance

3.1 BTM话题模型建模

BTM是针对短文本进行建模的话题模型,可以有效解决短文本稀疏性的问题,通过将上下文共现的词对进行建模,利用整个语料中的信息来抽样话题,从而得到整个语料集上的话题分布.BTM话题模型如图2所示.

图2 BTM话题模型Fig.2 BTM topic model

图2中,θ是BTM语料中话题的分布概率,φ是话题-词对的分布,z为词对的话题标号,wi,wj是词对中的两个词,|B|是语料中词对的数目.

该模型的生成过程可以描述如下:

对于每个话题k∈{1,2,…,K},生成词-话题分布φk~Dir(β).

对于每篇文档m∈{1,2,…,M},生成话题-文档分布θ~Dir(α).

对于词对|B|中的每个词对按照以下步骤产生,假设一个词对用b表示,则b=(bi,bj):

从语料库级别的话题分布θ中抽取一个话题Z,即Z~Muil(θ).

从被抽取到的话题Z中同时抽取2个词bi,bj,服从基本假设,每一个词对都从一个独立话题中产生,即bi,bj~Muil(φ).

BTM话题模型对文本中所有词进行建模,而不是对文档生成的过程建模,而是对整个文本中的“词对”进行建模,因此,文档的话题不能直接得出.所以假设文档中话题的概率等于文档中生成“词对”的话题期望,话题最终可以表示为:

(1)

矩阵Z表示文档中话题的生成概率关系,矩阵可用公式(2)表示,其中k代表话题数,M代表词对的个数:

(2)

由于BTM话题模型是对整个文本进行话题抽样,得到的只是话题的生成概率,不具备完整的语义信息,所以得到的话题具有发散性,与所期望的案件关联度不大.

3.2 基于案件要素话题的发现

通过对案件微博的分析,可以通过案件要素来对案件进行表征,同时,考虑微博文档与案件的语义信息,利用特征加权的方法来对原始话题模型进行一个改进,从语义的角度查找隐藏的话题词,从而获得与案件相关的话题词.通过将所定义的案件要素作为案件的特征,将文档中所有词与案件特征进行相似度比较,并将其相似度作为特征权值来优化话题模型.

设D={t1,t2,…,tn}∈RV文档词集,n为D的长度,V为词表大小.通过预训练的词向量矩阵M∈RV×d,将D中每个单词转换为d维的向量t∈Rd.同理将案件要素C中的词嵌入为C∈Rd.

文档词集D和案件要素C通过词嵌入编码得到D′和C′.过滤层通过计算D′和C′的距离或者相似度从而计算出文档词集D与案件要素C之间的相似度.

案件要素与文档词相似度计算公式如下:

(3)

其中η为判断词与案件特征是否相似的阈值,如果相似度小于阈值,则权值为0.对于整个文档D来说,可以根据公式(4)来计算特征相似度频率.

(4)

其中,V(d)表示d中单词的数量,ti表示d中单词.

通过特征相似度计算,获得每个词的TS值,可以将其视为文档词t在文档中的权重,因此文档的TS也可用向量D表示,可以得到文档与词之间的矩阵关系.

(5)

这些特征权重可与BTM话题模型得到的概率结合起来,得到案件特征与话题之间的关系.考虑到概率的范围,我们将TS矩阵归一化,所得的矩阵再与话题模型概率矩阵相乘,得到了有案件要素相似特征的主题模型概率.

TS-BTM=TS×Z

(6)

通过计算主题下具有较高权重值的单词,可以得到与案件较为相关的话题.从中选出前k个概率较高的话题词来对案件话题进行表征.

3.3 基于案件相关话题词优化

在针对话题中词与词之间相关性较差,且存在一些噪声词,话题生成质量不高,话题可读性不强和话题判别性不高的问题,利用了“信息熵”的概念,用互信息的方法来优化话题词,通过案件话题与微博文档的互信息来判断两者的相关度,相关度越大,互信息越大,相关度越小,互信息越小.

两个随机变量之间X1和X2的相互信息可以表示为;

I(X1:X2)=H(X1)+H(X2)-H(X1;X2)

(7)

而一组随机变量XG的总相关性表示为:

TC(XG)=∑i∈GH(Xi)-H(XG)=DKL(p(xG)‖∏i∈Gp(xi))

(8)

为了方便计算,因此使用KL散度来表示总体相关性.

计算话题与文本中词的相关性时,使用WG来表示文本中的词,用Y来代表所得到的案件话题,当j=1,…,m时,分别将要素词表表示为Y1,…,Ym和他们对应的数据词组WG.

TC(WG;Y)=TC(WG)-TC(WG|Y)=
∑i∈GI(Wi:Y)-I(WG:Y)

(9)

通过计算案件话题和文本的互信息,可以更好地得到与案件话题相关的词,例如:在“昆山反杀案”中,可以通过计算“于明海”这个话题与文本词的互信息,来得到文档中的词与案件话题“于明海”之间的相关性.

同时,为了使得文档中的词更好的与案件相关,通过计算微博文档中的词与案件要素之间的相似性,

设W={w1,w2,…,wG}∈RV表示微博数据集D,其中w表示词,G为词的个数,V为词表大小.通过预训练的词向量矩阵M∈RV×d,将W中每个单词转换为d维的向量w∈Rd.同理将案件要素C中的词嵌入为C∈Rd.

文本数据集W和案件要素C通过词嵌入编码得到W′和C′.过滤层通过计算W′和C′的距离或者相似度从而计算出话题W与案件要素C之间的相似度.

文本数据集与案件要素相似度计算公式如下:

(10)

得到案件话题和文本的互信息TC(WG;Y)件话题和文本的互信息γ之后,对他们进行加权求和:

S=αTC+(1-α)δ

(11)

其中α为经验参数.通过件话题和文本的互信息件话题和文本的互信息,可以得到案件要素与话题词之间的相关性,通过将相关性进行排序,选取与案件最相关的前K个词来对话题进行表征,从而提高话题生成的质量.

4 实 验

本文利用新浪微博数据进行实验,采用对比算法为LDA、BTM,对本文使用的案件要素话题发现方法与对比模型在话题发现的准确性、发现的话题质量等指标进行比较.

4.1 数据集

通过选定今年来的热点案件,本文选取了“昆山反杀案”等热门案件,选取与案件相关的微博数据6621条.并对数据进行以下处理:去除重复文档并过滤广告和噪声数据,去除了词数小于5的文档;对数据进行切分词、去除停用词.

4.2 参数设置

本文实验中,话题模型的狄利克雷先验超参数均使用相同的设置,分别设置如下α=0.5/k,β=0.1;此外,话题优化的相似度阈值参数σ=0.6;word2vec主要采用negative-sampling训练数据,词语维度为200维.为了适应短文本,窗口大小调整为10,初始学习率为 0.025,去除语料中频率小于5的词语,语料库上的迭代次数为 20.

作为阈值参数,当η=0.8时效果最好,因为忽略文档词与案件要素特征相似性很小的词,保留相似度大的词,得到的话题与案件最为相关.

4.3 评价指标

本文使用主题一致性(topic coherence)和准确率(P)、召回率(R)和(F)值作为评价指标.

主题一致性是用来评价话题模型的一种指标,主题一致性越大,就表明主题模型的效果越好.主题一致性是计算所有话题下前K个词语的语义相似度平均值.Aletras[17]等利用标准化互信息的方法来计算每个话题下每两个词语的语义相似度.主题一致性计算如公式(12)所示:

(12)

其中cos(·)表示余弦相似度,vi,vi为词向量,N为话题个数,C表示词向量组合数.

准确率P计算如公式(13)所示:

(13)

召回率R计算如公式(14)所示:

(14)

F值是召回率和准确率的加权几何平均值,公式如式(15)所示:

(15)

4.4 本文方法有效性分析

通过分别与LDA与BTM方法进行比较,验证提出方法的有效性.对每组实验都计算给定话题下的话题一致性,结果如表2所示,由于选取单一案件作为实验,所以话题数不宜过多,经测试,当话题数为10时,效果最好.

表2 主题一致性对比分析Table 2 Comparative analysis of themes

分析表2可以看出案件话题发现中,本文提出的方法所得到的话题一致性比传统的话题模型LDA和BTM的要高.

传统的LDA模型受限于数据稀疏的问题,在短文本上效果不好,而BTM模型由于话题词发散,得到的话题与案件相关性不大,而本文的方法,利用了案件要素的信息,更加适用于本任务.

分析表3可以看出案件话题发现中,传统的话题模型LDA和BTM的表现并不好,本文方法较对比模型在准确率、召回率、F值提高了许多.

表3 准确度对比分析Table 3 Comparison of accuracy

传统的LDA模型受限于数据稀疏的问题,在短文本上效果不好,而BTM模型由于话题词发散,得到的话题与案件相关性不大,而本文的方法,利用了案件要素的信息,更加适用于本任务.

4.5 案件要素过滤得到的话题

通过BTM话题模型可以得话题词分布,分布值P(z|d)作为文档的话题分布,再利用案件要素特征与文档词的相似度优化话题词的概率分布,得到微博文本的话题集,且选择每个话题下概率最大的两个词来表征该话题.结果如表4所示.

表4 昆山反杀案话题Table 4 Topic of Kunshan anti-homicide

可以看出,通过案件要素特征对话题模型进行改进后,得到的案件话题候选词都是与案件相关的词.

4.6 与对比算法在话题发现质量上比较

在话题质量上,可以看出,LDA中发现的词包含一些不相关的词,是由于微博短文本中与话题相关的词汇出现的频率较低,话题词较少是因为微博文本太稀疏,影响了话题产生的有效性,BTM在较短微博集上解决数据稀疏问题的性能优于LDA模型,但是在话题词的可解释性上也存在不足,而通过将话题过滤再发现话题词的方法得到案件要素关键词相关的话题词,有很强的解释性,可以很好的表述案件话题,如表5-表7所示.

表5 本文方法每个话题下的话题词Table 5 Topic word of our method

表6 BTM方法每个话题下的话题词Table 6 Topic word of BTM

表7 LDA方法每个话题下的话题词Table 7 Topic word of LDA

5 结 论

本文针对在案件领域下话题模型得到的话题质量不高,无法对案件话题进行很好的表述的问题,提出了基于案件要素的话题优化方法,结合案件要素信息对案件话题和话题词进行了优化.结合案件要素与文档词的相似特征来对原始的主题模型进行改进,优化主题模型得到的概率矩阵,很好的对案件话题进行表征,同时利用了案件话题与文档的相似性对案件话题进行扩充,得到了与案件关系紧密的话题.进一步的工作还可以考虑在对案件话题的演化进行分析,得到案件话题演化脉络图.