CN116776981A - 基于大型预训练语言模型的api关系推理方法及系统 - Google Patents
基于大型预训练语言模型的api关系推理方法及系统 Download PDFInfo
- Publication number
- CN116776981A CN116776981A CN202310697392.0A CN202310697392A CN116776981A CN 116776981 A CN116776981 A CN 116776981A CN 202310697392 A CN202310697392 A CN 202310697392A CN 116776981 A CN116776981 A CN 116776981A
- Authority
- CN
- China
- Prior art keywords
- api
- module
- relationship
- reasoning
- knowledge
- 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 38
- 238000012549 training Methods 0.000 title claims abstract description 25
- 239000008186 active pharmaceutical agent Substances 0.000 claims abstract description 125
- 230000004931 aggregating effect Effects 0.000 claims abstract description 12
- 238000000605 extraction Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005065 mining Methods 0.000 claims description 7
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 230000009191 jumping Effects 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及人工智能领域,提供一种基于大型预训练语言模型的API关系推理方法及系统,从文本中提取API的简单名称,推断它们的完全限定名称;判定API完全限定名称数量是否不小于;将全部的API完全限定名称两两组合,构造API对;咨询LLM,得到某个API对的相关知识块;基于API相关知识块,通过群智策略推理得到API之间的关系。本发明基于大型预训练语言模型的API关系推理方法及系统,借助LLM存储的海量知识,突破了API文本范围的限制;借助LLM强大的上下文学习能力和推理能力,能够推理出文本中没有显性表达的API关系;借助独特的推理方法,能够准确且全面地推理API关系;通过群体智能策略,聚合不同风格的API关系推理结果,准确得到最终的API关系。
Description
技术领域
本发明涉及人工智能领域,具体的说,是涉及一种基于大型预训练语言模型的API关系推理方法及系统。
背景技术
应用程序接口(API)是一些预先定义的函数。通过 API,开发人员可以调用其他软件应用程序、库或服务的功能,实现代码的重用,并简化开发过程。API之间通常包含错综复杂的关系,即一个API与多个API存在关系,或者一个API与另一个API存在多种关系。以java.lang.StringBuffer为例,它与java.lang.String和java.lang.StringBuilder存在关系。同时,java.lang.StringBuffer与java.lang.StringBuilder还存在多种关系,这些API关系通常以文本的形式存在于API开发文档,教程文档以及各种开发论坛中。然而,由于文本的非结构化特性,文本中丰富的API知识不容易被挖掘出来,此外,文本的语言特性(句法复杂度和语义丰富度)进一步使得API关系的挖掘工作更加困难,难以准确且全面的覆盖多样的API关系。
目前,现有挖掘API关系的技术手段主要是基于启发式规则以及深度学习的方法。前者的实现方式是根据自然语言文本总结句法模式,然后使用这些句法模式匹配文本中的API关系。后者则是通过标注数据微调自然语言模型(如T5),然后调用微调后的模型实现API关系的提取。但是,现有的技术中存在的主要问题是:
1)从单个数据源中收集的API文本范围有限,不能充分覆盖多样的API关系。此外,严格的规则匹配容易受到文本描述变化的影响,并且数据标注涉及到大量的人工开销。因此,扩展现有方法到其他的数据源是困难的。
2)现有方法只能从输入文本(默认为一个句子)中提取显性表达的API关系,无法组合多个句子推理API关系,即缺乏推理能力。
发明内容
针对上述现有技术中的不足,本发明提供一种借助LLM强大的上下文学习能力和推理能力,能够推理出文本中没有显性表达的API关系的基于大型预训练语言模型的API关系推理方法及系统。
本发明所采取的技术方案是:
第一方面,提供一种基于大型预训练语言模型的API关系推理方法,包括如下步骤:
S1,开始;
S2,从文本中提取API的简单名称,推断它们的完全限定名称;
S3,判定API完全限定名称数量是否不小于2,API完全限定名称数量不小于2,跳转步骤S4,否则跳转步骤S1;
S4,将全部的API完全限定名称两两组合,构造API对;
S5,咨询LLM,得到某个API对的相关知识块;
S6,基于API相关知识块,通过群智策略推理得到API之间的关系;
S7,结束。
第二方面,提供一种基于大型预训练语言模型的API关系推理方法,构造API对的步骤包括:
对API文本数据中已经存在的API完全限定名称进行提取,得到API完全限定名称API FQN;
对API文本数据中不存在API完全限定名称进行提取,首先进行API 简单名称进行提取,得到API的简单名称;
对API简单名称进行推理,得到API完全限定名称API FQN;
所述API FQN不存在于文本中,是推理得到的。
将全部的API完全限定名称两两组合,得到API对。
第三方面,提供一种基于大型预训练语言模型的API关系推理方法,得到API相关知识块的步骤包括:
咨询LLM得到每个API的相关知识;
组合两个API(属于一个API 对)的相关知识,得到API知识块。
第四方面,提供一种基于大型预训练语言模型的API关系推理方法,其特征在于:推理得到API关系的步骤包括:
结合API相关知识块,使用三种不同的推理风格推理API关系;
聚合三种推理方法的结果,得到最终的API关系。
第五方面,提供一种基于大型预训练语言模型的API关系推理系统,包括:API完全限定名称解析器模块、API知识提取器模块、API关系决定器模块;其中所述API知识提取模块分别与API完全限定名称解析模块和API关系决策模块连接;
API完全限定名称API FQN解析模块,用于获取API文本中的完全限定名称FQN,并将它们两两组合成API对,其中所述完全限定名称FQN包括文本中直接存在的完全限定名称FQN和由文本中API简单名称推理得到的API完全限定名称API FQN;
API知识提取模块,用于获取API对中两个API的相关知识,并将这些知识聚合起来形成API知识块;
API关系决策模块,基于API知识块,聚合三种推理风格的结果得到最终的API关系。
第六方面,提供一种基于大型预训练语言模型的API关系推理系统,API完全限定名称API FQN解析模块包括: API简单名称提取模块、API完全限定名称API FQN提取模块、API完全限定名称API FQN推理模块和API对生成模块;
API简单名称提取模块,用于从API文本中提取API的简单名称;
API完全限定名称API FQN提取模块,用于从API文本中提取API的FQN;
API完全限定名称API FQN推理模块,基于提取到的API简单名称推理API完全限定名称API FQN;
API 对生成模块,用于将所有的API完全限定名称API FQN两两组合,形成API对。
第七方面,提供一种基于大型预训练语言模型的API关系推理系统, API知识提取模块包括:API知识挖掘模块和API知识组合模块;
API知识挖掘模块用于从LLM中提取API相关知识;
API知识组合模块用于组合提取到的API相关知识,形成API知识块。
第八方面,提供一种基于大型预训练语言模型的API关系推理系统,所述API关系决定器模块包括:API关系决策-1模块、API关系决策-2模块、API关系决策-3模块和API关系聚合模块;
API关系决策-1模块,基于API知识块,采用开放式问答风格,引导LLM推理API关系;
API关系决策-2模块,基于API知识块,采用限制式判断风格,引导LLM推理API关系
API关系决策-3模块,基于API知识块,采用多项选择风格,引导LLM推理API关系;
API关系聚合模块,用于聚合三种不同风格的结果,得到最终的API关系。
第九方面,提供一种计算机设备,包括存储器、处理器以及储存再所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于大型预训练语言模型的API关系推理方法。
第十方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现所述基于大型预训练语言模型的API关系推理方法。
本发明相对现有技术的有益效果:
本发明基于大型预训练语言模型的API关系推理方法及系统,借助LLM存储的海量知识,突破了API文本范围的限制;借助LLM强大的上下文学习能力和推理能力,能够推理出文本中没有显性表达的API关系;借助独特的推理方法,不受文本语言特性的影响。
本发明基于大型预训练语言模型的API关系推理方法及系统,通过合理的分析流设计,提升了LLM响应的鲁棒性,能够准确且全面地推理API关系;通过群体智能策略,聚合不同风格的API关系推理结果,得到最终的API关系,提升了方法的鲁棒性。
附图说明
图1为本发明实例中的基于LLM的API关系推理方法示意图;
图2为本发明实例中API简单名称提取模块的prompt设计图;
图3为本发明实例中API FQN推理模块的prompt设计图;
图4为本发明实例中API知识挖提取模块的prompt设计图;
图5为本发明实例中API关系决策-1模块的prompt设计图;
图6为本发明实例中API关系决策-2模块的prompt设计图;
图7为本发明实例中API关系决策-3模块的prompt设计图;
图8为本发明实例中基于LLM的API关系推理系统示例图。
具体实施方式
以下参照附图及实施例对本发明进行详细的说明:
需要说明的是,本申请中的实施例以及附图均以一种API关系(功能相似关系)为例,事实上本发明可推理五种API关系(功能相似、行为差异、效率比较、功能替代、逻辑约束等关系)。
实施例1:
如图1所示,本发明实施中提供了一种基于大型预训练语言模型的API关系推理方法,所述方法包括:
从API文本中获取所有的API FQN。
将所述API FQN两两组合,得到API对。
从大型预训练语言模型中提取所述APIFQN的相关知识,构造API知识块。
基于API知识块,引导大型预训练语言模型推理API关系。
具体地,在获取APIFQN的过程中,为了提示LLM执行此任务,使用了一个Prompt,如图2所示,输入为API文本,输出为API文本中的API简单名称。Prompt主要由两部分组分组成:任务描述和5个示例。其中任务描述为“Extract the Non-FQNs of Java APIs in thenatural language text”。在五个示例中,每个示例都由两部分组成:API文本和API文本中包含的API简单名称。基于所述的prompt模板,LLM将模仿示例中的行为特征,输出给定API文本中包含的API简单名称。然后可以推理API简单名称所对应的FQN,使用的prompt如图3所示。基于该prompt,输入API文本和API简单名称,得到对应的API FQN。此外,API文本可能直接存在API FQN,我们可以使用规则匹配的方法直接提取这些API FQN。
具体地,当所述API FQN的数量不小于2时,将这些FQN两两组合,形成API对。否则,则开始输入下一个文本。
具体地,在提取API知识的过程中,为了提示LLM执行此任务,使用了一个Prompt,如图4所示,prompt主要由两部分组分组成:任务描述和5个示例。其中任务描述为“Answerthe question about API knowledge”,每个示例由两部分组成:API、对应的API知识。当输入一个API,输出对应的API知识。我们并行执行该操作,以获取API对中两个API的相关知识。然后,我们将这两个API的知识组合在一起,得到API知识块。
具体地,推理API关系的过程中,为了提示LLM执行此任务,使用了3种Prompt,分别如图5、6、7所示,输入为API知识块以及API,输出API关系推理结果。其中,图5所示prompt为开放式问答风格,其中示例为;图6所示prompt为限制式判断风格;图7所示为多项选择风格,三种不同风格的prompt并行执行得到推理结果。然后,聚合三个推理结果得到最终结果。
综上,本实施例借助LLM海量的API知识,克服了API文本范围的限制。并且方法特有的推理能力,能够不受API文本特性的影响,准确且全面地推理API关系。
实施例2:
本发明提供了一个用于推理API关系的系统,如图8所示,所述API关系推理系统包括:API FQN解析器模块、API知识提取器模块和API关系决策器模块。
具体地,所述API FQN解析器模块,用于获取API文本中的FQN,并将他们两两组合成API对。
具体地,将所述代码结构提取器模块分为若干基于LLM推理的AI模块和遵循明确定义规则或逻辑的非AI模块。其中,AI模块包括:API简单名称提取模块,被配置为通过LLM的上下文学习能力,提取出文本的API简单名称,并用于指导下一个AI模块;API FQN推理模块,被配置为通过利用LLM的上下文学习能力,推理API简单名称的FQN。非AI模块包括:APIFQN提取模块,被配置为通过字符匹配的方式提取文本中存在的FQN;API对生成模块,被配置为将所述的全部API FQN进行两两组合,形成API对。
具体地,所述API知识提取模块,用于获取API对中两个API的相关知识,并将这些知识聚合起来形成API知识块。其中,AI模块包括:API知识挖掘模块,被配置为通过LLM的上下文学习能力,提取API相关知识。非AI模块包括:API知识组合模块,被配置为利用逻辑规则组合提取到的API相关知识,形成API知识块。
具体地,所述API关系决定器模块,基于API知识块,聚合三种推理风格的结果得到最终的API关系。其中,AI模块包括:API关系决策-1模块,被配置为基于API知识块,采用限制式判断风格,引导LLM推理API关系;API关系决策-2模块,被配置为基于API知识块,采用限制式判断风格,引导LLM推理API关系。API关系决策-3模块,被配置为基于API知识块,采用多项选择风格,引导LLM推理API关系。非AI模块包括:API关系聚合模块,被配置为通过逻辑规则聚合三种不同风格的结果,得到最终的API关系。
本发明基于大型预训练语言模型的API关系推理方法及系统,借助LLM存储的海量知识,突破了API文本范围的限制;借助LLM强大的上下文学习能力和推理能力,能够推理出文本中没有显性表达的API关系;借助独特的推理方法,不受文本语言特性的影响。
本发明基于大型预训练语言模型的API关系推理方法及系统,通过合理的分析流设计,提升了LLM响应的鲁棒性,能够准确且全面地推理API关系;通过群体智能策略,聚合不同风格的API关系推理结果,得到最终的API关系,提升了方法的鲁棒性。
以上所述,仅是本发明的较佳实施例而已,并非对本发明的结构作任何形式上的限制。凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明的技术方案范围内。
Claims (10)
1.一种基于大型预训练语言模型的API关系推理方法,其特征在于,包括如下步骤:
S1,开始;
S2,从文本中提取API的简单名称,推断它们的完全限定名称;
S3,判定API完全限定名称数量是否不小于2,API完全限定名称数量不小于2,跳转步骤S4,否则跳转步骤S1;
S4,将全部的API完全限定名称两两组合,构造API对;
S5,咨询LLM,得到某个API对的相关知识块;
S6,基于API相关知识块,通过群智策略推理得到API之间的关系;
S7,结束。
2.根据权利要求1所述基于大型预训练语言模型的API关系推理方法,其特征在于:构造API对的步骤包括:
对API文本数据中已经存在的API完全限定名称进行提取,得到API完全限定名称;
对API文本数据中不存在API完全限定名称进行提取,首先进行API 简单名称进行提取,得到API的简单名称;
对API简单名称进行推理,得到API完全限定名称;
将全部的API完全限定名称两两组合,得到API对。
3.根据权利要求1所述基于大型预训练语言模型的API关系推理方法,其特征在于:得到API相关知识块的步骤包括:
咨询LLM得到每个API的相关知识;
组合两个API的相关知识,得到API知识块。
4.根据权利要求1所述基于大型预训练语言模型的API关系推理方法,其特征在于:推理得到API关系的步骤包括:
结合API相关知识块,使用三种不同的推理风格推理API关系;
聚合三种推理方法的结果,得到最终的API关系。
5.一种基于大型预训练语言模型的API关系推理系统,其特征在于,包括:API完全限定名称解析器模块、API知识提取器模块、API关系决定器模块;其中所述API知识提取模块分别与API完全限定名称解析模块和API关系决策模块连接;
API完全限定名称解析模块,用于获取API文本中的完全限定名称,并将它们两两组合成API对,其中所述完全限定名称包括文本中直接存在的完全限定名称FQN和由文本中API简单名称推理得到的API完全限定名称;
API知识提取模块,用于获取API对中两个API的相关知识,并将这些知识聚合起来形成API知识块;
API关系决策模块,基于API知识块,聚合三种推理风格的结果得到最终的API关系。
6.根据权利要求5所述基于大型预训练语言模型的API关系推理系统,其特征在于:
API完全限定名称解析模块包括: API简单名称提取模块、API完全限定名称提取模块、API完全限定名称推理模块和API对生成模块;
API简单名称提取模块,用于从API文本中提取API的简单名称;
API完全限定名称提取模块,用于从API文本中提取API的FQN;
API完全限定名称推理模块,基于提取到的API简单名称推理API完全限定名称;
API 对生成模块,用于将所有的API完全限定名称两两组合,形成API对。
7.根据权利要求5所述基于大型预训练语言模型的API关系推理系统,其特征在于:API知识提取模块包括:API知识挖掘模块和API知识组合模块;
API知识挖掘模块用于从LLM中提取API相关知识;
API知识组合模块用于组合提取到的API相关知识,形成API知识块。
8.根据权利要求5所述基于大型预训练语言模型的API关系推理系统,其特征在于:所述API关系决定器模块包括:API关系决策-1模块、API关系决策-2模块、API关系决策-3模块和API关系聚合模块;
API关系决策-1模块,基于API知识块,采用开放式问答风格,引导LLM推理API关系;
API关系决策-2模块,基于API知识块,采用限制式判断风格,引导LLM推理API关系
API关系决策-3模块,基于API知识块,采用多项选择风格,引导LLM推理API关系;
API关系聚合模块,用于聚合三种不同风格的结果,得到最终的API关系。
9.一种计算机设备,包括存储器、处理器以及储存再所述存储器中并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任意一项所述基于大型预训练语言模型的API关系推理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任意一项所述基于大型预训练语言模型的API关系推理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310697392.0A CN116776981A (zh) | 2023-06-13 | 2023-06-13 | 基于大型预训练语言模型的api关系推理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310697392.0A CN116776981A (zh) | 2023-06-13 | 2023-06-13 | 基于大型预训练语言模型的api关系推理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116776981A true CN116776981A (zh) | 2023-09-19 |
Family
ID=87988890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310697392.0A Pending CN116776981A (zh) | 2023-06-13 | 2023-06-13 | 基于大型预训练语言模型的api关系推理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116776981A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117114250A (zh) * | 2023-10-24 | 2023-11-24 | 广州知韫科技有限公司 | 一种基于大模型的智能决策系统 |
-
2023
- 2023-06-13 CN CN202310697392.0A patent/CN116776981A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117114250A (zh) * | 2023-10-24 | 2023-11-24 | 广州知韫科技有限公司 | 一种基于大模型的智能决策系统 |
CN117114250B (zh) * | 2023-10-24 | 2024-02-02 | 广州知韫科技有限公司 | 一种基于大模型的智能决策系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180239758A1 (en) | Method and system for machine comprehension | |
CN109710737B (zh) | 一种基于结构化查询的智能推理方法 | |
US20130262371A1 (en) | Method and apparatus for computer assisted innovation | |
US20160154631A1 (en) | Method and system for machine comprehension | |
Meziane et al. | Artificial intelligence in software engineering: current developments and future prospects | |
US20200097265A1 (en) | Method and system for machine comprehension | |
Le et al. | Interactive program synthesis | |
US20220414463A1 (en) | Automated troubleshooter | |
CN115309451A (zh) | 代码克隆检测方法、装置、设备、存储介质及程序产品 | |
CN110162297A (zh) | 一种源代码段自然语言描述自动生成方法及系统 | |
CN116776981A (zh) | 基于大型预训练语言模型的api关系推理方法及系统 | |
Strass et al. | EMIL: Extracting meaning from inconsistent language: Towards argumentation using a controlled natural language interface | |
CN115879450B (zh) | 一种逐步文本生成方法、系统、计算机设备及存储介质 | |
CN116400910A (zh) | 一种基于api替换的代码性能优化方法 | |
Naghdipour et al. | Ontology-based design pattern selection | |
CN114741088A (zh) | 一种基于用户评论和开发者智慧的App源代码链接方法 | |
Zolotas et al. | Type inference in flexible model-driven engineering using classification algorithms | |
Chen et al. | Bashon: A Hybrid Crowd-Machine Workflow for Shell Command Synthesis | |
Kontogiannis | Program representation and behavioural matching for localizing similar code fragments | |
Cai et al. | Automatic refactoring of conditions and substitutions for B state transition models | |
Johnson et al. | Grammar formalisms viewed as evolving algebras | |
Yang | Neurosymbolic Machine Learning for Reasoning | |
Velykis | Capturing Proof Process | |
de Azevedo et al. | Representing knowledge in DL ALC from text | |
Shrivastava | Contextual cues for deep learning models of code |
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 |