一种基于树形神经网络的代码推荐方法

    公开(公告)号:CN111459491B

    公开(公告)日:2021-11-05

    申请号:CN202010185481.3

    申请日:2020-03-17

    IPC分类号: G06F8/41 G06N3/04 G06N3/08

    摘要: 本发明公开了一种基于树形神经网络的代码推荐方法,包括:对由代码块构成的数据集进行预处理,并构建训练集;对训练集中每个样本的待推荐代码行上文代码部分进行处理,将其解析成抽象语法树,提取根节点到待推荐代码行的路径信息,并调整抽象语法树和样本的注释信息;训练由transformer模型改进得到的AST‑Transformer模型,将抽象语法树、注释信息以及根节点到推荐点的路径信息作为输入,推荐代码行序列作为输出;提取用户已编写代码及其相关注释信息,预测下一行可能的代码。本发明的方法对transformer模型进行改进以适应树形结构,使用到了代码中的注释信息,更好的帮助模型学习语义信息,做出高质量的推荐。

    一种基于树形神经网络的代码推荐方法

    公开(公告)号:CN111459491A

    公开(公告)日:2020-07-28

    申请号:CN202010185481.3

    申请日:2020-03-17

    IPC分类号: G06F8/41 G06N3/04 G06N3/08

    摘要: 本发明公开了一种基于树形神经网络的代码推荐方法,包括:对由代码块构成的数据集进行预处理,并构建训练集;对训练集中每个样本的待推荐代码行上文代码部分进行处理,将其解析成抽象语法树,提取根节点到待推荐代码行的路径信息,并调整抽象语法树和样本的注释信息;训练由transformer模型改进得到的AST-Transformer模型,将抽象语法树、注释信息以及根节点到推荐点的路径信息作为输入,推荐代码行序列作为输出;提取用户已编写代码及其相关注释信息,预测下一行可能的代码。本发明的方法对transformer模型进行改进以适应树形结构,使用到了代码中的注释信息,更好的帮助模型学习语义信息,做出高质量的推荐。