CN109670022A - 一种基于语义相似度的Java应用程序接口使用模式推荐方法 - Google Patents
一种基于语义相似度的Java应用程序接口使用模式推荐方法 Download PDFInfo
- Publication number
- CN109670022A CN109670022A CN201811526803.5A CN201811526803A CN109670022A CN 109670022 A CN109670022 A CN 109670022A CN 201811526803 A CN201811526803 A CN 201811526803A CN 109670022 A CN109670022 A CN 109670022A
- Authority
- CN
- China
- Prior art keywords
- use pattern
- programming interfaces
- similarity
- application programming
- bag
- 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
Classifications
-
- 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
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开一种基于语义相似度的Java应用程序接口使用模式推荐方法,包括如下步骤:提取项目中的Java文件中的注释信息、应用程序接口调用序列和方法签名,构成元数据结构;对元数据结构使用层次聚类算法,提取应用程序接口使用模式;基于语义相似度,进行应用程序接口使用模式推荐。此种方法提出了通过语义相似度,推荐Java应用程序接口使用模式的方法,提高了Java应用程序接口使用模式的推荐准确率,减少了开发人员的编程时间,提高了开发人员的开发效率。
Description
技术领域
本发明属于计算机技术领域,特别涉及一种基于语义相似度的Java应用程序接口使用模式推荐方法。
背景技术
随着计算机应用领域的不断扩大,软件的使用已经逐渐渗透和融合到人们生活的各个组成部分,新的软件形态和开发模式不断涌现,其规模和数量正在以惊人的速度膨胀和扩大。有效的复用是提高软件开发效率、降低开发成本的重要方式,早期的软件复用偏重于方法学层面,这些潜在的复用实体往往属于开发者较为熟悉(如内部私有函数库)或较为知名的第三方库(如JDK中的应用程序接口、函数库等),种类和数量均较为有限。
然而在软件开发过程中,开发人员常常要实现不熟悉的编程任务,他们要么通过查询和搜索代码示例进行代码重用,要么学习使用不熟悉的应用程序接口的使用方法,并依赖于代码示例。但由于传统的搜索引擎并不是为搜索程序而设计的,所以搜索结果通常包括许多不相关的、不精确的或意外的结果。从这些结果中进行合理的选择和研究通常会花费大量的额外时间,从而降低开发效率。能够针对程序员的编程要求进行合理的接口推荐便成为了提高软件开发效率的重要途径之一。
为此我们展开相关的研究工作,主要致力通过开发人员的自然语言查询,向其推荐可以直接使用的应用程序接口使用模式。其中应用程序接口使用模式是指,能够实现一个功能所需要的一组应用程序接口调用序列。
在下文中,总结了推荐应用程序接口使用模式的相关研究,这些相关研究均为国际上高水平会议或期刊的研究,具有较高的参考价值。
Xie等人最先提出了挖掘应用程序接口使用模式的经典算法MAPO。MAPO通过代码搜索引擎找到大量相似的代码片段,通过解析Java源文件并抽取应用程序接口调用序列,再使用SPAM算法挖掘出应用程序接口的使用模式。
Wang等人在2013年的MSR会议上提出的UP-Miner扩展了MAPO算法。UP-Miner试图降低MAPO结果的冗余性,挖掘出更加简明准确的应用程序接口使用模式。UP-Miner进行了三个方面的优化:(1)使用BIDE闭合频繁序列挖掘算法来挖掘应用程序接口使用模式;(2)根据两个应用程序接口使用模式的子项的重复性来度量相似性;(3)采用概率图模型来表示应用程序接口使用模式,同时根据出现的频次进行排名。
Niu等人在2018年的《Journal of Systems and Software》(CCF推荐B类期刊)上提出一种不依赖频繁模式挖掘的情况下挖掘应用程序接口使用模式的方法,通过将源代码表示为Object对象的网络,其中Object对象是在单个应用程序接口中的一组方法调用。再根据Object对象之间的共存关系对数据进行聚类,从而自动提取使用模式。
通过对相关研究的了解发现,国内外对应用程序接口推荐的关注度越来越高,已经有很多研究投入到应用程序接口推荐上,并且针对开发人员的不同使用场景,已经提出了很多推荐方法,且已经取得了较好的效果,但我们认为这些工作仍然在一定程度上有改进的空间。(1)以往工作并未很好地针对用户输入的自然语言查询,进行个性化接口推荐,存在推荐精度较低、搜索效率低等问题。(2)大部分应用程序接口搜索推荐技术都是通过关键词搜索或者文本匹配,并未考虑搜索内容与语料库之间语义相似度关系,推荐出的应用程序接口往往并不能很好的满足用户对某一模块功能的使用需求。
发明内容
本发明的目的,在于提供一种基于语义相似度的Java应用程序接口使用模式推荐方法,以解决开发人员在编程过程中遇到不熟悉的任务时,查询学习并理解应用程序接口所耗费的大量时间问题。
为了达成上述目的,本发明的解决方案是:
一种基于语义相似度的Java应用程序接口使用模式推荐方法,包括如下步骤:
(1)元数据结构提取:通过对大型开源代码库中的Java语言源代码进行抽象语法树构建和调用关系分析,对每一个方法提取出一个<注释信息,应用程序接口调用序列,方法签名>的元数据结构,其中存入的注释信息和方法签名为经过自然语言处理后的信息;
(2)应用程序接口使用模式提取:利用层次聚类算法,定义一个聚类簇之间的相似度计算法则,通过使用该相似度计算法则并对上述提取到的元数据结构进行层次聚类。将相似度小于一定阈值的元数据结构聚合成一个簇,剔除冗余的簇。将最终过滤后的簇中的应用程序接口作为给用户推荐的,能完成一定功能的应用程序接口使用模式;
(3)基于语义相似度的应用程序接口使用模式推荐:该步骤分为两个部分,一是对用户输入的自然语言查询使用自然语言处理的方式进行语义提取,二是将提取后的用户输入的自然语言查询和使用模式中的注释信息构建为词袋模型,计算二者的语义相似度。最终推荐语义相似度排名前十的应用程序接口使用模式。
上述步骤1中,注释信息指每个Java方法对应的Javadoc Annotation信息,这是一种具有半结构特征的信息。
上述步骤1中,应用程序接口调用序列指该Java方法中的应用程序接口调用序列。
上述步骤1中,方法签名指该Java方法的方法名和参数信息。
上述步骤(1)中的自然语言处理方法,包括:拆分驼峰式命名词汇、小写化、去除停止词和词干提取4个步骤。
上述步骤(2)中的层次聚类簇之间的相似度计算法则:具体公式如下:
其中Scorename是两个元数据结构的方法名相似度得分,Scoreapi是两个元数据结构的应用程序接口调用序列相似度得分,α1和α2为两个得分的权重,我们在这里将他们经验性的设置为0.375和0.742,代表得分X通过归一化计算后的值。其中方法名相似度得分Scorename的计算方式如下所示:
其中n代表方法名中出现的单词的个数,Sw代表这两个单词的MongeElkan相似度得分。
应用程序接口调用序列相似度得分Scoreapi的计算方式如下所示:
其中A1和A2代表各个应用程序接口调用序列中应用程序接口的集合,A1∪A2表示两个应用程序接口调用序列中应用程序接口的并集,A1∪A2表示两个应用程序接口调用序列中应用程序接口的交集。
上述步骤(2)中的层次聚类的阈值设定,经过大量实验标明,将阈值设置为0.65能达到最佳的聚类效果。
上述步骤(3)中的自然语言查询使用自然语言处理的方式进行语义提取方法,包括:拆分驼峰式命名词汇、小写化、去除停止词和词干提取4个步骤。
上述步骤(3)中的,计算提取后的用户输入的自然语言查询和用模式中的注释信息的语义相似度:具体包括将提取后的用户输入的自然语言查询构建成为词袋模型,将使用模式中的注释信息构建成为词袋模型,计算二者的语义相似度,相似度计算规则如下。
其中Q代表提取后的用户输入的自然语言查询的词袋模型,P代表使用模式中的注释信息的词袋模型。Qi和Pi分别代表二者词袋模型中的单词权重之和。权重Weightt的计算方式如下所示:
Weightt=TFt,D×IDFt,D
其中TFt,D表示词袋模型t在文档D中的词频,IDFt,D表示词袋模型t在文档D中的逆文本频率指数。其中文档D为所有应用程序接口使用模式的注释信息词袋模型之和。词频的计算方式如下所示:
其中,t代表一个词袋模型。n代表这个词袋模型中不同词汇出现的数量,Tt代表词袋模型t在整个文档中出现的频率。
逆文本频率指数的计算方式如下所示:
其中|D|代表整个文档中不同词汇出现的数量,|{j:ti∈dj}|整个文档中包含词袋模型t的数量。
采用上述方案后,本发明通过对编程任务的理解和分析,了解用户的编程习惯和用户需求,针对不同的用户查询需求,提供不同的应用程序接口使用模式推荐。通过多方位、多层次的应用程序接口模式推荐推荐,力争构建一套完整的推荐方法,完善面向互联网大数据的应用程序接口推荐技术体系,实现并提供一个功能全面的应用程序接口推荐工具集,提升软件开发效率。
本发明的步骤是:提取项目中的Java文件中的注释信息、应用程序接口调用序列和方法签名,构成元数据结构;对元数据结构使用层次聚类算法,提取应用程序接口使用模式;基于语义相似度,进行应用程序接口使用模式推荐。本发明提出了通过语义相似度,推荐Java应用程序接口使用模式的方法,提高了Java应用程序接口使用模式的推荐准确率,减少了开发人员的编程时间,提高了开发人员的开发效率。
附图说明
图1是本发明的流程图。
具体实施方式
以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
如图1所示,本发明提供一种基于语义相似度的Java应用程序接口使用模式推荐方法,包括如下步骤:
(1)元数据结构提取:通过对大型开源代码库中的Java语言源代码进行抽象语法树构建和调用关系分析,对每一个方法提取出一个<注释信息,应用程序接口调用序列,方法签名>的元数据结构,其中存入的注释信息和方法签名为经过自然语言处理后的信息;
(2)应用程序接口使用模式提取:利用层次聚类算法,定义一个聚类簇之间的相似度计算法则,通过使用该相似度计算法则并对上述提取到的元数据结构进行层次聚类。将相似度小于一定阈值的元数据结构聚合成一个簇,剔除冗余的簇。将最终过滤后的簇中的应用程序接口作为给用户推荐的,能完成一定功能的应用程序接口使用模式;
(3)基于语义相似度的应用程序接口使用模式推荐:该步骤分为两个部分,一是对用户输入的自然语言查询使用自然语言处理的方式进行语义提取,二是将提取后的用户输入的自然语言查询和使用模式中的注释信息构建为词袋模型,计算二者的语义相似度。最终推荐语义相似度排名前十的应用程序接口使用模式。
步骤(1)具体包括:
1)首先使用并改进Eclipse Call Hierarchy插件中的调用关系分析模块,来解析工作区中的项目。然后,分析每个项目是否是Java项目。并对每个项目中的每个Java类的每个方法进行分析和提取调用关系。忽略调用这个项目内部方法的调用,因为这样的方法调用不能被其他开发人员使用。我们只保留JDK和第三方应用程序接口库的应用程序接口调用序列。
2)通过提取每个方法的文档注释信息,来获得应用程序接口调用序列的注释信息。根据Javadoc,可以得知每个方法文档注释的第一个句子是该方法的功能的总结。再通过基于Eclipse的JDT编译器,将Java代码抽象为语法树并提取JavaDoc节点。我们忽略没有文档注释的方法,并使用:拆分驼峰式命名词汇、小写化、去除停止词和词干提取4个步骤的自然语言处理方法,来处理注释信息和方法签名信息。最后,我们得到一个由190393<注释信息,应用程序接口调用序列,方法签名>组成的元数据结构语料库,作为我们推荐的语料库,所有的数据存储在MySQL数据库中。
步骤(2)具体包括:
为了从应用程序接口调用序列中提取应用程序接口使用模式,我们使用广泛用于提取应用程序接口使用模式的聚类算法。聚类算法是一种无监督的机器学习算法,它计算数据之间的相似度,将未标记的数据分组成有意义的簇。相似度计算法则决定了聚类结果的质量。因此,在对元数据结构进行聚类之前,我们需要定义相似度计算法则。我们的相似度计算法则公式如下:
其中Scorename是两个元数据结构的方法名相似度得分,Scoreapi是两个元数据结构的应用程序接口调用序列相似度得分,α1和α2为两个得分的权重,我们在这里将他们经验性的设置为0.375和0.742,代表得分X通过归一化计算后的值。其中方法名相似度得分Scorename的计算方式如下所示:
其中n代表方法名中出现的单词的个数,Sw代表这两个单词的MongeElkan相似度得分。
应用程序接口调用序列相似度得分Scoreapi的计算方式如下所示:
其中A1和A2代表各个应用程序接口调用序列中应用程序接口的集合,A1∪A2表示两个应用程序接口调用序列中应用程序接口的并集,A1∪A2表示两个应用程序接口调用序列中应用程序接口的交集。
步骤(3)具体包括:
1)对用户输入的自然语言查询进行:拆分驼峰式命名词汇、小写化、去除停止词和词干提取4个步骤的自然语言处理方法,进行语义提取。
2)将提取后的用户输入的自然语言查询构建成为词袋模型,将使用模式中的注释信息构建成为词袋模型,计算二者的语义相似度,相似度计算规则如下。
其中Q代表提取后的用户输入的自然语言查询的词袋模型,P代表使用模式中的注释信息的词袋模型。Qi和Pi分别代表二者词袋模型中的单词权重之和。权重Weightt的计算方式如下所示:
Weightt=TFt,D×IDFt,D
其中TFt,D表示词袋模型t在文档D中的词频,IDFt,D表示词袋模型t在文档D中的逆文本频率指数。其文档D为所有应用程序接口使用模式的注释信息词袋模型之和。词频的计算方式如下所示:
其中t代表一个词袋模型。n代表这个词袋模型中不同词汇出现的数量,Tt代表词袋模型t在整个文档中出现的频率。
逆文本频率指数的计算方式如下所示:
其中|D|代表整个文档中不同词汇出现的数量,|{j:ti∈dj}|整个文档中包含词袋模型t的数量。
以下采用实验的方式来体现本发明方法的性能:
实验的主要内容为:对广泛使用的十个第三方应用程序接口库,进行相应的应用程序接口使用模式推荐,采用计算Top-10准确率方式,来显示本发明方法的性能。表1为提取到的十个第三方应用程序接口库的应用程序接口使用模式数量。
表1
方法评价的计算方式是Top-k准确率,k分别取1、5、10,实验中的测试数据为提取到的各个第三方应用程序接口库的应用程序接口使用模式中的注释信息,见表2。实验表明本发明方法在推荐的准确率上已经取到较高的结果,其中Top-1准确率波动较大,最低是34.55%,最高则可达到63.87%,但整体效果较好,可以达到50%以上。在Top-5准确率上,基本可以达到平均75%以上的效果。而在Top-10准确率方面可以达到平均85%以上,已经展现出了较高的实用性。该实验结果表明,本发明方法可以有效地为开发人员推荐应用程序接口使用模式,节省开发人员开发时所需的学习和理解时间。
表2
需要说明的是,本实施例中提及的应用程序接口,均指Java应用程序接口。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (10)
1.一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于包括如下步骤:
步骤1,对大型开源代码库中的Java语言源代码进行抽象语法树构建和调用关系分析,对每一个方法提取出一个<注释信息,应用程序接口调用序列,方法签名>的元数据结构,其中存入的注释信息和方法签名为经过自然语言处理后的信息;
步骤2,利用层次聚类算法,定义一个聚类簇之间的相似度计算法则,通过使用该相似度计算法则并对步骤1提取的元数据结构进行层次聚类;将相似度小于阈值的元数据结构聚合成一个簇,剔除冗余的簇;将最终过滤后的簇中的应用程序接口作为能完成一定功能的应用程序接口使用模式推荐给用户;
步骤3,对用户输入的自然语言查询使用自然语言处理的方式进行语义提取,再将提取后的用户输入的自然语言查询和使用模式中的注释信息构建为词袋模型,计算二者的语义相似度,最终推荐语义相似度排名前十的应用程序接口使用模式。
2.如权利要求1所述的一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于:所述步骤1中,注释信息指每个Java方法对应的Javadoc Annotation信息。
3.如权利要求1所述的一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于:所述步骤1中,方法签名指Java方法的方法名和参数信息。
4.如权利要求1所述的一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于:所述步骤1中,自然语言处理方法包括拆分驼峰式命名词汇、小写化、去除停止词和词干提取4个步骤。
5.如权利要求1所述的一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于:所述步骤2中,相似度计算法则的公式如下:
其中,Scorename是两个元数据结构的方法名相似度得分,Scoreapi是两个元数据结构的应用程序接口调用序列相似度得分,α1和α2为两个得分的权重,代表得分X通过归一化计算后的值。
6.如权利要求5所述的一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于:所述方法名相似度得分Scorename的计算方式如下所示:
其中,n代表方法名中出现的单词的个数,Sw代表这两个单词的MongeElkan相似度得分;
应用程序接口调用序列相似度得分Scoreapi的计算方式如下所示:
其中,A1和A2代表各个应用程序接口调用序列中应用程序接口的集合,A1∪A2表示A1和A2的并集,A1∪A2表示A1和A2的交集。
7.如权利要求1所述的一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于:所述步骤2中,相似度的阈值设为0.65。
8.如权利要求1所述的一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于:所述步骤3中,自然语言处理方法包括拆分驼峰式命名词汇、小写化、去除停止词和词干提取4个步骤。
9.如权利要求1所述的一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于:所述步骤3中,语义相似度的计算规则如下:
其中,Q代表提取后的用户输入的自然语言查询的词袋模型,P代表使用模式中的注释信息的词袋模型,Qi和Pi分别代表二者词袋模型中的单词权重之和。
10.如权利要求9所述的一种基于语义相似度的Java应用程序接口使用模式推荐方法,其特征在于:所述权重Weightt的计算方式如下所示:
Weightt=TFt,D×IDFt,D
其中,TFt,D表示词袋模型t在文档D中的词频,词袋模型t指Q或P;IDFt,D表示词袋模型t在文档D中的逆文本频率指数,其中文档D为所有应用程序接口使用模式的注释信息词袋模型之和;词频的计算方式如下所示:
其中,t代表一个词袋模型,n代表这个词袋模型中不同词汇出现的数量,Tt代表词袋模型t在整个文档中出现的频率;
逆文本频率指数的计算方式如下所示:
其中,|D|代表整个文档中不同词汇出现的数量,|{j:ti∈dj}|代表整个文档中包含词袋模型t的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526803.5A CN109670022B (zh) | 2018-12-13 | 2018-12-13 | 一种基于语义相似度的Java应用程序接口使用模式推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526803.5A CN109670022B (zh) | 2018-12-13 | 2018-12-13 | 一种基于语义相似度的Java应用程序接口使用模式推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109670022A true CN109670022A (zh) | 2019-04-23 |
CN109670022B CN109670022B (zh) | 2023-09-29 |
Family
ID=66143762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811526803.5A Active CN109670022B (zh) | 2018-12-13 | 2018-12-13 | 一种基于语义相似度的Java应用程序接口使用模式推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109670022B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263331A (zh) * | 2019-05-24 | 2019-09-20 | 南京航空航天大学 | 一种知识驱动的英汉单词语义相似度自动检测方法 |
CN110674363A (zh) * | 2019-08-30 | 2020-01-10 | 中国人民财产保险股份有限公司 | 接口服务之间的相似匹配方法、装置及电子设备 |
CN110879704A (zh) * | 2019-09-03 | 2020-03-13 | 东南大学 | 一种基于类继承关系分析的api推荐方法 |
CN110990003A (zh) * | 2019-11-15 | 2020-04-10 | 南通大学 | 一种基于词嵌入技术的api推荐方法 |
CN111290739A (zh) * | 2020-02-10 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 文件引用策略的确定方法、装置、设备及存储介质 |
CN111552509A (zh) * | 2020-04-30 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 一种接口间依赖关系的确定方法及装置 |
CN111857660A (zh) * | 2020-07-06 | 2020-10-30 | 南京航空航天大学 | 一种基于查询语句的情境感知api推荐方法及终端 |
CN112115362A (zh) * | 2020-09-21 | 2020-12-22 | 中山大学 | 一种基于相似代码识别的编程信息推荐方法及装置 |
CN112230781A (zh) * | 2019-07-15 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 字符推荐方法、装置及存储介质 |
WO2021104323A1 (zh) * | 2019-11-25 | 2021-06-03 | 京东方科技集团股份有限公司 | 用于确定文本相似度的方法、获取语义答案文本的方法及问答方法 |
CN113760778A (zh) * | 2021-11-09 | 2021-12-07 | 浙江大学滨海产业技术研究院 | 一种基于词向量模型的微服务接口划分评价方法 |
CN113921016A (zh) * | 2021-10-15 | 2022-01-11 | 阿波罗智联(北京)科技有限公司 | 语音处理方法、装置、电子设备以及存储介质 |
CN114356319A (zh) * | 2021-12-31 | 2022-04-15 | 山东浪潮科学研究院有限公司 | 一种根据自然语言描述推荐api的方法 |
CN114385780A (zh) * | 2021-11-30 | 2022-04-22 | 北京凯睿数加科技有限公司 | 程序接口信息推荐方法、装置、电子设备和可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233668A1 (en) * | 2006-04-03 | 2007-10-04 | International Business Machines Corporation | Method, system, and computer program product for semantic annotation of data in a software system |
CN108717470A (zh) * | 2018-06-14 | 2018-10-30 | 南京航空航天大学 | 一种具有高准确度的代码片段推荐方法 |
CN108717423A (zh) * | 2018-04-24 | 2018-10-30 | 南京航空航天大学 | 一种基于深度语义挖掘的代码段推荐方法 |
-
2018
- 2018-12-13 CN CN201811526803.5A patent/CN109670022B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233668A1 (en) * | 2006-04-03 | 2007-10-04 | International Business Machines Corporation | Method, system, and computer program product for semantic annotation of data in a software system |
CN108717423A (zh) * | 2018-04-24 | 2018-10-30 | 南京航空航天大学 | 一种基于深度语义挖掘的代码段推荐方法 |
CN108717470A (zh) * | 2018-06-14 | 2018-10-30 | 南京航空航天大学 | 一种具有高准确度的代码片段推荐方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263331A (zh) * | 2019-05-24 | 2019-09-20 | 南京航空航天大学 | 一种知识驱动的英汉单词语义相似度自动检测方法 |
CN112230781B (zh) * | 2019-07-15 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 字符推荐方法、装置及存储介质 |
CN112230781A (zh) * | 2019-07-15 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 字符推荐方法、装置及存储介质 |
CN110674363A (zh) * | 2019-08-30 | 2020-01-10 | 中国人民财产保险股份有限公司 | 接口服务之间的相似匹配方法、装置及电子设备 |
CN110674363B (zh) * | 2019-08-30 | 2022-04-22 | 中国人民财产保险股份有限公司 | 接口服务之间的相似匹配方法、装置及电子设备 |
CN110879704A (zh) * | 2019-09-03 | 2020-03-13 | 东南大学 | 一种基于类继承关系分析的api推荐方法 |
CN110879704B (zh) * | 2019-09-03 | 2024-01-12 | 东南大学 | 一种基于类继承关系分析的api推荐方法 |
CN110990003A (zh) * | 2019-11-15 | 2020-04-10 | 南通大学 | 一种基于词嵌入技术的api推荐方法 |
WO2021104323A1 (zh) * | 2019-11-25 | 2021-06-03 | 京东方科技集团股份有限公司 | 用于确定文本相似度的方法、获取语义答案文本的方法及问答方法 |
CN111290739A (zh) * | 2020-02-10 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 文件引用策略的确定方法、装置、设备及存储介质 |
CN111290739B (zh) * | 2020-02-10 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 文件引用策略的确定方法、装置、设备及存储介质 |
CN111552509A (zh) * | 2020-04-30 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 一种接口间依赖关系的确定方法及装置 |
CN111857660A (zh) * | 2020-07-06 | 2020-10-30 | 南京航空航天大学 | 一种基于查询语句的情境感知api推荐方法及终端 |
CN112115362A (zh) * | 2020-09-21 | 2020-12-22 | 中山大学 | 一种基于相似代码识别的编程信息推荐方法及装置 |
CN112115362B (zh) * | 2020-09-21 | 2022-01-11 | 中山大学 | 一种基于相似代码识别的编程信息推荐方法及装置 |
CN113921016A (zh) * | 2021-10-15 | 2022-01-11 | 阿波罗智联(北京)科技有限公司 | 语音处理方法、装置、电子设备以及存储介质 |
CN113760778A (zh) * | 2021-11-09 | 2021-12-07 | 浙江大学滨海产业技术研究院 | 一种基于词向量模型的微服务接口划分评价方法 |
CN113760778B (zh) * | 2021-11-09 | 2022-02-08 | 浙江大学滨海产业技术研究院 | 一种基于词向量模型的微服务接口划分评价方法 |
CN114385780A (zh) * | 2021-11-30 | 2022-04-22 | 北京凯睿数加科技有限公司 | 程序接口信息推荐方法、装置、电子设备和可读介质 |
CN114385780B (zh) * | 2021-11-30 | 2022-08-30 | 南京数睿数据科技有限公司 | 程序接口信息推荐方法、装置、电子设备和可读介质 |
CN114356319A (zh) * | 2021-12-31 | 2022-04-15 | 山东浪潮科学研究院有限公司 | 一种根据自然语言描述推荐api的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109670022B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109670022A (zh) | 一种基于语义相似度的Java应用程序接口使用模式推荐方法 | |
CN108763333A (zh) | 一种基于社会媒体的事件图谱构建方法 | |
Babur et al. | Hierarchical clustering of metamodels for comparative analysis and visualization | |
CN107679035B (zh) | 一种信息意图检测方法、装置、设备和存储介质 | |
Binkley et al. | Information retrieval applications in software maintenance and evolution | |
Lacasta et al. | Terminological ontologies: design, management and practical applications | |
Minkov et al. | Improving graph-walk-based similarity with reranking: Case studies for personal information management | |
Wang et al. | Qen: Applicable taxonomy completion via evaluating full taxonomic relations | |
CN104166550A (zh) | 一种面向软件维护的修改请求重新定制的方法 | |
Assi et al. | Data linking over RDF knowledge graphs: A survey | |
Guo et al. | Prompting gpt-3.5 for text-to-sql with de-semanticization and skeleton retrieval | |
Sun | A natural language interface for querying graph databases | |
Arasu et al. | A grammar-based entity representation framework for data cleaning | |
Nguyen et al. | TabEAno: table to knowledge graph entity annotation | |
Gaur et al. | Focused crawling with ontology using semi-automatic tagging for relevancy | |
Kruit et al. | Extracting N-ary facts from wikipedia table clusters | |
Ung et al. | Combination of features for vietnamese news multi-document summarization | |
Rybinski et al. | Discovering synonyms based on frequent termsets | |
Sinha et al. | Model based answer selection | |
Hogenboom | Automated detection of financial events in news text | |
Tsapatsoulis | Web image indexing using WICE and a learning-free language model | |
Binkley et al. | Maintenance and Evolution: Information Retrieval Applications. | |
Nguyen | Statistical Models and Machine Learning to Advance Code Completion: Are We There Yet? | |
Radhakrishnan et al. | Query facet engine for easier search results | |
Maâzoun et al. | A New Approach Mining the SPL Feature Model and Design from Product Variants. |
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 |