一种基于多目标优化的刑罚测试数据扩增方法

文档序号:971433 发布日期:2020-11-03 浏览:3次 >En<

阅读说明:本技术 一种基于多目标优化的刑罚测试数据扩增方法 (Penalty test data amplification method based on multi-objective optimization ) 是由 夏春艳 张岩 李明 于 2020-08-01 设计创作,主要内容包括:一种基于多目标优化的刑罚测试数据扩增方法,其特征在于将优化技术应用到司法刑罚预测的测试数据扩增中,通过优化技术与数据扩增方法的融合,为司法智能软件扩增泛化能力较强的测试数据,有效地测试刑罚预测模型的准确性。方法主要分为两个步骤,第一个步骤为测试数据扩增,在刑罚预测模型原始测试集的基础上,通过置换、插入和删除文本中句子的方式获得大量的具有相同标签的扩增数据;第二个步骤是测试数据优化,以测试数据的精确率、召回率和F1值,以及针对刑罚预测模型测试数据的重要度为优化目标,利用多目标遗传算法的选择、交叉和变异操作,从扩增的大量数据中搜索高质量的测试数据,从而增加扩增测试数据的数量和多样性,提高扩增测试数据的泛化能力。本发明可以基于司法本文数据为刑罚预测模型扩增测试数据,解决缺少司法测试数据的问题,保障智能软件测试的质量。(A penalty test data amplification method based on multi-objective optimization is characterized in that an optimization technology is applied to test data amplification of judicial penalty prediction, test data with strong generalization capability is amplified for judicial intelligent software through the fusion of the optimization technology and a data amplification method, and the accuracy of a penalty prediction model is effectively tested. The method mainly comprises two steps, wherein the first step is test data amplification, and a large amount of amplification data with the same labels are obtained by replacing, inserting and deleting sentences in a text on the basis of an original test set of a penalty prediction model; the second step is test data optimization, which takes the precision rate, the recall rate and the F1 value of the test data and the importance degree of the test data aiming at the penalty prediction model as optimization targets, and utilizes the selection, the intersection and the variation operation of the multi-target genetic algorithm to search high-quality test data from the amplified mass data, thereby increasing the quantity and the diversity of the amplified test data and improving the generalization capability of the amplified test data. The method can amplify test data for the penalty prediction model based on judicial text data, solves the problem of lacking judicial test data, and guarantees the quality of intelligent software testing.)

一种基于多目标优化的刑罚测试数据扩增方法

技术领域

本发明属于智能软件测试领域,还涉及到深度学习和自然语言处理技术,其目的在于为智能软件扩增泛化能力较强的测试数据,是一种基于司法文本的测试数据扩增方法,能够有效的测试刑罚预测模型的性能。

背景技术

随着法院信息化3.0建设的推进和机器学习技术的飞速发展,可由计算机存储和处理的司法数据快速增长,司法机关纷纷将深度学习方法引入到法律服务领域,实现司法业务的智能化。近年来,以裁判文书或案情事实等司法文本作为输入的刑罚预测智能软件在司法领域中的研究取得了一定的成果,如自动量刑预测和罪名预测等。为了提高刑罚预测模型的准确率,研究人员不断增加模型的参数,并且扩大训练集规模,这就对用于测试模型性能的数据集提出了新的要求,即测试数据的数量和多样性。实际上,在刑罚预测领域很难获得大量的标签数据。在这种情况下,我们利用数据扩增手段,在不实际增加原始测试数据的基础上,对原始测试数据做一些微小变换可获得更多的测试数据,这种方法能够有效地为刑罚预测模型获得大量的具有相同标签的测试数据。

随着文本分析技术的发展和数据扩增方法的不断涌现,获得的司法文本扩增测试数据迅猛增长,这就有必要依赖优化技术从中筛选能够测试模型性能的高质量测试数据。遗传算法作为一类启发式搜索算法,是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法,其主要目标就是快速地在搜索空间中寻求问题的最优解或近似最优解,已被成功应用于优化领域。鉴于此,我们将优化技术与数据扩增方法相融合,把从大量的扩增数据中搜索高质量的测试数据问题转化为基于遗传算法的多目标优化问题,从而增加刑罚预测模型测试数据的数量和多样性,目的在于为深度学习得到的预测模型提供具有较好泛化能力的扩增测试数据。

