CN114880022A - 一种基于CodeBERT微调和检索增强的Bash代码注释生成方法 - Google Patents

一种基于CodeBERT微调和检索增强的Bash代码注释生成方法 Download PDF

Info

Publication number
CN114880022A
CN114880022A CN202210469925.5A CN202210469925A CN114880022A CN 114880022 A CN114880022 A CN 114880022A CN 202210469925 A CN202210469925 A CN 202210469925A CN 114880022 A CN114880022 A CN 114880022A
Authority
CN
China
Prior art keywords
code
bash
vectors
vector
codebert
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210469925.5A
Other languages
English (en)
Other versions
CN114880022B (zh
Inventor
陈翔
于池
杨光
刘珂
周彦琳
顾亚锋
夏鸿崚
胡新宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nantong University
Original Assignee
Nantong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nantong University filed Critical Nantong University
Priority to CN202210469925.5A priority Critical patent/CN114880022B/zh
Publication of CN114880022A publication Critical patent/CN114880022A/zh
Application granted granted Critical
Publication of CN114880022B publication Critical patent/CN114880022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于CodeBERT微调和检索增强的Bash代码注释生成方法,属于计算机技术领域,解决了Bash代码开发过程中需要耗费人工成本手动编写注释的问题。其技术方案为:(1)使用构建的数据集对预训练模型CodeBERT进行微调;(2)在代码注释生成阶段,使用构建的双重信息检索方法检索出目标代码的最相似代码;(4)将目标代码和相似代码输入到微调后的CodeBERT编码器中,对得到的两个表征向量经过归一化操作;(5)将两个表征向量输入到融合层得到融合向量;(6)将融合向量输入到解码器中得到代码注释。本发明的有益效果为:快速根据现有Bash代码生成对应注释,提高Bash代码可读性和理解性。

Description

一种基于CodeBERT微调和检索增强的Bash代码注释生成方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于CodeBERT微调和检索增强的Bash代码注释生成方法。
背景技术
Shell是开发人员和Linux操作***之间进行交互的接口。开发人员在许多任务中使用shell命令,例如文件***管理、网络控制和进程管理等。其中Bash是Linux默认的shell命令语言,在Linux操作***的开发和维护中起着重要的作用。除此之外,Bash语言具有应用领域广泛以及语言灵活等特点。因此对于不熟悉Bash语言的开发人员来说,经常会遇到Bash代码的理解问题。
高质量的代码注释可以提高Bash代码的可读性和可理解性,并在软件开发和维护中发挥着重要的作用。而在开发过程中,经常会出现注释缺失或者注释过时的现象,因此,因此,针对Bash代码亟需可以生成相关代码注释的自动方法,从而协助开发人员理解Bash代码。
目前,已有的针对Bash代码的注释自动生成方法主要集中在信息检索方法。虽然使用信息检索方法可以通过复用代码注释的方法生成代码注释,但是仅仅复用注释生成的代码注释的可读性和相关性并不高,针对Bash代码而言效果并不突出。最近研究将代码注释生成建模为神经机器翻译问题,提出了基于深度学习的方法并取得了很好的效果。然而,这种方法通常需要大量的计算资源来训练模型,且需要较多的时间成本,效率较低。
如何解决上述技术问题成为本发明面临的课题。
发明内容
本发明的目的在于提供一种基于CodeBERT微调和检索增强的Bash代码注释生成方法,该方法可以根据Bash代码片段生成对应的高质量代码注释。
本发明的思想为:本发明提出了一种基于CodeBERT微调和检索增强的Bash代码注释生成方法,通过微调后的CodeBERT模型作为编码器,构建包含融合层的编码器-解码器架构的模型;使用构建的双重信息检索方法从代码存储库中检索出相似代码,然后将相似代码和目标代码输入到包含有融合层的编码器-解码器的模型中,相似代码的语义信息可以增强编码器-解码器模型的学习能力,从而生成质量更高的Bash代码注释;本发明提出的方法在相同的语料库中取得了比基准方法更好的性能。
本发明是通过如下措施实现的:一种基于CodeBERT微调和检索增强的Bash代码注释生成方法,其中,包括以下步骤:
(1)搜集来自NL2Bash语料库的数据以及NLC2CMD竞赛提供的数据得到一个高质量语料库,对该语料库进行去重操作,得到数据集D,设定数据集D中数据格式为<代码,注释>,该数据集包含了来自10592个数据。
(2)将数据集按8:1:1的比例划分为训练集、测试集以及验证集。使用数据集D对预训练模型CodeBERT进行微调,在微调结束后冻结CodeBRET模型的参数,得到适合Bash代码的编码器模型Mencoder
(3)通过构建的双重信息检索方法根据语义相似度以及词法相似度检索从训练集中检索出与目标代码Ctar最相似的相似代码Csim
(3-1)将目标代码序列Ctar输入到编码器模型Mencoder中,提取输出中第一层和最后一层的隐藏状态,并将其求和后进行平均,得到最终的表征向量Xtar
(3-2)使用步骤(3-1)依次计算出训练集中代码片段的表征向量Y,通过欧式距离计算目标代码段的向量Xtar以及训练集中的代码段的向量
Figure BDA0003621515950000021
得到代码段之间的语义相似度
Figure BDA0003621515950000022
计算公式为:
Figure BDA0003621515950000023
其中j为向量维度,使用FAISS库作为向量检索工具,根据计算出的语义相似度semantic_similarity从训练集中检索出k个语义最相似的代码片段作为候选代码Ccan
(3-3)通过计算目标代码Ctar与候选代码Ccan之间的词法相似度检索出最相似代码Csim,即根据计算的编辑距离计算词法相似度lexical_similarity(Ctar,Ccan),计算公式为lexical_similarity(Ctar,Ccan)=1-disA,B/max(len(Ctar),len(Ccan),其中len()表示代码集合长度;
(4)将目标代码Ctar最相似的相似代码Csim输入到两个编码器模型Mencoder中,得到两个表征Vtar和Vsim
(5)对两个代码的表征向量Vtar和Vsim进行L2归一化操作,得到两个归一化后的表征向量Mtar和Msim
(6)使用三个前馈神经网络构建融合层,用于融合两个归一化后的表征向量Mtar和Msim最终得到融合向量G;
(6-1)首先通过单层的前馈神经网络F1将两个向量融合,生成向量G1,公式表达为:
G1=F1([Mtar;Msim])
其中[;]表示向量直接拼接。
(6-2)然后通过单层的前馈神经网络F2将两个向量融合,生成向量G2,公式表达为:
G2=F2([Mtar-Msim])
其中[-]表示两个向量相减,从而突出两个向量之间的差异性;
(6-3)接着,通过单层的前馈神经网络F3将两个向量融合,生成向量G3,公式表达为:
Figure BDA0003621515950000031
其中
Figure BDA0003621515950000032
表示向量的点乘运算,从而突出两个向量之间的相似性;
(6-4)最后,通过单层的前馈神经网络F将上述三个融合子向量G1,G2和G3进行融合,生成最终的融合向量G,公式表达为:
G=F([G1;G2;G3])
(7)将融合向量G输入到Transformer中的编码器中,最终输出对应的代码注释。
该基于CodeBERT微调和检索增强的Bash代码注释生成方法的参数设置如下:
语义相似度检索的候选代码片段个数k:8。
与现有技术相比,本发明的有益效果为:
1.本发明使用构建的双重信息检索方法从训练集中检索出最相似代码,从而利用相似代码的语义信息对深度学习模型进行信息增强,提升注释生成模型的表现。
2.本发明在编码器-解码器模型中加入融合层,将目标代码和相似代码的表征向量有效融合,该融合方法易实现且效果好,与仅使用信息检索的方法相比,可以生成质量更高的代码注释。
3.本发明通过融合的学习方式训练模型,因此本发明构建的模型学习的语义信息既包括目标代码也包括相似代码,与仅使用深度学习模型的方法相比,模型学习的语义信息更加广泛且有效,从而进一步提升生成注释的准确性和可读性。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明提供的基于CodeBERT微调和检索增强的Bash代码注释生成方法的***框架图。
图2为本发明提供的双重信息检索方法的***框架图。
图3为本发明实施例的语义相似度检索的结构图。
图4为本发明实施例的词法相似度检索的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
参见图1所示,本发明提供了基于CodeBERT微调和检索增强的Bash代码注释生成方法,具体包括以下内容:
(1)搜集来自NL2Bash语料库的数据以及NLC2CMD竞赛提供的数据构建一个高质量的语料库,然后删除语料库中的重复数据,去重后的语料库包含10592个数据,数据格式为<Bash代码,自然语言描述>。
(2)对语料库中的数据进行统计,表1、表2分别显示了语料库中代码片段长度以及代码注释长度的详细统计信息。
表1
Figure BDA0003621515950000041
表2
Figure BDA0003621515950000042
(3)为了确保与基准方法的公平比较,根据以往研究的数据划分方式,将数据集按8:1:1的比例划分为训练集、测试集以及验证集。
(4)输入目标代码:“find.-type f-name*.php”,通过双重信息检索方法从训练集中检索出最相似代码,双重信息检索方法流程如图2所示;首先计算训练集中代码片段与目标代码之间的语义相似度:使用CodeBert提取代码语义表征向量计算语义相似度,检索排在前8位与目标代码语义最相似的代码片段作为候选代码,语义相似度检索流程如图3所示;
(5)计算词法相似度:将代码片段视为由词元组成的集合,计算目标代码和候选代码之间的编辑距离,根据词法相似度从候选代码中检索出最相似代码“find.-name\*.php-type f,词法相似度检索的流程如图4所示;
(6)将目标代码和最相似代码输入到微调后的CodeBERT编码其中,得到两个表征向量Vtar和Vsim
(7)对两个代码的表征向量Vtar和Vsim进行L2归一化操作,得到两个归一化后的表征向量Mtar和Msim
(8)将两个表征向量输入到融合层,最终得到融合向量G;
(9)将融合向量G输入到解码器中,生成最终的代码注释“find all php filesunder current directory”;
(10)在相同的语料库上对本发明方法和已有代码注释生成方法进行评估,使用来自神经机器翻译研究领域的三个性能指标(即BLEU、METEOR和ROUGE-L)来自动评估生成注释的质量:
表4本发明方法和其余方法的结果对照表
Figure BDA0003621515950000051
经实验表明,本发明提出的基于CodeBERT微调和检索增强的Bash代码注释生成方法相较于基于深度学习和信息检索的8个先进基准方法,能生成更高质量的代码注释。具体来说,本发明方法通过双重信息检索方法检索出的相似代码来增强深度学习模型的学习能力,从而生成更高质量的代码注释,本发明方法可以超越这些最先进的基准方法。其中,对于BLEU-1/2/3/4而言,本发明方法至少能分别提高3.93%、7.20%、8.75%以及9.29%的性能;对于METEOR而言,本发明方法至少提高了4.77%的性能;对于ROUGE-L而言,本发明方法至少可以提高7.21%的性能。这些结果表明了本发明所提方法具有较高的竞争力和优势。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于CodeBERT微调和检索增强的Bash代码注释生成方法,其特征在于,包括以下步骤:
(1)搜集高质量的Bash代码片段以及对应注释作为原始数据,形成原始语料库,对该语料库进行去重操作,得到数据集D,设定数据集D中数据格式为<Bash代码,代码注释>,该语料库包含来自10592个Bash代码数据;
(2)使用数据集D对预训练模型CodeBERT进行微调,在微调结束后冻结CodeBRET模型的参数,得到适配Bash代码的编码器模型;
(3)使用构建的双重信息检索方法从训练集中检索出目标代码的最相似代码Csim
(4)将目标代码Ctar和相似代码Csim作为两个输入,分别输入到微调的CodeBERT编码器中,得到对应的两个表征向量Vtar和Vsim
(5)对两个代码的表征向量进行L2归一化操作,得到两个归一化后的表征向量Mtar和Msim
(6)将两个归一化后的表征向量输入到构建的融合层中,融合层通过三层前馈神经网络输出将两个向量融合输出融合向量G;
(7)将融合向量G输入到Transformer中的编码器中,最终输出对应的代码注释。
2.根据权利要求1所述的基于CodeBERT微调和检索增强的Bash代码注释生成方法,其特征在于,所述步骤(3)中通过双重信息检索方法从训练集中检索出目标代码的相似代码,具体包括如下步骤:
(2-1)通过语义相似度检索出k个相似度最高的代码;
(2-1-1)对于给定的Bash代码片段,将其视为文本序列,根据空格对序列进行分割,得到输入序列W;
(2-1-2)将序列W输入到CodeBert中,提取输出中第一层隐藏状态h0和最后一层的隐藏状态hn,并对它们取平均值,得到代码段的语义特征向量
Figure FDA0003621515940000011
(2-1-3)通过计算目标代码段的语义特征向量
Figure FDA0003621515940000012
和训练集中代码段语义特征向量
Figure FDA0003621515940000013
之间的欧式距离,计算出代码段间的语义相似度,语义相似度计算公式为,其中j为向量维度:
Figure FDA0003621515940000014
(2-1-4)使用FaceBook开发的FAISS库作为向量检索工具,根据语义相似度检索训练集中排在前k位的候选相似代码;
(2-2)通过词法相似度从k个候选代码中检索出最相似代码;
(2-2-1)首先将代码片段视为词元集合,对代码序列内的重复词元进行去重删除操作,获取两个代码片段的集合A和B;
(2-2-2)然后计算两个集合之间的文本编辑距离disA,B
(2-2-3)根据计算的文本编辑距离计算得到两个代码片段之间的词法相似度lexical_similarity(A,B),计算公式为:
Figure FDA0003621515940000021
其中len()表示集合的规模大小。
3.根据权利要求1所述的基于CodeBERT微调和检索增强的Bash代码注释生成方法,其特征在于,所述步骤(5)对目标代码和相似代码的表征向量的归一化操作,具体包括如下步骤:
(3-1)得到的两个表征向量Vtar和Vsim进行L2归一化操作,对两个向量的三位空间进行归一化处理得到归一化向量Mtar和Msim,用于加快模型训练的收敛速度,提高模型的性能;
(3-2)归一化的计算公式为:
Figure FDA0003621515940000022
4.根据权利要求1所述的基于CodeBERT微调和检索增强的Bash代码注释生成方法,其特征在于,所述步骤(6)中通过融合层将两个归一化向量Mtar和Msim融合,具体包括如下步骤:
(4-1)首先通过单层的前馈神经网络F1将两个向量融合,生成向量G1,公式表达为:
G1=F1([Mtar;Msim])
其中[;]表示向量直接拼接;
(4-2)然后通过单层的前馈神经网络F2将两个向量融合,生成向量G2,公式表达为:
G2=F2([Mtar-Msim])
其中[-]表示两个向量相减,突出两个向量之间的差异性;
(4-3)接着,通过单层的前馈神经网络F3将两个向量融合,生成向量G3,公式表达为:
Figure FDA0003621515940000023
其中
Figure FDA0003621515940000024
表示向量的点乘运算,从而突出两个向量之间的相似性;
(4-4)最后,通过单层的前馈神经网络F将上述三个融合子向量G1,G2和G3进行融合,生成最终的融合向量G,公式表达为:
G=F([G1;G2;G3])。
5.根据权利要求1所述的基于CodeBERT微调和检索增强的Bash代码注释生成方法,其特征在于,所述步骤(7)中通过Transformer的解码器对融合向量解码,生成对应的代码注释,具体包括如下步骤:
(5-1)首先选择Transformer中的解码器作为本方法的解码器模型,将融合向量G输入到解码器中进行解码,并使用Softmax函数获取每个单词生成的概率;
(5-2)最后利用Beam Search搜索算法生成最终的文本描述最为代码注释,BeamSearch搜索算法在预测的每一步都保留Top-k高概率的词作为下一次的输入,其中k表示beam size表示搜索的束宽,基于上个步长的输出序列,挑选出所有组合中条件概率最大的k个,作为该时间步长下的候选输出序列,始终保持k个候选,最后从k个候选中挑出最优的词汇,本方法使用的Beam Search算法将k设置为10。
CN202210469925.5A 2022-04-28 2022-04-28 一种基于CodeBERT微调和检索增强的Bash代码注释生成方法 Active CN114880022B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210469925.5A CN114880022B (zh) 2022-04-28 2022-04-28 一种基于CodeBERT微调和检索增强的Bash代码注释生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210469925.5A CN114880022B (zh) 2022-04-28 2022-04-28 一种基于CodeBERT微调和检索增强的Bash代码注释生成方法

Publications (2)

Publication Number Publication Date
CN114880022A true CN114880022A (zh) 2022-08-09
CN114880022B CN114880022B (zh) 2024-06-14

Family

ID=82673785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210469925.5A Active CN114880022B (zh) 2022-04-28 2022-04-28 一种基于CodeBERT微调和检索增强的Bash代码注释生成方法

Country Status (1)

Country Link
CN (1) CN114880022B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116909574A (zh) * 2023-09-08 2023-10-20 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种检索增强的结构化代码生成***及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076133A (zh) * 2021-04-25 2021-07-06 南京大学 基于深度学习的Java程序内部注释的生成方法及***
CN113139054A (zh) * 2021-04-21 2021-07-20 南通大学 一种基于Transformer的代码编程语言分类方法
CN113743064A (zh) * 2021-09-10 2021-12-03 南通大学 基于决策的融合信息检索和深度学习的代码注释生成方法
CN113743062A (zh) * 2021-08-16 2021-12-03 南通大学 一种基于信息检索的智能合约代码注释生成方法
CN113961237A (zh) * 2021-10-20 2022-01-21 南通大学 一种基于双重信息检索的Bash代码注释生成方法
WO2022057116A1 (zh) * 2020-09-15 2022-03-24 南京文图景信息科技有限公司 一种基于Transformer深度学习模型的多语种地名词根汉译方法
US20220107828A1 (en) * 2021-12-17 2022-04-07 Intel Corporation Methods, apparatus, and articles of manufacture to generate usage dependent code embeddings

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022057116A1 (zh) * 2020-09-15 2022-03-24 南京文图景信息科技有限公司 一种基于Transformer深度学习模型的多语种地名词根汉译方法
CN113139054A (zh) * 2021-04-21 2021-07-20 南通大学 一种基于Transformer的代码编程语言分类方法
CN113076133A (zh) * 2021-04-25 2021-07-06 南京大学 基于深度学习的Java程序内部注释的生成方法及***
CN113743062A (zh) * 2021-08-16 2021-12-03 南通大学 一种基于信息检索的智能合约代码注释生成方法
CN113743064A (zh) * 2021-09-10 2021-12-03 南通大学 基于决策的融合信息检索和深度学习的代码注释生成方法
CN113961237A (zh) * 2021-10-20 2022-01-21 南通大学 一种基于双重信息检索的Bash代码注释生成方法
US20220107828A1 (en) * 2021-12-17 2022-04-07 Intel Corporation Methods, apparatus, and articles of manufacture to generate usage dependent code embeddings

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
沈晨凯: "基于深度学习的智能合约漏洞检测方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 December 2021 (2021-12-15), pages 138 - 213 *
陈翔;杨光;崔展齐;孟国柱;王赞: "代码注释自动生成方法综述", 《软件学报》, 5 July 2021 (2021-07-05) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116909574A (zh) * 2023-09-08 2023-10-20 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种检索增强的结构化代码生成***及方法

Also Published As

Publication number Publication date
CN114880022B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
CN110348016B (zh) 基于句子关联注意力机制的文本摘要生成方法
CN110390103B (zh) 基于双编码器的短文本自动摘要方法及***
CN108804495B (zh) 一种基于增强语义的自动文本摘要方法
CN111723295B (zh) 一种内容分发方法、装置和存储介质
CN111611814B (zh) 一种基于相似度感知的神经机器翻译方法
CN114791958B (zh) 一种基于变分自编码器的零样本跨模态检索方法
CN116245107B (zh) 电力审计文本实体识别方法、装置、设备及存储介质
CN115545041B (zh) 一种增强医疗语句语义向量表示的模型构造方法及***
CN113033204A (zh) 信息实体抽取方法、装置、电子设备和存储介质
CN114647715A (zh) 一种基于预训练语言模型的实体识别方法
CN116150361A (zh) 一种财务报表附注的事件抽取方法、***及存储介质
CN114880022A (zh) 一种基于CodeBERT微调和检索增强的Bash代码注释生成方法
Qu et al. A noise-aware method with type constraint pattern for neural relation extraction
CN113590827B (zh) 一种基于多角度的科研项目文本分类装置和方法
CN110866397A (zh) 一种基于Ternary Search Trie的电力设备模型特征匹配方法
CN113961237A (zh) 一种基于双重信息检索的Bash代码注释生成方法
CN115439722A (zh) 基于图像和属性图融合网络的三维cad模型检索方法
CN113743062A (zh) 一种基于信息检索的智能合约代码注释生成方法
CN114661616A (zh) 目标代码的生成方法及装置
Wang et al. An advanced bert-based decomposition method for joint extraction of entities and relations
CN113971403A (zh) 一种考虑文本语义信息的实体识别方法及***
CN112364668A (zh) 一种基于模型无关元学习策略及可微分神经机的蒙汉机器翻译方法
CN117873487B (zh) 一种基于gvg的代码函数注释生成方法
CN116976351B (zh) 基于学科实体的语言模型构建方法以及学科实体识别装置
CN112698833B (zh) 一种基于局部和全局特征的特征依恋代码味道检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant