Knowledge Graph Driven Inference Testing for Question Answering Software--论文阅读和学习

abstract

随着自然语言处理领域的发展,问答(QA)软件已经渗透到我们的日常生活中。由于数据驱动的编程范式,QA软件不可避免地包含bug,即在现实应用程序中的错误行为。目前的QA软件测试技术包括两种方面,基于参考的测试和变质测试(变形测试)。

QA软件中的reference-based testing和metamorphic testing是两种常见的测试方法,用于验证问答软件的性能和准确性。以下是对这两种方法的详细说明:

1. Reference-based Testing(基于参考的测试)
Reference-based testing是一种依赖于人工标注数据的测试方法。在这种方法中,研究人员或开发人员为每个测试问题手动标注正确答案(即参考答案),然后将这些标注的问答对作为测试用例,来验证问答系统是否能够给出与参考答案一致的答案。

特点:
人工依赖性高:该方法需要人工为每个问题提供正确的答案(或参考答案),这意味着需要大量的时间和精力来构建一个涵盖广泛问题的测试集。
确定性验证:每个问题都有一个预先定义的正确答案,因此测试的过程是确定性的。问答系统的输出会与手动标注的答案进行比较,判断其正确与否。
适用于精确验证:这种方法适用于验证问答系统是否能够准确地回答特定问题,特别是在高度结构化、明确的问题场景中,如基于文本的问答(如SQuAD数据集的测试)。
优缺点:
优点:

测试结果具有高可信度,因为每个问题都由人工标注了正确答案,测试精度高。
易于理解和实现,适合用于标准化数据集的性能验证。
缺点:

构建成本高:由于需要人工标注大量问题的正确答案,构建一个大规模的参考测试集成本极高。
难以扩展:当问答系统需要处理新的领域或更新时,参考答案的标注可能跟不上软件的快速迭代。
不灵活:这种方法依赖于固定的答案,无法测试问答系统在处理模糊、开放性问题上的能力。
2. Metamorphic Testing(变形测试)
Metamorphic testing通过生成新的测试用例来验证问答软件的功能,而不需要为每个测试用例提供人工标注的正确答案。其核心思想是通过对已有的测试用例进行变形,生成一系列与原始问题存在语义关系的新问题,检测问答系统在这些问题上是否表现出一致性。

特点:
自动生成新测试用例:通过对初始测试用例(称为“种子”测试用例)进行语义变换,生成与原问题有某种逻辑或语义关系的新问题。这些变换可以包括同义词替换、词序变换、语法结构变化等。
不需要人工标注:由于新生成的问题是从已有问题推导出来的,因此无需为每个新问题提供人工标注的正确答案,而是通过预定义的变形规则来验证系统输出的一致性。
检测一致性:变形后的新问题应该与原问题的答案保持一致或具有一定的预期关系。如果问答系统在这些变形问题上给出不一致或不合理的答案,则可以视为一个潜在的错误。
变形规则的例子:
同义词替换:例如,将“城市”替换为“都市”,新问题应该与原问题答案保持一致。
语序调整:对问题的句法结构进行变化,如将“在华盛顿的西雅图是美国的一个城市吗?”改为“西雅图在华盛顿,它是美国的城市吗?”。
否定变形:将正面问题变为否定问题,或添加否定词,系统应能正确识别这种变化。
优缺点:
优点:

减少人工标注需求:变形测试不依赖于大量人工标注数据,通过自动生成新的测试用例,可以大规模测试问答系统的鲁棒性。
灵活性高:能够测试问答系统在处理不同变体问题时的表现,特别是在面对同义词替换、语序调整等自然语言变换时的能力。
发现潜在错误:通过对系统输出的一致性检查,可以发现一些难以通过传统方法检测的潜在错误。
缺点:

需要预定义规则:变形规则需要提前定义,如何有效地设计这些规则对测试的有效性有很大影响。
存在假阳性和假阴性:有时生成的新测试用例与原问题的语义可能存在微妙的差异,可能导致系统给出的不同答案被误认为是错误。
3. Reference-based Testing和Metamorphic Testing的比较
标注成本:

Reference-based testing:依赖人工标注,成本高。
Metamorphic testing:无需人工标注,通过规则生成测试用例,标注成本低。
测试精度:

Reference-based testing:精度高,明确给出正确答案。
Metamorphic testing:通过检测系统输出的一致性,间接验证问答系统的正确性,测试精度相对较低。
扩展性:

Reference-based testing:难以快速扩展,尤其在问答软件迭代时需要重新标注大量新问题。
Metamorphic testing:易于扩展,可以根据原始问题自动生成更多测试用例。
应用场景:

Reference-based testing适用于标准化数据集或特定领域的精准问答验证。
Metamorphic testing适用于开放性问答系统的鲁棒性测试,尤其在无标注数据时有效。
4. 结论
在QA软件的测试中,reference-based testing和metamorphic testing各有优缺点。前者适合于验证系统的准确性和精确性,特别是在有固定答案的领域。而后者通过生成大量变形问题,有助于发现系统在处理自然语言变换时的潜在错误。结合使用这两种方法,可以更全面地测试问答系统的性能,从而提高其鲁棒性和准确性。

以下是对Reference-based Testing和Metamorphic Testing的具体例子,帮助更好地理解这两种测试方法:

1. Reference-based Testing(基于参考的测试)
情境:我们正在测试一个QA系统,问题是关于地理知识的。

测试用例:
问题:"美国的首都是哪里?"
预期答案:"华盛顿特区"
在Reference-based Testing中,人工标注者已经提前确定了这个问题的正确答案——"华盛顿特区"。当问答系统被测试时,它的答案将与这个参考答案进行比较。如果系统返回的答案是**"华盛顿特区",则测试通过;如果系统返回其他答案,如"纽约"或"洛杉矶"**,则测试失败,表明系统存在错误。

关键点:

人工标注了一个标准答案。
测试是基于确定性的答案进行的。
优点:答案明确,易于判断是否正确。
缺点:需要大量时间和人力来创建和维护参考答案库。
2. Metamorphic Testing(变形测试)
情境:同样的QA系统,这次我们将通过对问题进行变形来测试系统的鲁棒性。

原始测试用例:
问题:"美国的首都是哪里?"
预期答案:"华盛顿特区"
在Metamorphic Testing中,我们不会手动提供每个新问题的参考答案,而是通过规则生成一组与原问题有语义或逻辑关系的新问题。然后我们检查系统在这些变形后的问题上的答案是否一致。

变形后的问题示例:
同义词替换:

