Leveraging Declarative Knowledge in Text and First-Order Logic for Fine-Grained Propaganda Detection
转载自:https://mp.weixin.qq.com/s/XYFTPNs-qCn8QlubCaY8og
引言
本文介绍了复旦大学数据智能与社会计算实验室 (Fudan DISC)在EMNLP 2020上录用的一篇长文: Leveraging Declarative Knowledge in Text and First-Order Logic for Fine-Grained Propaganda Detection。
文章摘要
该文章针对新闻中细粒度的宣传手段检测任务,提出利用文本知识和一阶逻辑知识在模型训练过程中进行正则化。实验结果证明,该方法可以显著提高句子级别和词语级别预测的一致性,使作出更准确的预测。
研究背景
宣传手段(propaganda)是一种故意设计出的带有特定目的的方法,来影响人们的想法。和常见的虚假新闻不同,宣传手段可能是建立在一部分事实基础上的。这就使得宣传手段在社交媒体上的传播更有效,而且更不易被发现。图1列举了一些包含宣传手段的例子,以及相应的宣传手段的定义,比如「We will make America strong again,proud again … again」之类的,就是属于slogan标语类型的宣传手段。
图1:包含宣传手段文本的样例,以及相应的宣传手段定义 (加粗的代表宣传手段文本)
本文研究了细粒度的宣传手段检测问题。不同于早期工作主要研究粗粒度的宣传手段检测(即预测文本中是否包含宣传手段),细粒度的宣传检测需要识别出文本中包含宣传手段的片段。最近的研究工作(Da San Martino et al., 2019)提出了一种基于多任务学习的方法,但并不能保证句子级预测与词语级预测结果的一致性。此外,将人类知识注入到数据驱动的方法也是另一个有吸引力的探索方向。因此,本文提出了一种利用一阶逻辑和自然语言文本中的声明性知识(declarative knowledge)进行细粒度宣传手段检测的方法。
方法描述
本文提出的方法LatexPRO如图2所示。本文首先拓展了一种基于BERT的多任务学习方法作为基础模型,该模型可以在句子级别和词语级别上对18种宣传手段进行预测。在此基础上,本文注入逻辑知识和文本知识作为额外的训练目标来对模型的训练过程进行正则化。
图2:提出的模型概述
1. 基础模型
为了更好地利用句子级别的信息,从而有利于词语级别的预测,本文提出了一个细粒度的基于多任务学习的方法作为基础模型,该模型可以在句子级和词语级上对宣传手段进行细粒度的预测。本文采用BERT作为backbone,每个输入句子,被修改为“[CLS]sentence tokens[SEP]”。在句子级别(图2中蓝色部分),进行18个二元分类,分别预测句子是否包含对应类别的宣传手段。在词语级别(图2 中绿色部分),进行19元分类(即18个宣传手段类别和1个“none of them”类别),也就是将每个token的特征送到一个19元分类器中,预测这个token属于哪个宣传手段类别。在这个多任务学习过程中包含2类损失:句子级损失L_sen和词语级损失L_tok。
2. 引入逻辑知识
句子级和词语级预测间存在隐含的逻辑约束。然而神经网络的可解释性较差,且需要用大量的数据进行训练才可能学习到这种隐含的逻辑。因此,本文考虑引入逻辑知识来解决这个问题。具体来说,本文使用命题布尔表达式 (propositional Boolean expressions)来显示地通过逻辑驱动的目标,对模型进行正则化。这可以提高不同粒度预测之间的逻辑一致性。举例来说,如果一个宣传手段类别c能在句子级别被预测出来,那么在词语级别也应该预测出属于类别c的宣传手段片段。所以本文考虑使用以下命题规则,公式如下:
其中A和B是两个变量。把f_c(x)和g_c(x)带入上述公式,逻辑表达式可以写为:
其中x是输入, f_c(x)是句子级别预测概率,g_c(x)是词语级的预测概率。可以得到以下优化目标:。
3. 引入文本知识
宣传手段的定义可以包含了丰富语义信息,比如slogan的定义是“a brief and striking phrase that may include labeling and stereotyping”。为了利用这种知识,本文使用了额外的编码器对每个宣传手段的定义进行编码,获得宣传手段定义的特征表示。具体来说,对于每个定义,将输入序列修改为“[CLS] definition [SEP]”并输入给BERT,将[CLS]位置的特征作为定义的特征表示D(c_i),其中c_i代表第i种宣传手段。然后计算每个定义特征表示D(c_i)和预测出宣传手段类别的特征表示W(c_i)的欧式距离。目标是最小化L_def,从而对模型进行正则化,对宣传手段特征表示进行优化:
最后通过一个加权损失函数L_j对模型进行训练优化,其中超参数α,β,γ,λ为权重系数:
实验
1. 实验设定:
本文使用了PTC数据集,并在两种粒度的任务上进行了实验,句子级别分类SLC和片段级别分类FLC:
- SLC要求模型预测出文本中是否包含宣传手段。
- FLC要求模型预测出包含宣传手段的片段的起始位置和对应的类别。该任务又分为2种设置:Spans和Full task。Full task要求同时正确预测出宣传手段片段的起始位置和对应的类型。Spans是Full task的一种特殊情况,只要求正确预测出片段的起始位置。
2. 实验结果与分析
片段级别宣传手段检测 (FLC)
表2展现了不同模型在FLC任务上的性能。结果显示本文提出的LatexPRO(T+L)模型优于之前的SOTA模型。在Spans任务上,准确率提高了10.06%,F1提高了2.85%。在Full Task任务上,准确率提高了12.54%,F1提高了4.92%。这说明利用文本中的声明性知识有助于更准确地进行预测。为了进一步了解模型在FLC任务中的表现,本文还进行了更详细的分析,如表3所示,展示了在Full Task任务上的详细表现。
句子级别宣传手段检测 (SLC)
表4展现了不同模型在SLC任务上的性能。结果表明,本文模型实现了比其他模型更优越的性能。和MGN相比, LatexPRO (L+T)提高了1.63%的准确率,9.16%的召回率和4.89%的F1。这证明了本文模型的有效性,表明可以召回更多的正样本,这将进一步有利于FLC细粒度的预测。
验证提高预测一致性的有效性
本文定义了度量指标MC来衡量句子级预测Yc和词语级预测Yt之间的一致性。实验结果见表2。MC分数越高表示一致性越好。结果显示引入了声明性知识的方法可以大幅超越基础模型。
样例分析
图3展示了一组样例分析。可以看出之前的模型可以正确预测出片段的起始位置,但是却预测不到正确的类别上。另外可以看到本文模型无论是在预测片段的起始位置还是类别上,都能取得不错的结果。
误差分析
图4是结果的混淆矩阵可视化。坐标轴上的O代表了不包含宣传手段(“none of them类别”)。结果基本呈现出对角线形状,而且大部分预测错误的情况,都是分到了O上。这可能是因为数据集中正负样本非常不平衡导致的。
总结
1. 提出了一种细粒度的多任务学习方法,将声明性知识注入到神经网络中来检测新闻中的宣传手段。
2. 提出同时利用一阶逻辑和自然语言文本中的声明性知识,在模型训练过程中进行正则化,以获得更好的宣传手段的特征表示,提高了粗粒度和细粒度预测之间的逻辑一致性。
3. 实验结果表明,本文提出的知识增强方法以较高的F1和准确率取得了优越的性能。