西北工业大学於志文获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉西北工业大学申请的专利一种快速高效的人机协作程序翻译方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN115421734B 。
龙图腾网通过国家知识产权局官网在2025-08-19发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202211077086.9,技术领域涉及:G06F8/51;该发明授权一种快速高效的人机协作程序翻译方法是由於志文;张鑫;刘佳琪;王辉;王亮;郭斌;陈逸璇;王延飞设计研发完成,并于2022-09-05向国家知识产权局提交的专利申请。
本一种快速高效的人机协作程序翻译方法在说明书摘要公布了:本发明涉及一种快速高效的人机协作程序翻译方法,包括:1.当程序翻译模型翻译源程序时,软件工程师修正输出代码并将编辑结果以前缀的形式反馈给程序翻译模型;2.后续的重译过程分成两个部分:1.对于前缀的生成,使用缓存的注意力信息来去除下一轮重复的前缀。2.对于其余的生成部分,在每个时间步上,提出了一个两阶段的方法来确定该位置是否能被某个已知后缀所拼接。如果可以,则提前中止推理。这种交互将重复进行,直到软件工程师对结果满意为止。通过上述方法,有效地将人类智能和机器智能结合,提高了程序翻译最终结果的准确性,减少软件工程师的工作量,并大幅度减少了由于程序长度过大而导致的在协作过程中的响应时延。
本发明授权一种快速高效的人机协作程序翻译方法在权利要求书中公布了:1.一种快速高效的人机协作程序翻译方法,其特征在于步骤如下: 步骤1:基于前缀的人机交互程序翻译PHM:考虑到像程序代码这样的结构化文本,一些字符的变化会对后续的程序片段产生巨大的影响,因此考虑引入在自然语言翻译中基于前缀的协议来完成程序翻译任务;在这个协议中,软件工程师需要检查目标程序并纠正第一个错误的token这间接地意味着软件工程师接受原始的前缀并产生一个有效的前缀该过程的基本方程式如下: 是本轮的翻译结果;是本轮的源程序;Pr是Probability的缩写,意思是概率;argmax是一种函数,对函数y=fx,x0=argmaxfx的意思就是参数x0满足fx0为fx的最大值; 具体来说,下一轮的程序翻译过程被分为两部分: 其中δ是Kroneckerdelta符号,At是Transformer模型的解码器在时间步骤t的输出,是线性层的权重矩阵,v是词汇表的大小,d是隐藏层维度,softmaxVAt是基于Transformer的程序翻译模型的输出,是词yt的独热编码; 步骤2:注意力缓存AttentionCache:当t∈[0,x-1]时,生成的输出概率分布的最大值所对应的token是符合用户要求的;虽然它的概率分布并不严格符合第一种情况,但从对后续推理的影响来看,这两种概率分布是等价的;而当t=i时,用户修正了一个token;在这种情况下,模型产生的输出概率分布的最大值所对应的token不符合用户的要求,所以必须强制性地改变输出概率分布; 建议将解码过程重新划分为两个阶段,这两个阶段的token输出与之前完全相同: 当时间步长t<i时,子过程会重复与前一轮完全相同的子过程,因此,上述公式可以改写为: 其中,是程序翻译模型的解码器在前一轮翻译中在时间步t的输出; 建议直接跳过时间步长为t∈[0,i-1]的子过程,以避免重复计算,在这种情况下,总的翻译过程被改写为: 提出直接使用缓存的状态信息来替代第一阶段,最大限度地避免与前一轮的重复计算;因此,用户的反馈f′应定义为: 其中 S0a={K0lja,V0lja∣l∈[1,L],j∈[1,h]} 其中,S0a是第一轮交互时解码器中编码器-解码器注意力子层的状态信息;它主要包括L层中每个h个头的编码器-解码器注意力子层的key矩阵和value矩阵;表示译码器第一次推理后第l层j头的编码-解码器注意力子层的key矩阵,其余依此类推;是最近一次推理的解码器中自注意子层的状态信息,主要包括切片后L层各自h个头的自我注意子层的key矩阵和value矩阵; 代表解码器在最近一次推理后第l层j头的自注意子层的key矩阵的切片子矩阵,其余以此类推; 步骤3:后缀拼接SuffixSplicing:为了避免无效后缀的生成,建议在适当的时候提前中止推理过程;为了确保向用户展示一个完整的目标程序,应该在中止点拼接另一个程序后缀;而这个后缀可以从第一轮的输出代码中截获;因此,整个过程可改写为: 其中e表示要中止的位置,e0表示第一轮的输出代码中与中止点对应的位置; 最佳的中止点位置应该是用户下次刚好要纠正的地方;建议将这项工作分为两个阶段;当生成的位置是t时,首先,判断生成的程序片段是否已经包含潜在的错误token;然后,评估是否可以与第一轮输出代码的某个后缀拼接;如果这两个条件得到满足,后缀拼接将在位置t进行; 为了判断是否已经包含一个潜在的错误token,建议使用中是否存在最大输出概率Pj低于某个阈值的token来评估质量;其表达式为: 如果 将被确定为含有潜在的错误,而β是一个用户定义的参数; 至于判断生成的片段能够拼接第一轮输出代码的某个后缀,有两个条件:1.与预测的相同;2.考虑到相似的序列输出更可能有相似的后续解码器输出,假设e0的序列输出和当前位置的序列输出之间的余弦相似度足够大; 当生成的程序片段可以拼接某个后缀时,拼接的结果会直接返回;建议区分两种情况,用户对这个结果的修正位置是否在解码范围内,以确定有效的注意力缓存; 在下一轮交互中,当用户的修正位置i属于解码范围时,即i∈[ip+1,ep+1],模型的注意力缓存包括有效范围;当用户修正的结果位置i超出解码范围时,即i∈[ep+2,lp],有效的注意力缓存范围只到ep,剩余的注意力结果在[ep+1,i]范围内需要在下一轮计算;因此,建议将反馈给下一次推理的状态信息f′重新定义为: 其中, 而下一轮推理过程所需的总时间步数为e-mini-1,ep,每个位置上的token的概率为:
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人西北工业大学,其通讯地址为:710072 陕西省西安市友谊西路;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。