模型处理方法以及装置制造方法及图纸

技术编号:35527166 阅读:17 留言:0更新日期:2022-11-09 14:49
本说明书实施例提供模型处理方法以及装置,其中所述模型处理方法包括:获取历史处理任务相关的程序源代码,并确定所述程序源代码对应的抽象语法树,将所述程序源代码及所述抽象语法树对应的树节点信息,输入任务处理模型进行特征融合处理,获得对应的特征融合向量,通过所述任务处理模型,对所述特征融合向量中至少一个树节点对应的特征融合子向量进行遮挡,并对遮挡内容进行预测,根据预测结果及所述特征融合向量,对所述任务处理模型的模型参数进行调整。数进行调整。数进行调整。

【技术实现步骤摘要】
模型处理方法以及装置


[0001]本说明书实施例涉及计算机
,特别涉及一种模型处理方法。本说明书一个或者多个实施例同时涉及一种模型处理装置,一种计算设备,以及一种计算机可读存储介质。

技术介绍

[0002]现有信息平台的研发质量保障流程包括:编码阶段、测试阶段、回归测试阶段及上线阶段等。众所周知,研发阶段的高质量代码的交付,对整个项目周期、项目发布质量是至关重要的。
[0003]实际应用中,智能化的对程序代码的语义及语法信息进行理解,可以在日常的软件开发中起到非常重要的作用。对于在软件开发工作中,由于各种因素的影响,产生的软件缺陷是无法避免的。在测试及软件维护阶段,异常检测和修复会依赖开发人员的领域知识,需要投入大量的人力和物力来人工的对代码进行梳理和理解,因此,如何降低人力物力成本,并提高对程序代码的理解准确度,成为亟需解决的问题。

技术实现思路

[0004]有鉴于此,本说明书实施例提供了一种模型处理方法。本说明书一个或者多个实施例同时涉及一种模型处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
[0005]根据本说明书实施例的第一方面,提供了一种模型处理方法,包括:
[0006]获取历史处理任务相关的程序源代码,并确定所述程序源代码对应的抽象语法树;
[0007]将所述程序源代码及所述抽象语法树对应的树节点信息,输入任务处理模型进行特征融合处理,获得对应的特征融合向量;
[0008]通过所述任务处理模型,对所述特征融合向量中至少一个树节点对应的特征融合子向量进行遮挡,并对遮挡内容进行预测;
[0009]根据预测结果及所述特征融合向量,对所述任务处理模型的模型参数进行调整。
[0010]根据本说明书实施例的第二方面,提供了一种模型处理装置,包括:
[0011]获取模块,被配置为获取历史处理任务相关的程序源代码,并确定所述程序源代码对应的抽象语法树;
[0012]输入模块,被配置为将所述程序源代码及所述抽象语法树对应的树节点信息,输入任务处理模型进行特征融合处理,获得对应的特征融合向量;
[0013]预测模块,被配置为通过所述任务处理模型,对所述特征融合向量中至少一个树节点对应的特征融合子向量进行遮挡,并对遮挡内容进行预测;
[0014]调整模块,被配置为根据预测结果及所述特征融合向量,对所述任务处理模型的模型参数进行调整。
[0015]根据本说明书实施例的第三方面,提供了一种计算设备,包括:
[0016]存储器和处理器;
[0017]所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现所述模型处理方法的步骤。
[0018]根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述模型处理方法的步骤。
[0019]本说明书一个实施例通过获取历史处理任务相关的程序源代码,并确定所述程序源代码对应的抽象语法树,将所述程序源代码及所述抽象语法树对应的树节点信息,输入任务处理模型进行特征融合处理,获得对应的特征融合向量,通过所述任务处理模型,对所述特征融合向量中至少一个树节点对应的特征融合子向量,添加进行遮挡信息,并基于添加结果对所述特征融合子向量对遮挡内容进行预测,根据预测结果及所述特征融合子向量,对所述任务处理模型的模型参数进行调整。
[0020]本说明书实施例在调整任务处理模型的模型参数时,同时整合程序源代码的文本信息和程序源代码对应的抽象语法树的树节点信息,来生成特征融合向量,并通过对特征融合向量中的部分特征融合子向量进行遮挡的方式,实现任务处理模型的模型参数调整,有利于保证任务处理模型输出结果的准确度,即有利于提高对程序代码的理解准确度,另外,该任务处理模型可用于支持下游的代码异常检测、重复代码检测、代码自动生成等分类及回归任务,有利于降低测试及软件维护阶段所需的人力物力成本,并有利于提高异常检测、重复代码检测的检测结果及代码自动生成结果的准确度。
附图说明
[0021]图1是本说明书一个实施例提供的一种模型处理过程的示意图;
[0022]图2是本说明书一个实施例提供的一种模型处理方法的处理流程图;
[0023]图3a是本说明书一个实施例提供的一种模型处理过程的架构图;
[0024]图3b是本说明书一个实施例提供的特征向量融合过程的示意图;
[0025]图4是本说明书一个实施例提供的一种模型处理方法的处理过程流程图;
[0026]图5是本说明书一个实施例提供的一种模型处理装置的示意图;
[0027]图6是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0028]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0029]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0030]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描
述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0031]首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0032]抽象语法树(Abstract Syntax Tree):是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。之所以说语法“抽象”的,是因为这里的语法并不会表示出真实语法中出现的每个细节。比如,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现;而类似于if

