CN117009213A - 面向智能问答系统逻辑推理功能的蜕变测试方法及系统 - Google Patents
面向智能问答系统逻辑推理功能的蜕变测试方法及系统 Download PDFInfo
- Publication number
- CN117009213A CN117009213A CN202310652119.6A CN202310652119A CN117009213A CN 117009213 A CN117009213 A CN 117009213A CN 202310652119 A CN202310652119 A CN 202310652119A CN 117009213 A CN117009213 A CN 117009213A
- Authority
- CN
- China
- Prior art keywords
- test
- question
- logic
- metamorphic
- original
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 165
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims abstract description 22
- 238000010998 test method Methods 0.000 claims abstract description 8
- 238000004458 analytical method Methods 0.000 claims abstract description 6
- 238000006467 substitution reaction Methods 0.000 claims description 12
- 230000035772 mutation Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims 2
- 230000007547 defect Effects 0.000 description 13
- 238000012549 training Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 241000337007 Oceania Species 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012733 comparative method Methods 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 235000002198 Annona diversifolia Nutrition 0.000 description 1
- 241000282842 Lama glama Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001907 polarising light microscopy Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种面向智能问答系统逻辑推理功能的蜕变测试方法及系统,将输入的原始问题文本解析为成分句法分析树结构,提取所述成分句法分析树中粒度最细的名词短语词组作为目标名词短语词组,将所述目标名词短语词组输入大规模语言模型LLM得到对应的逻辑;使用预先构建好的蜕变关系对问题中的目标名词短语词组进行逻辑替换,分别生成具备单词组多跳和多词组单跳关系的测试用例,并利用基于大型语言模型(LLM)的自然度保证方法来保证测试用例生成的语义不变性和自然度。本发明能够生成具有强揭错能力、高效检验模型逻辑推理能力、高多样性、高自然度和语义不变性高的测试用例,以提升问答系统的测试充分性。
Description
技术领域
本发明属于人工智能和智能问答系统测试相关技术领域,特别是涉及一种面向智能问答系统逻辑推理功能的蜕变测试系统及方法。
背景技术
对本发明的相关技术问答系统(QA system)、蜕变测试(Metamorphic Testing)和大规模语言模型介绍如下:
问答系统(QA system)是一种用于生成答案的技术,其目标是从知识库或上下文中了解与给定问题相关的信息。根据答案来源的不同,QA系统可分为封闭域(closed-domain)QA系统和开放域(open-domain)QA系统。封闭域QA系统将问题和上下文共同作为输入;而开放域QA系统仅将问题作为输入,并使用开放知识库作为知识源。QA系统应具备三种核心能力:问题的理解能力(即理解问题语义的能力)、上下文信息检索能力(即从上下文中检索到答案相关信息的能力)和逻辑推理能力(即基于问题和上下文推理出答案的泛化能力)。问答系统包含多种类型QA数据集的复杂系统。这些数据集包括了各种类型的问题和答案形式,如布尔型QA、抽取型QA和抽象型QA。针对这些数据集,研究人员开发了多种QA算法,如MultiQA、DOCQA和UnifiedQA等。其中,UnifiedQA算法采用单个模型来处理多种类型的封闭世界QA任务,并在不同类型的数据集上展现了很高的准确性,这一算法的成功为QA系统的发展提供了有益的经验和借鉴。
蜕变测试(Metamorphic Testing)是一种根据软件的实现方法和被测软件的领域知识构造蜕变关系(Metamorphic Relation)的测试方法,旨在利用蜕变关系缓解测试预言(Oracle)问题。以求和函数Sum为例,找到的一类蜕变关系是:“假设函数sum(x1,x2),其中输入值x1和x2可以是任意实数,如果交换两个输入值x1和x2的顺序,函数的值应该是相同的”,也就是有表达式:sum(x1,x2)=sum(x2,x1)。蜕变测试只需检查输入组和执行结果之间是否满足蜕变关系,与传统测试方法的不同点在于,传统方法通过检查相应测试输入的输出结果是否正确来判断是否触发错误。由于蜕变测试中测试预言的灵活性,蜕变测试技术已经成功应用于传统软件测试、深度学习软件测试等各个领域。
随着技术的不断进步,研究人员通过在大规模语料库上进行预训练,开发出了预训练语言模型(PLM)。PLM在解决各种自然语言处理(NLP)任务方面表现出了强大的能力。随后,研究人员发现通过对模型进行缩放,可以带来更好的性能表现。因此他们通过将模型尺寸增加到更大的尺寸来进一步研究缩放效果。当参数规模超过一定阈值时,这些大型语言模型(LLM)不仅实现了显着的性能提升,而且还展现了一些在小规模语言模型(如BERT)中所不具备的特殊能力(例如,上下文学习能力)。为了区分参数规模的差异,研究人员将具有显著规模(例如,包含数百亿或数千亿个参数)的PLM称为大型语言模型(LLM)。
由于逻辑推理是问答系统正确回答问题所必需的关键环节,为了确保智能问答系统的准确性,必须要求系统具有高水平的语义理解和逻辑推理能力。然而,现有的测试用例构建方式相对简单,仅着眼于语义理解和上下文信息检索能力,不能生成具有多跳属性的复杂测试用例,这限制了对模型逻辑推理能力的全面测试。
目前,一些用于问答系统缺陷的蜕变测试框架已经得到了应用,例如QAQA以及QAAskeR,但是这些方法都旨在检测智能问答系统的语义理解缺陷,而并非检测问答系统寻找正确回答时所触发的逻辑推理缺陷。此外,上述两种方法尽管都构建了蜕变关系,但都存在相应的不足之处:QAAskeR无需插入额外语义信息,通过将问题和答案合成为假定事实后,基于语义不变性对原问题进行修改,虽然这种方法只需要系统提供原问题和对应答案,但由于方法中涉及到对原问题的修改,导致其检测到的错误结果中假阳性比例过多(通过人工检查的方式在QAAskeR的300个bug中发现假阳性的占比为51%),这一弊端在很大程度上阻碍了该方法的实际使用。而QAQA为了解决假阳性问题,其方法并不会对原问题进行修改,转为从模型的训练数据集中搜索与当前问题最相关的语句作为相关信息进行插入。虽然这一举动缓解了QAAskeR假阳性过多的问题,但往往会出现其他问题,例如:1)验证集与训练集数据分布不一致导致某部分问题搜索到的匹配语句与问题讨论的主题不相关;2)通过训练集搜索到的句子往往篇幅较长,引入了多余的语义信息导致原上下文信息量占比被压缩;3)方法受用范围窄,仅限于可获取其训练集的封闭域问答系统。
发明内容
针对上述现有技术存在的缺陷,本发明提出一种面向智能问答系统逻辑推理功能的蜕变测试方法及系统,针对智能问答系统的逻辑推理能力进行测试,从而有效检测问答系统中出现的逻辑推理错误,进而提升测试充分性。
本发明利用以下技术方案实现:
一种面向智能问答系统逻辑推理功能的蜕变测试方法,该方法包括以下步骤:
步骤1、将输入的原始问题文本提取其中的关键名词,从提取的关键名词中解析出原始问题文本内在的短语结构句法形成成分句法树,提取所述成分句法树中所有名词短语词组,其中粒度最细的名词短语词组作为目标名词短语词组,将一系列所述目标名词短语词组输入大规模语言模型LLM得到对应的逻辑;
步骤2、预先构建两种蜕变关系为具备单词组多跳关系和多词组单跳关系的两种基于句子级别的变异规则,利用两种基于句子级别的变异规则构建两种测试用例,分别为具备单词组多跳关系的测试用例MR1和具备多词组单跳关系的测试用例MR2;
步骤3、利用步骤2得到的两种测试用例测试问答系统逻辑推理能力,即在不同蜕变关系下,使用测试用例MR1、MR2递归或并行地在不改变原问题答案的前提下,对所选择的原问题中的目标名词短语词组进行逻辑替换,产生与给定蜕变测试输入等价的问题测试问答系统逻辑推理能力,期望测试输出与原答案语义一致的答案。
一种面向智能问答系统逻辑推理功能的蜕变测试系统,提取所述成分句法分析树中粒度最细的名词短语词组作为目标名词短语词组,将所述目标名词短语词组输入大规模语言模型LLM得到对应的逻辑,该系统包括蜕变关系构建模块、测试用例生成模块和逻辑推理测试模块;其中:
所述蜕变关系构建模块,用于预先构建两种蜕变关系为具备单词组多跳关系和多词组单跳关系的两种基于句子级别的变异规则;
所述测试用例生成模块,用于利用两种基于句子级别的变异规则构建两种测试用例,分别为具备单词组多跳关系的测试用例MR1和具备多词组单跳关系的测试用例MR2;
所述逻辑推理测试模块,用于利用两种测试用例测试问答系统逻辑推理能力,即在不同蜕变关系下,使用测试用例MR1、MR2递归或并行地在不改变原问题答案的前提下,对所选择的原问题中的目标名词短语词组进行逻辑替换,产生与给定蜕变测试输入等价的问题测试问答系统逻辑推理能力,期望测试输出与原答案语义一致的答案。
与现有技术相比,本发明所能达到的有益技术效果如下:
能够生成具有强揭错能力、高效检验模型逻辑推理能力、高多样性、高自然度和语义不变性高的测试用例,以提升问答系统的测试充分性。
揭错能力强,揭错多样性高,的测试用例生成方法
附图说明
图1为本发明的一种面向智能问答系统逻辑推理功能的蜕变测试系统模块图;
图2为本发明的一种面向智能问答系统逻辑推理功能的蜕变测试方法流程图;
图3为短语结构句法树示例图;
图4为本发明的一种面向智能问答系统逻辑推理功能的蜕变测试模型框图;
图5为特征匹配效果示例图。
具体实施方式
以下结合附图对本发明作进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
使用预先构建好的蜕变关系对问题中的关键词进行替换,分别生成具备单词组多跳和多词组单跳关系的测试用例,并利用基于大型语言模型(LLM)的自然度保证方法来保证测试用例生成的语义不变性和自然度。
如图1所示,为本发明的一种面向智能问答系统逻辑推理功能的蜕变测试系统模块图。该系统提取所述成分句法分析树中粒度最细的名词短语词组作为目标名词短语词组,将所述目标名词短语词组输入大规模语言模型LLM得到对应的逻辑,其特征在于,该系统包括蜕变关系构建模块100、测试用例生成模块200和逻辑推理测试模块300;其中:
所述蜕变关系构建模块100,用于预先构建两种蜕变关系为具备单词组多跳关系和多词组单跳关系的两种基于句子级别的变异规则;
所述测试用例生成模块200,用于利用两种基于句子级别的变异规则构建两种测试用例,分别为具备单词组多跳关系的测试用例MR1和具备多词组单跳关系的测试用例MR2;
所述逻辑推理测试模块300,用于利用两种测试用例测试问答系统逻辑推理能力,即在不同蜕变关系下,使用测试用例MR1、MR2递归或并行地在不改变原问题答案的前提下,对所选择的原问题中的目标名词短语词组进行逻辑替换,产生与给定蜕变测试输入等价的问题测试问答系统逻辑推理能力,期望测试输出与原答案语义一致的答案。
如图2所示,为本发明的一种面向智能问答系统逻辑推理功能的蜕变测试方法流程图。以下将本发明简称为LoGi方法。该方法具体包括以下流程:
步骤1、将输入的原始问题文本通过基于转移或者基于图的方法提取其中的关键名词,从提取的关键名词中解析出原始问题文本内在的短语结构句法,形成成分句法树,包括完成原问题到成分句法树的转换之后,提取所述成分句法树中所有名词短语词组标记为NP成分,并提取其中粒度最细的NP成分作为目标名词短语词组,如图3所示,为短语结构句法树实例图。注意,提取过程仅限于名词短语NP并不提取动词短语VP与介词短语PP。
蜕变关系为一系列不同输入-输出之间的基于句子级别的变异。具体的,给出由原问题和上下文组成的原始测试输入t=(q,c),其中,q表示问题,c表示上下文;被测问答系统在原始测试输入t下产生原始答案P(t);基于原始测试输入t构造出一个新的测试输入t’=(q’,c’),新的测试输入t’等价于原始测试输入t,被测问答系统在新的测试输入t’下产生新的答案P(t’),新的答案P(t’)和原始答案P(t)语义一致或新的答案P(t’)由原始答案P(t)中推导出来,否则将认为检测到了一个缺陷。在本实例中,蜕变关系是新的答案P(t’)和原始答案P(t)之间的基于句子级别的变异。
本步骤的蜕变关系需满足的条件是:当使用蜕变关系构造一个新的测试输入t’时,对原始测试输入t进行基于句子级别的变异以避免破坏新的测试输入t'的原始语义导致误报情况。为了确保原始答案P(t)和新的答案P(t’)这两路输出的等价性或可推理性,用基于句子级别的变异规则的核心思想是:在原始问题中插入一个逻辑且该逻辑满足对步骤1所提取的目标名词短语词组进行等价替换后生成的新测试输入t’既不改变答案的等价性、也不影响原始答案P(t)到新答案P(t’)之间的推理关系;
步骤2、预先构建两种蜕变关系为具备单词组多跳关系和多词组单跳关系这两种基于句子级别的变异规则;利用基于两种句子级别的变异规则构建测试用例,分别为具备单词组多跳关系的测试用例MR1和具备多词组单跳关系的测试用例MR2,其中单词组多跳关系是指逻辑替换只发生在单个词组上,从而测试模型的推理深度,多词组单跳关系是指逻辑替换会发生在多个单词词组上,从而测试模型的推理广度;
其中:
从蜕变测试模型的逻辑推理能力深度出发,目的在于生成针对单词组的复合多跳问题,提出了第一种基于句子级别的变异规则MR1,MR1相关的测试用例描述为:在原始问题中选取一个目标名词短语词组N=n1,对所选词组n1迭代地进行h次逻辑替换,即:将原始问题中的目标名词短语词组n1替换为所生成的逻辑后,在所述逻辑中再次选取新的目标名词短语词组并进行替换,迭代h次,同时将逻辑作为附加事实插入在原问题当中,使得测试用例新的输出不会改变原始问题的语义,直至生成最终问题。例如,当h=2时,迭代逻辑替换过程为:在问题“Where is Victoria in Australia?”中提取关键词组n1=Australia后,根据所生成逻辑“Australia is the largest country in Oceania”,将原问题更改为“Where is Victoria in the largest country of Oceania?”,再迭代地提取关键词组Oceania和其生成逻辑,将原问题修改为“Where is Victoria in the largest countryofthe smallest continent in the world?”,将逻辑作为附属事实进行插入,生成的最终问题为:“Australia is the largest country in Oceania and Oceania is thesmallest continent in the world,where is Victoria in the largest country ofthe smallest continent in the world?”
从蜕变测试模型的逻辑推理能力广度出发,目的在于生成针对多词组的普通单跳问题,提出了第二种基于句子级别的变异规则MR2,MR2相关的测试用例描述为:在原始问题中选取h个名词短语词组,针对所选目标名词短语词组N=(n1,n2,…,nh)并行地进行h次逻辑替换。即,分别将原始问题中的目标名词短语词组N=(n1,n2,…,nh)替换为所生成的逻辑,每个词组只进行一次逻辑替换,同时将逻辑作为附加事实插入原问题中,使得新生成的测试用例新的输出并不会改变原始问题的语义。例如,当h=2时,通过在问题“Where isVictoria in Australia?”中提取关键词组n1=Victoria,n2=Australia后,根据所生成逻辑“Australia is the largest country in Oceania”以及“Victoria is the closestport in Canada to Asia”,可以将原问题更改为“Where is the closest port inCanada to Asia in the largest country ofOceania?”并将逻辑作为附属事实进行插入,生成的最终问题为:“Australia is the largest country in Oceania and Victoriais the closest port in Canada to Asia,where is the closest port in Canada toAsia in the largest country ofOceania?”;
步骤3、使用预先构建好的蜕变关系对问题中的目标名词短语词组进行步骤1的逻辑替换,即利用蜕变关系一一替换掉原问题中的名词短语词组(NP成分)后,利用步骤2得到的测试用例测试问答系统逻辑推理能力;在不同蜕变关系下,使用基于句子级别的变异规则MR1、MR2对所选择词组进行逻辑替换,产生与给定蜕变测试输入等价的问题,期望产生与原答案语义一致的答案。也就是说,给定蜕变测试输入后,基于蜕变测试输入和所选词组构造出对应的新的蜕变测试输入,假如其中新构造的问题经过h次逻辑替换后得到原有词组且等价于原始问题,那么问答(QA)系统通过正确的逻辑推理得到的答案在语义上与原始答案一致。
具体地,在上述步骤3中,递归或并行地在不改变原问题答案的前提下,对原问题中的目标词组进行逻辑替换,分别从测试模型逻辑推理能力的深度与广度出发,在不改变原问题答案的前提下对作为测试输入的原问题进行修改;其中推理次数h表示对关键词进行逻辑替换的次数;
如图4所示,为本发明的一种面向智能问答系统逻辑推理功能的蜕变测试方法实施例框图。包括原始测试输入、逻辑生成模块和句子级别变异规则(MR)库以及新的测试输入。逻辑生成模块用于利用两种基于句子级别的变异规则MR1和MR2来构建两种蜕变关系;基于句子级别的变异规则(MR)库包括两种基于句子级别的变异规则MR1和MR2。新的测试输入,为基于蜕变测试输入和所选原问题中的名词短语构造出的新的蜕变测试输入。
如图5所示,为基于大规模语言模型(LLM)的逻辑生成过程框图。“基于大规模语言模型(LLM)进行逻辑生成”是为了生成可以用于替换问题中关键名词短语的逻辑,并尽可能地保证替换前后的语义一致性,通常,大型语言模型(LLM)是指包含数千亿参数的语言模型,这些参数是在大量文本数据上训练的,例如模型GPT-3、PaLM、Galactica和LLaMA。具体来说,LLM建立在Transformer架构之上,其中多头注意力层堆叠在一个非常深的神经网络中。现有的LLM主要采用与小语言模型类似的模型架构(即Transformer)和预训练目标(即语言建模),但作为主要区别,LLM在很大程度上扩展了模型大小、预训练数据和总计算量(扩大倍数)。
在蜕变测试封闭域问答系统的过程中,为了使所生成的测试用例更加贴近现实情况,要求在变异规则中引入的额外内容不仅需要保证新增语义信息量尽可能少,同时还要求这些内容和原问题具有较强的关联性,这一做法是因为考虑到语义关联性较低的内容往往不会在真实世界中出现。为了做到这一点,引入了大型语言模型(LLM)来进行逻辑生成。使用LLM的原因是如今这种大模型涌现出了惊人的上下文学习和文本生成能力,这种容量改进可以用标度律进行部分地描述,其中性能大致遵循模型大小的大幅增加而增加。然而某些能力(例如,上下文学习)是不可预测的,只有当模型大小超过某个水平时才能观察到。总的来说,LLM作为如今NLP领域最热门的方向,可以更好地理解自然语言,并根据给定的上下文或者prompt生成高质量的文本,但是由于目前多数最先进的LLMs并不开源,所以采用了开源模型GPT-Neo作为本方法逻辑生成的基本模型。
本发明中,将从问题q提取的名词短语词组输入大型语言模型(LLM),得到对应逻辑,为了使生成逻辑能和关键名词短语进行一比一的等价替换而不引入语法错误,并能使得输入更加自然,针对大型语言模型(LLM)的特性设置了一系列提示词如“It isacknowledged that…is the...”等来指导逻辑生成。提示词中使用“the”而不是“a/an”的原因是对于语义正确性而言,只有一对一的等价替换不会引入语义错误,而后者可能会放大该名词短语的语义范围,从而引发误报。
除此之外,为了获得尽可能优质的逻辑,LoGi方法针对同一个名词短语词组生成多条逻辑,通过对这些逻辑加以过滤并排序,得到用于替换的最终逻辑。为了得到最终逻辑,使用了基于语法规则的过滤方法和基于语义相似度的排序方法,该方法是指先通过对比逻辑替换前后语句的语法结构,筛除语法结构发生明显变化的测试用例后,再对比逻辑替换前后语句的语义相似度,优先选取相似度较高的测试用例。基于规则的过滤方法解决了由LLM生成的逻辑包含多条句子结构导致语法错误的情况:为了保证逻辑语句对原词进行替换之后不会引入语法错误,针对LLM的生成内容使用预先定义好的语法规则进行匹配,过滤替换名词词组后产生错误语法规则的逻辑,如复合句;在完成过滤的逻辑中,尽可能地搜索与给定问题语义相似的句子,这有助于保证所选逻辑与原始测试输入的相关性(例如,两者都讨论同一主题),从而确保所生成测试输入的自然性。为了正确表征问题中包含的语义信息,使用最先进的句子嵌入模型Sentence-BERT(SBERT)将原始问题的语义表示为一个向量。该模型采用了先进的孪生和三元组(siamese and triplet)神经网络结构,并已被证明在句子语义表示中有效且高效。通过测量原始问题的语义向量与所生成逻辑语义向量之间的余弦相似度,识别出语义最相似的逻辑。
为了验证本发明的有效性,科学地对实验结果进行了分析。例如,本发明测试的QA系统是基于T5-large-based的UnifiedQA预训练模型。选择UnifiedQA作为待测QA系统有两方面的原因:一方面,UnifiedQA是目前唯一在各种类型QA数据集上均有良好准确性的QA算法。另一方面,使用UnifiedQA可以实现和对比方法公平的比较,因为对比方法QAAskeR和QAQA的测试系统也是UnifiedQA。此外,使用BoolQ、SquAD2、NarrativeQA三个不同类型的QA数据集进行了实验。BoolQ数据集是布尔型QA、SQuAD2是抽取型QA、NarrativeQA是抽象型QA。如表1所示,为本发明使用的数据集大小。
表1
数据集 | 格式 | 训练集大小 | 测试集大小 |
BoolQ | 布尔型 | 9,427 | 3,270 |
SQuAD2 | 提取型 | 130,319 | 11,873 |
NarrativeQA | 抽象型 | 32,747 | 3,461 |
为了验证本发明在揭露缺陷方面的有效性,对于种子池(即:测试集)中每个种子(即:测试输入),用本发明的LoGi、QAQA和QAAskeR分别生成一个新的测试输入,然后将这些测试输入在问答系统上执行预测,并记录他们是否违反蜕变关系。对比结果如表2所示。
表2
方法 | BoolQ | SQuAD2 | NarrativeQA | 总和 |
LoGi | 1067(32.63%) | 5839(49.18%) | 1511(43.66%) | 8417(45.24%) |
QAQA | 707(19.69%) | 6,255(52.68%) | 1,171(34.61%) | 8,133(43.72%) |
QAAskeR | 2,056(62.87%) | 3,075(25.90%) | 1,454(42.01%) | 6,585(35.40%) |
从该表中可以发现,本发明LoGi在不需要依赖原有答案输出或问答模型训练数据集的前提下,仍可达到较高的揭错率。此外,为了验证本发明在揭露缺陷方面的多样性,对于本发明的LoGi、QAQA和QAAskR,我们统计了各个方法在同一批测试用例下所引发的真实缺陷,并统计了三个方法独有的缺陷的数量和独有缺陷占该方法所检测缺陷数量的比率,结果表明本发明的LoGi能够基于相同的种子池,发现原有方法无法检测到的缺陷,如表3所示。
表3
方法 | BoolQ | SQuAD2 | NarrativeQA | 总和 |
LoGi | 273(25.59%) | 1488(25.38%) | 485(32.10%) | 2246(26.68%) |
QAQA | 128(18.10%) | 1979(31.64%) | 266(22.72%) | 2373(29.18%) |
QAAskeR | 1072(52.14%) | 1370(44.55%) | 634(43.60%) | 3076(46.71%) |
需要说明的是,尽管已经参照本发明的特定示例性实施例示出并描述了本发明,但是本领域技术人员应该理解,本发明并不局限于上述实施方式凡是对本发明的各种改变均落入本发明申请保护范围。
Claims (10)
1.一种面向智能问答系统逻辑推理功能的蜕变测试方法,其特征在于,该方法包括以下步骤:
步骤1、将输入的原始问题文本解析为成分句法分析树结构,提取所述成分句法分析树中粒度最细的名词短语词组作为目标名词短语词组,将所述目标名词短语词组输入大规模语言模型LLM得到对应的逻辑;
步骤2、预先构建两种蜕变关系为具备单词组多跳关系和多词组单跳关系的两种基于句子级别的变异规则,利用两种基于句子级别的变异规则构建两种测试用例,分别为具备单词组多跳关系的测试用例MR1和具备多词组单跳关系的测试用例MR2;
步骤3、利用步骤2得到的两种测试用例测试问答系统逻辑推理能力,即在不同蜕变关系下,使用测试用例MR1、MR2递归或并行地在不改变原问题答案的前提下,对所选择的原问题中的目标名词短语词组进行逻辑替换,产生与给定蜕变测试输入等价的问题测试问答系统逻辑推理能力,期望测试输出与原答案语义一致的答案。
2.如权利要求1所述的一种面向智能问答系统逻辑推理功能的蜕变测试方法,其特征在于,其中,所述单词组多跳关系是指逻辑替换只发生在单个词组上,所述多词组单跳关系是指逻辑替换会发生在多个单词词组上。
3.如权利要求1所述的一种面向智能问答系统逻辑推理功能的蜕变测试方法,其特征在于,其中,具备单词组多跳关系的测试用例MR1为:在原始问题中选取一个名词短语词组N=n1,对所选词组n1迭代地进行h次逻辑替换。
4.如权利要求1所述的一种面向智能问答系统逻辑推理功能的蜕变测试方法,其特征在于,其中,具备多词组单跳关系的测试用例MR2为:在原始问题中选取h个名词短语词组N=n1,针对所选目标名词短语词组N=(n1,n2,…,nh)并行地进行h次逻辑替换。
5.如权利要求1所述的一种面向智能问答系统逻辑推理功能的蜕变测试方法,其特征在于,所述步骤2还包括针对同一个目标名词短语词组生成多条逻辑,对多条规则进行基于语法规则的过滤和基于语义相似度的排序,得到用于替换的最终逻辑;
所述基于语法规则的过滤的具体步骤如下:
针对大规模语言模型LLM的生成内容使用预先定义好的语法规则对逻辑替换后的测试用例进行匹配,通过对比逻辑替换前后语句的语法结构,筛除语法结构发生明显变化的测试用例;
所述基于语义相似度的排序的具体步骤如下:
使用句子嵌入模型表征问题中包含的语义信息,将原始问题和进行逻辑替换后的测试用例分别表示为向量形式,对比二者的语义相似度,优先选取相似度较高的测试用例,从而搜索到与给定问题语义相似的测试用例。
6.一种面向智能问答系统逻辑推理功能的蜕变测试系统,提取所述成分句法分析树中粒度最细的名词短语词组作为目标名词短语词组,将所述目标名词短语词组输入大规模语言模型LLM得到对应的逻辑,其特征在于,该系统包括蜕变关系构建模块、测试用例生成模块和逻辑推理测试模块;其中:
所述蜕变关系构建模块,用于预先构建两种蜕变关系为具备单词组多跳关系和多词组单跳关系的两种基于句子级别的变异规则;
所述测试用例生成模块,用于利用两种基于句子级别的变异规则构建两种测试用例,分别为具备单词组多跳关系的测试用例MR1和具备多词组单跳关系的测试用例MR2;
所述逻辑推理测试模块,用于利用两种测试用例测试问答系统逻辑推理能力,即在不同蜕变关系下,使用测试用例MR1、MR2递归或并行地在不改变原问题答案的前提下,对所选择的原问题中的目标名词短语词组进行逻辑替换,产生与给定蜕变测试输入等价的问题测试问答系统逻辑推理能力,期望测试输出与原答案语义一致的答案。
7.如权利要求6所述的一种面向智能问答系统逻辑推理功能的蜕变测试系统,其特征在于,其中,所述单词组多跳关系是指逻辑替换只发生在单个词组上,所述多词组单跳关系是指逻辑替换会发生在多个单词词组上。
8.如权利要求6所述的一种面向智能问答系统逻辑推理功能的蜕变测试系统,其特征在于,其中,具备单词组多跳关系的测试用例MR1为:在原始问题中选取一个名词短语词组N=n1,对所选词组n1迭代地进行h次逻辑替换。
9.如权利要求6所述的一种面向智能问答系统逻辑推理功能的蜕变测试系统,其特征在于,其中,具备多词组单跳关系的测试用例MR2为:在原始问题中选取h个名词短语词组N=n1,针对所选目标名词短语词组N=(n1,n2,…,nh)并行地进行h次逻辑替换。
10.如权利要求6所述的一种面向智能问答系统逻辑推理功能的蜕变测试系统,其特征在于,所述步骤2还包括针对同一个目标名词短语词组生成多条逻辑,对多条规则进行基于语法规则的过滤和基于语义相似度的排序,得到用于替换的最终逻辑;
所述基于语法规则的过滤的具体步骤如下:
针对大规模语言模型LLM的生成内容使用预先定义好的语法规则对逻辑替换后的测试用例进行匹配,通过对比逻辑替换前后语句的语法结构,筛除语法结构发生明显变化的测试用例;
所述基于语义相似度的排序的具体步骤如下:
使用句子嵌入模型表征问题中包含的语义信息,将原始问题和进行逻辑替换后的测试用例分别表示为向量形式,对比二者的语义相似度,优先选取相似度较高的测试用例,从而搜索到与给定问题语义相似的测试用例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310652119.6A CN117009213A (zh) | 2023-05-31 | 2023-05-31 | 面向智能问答系统逻辑推理功能的蜕变测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310652119.6A CN117009213A (zh) | 2023-05-31 | 2023-05-31 | 面向智能问答系统逻辑推理功能的蜕变测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117009213A true CN117009213A (zh) | 2023-11-07 |
Family
ID=88562582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310652119.6A Pending CN117009213A (zh) | 2023-05-31 | 2023-05-31 | 面向智能问答系统逻辑推理功能的蜕变测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009213A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117370994A (zh) * | 2023-12-08 | 2024-01-09 | 浙江君同智能科技有限责任公司 | 基于模糊测试的大语言模型漏洞检测方法和装置 |
-
2023
- 2023-05-31 CN CN202310652119.6A patent/CN117009213A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117370994A (zh) * | 2023-12-08 | 2024-01-09 | 浙江君同智能科技有限责任公司 | 基于模糊测试的大语言模型漏洞检测方法和装置 |
CN117370994B (zh) * | 2023-12-08 | 2024-02-27 | 浙江君同智能科技有限责任公司 | 基于模糊测试的大语言模型漏洞检测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yu et al. | Beyond Word Attention: Using Segment Attention in Neural Relation Extraction. | |
Cao et al. | Knowledge-enriched event causality identification via latent structure induction networks | |
CN105528349B (zh) | 知识库中问句解析的方法及设备 | |
US9442917B2 (en) | Detecting semantic errors in text using ontology-based extraction rules | |
Nayak et al. | Knowledge graph based automated generation of test cases in software engineering | |
Kulmizev et al. | Schrödinger's tree—On syntax and neural language models | |
CN115048944A (zh) | 一种基于主题增强的开放域对话回复方法及系统 | |
Ali et al. | Genetic approach for Arabic part of speech tagging | |
De Felice et al. | Automatically acquiring models of preposition use | |
Yildiz et al. | Improving word embedding quality with innovative automated approaches to hyperparameters | |
CN117009213A (zh) | 面向智能问答系统逻辑推理功能的蜕变测试方法及系统 | |
Bao et al. | Text generation from tables | |
CN113239143A (zh) | 融合电网故障案例库的输变电设备故障处理方法及系统 | |
Tovar et al. | Identification of Ontological Relations in Domain Corpus Using Formal Concept Analysis. | |
CN103455638A (zh) | 一种结合推理和半自动学习的行为知识提取方法和装置 | |
CN110162615A (zh) | 一种智能问答方法、装置、电子设备和存储介质 | |
CN113590821B (zh) | 一种隐含语篇关系的分类方法 | |
Fang | Proposition-based summarization with a coherence-driven incremental model | |
CN111625623B (zh) | 文本主题提取方法、装置、计算机设备、介质和程序产品 | |
CN111767388B (zh) | 一种候选池生成方法 | |
CN115129859A (zh) | 意图识别方法、装置、电子装置及存储介质 | |
De Kruijf et al. | Training a Dutch (+ English) BERT model applicable for the legal domain | |
van der Poel et al. | MLRegTest: A Benchmark for the Machine Learning of Regular Languages | |
CN111581339A (zh) | 基于树状lstm对生物医学文献的基因事件的抽取方法 | |
Zhang et al. | Inducing grammar from long short-term memory networks by shapley decomposition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |