[发明专利]生成教程片段的API标记的方法、系统及计算机设备有效
申请号: | 202011041750.5 | 申请日: | 2020-09-28 |
公开(公告)号: | CN112181389B | 公开(公告)日: | 2021-07-13 |
发明(设计)人: | 荆晓远;吴迪;姚永芳;孔晓辉;王许辉 | 申请(专利权)人: | 广东石油化工学院 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F16/332;G06F40/117;G06F40/126 |
代理公司: | 北京金智普华知识产权代理有限公司 11401 | 代理人: | 杨采良 |
地址: | 525000 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 教程 片段 api 标记 方法 系统 计算机 设备 | ||
1.一种生成教程片段的API标记的方法,其特征在于,所述生成教程片段的API标记的方法包括:
从Stack Overflow网页进行问答对搜集,将搜集的问答对处理成问答文本,标记集和问答代码,标记集格式;
进行标记模型训练,捕捉问答对及其API标记之间的语义关系;
通过训练模型得到API标记;
所述从Stack Overflow网页进行问答对搜集,将搜集的问答对处理成问答文本,标记集和问答代码,标记集格式包括:
(1)从Stack Overflow网页搜集问答对,确定搜集到的内容与编程语言和目标API库的名称相关;
(2)从相应的API规范网站中收集与目标教程相关联的API名称,并将收集到的API名称构建API字典作为标记集;
(3)基于空格和标点符号对问答对内容进行拆分,并获取内容的标记;
(4)判断获取的内容标记与构建的API字典中的API名称是否匹配;若匹配,则将所述内容标记作为API标记,并构建问答代码QAcode,标记集;
所述问答对包括:选取被接受的答案并且回答的数目要超过三个,答案的评分要超过零分,问题的声誉打分要高于一分的问答对;
所述进行标记模型训练,捕捉问答对及其API标记之间的语义关系包括:
1)对问答代码QAcode进行编码以及回答文本QAtext进行编码;
2)利用代码编码器、文本编码器和标签解码器生成每个QAcode及其对应的QAtext的标签集;
步骤1)中,所述对问答代码QAcode进行编码包括:
1.1)使用Eclipse的Java解析器提取QAcode的抽象语法树即ASTs,若QAcode的代码片段不能被解析器解析,则利用部分程序分析工具处理这些代码片段;若代码的API类型未确定,则将代码指定为未知类型;
1.2)以深度优先顺序遍历提取得到的每个AST,并在API字典中保持API类和接口节点与API名称匹配,生成相应的API序列;当一个QAcode包含多个代码段,则将按顺序组合从所有代码段中提取的所有API序列;
1.3)将QAcode的API序列作为码编码器的源序列,进行问答代码QAcode编码,包括:
令表示API序列,N代表API序列的数目,表示第i个API序列,m表示在该序列中API的个数;在每个时间步骤t,代码编码器根据和先前的隐藏状态更新隐藏状态
当前隐藏状态的计算方法如下:
其中,f是一个非线性函数,将源序列的一个字映射成一个隐藏状态所述f设为长短期记忆网络;
步骤1)中,所述对回答文本QAtext进行编码包括:
从QAtext中提取问题标题,将问题标题作为为文本编码器的源序列,进行编码;
所述文本编码器的源序列中,表示包含N个问题标题的问题标题集合;表示第i个问题标题,m表示问题标题的字数;
步骤2)中,所述利用代码编码器、文本编码器和标签解码器生成每个QAcode及其对应的QAtext的标签集包括:
2.1)标签解码器从代码编码器和文本解码器收集注意力信息,并将从代码编码器和文本解码器收集到的注意力信息结合;
2.2)基于结合的注意力信息,标签解码器按照代码编码器和文本编码器顺序生成标签集;
步骤2.1)中,所述将从代码编码器和文本解码器收集到的注意力信息结合包括:
首先,解码器以表示标签集的开始的START符号开始,在每个时间步骤t,解码器使用LSTM函数计算当前隐藏状态ht;
所述当前隐藏状态计算公式为:ht=f(ht-1,yt-1,ct);
其次,获取上下文向量ct、先前预测的API标记[y1,…,yt-1]、当前隐藏状态ht和当前上下文向量ct预测当前API标记yt的条件分布;
然后,当生成EOS符号时,通知解码器停止;yt的条件分布的概率计算如下:
p(yt|y1,...yt-1,x)=g(yt-1,ht,ct);
其中g是估计yi概率的非线性函数;
最后,代码编码器、文本编码器和解码器被联合训练使条件对数似然最大化,并用于估计参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东石油化工学院,未经广东石油化工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011041750.5/1.html,转载请声明来源钻瓜专利网。