在2021年欧洲计算语言学协会会议(EACL)上,我们的论文《不可靠新闻检测数据集中的隐藏偏见》获得了最佳长文论文的荣誉提名。在这篇论文中,我们研究了研究社区用于开发自动识别不可靠新闻模型的数据集。我们发现这些数据集存在偏见,这些偏见导致了先前论文所报道的识别准确率中的很大一部分。这表明,基于这些数据集构建的模型在现实世界环境中将难以很好地泛化。
为了给研究社区指明前进的方向,我们在分析之后,对偏见的构成进行了详细研究,提出了减少现有数据集偏见的指导方针,以及未来构建更高质量数据集的指导方针。
数据收集
我们从研究用于创建不可靠新闻文章数据集的数据收集策略开始分析。创建此类数据集需要收集新闻文章及其对应的标签(例如,“可靠”或“不可靠”)。
不出所料,收集标签是最具挑战性的任务。一些事实核查网站(例如,PolitiFact, GossipCop)为单篇文章分配标签。虽然这提供了准确的标签,但该过程既耗时又昂贵,导致数据集相对较小。
一种可扩展性更强的方法是为每个新闻机构(或网站,如cnn.com或nytimes.com)分配一个可靠性(或偏见)分数。这是一种创建大规模数据集的简单方法,但会产生带有噪声的标签。我们研究了采用这两种方法(站点级和文章级标注)的数据集中的偏见。
关键词相关性
作为文章级标注数据集的一个代表性示例,我们研究了流行的FakeNewsNet数据集。我们训练了一个简单的(逻辑回归)模型,基于关键词预测数据集中新闻项的标签(“可靠”或“不可靠”),发现其准确率(78%)几乎与最先进的基于BERT的模型(81%)一样高。检查驱动模型性能的关键词,我们发现名人姓名(“Brad”,“Pitt”,“Jenner”等)预测了“不可靠”标签,而像“2018”或“season”这样的中性术语则预测了“可靠”标签。
这些结果表明,在此类数据集中预测文章标签的能力可能依赖于标记话题的简单关键词(如名人新闻)的存在,而非任何更深层次的模式。这意味着数据集的构成存在偏见,因为它在话题词和不可靠新闻标签之间存在强相关性。(这并不意味着提及布拉德·皮特或名人的文章本身就不靠谱。)
这部分归因于事实核查网站文章选择中的偏见。另一个偏见来源是,在构建FakeNewsNet的过程中,作者使用了网络搜索引擎,该引擎有其专有的新闻排序和验证流程,来检索新闻文章的全文(事实核查网站不提供这些)。这有时会导致不匹配,即不可靠的内容被可靠的内容替换,但标签没有更新。
站点分类
我们还研究了使用站点级标签的NELA数据集。我们发现了站点级标注中更大的挑战,这主要是由于弱标注过程导致的:来自所谓不可靠新闻来源的文章可能是事实性的,反之亦然。
虽然有文献报告称,基于NELA及类似数据集的模型在将新闻文章标注为可靠或不可靠方面具有很高的准确率,但我们发现,大部分准确率是由于训练数据和测试数据中包含来自相同站点的文章。这意味着模型可以忽略识别不可靠内容的任务,而只是学习特定站点是可靠的还是不可靠的。
为了证明这一点,我们进行了一个“随机标签”实验,随机打乱了所有站点级标签,使其不再代表站点的可靠性,而只是站点本身的一个任意特征。我们发现,使用随机标签训练的模型,其准确率与使用真实标签训练的模型准确率相差在2%以内。(这些模型确实在学习识别站点,但这在实际应用中毫无用处,因为站点名称包含在任何给定文章的网址中。)
我们还表明,虽然使用干净的训练/测试站点划分是必要的,但不足以衡量给定模型的泛化能力。我们进一步测试了不同的站点划分,发现性能取决于测试集和训练集中站点的相似程度:测试集上的高准确率与训练集和测试集中站点之间的高相似性相关。
然后,我们采用了适当划分的数据集(训练集和测试集之间的相似性较低),在其上训练模型,并检查了哪些类型的文章最容易错误地被识别为可靠或不可靠。我们发现,当主题是政治和世界新闻时,模型最容易出错,而在体育和娱乐主题上则最准确。新闻的可靠性在任何主题上都很重要,但模型在政治和世界新闻主题上性能下降这一发现,凸显了改进不可靠新闻检测数据的重要性。
建议
我们的论文表明,为了确保模型性能的提升真正反映不可靠新闻的检测能力,社区需要在数据收集、数据集构建和实验设计方面进行若干改变。为了促进这些改变,我们提供了一个推荐的最佳实践表格(见下文)。我们希望这篇论文能推动不可靠新闻建模、分析和数据质量的提升。我们所有的代码均采用Apache 2许可证,并在GitHub上提供。
| 数据收集 | 数据集构建 | 实验设计 | |
|---|---|---|---|
| 从偏见较少或无偏见的资源中收集(例如,原始新闻机构) | 检查最显著的词以发现数据集中的偏见 | 在有偏见的数据集上开发模型时应用去偏见技术 | |
| 从多样化的资源(在来源、主题、时间等方面)中收集 | 运行简单的词袋基线以检查偏见的严重程度 | 检查在不在训练集中的来源/日期上的性能 | |
| 如果可能,收集精确的文章级标签 | 提供具有不重叠来源/时间的训练/开发/测试集划分 | 检查在仅有少量示例的来源上的性能 | |
| -- | -- | 在多个互补的数据集(例如,具有不同领域、风格等)上测试模型 | FINISHED |