发明内容

本发明通过对司法裁判文书进行文本数据扩增,获得大量的扩增测试数据,融合基于遗传算法的多目标优化技术,从扩增数据中自动搜索适合刑罚预测的高质量测试数据,为刑罚预测模型提供泛化能力较强的扩增测试数据,满足模型对测试数据的数量和多样性的需求。

为达成上述目标,本发明提供了一种基于多目标优化的刑罚测试数据扩增方法,首先,在刑罚预测模型原始测试集的基础上,通过置换、***和删除文本中句子的方式获得大量的具有相同标签的扩增数据。然后,以测试数据的精确率、召回率和F1值,以及针对刑罚预测模型测试数据的重要度为优化目标,利用遗传算法从扩增的大量数据中搜索高质量的测试数据,从而增加扩增测试数据的数量和多样性,提高扩增测试数据的泛化能力。其特征在于包含以下步骤。

步骤1.测试数据扩增

(1)首先,输入原始测试数据集D 0 ={d 1 ,d 2 ,…,d t },d t 表示第t个测试数据,其为结构良好的司法裁判文书文本数据,主要包括案件罪名(Accusation)、案发时间(Date)、案发地点(Address)、案情事实(Fact)和刑罚结果(Penalty)等信息。其次,按照案件罪名(Accusation)对案件文本测试数据进行分类,抽取每个案件的案情事实(Fact)和刑罚结果(Penalty)的标签内容。然后,对案情事实(Fact)进行初步的文本预处理,根据常用停止词列表去除文本中无意义的停止词;对刑罚结果(Penalty)做简单的数学统计,分为三类:死刑(Death_penalty)、***(Life_imprisonment)和***(Imprisonment)。

(2)为了不改变原文的意思,对于“案件罪名(Accusation)”标签相同的案件,我们针对“案情事实(Fact)”文本中的句子,以置乱、删除和***三种方式对D 0 进行扩增,具体如下:置乱句子,随机置乱原文本中句子的顺序,得到标签相同的扩增数据集D 1 ={d 11 ,d 12 ,…, d 1t };删除句子,随机删除原文本中的一个句子,得到标签相同的扩增数据D 2 ={d 21 ,d 22 ,…, d 2t };***句子,从标签相同的其它文本选择一个句子随机***到原文本中,得到标签相同的扩增数据集D 3 ={d 31 ,d 32 ,…,d 3t }。通过上述三种数据扩增方法,可以获得三个与原始数据集规模相同的新数据集,将其混合得到扩增数据集D=D 1 D 2 D 3

步骤2.测试数据优化

(1)以结构化文本类扩增数据集D中案例数据对应的序号作为输入数据,对所有数据进行全排列,随机选择n个排列序列构建初始种群,个体采用十进制编码方式,基本基因位代表相应的测试案例序列号。其中,初始种群为x ={x 1 ,x 2 ,…,x i ,…,x n },n为种群规模,x的第i个个体为x i = {x i,1 ,x i,2 ,…,x i,j ,…,x i,m },x i,j 代表x i 的第j个测试案例,mx i 包含的测试案例的数量。

(2)将上述种群数据注入到刑罚预测模型,获得测试数据的精确率、召回率和F1值;对于“案件罪名(Accusation)”标签相同的案件,统计每类案件中死刑(Death_penalty)、***(Life_imprisonment)和***(Imprisonment)三类刑罚数据在个体和种群中出现的频率,综合评价其所在个体的重要程度Important(x i )。

(3)以测试数据的精确率、召回率、F1值和重要度为优化目标,利用多目标遗传算法的选择、交叉和变异操作搜索高质量的测试数据,获得扩增测试数据集D’={d 1 ’,d 2 ’,… d m }。其中,选择操作采用锦标赛选择策略,交叉操作采用循环交叉方法,变异操作采用序号变异方法。

