Page 72 - 《软件学报》2026年第2期
P. 72
沈庆超 等: 智能问答系统逻辑推理测试 551
6. foreach p in p_list do
7. p_vector = sentence_embedding(p);
8. sim_score = sentence_similarity(q_vector, p_vector);
9. if sim_score > max then
10. max = sim_score;
11. p* = p;
12. end
13. end
14. return p*
4.3.2 关键名词词组选择策略
除了选取关键变异位置之外, 名词词组的选择对测试模型的逻辑推理能力以及提升测试输入的自然性同样重
要. 当变异过程中新增的语义信息与上下文中所讨论的主题不相关时, 这种测试输入被认为是不自然的. 尽管不自
然的测试输入同样具有揭错能力, 但这类输入在现实生活中较少见, 因而相关缺陷的实际危害程度通常较低. 因
此, QALT 在变异过程中使用关键名词词组选择方法选择与上下文所讨论主题最相关的名词词组.
具体来说, 在应用第 4.2 节所提出的蜕变关系时, 如果仅是随机选择一个名词词组进行变异, 往往难以生成符
合自然语言习惯的测试输入. 如图 3 所示, 在原始测试输入“Where have oxygen bars been since 1990?”中存在
“oxygen bars”与“1990”两个名词词组. 如果对于“1990”应用蜕变关系会产生如“It is acknowledged that 1990 is the
year when the Hubble Space Telescope was launched. Where have oxygen bars been since the year when the Hubble
Space Telescope was launched?” 这样的测试输入. 然而, “the Hubble Space Telescope”并不符合原测试输入所讨论
的主题, 这样的问题在现实中可能并不存在. 为了解决这一问题, 本文提出了一种名词词组的选择策略, 以减少随
机选择带来的测试输入不自然的问题. 该方法首先使用基于词图模型的关键词提取方法提取上下文中的核心名
词, 随后通过计算相似度的方式选择待变异测试输入中的名词词组. 这种选择方法保证了所选名词词组与原始测
试输入所讨论主题的相关程度, 以此提高测试输入的自然性.
图 3 名词词组选择实例
在自然语言处理领域, 无监督关键词提取主要分为 3 类方法: 基于统计特征、基于主题模型和基于词图模型
的方法. 基于统计特征的方法依赖于文档中词语的统计信息来抽取关键词; 而基于主题模型的方法则利用主题分
布的特性进行关键词提取, 这两种方法通常在输入为多文档数据集时才可生效. 然而, 封闭世界问答系统通常处理
的是单一文档, 所以这两种方法并不适用. 因此, QALT 选用基于词图模型的关键词提取方法作为基本方法进行关
键词提取. 基于词图模型的关键词提取方法通过构建和分析文档的语言网络图, 并在这个图上寻找具有重要作用
的词或者短语作为文档的关键词. 该方法的优点在于只依赖文档本身, 以此摆脱对于测试过程中对于智能问答系
统数据集 (即多文档数据集) 的依赖性. 为此, 本文使用了 TextRank [42] 算法提取上下文中的核心名词. TextRank 算
法将上下文视为一个词的网络, 每个词是该算法中的一个节点. 该方法通过将词与词的语义关系表示为网络中的

