自适应用户行为的人工智能代码补全方法、设备及介质与流程
- 国知局
- 2024-11-21 11:36:15
本申请涉及计算机领域,具体涉及一种自适应用户行为的人工智能代码补全方法、设备及介质。
背景技术:
1、在软件开发领域中,代码补全工具的重要性与日俱增。随着编程任务的复杂化和需求的多样化,程序员们越来越依赖于代码补全工具来提高生产效率和代码质量。
2、然而,传统的代码补全工具往往缺乏对用户个性化习惯和行为模式的深入理解,其通常基于静态的语法和语义分析,虽然可以在一定程度上提供帮助,但却难以充分考虑到不同用户之间的编码风格和偏好差异。这种泛化性补全方法导致了补全建议的局限性,有时甚至会造成与开发者本身编码习惯相悖的推荐。
技术实现思路
1、为了解决上述问题,本申请提出了一种自适应用户行为的人工智能代码补全方法,包括:
2、基于多个行为维度,对用户在编码过程中的用户行为习惯进行跟踪记录;
3、基于机器学习算法或深度学习算法,通过所述用户行为习惯构建用户习惯模型,以提取所述用户行为习惯对应的用户行为特征;
4、基于所述用户行为特征,通过gan网络生成针对所述用户的个性化代码补全建议;
5、基于隐马尔可夫模型进行用户行为习惯预测,并根据预测结果选取合适的时机为用户提供所述代码补全建议;
6、基于所述用户对所述代码补全建议的反馈,对所述用户习惯模型进行调整。
7、在一个示例中,基于多个行为维度,对用户在编码过程中的用户行为进行跟踪记录,具体包括:
8、根据用户在代码编辑器中编写过程记录,获取用户操作习惯、用户活跃时间以及编程环境习惯;其中,所述用户操作习惯包括光标移动、代码删除、代码插入;所述编程环境习惯包括编程语言、编辑器类型、操作系统;
9、根据用户的已编写代码,获取代码编写习惯;其中,所述代码编写习惯包括代码风格、常用函数、变量命名习惯;
10、根据用户的已生成项目,获取项目结构习惯;其中,所述项目结构习惯包括文件组织方式和模块划分。
11、在一个示例中,基于机器学习算法或深度学习算法,通过所述用户行为习惯构建用户习惯模型,具体包括:
12、基于聚类算法,对所述用户行为习惯进行聚类分析;
13、将聚类结果中的每个类簇作为一个项集,基于apriori算法确定各项集的用户行为习惯之间的关联关系;
14、基于机器学习算法或深度学习算法,将所述用户行为习惯作为训练样本,将所述关联关系作为标签,训练得到用户习惯模型;其中,所述用户习惯模型的输入为用户当前的用户行为习惯,输出为所述用户行为习惯对应的用户行为特征。
15、在一个示例中,基于隐马尔可夫模型进行用户行为习惯预测,并根据预测结果选取合适的时机为用户提供所述代码补全建议,具体包括:
16、构建隐马尔可夫模型,并进行参数定义;其中,所述参数定义包括状态定义、观测定义、状态转移概率、观测概率、初始状态概率;所述状态定义包括编写函数、调试代码、查找文档,所述观测定义包括输入特定关键字、调用调试器、访问api文档;
17、将所述用户行为习惯作为训练样本,对所述隐马尔可夫模型进行训练,以通过训练好的隐马尔可夫模型,根据当前的用户行为习惯对应的当前序列,输出预测的状态序列;
18、对所述预测的状态序列进行解码,得到预测的用户行为习惯,并根据预测的用户行为习惯,选取合适的时机为用户提供所述代码补全建议。
19、在一个示例中,基于所述用户习惯模型,通过gan网络生成针对所述用户的个性化代码补全建议,具体包括:
20、确定所述gan网络中包含的生成器和判别器;
21、将所述用户习惯模型输出的用户行为特征,作为所述生成器的输入,通过所述生成器生成代码补全建议;
22、通过所述判别器对所述代码补全建议进行评估。
23、在一个示例中,所述gan网络的训练过程包括:
24、获取用户的已编写代码,所述已编写代码包括完整代码和部分代码;
25、针对所述生成器,将所述用户习惯模型输出的用户行为特征,以及所述已编写代码作为输入,使用对抗损失和内容损失作为损失函数,训练得到所述生成器;
26、针对所述判别器,将所述生成器输出的代码补全建议以及所述已编写代码作为输入,使用二元交叉熵损失函数作为损失函数,训练得到所述判别器;
27、将所述生成器和所述判别器进行交替训练,从而实现联合训练,得到所述gan网络。
28、在一个示例中,基于所述用户对所述代码补全建议的反馈,对所述用户习惯模型进行调整,具体包括:
29、基于多个采集维度,采集用户对所述代码补全建议的接受度;其中,所述采集维度包括编辑历史、社区反馈;采集方式包括直接采集和隐式采集;
30、基于所述接受度对所述用户习惯模型进行参数优化,并当所述接受度对应的数据量高于预设阈值时,对所述用户习惯模型进行增量更新。
31、在一个示例中,所述方法还包括:
32、生成用户界面,并在所述用户界面中添加多个快捷键,所述快捷键允许用户进行自定义绑定,绑定内容包括导入编写过程记录、导入已编写代码、导入已生成项目、获取代码补全建议、放弃代码补全建议、对代码补全建议进行编辑。
33、另一方面,本申请还提出了一种自适应用户行为的人工智能代码补全设备,包括:
34、至少一个处理器;以及,
35、与所述至少一个处理器通信连接的存储器;其中,
36、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:执行如上述任一示例所述的自适应用户行为的人工智能代码补全方法。
37、另一方面,本申请还提出了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:执行如上述任一示例所述的自适应用户行为的人工智能代码补全方法。
38、通过本申请提出自适应用户行为的人工智能代码补全方法能够带来如下
39、有益效果:
40、通过用户习惯模型,能够深入分析和学习用户的编码行为,利用gan网络生成与用户行为习惯高度一致的代码补全建议,使用隐马尔可夫模型预测用户行为模式,以提供更为精准的补全时机,根据用户的实时反馈和编辑行为,动态调整用户习惯模型,从而实现对用户的个性化代码补全方案。
技术特征:1.一种自适应用户行为的人工智能代码补全方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,基于多个行为维度,对用户在编码过程中的用户行为进行跟踪记录,具体包括:
3.根据权利要求2所述的方法,其特征在于,基于机器学习算法或深度学习算法,通过所述用户行为习惯构建用户习惯模型,具体包括:
4.根据权利要求1所述的方法,其特征在于,基于隐马尔可夫模型进行用户行为习惯预测,并根据预测结果选取合适的时机为用户提供所述代码补全建议,具体包括:
5.根据权利要求1所述的方法,其特征在于,基于所述用户习惯模型,通过gan网络生成针对所述用户的个性化代码补全建议,具体包括:
6.根据权利要求5所述的方法,其特征在于,所述gan网络的训练过程包括:
7.根据权利要求1所述的方法,其特征在于,基于所述用户对所述代码补全建议的反馈,对所述用户习惯模型进行调整,具体包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.一种自适应用户行为的人工智能代码补全设备,其特征在于,包括:
10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:执行如权利要求1~8中任一项权利要求所述的自适应用户行为的人工智能代码补全方法。
技术总结本申请公开了一种自适应用户行为的人工智能代码补全方法、设备及介质,方法包括:基于多个行为维度,对用户在编码过程中的用户行为习惯进行跟踪记录;基于机器学习算法或深度学习算法,通过用户行为习惯构建用户习惯模型,以提取用户行为习惯对应的用户行为特征;基于用户行为特征,通过GAN网络生成针对用户的个性化代码补全建议;基于隐马尔可夫模型进行用户行为习惯预测,并根据预测结果选取合适的时机为用户提供代码补全建议;基于用户对代码补全建议的反馈,对用户习惯模型进行调整。能够深入分析和学习用户的编码行为,生成与用户行为习惯高度一致的代码补全建议,提供更为精准的补全时机,从而实现对用户的个性化代码补全方案。技术研发人员:高锋,景皓鑫,陈猛受保护的技术使用者:浪潮智慧科技有限公司技术研发日:技术公布日:2024/11/18本文地址:https://www.jishuxx.com/zhuanli/20241120/331955.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。