(4)将本设计获得的扩增测试数据集注入到刑罚预测模型进行测试,计算模型的准确率,以此来检验本设计方法获得的扩增测试数据的泛化能力。

附图说明

图1为本发明的一种基于多目标优化的刑罚测试数据扩增方法的流程图。

图2为图1中测试数据扩增的流程图。

图3为图1中测试数据优化的流程图。

具体实施方式

为了更清晰的了解本发明的技术内容,特举具体实施并配合所附图式说明如下。

图1为本发明实施的一种基于多目标优化的刑罚测试数据扩增方法的流程图。

一种基于多目标优化的刑罚测试数据扩增方法,其特征在于,包括下列步骤:

S1测试数据扩增,首先,输入结构良好的司法裁判文书文本数据作为原始测试数据集D 0 ,按照标签“案件罪名”对文本测试数据进行分类,抽取每个案件的“案情事实”和“刑期结果”的标签内容,对“案件事实”做初步的文本预处理,“刑期结果”做简单的数学统计,分为三类:死刑、***和***。然后,对于“案件罪名”标签相同的案件,以“案情事实”文本中的整个句子为基本单位,通过置乱句子、删除句子和***句子三种方式对D 0 进行扩增,可获得三个与原始数据集规模相同的新数据集,将其混合得到扩增数据集D=D 1 D 2 D 3

S2测试数据优化,第一,以扩增数据集D中测试数据对应的序号作为输入数据,对所有数据进行全排列,随机选择n个排列序列构建初始种群,每个个体包含的测试案例数量为m。个体采用十进制编码方式,基本基因位代表相应的测试案例序列号。第二,将种群数据注入到刑罚预测模型,获得测试数据的精确率、召回率和F1值;对于“案件罪名(Accusation)”标签相同的案件,统计每类案件中死刑(Death_penalty)、***(Life_imprisonment)和***(Imprisonment)三类刑罚数据在个体和种群中出现的频率,综合评价其所在个体的重要程度Important(x i )。第三,以测试数据的精确率、召回率、F1值和重要度为优化目标,利用多目标遗传算法的选择、交叉和变异操作搜索高质量的测试数据,获得扩增测试数据集D’。其中,选择操作采用锦标赛选择策略,交叉操作采用循环交叉方法,变异操作采用序号变异方法。第四,将本设计获得的扩增测试数据集D’注入到刑罚预测模型进行测试,计算模型的准确率,以此来检验本设计方法获得的扩增测试数据的泛化能力。

图2为S1测试数据扩增的流程图,结合图2说明S1的具体实施方法如下:第一,输入原始测试数据集D 0 ={d 1 ,d 2 ,…,d t },d t 表示第t个测试数据,其为结构良好的司法裁判文书文本数据,主要包括案件罪名(Accusation)、案发时间(Date)、案发地点(Address)、案情事实(Fact)和刑罚结果(Penalty)等信息。第二,按照案件罪名(Accusation)对案件文本测试数据进行分类,抽取每个案件的案情事实(Fact)和刑罚结果(Penalty)的标签内容。第三,对案情事实(Fact)进行初步的文本预处理,根据常用停止词列表去除文本中无意义的停止词;对刑罚结果(Penalty)做简单的数学统计,分为三类:死刑(Death_penalty)、***(Life_imprisonment)和***(Imprisonment)。第四,对于“案件罪名(Accusation)”标签相同的案件,我们针对“案情事实(Fact)”文本中的句子,以置乱句子、删除句子和***句子三种方式对D 0 进行扩增,具体如下:

1)置乱,本设计以文本中的完整句子为基本单位,由于句子顺序对描述事实的文本意义影响不大,所以随机地置乱原文本中句子的顺序,可得到与原文本数据具有相同标签的规模相同的扩增数据集D 1 ={d 11 ,d 12 ,…,d 1t }。

