1.一种针对递归神经网络驱动的对话系统的自动化测试方法,测试的方法可以分为三个部分,第一部分是生成测试用例,在原始测试数据集的基础上,通过语义不变的文本变换,生成大规模测试用例集;第二部分是测试用例的筛选,由于生成出的测试数据集规模庞大,通过筛选出更可能触发递归神经网络(rnn)模型的用例,可降低测试成本;第三部分是测试、评估和优化对话系统的rnn自然语言理解模型,发现对话系统的错误行为,并通过模型重新训练的方式进行优化,提升对话系统的准确性和鲁棒性。
2.根据权利要求1所描述的一种针对递归神经网络驱动的对话系统的自动化测试方法,其特征是生成测试用例任务,首先,将原始测试集作为种子数据,分离数据集中每个用例的句子和对应的意图和实体标签;然后,针对原始句子,在其基础上加入文本数据变换规则,包括同义词替换(即用同义词替换原句中的单词,保持句意不变)、回译(即将目标句翻译成中间语言,然后再将其翻译回原语)和单词插入(即在原句基础上插入少量单词,不改变原始句意)的变换方式,生成出大量具有真实性的测试文本数据;最后,由于生成句子与原始句子语义相同,仅词语或句子结构有差异,其数据标签与原始句子的标签信息保持一致。
3.根据权利要求1所描述的一种针对递归神经网络驱动的对话系统的自动化测试方法,其特征是筛选数据集的基本依据为:只保留具有高概率触发被测模型错误行为的测试用例,舍弃模型预测置信度非常高的测试用例,这是为了降低测试成本,避免大量无效测试。在进行测试用例筛选时,计算模型对给定输入数据的gini不确定性系数,若系数高于给定阈值,则表示被测模型对该用例的预测结果不确定性高,将其保留;若系数值低于给定阈值,则舍弃该测试用例。其中,gini不确定性系数的计算方式如下:
4.根据权利要求1所描述的一种针对递归神经网络驱动的对话系统的自动化测试方法,其特征是测试、评估和优化对话系统的rnn自然语言理解模型的方法:将生成的测试数据输入到对话系统的rnn自然语言理解模型中,对比模型的预测结果与数据标签代表的真实结果,若有差异则表明对话系统在理解给定句子时出现错误;同时,生成的数据集可以输入到被测模型中进行重新训练,由此提高模型的准确性和鲁棒性;其中,用于评估被测模型和优化效果的指标可细分为两个方面:
1)意图识别准确性用于评估语言理解模型能否正确判断给定输入句子的意图;意图识别准确率的计算是预测意图预测正确的句子个数,占所有测试句子个数的比例;对话系统在接收用户的输入后,首先会对输入信息进行意图识别分类,若分类错误,极有可能会影响对话系统最终的输出结果。意图准确率的计算方式如下:
其中,correctpredict意图预测正确的句子个数,totalsentence代表总句子的个数。
2)槽位填充准确性槽位填充属于序列标注任务,即给定输入的句子是由一串单词(x1,x2,...xn)组成的,模型进行槽位填充时输出每个单词对应的预测标签
其中,correctentity表示实体预测正确的个数,totalentity代表实体的总个数。