condition

then这样的条件跳转语句,可以使用带有三个分支的节点来表示。
[0033]基于变换器的双向编码器(Bidirectional Encoder Representations from Transformers,BERT):是一个预训练的语言表征模型。它强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练,而是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型处理方法,包括:获取历史处理任务相关的程序源代码,并确定所述程序源代码对应的抽象语法树;将所述程序源代码及所述抽象语法树对应的树节点信息,输入任务处理模型进行特征融合处理,获得对应的特征融合向量;通过所述任务处理模型,对所述特征融合向量中至少一个树节点对应的特征融合子向量进行遮挡,并对遮挡内容进行预测;根据预测结果及所述特征融合向量,对所述任务处理模型的模型参数进行调整。2.根据权利要求1所述的模型处理方法,所述将所述程序源代码及所述抽象语法树对应的树节点信息,输入任务处理模型进行特征融合处理,包括:对所述抽象语法树进行剪枝处理,生成目标抽象语法树;将所述程序源代码及所述目标抽象语法树对应的树节点信息,输入任务处理模型进行特征融合处理。3.根据权利要求2所述的模型处理方法,所述对所述抽象语法树进行剪枝处理,包括:对所述抽象语法树中的树节点进行遍历,并根据树节点对应的节点类型信息、运算信息和/或节点位置信息确定目标树节点;在所述抽象语法树中删除所述目标树节点,以对所述抽象语法树进行剪枝处理。4.根据权利要求1所述的模型处理方法,所述任务处理模型包括特征融合层;相应地,所述将所述程序源代码及所述抽象语法树对应的树节点信息,输入任务处理模型进行特征融合处理,获得对应的特征融合向量,包括:将所述程序源代码及所述抽象语法树对应的树节点信息,输入任务处理模型的所述特征融合层进行特征融合处理,获得对应的特征融合向量。5.根据权利要求1或4所述的模型处理方法,所述将所述程序源代码及所述抽象语法树对应的树节点信息,输入任务处理模型进行特征融合处理,获得对应的特征融合向量,包括:将所述程序源代码及所述抽象语法树对应的树节点信息进行融合,并对融合结果进行编码,生成第一特征向量;对所述融合结果中的程序源代码片段和/或所述树节点信息进行信息类型标注,并根据标注结果确定所述融合结果对应的第二特征向量;对所述程序源代码片段和/或所述树节点信息进行位置信息标注,并根据标注结果确定所述融合结果对应的第三特征向量;对所述第一特征向量、所述第二特征向量及所述第三特征向量进行融合处理,生成对应的特征融合向量。6.根据权利要求5所述的模型处理方法,所述对所述程序源代码片段和/或所述树节点信息进行位置信息标注,并根据标注结果确定所述融合结果对应的第三特征向量,包括:根据所述融合结果中程序源代码片段在所述程序源代码中的位置,对所述程序源代码片段进行第一位置信息标注,以及,根据所述融合结果中树节点信息在所述抽象语法树中的位置,对所述树节点信息进行第一位置信息标注;根据第一位置信息标注结果确定所述融合结果对应的第三特征向量。7.根据权利要求5所述的模型处理方法,所述对所述程序源代码片段和/或所述树节点
信息进行位置信息标注,并根据标注结果确定所述融合结果对应的第三特征向...

【专利技术属性】
技术研发人员:张铁华刘雨泽
申请(专利权)人:支付宝实验室新加坡有限公司
类型:发明
国别省市:

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

1