1 蜕变测试(Metamorphic Testing,MT)
蜕变测试MT是一种软件测试方法。它基于一个核心思想:对于某些软件,即使不知道确切的输出,我们可以预测在输入变化时输出应该如何变化。这种方法在NLP领域也很有用。
- 蜕变关系(Metamorphic Relation, MR) MR是蜕变测试中的核心概念。蜕变关系是指:在输入变化时,输出应该遵循的预期规律。
- 蜕变关系的一致性 当输入按照蜕变关系发生变化时,得到的新输出和原始输出的关系符合蜕变关系定义的预期(例如,在情感分析任务中,蜕变关系定义为:改变同义词不应该改变情感。)
- 蜕变关系的不一致性 当输入按照蜕变关系发生变化时,得到的新输出和原始输出的关系违背了蜕变关系定义的预期。
- 测试过程 (1)提供输入(如文本)并记录模型的输出。 (2)根据蜕变关系改变输入。 (3)将修改后的输入送入模型,得到新的输出,检查新的输出是否符合蜕变关系预期的模式。
2 在NLP模型中的应用
以图文情感分类任务为例。任务描述:根据图片和文本,确定情感极性。使用蜕变测试来验证模型的准确性和鲁棒性,并可以通过系统地修改输入并检查模型的相应,可以揭示模型在实际应用中可能遇到的问题。以下是蜕变测试的一般步骤:
- 定义蜕变关系并应用 根据图文情感分类的特点,定义一系列的蜕变关系。蜕变关系应该充分地考虑到所有的情况。以下是一些蜕变关系示例:
(1)文本的同义词替换:在文本中识别关键词或者短语,将其替换成同义词或者近义词,而不改变整体情感倾向。模型的预测结果应该保持一致。
(2)文本的句法转变:对文本进行句法结构的改变,例如将主语语态改为被动语态,但是保持原有的信息和情感不变。模型的预测应该一样。
(3)删除文本中的中性词汇:删除文本中的中性词汇(不带有感情色彩的词汇),不应该显著改变情感倾向。
(4)图像的微小扰动:对图像进行轻微的扰动(例如改变图片的色调或者亮度,但不影响其内容和情感表达;轻微旋转或者裁剪、轻微模糊或者锐化图像),这不应该改变图像所传达的情感信息。模型的输出应该一样。
(5)图文结合的蜕变关系:替换图文中的实体词(文本中换成另一个人,图像也要相应更换),情感倾向应该保持不变。【或者将文本和图像中的一些元素替换成相同情感倾向的其他元素,例如庆祝胜利的场景替换成另一个类似的庆祝场景。】
在定义了蜕变关系之后,相应的修改测试数据,以生成新的测试数据。
- 执行测试并验证结果 使用原来的测试数据和修改后的测试数据,对模型进行测试。得到结果之后,验证模型对原始测试数据和修改后的测试数据的输出是否是保持了蜕变关系的一致性。
- 分析不一致性 如果模型不遵循蜕变关系,分析不一致性的原因,这可能暴露模型的弱点或者数据处理的问题。
- 调整模型或者数据 根据测试结果调整模型或数据预处理步骤,并重复测试,直到模型表现满意为止。
邀请人:千万别过来
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!