System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及大语言模型,具体涉及一种代码编写纠错方法、装置。
技术介绍
1、在软件开发过程中,编程人员需要编写大量的代码来实现特定的功能。然而,由于编辑速度快等一些原因,编程人员在代码编写过程中可能会出现键入错误,例如:在输入代码时不小心按错键。这些错误不仅会打断编程人员的工作思路,降低开发效率,还可能引入潜在的bug,影响程序的稳定性和可维护性。
2、而现有技术中,并无在代码编写的过程中检测是否存在键入错误的有效手段。
技术实现思路
1、有鉴于此,本公开提出了一种代码编写纠错方法、装置,以解决现有技术中存在的由于键入错误导致降低开发效率、影响程序稳定性以及可维护性等问题。
2、本公开第一方面实施例提出了一种代码编写纠错方法,所述方法包括:
3、响应于代码输入操作,将代码补全模型输出的补全代码与实时输入的目标代码进行比较;
4、如果所述补全代码与所述目标代码不同,检测所述补全代码中与所述目标代码中不匹配的字符对应的键值是否满足预设位置条件,所述不匹配的字符是指在所述补全代码中的字符位置与所述第二字符在所述目标代码中的字符位置相同,但内容不同的字符;
5、若所述不匹配的字符对应的键值在键盘上的位置满足所述预设位置条件,则将所述目标代码作为待纠错代码;
6、利用所述第一字符对所述待纠错代码进行纠错处理,得到纠错后的目标代码。
7、本公开实施例通过将代码补全模型输出的补全代码与实时输入的目标代码进行比较,以
8、在本公开实施例中,所述检测所述补全代码中与所述目标代码中不匹配的字符对应的键值是否满足预设位置条件,包括:
9、从所述补全代码中确定出第一字符,以及从所述目标代码中确定出第二字符,所述第一字符在所述补全代码中的字符位置与所述第二字符在所述目标代码中的字符位置相同,但内容不同;
10、确定所述第一字符对应的键值在键盘上的第一位置与所述第二字符对应的键值在键盘上的第二位置是否满足所述预设位置条件。
11、在本公开实施例中,所述预设位置条件包括:所述第一位置与所述第二位置相同或者相邻。
12、本公开实施例通过对预设位置条件进行限定,即第一位置与所述第二位置相同或者相邻,能够准确判断出代码编写过程中所出现的错误是否为键入错误,提高了键入错误的判断准确率。
13、在本公开实施例中,利用所述第一字符对所述待纠错代码进行纠错处理,得到纠错后的目标代码,包括:
14、使用所述第一字符替换待纠错代码中的第二字符,生成所述纠错后的目标代码。
15、在本公开实施例中,所述方法还包括:
16、当得到所述纠错后的目标代码后,向用户端发送纠错撤销提示信息;
17、如果接收到所述用户端发来的纠错撤销指令,则使用所述第二字符替换所述纠错后的目标代码中的第一字符,得到所述目标代码。
18、本公开实施例通过在得到纠错后的目标代码后,向用户端发送纠错撤销提示信息,以及在接收到用户端发来的纠错撤销指令后,使用第二字符替换纠错后的目标代码中的第一字符,得到目标代码,便于用户了解当前发生的变化,提高了用户体验;允许用户撤销之前的纠错操作,恢复到纠错前的状态,这为用户提供了灵活性,允许他们重新考虑之前的决策。
19、在本公开实施例中,所述方法还包括:
20、获取多个源代码;
21、针对所述多个源代码中的任意一个源代码,对所述源代码进行分词处理,生成与所述源代码对应的字符序列,得到与所述多个源代码一一对应的多个字符序列;
22、根据所述多个字符序列,对初始模型进行训练,得到所述代码补全模型。
23、在本公开实施例中,根据所述多个字符序列,对初始模型进行训练,得到所述代码补全模型,包括:
24、针对所述多个字符序列中任意一个字符序列,随机将所述字符序列中的部分字符序列进行删除,得到目标字符序列;
25、确定被删除字符序列在所述目标字符序列的目标位置;
26、根据所述目标位置,从所述目标字符序列中确定出第一字符序列和第二字符序列;所述第一字符序列表示所述目标字符序列的目标位置前序部分的字符序列,所述第二字符序列表示所述目标字符序列的目标位置后序部分的字符序列;
27、训练所述初始模型根据所述第一字符序列和所述第二字符序列,预测所述被删除字符序列。
28、本公开实施例通过目标位置,从目标字符序列中确定出第一字符序列和第二字符序列,并训练初始模型根据第一字符序列和第二字符序列,预测被删除字符序列,能够使模型考虑代码的前序和后续的上下文,以更好地理解代码的逻辑流程和结构,从而优化模型性能,达到提高补全结构的预测准确性的目的。
29、在本公开实施例中,在训练所述初始模型根据所述第一字符序列和所述第二字符序列,预测所述被删除字符序列之后,所述方法还包括:
30、将任意一个目标字符序列所对应的第一字符序列和第二字符序列输入至所述初始模型中,得到所述初始模型输出的补全字符序列;
31、如果所述补全字符序列与所述任意一个目标字符序列中的被删除字符序列相同,则将所述初始模型确定为所述代码补全模型。
32、在本公开实施例中,所述方法还包括:
33、如果所述补全字符序列与所述任意一个目标字符序列中的被删除字符序列不同,则根据与所述多个源代码一一对应的多个字符序列,对所述初始模型进行模型优化。
34、本公开第二方面的实施例提供了一种代码编写纠错装置,包括:
35、代码比较模块,用于响应于代码输入操作,将代码补全模型输出的补全代码与实时输入的目标代码进行比较;
36、条件判断模块,用于如果所述补全代码与所述目标代码不同,检测所述补全代码中与所述目标代码中不匹配的字符对应的键值是否满足预设位置条件,所述不匹配的字符是指在所述补全代码中的字符位置与所述第二字符在所述目标代码中的字符位置相同,但内容不同的字符;
37、待纠错代码确定模块,用于若所述不匹配的字符对应的键值在键盘上的位置满足所述预设位置条件,则将所述目标代码作为待纠错代码;
38、代码纠错模块,用于利用所述第一字符对所述待纠错代码进行纠错处理,得到纠错后的目标代码。
39、本公开第三方面的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行上述第一方面所述的代码编写纠错方法。
40、本公开第四方面的实施例提供了本文档来自技高网...
【技术保护点】
1.一种代码编写纠错方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述检测所述补全代码中与所述目标代码中不匹配的字符对应的键值是否满足预设位置条件,包括:
3.根据权利要求2所述的方法,其特征在于,所述预设位置条件包括:所述第一位置与所述第二位置相同或者相邻。
4.根据权利要求1或2所述的方法,其特征在于,利用所述第一字符对所述待纠错代码进行纠错处理,得到纠错后的目标代码,包括:
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,根据所述多个字符序列,对初始模型进行训练,得到所述代码补全模型,包括:
8.根据权利要求7所述的方法,其特征在于,在训练所述初始模型根据所述第一字符序列和所述第二字符序列,预测所述被删除字符序列之后,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.一种代码编写纠错装
...【技术特征摘要】
1.一种代码编写纠错方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述检测所述补全代码中与所述目标代码中不匹配的字符对应的键值是否满足预设位置条件,包括:
3.根据权利要求2所述的方法,其特征在于,所述预设位置条件包括:所述第一位置与所述第二位置相同或者相邻。
4.根据权利要求1或2所述的方法,其特征在于,利用所述第一字符对所述待纠错代码进行纠错处理,得到纠错后的目标代码,包括:
5.根据权利要求1或2所述的方法,其特征在于,所述...
【专利技术属性】
技术研发人员:蒋思源,李戈,刘洋,
申请(专利权)人:北京硅心科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。