代码补全方法、装置、设备及介质与流程

文档序号:36094646发布日期:2023-11-18 14:28阅读:88来源:国知局
代码补全方法与流程

本申请涉及人工智能领域,尤其涉及一种代码补全方法、装置、设备及介质。


背景技术:

1、随着科技的发展,用户在编写代码是可使用集成开发环境(integrateddevelopment environment,简称:ide)进行编写代码,ide中的代码补全功能能够帮助用户提高编写效率。代码补全指的是能够根据用户输入的字符,给出建议代码列表,建议代码列表中可以是建议使用的命令、变量、函数名等。

2、现有技术中,代码补全方法通常是使用训练数据对默认配置参数的初始神经网络模型进行训练,得到训练好的目标神经网络模型。将获取到的字符输入至目标神经网络模型中,即可得到建议代码列表。

3、然而,因为初始神经网络模型的配置参数采用默认配置参数,导致配置参数与代码补全的复杂度不匹配,进而导致代码补全的效率和准确性较低。


技术实现思路

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、本申请提供的代码补全方法、装置、设备及介质,通过监测到用户停止字符输入的时间达到预设时长时,获取光标前预设数量个字符;进而对其进行编码,得到特征编码。再将特征编码输入至目标长短期记忆模型中,得到建议代码列表。其中,目标长短期记忆模型是预先训练的用于根据特征编码确定建议代码列表的计算模型,且目标长短期记忆模型的配置参数为根据群体智能优化算法确定的参数。本方案通过配置参数为使用群体智能优化算法确定的参数的长短期记忆模型,进行代码补全,可有效提高配置参数与代码补全的复杂度的匹配度,进而提高了代码补全的效率和准确性。



技术特征:

1.一种代码补全方法,其特征在于,包括,

2.根据权利要求1所述的方法,其特征在于,所述在监测到用户停止字符输入的时间达到预设时长时,获取光标前预设数量个字符之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述目标配置参数包括隐藏层数量、时间窗口值和训练次数。

4.根据权利要求2所述的方法,其特征在于,所述群体智能优化算法为麻雀搜索算法。

5.根据权利要求2所述的方法,其特征在于,所述使用所述特征编码集、所述特征编码集中每个训练特征编码对应的实际值,对配置参数为所述目标配置参数的初始长短期记忆模型进行训练,得到所述目标长短期记忆模型,包括:

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

7.一种代码补全装置,其特征在于,包括:

8.一种电子设备,其特征在于,包括:

9.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的代码补全方法。

10.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至6任一项所述的代码补全方法。


技术总结
本申请提供一种代码补全方法、装置、设备及介质,涉及人工智能领域。在该方法中,通过监测到用户停止字符输入的时间达到预设时长时,获取光标前预设数量个字符;进而对其进行编码,得到特征编码。再将特征编码输入至目标长短期记忆模型中,得到建议代码列表。其中,目标长短期记忆模型预先训练的用于根据特征编码确定建议代码列表的计算模型,且目标长短期记忆模型的配置参数为根据群体智能优化算法确定的参数。本方案通过配置参数为使用群体智能优化算法确定的参数的长短期记忆模型,进行代码补全,可有效提高配置参数与代码补全的复杂度的匹配度,进而提高了代码补全的效率和准确性。

技术研发人员:黄丹,罗宗凯,张传杨,滕潇
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1