一种训练样本构建方法、装置、电子设备及介质制造方法及图纸

技术编号:38369353 阅读:8 留言:0更新日期:2023-08-05 17:34
本公开提供了一种训练样本构建方法、装置、电子设备及介质,涉及互联网技术领域,尤其涉及大数据、代码管理技术领域。具体实现方案为:从代码托管平台获取用户编写的代码,并获取用户针对代码提交的任务卡片,其中任务卡片包括代码的类型和描述信息。之后根据代码的类型和代码,构建训练样本;并基于代码的描述信息,设置训练样本的训练标签。从而实现了提高模型训练效率。模型训练效率。模型训练效率。

【技术实现步骤摘要】
一种训练样本构建方法、装置、电子设备及介质


[0001]本公开涉及互联网
,尤其涉及大数据、代码管理


技术介绍

[0002]在代码智能场景中,代码可以作为训练样本,以训练人工智能(Artificial Intelligence,AI)模型,使AI模型能够支持代码解释或代码修复等功能。

技术实现思路

[0003]本公开提供了一种训练样本构建方法、装置、电子设备及介质。
[0004]本公开实施例的第一方面,提供了一种训练样本构建方法,包括:
[0005]从代码托管平台获取用户编写的代码;
[0006]获取用户针对所述代码提交的任务卡片,所述任务卡片包括所述代码的类型和描述信息;
[0007]根据所述代码的类型和所述代码,构建训练样本;
[0008]基于所述代码的描述信息,设置所述训练样本的训练标签。
[0009]本公开实施例的第二方面,提供了一种训练样本构建装置,包括:
[0010]获取模块,用于从代码托管平台获取用户编写的代码;
[0011]所述获取模块,还用于获取用户针对所述代码提交的任务卡片,所述任务卡片包括所述代码的类型和描述信息;
[0012]构建模块,用于根据所述获取模块获取的所述代码的类型和所述代码,构建训练样本;
[0013]设置模块,用于基于所述获取模块获取的所述代码的描述信息,设置所述训练样本的训练标签。
[0014]本公开实施例的第三方面,提供了一种电子设备,包括:
[0015]至少一个处理器;以及
[0016]与所述至少一个处理器通信连接的存储器;其中,
[0017]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面中任一项所述的方法。
[0018]本公开实施例的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据第一方面中任一项所述的方法。
[0019]本公开实施例的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面中任一项所述的方法。
[0020]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0021]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0022]图1是本公开实施例提供的一种训练样本构建方法的流程图;
[0023]图2是本公开实施例提供的一种任务卡片的示例性示意图;
[0024]图3是本公开实施例提供的一种显示界面的示例性示意图;
[0025]图4是本公开实施例提供的一种设置训练标签的方法的流程图;
[0026]图5是本公开实施例提供的另一种设置训练标签的方法的流程图;
[0027]图6是本公开实施例提供的另一种任务卡片的示例性示意图;
[0028]图7是本公开实施例提供的另一种显示界面的示例性示意图;
[0029]图8是本公开实施例提供的一种训练样本构建过程的示例性示意图;
[0030]图9是本公开实施例提供的一种训练样本构建装置的结构示意图;
[0031]图10是用来实现本公开实施例的训练样本构建方法的电子设备的框图。
具体实施方式
[0032]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0033]目前,训练AI模型时使用的训练样本,都是从公开的代码集中获取的,而公开的代码集中的代码一般没有标签,使得获取训练样本之后,还要额外地对训练样本进行人工标注,需要耗费大量的人力和时间,使得模型训练的效率较低。
[0034]为了提高对模型的训练效率,本公开实施例提供了一种训练样本构建方法,该方法应用于电子设备,例如电子设备可以是服务器、台式计算机或者虚拟机等具备数据处理能力的设备。如图1所示,本公开实施例的训练样本构建方法,包括如下步骤:
[0035]S101、从代码托管平台获取用户编写的代码。
[0036]其中,用户可以为软件工程师,以下简称为工程师,工程师编写的代码可以用公司内部的业务代码。工程师编写的代码在上线使用前,均需要提交到代码托管平台。
[0037]S102、获取用户针对代码提交的任务卡片。
[0038]其中,任务卡片包括代码的类型和描述信息。
[0039]代码的类型可以是任务(Task)或者漏洞(Bug)。其中,task也可以称为需求任务类型,需求任务类型的代码为针对需求任务编写的代码,例如需求任务为计算数据加权和,或者查询数据表等。Bug也可以称为消除错误类型,bug类型的代码用于替换历史提交的问题代码,其中问题代码中存在错误。
[0040]描述信息用于介绍代码的含义。例如描述信息为:“一种计算数据加权和的功能”,或者“一种查询数据表的功能”等。
[0041]S103、根据代码的类型和代码,构建训练样本。
[0042]本公开实施例可以直接将用户编写的代码作为训练样本,或者还可以通过其他方式构建,具体构建方式可参考后续描述。
[0043]S104、基于代码的描述信息,设置训练样本的训练标签。
[0044]本公开实施例可以直接将描述信息作为训练标签,或者还可以通过其他方式设置,具体设置方式可参考后续描述。
[0045]通过上述方法,本公开实施例可以在利用用户编写的代码及其类型构建训练样本的同时,利用代码的描述信息,自动生成训练样本的训练标签。由于代码的描述信息能够表示代码的含义,因此利用描述信息构建训练样本的训练标签,能够提高设置训练标签的准确性。而且工程师编写的代码是公司的内部代码,而非公开的外部代码,因此能够从公司内部获得代码的类型和描述信息,而无需在获取训练样本之后,再额外地对训练样本进行人工标注。因此本公开实施例减少了获取训练样本和训练标签需要耗费的人力和时间,提高获取训练样本和训练标签的效率、准确性和时效性,进而能够提高模型训练的效率。
[0046]以下对本公开实施例提供的训练样本构建方法进行具体说明:
[0047]在本公开的一些实施例中,上述S102获取用户针对代码提交的任务卡片之前,电子设备还可以从代码托管平台获取用户针对编写的代码提交的代码提交信息(commit message)。其中,代码提交信息包括用户针对代码提交的任务卡片的标识。
[0048]在本公开实施例中,电子设备可以每隔一段时间,获取上一段时间内用户向代码托管平台提交的代码和提交信息。例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种训练样本构建方法,包括:从代码托管平台获取用户编写的代码;获取用户针对所述代码提交的任务卡片,所述任务卡片包括所述代码的类型和描述信息;根据所述代码的类型和所述代码,构建训练样本;基于所述代码的描述信息,设置所述训练样本的训练标签。2.根据权利要求1所述的方法,其中,所述根据所述代码的类型和所述代码,构建训练样本,包括:若所述代码的类型为需求任务类型,则将所述代码拆分为多个函数,所述需求任务类型的代码为针对需求任务编写的代码;将每个函数分别作为一个训练样本。3.根据权利要求2所述的方法,其中,所述描述信息包括用于描述代码含义的标题和内容;所述基于所述代码的描述信息,设置所述训练样本的训练标签,包括:检测所述内容是否符合预设规范;若符合,则将所述内容作为所述训练标签;若不符合,则将所述标题作为所述训练标签。4.根据权利要求2所述的方法,其中,所述描述信息包括用于描述代码含义的标题和内容;所述基于所述代码的描述信息,设置所述训练样本的训练标签,包括:检测所述内容是否符合预设规范,并识别所述训练样本中是否包括函数解释;若所述内容符合所述预设规范,且所述训练样本中包括函数解释,则将所述内容和所述函数解释作为所述训练标签;若所述内容符合所述预设规范,且所述训练样本中不包括函数解释,则将所述内容作为所述训练标签;若所述内容不符合所述预设规范,且所述训练样本中包括函数解释,则将所述标题和所述函数解释作为所述训练标签;若所述内容不符合所述预设规范,且所述训练样本中不包括函数解释,则将所述标题作为所述训练标签。5.根据权利要求1所述的方法,其中,所述根据所述代码的类型和所述代码,构建训练样本,包括:若用户编写的代码的类型为消除错误类型,则获取所述用户编写的代码对应的目标问题代码;所述消除错误类型的代码用于替换自身对应的问题代码;基于所述目标问题代码构建训练样本。6.根据权利要求5所述的方法,其中,所述基于所述目标问题代码构建训练样本,包括:将所述目标问题代码作为所述训练样本;或者,确定所述目标问题代码中存在错误的问题函数,并将所述问题函数作为所述训练样本。7.根据权利要求5所述的方法,其中,所述描述信息包括用于描述代码含义的标题和内容;所述基于所述代码的描述信息,设置所述训练样本的训练标签,包括:检测所述内容是否符合预设规范;
若符合,则将所述内容作为所述训练样本的含义标签,并将用户编写的代码作为所述训练样本的修复标签;若不符合,则将所述标题作为所述训练样本的含义标签,并将用户编写的代码作为所述训练样本的修复标签。8.根据权利要求7所述的方法,所述描述信息包括用于描述代码含义的标题和内容;所述基于所述代码的描述信息,设置所述训练样本的训练标签,包括:检测所述内容是否符合预设规范,并识别用户编写的代码中是否包括函数解释;若所述内容符合所述预设规范,且用户编写的代码中包括函数解释,则将所述内容和所述函数解释作为所述训练样本的含义标签,并将用户编写的代码作为所述训练样本的修复标签;若所述内容符合所述预设规范,且用户编写的代码中不包括函数解释,则将所述内容作为所述训练样本的含义标签,并将用户编写的代码作为所述训练样本的修复标签;若所述内容不符合所述预设规范,且用户编写的代码中包括函数解释,则将所述标题和所述函数解释作为所述训练样本的含义标签,并将用户编写的代码作为所述训练样本的修复标签;若所述内容不符合所述预设规范,且用户编写的代码中不包括函数解释,则将所述标题作为所述训练样本的含义标签,并将用户编写的代码作为所述训练样本的修复标签。9.根据权利要求1

8任一项所述的方法,在所述获取用户针对所述代码提交的任务卡片之前,所述方法还包括:从所述代码托管平台获取用户针对编写的代码提交的代码提交信息,所述代码提交信息包括所述任务卡片的标识;所述获取用户针对所述代码提交的任务卡片,包括:从需求管理平台的各任务卡片中,查找所述标识对应的任务卡片。10.一种训练样本构建装置,包括:获取模块,用于从代码托管平台获取用户编写的代码;所述获取模块,还用于获取用户针对所述代码提交的任务卡片,所述任务卡片包括所述代码的类型和描述信息;构建模块,用于根据所述获取模块获取的所述代码的类型和所述代码,...

【专利技术属性】
技术研发人员:赵悦浩
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1