2)删除,由于描述事实的文本中含有很多冗余的句子,这些句子对文本描述的意义影响不大,删除它们不会影响对案例的理解,所以采用随机方法,随机地删除原文本中的一个句子。如果原文本中只包含一个句子,则不进行任何处理。对每个文本执行相同的删除操作,可得到与原文本数据具有相同标签的规模相同的扩增数据集D 2 ={d 21 ,d 22 ,…,d 2t }。

3)***,由于案件罪名相同的案例在描述文本时会有许多相似的句子,所以将具有相同案件罪名标签的文本数据划分为一类。从另一个具有相同标签的文本中选择一个句子,再随机地***到原文本数据中,可得到与原文本数据具有相同标签的规模相同的扩增数据集D 3 ={d 31 ,d 32 ,…,d 3t }。

数据扩增是增加数据集规模非常有效的方法。通过上述三种数据扩增方法,可以获得三个与原始数据集规模相同的新数据集,将其混合得到扩增数据集D=D 1 D 2 D 3

进一步,S1测试数据扩增的具体步骤如下:

步骤S1-1:起始状态;

步骤S1-2:输入裁判文书文本数据集D 0 ={d 1 ,d 2 ,…,d t },其中,d t 表示第t个案例数据;

步骤S1-3:以“案件罪名(Accusation)”对测试数据分类,按照标签抽取案情事实(Fact)和刑罚结果(Penalty);

步骤S1-4:文本预处理,统计刑罚结果(Penalty)并分类:死刑(Death_penalty)、***(Life_imprisonment)和***(Imprisonment);

步骤S1-5:随机地置乱原文本中句子的顺序,得到与原文本数据具有相同标签的规模相同的扩增数据集D 1 ={d 11 ,d 12 ,…,d 1t };

步骤S1-6:随机地删除原文本中的一个句子,得到与原文本数据具有相同标签的规模相同的扩增数据集D 2 ={d 21 ,d 22 ,…,d 2t };

步骤S1-7:从另一个具有相同标签的文本中选择一个句子,再随机地***到原文本数据中,得到与原文本数据具有相同标签的规模相同的扩增数据集D 3 ={d 31 ,d 32 ,…,d 3t };

步骤S1-8:输出扩增数据集D=D 1 D 2 D 3

步骤S1-9:结束状态。

图3为测试数据优化的流程图,结合图3说明S2的具体实施方法如下。

(1)以结构化文本类扩增数据集D中案例数据对应的序号作为输入数据,对所有数据进行全排列,随机选择n个排列序列构建初始种群,个体采用十进制编码方式,基本基因位代表相应的测试案例序列号。其中,初始种群为x={x 1 ,x 2 ,…,x i ,…,x n },n为种群规模,x的第i个个体为x i = {x i,1 ,x i,2 ,…,x i,j ,…,x i,m },x i,j 代表x i 的第j个测试案例,mx i 包含的测试案例的数量。

(2)将上述种群数据注入到刑罚预测模型,获得测试数据的精确率、召回率和F1值,计算公式如下:

精确率:在被模型预测为正确的样本中,实际是正确样本的概率,表达式为

(1)

召回率:在实际为正确的样本中,被模型预测为正确样本的概率,表达式为

Figure RE-772850DEST_PATH_IMAGE002

(2)

F1值:综合评价精确率和召回率,让两者同时达到最高,取得的平衡点,表达式为

Figure RE-818166DEST_PATH_IMAGE003

(3)

微观层面上看,

Figure RE-72430DEST_PATH_IMAGE004

,指模型正确地预测了x i 的真样本的个数;

Figure RE-824485DEST_PATH_IMAGE005

,指模型正确地预测了x i 的假样本的个数;

Figure RE-912527DEST_PATH_IMAGE006

,指模型错误地预测了x i 的真样本的个数。

对于“案件罪名(Accusation)”标签相同的案件,统计每类案件中死刑(Death_penalty)、***(Life_imprisonment)和***(Imprisonment)三类刑罚数据在个体和种群中出现的频率,综合评价其所在个体的重要程度Important(x i ),计算公式如下:

(4)

其中

Figure RE-920071DEST_PATH_IMAGE008

(5)

上式中,m表示x i 包含的测试数据的总数,当k=1,2,3时,分别表示死刑、***和***三类特征数据在x i 中出现的次数,分别表示死刑、***和***三类特征数据在x i 中的分布情况。

(3)以测试数据的精确率、召回率、F1值和重要度为优化目标,利用多目标遗传算法的选择、交叉和变异操作搜索高质量的测试数据,获得扩增测试数据集D’={d 1 ’,d 2 ’,… d m }。其中,选择操作采用锦标赛选择策略,交叉操作采用循环交叉方法,变异操作采用序号变异方法,具体如下:

选择算子:采用锦标赛选择策略。每次从种群n中随机选择数量为n/2的个体,然后采用非支配排序算法求得帕累托最优解,从中选择最优的个体进入子代种群。重复上述操作,直到新的种群规模达到n为止;

交叉算子:采用循环交叉方法。第一步,在父代1上随机选择一个基因,然后找到父代2相应位置上的基因编号,再回到父代1找到同编号的基因位置,重复先前工作,直至形成一个环,环中的所有基因的位置即为最后选中的位置;第二步,用父代1选中的基因生成子代,并保证位置对应;第三步,将父代2中剩余的基因放入子代;

变异算子:采用序号变异方法,随机选择父代个体的一个基因位,将该点的测试案例删除,然后随机***一个与当前个体中已有基因不重复的测试案例,形成一个新的子代个体。

(4)将本设计获得的扩增测试数据集注入到刑罚预测模型进行测试,计算模型的准确率,以此来检验本设计方法获得的扩增测试数据的泛化能力。其中,准确率(Accuracy)是评价深度学习模型性能的一般指标,指的是对于给定的测试数据集,模型正确分类的样本数和总样本数之比,表达式为

(6)

微观层面上看,,指模型正确地预测了x i 的真样本的个数;

Figure RE-347773DEST_PATH_IMAGE012

,指模型正确地预测了x i 的假样本的个数;

Figure RE-715300DEST_PATH_IMAGE006

,指模型错误地预测了x i 的真样本的个数;,指模型错误地预测了的假样本的个数。

进一步,S2测试数据优化的具体步骤如下:

步骤S2-1:起始状态;

步骤S2-2:输入扩增数据集D=D 1 D 2

Figure RE-688569DEST_PATH_IMAGE015

步骤S2-3:随机选择测试数据序列,构建遗传算法的初始种群x={x 1 ,x 2 ,…,x i ,…,x n },n为种群规模,x的第i个个体为x i = {x i,1 ,x i,2 ,…,x i,j ,…,x i,m },x i,j 代表x i 的第j个测试案例,mx i 包含的测试案例的数量;

步骤S2-4:将测试数据注入刑罚预测模型,依据统计数据计算精确率、召回率和F1值;

步骤S2-5:对于“案件罪名(Accusation)”标签相同的案件,统计每类案件中死刑(Death_penalty)、***(Life_imprisonment)和***(Imprisonment)三类刑罚数据在个体和种群中出现的频率;

步骤S2-6:依据重要度公式,综合评价个体的重要程度Important(x i );

步骤S2-7:以测试数据的精确率、召回率、F1值和重要度为优化目标,利用多目标遗传算法的选择、交叉和变异操作搜索高质量的测试数据,获得扩增测试数据集D’={d 1 ’,d 2 ’,… d m };

步骤S2-8:输出刑罚预测模型的扩增测试数据集扩增测试数据集D’

步骤S2-9:将扩增测试数据集D’注入刑罚预测模型,计算模型的准确率;

步骤S2-10:结束状态。

综上所述,本发明有效解决了基于深度学习的刑罚预测软件在实际测试数据缺乏的情况下,软件质量难以得到保障的问题,最终帮助软件测试人员获得泛化能力较强的扩增测试数据,同时保障智能软件测试的质量。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种语音输入标点符号快速切换方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!