CN116611452B - 一种根据自然语言描述推荐api的方法 - Google Patents
一种根据自然语言描述推荐api的方法 Download PDFInfo
- Publication number
- CN116611452B CN116611452B CN202310882409.XA CN202310882409A CN116611452B CN 116611452 B CN116611452 B CN 116611452B CN 202310882409 A CN202310882409 A CN 202310882409A CN 116611452 B CN116611452 B CN 116611452B
- Authority
- CN
- China
- Prior art keywords
- api
- data
- natural language
- semantic
- feature
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000006870 function Effects 0.000 claims abstract description 104
- 239000013598 vector Substances 0.000 claims abstract description 93
- 238000006243 chemical reaction Methods 0.000 claims abstract description 20
- 238000012216 screening Methods 0.000 claims abstract description 16
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 195
- 238000004458 analytical method Methods 0.000 claims description 68
- 238000004364 calculation method Methods 0.000 claims description 68
- 230000009467 reduction Effects 0.000 claims description 63
- 238000007781 pre-processing Methods 0.000 claims description 21
- 230000004927 fusion Effects 0.000 claims description 20
- 238000010606 normalization Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 8
- 238000002372 labelling Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 description 24
- 238000000605 extraction Methods 0.000 description 23
- 230000000694 effects Effects 0.000 description 16
- 238000011161 development Methods 0.000 description 14
- 230000018109 developmental process Effects 0.000 description 14
- 230000014509 gene expression Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000000513 principal component analysis Methods 0.000 description 4
- 230000001105 regulatory effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000005303 weighing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000002759 z-score normalization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- 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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及数据推荐技术领域,尤其涉及一种根据自然语言描述推荐API的方法。该方法包括以下步骤:获取API自然语言数据;对API自然语言数据进行特征提取,获取API自然语言描述特征数据;对API自然语言描述特征数据进行高维向量转换,获取API自然语言描述高维特征数据;获取API需求语言数据,并对API需求语言数据进行语义转换,获取API需求语义向量数据;根据API自然语言描述高维特征数据以及API需求语义向量数据进行最大相关匹配推荐,获取候选API推荐列表数据;对候选API推荐列表数据进行应用场景推荐筛选,获取API推荐数据。本发明能够更准确地匹配用户需求和API功能,提高API推荐的准确性。
Description
技术领域
本发明涉及数据推荐技术领域,尤其涉及一种根据自然语言描述推荐API的方法。
背景技术
根据自然语言描述推荐API是指通过分析和理解用户对API的自然语言描述,利用相关技术和算法,推荐符合用户需求的API接口或服务。它可以帮助开发人员更快速、准确地找到适合其开发任务的API,提高开发效率和质量。自然语言的语义表达具有多义性和灵活性,而计算机对自然语言的理解仍面临挑战。目前的自然语言处理技术和语义模型仍存在对复杂语义的准确理解和表达的限制,可能导致推荐结果的不准确或不全面。
发明内容
本发明为解决上述技术问题,提出了一种根据自然语言描述推荐API的方法,以解决至少一个上述技术问题。
本申请提供了一种根据自然语言描述推荐API的方法,包括以下步骤:
步骤S1:获取API自然语言数据,其中API自然语言数据包括API文档数据以及相应的API自然语料数据;
步骤S2:对API自然语言数据进行特征提取,从而获取API自然语言描述特征数据;
步骤S3:对API自然语言描述特征数据进行高维向量转换,从而获取API自然语言描述高维特征数据;
步骤S4:获取API需求语言数据,并对API需求语言数据进行语义转换,从而获取API需求语义向量数据;
步骤S5:根据API自然语言描述高维特征数据以及API需求语义向量数据进行最大相关匹配推荐,从而获取候选API推荐列表数据;
步骤S6:利用API需求数据对候选API推荐列表数据进行应用场景推荐筛选,从而获取API推荐数据。
本发明中借助自然语言数据和语义转换技术,能够快速准确地提取API特征和用户需求,避免了繁琐的手动搜索和筛选过程,提高了开发效率。通过最大相关匹配推荐和应用场景推荐筛选,用户能够获得更符合其需求和场景的API推荐,提升了用户体验和满意度。通过应用场景推荐筛选,能够将API推荐限定在适合的应用场景中,避免了不必要的API调用和浪费,促进了API的合理使用和资源优化。通过获取API自然语言描述特征数据和API需求语义向量数据,并进行最大相关匹配推荐和应用场景推荐筛选,本发明能够更准确地匹配用户需求和API功能,提高API推荐的准确性。
优选地,步骤S1具体为:
步骤S11:获取API文档数据以及API自然语料数据;
步骤S12:对API文档数据以及API自然语料数据进行数据合并,从而获取API自然语言融合数据;
步骤S13:对API自然语言融合数据进行API自然语言数据预处理,从而获取API自然语言预处理数据;
步骤S14:对API自然语言预处理数据进行API自然语言数据分割,从而获取API自然语言分割数据;
步骤S15:对API自然语言分割数据进行词法分析以及语法分析,从而获取API自然语言词法分析数据以及API自然语言词法分析数据;
步骤S16:对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自然语言数据降噪偏置项,/>为API自然语言数据降噪正则化参数。
本发明构造了一种API自然语言数据降噪计算公式,该计算公式通过计算API自然语言数据降噪损失值,该公式能够降低噪声数据对API自然语言数据的影响,提高数据的准确性和质量。通过优化损失函数,该公式能够调整API自然语言数据的权重向量和偏置项,从而改善API自然语言数据的表示和表达能力,使其更加符合实际需求。通过logistic函数和正则化参数的引入,该公式能够提高API自然语言数据的分类性能,使得API自然语言数据在分类任务中具有更好的区分度和泛化能力。表示API自然语言数据降噪的权重向量的转置项,通过调整权重向量的数值,可以影响API自然语言数据中不同特征的重要性,进而影响降噪的效果。/>表示API自然语言数据降噪的偏置项,通过调整偏置项的数值,可以对API自然语言数据进行偏移,使其更好地适应降噪模型的学习能力。/>表示API自然语言数据降噪的正则化参数,通过调整正则化参数的数值,可以控制模型的复杂度,防止过拟合或欠拟合的情况发生。该API自然语言数据降噪计算公式能够降低噪声数据对API自然语言数据的影响,改善API自然语言数据的表示和表达,提高API自然语言数据的分类性能,参数之间通过数学符号的相互作用进行调整,以优化降噪效果和模型性能。
优选地,API自然语言描述特征数据包括API函数特征数据、API参数特征数据、API返回值特征数据、API描述特征数据、API示例特征数据、API依赖特征数据、API语义特征数据以及API关联特征数据,步骤S2具体为:
步骤S21:对API自然语言数据进行API函数特征提取,从而获取API函数特征数据;
步骤S22:对API自然语言数据进行API参数特征提取,从而获取API参数特征数据;
步骤S23:对API自然语言数据进行API返回值特征提取,从而获取API返回值特征数据;
步骤S24:对API自然语言数据进行API描述特征提取,从而获取API描述特征数据;
步骤S25:对API自然语言数据进行API示例特征提取,从而获取API示例特征数据;
步骤S26:对API自然语言数据进行API依赖特征提取,从而获取API依赖特征数据;
步骤S27:对API自然语言数据进行API语义特征提取,从而获取API语义特征数据;
步骤S28:利用API参数特征数据、API返回值特征数据以及API示例特征数据对API自然语言数据进行API关联特征提取,从而获取API关联特征数据。
本发明中通过步骤S2中的多个子步骤,能够全面提取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的特性和使用方式,提高推荐的准确性和效果。
优选地,步骤S28具体为:
步骤S281:对API自然语言数据进行API自然语言描述关键词提取,从而获取API自然语言描述关键词数据;
步骤S282:对API自然语言数据进行相关API列表获取,从而获取相关API列表数据;
步骤S283:对API示例特征数据进行函数调用关系处理,从而获取API函数调用关系数据;
步骤S284:对API参数特征数据、API返回值特征数据以及API函数调用关系数据进行语义依赖关系图分析,从而获取语义依赖关系图数据;
步骤S285:根据语义依赖关系图数据API关联特征提取,从而获取API关联特征数据。
本发明中过步骤S28中的子步骤,能够提取API自然语言描述关键词数据、相关API列表数据、API函数调用关系数据和语义依赖关系图数据,从而提高API关联特征的准确性。这有助于更准确地识别API之间的关联性,提供更精准的API推荐。通过步骤S28中的子步骤,能够综合考虑API自然语言描述、示例、参数、返回值、函数调用关系等多个特征数据,从而提供更全面、丰富的API关联特征数据。这样可以更全面地理解API之间的关联性和依赖关系。通过提取API关联特征数据,能够优化API推荐算法的输入数据,从而改善推荐的效果和准确性。通过考虑API之间的关联性和依赖关系,能够更好地匹配用户需求和API功能,提高推荐的质量。通过获取相关API列表数据和语义依赖关系图数据,能够识别与目标API相关的其他API,从而提升API推荐的多样性。这有助于为用户提供更丰富的API选择,满足不同的需求和场景。通过提取API关联特征数据,能够更好地解释API推荐的依据和原因。通过关键词、函数调用关系和语义依赖关系图等数据,可以向用户展示推荐的依据,增强推荐的可解释性和可信度。
优选地,步骤S284中语义依赖关系图分析通过语义依赖关系计算公式进行图分析,其中语义依赖关系计算公式具体为:
;
为语义依赖关系概率值,/>为第一语义依赖关系对象,/>为第二语义依赖关系对象,/>为归一化因子,/>为指数函数,/>为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推荐的效果和准确性。
优选地,步骤S3具体为:
步骤S31:对API自然语言描述特征数据进行API自然语言描述特征数据词嵌入,从而获取API自然语言描述特征词嵌入数据;
步骤S32:对API自然语言描述特征词嵌入数据进行API自然语言描述特征数据图嵌入,从而获取API自然语言描述特征数据图嵌入数据;
步骤S33:对API自然语言描述特征数据图嵌入数据进行API自然语言描述特征数据上下文嵌入,从而获取API自然语言描述特征数据上下文嵌入数据;
步骤S34:根据API自然语言描述特征数据上下文嵌入数据进行高维向量转换,从而获取API自然语言描述高维特征数据。
本发明中通过从API自然语言描述特征数据中提取词嵌入数据、图嵌入数据和上下文嵌入数据。可以捕捉API描述的不同层面和维度的特征,丰富了API自然语言描述的表达能力。通过将API自然语言描述特征数据转换为词嵌入数据,将单词映射到低维向量空间,以捕捉单词的语义信息。通过图嵌入和上下文嵌入,进一步利用API自然语言描述中的关系和上下文信息,深化语义理解。将API自然语言描述特征数据转换为高维特征数据,可以将原始的文本数据转化为更具表达能力的高维向量表示。从而更好地捕捉API自然语言描述的特征和模式,提升后续的匹配和推荐准确性。通过提取API自然语言描述的丰富特征和深化语义信息,可以提高API推荐算法对API描述的理解和匹配度。这样可以改善API推荐的准确性,确保推荐的API与用户需求更加匹配。
优选地,步骤S4具体为:
步骤S41:获取API需求语言数据;
步骤S42:对API需求语言书进行语法分析,从而获取API需求语法分析数据;
步骤S43:对API需求语法分析数据进行语义构建,从而获取API需求语法需求模型;
步骤S44:对API需求语法需求模型进行语义向量生成,从而获取API需求语义向量数据。
本发明中通过获取准确的API需求语言数据,确保后续处理和分析的基础数据质量。通过对API需求语言进行语法分析,可以识别和理解API需求语言中的语法结构,包括句子结构、词法规则等。这有助于深入理解API需求语言的组织形式和约束条件。通过语义构建,可以将API需求语法分析数据转换为API需求语法需求模型。该模型可以提供API需求语言的抽象表示,捕捉API需求之间的关系和约束。通过对API需求语法需求模型进行语义向量生成,可以将API需求转化为语义向量数据。这样可以将API需求表示为数值向量,从而方便后续的计算和比较,提供更精确的API推荐和匹配。通过对API需求语言的语法分析、语义构建和语义向量生成,可以更全面地理解和表达API需求。这有助于提高API推荐算法对用户需求的理解和匹配度,提供更准确、精确的API推荐结果。
优选地,步骤S5具体为:
步骤S51:根据API自然语言描述高维特征数据进行特征选择降维处理,从而获取API自然语言描述降维特征数据;
步骤S52:对API需求语义向量数据进行归一化处理,从而获取API需求语义向量归一化数据;
步骤S53:对API自然语言描述降维特征数据以及API需求语义向量归一化数据进行最大相关相似度计算,从而获取特征需求相似度数据;
步骤S54:利用特征需求相似度数据对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选项,提高推荐的精确性和准确性。
优选地,步骤S6中引用场景推荐筛选通过应用场景推荐计算公式进行计算,其中应用场景推荐计算公式具体为:
;
为应用场景推荐数据,/>为候选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推荐,开发人员可以更快速地找到适合其开发任务的API接口或服务。这可以大大节省开发人员的时间和精力,提高开发效率。同时,推荐的API具有更好的匹配性和适应性,可以提高开发的质量和可靠性,减少开发过程中的错误和调试成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了一实施例的根据自然语言描述推荐API的方法的步骤流程图;
图2示出了一实施例的步骤S1的步骤流程图;
图3示出了一实施例的步骤S2的步骤流程图;
图4示出了一实施例的步骤S28的步骤流程图;
图5示出了一实施例的步骤S3的步骤流程图;
图6示出了一实施例的步骤S4的步骤流程图;
图7示出了一实施例的步骤S5的步骤流程图。
具体实施方式
下面结合附图对本发明专利的技术方法进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域所属的技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器方法和/或微控制器方法中实现这些功能实体。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
请参阅图1至图7,本申请提供了一种根据自然语言描述推荐API的方法,包括以下步骤:
步骤S1:获取API自然语言数据,其中API自然语言数据包括API文档数据以及相应的API自然语料数据;
具体地,例如从开放的API文档平台(如Swagger、API Blueprint)中获取API文档数据,包括API的接口、参数、返回值的描述信息。同时,从开源代码库、技术论坛、博客的互联网资源中收集相关的API自然语料数据,包括开发者对API的使用示例、问题讨论。
步骤S2:对API自然语言数据进行特征提取,从而获取API自然语言描述特征数据;
具体地,例如利用自然语言处理技术,例如分词、词性标注、句法分析,提取API文档数据和自然语料数据中的关键词、短语、句子结构的特征信息。通过词频统计、TF-IDF的方法,确定每个特征在API自然语言数据中的重要程度。
步骤S3:对API自然语言描述特征数据进行高维向量转换,从而获取API自然语言描述高维特征数据;
具体地,例如使用词嵌入技术(如Word2Vec、GloVe)将API自然语言描述特征数据转换为高维向量表示。通过训练预定义的词向量模型或使用预训练的词向量模型,将每个特征转化为向量形式,捕捉词语之间的语义关系和上下文信息。
步骤S4:获取API需求语言数据,并对API需求语言数据进行语义转换,从而获取API需求语义向量数据;
具体地,例如从开发者提供的需求文本或对话中提取API需求语言数据,包括需求描述、功能要求、使用场景等。利用自然语言处理和语义分析技术,例如情感分析、命名实体识别、句法分析,对API需求语言数据进行语义理解和转换,将需求转化为语义向量表示。
步骤S5:根据API自然语言描述高维特征数据以及API需求语义向量数据进行最大相关匹配推荐,从而获取候选API推荐列表数据;
具体地,例如利用特征匹配算法,如余弦相似度、欧氏距离,计算API自然语言描述高维特征数据与API需求语义向量数据之间的相似度。基于最大相关匹配的原则,选取相似度最高的API自然语言描述作为候选API进行推荐。推荐结果可以按照相似度排序,给出一个候选API推荐列表。
步骤S6:利用API需求数据对候选API推荐列表数据进行应用场景推荐筛选,从而获取API推荐数据。
具体地,例如根据API需求中提供的应用场景信息,结合候选API推荐列表数据中的应用场景得分等信息,采用应用场景推荐计算公式进行评估和筛选。该公式可以综合考虑候选API的特征值、相似度、适用度的因素,以及API需求中的应用场景,从而推荐最符合需求场景的API。
本发明中借助自然语言数据和语义转换技术,能够快速准确地提取API特征和用户需求,避免了繁琐的手动搜索和筛选过程,提高了开发效率。通过最大相关匹配推荐和应用场景推荐筛选,用户能够获得更符合其需求和场景的API推荐,提升了用户体验和满意度。通过应用场景推荐筛选,能够将API推荐限定在适合的应用场景中,避免了不必要的API调用和浪费,促进了API的合理使用和资源优化。通过获取API自然语言描述特征数据和API需求语义向量数据,并进行最大相关匹配推荐和应用场景推荐筛选,本发明能够更准确地匹配用户需求和API功能,提高API推荐的准确性。
优选地,步骤S1具体为:
步骤S11:获取API文档数据以及API自然语料数据;
具体地,例如从开放的API文档平台、开源项目仓库或相关技术论坛中下载API文档数据,包括API接口、参数、返回值的描述信息。同时,从互联网上收集与API相关的自然语料数据,如开发者的代码示例、使用经验、问题讨论。
步骤S12:对API文档数据以及API自然语料数据进行数据合并,从而获取API自然语言融合数据;
具体地,例如将获取的API文档数据与自然语料数据进行合并,形成API自然语言融合数据。合并的方式可以是将两者的文本数据拼接在一起或者构建一个包含文档和语料数据的统一数据结构。
步骤S13:对API自然语言融合数据进行API自然语言数据预处理,从而获取API自然语言预处理数据;
具体地,例如对API自然语言融合数据进行预处理,包括文本清洗、去除HTML标签、特殊字符处理。可以使用文本处理工具或自定义规则对数据进行清洗和规范化,以便后续的分析和特征提取。
步骤S14:对API自然语言预处理数据进行API自然语言数据分割,从而获取API自然语言分割数据;
具体地,例如将API自然语言预处理数据按照句子或段落进行分割,得到API自然语言分割数据。分割可以基于句号、换行符的文本结构特征进行,确保每个分割后的数据单元对应一个完整的语义单位。
步骤S15:对API自然语言分割数据进行词法分析以及语法分析,从而获取API自然语言词法分析数据以及API自然语言词法分析数据;
具体地,例如利用自然语言处理技术,例如词法分析和语法分析,对API自然语言分割数据进行处理。词法分析将文本分解为词汇单元,标记词性,而语法分析则分析句子结构、构建语法树等。这些分析结果将帮助理解和解析API自然语言数据。
步骤S16:对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自然语言数据降噪权重向量,/>为API自然语言数据降噪权重向量的转置项,/>为第/>个API自然语言融合数据,/>为API自然语言数据降噪偏置项,/>为API自然语言数据降噪正则化参数。
本发明构造了一种API自然语言数据降噪计算公式,该计算公式通过计算API自然语言数据降噪损失值,该公式能够降低噪声数据对API自然语言数据的影响,提高数据的准确性和质量。通过优化损失函数,该公式能够调整API自然语言数据的权重向量和偏置项,从而改善API自然语言数据的表示和表达能力,使其更加符合实际需求。通过logistic函数和正则化参数的引入,该公式能够提高API自然语言数据的分类性能,使得API自然语言数据在分类任务中具有更好的区分度和泛化能力。表示API自然语言数据降噪的权重向量的转置项,通过调整权重向量的数值,可以影响API自然语言数据中不同特征的重要性,进而影响降噪的效果。/>表示API自然语言数据降噪的偏置项,通过调整偏置项的数值,可以对API自然语言数据进行偏移,使其更好地适应降噪模型的学习能力。/>表示API自然语言数据降噪的正则化参数,通过调整正则化参数的数值,可以控制模型的复杂度,防止过拟合或欠拟合的情况发生。该API自然语言数据降噪计算公式能够降低噪声数据对API自然语言数据的影响,改善API自然语言数据的表示和表达,提高API自然语言数据的分类性能,参数之间通过数学符号的相互作用进行调整,以优化降噪效果和模型性能。
优选地,API自然语言描述特征数据包括API函数特征数据、API参数特征数据、API返回值特征数据、API描述特征数据、API示例特征数据、API依赖特征数据、API语义特征数据以及API关联特征数据,步骤S2具体为:
步骤S21:对API自然语言数据进行API函数特征提取,从而获取API函数特征数据;
具体地,例如通过解析API自然语言数据中的文本,提取出API函数的名称、功能描述、输入参数的特征信息。例如,从文本中识别出函数名、定位函数描述的关键词或短语,并提取出函数的输入参数和输出结果的关键信息。
步骤S22:对API自然语言数据进行API参数特征提取,从而获取API参数特征数据;
具体地,例如从API自然语言数据中提取出API的输入参数相关信息,包括参数名称、参数类型、参数限制的特征。可以通过文本匹配、词性标注、语法分析的技术手段来识别和提取参数相关信息。
步骤S23:对API自然语言数据进行API返回值特征提取,从而获取API返回值特征数据;
具体地,例如从API自然语言数据中提取出API的返回值相关信息,包括返回值类型、返回值限制、异常情况的特征。通过文本分析和语义理解技术,识别和提取出与返回值相关的关键信息。
步骤S24:对API自然语言数据进行API描述特征提取,从而获取API描述特征数据;
具体地,例如从API自然语言数据中提取出描述API功能、用途和约束条件的关键信息。通过文本分析和自然语言处理技术,识别出描述API功能和描述API用途的句子或短语,并提取出与API描述相关的特征信息。
步骤S25:对API自然语言数据进行API示例特征提取,从而获取API示例特征数据;
具体地,例如从API自然语言数据中提取出与API示例相关的关键信息,例如代码示例、使用示例等。通过文本分析和模式识别技术,识别和提取出与API示例相关的特征信息,如示例代码的语法结构、示例用法等。
步骤S26:对API自然语言数据进行API依赖特征提取,从而获取API依赖特征数据;
具体地,例如从API自然语言数据中提取出与API依赖关系相关的特征信息。通过解析文本中的依赖关键词、引用关系等信息,识别出API之间的依赖关系,并提取出与依赖关系相关的特征信息。
步骤S27:对API自然语言数据进行API语义特征提取,从而获取API语义特征数据;
具体地,例如通过文本分析和语义理解技术,对API自然语言数据进行语义特征提取。例如,通过识别API自然语言中的关键词、短语,提取出API的语义特征,如API功能的关键词、API用途的描述。
步骤S28:利用API参数特征数据、API返回值特征数据以及API示例特征数据对API自然语言数据进行API关联特征提取,从而获取API关联特征数据。
具体地,例如结合API参数特征数据、API返回值特征数据和API示例特征数据,识别API自然语言数据中的关联特征。例如,通过分析参数的使用情况、返回值的相关性以及示例代码中的调用关系,提取出API之间的关联特征信息。
本发明中通过步骤S2中的多个子步骤,能够全面提取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的特性和使用方式,提高推荐的准确性和效果。
优选地,步骤S28具体为:
步骤S281:对API自然语言数据进行API自然语言描述关键词提取,从而获取API自然语言描述关键词数据;
具体地,例如通过文本分析和关键词提取技术,识别API自然语言数据中的关键词。例如,从API自然语言描述中提取出与API功能、用途、限制等相关的关键词,如动词、名词。
步骤S282:对API自然语言数据进行相关API列表获取,从而获取相关API列表数据;
具体地,例如通过文本分析和关联性计算,识别与当前API自然语言数据相关的其他API。例如,从API文档、API自然语料数据等来源中获取与当前API具有相似功能、相似用途或相似参数的相关API列表。
步骤S283:对API示例特征数据进行函数调用关系处理,从而获取API函数调用关系数据;
具体地,例如通过分析API示例特征数据中的代码示例,识别出函数之间的调用关系。例如,通过解析示例代码中的函数调用语句,构建函数调用图或函数调用关系表达式,以表示API函数之间的调用关系。
步骤S284:对API参数特征数据、API返回值特征数据以及API函数调用关系数据进行语义依赖关系图分析,从而获取语义依赖关系图数据;
具体地,例如结合API参数特征数据、API返回值特征数据和API函数调用关系数据,进行语义依赖关系图的构建和分析。例如,通过分析API函数之间的参数传递、返回值依赖等信息,构建语义依赖关系图,表示API之间的语义依赖关系。
步骤S285:根据语义依赖关系图数据API关联特征提取,从而获取API关联特征数据。
具体地,例如基于语义依赖关系图数据,提取出API之间的关联特征。例如,通过分析语义依赖关系图中的节点和边,提取出与API关联性相关的特征信息,如API之间的相似性、依赖程度。
本发明中过步骤S28中的子步骤,能够提取API自然语言描述关键词数据、相关API列表数据、API函数调用关系数据和语义依赖关系图数据,从而提高API关联特征的准确性。这有助于更准确地识别API之间的关联性,提供更精准的API推荐。通过步骤S28中的子步骤,能够综合考虑API自然语言描述、示例、参数、返回值、函数调用关系等多个特征数据,从而提供更全面、丰富的API关联特征数据。这样可以更全面地理解API之间的关联性和依赖关系。通过提取API关联特征数据,能够优化API推荐算法的输入数据,从而改善推荐的效果和准确性。通过考虑API之间的关联性和依赖关系,能够更好地匹配用户需求和API功能,提高推荐的质量。通过获取相关API列表数据和语义依赖关系图数据,能够识别与目标API相关的其他API,从而提升API推荐的多样性。这有助于为用户提供更丰富的API选择,满足不同的需求和场景。通过提取API关联特征数据,能够更好地解释API推荐的依据和原因。通过关键词、函数调用关系和语义依赖关系图等数据,可以向用户展示推荐的依据,增强推荐的可解释性和可信度。
优选地,步骤S284中语义依赖关系图分析通过语义依赖关系计算公式进行图分析,其中语义依赖关系计算公式具体为:
;
为语义依赖关系概率值,/>为第一语义依赖关系对象,/>为第二语义依赖关系对象,/>为归一化因子,/>为指数函数,/>为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推荐的效果和准确性。
优选地,步骤S3具体为:
步骤S31:对API自然语言描述特征数据进行API自然语言描述特征数据词嵌入,从而获取API自然语言描述特征词嵌入数据;
具体地,例如使用词嵌入算法(如Word2Vec、GloVe等)将API自然语言描述特征数据中的单词转换为密集向量表示。例如,将每个单词映射为具有固定维度的向量,其中向量的值捕捉了单词之间的语义关系。
步骤S32:对API自然语言描述特征词嵌入数据进行API自然语言描述特征数据图嵌入,从而获取API自然语言描述特征数据图嵌入数据;
具体地,例如利用图嵌入算法(如Node2Vec、GraphSAGE等)将API自然语言描述特征词嵌入数据转换为图结构表示。例如,构建API自然语言描述特征数据的图,其中每个词嵌入向量表示图中的节点,词之间的共现关系表示图中的边。
步骤S33:对API自然语言描述特征数据图嵌入数据进行API自然语言描述特征数据上下文嵌入,从而获取API自然语言描述特征数据上下文嵌入数据;
具体地,例如利用上下文嵌入算法(如BERT、ELMo等)对API自然语言描述特征数据图嵌入数据进行进一步处理,捕捉词之间的上下文信息。例如,使用预训练的上下文嵌入模型对图中的节点进行表示学习,以获得更丰富的语义信息。
步骤S34:根据API自然语言描述特征数据上下文嵌入数据进行高维向量转换,从而获取API自然语言描述高维特征数据。
具体地,例如使用降维技术(如主成分分析(PCA)、线性判别分析(LDA))将API自然语言描述特征数据上下文嵌入数据从高维空间转换为低维表示,以保留重要的语义特征。例如,将上下文嵌入数据投影到一个低维子空间,其中每个维度代表API自然语言描述的不同特征。
本发明中通过从API自然语言描述特征数据中提取词嵌入数据、图嵌入数据和上下文嵌入数据。可以捕捉API描述的不同层面和维度的特征,丰富了API自然语言描述的表达能力。通过将API自然语言描述特征数据转换为词嵌入数据,将单词映射到低维向量空间,以捕捉单词的语义信息。通过图嵌入和上下文嵌入,进一步利用API自然语言描述中的关系和上下文信息,深化语义理解。将API自然语言描述特征数据转换为高维特征数据,可以将原始的文本数据转化为更具表达能力的高维向量表示。从而更好地捕捉API自然语言描述的特征和模式,提升后续的匹配和推荐准确性。通过提取API自然语言描述的丰富特征和深化语义信息,可以提高API推荐算法对API描述的理解和匹配度。这样可以改善API推荐的准确性,确保推荐的API与用户需求更加匹配。
优选地,步骤S4具体为:
步骤S41:获取API需求语言数据;
具体地,例如从开发者、用户或其他来源收集API需求的自然语言描述,例如通过在线论坛、文档、问题追踪系统等渠道获取API需求语言数据。
步骤S42:对API需求语言书进行语法分析,从而获取API需求语法分析数据;
具体地,例如使用自然语言处理技术中的语法分析算法(如基于规则的语法分析器、统计语法分析器等)对API需求语言书进行分析,以识别句子结构、词法关系和语法规则。
步骤S43:对API需求语法分析数据进行语义构建,从而获取API需求语法需求模型;
具体地,例如基于语法分析结果,将语义信息与语法结构关联起来,构建API需求的语义表示模型。例如,使用语义角色标注(Semantic Role Labeling)技术将句子中的谓词和论元进行对应,并为每个论元标注其语义角色(如主语、宾语、时间等)。
步骤S44:对API需求语法需求模型进行语义向量生成,从而获取API需求语义向量数据。
具体地,例如利用自然语言处理技术中的词嵌入算法(如Word2Vec、GloVe)或预训练的语言模型(如BERT、ELMo),将API需求语法需求模型中的词语或短语转换为密集向量表示,以捕捉其语义关系和上下文信息。
本发明中通过获取准确的API需求语言数据,确保后续处理和分析的基础数据质量。通过对API需求语言进行语法分析,可以识别和理解API需求语言中的语法结构,包括句子结构、词法规则等。这有助于深入理解API需求语言的组织形式和约束条件。通过语义构建,可以将API需求语法分析数据转换为API需求语法需求模型。该模型可以提供API需求语言的抽象表示,捕捉API需求之间的关系和约束。通过对API需求语法需求模型进行语义向量生成,可以将API需求转化为语义向量数据。这样可以将API需求表示为数值向量,从而方便后续的计算和比较,提供更精确的API推荐和匹配。通过对API需求语言的语法分析、语义构建和语义向量生成,可以更全面地理解和表达API需求。这有助于提高API推荐算法对用户需求的理解和匹配度,提供更准确、精确的API推荐结果。
优选地,步骤S5具体为:
步骤S51:根据API自然语言描述高维特征数据进行特征选择降维处理,从而获取API自然语言描述降维特征数据;
具体地,例如使用特征选择算法(如方差选择、相关系数、信息增益)对API自然语言描述高维特征数据进行分析,选择最具代表性和相关性的特征,然后应用降维技术(如主成分分析(PCA)、线性判别分析(LDA))将特征空间降低到更低维度。
步骤S52:对API需求语义向量数据进行归一化处理,从而获取API需求语义向量归一化数据;
具体地,例如对API需求语义向量数据进行归一化处理,使其值范围在一定区间内(如[0,1]或[-1,1]),常见的归一化方法包括最小-最大归一化和Z-score归一化。
步骤S53:对API自然语言描述降维特征数据以及API需求语义向量归一化数据进行最大相关相似度计算,从而获取特征需求相似度数据;
具体地,例如利用相关系数(如皮尔逊相关系数)等方法,计算API自然语言描述降维特征数据与API需求语义向量归一化数据之间的相似度或相关程度,得到特征需求相似度数据。
步骤S54:利用特征需求相似度数据对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选项,提高推荐的精确性和准确性。
优选地,步骤S6中引用场景推荐筛选通过应用场景推荐计算公式进行计算,其中应用场景推荐计算公式具体为:
;
为应用场景推荐数据,/>为候选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推荐,开发人员可以更快速地找到适合其开发任务的API接口或服务。这可以大大节省开发人员的时间和精力,提高开发效率。同时,推荐的API具有更好的匹配性和适应性,可以提高开发的质量和可靠性,减少开发过程中的错误和调试成本。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附申请文件而不是上述说明限定,因此旨在将落在申请文件的等同要件的含义和范围内的所有变化涵括在本发明内。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所发明的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种根据自然语言描述推荐API的方法,其特征在于,包括以下步骤:
步骤S1:获取API自然语言数据,其中API自然语言数据包括API文档数据以及相应的API自然语料数据;
步骤S2:对API自然语言数据进行特征提取,从而获取API自然语言描述特征数据;
步骤S3:对API自然语言描述特征数据进行高维向量转换,从而获取API自然语言描述高维特征数据;
步骤S4:获取API需求语言数据,并对API需求语言数据进行语义转换,从而获取API需求语义向量数据;
步骤S5,包括:
步骤S51:根据API自然语言描述高维特征数据进行特征选择降维处理,从而获取API自然语言描述降维特征数据;
步骤S52:对API需求语义向量数据进行归一化处理,从而获取API需求语义向量归一化数据;
步骤S53:对API自然语言描述降维特征数据以及API需求语义向量归一化数据进行最大相关相似度计算,从而获取特征需求相似度数据;
步骤S54:利用特征需求相似度数据对API自然语言描述降维特征数据进行排序提取,从而获取候选API推荐列表数据;
其中最大相关相似度计算通过API需求最大相关相似度计算公式进行处理,API需求最大相关相似度计算公式具体为:
;
为特征需求相似度数据,/>为API需求语义向量归一化数据,/>为API自然语言描述降维特征数据,/>为相似度底数常数项,/>为数据序次项,/>为第/>个API需求语义向量归一化数据,/>为第/>个API自然语言描述降维特征数据,/>为API需求语义向量归一化数据的数量数据,/>为第一调节项,/>为第二调节项,/>为第三调节项,/>为API功能拟合度,/>为API需求产场景拟合度;
步骤S6:利用API需求数据对候选API推荐列表数据进行应用场景推荐筛选,从而获取API推荐数据。
2.根据权利要求1所述的方法,其特征在于,步骤S1具体为:
步骤S11:获取API文档数据以及API自然语料数据;
步骤S12:对API文档数据以及API自然语料数据进行数据合并,从而获取API自然语言融合数据;
步骤S13:对API自然语言融合数据进行API自然语言数据预处理,从而获取API自然语言预处理数据;
步骤S14:对API自然语言预处理数据进行API自然语言数据分割,从而获取API自然语言分割数据;
步骤S15:对API自然语言分割数据进行词法分析以及语法分析,从而获取API自然语言词法分析数据以及API自然语言语法分析数据;
步骤S16:对API文档数据、API自然语料数据、API自然语言词法分析数据以及API自然语言语法分析数据进行数据时序标注,从而获取API自然语言数据。
3.根据权利要求2所述的方法,其特征在于,API自然语言数据预处理通过API自然语言数据降噪计算公式进行数据预处理,其中API自然语言数据降噪计算公式具体为:
;
为API自然语言数据降噪损失值,/>为API自然语言融合数据的数量数据,/>为API自然语言融合数据的次序项,/>为降噪底数常数项,/>为第/>个API自然语言融合数据的标签,/>为API自然语言数据降噪权重向量,/>为API自然语言数据降噪权重向量的转置项,/>为第/>个API自然语言融合数据,/>为API自然语言数据降噪偏置项,/>为API自然语言数据降噪正则化参数。
4.根据权利要求1所述的方法,其特征在于,API自然语言描述特征数据包括API函数特征数据、API参数特征数据、API返回值特征数据、API描述特征数据、API示例特征数据、API依赖特征数据、API语义特征数据以及API关联特征数据,步骤S2具体为:
步骤S21:对API自然语言数据进行API函数特征提取,从而获取API函数特征数据;
步骤S22:对API自然语言数据进行API参数特征提取,从而获取API参数特征数据;
步骤S23:对API自然语言数据进行API返回值特征提取,从而获取API返回值特征数据;
步骤S24:对API自然语言数据进行API描述特征提取,从而获取API描述特征数据;
步骤S25:对API自然语言数据进行API示例特征提取,从而获取API示例特征数据;
步骤S26:对API自然语言数据进行API依赖特征提取,从而获取API依赖特征数据;
步骤S27:对API自然语言数据进行API语义特征提取,从而获取API语义特征数据;
步骤S28:利用API参数特征数据、API返回值特征数据以及API示例特征数据对API自然语言数据进行API关联特征提取,从而获取API关联特征数据。
5.根据权利要求4所述的方法,其特征在于,步骤S28具体为:
步骤S283:对API示例特征数据进行函数调用关系处理,从而获取API函数调用关系数据;
步骤S284:对API参数特征数据、API返回值特征数据以及API函数调用关系数据进行语义依赖关系图分析,从而获取语义依赖关系图数据;
步骤S285:根据语义依赖关系图数据API关联特征提取,从而获取API关联特征数据。
6.根据权利要求4所述的方法,其特征在于,步骤S284中语义依赖关系图分析通过语义依赖关系计算公式进行图分析,其中语义依赖关系计算公式具体为:
;
为语义依赖关系概率值,/>为第一语义依赖关系对象,/>为第二语义依赖关系对象,/>为归一化因子,/>为指数函数,/>为API特征序次项,/>为API特征数量项,/>为第一语义依赖关系权重项,/>为API特征函数,/>为API关系序次项,/>为API关系数量项,/>为第二语义依赖关系权重项,/>为API关系函数,/>为API上下文序次项,/>为API上下文数量项,/>为第三语义依赖关系权重项,/>为API上下文函数。
7.根据权利要求1所述的方法,其特征在于,步骤S3具体为:
步骤S31:对API自然语言描述特征数据进行API自然语言描述特征数据词嵌入,从而获取API自然语言描述特征词嵌入数据;
步骤S32:对API自然语言描述特征词嵌入数据进行API自然语言描述特征数据图嵌入,从而获取API自然语言描述特征数据图嵌入数据;
步骤S33:对API自然语言描述特征数据图嵌入数据进行API自然语言描述特征数据上下文嵌入,从而获取API自然语言描述特征数据上下文嵌入数据;
步骤S34:根据API自然语言描述特征数据上下文嵌入数据进行高维向量转换,从而获取API自然语言描述高维特征数据。
8.根据权利要求1所述的方法,其特征在于,步骤S4具体为:
步骤S41:获取API需求语言数据;
步骤S42:对API需求语言书进行语法分析,从而获取API需求语法分析数据;
步骤S43:对API需求语法分析数据进行语义构建,从而获取API需求语法需求模型;
步骤S44:对API需求语法需求模型进行语义向量生成,从而获取API需求语义向量数据。
9.根据权利要求1所述的方法,其特征在于,步骤S6中引用场景推荐筛选通过应用场景推荐计算公式进行计算,其中应用场景推荐计算公式具体为:
;
为应用场景推荐数据,/>为候选API推荐列表数据中的API数量,/>为候选API推荐列表数据中的API序次,/>为候选API推荐列表中的第/>个API的特征值,/>为候选API推荐列表中的第/>个API的应用场景得分,/>为候选API推荐列表数据的数量数据,/>为需求场景数据,/>为候选API序次项,/>为第/>个候选API的相似度,/>为第/>个候选API的适用度,/>为应用场景数量,/>为API需求数据中应用场景的增长趋势。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310882409.XA CN116611452B (zh) | 2023-07-19 | 2023-07-19 | 一种根据自然语言描述推荐api的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310882409.XA CN116611452B (zh) | 2023-07-19 | 2023-07-19 | 一种根据自然语言描述推荐api的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116611452A CN116611452A (zh) | 2023-08-18 |
CN116611452B true CN116611452B (zh) | 2023-10-24 |
Family
ID=87685647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310882409.XA Active CN116611452B (zh) | 2023-07-19 | 2023-07-19 | 一种根据自然语言描述推荐api的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116611452B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251553B (zh) * | 2023-11-15 | 2024-02-27 | 知学云(北京)科技股份有限公司 | 基于自定义插件和大语言模型的智能学习交互方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132968A (zh) * | 2017-12-01 | 2018-06-08 | 西安交通大学 | 网络文本与图像中关联语义基元的弱监督学习方法 |
CN108304556A (zh) * | 2018-02-06 | 2018-07-20 | 中国传媒大学 | 基于内容与协同过滤相结合的个性化推荐方法 |
CN110633475A (zh) * | 2019-09-27 | 2019-12-31 | 安徽咪鼠科技有限公司 | 基于计算机场景的自然语言理解方法、装置、系统和存储介质 |
CN111966817A (zh) * | 2020-07-24 | 2020-11-20 | 复旦大学 | 基于深度学习及代码上下文结构和文本信息的api推荐方法 |
CN113239181A (zh) * | 2021-05-14 | 2021-08-10 | 廖伟智 | 基于深度学习的科技文献引文推荐方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4088229A4 (en) * | 2020-01-07 | 2024-02-14 | Servicenow Canada Inc | RECOMMENDATION METHOD AND SYSTEM |
-
2023
- 2023-07-19 CN CN202310882409.XA patent/CN116611452B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132968A (zh) * | 2017-12-01 | 2018-06-08 | 西安交通大学 | 网络文本与图像中关联语义基元的弱监督学习方法 |
CN108304556A (zh) * | 2018-02-06 | 2018-07-20 | 中国传媒大学 | 基于内容与协同过滤相结合的个性化推荐方法 |
CN110633475A (zh) * | 2019-09-27 | 2019-12-31 | 安徽咪鼠科技有限公司 | 基于计算机场景的自然语言理解方法、装置、系统和存储介质 |
CN111966817A (zh) * | 2020-07-24 | 2020-11-20 | 复旦大学 | 基于深度学习及代码上下文结构和文本信息的api推荐方法 |
CN113239181A (zh) * | 2021-05-14 | 2021-08-10 | 廖伟智 | 基于深度学习的科技文献引文推荐方法 |
Non-Patent Citations (3)
Title |
---|
Holistic Combination of Structural and Textual Code Information for Context Based API Recommendation;Chi Chen .etal;IEEE Transactions on Software Engineering;第48卷(第08期);2987 - 3009 * |
基于语义相似度的API使用模式推荐;张云帆 等;计算机科学;第47卷(第03期);全文 * |
汉老双语句子相似度计算方法研究;何力;中国优秀硕士学位论文全文数据库 (信息科技辑)(第04期);I138-576 * |
Also Published As
Publication number | Publication date |
---|---|
CN116611452A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shi et al. | Functional and contextual attention-based LSTM for service recommendation in mashup creation | |
US11886814B2 (en) | Systems and methods for deviation detection, information extraction and obligation deviation detection | |
CN111401077B (zh) | 语言模型的处理方法、装置和计算机设备 | |
Lau et al. | Automatic domain ontology extraction for context-sensitive opinion mining | |
CN114661872B (zh) | 一种面向初学者的api自适应推荐方法与系统 | |
CN116611452B (zh) | 一种根据自然语言描述推荐api的方法 | |
US20240111956A1 (en) | Nested named entity recognition method based on part-of-speech awareness, device and storage medium therefor | |
CN114329225A (zh) | 基于搜索语句的搜索方法、装置、设备及存储介质 | |
CN111737560A (zh) | 内容搜索方法、领域预测模型训练方法、装置及存储介质 | |
Lisena et al. | TOMODAPI: A topic modeling API to train, use and compare topic models | |
CN114077661A (zh) | 信息处理装置、信息处理方法和计算机可读介质 | |
Alexander et al. | ORCAS-I: queries annotated with intent using weak supervision | |
Li et al. | The user preference identification for product improvement based on online comment patch | |
CN116610592B (zh) | 基于自然语言处理技术的可定制软件测试评价方法及系统 | |
Teufel et al. | Robust argumentative zoning for sensemaking in scholarly documents | |
CN110727842A (zh) | 基于辅助性知识的Web服务开发者按需推荐方法及系统 | |
Shafi et al. | Query intent recognition by integrating latent dirichlet allocation in conditional random field | |
Mukhopadhyay | Opinion mining in management research: the state of the art and the way forward | |
CN111061939B (zh) | 基于深度学习的科研学术新闻关键字匹配推荐方法 | |
Lipka | Modeling Non-Standard Text Classification Tasks | |
Kumar et al. | Evolution of hybrid distance based kNN classification | |
Hao | Naive Bayesian Prediction of Japanese Annotated Corpus for Textual Semantic Word Formation Classification | |
Che et al. | A feature and deep learning model recommendation system for mobile application | |
Bashiri et al. | LexiSNTAGMM: an unsupervised framework for sentiment classification in data from distinct domains, synergistically integrating dictionary-based and machine learning approaches | |
Kannan | Encoding and optimizing structured review for recommendation system using deeper self attention |
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 |