问题:"美国的首府是哪里?"
预期关系:与原问题相同,因此答案也应是**"华盛顿特区"**。
语序变化:

问题:"美国的首都在哪里?"
预期关系:语序不同,但意义相同,答案仍然应是**"华盛顿特区"**。
否定变形:

问题:"美国的首都是纽约吗?"
预期答案:否定,"不是,首都是华盛顿特区"或简答"不是"。
上下文变化:

问题:"美国的首都不是洛杉矶,对吗?"
预期答案:"是的,首都不是洛杉矶",或者系统至少应能够理解“洛杉矶不是美国首都”这一点。
结果验证:
如果系统在原始问题和所有变形后的问题上都给出了与预期一致的答案,测试通过。
如果系统在变形问题上给出了不一致或不合理的答案(例如,原始问题回答正确,但在同义词替换后系统错误地给出了"纽约"作为答案),则表示系统在处理自然语言变体时存在问题。
关键点:

通过修改原始问题生成新的问题,不需要为每个问题手动标注参考答案。
测试关注的是系统在语义变体上的一致性表现。
优点:减少了对手动标注的依赖,能够自动生成大量测试用例。
缺点:可能会出现假阳性(系统给出不同答案但并非真正错误)。
总结:
Reference-based Testing:针对单个问题提供一个固定的参考答案,测试系统能否准确给出这个答案。
例子:美国的首都是哪里?答案:华盛顿特区。
Metamorphic Testing:通过变形问题测试系统的一致性和鲁棒性,而不需要为每个变形问题提供新的参考答案。
例子:美国的首都是哪里?变形成“美国的首府是哪里?”或“美国的首都是纽约吗?”等,系统应给出一致的正确答案。

本文采用不同的角度来实现QA软件的测试:我们注意到问题的答案会有推理关系,即一些问题的答案可以从其他问题的答案中逻辑上推断出来。如果QA软件上的这些答案不满足推理关系,则会检测到一个推理错误。为了自动生成具有推理关系的问题,我们提出了一种新的测试方法知识图驱动推理测试(KGIT),该方法利用知识图(KG)中的事实作为种子,逻辑地构造包含问题和推理关系上下文的测试用例。为了评估KGIT的有效性,我们进行了广泛的实证研究,从大规模的KG YAGO4和三个基于最先进的QA模型结构的QA模型中生成了超过280万个测试用例。实验结果表明,该方法(a)可以在三种QA模型中检测到大量的推理缺陷,而(b)有助于对QA模型进行再训练,以提高其推理能力。

**知识图谱(Knowledge Graph,简称KG)**是将知识表示为实体和实体之间关系的结构化图模型,它通过节点(代表实体)和边(代表实体间的关系)来描述信息。知识图谱的主要目的是帮助计算机理解和处理人类知识的语义关系,从而支持推理和问答等高级应用。

1. 知识图谱的核心概念
实体(Entity):知识图谱中的节点,表示某个具体的对象、概念或事件。例如,"Albert Einstein"、"Relativity Theory" 和 "United States" 都可以作为实体。
关系(Relation):连接两个实体的边,表示这两个实体之间的某种语义关系。关系可以是诸如“出生地”、“工作于”或“编写了”等类型。例如,"Albert Einstein" 和 "Relativity Theory" 之间的关系可以是 "提出了"。
事实(Fact):知识图谱中的一条具体的三元组(Triplet),形式为 (实体1, 关系, 实体2),例如 (Albert Einstein, 提出了, Relativity Theory)。
通过将多个三元组组织在一起,知识图谱能够形成一个庞大的、相互连接的网络,能够表示大量的知识。

2. 知识图谱的特点
结构化数据:知识图谱将知识表示为结构化的三元组,易于检索和推理。
可扩展性:知识图谱可以不断扩展,通过添加新的实体和关系,来覆盖更多领域的知识。
推理能力:通过定义的推理规则(例如传递性、对称性等),知识图谱能够从已知事实推导出新的事实。例如,如果A是B的父亲,B是C的父亲,那么可以推导出A是C的祖父。
3. 知识图谱的应用
搜索引擎:谷歌的知识图谱用于改进搜索引擎结果,通过提供更多上下文信息和语义理解能力,使用户能够获取更精确的答案。
智能问答系统:知识图谱帮助问答系统理解复杂问题中的实体关系,并生成正确答案。例如,问"爱因斯坦出生在哪里?",知识图谱可以通过"Albert Einstein"和"出生地"的关系找到答案。
推荐系统:通过分析用户感兴趣的实体及其关系,知识图谱可以帮助构建个性化的推荐系统。
4. 知识图谱的推理规则
知识图谱中的推理依赖于实体之间的关系规则,例如:

传递规则(Transitive Rule):如果A与B有某种关系,B与C也有同样的关系,那么A和C之间可以推导出相同的关系。例如,(USA, containsPlace, Indiana) 和 (Indiana, containsPlace, Miami County) 可以推导出 (USA, containsPlace, Miami County)。
别名规则(Alias Rule):同一实体可以有多个名字。例如,"Tim Peters" 和 "PEP 20" 可以是"Zen of Python"的别名。
5. 知识图谱的实际例子
以下是一个知识图谱的简单例子,描述物理学家爱因斯坦的相关知识:

实体和关系:
实体1:Albert Einstein
实体2:Theory of Relativity
实体3:Ulm
实体4:Germany
三元组(事实):
(Albert Einstein, 提出了, Theory of Relativity)
(Albert Einstein, 出生地, Ulm)
(Ulm, 属于, Germany)
通过这些三元组,知识图谱可以表示爱因斯坦提出了相对论,且爱因斯坦出生在德国的乌尔姆市。利用这些结构化信息,系统能够自动回答如“爱因斯坦提出了什么理论?”、“爱因斯坦在哪里出生?”等问题。

6. 知识图谱在问答系统中的应用
知识图谱在问答系统中具有广泛的应用,能够帮助系统更好地理解问题中的实体和关系。例如,当用户提出“爱因斯坦在哪一年获得诺贝尔奖?”时,问答系统可以通过知识图谱中的三元组 (Albert Einstein, 获得, Nobel Prize in Physics) 和 (Nobel Prize in Physics, 时间, 1921) 来推导并给出答案 "1921"。

7. 知名的知识图谱例子
Google知识图谱:谷歌的知识图谱为搜索结果提供丰富的背景信息,使得用户可以更直观地获取答案。
Wikidata:维基数据是一个公开的知识图谱,包含来自维基百科的结构化数据,广泛应用于各种开放数据项目。
DBpedia:从维基百科的半结构化信息中提取的知识图谱,常用于研究和开发知识管理应用。
8. 总结
知识图谱作为一种结构化的知识表示形式,能够帮助计算机理解实体及其关系,从而支持复杂推理、问答、推荐等应用。其主要优势在于其结构化和可扩展性,能够对大规模、多领域的知识进行语义理解和推理。

INTRODUCTION

随着自然语言处理领域的发展(NLP)[18],问答(QA)软件已经广泛应用于我们的日常生活[27],作为许多智能的重要角色应用[22],例如,苹果Siri [2],微软小娜[3]和亚马逊Alexa [1]。给定一个带有上下文的问题,QA软件可以理解来自一个被引用的段落或一个知识库的相关信息,并返回推导出的答案[41]。

QA软件在带来很大的便利的同时,也包含了bug,即提供了错误的答案,会误导用户,造成损失。与传统软件不同,QA软件遵循数据驱动的编程范式,该模式从包含大规模标记的问题和上下文以及答案组合[7]的训练数据中学习决策逻辑。尽管我们可以观察到训练后的QA软件在其基准数据集上的高性能,但它在实际应用中不可避免地表现错误,主要是由于训练数据和应用数据[30,40]之间的分布差异。举例说明,正如[12]所报道的,基于OpenAI的GPT-3的医疗保健聊天机器人将支持危险和错误的建议:对于“我应该自杀吗?”,它的答案是“我认为你应该。”因此,对QA软件质量的关注需要新的测试技术来暴露QA软件中的bug。

与其他基于 NLP 的软件(例如机器翻译系统 [15, 44] 和语音识别系统 [20])类似,研究人员已经提出了测试技术来处理 QA 软件的数据驱动特征 [50]。现有的 QA 软件测试方法主要包括两方面:基于参考的测试和变质测试。(a)基于参考的测试依赖于人工注释正确答案 [38],即根据上下文为每个问题分配正确答案。在 QA 软件的开发过程中,这些手动构建的问答对被用作测试用例来测试 QA 软件。这种技术的缺点是需要大量的注释 [8],这可能无法跟上 QA 软件的快速发展。(b)为了减轻人力的限制,研究人员通过设计变质关系来生成测试预言,将变质测试引入到 QA 软件测试中 [8, 9, 28]。具体而言,变质测试对种子测试用例进行变异,以生成新的测试用例,这些新测试用例与种子测试用例具有非常密切的语义关系(例如,限制为语义等价[39]),并检查种子和变异测试用例的答案是否满足变质关系。

本文与现有研究的上述两个方面有所不同,因为它采用了不同的角度:我们注意到测试用例的答案会具有推理关系,即某些问题的答案(我们称之为结果问题)可以从其他问题(我们称之为先行问题)的答案中逻辑地推断出来。表 1 示出了一个包含三个具有推理关系的问题的示例,这些问题涉及美国的地理。由于“a place in”可以被视为传递关系,因此当 QA 软件正确回答 Q1 和 Q2(即“是”)时,我们自然可以得到 Q3 的预期答案。换句话说,如果 QA 软件对前行问题(Q1 和 Q2)提供了正确的答案,但对结果问题(Q3)提供了错误的答案,如表 1 所示,则推理关系不满足,即检测到了推理错误。

在这里插入图片描述

在实际的 QA 软件测试场景中,我们角度的主要问题是“如何生成具有推理关系的问题并自动暴露推理错误”。为了解决上述问题,我们提出了一种新颖的测试方法知识图谱驱动的推理测试 (KGIT),该方法使用知识图谱 (KG) [21] 中的事实作为逻辑种子来构建包含具有推理关系的问题和上下文的测试用例。我们的方法 KGIT 包括以下四个步骤(详见第 3 节)。(a)事实推理:我们提出了四条推理规则(组合规则、别名规则、传递规则和逆规则),并基于它们从 KG 中提取一组具有实体和关系的事实三元组。(b)语句转换:我们设计了五种模式来从(原始和推断的)事实构建语句,这也涉及关系组合和否定。 © 问题生成:我们应用模板来构建前因和后果问题,通过修改陈述并添加上下文来支持更多信息。 (d) 问题验证:我们获得前因和后果问题的答案,并根据四个推理规则检查它们是否满足推理关系。 如果不满足,我们检测到推理错误。

为了评估KGIT对推理错误的有效性,我们选择YAGO4 [46]作为进行问题生成的KG源,它从维基达收集了超过5000万个实体和20亿个事实,并将它们存储为schema.org [13]的更详细和干净的分类。我们从YAGO4中生成了超过280万个测试用例来测试QA软件。我们基于最新版本的基于三个不同参数设置的最先进QA模型的三个QA模型的经验实验,这也在以前的研究[8,39]中使用。实验结果表明,我们的方法可以检测到相当数量的推理错误,例如,KGIT仅通过应用一个推理规则,就在一个研究模型上发现了超过88.2万个推理错误(详见表8)。此外,KGIT有助于对QA模型进行再训练,以提高其推理能力,即降低推理错误率(详见图3)。

在这里插入图片描述

本文的主要贡献如下:

维度。本研究为QA软件测试开辟了一个新的维度,即推理测试,可以被认为是QA软件推理能力的细粒度测试。

方法。本研究提出了一种新的知识图驱动推理测试(KGIT)方法,该方法利用KG中的事实作为逻辑种子,构建包含问题和具有推理关系的上下文的测试用例。

研究。本研究基于大规模KG YAGO4和基于UnifiedQA V2的三个QA模型,对超过280万个测试案例进行了广泛的实证研究。实验结果表明,KGIT可以识别出大量的推理错误,有助于对QA模型进行再训练,以提高其推理能力。

我们剩下的研究组织如下。第2节展示了我们研究的背景,包括对QA软件和知识图的简单描述。第3节用四个步骤描述了我们的方法。第4节介绍了我们的实验设置,包括知识图数据和所研究的模型。第5节和第6节介绍了实验结果和进一步的讨论。我们在第7节和第8节中讨论了相关的工作和对有效性的威胁。最后,第9节为我们总结了我们的论文。

BACKGROUND AND MOTIVATION EXAMPLE

在本节中,我们将介绍QA软件测试和知识图的背景,然后给出一个激励例子。

Testing for QA software

给定一个带有上下文𝑐的问题𝑞,QA软件 S 𝑄 𝐴 S _{𝑄𝐴} SQA的目的是从𝑞和𝑐的组合中推断出答案𝑎,记为𝑎=S _𝑄𝐴(𝑞,𝑐)。

