CN114879945A - 面向长尾分布特征的多样化api序列推荐方法及装置 - Google Patents
面向长尾分布特征的多样化api序列推荐方法及装置 Download PDFInfo
- Publication number
- CN114879945A CN114879945A CN202210458179.XA CN202210458179A CN114879945A CN 114879945 A CN114879945 A CN 114879945A CN 202210458179 A CN202210458179 A CN 202210458179A CN 114879945 A CN114879945 A CN 114879945A
- Authority
- CN
- China
- Prior art keywords
- api
- long
- tail
- description information
- word
- 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
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000006870 function Effects 0.000 claims abstract description 31
- 238000005516 engineering process Methods 0.000 claims abstract description 20
- 238000012163 sequencing technique Methods 0.000 claims abstract description 15
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 120
- 239000013598 vector Substances 0.000 claims description 68
- 238000004364 calculation method Methods 0.000 claims description 38
- 238000007781 pre-processing Methods 0.000 claims description 14
- 230000004927 fusion Effects 0.000 claims description 13
- 238000012805 post-processing Methods 0.000 claims description 12
- 230000002194 synthesizing effect Effects 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 8
- 230000002457 bidirectional effect Effects 0.000 claims description 7
- 238000002372 labelling Methods 0.000 claims description 7
- 238000005065 mining Methods 0.000 claims description 7
- 239000012634 fragment Substances 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 230000003595 spectral effect Effects 0.000 claims description 6
- 239000013589 supplement Substances 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 2
- 239000010410 layer Substances 0.000 description 40
- 230000000694 effects Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000007430 reference method Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- FWBHETKCLVMNFS-UHFFFAOYSA-N 4',6-Diamino-2-phenylindol Chemical compound C1=CC(C(=N)N)=CC=C1C1=CC2=CC=C(C(N)=N)C=C2N1 FWBHETKCLVMNFS-UHFFFAOYSA-N 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/37—Compiler construction; Parser generation
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种面向长尾分布特征的多样化API序列推荐方法及装置。本发明中,分析了API的长尾分布,对长尾API聚类后,利用聚类中心替换长尾API,得到重新标签后的数据集,构建了编码器,逐个读取输入,将自然语言的开发者需求查询编码为基于时间步的编码器隐藏状态,构建了解码器,按时间步生成解码器隐藏状态,融合学习排序技术计算损失函数,使用集束搜索进行API序列的输出。因此本发明能够基于开发者自然语言需求生成API序列,提升API序列推荐结果的准确度,在不显著降低API序列推荐结果准确度的情况下,有效提升多样性。
Description
技术领域
本发明涉及软件工程服务推荐技术领域,尤其涉及一种面向长尾分布特征的多样化API序列推荐方法及装置。
背景技术
应用编程接口(Application Programming Interface,API)是软件开发的基石,对于提升软件开发的效率和质量具有重要意义。API的合理调用可以帮助开发者高效完成各类编程任务进而缩短整个软件开发周期。然而,随着API数量井喷式发展,开发人员要熟悉大型库中的所有API并不容易。因此,开发者需要经常通过Google、Stack Overflow等搜索引擎来查找解决任务的API使用序列。这些搜索工具是基于关键词检索来寻找与开发者所搜素的query相似的历史query的答案来作为推荐结果,准确度和效率都比较低下。API序列推荐(API Sequence Recommendation)可以根据开发者的需求query,从海量的API中找到开发者适合的API序列从而提高编程效率。
多样化API序列推荐(DiversifiedAPI Recommendation)是一种对于API序列的多样化的推荐,能够基于需求给予开发人员多样化的API序列的选择。多样化的API推荐对于开发者编程尤为重要,可以提高那些目前出现频率低但是总量很大的API的曝光率,进而提高整个行业生态的健康发展。对于部分较为偏僻的软件开发领域,可以领先更加优质的接口调用,大大提高软件制品开发的效率。
近年来,研究人员提出了许多方法对API进行推荐,但现有技术中的API推荐方法主要研究了API推荐的准确性,忽视了API序列的多样性的需求。现有的API推荐方法往往将长尾API从数据集中删除,使其推荐结果区域流行的API,无法推荐出长尾API,影响API推荐结果的多样性。
发明内容
为解决上述技术问题,本发明提供一种面向长尾分布特征的多样化API序列推荐方法及装置。
第一方面,本发明提供一种面向长尾分布特征的多样化API序列推荐方法,所述面向长尾分布特征的多样化API序列推荐方法包括:
S1:获取原始数据集,对原始数据集进行分析及数据预处理,将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集;
S2:构建编码器,对于自然语言的开发者需求,逐单词利用词嵌入技术生成词向量后输入到编码器中,编码为基于时间步的编码器隐藏状态;
S3:构建解码器,按基于时间步的编码器隐藏状态基于注意力机制生成解码器隐藏状态,解码器隐藏状态经融合学习排序方法的损失函数评估序列得分后利用集束搜索后处理生成多样化API序列。
可选的,所述将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集包括:
S1.1:从获取的原始数据集中提取所有的需求-API序列对,对需求进行去停用词,对API序列使用启发式规则将API单词和符号片段合成为完整的API作为推荐的最小单元;
S1.2:遍历原始数据集中经处理后的所有API,统计其出现的频率,得到API的长尾分布,获取到长尾API的集合;
S1.3:下载Java SE 8文档,使用启发式规则解析每个API的HTML网页提取API及其描述信息,挖掘具有继承关系的API的描述信息互相作为描述信息的补充,形成API的描述信息集合;
S1.4:对于所有的API描述信息,构建描述信息词IDF逆文档频率字典,计算公式为:
其中,IDFword表示单词word的IDF值,|D|表示描述信息的数量,Di表示第i条描述信息;
S1.5:根据步骤1.4得到的描述信息的IDF字典,利用BM25算法计算长尾API的两段描述信息之间的相似度,其计算公式为:
S1.6:根据步骤1.3得到的每个长尾API的描述信息集合,第一条为长尾API自身的功能描述信息,其他为具有继承关系的描述信息,设立信号量,将自身的描述信息信号量设为1,由继承关系获取到的描述信息信号量设为0.8,两个长尾API之间的描述信息相似度由两个API之间的所有描述信息相似度最大值得到,计算公式如下:
S1.7:两个长尾API之间的名字相似度根据最小编辑距离来计算,其计算公式如下:
S1.8:将步骤1.6和步骤1.7分别得到的两个长尾API之间的描述信息相似度和名字相似度,经归一化并设定最小阈值后,分为给予不同的权重,求得两个长尾API的相似度分数,其计算公式如下:
其中α和β为权重,δ1和δ2为阈值,均根据实际需要进行设置;
S1.9:根据步骤1.8得到的长尾API间的相似度分数,利用谱聚类算法将长尾API进行聚类,并把聚类中心替换掉长尾API,形成重新打标签后的数据集。
可选的,所述对原始数据集进行分析及数据预处理包括:
删除原始数据集中重复的需求-API序列对以及存在错误的需求-API序列对。
可选的,S2包括:
S2.1:给定开发者的自然语言需求查询,将其经数据预处理后划分为单词序列,通过词嵌入技术,将每个单词都转化为词向量xi;
S2.2:构建编码器,编码器是一个标准的双向LSTM网络,按照时间步t根据前一个时间步前向隐藏层状态、后一个时间步反向隐藏层状态和当前输入的词向量计算出当前的隐藏层状态ht:
S2.3:通过编码器的输出层得到每个时间步t的编码器的隐藏状态,作为解码器的输入。
可选的,所述S3包括:
S3.1:获取解码器的注意力分配:
ct=∑αtjhj
S3.2:解码器的输入为目标序列上一个词的词向量yt-1、前一个时间步解码器生成的隐藏层状态st-1以及注意力分配向量ct,其中词向量利用概率选择是训练样本词向量和生成词向量;
S3.3:构建解码器,解码器是一个GRU网络,基于步骤3.2中的输入,生成当前时间步生成的序列当前状态:
S3.4:通过解码器输出的序列当前状态融合学习排序方法,基于生成的序列当前状态的排序损失函数模型,评价生成的预测值和数据集标签中真实值不一样的程度,其计算方式如下:
L=-logP(π|f(x))
S3.5:利用集束搜素的后处理技术,得到若干个API序列。
第二方面,本发明还提供一种面向长尾分布特征的多样化API序列推荐装置,所述面向长尾分布特征的多样化API序列推荐装置包括:
重新构建数据集标签模块,用于获取原始数据集,对原始数据集进行分析及数据预处理,将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集;
编码器模块,用于构建编码器,对于自然语言的开发者需求,逐单词利用词嵌入技术生成词向量后输入到编码器中,编码为基于时间步的编码器隐藏状态;
解码器模块,用于构建解码器,按基于时间步的编码器隐藏状态基于注意力机制生成解码器隐藏状态,解码器隐藏状态经融合学习排序方法的损失函数评估序列得分后利用集束搜索后处理生成多样化API序列。
可选的,所述重新构建数据集标签模块,用于:
S1.1:从获取的原始数据集中提取所有的需求-API序列对,对需求进行去停用词,对API序列使用启发式规则将API单词和符号片段合成为完整的API作为推荐的最小单元;
S1.2:遍历原始数据集中经处理后的所有API,统计其出现的频率,得到API的长尾分布,获取到长尾API的集合;
S1.3:下载Java SE 8文档,使用启发式规则解析每个API的HTML网页提取API及其描述信息,挖掘具有继承关系的API的描述信息互相作为描述信息的补充,形成API的描述信息集合;
S1.4:对于所有的API描述信息,构建描述信息词IDF逆文档频率字典,计算公式为:
其中,IDFword表示单词word的IDF值,|D|表示描述信息的数量,Di表示第i条描述信息;
S1.5:根据步骤1.4得到的描述信息的IDF字典,利用BM25算法计算长尾API的两段描述信息之间的相似度,其计算公式为:
S1.6:根据步骤1.3得到的每个长尾API的描述信息集合,第一条为长尾API自身的功能描述信息,其他为具有继承关系的描述信息,设立信号量,将自身的描述信息信号量设为1,由继承关系获取到的描述信息信号量设为0.8,两个长尾API之间的描述信息相似度由两个API之间的所有描述信息相似度最大值得到,计算公式如下:
S1.7:两个长尾API之间的名字相似度根据最小编辑距离来计算,其计算公式如下:
S1.8:将步骤1.6和步骤1.7分别得到的两个长尾API之间的描述信息相似度和名字相似度,经归一化并设定最小阈值后,分为给予不同的权重,求得两个长尾API的相似度分数,其计算公式如下:
其中α和β为权重,δ1和δ2为阈值,均根据实际需要进行设置;
S1.9:根据步骤1.8得到的长尾API间的相似度分数,利用谱聚类算法将长尾API进行聚类,并把聚类中心替换掉长尾API,形成重新打标签后的数据集。
可选的,所述重新构建数据集标签模块,用于:
删除原始数据集中重复的需求-API序列对以及存在错误的需求-API序列对。
可选的,所述编码器模块,用于:
S2.1:给定开发者的自然语言需求查询,将其经数据预处理后划分为单词序列,通过词嵌入技术,将每个单词都转化为词向量xi;
S2.2:构建编码器,编码器是一个标准的双向LSTM网络,按照时间步t根据前一个时间步前向隐藏层状态、后一个时间步反向隐藏层状态和当前输入的词向量计算出当前的隐藏层状态ht:
S2.3:通过编码器的输出层得到每个时间步t的编码器的隐藏状态,作为解码器的输入。
可选的,所述解码器模块,用于:
S3.1:获取解码器的注意力分配:
ct=∑αtjhj
S3.2:解码器的输入为目标序列上一个词的词向量yt-1、前一个时间步解码器生成的隐藏层状态st-1以及注意力分配向量ct,其中词向量利用概率选择是训练样本词向量和生成词向量;
S3.3:构建解码器,解码器是一个GRU网络,基于步骤3.2中的输入,生成当前时间步生成的序列当前状态:
S3.4:通过解码器输出的序列当前状态融合学习排序方法,基于生成的序列当前状态的排序损失函数模型,评价生成的预测值和数据集标签中真实值不一样的程度,其计算方式如下:
L=-logP(π|f(x))
S3.5:利用集束搜素的后处理技术,得到若干个API序列。
本发明中,分析了API的长尾分布,对长尾API聚类后,利用聚类中心替换长尾API,得到重新标签后的数据集,构建了编码器,逐个读取输入,将自然语言的开发者需求查询编码为基于时间步的编码器隐藏状态,构建了解码器,按时间步生成解码器隐藏状态,融合学习排序技术计算损失函数,使用集束搜索进行API序列的输出。因此本发明能够基于开发者自然语言需求生成API序列,提升API序列推荐结果的准确度,在不显著降低API序列推荐结果准确度的情况下,有效提升多样性。
附图说明
图1为本发明面向长尾分布特征的多样化API序列推荐方法一实施例的流程示意图;
图2为本发明面向长尾分布特征的多样化API序列推荐方法一实施例中对数据集重新打标签的场景示意图;
图3为编码器内部单层隐藏层网络结构图;
图4为本发明实施例采用的模型的结构图;
图5为本发明面向长尾分布特征的多样化API序列推荐装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供了一种面向长尾分布特征的多样化API序列推荐方法。
一实施例中,参照图1,图1为本发明面向长尾分布特征的多样化API序列推荐方法一实施例的流程示意图。如图1所示,面向长尾分布特征的多样化API序列推荐方法包括:
S1:获取原始数据集,对原始数据集进行分析及数据预处理,将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集;
本实施例中,对于收集到的原始数据集,该数据集挖掘Github中star>1的java项目,提取自然语言的annotation和API序列对,将annotation视为开发者的需求查询。执行步骤S1,对其中重复或者存在错误的查询-API序列对经启发式规则和人工筛选相结合的方式进行清洗。对于API,使用启发式规则,将数据集中的API单词和符号片段合并成完整的API。之后如图2所示,从Java SE 8描述文档中挖掘每个API的描述信息,并分析数据集中的API,得到API的长尾分布,用API的描述信息计算长尾API间的描述信息相似度,使用编辑距离来计算长尾API的名字相似度,经归一化后给予不同权重求和得到长尾API之间的相似度矩阵,经聚类后,利用聚类中心替换数据集中的长尾API,得到重新打标签后的数据集。
S2:构建编码器,对于自然语言的开发者需求,逐单词利用词嵌入技术生成词向量后输入到编码器中,编码为基于时间步的编码器隐藏状态;
本实施例中,搭建编码器模型,将自然语言查询转化为编码器隐藏层状态,后生成上下文向量。从数据集中将开发者需求查询逐个单词经embedding向量化之后传入编码器中,图3为编码器内部单层隐藏层网络结构图,编码器的隐藏层是双向LSTM网络。经如图3中的双向LSTM网络作为隐藏层计算单词的隐藏状态,通过隐藏状态计算上下文向量输入到解码器中的注意力网络。
S3:构建解码器,按基于时间步的编码器隐藏状态基于注意力机制生成解码器隐藏状态,解码器隐藏状态经融合学习排序方法的损失函数评估序列得分后利用集束搜索后处理生成多样化API序列。
本实施例中,参照图4,本实施例采用的模型的结构为基于RNN的编码器-解码器结构,编码器与解码器之间通过注意力机制连接,解码器与正确标签计算损失函数后经集束搜索生成API序列。
进一步地,为了取得最佳的参数来得到模型的最佳效果,需要对本发明模型中的参数进行对比。
BLEU是一种广泛应用于机器翻译任务的准确性度量方法,来评价翻译出的语言序列同参考语言序列的接近程度。在我们的API序列推荐任务中,将通过开发者的查询生成的一系列API序列集合视为候补API序列,将伪ground truth中的API序列视为参考API序列,使用BLEU来评估模型生成的候补API序列同真实生产环境下开发者写的参考API序列的接近程度,它实际上是计算候补序列在参考序列的n-gram命中率。其计算公式如下:
MAP(Mean Average Precision)是对于开发者的查询的mean of the averageprecision分数。
MRR(Mean Reciprocal Rank)计算了参考API序列的每个API在候补API序列的第一个出现位置的倒数,将其相加后再求平均数。
NDCG(Normalized Discounted Cumulative Gain)可以用来评估候选API序列的排序结果。
考虑到API出现在候选API序列中顺序的因素,使排名靠前的增益更高,排名靠后的分数有一定的折损。IDCGAPI,@K相当于是max(DCGAPI,@K),对分数来做归一化。
覆盖度:我们使用覆盖度来评估API序列推荐的多样性,表示所有推荐列表中暴露的项目在总项目中的比例,在我们的评价中将其定义为所有候补API序列列表中暴露在API在词表中API的比例。
本实施例使用的原始数据集是DeepAPI开源的数据集,其从Github中挖掘star>1的java项目,将注释视为数据集中的查询语句,将代码经AST解析后生成的API序列作为解决查询语句的答案。但是该原始数据集的验证集和测试集中几乎没有包含长尾API的查询,为验证我们模型的多样性,按训练集、验证集和测试集查询语句数量100:1:1的比例划分构建一个新的数据集,称为多样化数据集,其中按照数据集中的流行API和长尾API的分布情况,进行分层随机取样,保持多样化数据集的训练集、验证集、测试集中流行API和长尾API是同等分布。
对词嵌入维度进行对比,词嵌入维度往往决定了模型对于查询的单词或者API的特征学习能力。由实验得知在原始数据集和多样化数据集中当词嵌入维度为512时,BLUE、MAP、MRR、NDCG指标均取得了最佳效果,在原始数据集分别为78.25%,86.83%,81.80%,73.31%,在多样化数据集中分别为32.21%,44.93%,44.80%,45.26%。因此,本实施例将词嵌入维度设置为512,使得模型可以有很好的特征学习能力。
对隐藏层层数和单元数对比,在原始数据集中,当隐藏层层数为3,隐藏单元个数为1000时,BLEU、MAP、MRR指标取得了最佳效果,分别为78.25%、86.83%、81.80%,NDCG指标在隐藏层层数为2,隐藏单元个数为1500时取得最佳效果,为73.81%;在多样化数据集中,当隐藏层层数为2,隐藏单元个数为1500时,BLEU、MRR、NDCG指标取得了最佳效果,分别为32.52%、44.86%、45.35%,NDCG指标在隐藏层层数为3,隐藏单元个数为1500时取得最佳效果,为44.93%。
表1和表2是本实施例与基准方法在推荐Top-10API序列的性能对比表,基准方法为DeepAPI、BIKER以及CodeTrans,准确度评价指标为BLEU、MAP、MRR和NDCG,多样性评价指标为覆盖度(coverage)。表1是在原始数据集上的对比,主要来评估准确度,表2是在多样化数据集上的对比,主要来评估多样性。由表1可以看出与基线方法相比,本实施例提升了API序列推荐的准确度。由表2可以看出本实施例在显著提升推荐结果多样性时,没有损害准确度指标。
表1原始数据集性能对比表
DeepAPI | BIKER | CodeTrans | 本实施例 | |
BLEU | 37.38% | 0 | 50.06% | 78.25% |
MAP | 43.74% | 45.13% | 65.15% | 86.84% |
MRR | 41.68% | 16.86% | 57.62% | 81.80% |
NDCG | 35.45% | 5.88% | 34.20% | 73.16% |
表2多样化数据集性能对比表
DeepAPI | BIKER | CodeTrans | 本实施例 | |
BLEU | 9.43% | 0 | 24.77% | 32.21% |
MAP | 18.15% | 5.54% | 33.75% | 44.93% |
MRR | 15.85% | 1.63% | 23.31% | 44.80% |
NDCG | 15.06% | 0.39% | 13.24% | 45.26% |
coverage | 3.29% | 3.19% | 7.44% | 10.64% |
搭建解码器模型,将上下文向量转化为API序列。构建解码器的注意力机制网络部分,注意力机制网络中包含有query、key以及value三个输入部分,分别由编码器最后一个单词的隐藏状态、编码器所有单词的隐藏状态和编码器所有单词的隐藏状态所组成,其中key和value的值相等,注意力机制网络可以为解码器的每个时间步提供一个不同的上下文向量。构建解码器的隐藏层,使用GRU网络作为编码器的隐藏层,根据上下文向量、上一个时间步的输出或是正确的标签词嵌入向量和隐藏状态构建当前时间步的隐藏状态,融合学习排序方法计算损失函数,最后利用集束搜索得出API序列。
本实施例中,分析了API的长尾分布,对长尾API聚类后,利用聚类中心替换长尾API,得到重新标签后的数据集,构建了编码器,逐个读取输入,将自然语言的开发者需求查询编码为基于时间步的编码器隐藏状态,构建了解码器,按时间步生成解码器隐藏状态,融合学习排序技术计算损失函数,使用集束搜索进行API序列的输出。因此本实施例能够基于开发者自然语言需求生成API序列,提升API序列推荐结果的准确度,在不显著降低API序列推荐结果准确度的情况下,有效提升多样性。
进一步地,一实施例中,所述将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集包括:
S1.1:从获取的原始数据集中提取所有的需求-API序列对,对需求进行去停用词,对API序列使用启发式规则将API单词和符号片段合成为完整的API作为推荐的最小单元;
S1.2:遍历原始数据集中经处理后的所有API,统计其出现的频率,得到API的长尾分布,获取到长尾API的集合;
S1.3:下载Java SE 8文档,使用启发式规则解析每个API的HTML网页提取API及其描述信息,挖掘具有继承关系的API的描述信息互相作为描述信息的补充,形成API的描述信息集合;
S1.4:对于所有的API描述信息,构建描述信息词IDF逆文档频率字典,计算公式为:
其中,IDFword表示单词word的IDF值,|D|表示描述信息的数量,Di表示第i条描述信息;
S1.5:根据步骤1.4得到的描述信息的IDF字典,利用BM25算法计算长尾API的两段描述信息之间的相似度,其计算公式为:
其中,可根据经验取k1=1.25,b=0.75,k3=1.25。
S1.6:根据步骤1.3得到的每个长尾API的描述信息集合,第一条为长尾API自身的功能描述信息,其他为具有继承关系的描述信息,设立信号量,将自身的描述信息信号量设为1,由继承关系获取到的描述信息信号量设为0.8,两个长尾API之间的描述信息相似度由两个API之间的所有描述信息相似度最大值得到,计算公式如下:
S1.7:两个长尾API之间的名字相似度根据最小编辑距离来计算,其计算公式如下:
S1.8:将步骤1.6和步骤1.7分别得到的两个长尾API之间的描述信息相似度和名字相似度,经归一化并设定最小阈值后,分为给予不同的权重,求得两个长尾API的相似度分数,其计算公式如下:
其中α和β为权重,δ1和δ2为阈值,均根据实际需要进行设置,例如,α和β可分别设为0.8和0.2,δ1和δ2均设为0.2。
S1.9:根据步骤1.8得到的长尾API间的相似度分数,利用谱聚类算法将长尾API进行聚类,并把聚类中心替换掉长尾API,形成重新打标签后的数据集。
进一步地,一实施例中,所述对原始数据集进行分析及数据预处理包括:
删除原始数据集中重复的需求-API序列对以及存在错误的需求-API序列对。
本实施例中,经启发式规则和人工筛选相结合的方式删除原始数据集中重复的需求-API序列对以及存在错误的需求-API序列对。
进一步地,一实施例中,S2包括:
S2.1:给定开发者的自然语言需求查询Q,将其经数据预处理后划分为单词序列q1,q2,…,qn,通过词嵌入技术,将每个单词都转化为词向量xi,其中,xi=Embedding(qi);
S2.2:构建编码器,编码器是一个标准的双向LSTM网络,按照时间步t根据前一个时间步前向隐藏层状态、后一个时间步反向隐藏层状态和当前输入的词向量计算出当前的隐藏层状态ht:
S2.3:通过编码器的输出层得到每个时间步t的编码器的隐藏状态,作为解码器的输入。
进一步地,一实施例中,S3包括:
S3.1:获取解码器的注意力分配:
ct=∑αtjhj
S3.2:解码器的输入为目标序列上一个词的词向量yt-1、前一个时间步解码器生成的隐藏层状态st-1以及注意力分配向量ct,其中词向量利用概率选择是训练样本词向量和生成词向量;
S3.3:构建解码器,解码器是一个GRU网络,基于步骤3.2中的输入,生成当前时间步生成的序列当前状态:
S3.4:通过解码器输出的序列当前状态融合学习排序方法,基于生成的序列当前状态的排序损失函数模型,评价生成的预测值和数据集标签中真实值不一样的程度,其计算方式如下:
L=-logP(π|f(x))
S3.5:利用集束搜素的后处理技术,得到若干个API序列。
第二方面,本发明实施例还提供一种面向长尾分布特征的多样化API序列推荐装置。
一实施例中,参照图5,图5为本发明面向长尾分布特征的多样化API序列推荐装置一实施例的功能模块示意图。如图5所示,面向长尾分布特征的多样化API序列推荐装置包括:
重新构建数据集标签模块10,用于获取原始数据集,对原始数据集进行分析及数据预处理,将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集;
编码器模块20,用于构建编码器,对于自然语言的开发者需求,逐单词利用词嵌入技术生成词向量后输入到编码器中,编码为基于时间步的编码器隐藏状态;
解码器模块30,用于构建解码器,按基于时间步的编码器隐藏状态基于注意力机制生成解码器隐藏状态,解码器隐藏状态经融合学习排序方法的损失函数评估序列得分后利用集束搜索后处理生成多样化API序列。
进一步地,一实施例中,所述重新构建数据集标签模块10,用于:
S1.1:从获取的原始数据集中提取所有的需求-API序列对,对需求进行去停用词,对API序列使用启发式规则将API单词和符号片段合成为完整的API作为推荐的最小单元;
S1.2:遍历原始数据集中经处理后的所有API,统计其出现的频率,得到API的长尾分布,获取到长尾API的集合;
S1.3:下载Java SE 8文档,使用启发式规则解析每个API的HTML网页提取API及其描述信息,挖掘具有继承关系的API的描述信息互相作为描述信息的补充,形成API的描述信息集合;
S1.4:对于所有的API描述信息,构建描述信息词IDF逆文档频率字典,计算公式为:
其中,IDFword表示单词word的IDF值,|D|表示描述信息的数量,Di表示第i条描述信息;
S1.5:根据步骤1.4得到的描述信息的IDF字典,利用BM25算法计算长尾API的两段描述信息之间的相似度,其计算公式为:
S1.6:根据步骤1.3得到的每个长尾API的描述信息集合,第一条为长尾API自身的功能描述信息,其他为具有继承关系的描述信息,设立信号量,将自身的描述信息信号量设为1,由继承关系获取到的描述信息信号量设为0.8,两个长尾API之间的描述信息相似度由两个API之间的所有描述信息相似度最大值得到,计算公式如下:
S1.7:两个长尾API之间的名字相似度根据最小编辑距离来计算,其计算公式如下:
S1.8:将步骤1.6和步骤1.7分别得到的两个长尾API之间的描述信息相似度和名字相似度,经归一化并设定最小阈值后,分为给予不同的权重,求得两个长尾API的相似度分数,其计算公式如下:
其中α和β为权重,δ1和δ2为阈值,均根据实际需要进行设置;
S1.9:根据步骤1.8得到的长尾API间的相似度分数,利用谱聚类算法将长尾API进行聚类,并把聚类中心替换掉长尾API,形成重新打标签后的数据集。
进一步地,一实施例中,所述重新构建数据集标签模块10,用于:
删除原始数据集中重复的需求-API序列对以及存在错误的需求-API序列对。
进一步地,一实施例中,所述编码器模块20,用于:
S2.1:给定开发者的自然语言需求查询,将其经数据预处理后划分为单词序列,通过词嵌入技术,将每个单词都转化为词向量xi;
S2.2:构建编码器,编码器是一个标准的双向LSTM网络,按照时间步t根据前一个时间步前向隐藏层状态、后一个时间步反向隐藏层状态和当前输入的词向量计算出当前的隐藏层状态ht:
S2.3:通过编码器的输出层得到每个时间步t的编码器的隐藏状态,作为解码器的输入。
进一步地,一实施例中,所述解码器模块30,用于:
S3.1:获取解码器的注意力分配:
ct=∑αtjhj
S3.2:解码器的输入为目标序列上一个词的词向量yt-1、前一个时间步解码器生成的隐藏层状态st-1以及注意力分配向量ct,其中词向量利用概率选择是训练样本词向量和生成词向量;
S3.3:构建解码器,解码器是一个GRU网络,基于步骤3.2中的输入,生成当前时间步生成的序列当前状态:
S3.4:通过解码器输出的序列当前状态融合学习排序方法,基于生成的序列当前状态的排序损失函数模型,评价生成的预测值和数据集标签中真实值不一样的程度,其计算方式如下:
L=-logP(π|f(x))
S3.5:利用集束搜素的后处理技术,得到若干个API序列。
其中,上述面向长尾分布特征的多样化API序列推荐装置中各个模块的功能实现与上述面向长尾分布特征的多样化API序列推荐方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种面向长尾分布特征的多样化API序列推荐方法,其特征在于,所述面向长尾分布特征的多样化API序列推荐方法包括:
S1:获取原始数据集,对原始数据集进行分析及数据预处理,将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集;
S2:构建编码器,对于自然语言的开发者需求,逐单词利用词嵌入技术生成词向量后输入到编码器中,编码为基于时间步的编码器隐藏状态;
S3:构建解码器,按基于时间步的编码器隐藏状态基于注意力机制生成解码器隐藏状态,解码器隐藏状态经融合学习排序方法的损失函数评估序列得分后利用集束搜索后处理生成多样化API序列。
2.如权利要求1所述的面向长尾分布特征的多样化API序列推荐方法,其特征在于,所述将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集包括:
S1.1:从获取的原始数据集中提取所有的需求-API序列对,对需求进行去停用词,对API序列使用启发式规则将API单词和符号片段合成为完整的API作为推荐的最小单元;
S1.2:遍历原始数据集中经处理后的所有API,统计其出现的频率,得到API的长尾分布,获取到长尾API的集合;
S1.3:下载Java SE 8文档,使用启发式规则解析每个API的HTML网页提取API及其描述信息,挖掘具有继承关系的API的描述信息互相作为描述信息的补充,形成API的描述信息集合;
S1.4:对于所有的API描述信息,构建描述信息词IDF逆文档频率字典,计算公式为:
其中,IDFword表示单词word的IDF值,|D|表示描述信息的数量,Di表示第i条描述信息;
S1.5:根据步骤1.4得到的描述信息的IDF字典,利用BM25算法计算长尾API的两段描述信息之间的相似度,其计算公式为:
S1.6:根据步骤1.3得到的每个长尾API的描述信息集合,第一条为长尾API自身的功能描述信息,其他为具有继承关系的描述信息,设立信号量,将自身的描述信息信号量设为1,由继承关系获取到的描述信息信号量设为0.8,两个长尾API之间的描述信息相似度由两个API之间的所有描述信息相似度最大值得到,计算公式如下:
S1.7:两个长尾API之间的名字相似度根据最小编辑距离来计算,其计算公式如下:
S1.8:将步骤1.6和步骤1.7分别得到的两个长尾API之间的描述信息相似度和名字相似度,经归一化并设定最小阈值后,分为给予不同的权重,求得两个长尾API的相似度分数,其计算公式如下:
其中α和β为权重,δ1和δ2为阈值,均根据实际需要进行设置;
S1.9:根据步骤1.8得到的长尾API间的相似度分数,利用谱聚类算法将长尾API进行聚类,并把聚类中心替换掉长尾API,形成重新打标签后的数据集。
3.如权利要求2所述的面向长尾分布特征的多样化API序列推荐方法,其特征在于,所述对原始数据集进行分析及数据预处理包括:
删除原始数据集中重复的需求-API序列对以及存在错误的需求-API序列对。
5.如权利要求1所述的面向长尾分布特征的多样化API序列推荐方法,其特征在于,所述S3包括:
S3.1:获取解码器的注意力分配:
ct=∑αtjhj
S3.2:解码器的输入为目标序列上一个词的词向量yt-1、前一个时间步解码器生成的隐藏层状态st-1以及注意力分配向量ct,其中词向量利用概率选择是训练样本词向量和生成词向量;
S3.3:构建解码器,解码器是一个GRU网络,基于步骤3.2中的输入,生成当前时间步生成的序列当前状态:
S3.4:通过解码器输出的序列当前状态融合学习排序方法,基于生成的序列当前状态的排序损失函数模型,评价生成的预测值和数据集标签中真实值不一样的程度,其计算方式如下:
L=-logP(π|f(x))
S3.5:利用集束搜素的后处理技术,得到若干个API序列。
6.一种面向长尾分布特征的多样化API序列推荐装置,其特征在于,所述面向长尾分布特征的多样化API序列推荐装置包括:
重新构建数据集标签模块,用于获取原始数据集,对原始数据集进行分析及数据预处理,将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集;
编码器模块,用于构建编码器,对于自然语言的开发者需求,逐单词利用词嵌入技术生成词向量后输入到编码器中,编码为基于时间步的编码器隐藏状态;
解码器模块,用于构建解码器,按基于时间步的编码器隐藏状态基于注意力机制生成解码器隐藏状态,解码器隐藏状态经融合学习排序方法的损失函数评估序列得分后利用集束搜索后处理生成多样化API序列。
7.如权利要求6所述的面向长尾分布特征的多样化API序列推荐装置,其特征在于,所述重新构建数据集标签模块,用于:
S1.1:从获取的原始数据集中提取所有的需求-API序列对,对需求进行去停用词,对API序列使用启发式规则将API单词和符号片段合成为完整的API作为推荐的最小单元;
S1.2:遍历原始数据集中经处理后的所有API,统计其出现的频率,得到API的长尾分布,获取到长尾API的集合;
S1.3:下载Java SE 8文档,使用启发式规则解析每个API的HTML网页提取API及其描述信息,挖掘具有继承关系的API的描述信息互相作为描述信息的补充,形成API的描述信息集合;
S1.4:对于所有的API描述信息,构建描述信息词IDF逆文档频率字典,计算公式为:
其中,IDFwprd表示单词word的IDF值,|D|表示描述信息的数量,Di表示第i条描述信息;
S1.5:根据步骤1.4得到的描述信息的IDF字典,利用BM25算法计算长尾API的两段描述信息之间的相似度,其计算公式为:
S1.6:根据步骤1.3得到的每个长尾API的描述信息集合,第一条为长尾API自身的功能描述信息,其他为具有继承关系的描述信息,设立信号量,将自身的描述信息信号量设为1,由继承关系获取到的描述信息信号量设为0.8,两个长尾API之间的描述信息相似度由两个API之间的所有描述信息相似度最大值得到,计算公式如下:
S1.7:两个长尾API之间的名字相似度根据最小编辑距离来计算,其计算公式如下:
S1.8:将步骤1.6和步骤1.7分别得到的两个长尾API之间的描述信息相似度和名字相似度,经归一化并设定最小阈值后,分为给予不同的权重,求得两个长尾API的相似度分数,其计算公式如下:
其中α和β为权重,δ1和δ2为阈值,均根据实际需要进行设置;
S1.9:根据步骤1.8得到的长尾API间的相似度分数,利用谱聚类算法将长尾API进行聚类,并把聚类中心替换掉长尾API,形成重新打标签后的数据集。
8.如权利要求7所述的面向长尾分布特征的多样化API序列推荐装置,其特征在于,所述重新构建数据集标签模块,用于:
删除原始数据集中重复的需求-API序列对以及存在错误的需求-API序列对。
10.如权利要求6所述的面向长尾分布特征的多样化API序列推荐装置,其特征在于,所述解码器模块,用于:
S3.1:获取解码器的注意力分配:
ct=∑αtjhj
S3.2:解码器的输入为目标序列上一个词的词向量yt-1、前一个时间步解码器生成的隐藏层状态st-1以及注意力分配向量ct,其中词向量利用概率选择是训练样本词向量和生成词向量;
S3.3:构建解码器,解码器是一个GRU网络,基于步骤3.2中的输入,生成当前时间步生成的序列当前状态:
S3.4:通过解码器输出的序列当前状态融合学习排序方法,基于生成的序列当前状态的排序损失函数模型,评价生成的预测值和数据集标签中真实值不一样的程度,其计算方式如下:
L=-logP(π|f(x))
S3.5:利用集束搜素的后处理技术,得到若干个API序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210458179.XA CN114879945B (zh) | 2022-04-27 | 2022-04-27 | 面向长尾分布特征的多样化api序列推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210458179.XA CN114879945B (zh) | 2022-04-27 | 2022-04-27 | 面向长尾分布特征的多样化api序列推荐方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114879945A true CN114879945A (zh) | 2022-08-09 |
CN114879945B CN114879945B (zh) | 2024-07-16 |
Family
ID=82671151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210458179.XA Active CN114879945B (zh) | 2022-04-27 | 2022-04-27 | 面向长尾分布特征的多样化api序列推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114879945B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116203929B (zh) * | 2023-03-01 | 2024-01-05 | 中国矿业大学 | 一种面向长尾分布数据的工业过程故障诊断方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021159448A1 (zh) * | 2020-02-14 | 2021-08-19 | 中国科学院深圳先进技术研究院 | 一种基于序列推荐系统的通用网络压缩框架和压缩方法 |
WO2021184311A1 (zh) * | 2020-03-19 | 2021-09-23 | 中山大学 | 一种自动生成可推理问答的方法和装置 |
CN114357146A (zh) * | 2021-12-13 | 2022-04-15 | 武汉大学 | 一种基于lstm和多样化集束搜索的多样化api推荐方法及装置 |
-
2022
- 2022-04-27 CN CN202210458179.XA patent/CN114879945B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021159448A1 (zh) * | 2020-02-14 | 2021-08-19 | 中国科学院深圳先进技术研究院 | 一种基于序列推荐系统的通用网络压缩框架和压缩方法 |
WO2021184311A1 (zh) * | 2020-03-19 | 2021-09-23 | 中山大学 | 一种自动生成可推理问答的方法和装置 |
CN114357146A (zh) * | 2021-12-13 | 2022-04-15 | 武汉大学 | 一种基于lstm和多样化集束搜索的多样化api推荐方法及装置 |
Non-Patent Citations (1)
Title |
---|
印桂生;张亚楠;董红斌;董宇欣;: "一种由长尾分布约束的推荐方法", 计算机研究与发展, no. 09, 15 September 2013 (2013-09-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116203929B (zh) * | 2023-03-01 | 2024-01-05 | 中国矿业大学 | 一种面向长尾分布数据的工业过程故障诊断方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114879945B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hulsebos et al. | Gittables: A large-scale corpus of relational tables | |
CN109344250B (zh) | 基于医保数据的单病种诊断信息快速结构化方法 | |
CN101430695B (zh) | 用于计算单词之间的差相关度的系统和方法 | |
US20220237230A1 (en) | System and method for automated file reporting | |
CN112632228A (zh) | 一种基于文本挖掘的辅助评标方法及系统 | |
CN103309886A (zh) | 一种基于交易平台的结构化信息搜索方法和装置 | |
CN112051986B (zh) | 基于开源知识的代码搜索推荐装置及方法 | |
CN115545671B (zh) | 一种法律法规结构化处理的方法、系统 | |
CN113836896A (zh) | 一种基于深度学习的专利文本摘要生成方法和装置 | |
CN112131341A (zh) | 文本相似度计算方法、装置、电子设备和存储介质 | |
CN112818117A (zh) | 标签映射方法、系统、计算机可读存储介质 | |
CN117891939A (zh) | 粒子群算法结合cnn卷积神经网络的文本分类方法 | |
CN114879945A (zh) | 面向长尾分布特征的多样化api序列推荐方法及装置 | |
CN117574858A (zh) | 一种基于大语言模型的类案检索报告自动生成方法 | |
CN114077661A (zh) | 信息处理装置、信息处理方法和计算机可读介质 | |
CN111104492B (zh) | 一种基于层次化Attention机制的民航领域自动问答方法 | |
CN117236324A (zh) | 基于tf-idf的关键词提取方法 | |
CN114783446B (zh) | 一种基于对比预测编码的语音识别方法及系统 | |
CN109918495A (zh) | 一种面向交通事故责任纠纷案件的法条推荐方法 | |
CN111045716B (zh) | 一种基于异构数据的相关补丁推荐方法 | |
Naseria et al. | Accelerating Legislation Processes through Semantic Similarity Analysis with BERT-based Deep Learning | |
CN115374108B (zh) | 一种基于知识图谱技术的数据标准生成与自动映射方法 | |
CN114297479B (zh) | 一种结合LDA主题模型和GloVe词向量技术的API推荐方法 | |
CN114118085B (zh) | 一种文本信息的处理方法、装置及设备 | |
CN109977269B (zh) | 一种针对xml文件的数据自适应融合方法 |
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 |