在当今信息爆炸的时代,虚假信息传播的速度越来越快,自动事实验证成为了自然语言处理(NLP)领域的一项重要任务。传统的由专家进行人工事实核查的方式已无法满足日益增长的信息量需求。因此,利用人工智能技术自动验证信息的真实性成为了研究热点。本文将介绍如何利用知识图谱简化子图检索,从而提升事实验证模型的效率和准确性。
一、 引言:信息洪流中的事实核查
长期以来,事实核查一直是新闻行业的一项重要工作,由专业人士进行人工查证并撰写报道。FactCheck.org 和 PolitiFact.com 等网站就是专门致力于此类工作的例子。然而,随着互联网和社交媒体的兴起,信息量呈爆炸式增长,人工核查的方式已经无法跟上信息产生的速度。
自然语言处理领域的自动事实验证技术为解决这一问题提供了新的思路。通过训练机器学习模型,可以自动从大量文本数据中提取证据,并判断信息的真伪。近年来,事实验证数据集 FEVER (Fact Extraction and VERification) (Thorne et al., 2018) 得到了广泛应用。该数据集包含大量来自维基百科的断言,模型需要从中提取相关证据,并判断断言是否被支持、反驳或缺乏足够信息。
然而,FEVER 数据集也存在一些问题。例如,由于人工构建断言的方式存在偏差,模型可能在不使用任何证据的情况下就能取得较好的性能 (Schuster et al., 2019)。此外,当事实证据发生变化时,在 FEVER 上训练的模型性能会显著下降 (Hidey et al., 2020)。
为了解决这些问题,研究者们尝试构建更完善的数据集,并探索利用结构化数据进行事实验证的方法。例如,TabFact (Chen et al., 2019) 数据集使用从维基百科中提取的表格数据作为证据。
本文将重点关注 FACTKG 数据集 (Kim et al., 2023),该数据集利用结构化的知识图谱作为证据进行事实验证。FACTKG 中的断言来自 DBpedia (Lehmann et al., 2015),这是一个从维基百科中提取的大型知识图谱。
二、知识图谱:结构化信息的宝库
知识图谱(KG)由节点和边组成,用于表示结构化的概念和关系。节点代表实体,例如人物、地点或事件;边代表关系,表示实体之间的联系。例如,图一展示了一个简单的知识图谱,其中“Meyer Werft”是一个公司节点,“Papenburg”是一个城市节点,它们之间通过“location”关系连接,表示 Meyer Werft 公司位于 Papenburg 市。
![图一:FACTKG 数据集中的断言示例][]
图一:FACTKG 数据集中的断言示例 (Kim et al., 2023)。该断言的真伪可以通过 DBpedia 知识图谱 (Lehmann et al., 2015) 进行验证。
由于利用知识图谱进行事实验证的研究相对较少,本文将探索几种不同的方法,包括:
- 文本微调: 对预训练的编码器模型(如 BERT (Devlin et al., 2018))进行微调,将断言和子图表示为字符串进行训练。
- 混合图-语言模型: 使用改进的问答图神经网络(QA-GNN)(Yasunaga et al., 2021),该模型结合了预训练的编码器模型和图神经网络(GNN),能够有效地处理文本和图谱数据。
- LLM 提示: 在少样本设置下部署最先进的语言模型(如 ChatGPT 4o (Achiam et al., 2023; Open AI, 2024)),无需额外的微调。
三、高效子图检索:化繁为简
由于 DBpedia 数据集庞大 (1.53GB),直接将其作为模型输入效率低下。因此,我们需要从知识图谱中检索与断言相关的子图。Kim et al. (2023) 的基准模型使用两个语言模型来预测相关的边和图的深度。为了简化这一步骤,我们提出了几种无需训练的子图检索方法:
- 直接检索: 仅包含实体列表中所有节点都出现的知识三元组。例如,对于断言“Meyer Werft 公司位于德国”,如果实体列表中包含“Meyer Werft”和“德国”,则直接检索会返回包含这两个节点的所有知识三元组。
- 上下文检索: 在直接检索的基础上,将断言中的单词进行词形还原,并检查实体列表中的节点是否具有与这些单词相对应的关系。例如,对于断言“Meyer Werft 公司建造了游轮”,上下文检索会 zusätzlich 返回包含“建造”关系和实体列表中至少一个节点的所有知识三元组。
- 单步检索: 包含从实体列表中的节点出发,只需一步即可到达的所有知识三元组。例如,对于断言“Meyer Werft 公司位于 Papenburg”,单步检索会返回所有包含“Meyer Werft”或“Papenburg”节点的知识三元组。
四、实验结果:准确性与效率的提升
4.1 性能与效率的提升
实验结果表明,通过简化子图检索方法,我们能够显著提高模型在 FACTKG 数据集上的性能和效率。
模型类型 | 模型名称 | One-hop | Conjunction | Existence | Multi-hop | Negation | 总体 |
---|---|---|---|---|---|---|---|
仅使用断言 | FACTKG BERT Baseline | 69.64 | 63.31 | 61.84 | 70.06 | 63.62 | 65.20 |
仅使用断言 | FactGenius RoBERTa Baseline | 71 | 72 | 52 | 74 | 54 | 68 |
仅使用断言 | BERT (无子图) | 67.71 | 67.48 | 62.51 | 73.28 | 64.23 | 68.99 |
使用子图 | FactGenius RoBERTa-two-stage | 89 | 85 | 95 | 75 | 87 | 85 |
使用子图 | QA-GNN (单步检索) | 79.08 | 74.43 | 83.37 | 74.72 | 79.60 | 78.08 |
使用子图 | BERT (单步检索) | 97.40 | 97.51 | 97.31 | 80.32 | 92.54 | 93.49 |
表一:本文最佳模型与基准模型在测试集上的准确率对比。FACTKG 模型来自 Kim et al. (2023),FactGenius 模型来自 Gautam (2024)。使用单步检索子图的 BERT 模型表现最佳,而 QA-GNN 模型的计算效率最高。
如表一所示,使用单步检索子图的 BERT 模型在测试集上取得了 93.49% 的准确率,显著优于其他模型。此外,我们的模型训练速度更快,QA-GNN 模型仅需 1.5 小时即可完成训练,而 Kim et al. (2023) 的 GEAR 模型在 RTX 3090 GPU 上需要 2-3 天。
4.2 子图检索方法的有效性
实验结果表明,子图检索方法对模型性能的影响很大。直接检索和上下文检索方法由于存在检索不到子图的情况,导致部分断言只能依靠语言模型的偏差进行预测。而单步检索方法能够检索到更大的子图,为模型提供了更丰富的证据信息。
模型名称 | One-hop | Conjunction | Existence | Multi-hop | Negation | 总体 |
---|---|---|---|---|---|---|
BERT (无子图) | 67.71 | 67.48 | 62.51 | 73.28 | 64.23 | 68.99 |
BERT (直接检索) | 80.24 | 83.30 | 59.05 | 77.62 | 74.58 | 79.64 |
BERT (上下文检索) | 81.20 | 84.45 | 61.05 | 77.04 | 77.40 | 80.25 |
BERT (单步检索) | 97.40 | 97.51 | 97.31 | 80.32 | 92.54 | 93.49 |
QA-GNN (直接检索) | 74.60 | 74.01 | 58.97 | 76.41 | 74.12 | 75.01 |
QA-GNN (上下文检索) | 76.58 | 69.94 | 84.68 | 74.58 | 80.75 | 76.12 |
QA-GNN (单步检索) | 79.08 | 74.43 | 83.37 | 74.72 | 79.60 | 78.08 |
表二:不同子图检索方法在 FACTKG 数据集上的测试集准确率对比。直接检索仅包含断言中所有实体节点都出现的知识三元组,上下文检索 zusätzlich 包含断言中出现的边,单步检索包含断言中至少一个实体节点出现的所有知识三元组。对于 QA-GNN 模型,如果直接检索或上下文检索为空,则使用单步检索子图;而 BERT 模型则保留空子图。
如表二所示,使用单步检索子图的 BERT 模型在所有类型的断言上都取得了最佳性能,这表明简单的逻辑子图检索方法比复杂的训练方法更有效。
4.3 ChatGPT 的表现
为了评估未经微调的语言模型在事实验证任务上的性能,我们使用 ChatGPT 4o 进行了实验。实验结果表明,ChatGPT 在少样本设置下能够取得与仅使用断言的 BERT 模型相当的性能,但低于使用子图的最佳模型。
模型名称 | 准确率 (平均值 ± 标准差) |
---|---|
ChatGPT (25 个断言) | 73.67 ± 0.5 |
ChatGPT (50 个断言) | 76.33 ± 3.3 |
ChatGPT (100 个断言) | 73.00 ± 1.4 |
表四:不同配置下 ChatGPT 提示的测试集准确率。指标是三次运行的平均值。提示分别包含 25、50 或 100 个断言,但所有配置中使用的断言相同。
我们尝试了不同的提示配置,发现要求 ChatGPT 对答案进行简要解释能够显著提高其性能。此外,使用项目符号列表和提供训练集中的示例输入输出也能略微提高性能。
五、结论与展望
本文的研究表明,通过使用简单高效的子图检索方法,可以显著提高利用知识图谱进行事实验证的模型性能和效率。简单的单步检索方法在实验中表现最佳,这表明模型能够有效地过滤掉子图中的无关信息,而无需复杂的子图检索步骤。未来研究可以探索更大深度子图检索方法,以进一步提高模型在多跳推理断言上的性能。此外,还可以将本文提出的方法应用于其他事实验证数据集,以验证其普适性。
我们还鼓励研究者探索将 LLM 与知识图谱相结合进行事实验证。例如,可以将断言和单步检索子图作为 LLM 的输入,或者对 LLM 进行微调以适应特定数据集。
参考文献
- Achiam, J., et al. (2023). ChatGPT: Optimizing language models for dialogue. arXiv preprint arXiv:2303.08774.
- Bird, S., Klein, E., & Loper, E. (2009). Natural language processing with Python: Analyzing text with the natural language toolkit. O’Reilly Media, Inc.
- Chen, W., et al. (2019). TabFact: A large-scale dataset for table-based fact verification. arXiv preprint arXiv:1909.02171.
- Chen, X., et al. (2022). GERE: Generative evidence retrieval for fact verification. In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (pp. 6292-6304).
- Cohen, S., et al. (2011). Getting the message out: The accuracy of the news during the 2008 presidential campaign. The International Journal of Press/Politics, 16(2), 139-165.
- Devlin, J., et al. (2018). Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.
- Gautam, A. (2024). FactGenius. Retrieved from https://huggingface.co/FactGenius.
- Hanselowski, D., et al. (2018). A report on the 2018 fake news challenge. arXiv preprint arXiv:1806.05009.
- Harris, C. R., et al. (2020). Array programming with NumPy. Nature, 585(7825), 357-362.
- Hassan, N., et al. (2015). Toward automated fact-checking: Detecting check-worthy factual claims by claim novelty. In Proceedings of the 24th international conference on world wide web (pp. 385-395).
- Hidey, C., et al. (2020). DeFEATED: Decomposing the fact verification task using entailment. arXiv preprint arXiv:2010.03371.
- Honnibal, M., & Montani, I. (2017). spacy 2: Natural language processing with python and cython. Retrieved from https://spacy.io.
- Ioffe, S., & Szegedy, C. (2015). Batch normalization: Accelerating deep network training by reducing internal covariate shift. In International conference on machine learning (pp. 448-456). PMLR.
- Kim, H., et al. (2023). FACTKG: Fact verification with knowledge graphs. arXiv preprint arXiv:2304.04171.
- Lehmann, J., et al. (2015). DBpedia–a large-scale, multilingual knowledge base extracted from Wikipedia. Semantic web, 6(2), 167-195.
- Liu, Y., et al. (2019). Roberta: A robustly optimized bert model. arXiv preprint arXiv:1907.11692.
- Loshchilov, I., & Hutter, F. (2017). Decoupled weight decay regularization. arXiv preprint arXiv:1711.05101.
- Mishra, P., et al. (2022). Towards fact-checking: Fact extraction and verification. In Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (pp. 2204-2213).
- Nie, Y., et al. (2019). Combining fact extraction and verification with neural semantic matching networks. In Proceedings of the aaai conference on artificial intelligence (Vol. 33, No. 01, pp. 6857-6864).
- Open AI. (2024). ChatGPT. Retrieved from https://chat.openai.com/
- Opsahl, T. A. (2024). Fact or fiction? Improving fact verification with knowledge graphs through simplified subgraph retrievals. arXiv preprint arXiv:2408.07453.
- Park, J., et al. (2021). FAVIQ: A fact-aware visual question answering dataset. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 15861-15870).
- Paszke, A., et al. (2019). PyTorch: An imperative style, high-performance deep learning library. Advances in neural information processing systems, 32.
- Schuster, T., et al. (2019). Towards debiasing fact verification models. *In Proceedings of the 2019 conference on