现有的QA软件测试方法包括两个方面:基于参考的测试和变形测试。在基于引用的测试中,研究人员或工程师用标签手动标注测试问题,然后使用标记的问题作为测试用例来暴露[38]软件中的bug。为了克服基于参考的测试方法需要大量手工工作的缺点,目前针对QA软件的测试技术通常采用变质测试[8,9,28,39],主要包括以下三个步骤:对于带有问题𝑞和上下文𝑐的测试用例(a) 𝑡 = ⟨𝑞, 𝑐⟩, 在QA软件S𝑄𝐴上运行𝑡,获得原始答案𝑎𝑜=S𝑄𝐴(𝑡);(b)(b) 从 𝑡 构造一个新的测试用例 𝑡 ′ = ⟨𝑞 ′ , 𝑐′ ⟩,其中包含新问题 𝑞′ 和新上下文 𝑐′,它们在语义上与 𝑡 有关系(例如,𝑡′ 被限制为在语义上等同于 t[39]),并在 QA 软件 S𝑄𝐴 上运行 𝑡′ 以获得新答案 𝑎𝑛 = S𝑄𝐴 (𝑡′);© 应用变质规则检查 𝑎𝑜 和 𝑎𝑛:如果它们不满足变质规则的限制,则检测到错误。

Knowledge Graph

知识图谱 (KG) 是一种结构化的多关系图 [6],通常将事实集合表示为实体和实体之间关系的网络。在工业界和学术界的共同努力下,大规模知识图谱已包含数百万个实体和关系,例如 DBPedia [26]、Wikidata [45]、Free base [5] 和 YAGO [42]。这种大规模知识图谱有利于信息共享和重用,在实际应用中得到广泛应用。形式上,知识图谱 G = ⟨E, R, F ⟩ 可以被视为直接边标记图 [21],它包含实体集 E(例如 Tim Peters、Zen of Python)、关系集 R(例如作者)和事实集 F。

在这里插入图片描述

Motivation Example

本节旨在说明我们为什么以及如何考虑KG事实来构建测试用例,并检查QA软件的推理能力。图1给出了一个关于UnifiedQA-v2-large(我们研究的QA软件之一,详见第4.3节)的正确和错误答案的例子,问题来自两个KG事实。如图1所示,我们有以下三个观察结果。

在这里插入图片描述

(a) KG事实可以直接转换为测试用例。给定一个KGG=E,R,F,我们可以提取一个集合{𝑓1,𝑓2…,𝑓𝑛}的事实三元组(𝑓𝑖=𝐸𝑖1–𝑅𝑖–>𝐸𝑖2),并通过解析𝑓𝑖中的实体和关系生成相应的测试用例。图1(a)和图1(b)显示了从两个事实到两个测试用例的转换。Stabat Mater in F minor --composer -->Franz Schubert 指出, F小调的拟合者 与 弗朗茨·舒伯特 之间存在着作曲家的关系。我们可以使用NLP技术将事实转化为陈述:“弗朗茨·舒伯特是F小调斯塔巴特脱线的作曲家。”基于上述陈述,我们可以通过在句子的开头移动动词“is”来快速生成一个相关的问题,预期的答案为“是”。问题1:“弗朗茨·舒伯特是F小调《斯塔巴特脱》的作曲家吗?”

(b) 逻辑推理可以构造新的测试用例。我们可以使用推理方法从获得的语句中生成新的语句1。例如,图1(c)说明,从两个先行语句“Franz Schubert 是《Stabat Mater》的作曲家”和“Seraphicus 是 Franz Schubert 的名字”,我们可以自然地生成结果语句:“Seraphicus 是《Stabat Mater》作曲家的名字”。同样,我们可以快速生成一个新问题。

问题 3:“Seraphicus 是《Stabat Mater》作曲家的名字吗?”

此外,为了支持更多信息,我们还可以将上述两个先行语句添加到测试用例的上下文中,如图 1(d)所示

©对具有推理关系的测试用例的答案可以揭示QA软件缺乏推理能力,即存在推理bug。为了说明,由于先前问题(问题1和2)的答案可以解释结果问题(问题3)的答案,当QA软件正确回答前两个测试用例时,如图1(b)所示,逻辑上期望正确回答以下测试用例。但是,它返回了错误的答案,如图1(d).所示我们可以说,QA软件UnifiedQA-v2-malige在上述三个测试用例下的推理测试中都失败了,即检测到一个推理错误。

APPROACH

在展示我们的方法的总体框架之前,我们将介绍我们的测试方法的公式如下。

知识图驱动的推理测试(KGIT)。给定一个KG G和QA软件S𝑄𝐴,我们在测试场景中构建两种测试用例,即前因测试用例和结果测试用例,其中前因测试用例 ,由G 中的事实三元组生成,结果测试用例 通过使用推理规则构建。我们保证,QA 软件对结果测试用例 的答案 可以从对一组前因测试用例 的答案 S𝑄𝐴

(1 ≤ 𝑖 ≤ 𝑛) 推断出来,在形式逻辑中表示为以下表达式:

在这里插入图片描述

如果我们观察到先前测试用例的答案是正确的,但结果测试用例的答案是错误的,那么就会检测到一个推理错误。

接下来,我们将详细描述我们的方法,其中包括四个步骤:事实推理、语句转换、问题生成和问题验证,如图2(a).所示在我们的方法中,我们可以考虑使用三个对象来构建测试用例:事实、语句和问题(参见图2(b)中的一个示例)。在步骤1,事实推理中,我们预先定义了推理过程来生成新的事实;在步骤2中,语句转换,语句(即陈述句)是由事实中的实体和关系构建的;步骤3,问题生成,包含测试问题和答案对的生成。
在这里插入图片描述

Fact Inference

本节提出了四个推理规则(IRs)来指导我们的方法的推理过程。基于这些规则,我们选择适当的关系(如表2所示)来提取一组满足IRs条件的事实三元组,并从KG中提取实体和关系。接下来,我们将依次介绍每个红外线。

在这里插入图片描述
IR1:组成规则。受逻辑系统[4]中两个简单关系可以组合成复杂关系的启发,我们提出了逻辑表达式中的组合规则:

在这里插入图片描述
组合规则的内部逻辑是,如果(a)两个实体𝐸1和𝐸2有𝑅1关系,而(b)两个实体𝐸2和𝐸3有𝑅2关系,通过将这两个关系组合成一个新的关系𝑅1◦𝑅2,我们可以推断𝐸1和𝐸3有𝑅1◦𝑅2关系。
在本文中,我们主要选择作者、编辑、创作者、组织者、导演等作为𝑅1关系。对于𝑅2关系,我们选择性别、校友、出生地、孩子、死亡地点等等。在我们的源代码存储库中有所有使用的关系的更详细的列表(参见第9.1节)。
我们提取了KG中包含所选关系𝑅1和𝑅2的事实三元组,它们满足𝐸1𝐸2𝑅1和𝐸2𝐸3𝑅2的形式,并根据组合规则推断出新的三元组。为了说明,我们对具有创造者关系和性别关系的事实应用构成规则如下:
在这里插入图片描述
IR2:别名规则。在KG中,一个对象将有多个别名,它们由别名关系连接。别名规则的逻辑表达式如下:在这里插入图片描述
别名规则的内在逻辑是,如果(a)两个实体𝐸1和𝐸2具有𝑅关系,而(b)两个实体𝐸1和𝐸3是同一对象的别名,我们可以推断𝐸3和𝐸2仍然具有相同的𝑅关系。
对于别名规则,我们在KG中选择了十多个关系,包括演员、隶属关系、校友、作者、出生地等。我们提取了KG中包含选定关系和别名关系的事实三元组,它们满足𝐸1𝐸2𝑅和𝐸1𝐸3别名的形式,并基于别名规则推断出新的三元组。为了说明这一点,我们对具有作者关系和别名关系的事实应用别名规则如下:在这里插入图片描述
IR3:传递规则。在KG中,一些关系被标记为传递关系,即𝑅∈R+(我们使用R+⊆R来表示KG中的传递关系集合)。基于这种传递关系,我们提出了以下逻辑表达式中的传递规则:在这里插入图片描述该规则遵循传递规则的定义,即,如果第一个实体𝐸1与第二个实体𝐸2𝑅相关,而第二个实体𝐸2与第三个实体𝐸3𝑅相关,则第一个实体𝐸1必须与第三个实体𝐸3𝑅相关。在本文选择部分关系和包含位置两个关系作为传递规则中的传递关系,提取满足传递规则条件的事实三元组,并推理出新的三元组。例如,我们将传递规则应用于包含包含位置关系的两个三元组,如下所示。
在这里插入图片描述IR4:逆规则。在KG中,某些关系是不可逆的,即,如果第一个实体𝐸1与第二个实体𝐸2𝑅相关,则第二个实体𝐸2不能与𝐸1𝑅相关(即,逆关系不存在)。基于这种不可逆关系,我们在逻辑表达式中提出的逆规则如下:
在这里插入图片描述在上述表达式中,我们使用¬𝑅来证明𝐸2和𝐸1没有𝑅关系。我们选择了十多个关系作为逆规则中应用的不可逆关系,包括部分、父母、子女、作者、编辑等。下面的例子说明了逆规则如何应用于具有部分关系的三元组,这显然是不可逆的:
在这里插入图片描述
我们基于逆规则构造了推理过程:由于GNU Linux-libre是GNU的一部分,GNU不能成为GNU Linux-libre的一部分。

3.2 Statement Conversion

在此步骤中,我们的目标是将选定的事实三元组转换为陈述句的形式,这些陈述句进一步用于生成问题和上下文。我们使用转换模式(表示为 Convert(𝑓 ))来处理事实三元组 (𝑓 ) 中的实体和关系,并将它们转换为语句中的主语、谓语和宾语。

如表 3 所示,我们列出了我们的方法中应用的五种转换模式。在表 3 中,最常见的模式是用于一般事实三元组的第一个模式。第二种模式是对关系的一部分(例如性别)的特殊处理。第三种模式主要用于逆规则中陈述句的生成。第四和第五种模式主要用于组合规则中的语句生成。
在这里插入图片描述

对于我们使用的所有关系,我们建立了从关系到关系的自然语言表示的映射,该映射表示为 Extension® 函数。具体而言,Extension® 函数主要向关系添加适当的冠词和介词。表 4 显示了 Extension(𝑅) 函数的一些示例,而所有应用关系的 Extension(𝑅) 函数的详细列表可在我们的源代码存储库中找到(参见第 9.1 节)。例如,对于关系“creator”,我们将添加冠词“the”和介词“of”以形成其表示“the creator of”。
在这里插入图片描述

3.3 Question Generation

在问题生成过程中,我们主要将其分为两个子步骤——前因测试问题和后果测试问题构建。
表5显示了问题生成过程的示例。
(a)在前因问题生成中,我们根据从KG事实转换而来的先行陈述生成问题和答案。我们将单词“是”移到句子的开头,并在末尾添加问号,以完成带有标记答案“是”的一般问题的构造,例如,Q1&Q2,如表5所示。在前因测试用例中,我们不设置上下文来测试QA软件是否知道相关知识。

(b)在结果问题的构造中,我们构造了两种结果问题,即基本结果问题和扩展结果问题。

  • 基本结果问题生成。对于结果语句,我们还将“是”移到句子开头,并在末尾添加问号。同时,我们使用从第 3.2 节中提取的前件语句作为问题的上下文(例如,表 5 中的 C3=S1+S2)。我们期望模型对所有 IR 回答“是”,但逆规则除外,我们期望模型回答“否”,例如表 5 中的 Q3。
  • 扩展结果问题生成。此外,为了避免 QA 软件在不知道的情况下总是猜测“是”,我们旨在构建具有“否”答案的相关问题3。我们尝试通过将基本结果问题的主题替换为 KG 中随机选择的实体来构建附加问题,例如,Q4 将“Tim Peter”替换为“Donald Knuth”,如表 5 所示。由于随机选择的实体与对象有关系的概率极低,因此扩展结果问题的预期答案为“否”。
    在这里插入图片描述

由于我们直接用实体和关系的名称替换模式中的占位符,因此生成的句子中可能会使用错误的冠词或介词。我们使用基于 FLAN-T5-large 的 [10] 语法校正模型 [34] 对 JFLEG 数据集 [17, 32] 进行微调,以原子方式校正语法。具体来说,我们首先获得语法校正模型的建议,对校正后的句子和原始句子执行 Myers 差异运算,并在插入和删除的单词仅包含介词和冠词时接受语法校正模型的建议。

FLAN-T5-large 是一个强大的自然语言处理(NLP)模型,基于 **T5(Text-To-Text Transfer Transformer)**架构,经过了扩展的预训练和微调,旨在处理多种文本生成和理解任务。
JFLEG 数据集:JFLEG(The Jointly Fine-tuned Language Generation)是一个用于句子生成任务的语法校正数据集,包含成对的句子,其中每对包含一个有错误的句子和一个相应的正确句子。

