CN116483337A - 一种基于提示学习和数据增强的api补全方法 - Google Patents
一种基于提示学习和数据增强的api补全方法 Download PDFInfo
- Publication number
- CN116483337A CN116483337A CN202310445624.3A CN202310445624A CN116483337A CN 116483337 A CN116483337 A CN 116483337A CN 202310445624 A CN202310445624 A CN 202310445624A CN 116483337 A CN116483337 A CN 116483337A
- Authority
- CN
- China
- Prior art keywords
- api
- model
- prompt
- training
- data enhancement
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012549 training Methods 0.000 claims abstract description 30
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 55
- 230000006870 function Effects 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000011160 research Methods 0.000 claims description 3
- 238000000844 transformation Methods 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 claims description 2
- 230000000873 masking effect Effects 0.000 claims description 2
- 238000005065 mining Methods 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims description 2
- 230000008485 antagonism Effects 0.000 claims 1
- 230000000630 rising effect Effects 0.000 claims 1
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000009966 trimming Methods 0.000 claims 1
- 238000012795 verification Methods 0.000 claims 1
- 238000007781 pre-processing Methods 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 238000013135 deep learning Methods 0.000 description 5
- 230000003042 antagnostic effect Effects 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100261000 Caenorhabditis elegans top-3 gene Proteins 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种基于提示学习和数据增强的API补全方法,属于计算机领域。解决了基于生成技术的API推荐模型预测能力有限和用于API推荐的训练数据不足的问题。其技术方案为:包括以下步骤:S1:语料库预处理并构造提示前缀;S2:构建预训练模型CodeT5和ATCom对抗训练方法;S3:在模型嵌入层使用ATCom,生成多组对抗样本;S4:利用原语料库和生成的对抗样本微调CodeT5并生成完整的API。本发明的有益效果为:根据不完整的API前缀和提示信息进行API补全,提高开发人员的效率和编程体验,通过对抗样本的训练,增强模型的鲁棒性,提高模型的泛化能力,从而提高API补全的准确性和稳定性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于提示学习和数据增强的API补全方法。
背景技术
API(应用程序编程接口)推荐是指帮助开发人员根据用户需求和使用场景在众多候选API中找到最佳API的过程。实际上,一些API用于实现基本功能(如打印和日志生成)。这些API可以在任何地方调用。然而,基于生成技术的API推荐模型的预测能力有限,往往无法从查询的第一个字中准确地预测出最合适的API;此外,API推荐的训练数据不足,收集高质量的API问题和相应的答案是费时费力并且及其容易出错;随着可用API的快速增长和软件***的日益复杂,开发人员很难根据自己的需求找到最合适的API。
有效的API推荐方法可以为软件开发人员提供更好的API选择,从而提高他们的工作效率和工作质量。首先,API推荐可以帮助开发人员快速找到适合他们需求的API,减少了他们寻找API的时间和精力。其次,API推荐可以帮助开发人员避免使用错误或不合适的API,提高了他们代码的可靠性和质量。此外,通过API推荐,开发人员可以更容易地利用已有的API资源,而不是重复开发相同的功能,从而减少了代码的冗余性,提高了代码的可维护性和可扩展性。
以前的研究主要将API推荐建模为推荐任务,该任务可以推荐多个API,但是推荐的可能并不是开发人员需要的。最近在神经机器翻译领域的推动下,研究人员将这个问题建模为生成任务,其目的是直接为开发人员生成所需的API。然而,初步调查表明,直接生成的方法可能会生成错误。
如何解决上述技术问题成为本发明面临的课题。
发明内容
本发明的目的在于提供一种基于提示学习和数据增强的API补全方法,该方法可以根据不完整的API前缀和提示信息进行API补全从而生成用户所需要的API。
本发明的发明思想为:本发明提出了一种基于示学习和数据增强的API补全方法,该方法利用用户已知的API前缀信息和启发式规则生成的API提示,通过嵌入层组合生成的对抗性示例来训练API补全模型,从而最终生成用户所需的API。相较于信息检索方法和深度学习方法,本发明提出的方法在相同语料库中表现出更优秀的性能。
本发明是通过如下措施实现的:一种基于提示学习和数据增强的API补全方法,其中,包括以下步骤:
(1)搜集高质量语料库,同时对数据进行预处理操作,构造不同的提示符,然后在不完整的API后面添加一个[mask]标记,表示API被屏蔽的部分,通过接下来训练的模型来预测;
(1-1)首先,为了生成不完整的API标题,我们需要准备不同的提示符。假设API包含n个单词,则需要生成一个随机数Nrand。
(1-2)然后,我们生成一个不完整的API,即前缀提示符,将其中最后Nrand个单词屏蔽。
(1-3)接着,开发人员按线性方式编写API,从第一个单词开始一直到最后一个单词,因此我们选择屏蔽最后一个连续单词作为屏蔽操作符。
(1-4)由于我们的研究主要集中在API补全任务上,要求不完整的API至少有一个单词,因此屏蔽操作符最多可以屏蔽n-1个单词。
(1-5)为了生成不完整的API,我们采用带有三个不同值的Nrand屏蔽操作符,从而为每个API生成3个不同的不完整标题。
(1-6)最后,我们将生成的提示符和原始描述作为我们建议的模型的输入。因此,最终的输入表示为
(2)将步骤(1)得到的预料库按照80%:10%:10%的比例划分为训练集、测试集和验证集。
(3)对数据进行预处理操作,首先使用随机掩蔽构造不同的提示符,然后在不完整的API后面添加一个[mask]标记,表示API被屏蔽的部分,这可以通过接下来训练的模型来预测;
(3-1)首先,我们在嵌入层中引入扰动。具体而言,给定输入嵌入序列x,我们通过多次迭代来寻找最佳扰动δ,生成k个对抗性样本。
(3-2)随后,我们利用增强训练集来训练codeT5模型。
(3-3)在更新参数时,我们采用k次迭代的平均梯度Gavg。
(4)使用一种对抗训练方法,根据模型输入自动生成k个对抗样本。然后将生成的对抗样本和原始输入作为训练数据来调整我们提出的API补全模型;
(4-1)在自注意力层中,首先计算查询和键的点积,然后将每个值除以使用softmax函数计算每个值的权重,从而得到输出矩阵。
(4-2)前馈网络由两个被Relu激活隔开的线性变换组成。
FFN(x)=max(0,xW1+b1)W2+b2
(4-3)层规范化应用于每个子组件的输入。在层规范化之后,剩余的跳过连接将每个子组件的输入添加到其输出。编码器的输出被定义为一个隐藏状态向量Xout。
(4-4)解码器在结构上与编码器相似,但其包含一个掩蔽的自注意力层,以防止模型在训练过程中注意到未知信息。
(4-5)在解码步骤中,该模型利用编码器输出Xout生成下一个API token。模型可以通过softmax层预测下一个token的概率。
(4-6)对于给定的输入文本x,我们利用损失函数L来训练模型参数θ,使其预测的token与实际token的差距最小化。
(5)使用CodeT5模型作为基础模型来解决API补全任务,其编码器包括12个子块,每个子块由两个子组建组成:自注意力层和前馈神经网络;解码器在结构上和编码器相似,其目的是防止模型在训练时注意到未知信息;
(5-1)首先通过逐个扫描每个步骤的API令牌来使用每个时间步的最低成本k令牌,其中k表示波束宽度。
(5-2)在修剪任何剩余的分支后,它继续为后续的标记选择潜在的标记,直到遇到序列结束符号。
(5-3)最后,我们的模型可以为每个查询返回k候选API。在波束搜索过程中,我们根据它们的平均概率对生成的候选API进行排序。
(6)基于BeamSearch为每个查询返回最可能的k个候选API,最终模型可以根据其平均概率对生成的候选API进行排序并且向用户推荐完整的API。
(6-1)首先通过逐个扫描每个步骤的API令牌来使用每个时间步的最低成本k令牌,其中k表示波束宽度。
(6-2)在修剪任何剩余的分支后,它继续为后续的标记选择潜在的标记,直到遇到序列结束符号。
(6-3)最后,我们的模型可以为每个查询返回k候选API。在BeamSearch搜索过程中,我们根据它们的平均概率对生成的候选API进行排序。
作为本发明提供的一种基于提示学习和数据增强的API补全方法进一步优化方案,将API推荐问题形式化为一个补全问题,然后提出了一种APICom方法。特别是,APICom在训练过程中考虑提示学习,可以根据提示生成与函数相关的API。此外,APICom利用了一种新的基于梯度的对抗性训练方法ATCom进行数据增强,可以提高其在生成对抗性实例时的稳定性。
该基于提示学习和数据增强进行API补全方法的参数设置如下:
解码层数:12
Hidden_size:768
最大输入长度:48
最大输出长度:16
Beam_search的大小:10
与现有技术相比,本发明的有益效果为:
(1)本发明提出的基于提示学习和数据增强的API补全方法,可以利用用户已知的API前缀信息和启发式规则生成的API提示。
(2)利用了一种新的基于梯度的对抗性训练方法进行数据增强,提高了本发明在生成对抗性实例时的稳定性。
(3)利用CodeT5作为基础模型解决API补全任务,更好的利用了从开发人员分配的标识符传递的代码语义。
(4)通过API补全模型,生成用户所需的API,解决了信息检索方法以及深度学习方法可能面临的问题,例如检索到的top-3个API与用户输入的自然语言查询无关以及生成错误的API等问题,从而更加精确地为用户推荐所需要的API。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明提供的一种基于提示学习和数据增强进行API补全方法的***框架图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
参见图1所示,本实施例提供了一种基于提示学习和数据增强的API补全方法,具体包括以下内容:
(1)通过挖掘Stack Overflow社区中帖子标题和对应的答案,该语料库包含大量API调用序列和相应API文档,对语料库中数据进行去重操作得到一个高质量语料库,最终的语料库包含3319个<自然语言查询,API>对。
(2)通过提示符生成和屏蔽,对API进行随机掩蔽,将未知部分用[mask]标记表示,生成多种提示符,将生成的提示符和原始描述作为模型的输入,完成对数据的预处理操作。对语料库中的数据进行统计,表1、表2分别显示了语料库中Query和API在分词后的长度的详细统计信息。
(3)为了确保与基准方法的公平比较,根据以往研究的数据划分方式,从语料库中提取了1,063对数据作为测试集,其余的语料库作为训练集。
(4)根据提示符和未知部分生成对抗样本,并将其和原始输入作为训练数据来调整API补全模型,以提高模型的鲁棒性和泛化能力,具体包括如下步骤:
(4-1)首先,我们在嵌入层中引入扰动。具体而言,给定输入嵌入序列x,我们通过多次迭代来寻找最佳扰动δ,生成k个对抗性样本。
(4-2)随后,我们利用增强训练集来训练codeT5模型。
(4-3)在更新参数时,我们采用k次迭代的平均梯度Gavg。
(5)使用训练好的模型进行API补全,将查询内容和提示信息输入,自动生成完整的API,具体包括以下步骤:
(5-1)在自注意力层中,首先计算查询和键的点积,然后将每个值除以使用softmax函数计算每个值的权重,从而得到输出矩阵。
(5-2)前馈网络由两个被Relu激活隔开的线性变换组成。
FFN(x)=max(0,xW1+b1)W2+b2
(5-3)层规范化应用于每个子组件的输入。在层规范化之后,剩余的跳过连接将每个子组件的输入添加到其输出。编码器的输出被定义为一个隐藏状态向量Xout。
(5-4)解码器在结构上与编码器相似,但其包含一个掩蔽的自注意力层,以防止模型在训练过程中注意到未知信息。
(5-5)在解码步骤中,该模型利用编码器输出Xout生成下一个API token。模型可以通过softmax层预测下一个token的概率。
(5-6)对于给定的输入文本x,我们利用损失函数L来训练模型参数θ,使其预测的token与实际token的差距最小化。
(6)由于本实施例的方法输出是一个API序列,因此使用了BeamSearch,可以返回最可能的补全API,最终模型可以根据其平均概率对生成的候选API进行排序并且向用户推荐完整的API。
(6-1)首先通过逐个扫描每个步骤的API令牌来使用每个时间步的最低成本k令牌,其中k表示波束宽度。
(6-2)在修剪任何剩余的分支后,它继续为后续的标记选择潜在的标记,直到遇到序列结束符号。
(6-3)最后,模型可以为每个查询返回k候选API。在波束搜索过程中,根据它们的平均概率对生成的候选API进行排序。
所述步骤(2)中使用机器学习中的BERT-whitening来进一步处理语义向量,即通过线性变换对CodeT5提取的语义向量进行关键特征提取和降维,从而减少了存储空间,提高了模型检索速度,训练速度可提高两倍以上。
该基于提示学习和数据增强进行API补全方法的参数设置如下:
解码器层:12
Hidden_size:768
最大输入长度:48
最大输出长度:16
Beam_search的大小:10
(7)在相同的语料库上对本实施例方法和已有API推荐方法进行评估,使用来自信息检索两个广泛使用的性能指标MRR和MAP以及神经机器翻译研究领域的性能指标EM来
自动评估生成注释的质量:
表三本实施例方法与已有API推荐方法的结果对照表
表四本实施例方法与已有深度学习预训练语言模型的结果对照表
经过实验证明,本实施例提出了一种基于提示学习和数据增强的API补全方法,相对于6个先进的基准方法,包括基于信息检索和深度学习的方法。在根据用户输入的自然语言查询推荐API时,能够更加精准。具体来说,相较于信息检索方法RACK、BIKER和CLEAR,本实施例方法在MRR指标上至少提高了5%的性能,在MAP指标上至少提高了8%的性能。相较于深度学习方法PLBART、UniXcoder和CodeBERT,本实施例方法将EM@5指标的性能分别至少提高了58%、30%和25%。这些结果表明本实施例提出的方法具有较高的竞争力和优势。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于提示学习和数据增强的API补全方法,其特征在于,包括以下步骤:
S1、通过挖掘Stack Overflow社区中帖子标题和对应的答案,最终构建了一个包含了33,243个样本的高质量语料库,设定语料库格式为<Query,API>;
S2、对构建的语料库随机划分成训练集、验证集和测试集;
S3、构造提示前缀,将缺失部分打上[MASK]标签,表示模型需要预测的部分;
S4、构建预训练模型CodeT5和ATCom对抗训练方法;
S5、使用编码器生成词嵌入E1,并沿着损失函数上升的方向在Embedding层使用ATCom对抗方法添加扰动,生成一系列对抗样本E2;
S6、使用所述步骤S5得到的词嵌入E1和对抗样本E2对预训练模型CodeT5微调,输出相应完整API。
2.根据权利要求1所述的基于提示学习和数据增强的API补全方法,其特征在于,所述步骤S1包括如下步骤:
S11:搜集高质量的语料库进行实验,该语料库包含大量API调用序列和相应API文档,用于评估API推荐任务,该语料库包含33,243个<Query,API>对;
S12:针对目标API使用随机掩码来构造不同的提示;
S13:添加一个标记在不完整的API之后,以指示API的屏蔽部分,通过训练的模型来预测。
3.根据权利要求1所述的基于提示学习和数据增强的API补全方法,其特征在于,所述步骤S2中,将步骤S1得到的语料库按照80%:10%:10%的比例划分为训练集、测试集和验证集。
4.根据权利要求1所述的基于提示学习和数据增强的API补全方法,其特征在于,所述步骤S3包括如下步骤:
S31:首先,为了生成不完整的API标题,需要准备不同的提示符,假设API包含n个单词,基于API中的.进行单词分割,则需要生成一个随机数Nrand;
S32:然后,生成一个不完整的API,即前缀提示符,将其中最后Nrand个单词屏蔽;
S33:接着,开发人员按线性方式编写API,从第一个单词开始一直到最后一个单词,因此选择屏蔽最后一个连续单词作为屏蔽操作符;
S34:由于研究主要集中在API补全任务上,要求不完整的API至少有一个单词,因此屏蔽操作符最多可以屏蔽n-1个单词;
S35:为了生成不完整的API,采用带有三个不同值的Nrand屏蔽操作符,从而为每个API生成3个不同的不完整标题;
S36:最后,将生成的提示符和原始描述作为建议的模型的输入,最终的输入表示为
5.根据权利要求1所述的基于提示学习和数据增强的API补全方法,其特征在于,所述步骤S4包括以下步骤:
S41:首先,在嵌入层中引入扰动,具体而言,给定输入嵌入序列x,通过多次迭代来寻找最佳扰动δ,生成k个对抗性样本;
S42:随后,利用增强训练集来训练codeT5模型;
S43:在更新参数时,采用k次迭代的平均梯度Gavg。
6.根据权利要求1所述的基于提示学习和数据增强的API补全方法,其特征在于,所述步骤S5包括以下步骤:
S51:在自注意力层中,首先计算查询和键的点积,然后将每个值除以使用softmax函数计算每个值的权重,从而得到输出矩阵;
其中,Q指的是query,即查询、要查询的信息;K指的是key,即索引、被查询的向量、V指的是value,即值、查询到的内容;dk代表k的维,除以k的维度的平方根,使训练时的梯度保持稳定;
S52:前馈网络由两个被Relu激活隔开的线性变换组成;
FFN(x)=max(0,xW1+b1)W2+b2
其中,FFN的指的是Feed Forward Nwtwork,其作用是空间变换;x为输入;W1、B1、W2、B2为可学习的参数;
S53:层规范化应用于每个子组件的输入,在层规范化之后,剩余的跳过连接将每个子组件的输入添加到其输出,编码器的输出被定义为一个隐藏状态向量Xout;
S54:解码器在结构上与编码器相似,但其包含一个掩蔽的自注意力层,以防止模型在训练过程中注意到未知信息;
S55:在解码步骤中,该模型利用编码器输出Xout生成下一个API单词,模型可以通过softmax层预测下一个token的概率;
S56:对于给定的输入文本x,利用损失函数L来训练模型参数θ,使其预测的单词与实际单词的差距最小化;
其中,L表示损失函数;P表示每个类别得到的概率;θ表示模型参数;yi表示样本i的标签。
7.根据权利要求1所述的基于提示学习和数据增强的API补全方法,其特征在于,所述步骤S6包括以下步骤:
S61:首先通过逐个扫描每个步骤的API token使得每个时间步的成本k token最低,其中k表示波束宽度;
S62:在修剪剩余的分支后,它继续为后续的内容选择潜在的token,直到遇到序列结束符号;
S63:最后,模型为每个查询返回k候选API,在beamsearch算法搜索过程中,根据它们的平均概率对生成的候选API进行排序。
8.根据权利要求1所述的基于提示学习和数据增强的API补全方法,其特征在于,参数设置如下:
解码层数:12
Hidden_size:768
最大输入长度:48
最大输出长度:16
Beam_search的大小:10。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310445624.3A CN116483337A (zh) | 2023-04-24 | 2023-04-24 | 一种基于提示学习和数据增强的api补全方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310445624.3A CN116483337A (zh) | 2023-04-24 | 2023-04-24 | 一种基于提示学习和数据增强的api补全方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116483337A true CN116483337A (zh) | 2023-07-25 |
Family
ID=87220865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310445624.3A Pending CN116483337A (zh) | 2023-04-24 | 2023-04-24 | 一种基于提示学习和数据增强的api补全方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483337A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703529A (zh) * | 2023-08-02 | 2023-09-05 | 山东省人工智能研究院 | 基于特征空间语义增强的对比学习推荐方法 |
-
2023
- 2023-04-24 CN CN202310445624.3A patent/CN116483337A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703529A (zh) * | 2023-08-02 | 2023-09-05 | 山东省人工智能研究院 | 基于特征空间语义增强的对比学习推荐方法 |
CN116703529B (zh) * | 2023-08-02 | 2023-10-20 | 山东省人工智能研究院 | 基于特征空间语义增强的对比学习推荐方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444320B (zh) | 文本检索方法、装置、计算机设备和存储介质 | |
US11544474B2 (en) | Generation of text from structured data | |
CN102693309B (zh) | 用于计算机辅助翻译的候选短语查询方法及辅助翻译*** | |
CN110532353B (zh) | 基于深度学习的文本实体匹配方法、***、装置 | |
CN102262634B (zh) | 一种自动问答方法及*** | |
CN104598611B (zh) | 对搜索条目进行排序的方法及*** | |
CN112527999A (zh) | 引入农业领域知识的抽取式智能问答方法及*** | |
CN106326484A (zh) | 搜索词纠错方法及装置 | |
CN103425687A (zh) | 一种基于关键词的检索方法和*** | |
Koehler et al. | Data context informed data wrangling | |
CN105045875A (zh) | 个性化信息检索方法及装置 | |
CN110851584B (zh) | 一种法律条文精准推荐***和方法 | |
CN116151132B (zh) | 一种编程学习场景的智能代码补全方法、***及储存介质 | |
CN112163145B (zh) | 基于编辑距离与余弦夹角的网站检索方法、装置及设备 | |
CN1629837A (zh) | 电子文档的处理、浏览及分类查询的方法、装置及其*** | |
CN113220864B (zh) | 智能问答数据处理*** | |
CN111881264B (zh) | 一种开放领域问答任务中长文本检索的方法和电子设备 | |
US20090234852A1 (en) | Sub-linear approximate string match | |
CN116483337A (zh) | 一种基于提示学习和数据增强的api补全方法 | |
CN112434134A (zh) | 搜索模型训练方法、装置、终端设备及存储介质 | |
CN112464655A (zh) | 中文字符和拼音相结合的词向量表示方法、装置、介质 | |
CN117216226A (zh) | 一种知识定位方法、装置、存储介质及设备 | |
CN111597400A (zh) | 基于寻路算法的计算机检索***及方法 | |
CN106776590A (zh) | 一种获取词条译文的方法及*** | |
CN111444414A (zh) | 一种用于建模ad-hoc检索任务中多样相关特征的信息检索模型 |
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 |