产学研创新服务平台(开云优惠体育网页版入口)
专利申请类型:发明专利;专利名称:面向API推荐的基于知识图谱驱动路径优化的意图澄清方法
专利类型:发明专利
专利申请号:CN202310757316.4
专利申请(专利权)人:江西师范大学
权利人地址:江西省南昌市高新区紫阳大道99号
专利发明(设计)人:黄箐,李子帅,左正康,邢振昌,曾锦山,王昌晶
专利摘要:本发明提供了一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法,包括:S1、提取体现API动作、事件、对象和约束的实体,丰富实体之间的关系类别,并以知识图谱为载体,存储提取到的实体和关系;S2、基于API知识图谱,生成对话过程,对用户的需求进行澄清,根据用户输入的查询语句从知识图谱中搜索子图,并设计引导机制及决策树算法,生成人机对话过程;S3、对API进行拓展并提供可解释性,拓展得到与初始API具有语义关系的其他API,实现从对话过程到知识图谱的映射,得到每个API的最佳澄清路径。本发明将API研究的即时响应能力与社会技术信息搜索的互动、澄清、解释和可扩展性能力相结合,有助于高效澄清问题,使用户更有效地导航和理解API的功能。
主权利要求:
1.一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法,其特征在于,包括以下步骤:步骤S1、从初始API文档中提取体现API动作、事件、对象和约束的实体,丰富实体之间的关系类别,包括API功能关系以及API语义关系,并以知识图谱为载体,存储提取到的类型丰富的实体和关系;
步骤S11、设计句子筛选规则,从API文档中提取与API行为相关的API描述语句;
步骤S12、设计语法和语义标签以及标注规则,据此设计对API描述语句进行语法角色标注和语义角色标注;
步骤S13、将语法角色和语义角色按规则组合,形成实体;
步骤S14、设计体现API行为的实体关系将实体组织起来,构成三元组;
步骤S15、以知识图谱作为载体将所有三元组存储起来,形成API行为知识图谱;
步骤S2、基于API知识图谱,生成高效对话过程,对用户的需求进行澄清,根据用户输入的查询语句从知识图谱中搜索子图,并设计高效引导机制及决策树算法,从而根据子图内容生成人机对话过程;
整个高效引导机制过程包括:
步骤S21、将子图中的实体和关系转化为Aspect和及其选项,并设计属性表将其存储;
步骤S22、设计决策树算法从属性表中选择最佳Aspect并将缩小子图范围,Aspect被作为决策树的节点,Aspect对应的选项作为节点的边;
步骤S23、重复步骤S21和步骤S22生成完整的决策树;
步骤S24、根据决策树设计澄清问题模板,最终形成人机对话过程;
步骤S3、对API进行拓展并提供可解释性,拓展得到与初始API具有语义关系的其他API,实现从对话过程到知识图谱的映射,得到每个API的最佳澄清路径,并作解释说明;
得到澄清路径的过程包括:
将对话过程转化为决策树中的路径,这条路径为从头节点到推荐API效率最高的一条路径,路径起点为决策树的头节点,终点为推荐的API列表;
从决策树中的路径到知识图谱的映射,将路径中的节点和边还原成知识图谱中的实体和关系,这些实体和关系在知识图谱中是相连的,组成了最佳澄清路径。
2.根据权利要求1所述的一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法,其特征在于,所述设计对API描述语句进行语法角色标注和语义角色标注,通过标注得到的语法角色有6类,分别是:动词verb,直接宾语directobject,直接宾语的修饰directobjectmodifier,介词preposition,介词宾语prepositionobject,介词宾语的修饰prepositionobjectmodifier;通过标注得到的语义角色有9类,分别是:位置约束、方向约束、方式约束、范围约束、时间约束、目标约束、目的约束、结果约束和条件约束语义角色。
3.根据权利要求1所述的一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法,其特征在于,步骤S1中所述丰富实体之间的关系类别,丰富实体共有6种类型,包括应用程序接口API,动作Action,事件Event,对象Object,对象约束ObjectConstraint,事件约束EventConstraint;所述关系类别包括事件功能关系、约束功能关系和语义关系;
所述事件功能关系用于将API,Action,Event,Object四类实体组织起来,包括API事件APIHasEvent,动作事件ActHasEvent,直接对象HasDirectObject,间接对象HasPrepositionObject这4类;
所述约束功能关系用于将Event,Object,ObjectConstraint四类实体组织起来,包括状态HasStatus,类型HasType,位置HasLocation,方向HasDirection,方式HasManner,范围HasExtent,时间HasTemporal,目标HasGoal,目的HasPurpose,结果HasResult,条件HasCondition这11类;
所述语义关系用于将不同的API实体组织起来,包括FunctionSimilarity功能相似,FunctionOpposite功能相反,FunctionReplace功能替换,FunctionCollaboration功能协作,LogicConstraint逻辑约束,BehaviorDifference行为差异,EfficiencyComparison效率比较这7类。
4.根据权利要求1所述的一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法,其特征在于,所述决策树算法为信息增益算法,该算法优先选择信息增益最大的Aspect,具体计算公式如下:Gain(aspect)=I(API1,...,APAm)?E(aspect)(1)上式中,Gain(aspect)表示信息增益;(I(API1,…,APIm))表示所有API的信息熵;(E(aspect))表示当前Aspect的信息熵;m表示API的数量;Pi表示第i个API在所有API中出现的概率;k表示属性列中列值的种类数;API_{1j},...,API_{mj}表示与第j个列值相关联的m个API。
5.根据权利要求1所述的一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法,其特征在于,所述人机对话过程包括多轮人机交互,每一轮人机交互包括系统生成的澄清问题及待选项和用户选择的选项,最后一轮系统将给出推荐的API列表,澄清问题模板共有十四个,分别对应决策树中的14类节点,每个节点的所有边被作为待选项。
6.一种应用如权利要求1至5任一项所述意图澄清方法的意图澄清系统,其特征在于,包括多样化知识组成形式构建模块、知识高效引导策略模块和推荐结果拓展和解释模块;
所述多样化知识组成形式构建模块用于将API文档中的API描述语句作为输入,进行API行为知识提。⑹涑龈骼嗍堤搴褪堤骞叵,存储至API行为知识图谱中;
所述知识高效引导策略模块用于接收用户输入的初始查询语句,使用子图搜索算法从API行为知识图谱中搜索出子图,再将子图作为输入,使用决策树算法构建决策树,根据决策树生成每一轮的澄清问题及选项,返回给用户;并根据用户选择的选项更新决策树,生成新一轮的澄清问题及选项,如此重复,直到用户选择停止对话,输出推荐结果API;
所述推荐结果拓展和解释模块用于将结果API作为输入,使用API拓展策略,得到拓展API,进而得到每个结果API和拓展API对应的最佳澄清路径。 说明书 : 面向API推荐的基于知识图谱驱动路径优化的意图澄清方法技术领域[0001] 本发明涉及应用程序编程接口API推荐技术领域,具体的说,是一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法。背景技术[0002] 开发者对应用程序编程接口API的需求已经超越了简单寻找特定编程任务的所谓最佳API的程度。为了最小化API的误用,他们必须考虑多个方面,例如API的特定使用环境、与合作API的关系以及相似但具有微小差异的API之间的混淆。因此,API搜索技术应该旨在引导开发者澄清:奈侍庖馔,为不同需求提供多样化和富有启发性的API,解释搜索结果,并扩展其他潜在有用的API知识。这种期望揭示了一些实用的API需求,即寻求具有启示性、可解释性和可扩展性的API推荐和知识发现,而不仅仅是呈现所谓的最佳API。满足这些实用的API需求不仅有助于开发者选择适合其需求的理想API,还能激发和拓展他们的思维,例如探索替代或更优解决方案,发现以前未知的API知识。[0003] 主流的API搜索技术采用API查询语句直接进行API搜索的技术,大致可以分为以下两类:[0004] (1)基于关键词匹配的方法。这类方法采用:丶势ヅ涞姆绞,以检索与关键词的字面意义(例如API名称、需求描述和标签)相匹配的API。然而,这种方法受到了关键词之间语义关系限制的限制。[0005] (2)基于深度学习的方法。这类方法需要查询语句包含足够的关键词来准确反映用户的需求。然而在实践中,由于查询语句关键词缺少的问题导致开发人员的意图不足以完全表达,这严重降低深度学习方法的有效性。[0006] 为了解决初始查询中关键词不足的问题,基于意图澄清的方法被提出,主要分为以下两类:[0007] (1)基于查询扩展的方法。查询扩展方法从知识库中检索与查询相关的扩展关键词,并将其修改或添加到初始查询语句中。然而,这些方法可能会带来负面的扩展效果,因为仅凭初始查询语句中的关键词很难完全表达用户的扩展需求,如果知识库中缺乏正确的扩展关键词,则知识推荐的效果大打折扣。[0008] (2)基于查询澄清的方法。这些方法通过提出澄清问题、提供与用户交互的选项,并根据用户的回复调整查询语句来精确表达用户的需求。然而,这类方法性能取决于训练数据的多样性和规模,如果训练数据中缺少正确的扩展关键词,导致查询结果单一。即使信息中存在扩展关键词,这些方法也可能需要多轮查询澄清才能准确捕捉用户的意图并获取正确的扩展关键词,这大大降低了查询澄清过程的效率。[0009] 综上所述,我们总结了现有方法的两个局限。[0010] 局限1:查询结果单一;现有方法的知识推荐还仅限于推荐所谓最佳API,而缺乏具有启发性、多样性和可解释性的推荐知识,从而无法满足开发人员对实用API的需求。[0011] 局限2:查询过程低效;现有方法对于需求不明确或未指定细节的查询语句,缺乏高效的查询澄清作引导,导致查询轮数过多,查询过程存在冗余信息,无法在最短的时间内推荐准确的实用性API知识。发明内容[0012] 本发明的目的是针对现有技术的不足,提供一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法,以解决上述现有技术存在的问题。[0013] 为实现上述目的,一方面本发明提供了一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法,包括以下步骤:[0014] 步骤S1、从初始API文档中提取体现API动作、事件、对象和约束的实体,丰富实体之间的关系类别,包括API功能关系以及API语义关系,并以知识图谱为载体,存储提取到的类型丰富的实体和关系;[0015] 步骤S2、基于API知识图谱,生成高效对话过程,对用户的需求进行澄清,根据用户输入的查询语句从知识图谱中搜索子图,并设计高效引导机制及决策树算法,从而根据子图内容生成人机对话过程;[0016] 步骤S3、对API进行拓展并提供可解释性,拓展得到与初始API具有语义关系的其他API,实现从对话过程到知识图谱的映射,得到每个API的最佳澄清路径,并作解释说明。[0017] 上述步骤S1中,所述从初始API文档中提取体现API动作、事件、对象和约束的实体,丰富实体之间的关系类别,包括API功能关系以及API语义关系,并以知识图谱为载体,存储提取到的类型丰富的实体和关系,过程如下:[0018] 步骤S11、设计句子筛选规则,从API文档中提取与API行为相关的API描述语句;[0019] 步骤S12、设计语法和语义标签以及标注规则,据此设计对API描述语句进行语法角色标注和语义角色标注;[0020] 步骤S13、将语法角色和语义角色按规则组合,形成实体;[0021] 步骤S14、设计体现API行为的实体关系将实体组织起来,构成三元组;[0022] 步骤S15、以知识图谱作为载体将所有三元组存储起来,形成API行为知识图谱。[0023] 进一步地,所述设计对API描述语句进行语法角色标注和语义角色标注,通过标注得到的语法角色有6类,分别是:动词verb,直接宾语directobject,直接宾语的修饰directobjectmodifier,介词preposition,介词宾语prepositionobject,介词宾语的修饰prepositionobjectmodifier;通过标注得到的语义角色有9类,分别是:位置约束、方向约束、方式约束、范围约束、时间约束、目标约束、目的约束、结果约束和条件约束语义角色。[0024] 10.步骤S1中所述丰富实体之间的关系类别,丰富实体共有6种类型,包括应用程序接口API,动作Action,事件Event,对象Object,对象约束ObjectConstraint,事件约束EventConstraint;所述关系类别包括事件功能关系、约束功能关系和语义关系;[0025] 所述事件功能关系用于将API,Action,Event,Object四类实体组织起来,包括API事件APIHasEvent,动作事件ActHasEvent,直接对象HasDirectObject,间接对象HasPrepositionObject这4类;[0026] 所述约束功能关系用于将Event,Object,ObjectConstraint四类实体组织起来,包括状态HasStatus,类型HasType,位置HasLocation,方向HasDirection,方式HasManner,范围HasExtent,时间HasTemporal,目标HasGoal,目的HasPurpose,结果HasResult,条件HasCondition这11类;[0027] 所述语义关系用于将不同的API实体组织起来,包括FunctionSimilarity功能相似,FunctionOpposite功能相反,FunctionReplace功能替换,FunctionCollaboration功能协作,LogicConstraint逻辑约束,BehaviorDifference行为差异,EfficiencyComparison效率比较这7类。[0028] 步骤S2中所述搜索子图与用户查询语句紧密相关,搜索子图内容包括API实体及与API实体相关的其他实体和关系,整个高效引导机制过程包括:[0029] 步骤S21、将子图中的实体和关系转化为Aspect和及其选项,并设计属性表将其存储;[0030] 步骤S22、设计决策树算法从属性表中选择最佳Aspect并将缩小子图范围,Aspect被作为决策树的节点,Aspect对应的选项作为节点的边;[0031] 步骤S23、重复步骤S21和步骤S22生成完整的决策树;[0032] 步骤S24、根据决策树设计澄清问题模板,最终形成人机对话过程。[0033] 进一步地,所述决策树算法为信息增益算法,该算法优先选择信息增益最大的Aspect,具体计算公式如下:[0034] Gain(aspect)=I(API1,...,APIm)?E(aspect)(1)[0035][0036][0037] 上式中,Gain(aspect)表示信息增益;(I(API1,…,APIm))表示所有API的信息熵;(E(aspect))表示当前Aspect的信息熵。[0038] 更进一步地,所述人机对话过程包括多轮人机交互,每一轮人机交互包括系统生成的澄清问题及待选项和用户选择的选项,最后一轮系统将给出推荐的API列表,澄清问题模板共有十四个,分别对应决策树中的14类节点,每个节点的所有边被作为待选项。[0039] 步骤S3中所述拓展得到与初始API具有语义关系的其他API,实现从对话过程到知识图谱的映射,得到每个API的最佳澄清路径,得到澄清路径的过程包括:[0040] 将对话过程转化为决策树中的路径,这条路径为从头节点到推荐API效率最高的一条路径,路径起点为决策树的头节点,终点为推荐的API列表;[0041] 从决策树中的路径到知识图谱的映射,将路径中的节点和边还原成知识图谱中的实体和关系,这些实体和关系在知识图谱中是相连的,组成了最佳澄清路径。[0042] 另一方面,本发明还给出了一种应用上述意图澄清方法的意图澄清系统,包括多样化知识组成形式构建模块、知识高效引导策略模块和推荐结果拓展和解释模块;[0043] 所述知识形式构建模块用于将API文档中的API描述语句作为输入,进行API行为知识提。⑹涑龈骼嗍堤搴褪堤骞叵,存储至API行为知识图谱中;[0044] 所述知识高效引导策略模块用于接收用户输入的初始查询语句,使用子图搜索算法从API行为知识图谱中搜索出子图,再将子图作为输入,使用决策树算法构建决策树,根据决策树生成每一轮的澄清问题及选项,返回给用户;并根据用户选择的选项更新决策树,生成新一轮的澄清问题及选项,如此重复,直到用户选择停止对话,输出推荐结果API;[0045] 所述推荐结果拓展和解释模块用于将结果API作为输入,使用API拓展策略,得到拓展API,进而得到每个结果API和拓展API对应的最佳澄清路径。[0046] 与现有技术相比,本发明的有益效果是:[0047] 1、本发明提供了一种面向API推荐的基于知识图谱KG驱动路径优化的高效查询澄清方法,设计了一种新颖的知识感知人工智能对话代理KAHAID,将API研究的即时响应能力与社会技术信息搜索的互动、澄清、解释和可扩展性能力相结合;本发明将API搜索从仅仅寻找最佳API转变为通过提供潜在有用和启发性的知识来增强整个查询过程,实现了互动、启发、可解释和可扩展的探索性发现。[0048] 2、本发明挖掘了有意义的API行为知识,包括API的操作、对象、约束以及功能/语义关系,并将这些知识组织成了一个API行为知识图谱KG;这个全面的知识图谱不仅有助于高效澄清问题,还能使用户更有效地导航和理解API的功能。[0049] 3、在基础知识图谱的基础上,本发明设计了一个基于决策树算法的高效知识引导策略,以优先考虑最佳提问方面,减少问题回答的轮次,并逐步引导开发人员澄清:奈侍庖馔。附图说明[0050] 图1是本发明面向API推荐的基于知识图谱驱动路径优化的意图澄清方法的流程图;[0051] 图2是本发明实施例中新型知识组织形式设计图;[0052] 图3是本发明实施例中的知识抽取方法流程图;[0053] 图4是本发明实施例中的人机对话生成方法流程图。具体实施方式[0054] 为了使发明创造实现其发明目的的技术构思及优点更加清楚明白,下面结合附图对本发明的技术方案作进一步的详细描述。应当理解的是,以下各实施例仅用以解释和说明本发明的优选实施方式,不应当构成对本发明要求专利保护的范围的限定。[0055] 实施例1[0056] 如图1所示,本发明提供了一种面向API推荐的基于知识图谱驱动路径优化的意图澄清方法,包括:[0057] 步骤S1、从初始API文档中提取体现API动作、事件、对象和约束的实体,丰富实体之间的关系类别,包括API功能关系以及API语义关系,并以知识图谱为载体,存储提取到的类型丰富的实体和关系;[0058] 步骤S2、基于API知识图谱,生成高效对话过程,对用户的需求进行澄清,根据用户输入的查询语句从知识图谱中搜索子图,并设计高效引导机制及决策树算法,从而根据子图内容生成人机对话过程;[0059] 步骤S3、对API进行拓展并提供可解释性,拓展得到与初始API具有语义关系的其他API,实现从对话过程到知识图谱的映射,得到每个API的最佳澄清路径,并作解释说明。[0060] 为了满足实用性API需求,本发明设计了一个全新的兼具准确性、多样性、启发性和解释性的知识组织形式;它以知识图谱为载体,将丰富的实体和实体关系组织起来。[0061] 如图2所示,本实施例中通过对API文档的处理和研究,设计了6类实体,并通过22类实体关系将这些实体组织起来。[0062] 其中实体共有6种类型,包括API,Action,Event,Object,ObjectConstraint,EventConstraint。其中Event实体又包括了Action和Object两类实体。[0063] 实体关系从事件功能关系、约束功能关系和语义关系三方面进行设计:[0064] (1)事件功能关系负责将API,Action,Event,Object四类实体组织起来,包括APIHasEvent,ActHasEvent,HasDirectObject,HasPrepositionObject这4类;[0065] (2)约束关系负责将Event,Object,ObjectConstraint四类实体组织起来,包括对象约束关系和事件约束关系。对象约束关系包括HasStatus和HasType这2类。事件约束关系包括HasLocationrelation,HasDirectionrelation,HasMannerrelation,HasExtentrelation,HasTemporalrelation,HasGoalrelation,HasPurposerelation,HasResultrelation,HasConditionrelation这9类;[0066] (3)语义关系负责将不同的API实体组织起来,包括功能替换关系、性能比较关系等7类;分别是:FunctionSimilarity,FunctionOpposite,FunctionReplace,FunctionCollaboration,LogicConstraint,BehaviorDifference,EfficiencyComparison。[0067] 如图3所示,步骤S1中所述从初始API文档中提取体现API动作、事件、对象和约束的实体,其子过程包括:[0068] 步骤S11、设计句子筛选规则,从API文档中提取与API行为相关的API描述语句;[0069] 步骤S12、设计语法和语义标签以及标注规则,据此设计对API描述语句进行语法角色标注和语义角色标注;通过标注得到的语法角色有6类,分别是verb,directobject,directobjectmodifier,preposition,prepositionobject,prepositionobjectmodifier;通过标注得到的语义角色有9类,例如时间约束、地点约束、目的约束和方面约束等约束语义角色;[0070] 步骤S13、将语法角色和语义角色按规则组合,形成实体;[0071] 步骤S14、设计体现API行为的实体关系将实体组织起来,构成三元组;[0072] 步骤S15、以知识图谱作为载体将所有三元组存储起来,形成API行为知识图谱。[0073] 以图3为例,在接收初始输入的API描述语句“convertsapathstring,orasequenceofstringsthatwhenjoinedformapathstring,toapath”后,使用NLP工具(包括ALLenNLP,ChatGPT等),按句子成分标注上多个不同的标签(如V、ARG1、ARGM?TMP和ARG2)。根据这些标签,提取出句子的各个语法角色和语义角色。例如,根据V标签的位置提取出语法角色中的动词“convert”,根据标签ARGM?TMP提取出语义角色“时间约束”,它表示对整个事件在时间上的限定。随后,将这些句子组件组合起来形成实体。在这种情况下,将动词、直接宾语和介词宾语组合起来形成一个Event实体,例如“convertapathstringtoanonemptypath”。随着实体的形成,它们之间的关系自然而然地出现。将所有提取出的实体和功能关系组织为三元组。例如,Action实体和Event实体可以形成一个“HasEvent”关系,从而得到三元组<“convert”,ActHasEvent,“convertapathstringtoanonemptypath”>。[0074] 最后,利用Neo4j图数据库存储上述三元组,从而构建API行为知识图谱。[0075] 本实施例中通过实验来评估上述方法的性能:[0076] 通过实验验证三元组的准确性;因为三元组包含实体和关系,其准确性可以有效体现知识抽取方法的性能。[0077] 实验结果表明三元组的平均准确性达到了90%以上,最低准确性也达到了85%;这表明本实施例中构建的三元组具有很高的准确性,步骤S1中所述方法能高效地抽取出准确的知识。[0078] 如图4所示为步骤3中人机对话生成方法的流程图,该流程包括以下四个步骤:[0079] 1、将每个API和功能关系组织成属性表,如图4?a到图4?b所示,构建属性表是决策树构建的关键步骤,这一步骤实现将API和功能关系转换为二维形式,便于不同方面的比较,有助于确定查询中需要澄清的最关键方面;本实施例中API实体及其功能关系称为API{,...},然后将其转换为具有一个API列和多个方面列的属性表。属性表的第一列是API列,其中包含所有匹配到的API的ID号。第一列之后的列是aspect列。功能关系中的“e1#r”被选择作为列名,而选项“e2”作为列值。需要注意的是,如果中的r表示的是“ActionHasEvent”关系,则直接使用“action#HasEvent”作为列名,而不是“e1#r”。[0080] 2、根据属性表选择关键澄清方面并分割子图以获取子数据集,选择最佳关键澄清方面有助于最小化决策树的高度,从而提高问答过程的效率,本实施例中采用基于信息增益的决策树算法ID3来选择具有最高信息增益的方面列,更高的信息增益表示与问题相关的选项或API更多,这有助于减少对话轮次并引导用户快速澄清其意图;[0081] 具体的,决策树算法计算公式如下[0082] Gain(aspect)=I(API1,...,APIm)?E(aspect)(1)[0083] 每个属性列的信息增益可通过公式(1)计算得到,它是所有API的信息熵I(API1,...,APIm)与当前属性列的信息熵E(aspect)之差;熵度量随机变量的不确定性,表征示例的杂质程度,熵越高,表示信息量越大。[0084][0085] 所有API的信息熵I(API1,...,APIm)由公式(2)计算得到,其中m是API的数量,Pi则表示是第i个API在所有API中出现的概率;[0086][0087] 当前属性列的信息熵E(aspect)通过公式(3)进行计算,其中k是属性列中列值的种类数,“API_{1j},...,API_{mj}”代表与第j个列值相关联的m个API。[0088] 基于以上计算可以从属性表中确定具有最高信息增益的属性列,该列的属性将被作为决策树中的当前节点,不同的列值(包括空值)被作为边连接到当前节点。为了决策树的每条边生成能子节点,需要对子图进行划分,本实施例中将具有相同列值的API{,...}分组,形成子数据集,通过这种方式则完成了决策树中一层节点和边的构建。[0089] 3、递归重复步骤1和步骤2,构建支持查询澄清过程的完整决策树,构建结果如图4?b到图4?c所示。[0090] 为了构建完整的决策树,对于每个子数据集,本实施例中递归重复步骤1和步骤2来构建子节点,直到满足以下停止标准:[0091] a.子数据集仅包含一个API;[0092] b.b.子数据集包含多个具有相同功能的API;[0093] 当满足停止标准时,将当前子数据集中的所有API称为当前节点,并将其设置为决策树中的叶节点。需要注意的是,在构建新的属性表时,会删除已经选择的方面,以避免生成冗余的澄清问题。[0094] 4、根据决策树生成查询澄清过程,如图4?c到图4?d所示。[0095] 本实施例中使用决策树的当前节点及其所有边来生成澄清问题和多样性选项,根据当前节点的不同方面,可以使用以下模板生成澄清问题:在用户选择选项之后,决策树会被剪枝,只留下用户所选分支的子树;如果子树只有一个节点,答案将直接被推荐;否则,将生成新一轮的澄清和选项;在对话过程中,用户可以随时手动停止生成新一轮的澄清和选项;在这种情况下,子树中包含的所有API都视为推荐的API序列。[0096] 最后,本实施例通过实验来评估面向API推荐的基于知识图谱驱动路径优化的意图澄清方法的性能。主要从对话效率、API推荐和知识扩展三方面进行评估。[0097] 在对话效率方面,本发明方法成功生成了高效的语义多样的问题选项(任意两个选项之间的平均多样性为74.9%),并有效减少了对话轮次(查询需要的平均轮次不超过三轮);证实了本发明方法在API推荐和知识扩展方面具有强大的能力。[0098] 对于API推荐,本发明方法在平均倒数排名(MRR)和平均平均精度(MAP)分别为0.769和0.794,优于两种最先进的API搜索方法BIKER和CLEAR,MRR至少提高了47%,MAP提高了226.7%。[0099] 在知识扩展方面,本发明方法的MRR和MAP分别为0.815和0.864,超过了最先进的基于对话的代码搜索方法ZaCQ,MRR至少提高了42%,MAP提高了45.2%。[0100] 以上对本发明的较佳实现方法进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变型或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
专利地区:江西
专利申请日期:2023-06-26
专利公开日期:2024-11-29
专利公告号:CN116860991B