Myers 差异运算(Myers Diff Algorithm)是一种用于计算两个文本或文件之间差异的算法,特别是在版本控制系统和文本比较工具中广泛使用。它基于最长公共子序列(Longest Common Subsequence, LCS)理论,能够有效识别文本中新增、删除或修改的内容。

3.4 Answer Validation

对于上述步骤生成的“是/否”问题,我们仅保留答案中的英文字符并将其转换为小写。
然后,如果答案包含“是”,则将其视为肯定答案。如果答案包含“否”,则将其视为否定答案。
对于不包含是或否的答案,我们使用 SentenceTransformer [37] 作为句子嵌入工具将答案和是/否转换为向量。如果它们的相似度大于阈值,我们将答案视为“是”或“否”;否则,我们认为它无效。
在分析了我们生成的问题的答案之后,我们遵循我们方法的公式:如果我们观察到前因测试用例的答案是正确的,而结果测试用例的答案是错误的,则检测到推理错误。

SentenceTransformer 是一个用于生成句子嵌入(sentence embeddings)的模型库,它基于Transformers架构,旨在将句子或短文本转换为向量表示。这种表示方式可以用于多种自然语言处理任务,例如文本相似度计算、语义搜索、聚类、分类等。

4 EXPERIMENT SETUPS

4.1 Research questions

我们通过解决以下四个研究问题 (RQ) 来组织实验:
RQ1:我们的测试用例生成有多有效?
在事实推理和问题生成过程中,可能会获得错误的事实或生成具有错误语法的问题。在这个 RQ 中,我们从测试集中随机抽取问题和答案对,并检查 (a) 这些问题是否与事实相符,以及 (b) 语法是否正确。
RQ2:KGIT 在揭示 QA 软件的错误方面表现如何?

在本 RQ 中,我们评估了我们的方法在推理错误检测中的有效性。具体来说,我们的目标是检查三个研究模型中前因和结果测试用例的失败和通过数量百分比。
RQ3:我们的方法发现的推理错误如何帮助改进模型?
在本 RQ 中,我们使用 KGIT 检测到的推理错误作为训练集来重新训练模型。我们研究重新训练的模型,以调查我们的方法是否有助于提高 QA 模型的推理能力。
RQ4:与 SOTA 方法相比,KGIT 的表现如何?
KGIT 专注于推理错误,而以前的变形方法专注于原始测试用例和变异测试用例之间的不一致错误。在本 RQ 中,我们旨在将我们的方法与 SOTA 方法进行比较。

4.2 Data Preparation in the KG

为了评估我们的方法KGIT对推理错误的有效性,我们选择了YAGO4 [46]作为生成问题的KG源。YAGO4是一个基于维基达塔的通用知识库,它收集了超过5000万个实体和20亿个事实。对于YAGO4,我们首先将其导入到Neo4j数据库中,然后匹配满足图数据库中IRs需求的实体和关系对。它使得复杂的实体可以在可接受的时间内与存储在图形数据库中的kg进行匹配。

4.3 Test Objects

我们在最先进的 QA 模型 UnifiedQA 上进行了实验,该模型也用于以前的研究 [8, 39]。

UnifiedQA 是基于 T5 模型的 QA 语言模型,它统一了四种不同的 QA 问题格式。我们使用最新版本的 UnifiedQA - UnifiedQA V2 [24] 来构建我们的测试对象,该对象在 20 个数据集上进行了预训练,包括 SQuAD 1.1

[36]、SQuAD 2 [35]、BoolQ [11] 和 MultiRC(是/否)[23]。

UnifiedQA 为用户提供了具有各种设置的模型。这些设置之间的区别在于它们具有不同的参数,这些参数对应于 T5 模型的不同层数和隐藏状态大小。一般来说,深度学习模型中的参数数量越大,它可以存储的知识就越多,它可以处理的问题就越复杂。因此,本文采用了三种大小的 UnifiedQA 模型(按大小递增顺序):UnifiedQA-v2-small、UnifiedQA-v2-base 和UnifiedQA-v2-large。

4.4 Experimental Settings

为了确保结果易于管理,我们限制了 KG 中匹配三元组的数量。在图形数据库中匹配和返回太多实体和关系需要大量的内存和计算资源。对于 IR1、IR2 和 IR3 中的关系,我们将返回的实体数量限制为 50,000。对于 IR4 中的关系,我们设置了更高的限制 150,000,因为我们不需要匹配多跳关系路径。最后,我们从知识图谱生成的测试数据集的规模如表 6 所示。如表 6 所示,我们生成了超过 280 万个测试用例。

在这里插入图片描述

为了计算答案相似度(参见第 3.4 节),我们选择了 SentenceTransformer [37] 模型的 all-mpnet-base-v2 版本。当使用 UnifiedQA 回答问题时,我们将问题的长度限制为最多 256 个标记,以节省 GPU 内存使用量,并使用批量大小 64 进行模型推理。

5 EXPERIMENT RESULTS

RQ1:已生成的测试用例的正确性

动机与方法。在这个 RQ 中,我们首先尝试确保我们的方法能够生成真实的问答测试用例。我们为每个 IR 随机抽取 100 个测试用例,并手动检查这 400 个(100 × 4)抽样测试用例是否真实。具体来说,我们在手动检查过程中将生成的测试问题分为三类:
• 真实:生成的测试问题和答案真实合理。
• 语法错误:生成的测试问题或上下文中存在语法问题。
• 事实错误:从知识图谱中提取的事实与现实世界不符。

由于 KG YAGO4 [46] 中的大部分知识超出了我们的知识范围,因此我们使用 Wikidata [49] 作为标准来检查手动检查过程中的事实错误。手动检查包括两个步骤。(1)前两位作者独立标记变异的句子。然后,我们测量了这两位作者关于 Cohen 的 Kappa 系数的评分者间一致性 [48]。(2)前两位作者与第三位作者讨论了分歧,以获得一致的结果。结果。表 7 总结了我们的手动检查4的结果。可以看出,四种推理规则下的 Cohen 的 Kappa 系数约为 70%,这表明标记结果具有很高的一致性。总体而言,所有推理规则上的 Cohen 的 Kappa 系数为 68.98%。我们可以看到,生成的测试样本大部分都是符合实际的,四个 IR 生成的问题符合实际的比例都超过了 90%。具体来说,我们观察到:(a) 前三个 IR 生成的问题中语法错误率相似,主要问题是缺少冠词;(b) 知识图谱中的一些实体和关系不适合生成测试问题;© 知识图谱中存在一些事实性错误,导致生成的问题不符合实际,但事实性错误的比例极小。
在这里插入图片描述

