基于多指标确定代码生成质量及效率评估值的方法及装置制造方法及图纸

技术编号:32359344 阅读:40 留言:0更新日期:2022-02-20 03:24
本发明专利技术公开了一种基于多指标确定代码生成质量及效率评估值的方法及装置。该发明专利技术包括:获取目标代码;获取交互数据集;确定多维评估指标并依据多维评估指标提取交互数据集中每条数据对应的多个特性值;将交互数据集中的每条数据对应的多个特性值确定为特性数据集;依据目标代码以及特性数据集,构建多维语法树;通过卷积神经网络对多维语法树进行特征学习以获得特征参数;将特征参数输入值评估参数模型,并控制评估参数模型输出评估值。通过本发明专利技术,解决了相关技术中的评估方法是对静态的代码自动生成结果进行评估,忽略了代码的变化情况对评估结果的影响,导致评估结果可信度低的技术问题。的技术问题。的技术问题。

【技术实现步骤摘要】
基于多指标确定代码生成质量及效率评估值的方法及装置


[0001]本专利技术涉及自动生成代码领域,具体而言,涉及一种基于多指标确定代码生成质量及效率评估值的方法及装置。

技术介绍

[0002]相关技术中,Hindle A等人将传统的N

Gram模型应用到代码自动生成的研究中,使用语言模型N

Gram进行代码预测,实验通过MRR评估代码自动生成的质量。Sun ZY等人使用一种基于语法的结构卷积神经网络GBCNN(A Grammar

Base提高代码自动生成质量和效率评估的有效性Structural Convolutional Neural Networks),通过预测编程语言的语法规则来生成程序,为提高生成效果,卷积过程中充分掌握抽象语法树AST中结点的层次结构,实验使用Precision与BELU(Bilingual Evaluation Un提高代码自动生成质量和效率评估的有效性erstu提高代码自动生成质量和效率评估的有效性y)指标对模型生成代码准确性进行评估。Raychev V等人本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于多指标确定代码生成质量及效率评估值的方法,其特征在于,包括:获取目标代码,所述目标代码包括目标对象输入的第一代码以及代码生成工具推荐并由所述目标对象确定的第二代码;获取交互数据集,其中,所述交互数据集中包括所述目标对象与所述代码生成工具之间的行为交互数据;确定多维评估指标并依据所述多维评估指标提取所述交互数据集中每条数据对应的多个特性值,其中,每个所述特性值与每个维度的所述评估指标一一对应,其中,所述多维评估指标用于评估生成所述第二代码的质量以及效率;将所述交互数据集中的所述每条数据对应的多个所述特性值确定为特性数据集;依据所述目标代码以及所述特性数据集,构建多维语法树;通过卷积神经网络对所述多维语法树进行特征学习以获得特征参数;将所述特征参数输入值评估参数模型,并控制所述评估参数模型输出评估值,其中,所述评估值包括第一评估值及第二评估值,所述第一评估值用于评估所述生成所述第二代码的质量,所述第二评估值用于评估生成所述第二代码的效率。2.根据权利要求1所述的方法,其特征在于,获取交互数据集包括:获取目标对象在预设时间段内的第一行为数据,所述第一行为数据至少包括所述目标对象在所述预设时间段内的按键次数、选择生成代码的时间、输入代码的长度、删除的代码、确定的推荐代码;获取所述代码生成工具在所述预设时间段内的第二行为数据,所述第二行为数据至少包括所述代码生成工具弹出推荐代码时间、弹出推荐代码的个数、生成代码包含的内容、所述生成代码的索引位置;将所述第一行为数据以及所述第二行为数据合并成所述交互数据集。3.根据权利要求1所述的方法,其特征在于,确定多维评估指标并依据所述多维评估指标提取所述交互数据集中每条数据对应的多个特性值包括:初始化所述多维评估指标对应的多维度信息列表,所述多维度信息列表中包括多个用于表征每个维度的评估指标的信息列表;遍历所述交互数据集中的每条数据,并提取所述每条数据中每个维度评估指标对应的所述特性值以获得多个所述特性值;将所述每条数据对应的多个所述特性值存储至与所述特性值相对应的所述信息列表中。4.根据权利要求3所述的方法,其特征在于,遍历所述交互数据集中的每条数据,并提取所述每条数据中每个维度评估指标对应的所述特性值以获得多个所述特性值包括:分别提取目标数据中的多部分内容,其中,所述目标数据为所述交互数据集中的任意一条数据;依据目标评估指标,确定每部分内容对应的符号标记并获得多个符号标记,所述目标评估指标为多维度评估指标中的任意一个维度对应的指标;将所述多个符号标记合并为所述目标评估指标对应的所述特性值。5.根据权利要求3所述的方法,其特征在于,将所述交互数据集中的所述每条数据对应的多个所述特性值确定为特性数据集包括:
读取所述多维度信息列表中存储的多个所述特性值;将多个所述特性值合并成所述特性数据集。6.根据权利要求1所述的方法,其特征在于,在依据所述目标代码以及所述特性数据集,构建多维语法树之前,所述方法包括:判断所述目标代码是否符合预设语法规则;在所述目标代码符合所述预设语法规则的情况下,将所述目标代码抽象成单维语法树。7.根据权利要求6所述的方法,其特征在于,依据所述目标代码以及所述特性数据集,构建多维语法树包括:读取所述特性数据集以及预设编码值表;依据预设编码值表,对所述特性数据集进行编码获得多个编码值;依据多个所述编码值以及第一预设向量值表格,读取多个所述编码值对应的多个特性标记向量,其中,通过大量特性数据集中的数据获得编码值,并将所述编码值输入至CBOW神经网络模型,并通过所述CBOW神经网络模型输出所述编码值对应的向量值,并依据所述向量值形成所述第一预设向量值表格;获取所述单维语法树上的多个符号结点,并依据多个所述符号结点以及第二预设向量值表格读取所述符号结点对应的多个符号结点向量值,其中,通过大量的符号结点值对符号值进行编码得到编码值,并将所述编码值输入至所述CBOW神经网络模型以输出所述编码值对应的向量值,依据所述向量值形成所述第二预设向量值表格,每个所述符号值对应一个向量值;将多个所述特性标记向量以及多个所述符号结点向量值进行结合以构建成所述多维语法树。8.根据权利要求1所述的方法,其特征在于,通过卷积神经网络对所述多维语法树进行特征学习以...

【专利技术属性】
技术研发人员:姜瑛姚文君杨扬汤守国李凌宇李润鑫
申请(专利权)人:昆明理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1