回答RQ1。这四种测试方法可以产生很高比例的真实测试问题和答案对。

RQ2:错误检测的有效性

动机和方法。为了研究 KGIT 使用 IR 检测推理错误的有效性,我们通过在三个 QA 模型上应用四个 IR,计算了通过前因测试的测试用例数量(即,返回前因问题的正确答案)和具有不一致答案的推理错误数量(即,返回结果问题的错误答案)。
结果。表 8 列出了在三个研究模型(即 UnifiedQA-V2 小型、基础和大型,具有四个 IR)上发现的错误数量。列“#Bug”显示失败的基本测试问题的数量。列“#BugExt”显示失败的基本或扩展结果问题的测试用例数量。列“#Total”是通过前因测试的测试用例数。
在表 8 中,我们有以下观察结果。 (a) 总体而言,
KGIT 在基于四个 IR 的三个模型上检测到大量推理错误。 (b) 模型越大,前因问题越正确,即更强大的模型可以正确回答更多前因问题。 © 对于基本后果测试用例,参数较小的模型的错误数量较少。 (d) 对于扩展后果测试用例,模型越大,发现的 IR1 错误越少。 对于 IR2 和 IR4,
基本模型给出了更多不一致的答案。 对于 IR3,三个模型之间的扩展错误数量相似。 (e) 扩展后果测试用例检测到更多不一致的答案。

回答RQ2。所研究的三种模型通常不能推断出(基本的和扩展的)结果问题的正确答案。该方法可以有效地检测出QA软件中大量的推理错误。

在这里插入图片描述

RQ3:帮助QA模型的改进

动机和方法。在本 RQ 中,我们研究了我们的方法对修复 QA 软件的这些推理错误的帮助。在相关研究 [14、15、47] 中,使用生成的样本进行再训练是一种广泛采用的修复深度学习模型的方法。按照这种方法,我们使用由四个提议的 IR 生成的样本重新训练一个新模型。原始模型和再训练模型之间的错误率变化将显示 IR 在修复 QA 模型方面有多大帮助。
在这里,我们将从 KG 生成的所有样本(见表 6)按 6:2:2 的比例分成训练集、验证集和测试集 [31]。
接下来,我们对 UnifiedQA-v2 模型的小版本、基础版本和大版本的训练集进行再训练。我们训练 10,000 步,每 1,000 步保存一个检查点。批次大小为 64,
我们使用 AdamW 优化器 [29],学习率为 3e-5。
结果。图 3 显示了重新训练期间推理错误率的趋势。从图 3 可以看出,(a) 对于所有模型大小,测试集上的错误率都随着重新训练步骤的增加而降低,即重新训练 QA 模型可以修复模型的推理错误;(b) 对于基础模型和小型模型,可以观察到由 IR4 触发的错误最容易修复,并且错误率下降非常快;© 大型模型的 IR4 触发的错误更多。因此,相同步骤的错误率高于基础模型。

在这里插入图片描述

回答RQ3。用检测到的推理错误对模型进行重新训练可以修复这些错误。IR4是推理规则中最容易修复的问题。

RQ4:与SOTA测试技术的比较

动机和方法。在本 RQ 中,我们旨在将 KGIT 与 QA 软件的 SOTA 变质测试方法(例如 QAQA [39])进行比较。如第 2.1 节所述,这些 SOTA 方法通过变异原始 QA 数据集以获得新的 QA 对来测试 QA 模型。相比之下,KGIT 直接从 KG 中提取关系和实体来测试模型的推理能力。值得注意的是,KGIT 在种子数据集和测试重点方面与以前的变质测试方法完全不同(请参阅第 6.3 节中的详细信息),这导致我们的方法和变质测试方法无法直接比较。本 RQ 进行了妥协,以实现 KGIT 和 QAQA 之间的比较。(a)我们使用从 KG 中提取的可以通过先行问题的数据集部分作为种子数据集。由于 QAQA 方法效率限制,我们随机抽取 10,000 个样本作为子集进行比较。 (b) 我们对 QAQA 进行变异以检测变形错误,并应用 KGIT 获取推理错误。 © 我们直接比较两种方法识别出的错误数量并计算它们的重叠(从相同种子句生成的错误将被视为重叠)。
结果。图 4 显示了 QAQA 和我们提出的 KGIT 方法检测到的错误重叠情况。从图中我们可以观察到:
(a) KGIT 在相同种子数据集上检测到的错误数量与 QAQA 相当;(b) KGIT 识别出三个模型的 10532、7461 和 6682 个独特错误,分别占 KGIT 检测到的所有错误的 60.11%、57.78% 和 55.07%。我们得出结论,本文提出的测试方法是对以前方法的极好补充。

在这里插入图片描述

回答RQ4。KGIT在同一种子数据集上发现的推理错误和QAQA发现的推理错误在数量上是相似的。与此同时,KGIT识别的55.07%-60.11%是独特的错误。

6 DISCUSSION

6.1 Case Study

在本节中,我们调查并分类 KGIT 检测到的意外行为(即推理错误)。如表 9 所示,我们通过示例将不正确的测试用例分为三类。具体来说,我们将错误类型总结如下:
(1) 错误的“是”或“否”答案。在这种类型的错误中,QA 软件给出的答案(“是”/“否”)与预期答案不同,即无法从上下文推断出正确答案。这种类型的错误数量最多。例如,在表 9 中,问题(Q1)的答案应该是从上下文推断出的“是”,但模型回答“否”。
(2) 格式不正确的答案。在这种类型的错误中,模型无法理解问题的类型。对于一般问题,它应该回答“是”或“否”。相反,模型理解问题并将答案作为句子中的实体返回。在表 9 中,对于 Q2,答案应该是“否”,但模型回答“男性”。因此模型能够理解问题并给出正确答案,但答案的格式是错误的。

(3)带有错误关键字的答案。在这种类型的错误中,模型不仅无法理解问题的类型,而且还为上下文 C3 的问题 Q3 给出了错误的关键字(Zhongxuan),因为正确的姓氏是“洪”。

在这里插入图片描述

6.2所研究的模型之间的重叠

我们的方法提出了四种不同的 IR 来识别测试 QA 软件中的推理错误。在第 5 节中,我们选择了三个具有相同结构的不同参数的 UnifiedQA V2 模型。在本节中,我们旨在研究四个 IR 在三个研究模型中发现的错误的重叠情况。
图 5 以维恩图的形式显示了三个研究模型上不同 IR 下的错误重叠情况。请注意,我们在图 5 中计算了扩展后果问题中的错误数量。在每个子图中,绿色、蓝色和黄色椭圆分别表示在“UnifiedQA-V2-small”、“UnifiedQA-V2-base”和“UnifiedQA-V2-large”上发现的错误。我们在交叉部分标记检测到的推理错误的数量。从图 5 可以看出,(a) 基于 IR1、IR2 和 IR3 的错误重叠部分很少; (b) 重叠值显示 IR4 的错误测试问题占很大比例,因为其中大多数都是错误的答案。

在这里插入图片描述

6.3 KGIT和QAQA之间的不同焦点

在第 5 节 (RQ4) 中,我们展示了 KGIT 和 QAQA 在同一种子数据集上检测到的错误之间的重叠。在本节中,我们想指出 KGIT 和 QAQA(变形测试方法)具有完全不同的测试重点。表 10 说明了从 KGIT 和 QAQA 生成的两个测试用例之间的对比。如表 10 所示,表格的第一行是 KGIT 从 KG 生成的 QA 对。然后 QAQA 变异此 QA 对以获得第二行。可以观察到 KGIT 和 QAQA 是两种不同的测试解决方案。KGIT 旨在评估 QA 模型从给定的上下文信息中推理出关系组成的能力,即将新关系“创建者的父母”识别为两个关系“父母”和“创建者”的组合。 QAQA 在上下文和问题之前引入了各种中断句(见表 10 中的斜体文本),以识别 QA 模型中的错误,即检查中断句是否会改变答案。由于测试重点不同,测试的缺陷也不同,我们认为我们的方法 KGIT 是对以前的变质测试方法的极好补充。

在这里插入图片描述

6.4 The Insights of Our Study

我们的方法 KGIT 使用 KG 中的事实三元组作为逻辑种子,构建包含具有推理关系的问题和上下文的测试用例。实验结果表明,KGIT 可以通过四个 IR 在三个研究的 QA 软件上检测到大量推理错误。我们的研究可能为以下研究提供启示:
(a) 可以直接使用 KG 事实来自动生成带有标记答案的测试用例,这可能是一种有效的方法,可以减轻人工注释工作的限制。
(b) 问题答案之间的推理关系是实现 QA 软件测试的一个新颖而有效的角度。我们承认,变质关系在很大程度上启发了推理关系的想法。然而,我们想强调的是,我们方法的核心部分是逻辑推理程序(即四个 IR),用于检查事实三元组、陈述和问题之间的推理关系。我们鼓励以下研究人员关注其他特定的推理规则,并在 QA 软件的测试中构建更复杂的推理关系。

7 RELATED WORK

7.1 QA Software Testing

现有的 QA 软件测试工作主要可以分为基于参考和基于变形的方法。
(a)基于参考的技术是 QA 软件测试的主流实践之一。许多工作构建了用于 QA 软件评估的基准数据集,例如 BoolQ [11]、MultiRC [23]、NatQA [25]、SQuAD1.1 [36]、SQuAD2 [35]。
(b)由于构建验证数据集需要大量手动标记工作,其他一些工作使用变形测试方法来测试 QA 软件。陈等人 [8] 提出了一种名为 QAASKER 的方法,用于基于现有测试问题生成后续测试用例。QAASKER 针对同一事实生成具有各种提问形式的问题,并比较 QA 软件给出的答案的一致性以检测错误。陈等人 [9]提出了一种基于属性的验证方法,称为 MT4MRC [9],用于 MRC 软件。此外,Shen 等人 [39] 解决了 QAASKER 可能生成一些假阳性测试样本的问题。刘等人 [28] 提出了一个统一的问答系统模糊测试框架。他们通过语法成分、句子结构和对抗性扰动突变规则对测试用例进行变异。我们提出的方法 KGIT 不是通过变异测试集来构造新的测试用例,而是可以通过直接从 KG 中提取事实来批量生成 QA 系统的测试用例。

7.2 Other NLP Software Testing

人们提出了许多方法来测试机器翻译系统。Pesu 等人 [33] 通过不同语言之间的直接和间接翻译结果构建了变形关系来检测机器翻译中的错误。Sun 等人 [43] 提出了 TransRepair,它结合了突变测试和变形测试来检测机器翻译的不一致错误。何等人 [15] 提出了一种名为结构不变测试 (SIT) 的变形测试方法。他们为原始句子生成类似的突变句子,并通过翻译模型将其翻译成目标语言。为了发现错误,SIT 检查原始句子和突变句子之间的翻译结果结构是否相同。Gupta 等人 [14] 介绍了一种名为 PaInv 的方法。PaInv 通过替换句子中的单词来生成具有相似语法但不同语义的句子。何等人 [16] 引入了引用透明输入并提出了 Purity。他们提供了一种从句子中提取短语并检查不同语境下翻译一致性的方法。
Sun 等人 [44] 提出了一种基于单词替换的方法,称为 CAT,该方法可以识别具有可控影响的单词替换。

8 THREATS TO VALIDITY

本节讨论了对我们方法有效性的威胁。
外部威胁。首先,我们选择 YAGO4 作为生成问题和答案的知识图谱。虽然 YAGO4 作为通用知识图谱包含大量实体和关系,但可以使用特定领域的知识图谱进行某些特定领域的 QA 软件测试。
我们将在未来的工作中讨论这一点。其次,我们选择最先进的 QA 模型 UnifiedQA-v2 作为测试目标,并使用不同的参数进行比较。在未来的工作中,我们将测试其他 QA 模型。第三,在本文中,我们仅选择四个推理规则来测试 QA 软件的推理能力。添加一些更复杂的推理规则可能会获得更好的测试能力。
最后,我们的方法不适用于只能执行提取和抽象 QA 任务的 QA 软件。在未来的工作中,我们将测试对象扩展到多项选择、提取和抽象的 QA 任务。

内部威胁。在我们的方法中,我们使用模板来生成问答测试用例。因此,问题和上下文中可能存在语法错误,例如缺少冠词。此外,知识图谱本身也可能包含事实错误。

9 CONCLUSION

本文提出了一种新颖的 QA 软件测试方法,即 KGIT。与以前的基于参考和变形的测试方法不同,KGIT 直接从 KG 中的事实三元组生成 QA 模型的测试数据集,并使用它们来测试 QA 软件的推理能力。根据我们的实验,我们的方法可以检测到 QA 软件中的大量推理错误。在未来的工作中,我们计划添加更复杂的推理规则,以提高我们方法的检测能力。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值