答案生成方法、装置、设备及存储介质转让专利

申请号 : CN202310142787.4

文献号 : CN116089587B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李胜张骏徐滔伶吕振远单培贺先智

申请人 : 星环信息科技(上海)股份有限公司

摘要 :

本发明公开了一种答案生成方法、装置、设备及存储介质。该方法包括:抽取问句中的目标实体;根据目标实体和知识图谱确定实体候选集和本体候选集,实体候选集包括至少一个知识图谱实体,本体候选集包括至少一个知识图谱本体;通过本体感知模型从本体候选集中确定目标答案节点;基于候选答案节点生成到达目标答案节点的候选路径;对候选路径进行打分和排序,根据分数最高的候选路径生成问句的答案,答案包括目标答案节点对应的至少一个知识图谱实体。上述技术方案根据问句和知识图谱确定可能的候选路径,并根据分数最高的候选路径生成问句的答案,提高了生成答案的可靠性,并且对各类问答应用具有普遍适用性。

权利要求 :

1.一种答案生成方法,其特征在于,包括:

抽取问句中的目标实体;

根据所述目标实体和知识图谱确定实体候选集和本体候选集,其中,所述实体候选集包括至少一个知识图谱实体,所述本体候选集包括至少一个知识图谱本体,每个知识图谱本体作为一个候选答案节点;

通过本体感知模型从所述本体候选集中确定目标答案节点;

基于所述候选答案节点生成到达所述目标答案节点的候选路径;

对所述候选路径进行打分和排序,并根据分数最高的候选路径生成所述问句的答案,所述答案包括所述目标答案节点对应的至少一个知识图谱实体;

其中,所述本体感知模型包括两个共享权重的自然语言处理模型;

通过本体感知模型从所述本体候选集中确定目标答案节点,包括:通过一个自然语言处理模型对所述问句进行向量嵌入表示,通过另一个自然语言处理模型对所述本体候选集中的单个知识图谱本体进行向量嵌入表示;

根据所述问句的向量嵌入表示和所述知识图谱本体的向量嵌入表示,分别确定所述问句对应所述知识图谱本体的第一注意力向量以及所述知识图谱本体对应所述问句的第二注意力向量;

对所述第一注意力向量和所述第二注意力向量执行加操作,得到目标向量;

若所述目标向量的二分类结果为与所述问句匹配,则将所述知识图谱本体确定为目标答案节点。

2.根据权利要求1所述的方法,其特征在于,所述抽取问句中的目标实体,包括:对所述问句进行以下预处理:停用词处理、大小写转化和/或特殊字符处理;

将预处理后的所述问句输入至自然语言处理模型,得到所述目标实体。

3.根据权利要求1所述的方法,其特征在于,根据所述目标实体和知识图谱确定实体候选集和本体候选集,包括:通过分布式搜索引擎从所述知识图谱中召回与所述目标实体相关的知识图谱实体以及知识图谱本体;

计算所述知识图谱实体与所述目标实体的语义相似度;

根据所述语义相似度对所述知识图谱实体进行筛选,筛选后的知识图谱实体组成所述实体候选集,筛选后的知识图谱实体对应的知识图谱本体组成所述本体候选集。

4.根据权利要求1所述的方法,其特征在于,基于所述候选答案节点生成到达所述目标答案节点的候选路径,包括:对所述实体候选集中的知识图谱实体进行组合,得到至少一条到达所述目标答案节点的基础路径,所述基础路径中的知识图谱实体为有序的路径节点;

根据所述知识图谱对所述至少一条基础路径进行节点补充以生成相应的候选路径。

5.根据权利要求4所述的方法,其特征在于,根据所述知识图谱对所述至少一条基础路径进行节点补充以生成相应的候选路径,包括:初始化初级路径集合和候选节点集合,所述初级路径集合和所述候选节点集合均为空;

对于一条所述基础路径,将所述基础路径中的最后一个路径节点加入所述初级路径集合,将所述基础路径中除所述最后一个路径节点以外的其他路径节点作为候选节点加入所述候选节点集合;

计算当前的初级路经集合中的结束节点与所述候选节点集合中的每个候选节点的路径长度;

将路径长度最短的候选节点添加至所述初级路径集合并位于所述结束节点之后,作为所述初级路径集合新的结束节点;

若所述新的结束节点为叶子节点,则从所述候选节点集合中删除所述新的结束节点,并返回计算路径长度的步骤;

若所述初级路径的结束节点非叶子节点,则当前的初级路经集合中的路径节点按顺序形成所述基础路径相应的候选路径。

6.根据权利要求1所述的方法,其特征在于,对所述候选路径进行打分和排序,并根据分数最高的候选路径生成所述问句的答案,包括:分别针对所述候选路径中包含的实体和关系进行打分,得到第一分数和第二分数;

按照所述第一分数和所述第二分数的综合分数由高到低对各所述候选路径进行排序;

按照综合分数最高的候选路径从所述知识图谱中查询得到所述问句的答案。

7.一种答案生成装置,其特征在于,包括:

问题处理模块,用于抽取问句中的目标实体;

实体链接模块,用于根据所述目标实体和知识图谱确定实体候选集和本体候选集,其中,所述实体候选集包括至少一个知识图谱实体,所述本体候选集包括至少一个知识图谱本体;

本体感知模块,用于通过本体感知模型从所述本体候选集中确定目标答案节点;

路径生成模块,用于生成到达所述目标答案节点的候选路径;

答案生成模块,用于对所述候选路径进行打分和排序,并根据分数最高的候选路径生成所述问句的答案,所述答案包括所述目标答案节点对应的至少一个知识图谱实体;

其中,所述本体感知模型包括两个共享权重的自然语言处理模型;

所述本体感知模块包括:

嵌入表示单元,用于通过一个自然语言处理模型对所述问句进行向量嵌入表示,通过另一个自然语言处理模型对所述本体候选集中的单个知识图谱本体进行向量嵌入表示;

注意力向量确定单元,用于根据所述问句的向量嵌入表示和所述知识图谱本体的向量嵌入表示,分别确定所述问句对应所述知识图谱本体的第一注意力向量以及所述知识图谱本体对应所述问句的第二注意力向量;

加操作单元,用于对所述第一注意力向量和所述第二注意力向量执行加操作,得到目标向量;

二分类单元,用于若所述目标向量的二分类结果为与所述问句匹配,则将所述知识图谱本体确定为目标答案节点。

8. 一种答案生成设备,其特征在于,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1‑6中任一所述的答案生成方法。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑6中任一所述的答案生成方法。

说明书 :

答案生成方法、装置、设备及存储介质

技术领域

[0001] 本发明实施例涉及自然语言处理技术领域,尤其涉及一种答案生成方法、装置、设备及存储介质。

背景技术

[0002] 近年来,利用给定的知识图谱数据自动得出人类自然语言问题的答案成为研究热点,例如一些采用问答系统的智能机器人或智能手机等得到广泛的应用。现有的问答方法,例如基于语义解析(Semantic Parsing,SP)的知识图谱通过定逻辑形式或者槽位模板,根据知识图谱和业务特点去对齐知识图谱,提取实体和关系,此过程针对特定知识图谱,需要采用特定的槽位模板和实体、关系抽取模型,不具备普遍适用性,在实际应用中针对不同知识图谱的开发成本过高。还有基于信息检索(Information Retrieval,IR)的知识图谱问答通过对图结构进行复杂推理并进行语义匹配,该方法适合流行的端到端训练,并且需要每次都训练,但在实际项目环境中,不确定因素太多,不确定是否存在训练条件,而且推理模型的黑盒结构使得中间推理难以解释。
[0003] 综上,现有的知识图谱问答方法依赖于多样的模型以及大量有针对性的训练才具备问答能力,对于不同应用,生成答案的可靠性及适用性有待提高。

发明内容

[0004] 本发明提供了一种答案生成方法、装置、设备及存储介质,以提高生成答案的可靠性以及对各类问答应用的适用性。
[0005] 第一方面,本发明实施例提供了一种答案生成方法,包括:
[0006] 抽取问句中的目标实体;
[0007] 根据所述目标实体和知识图谱确定实体候选集和本体候选集,其中,所述实体候选集包括至少一个知识图谱实体,所述本体候选集包括至少一个知识图谱本体,每个知识图谱本体作为一个候选答案节点;
[0008] 通过本体感知模型从所述本体候选集中确定目标答案节点;
[0009] 基于所述候选答案节点生成到达所述目标答案节点的候选路径;
[0010] 对所述候选路径进行打分和排序,并根据分数最高的候选路径生成所述问句的答案,所述答案包括所述目标答案节点对应的至少一个知识图谱实体。
[0011] 第二方面,本发明实施例提供了一种答案生成装置,包括:
[0012] 问题处理模块,用于抽取问句中的目标实体;
[0013] 实体链接模块,用于根据所述目标实体和知识图谱确定实体候选集和本体候选集,其中,所述实体候选集包括至少一个知识图谱实体,所述本体候选集包括至少一个知识图谱本体;
[0014] 本体感知模块,用于通过本体感知模型从所述本体候选集中确定目标答案节点;
[0015] 路径生成模块,用于生成到达所述目标答案节点的候选路径;
[0016] 答案生成模块,用于对所述候选路径进行打分和排序,并根据分数最高的候选路径生成所述问句的答案,所述答案包括所述目标答案节点对应的至少一个知识图谱实体。
[0017] 第三方面,本发明实施例提供了一种答案生成设备,包括:
[0018] 一个或多个处理器;
[0019] 存储装置,用于存储一个或多个程序;
[0020] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的答案生成方法。
[0021] 第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的答案生成方法。
[0022] 本发明实施例提供了一种答案生成方法、装置、设备及存储介质。该方法包括:抽取问句中的目标实体;根据目标实体和知识图谱确定实体候选集和本体候选集,实体候选集包括至少一个知识图谱实体,本体候选集包括至少一个知识图谱本体,每个知识图谱本体作为一个候选答案节点;通过本体感知模型从本体候选集中确定目标答案节点;基于候选答案节点生成到达目标答案节点的候选路径;对候选路径进行打分和排序,根据分数最高的候选路径生成问句的答案。上述技术方案根据问句和知识图谱确定可能的候选路径,并根据分数最高的候选路径生成问句的答案,所述答案包括所述目标答案节点对应的至少一个知识图谱实体,提高了生成答案的可靠性,并且对各类问答应用具有普遍适用性。

附图说明

[0023] 结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0024] 图1为本发明实施例一提供的一种答案生成方法的流程图;
[0025] 图2为本发明实施例二提供的一种答案生成方法的流程图;
[0026] 图3为本发明实施例二提供的一种召回与目标实体相关的知识图谱实体和知识图谱本体的示意图;
[0027] 图4为本发明实施例三提供的一种答案生成方法的流程图;
[0028] 图5为本发明实施例三提供的一种本体感知模型的示意图;
[0029] 图6为本发明实施例四提供的一种答案生成方法的流程图;
[0030] 图7为本发明实施例四提供的一种召回与多个目标实体相关的知识图谱实体和知识图谱本体的示意图;
[0031] 图8为本发明实施例四提供的一种知识图谱的示意图;
[0032] 图9为本发明实施例四提供的一种问答系统的示意图;
[0033] 图10为本发明实施例五提供的一种答案生成装置的结构示意图;
[0034] 图11为本发明实施例六提供的一种答案生成设备的结构示意图。

具体实施方式

[0035] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0036] 在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0037] 需要注意,本发明实施例中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或其他对象进行区分,并非用于限定这些装置、模块、单元或其他对象所执行的功能的顺序或者相互依存关系。
[0038] 实施例一
[0039] 图1为本发明实施例一提供的一种答案生成方法的流程图,本实施例可适用于针对问句生成相应答案的情况。具体的,该答案生成方法可以由答案生成装置执行,该答案生成装置可以通过软件和/或硬件的方式实现,并集成在答案生成设备中。进一步的,答案生成设备包括但不限定于:台式计算机、笔记本电脑、智能手机以及服务器等电子设备。
[0040] 如图1所示,该方法具体包括如下步骤:
[0041] S110、抽取问句中的目标实体。
[0042] 其中,问句主要指问答系统的自然语言输入,可以由用户以文字或语音等形式输入。本实施例中,采用监督学习方法对用户输入的问句进行标注,该方法基于人类在询问问题时问句问法较为一致的前提,通过自然语言处理模型学习用户的问法(句式),从而抽取出问句中对应的目标实体。实体是对客观个体的抽象,指的可以是现实世界中的事物。目标实体可以理解为问句中涉及的实体,目标实体可作为根据知识图谱查询答案的依据。
[0043] 抽取问句中的目标实体的过程可以理解为识别问句中具有特定意义的目标实体,例如人名、地名、机构名、专有名词等。此过程可以视为命名实体识别(Named Entity Recognition,NER)任务,本实施例中,可采用由基于Transformer的双向编码器表征(Bidirectional Encoder Representations from Transformers,BERT)和(Conditional random field,CRF)模型组成的BERT‑CRF模型来获得问句中的目标实体,具体可以包括主题实体、本体和条件实体等,其中主题实体可以是问句的主体询问对象,是知识图谱中询问发起实体;本体可以是知识图谱中的本体,是实体的归纳指称;条件实体可以为问题中作为限制条件出现的实体。主题实体、本体和条件实体等最终都需要对应的知识图谱中的具体对象。
[0044] 示例性的,可以采用军工领域内的问题数据,通过人工标注的方式获得大量的问句与目标实体的训练样本,用于训练BERT‑CRF模型,使其具备针对问句抽取目标实体的能力。
[0045] S120、根据所述目标实体和知识图谱确定实体候选集和本体候选集。
[0046] 其中,实体候选集包括至少一个知识图谱实体,本体候选集包括至少一个知识图谱本体,每个知识图谱本体作为一个候选答案节点。
[0047] 确定实体候选集和本体候选集的过程可以理解为实体链接,即将抽取出的目标实体对应到知识图谱中的具体对象(可以是知识图谱中实体,也可以是知识图谱中本体)的过程。此过程可以结合分布式搜索引擎工具,对知识图谱中的主题实体、条件实体、关系、属性和本体等的粗略召回,从而得到目标实体相关的知识图谱实体或者知识图谱本体,生成实体候选集和本体候选集。此外,还可以对目标实体与知识图谱中的具体对象的语义相似度进行计算,从而确保目标实体和知识图谱充分对齐。
[0048] S130、通过本体感知模型从所述本体候选集中确定目标答案节点。
[0049] 其中,其中,确定目标答案节点的过程可以理解为从本体候选集中挑选一个当前问句涉及的答案本体,也称为本体选择。此过程存在的问题在于问句的描述跟知识图谱本体可能有一定的差距,例如问句“卢XX服役于什么单位”涉及到的知识图谱本体是“部队”,但是没有直接提问“部队”,而是用“服役于什么单位”这种语义相似来表达“部队”含义。通过本体感知模型可以解决这种问题,即将问句中描述的本体与知识图谱本体进行正确的匹配。
[0050] 本体感知模型可以基于自然语言处理模型(如基于BERT的感知模型)实现,用于进一步确定与问句相匹配的本体,也即区分本体候选集中的一个知识图谱本体是否与问句匹配,匹配的知识图谱本体即为目标答案节点。
[0051] S140、基于所述候选答案节点生成到达所述目标答案节点的候选路径。
[0052] 本实施例中,根据知识图谱可以完成实体候选集中的知识图谱实体到目标答案节点的映射。具体的,可以根据知识图谱的知识模型或者知识图谱蓝图,生成针对该知识图谱的知识模型图谱,知识模型图谱可以理解为基于该知识图谱的数据模型(schema)的另一个较为简单的知识图谱,其中的节点为知识图谱本体,关系为知识图谱本体之间的关系。
[0053] 示例性的,问句中抽取的目标实体包括A1和A2;针对A1进行实体链接得到的实体候选集中包括两个知识图谱实体B1和B2;针对A2进行实体链接得到的实体候选集中包括两个知识图谱实体B3和B4;本体候选集中包括两个知识图谱本体C1和C2,通过本体感知模型确定与问句匹配的知识图谱本体为C1。则候选路径需要涉及与A1有链接的知识图谱实体以及与A2有链接的知识图谱实体,例如可以为:B1‑B3‑C1、B1‑B4‑C1、B2‑B3‑C1和B2‑B4‑C1。
[0054] S150、对所述候选路径进行打分和排序,并根据分数最高的候选路径生成所述问句的答案。
[0055] 其中,候选路径通常为多条,通过打分和排序可以选取最优的候选路径,从而按照该候选路径查询知识图谱中的答案,答案可以是目标答案节点对应的一个或多个知识图谱实体。示例性的,可以考虑候选路径中涉及的知识图谱本体与目标实体的文本重叠程度、语义相似程度、知识图谱本体的类型、知识图谱本体的出度或入度和/或候选路径长度(可以通过涉及的知识图谱本体数量或者跳数体现)等因素,对候选路径进行打分,不同因素可以设置不同的权重,从而得到候选路径的综合分数。
[0056] 本发明实施例一提供的一种答案生成方法,不需要单独训练实体和关系抽取模型,训练一个问句提及的目标实体抽取模型即可,对问句具有普遍性;针对实体候选集和本体候选集快速生成候选路径,并根据最佳的候选路径生成答案,保证问答效率的同时也具有较高的可靠性。
[0057] 实施例二
[0058] 图2为本发明实施例二提供的一种答案生成方法的流程图,本实施例是在上述实施例的基础上进行优化,对实体候选集和本体候选集的确定过程进行具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
[0059] 具体的,如图2所示,该方法具体包括如下步骤:
[0060] S210、对问句进行预处理。
[0061] 其中,预处理可以包括停用词处理、大小写转化和特殊字符的处理等。停用词处理可以理解为根据停用词表将问句中的某些字或词过滤掉,从而提高答案搜索效率;大小写转化可以理解为将一个字符由小写字母转换为大写字母或者由大写字母转换为小写字母,从而避免由于大小写不同而无法识别同一字符;特殊字符处理例如对标点符号或运算符号等进行识别和解析。
[0062] S220、将预处理后的问句输入至自然语言处理模型,得到目标实体。将预处理后的问题文本,输入到自然语言处理(Natural Language Processing,NLP)模型中,进行体命名识别和关系等抽取。NLP模型是一种深度学习模型,其输入为问句,输出包括问句中的目标实体,还可以包括目标实体的关系等。NLP模型可以为BERT‑CRF模型。
[0063] S230、通过分布式搜索引擎从知识图谱中召回与目标实体相关的知识图谱实体以及知识图谱本体。
[0064] 其中,分布式搜索引擎(例如Transwarp Scope)可用于针对抽取的目标实体(还可以针对目标实体的关系和属性等),搜索知识图谱中与目标实体相关的知识图谱实体以及知识图谱本体。与目标实体相关可以理解为与目标实体包含至少一个相同的字或词。例如,问句为“卢XX是属于什么部队的”,目标实体包括“卢XX”,知识图谱中涉及的知识图谱实体有“卢Y”和“卢XX”;“卢Y”相关的知识图谱本体为飞行装备节点,“卢XX”相关的知识图谱本体有飞行员节点、飞行日实施_架次信息节点、飞行员成绩节点,则通过分布式搜索引擎可以将上述的两个知识图谱实体以及四个知识图谱本体都召回,此外也可以召回知识图谱实体以及知识图谱本体的关系和属性等。可见,通过分布式搜索引擎实现的是对知识图谱实体以及知识图谱本体的粗略召回,其中可能有部分知识图谱实体或知识图谱本体与目标实体相关程度较小或者语义相差较大。
[0065] S240、计算知识图谱实体与目标实体的语义相似度。
[0066] 其中,通过计算知识图谱实体与目标实体的语义相似度,可以将召回的与目标实体相关程度较小或者语义相差较大的知识图谱实体及其相应的知识图谱本体剔除,保留语义较为相近的知识图谱实体及其相应的知识图谱本体,此外还可以保留知识图谱实体的关系和属性等,最终得到实体候选集和本体候选集,保证目标实体对齐到知识图谱的可靠性。
[0067] S250、根据语义相似度对知识图谱实体进行筛选,筛选后的知识图谱实体组成实体候选集,筛选后的知识图谱实体对应的知识图谱本体组成本体候选集。
[0068] 可选的,可以设置相似度阈值对知识图谱实体进行筛选,将语义相似度高于相似度阈值的知识图谱实体及其对应的知识图谱本体筛选出来,最终实体候选集中的知识图谱实体与本体候选集中的知识图谱本体都是与目标实体高度相关的。
[0069] 图3为本发明实施例二提供的一种召回与目标实体相关的知识图谱实体和知识图谱本体的示意图。如上述示例,“卢Y”与“卢XX”的语义相似度较低,则知识图谱实体“卢Y”以及知识图谱本体飞行装备节点可以被剔除。最终实体候选集中包括:飞行员节点“卢XX”、飞行日实施_架次信息节点“卢XX”、飞行员成绩节点“卢XX”。本体候选集中包括飞行员节点、飞行日实施_架次信息节点以及飞行员成绩节点。
[0070] 其中,分布式搜索引擎可以为Transwarp Scope,Transwarp Scope中的(索引)schema如表1所示。
[0071] 表1分布式搜索引擎的索引表
[0072]name String
label String
property_key String
isF String
[0073] 其中,name存储知识图谱实体值,label存储知识图谱实体对应的知识图谱本体名称,property_key存储知识图谱实体对应的属性名称,isF标识知识图谱实体是节点还是关系。
[0074] S260、通过本体感知模型从本体候选集中确定目标答案节点。
[0075] 本实施例中,针对经过语义相似度筛选的本体候选集,进一步利用本体感知模型确定与问句相关的知识图谱本体作为目标答案节点。本体感知模型可以是基于BERT的感知模型,用于区分一个知识图谱本体是否与问句相匹配。如上述示例中,知识图谱本体飞行员节点能够体现出卢XX是哪个部队的,因此飞行员节点即为目标答案节点。
[0076] S270、基于候选答案节点生成到达目标答案节点的候选路径。
[0077] S280、对候选路径进行打分和排序,并根据分数最高的候选路径生成问句的答案。
[0078] 本发明实施例二提供的一种答案生成方法,在上述实施例的基础上进行优化,通过对问句进行预处理,提高答案搜索效率和准确率;通过分布式搜索引擎实现知识图谱实体以及知识图谱本体的粗略召回,并根据语义相似度将与目标实体高度相关的知识图谱实体及对应的知识图谱本体筛选出来,从而准确确定目标答案节点,生成有效的候选路径,为最佳候选路径的选择和答案查询提供基础。
[0079] 实施例三
[0080] 图4为本发明实施例三提供的一种答案生成方法的流程图,本实施例是在上述实施例的基础上进行优化,对通过本体感知模型确定目标答案节点的过程进行具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
[0081] 具体的,如图4所示,该方法具体包括如下步骤:
[0082] S310、抽取问句中的目标实体。
[0083] S320、根据目标实体和知识图谱确定实体候选集和本体候选集。
[0084] S330、通过本体感知模型从本体候选集中确定目标答案节点。
[0085] 可选的,本体感知模型包括两个共享权重的自然语言处理模型;通过本体感知模型从本体候选集中确定目标答案节点,具体包括:
[0086] S3310、通过一个自然语言处理模型对所述问句进行向量嵌入表示,通过另一个自然语言处理模型对所述本体候选集中的单个知识图谱本体进行向量嵌入表示。
[0087] S3320、根据所述问句的向量嵌入表示和所述知识图谱本体的向量嵌入表示,分别确定所述问句对应所述知识图谱本体的第一注意力向量以及所述知识图谱本体对应所述问句的第二注意力向量。
[0088] S3330、对所述第一注意力向量和所述第二注意量向量执行加操作,得到目标向量。
[0089] S3340、若所述目标向量的二分类结果为与所述问句匹配,则将所述知识图谱本体确定为目标答案节点。
[0090] 本实施例中,本体感知模型可通过两个共享权重的BERT模型分别对问句和知识图谱本体进行向量嵌入表示;然后增加问句和知识图谱本体的注意力机制,得到基于问句的对应知识图谱本体b的注意力向量以及基于知识图谱本体的对应问句的注意力向量,两个注意力向量做加操作,最后,本体感知模型的输出为一个二分类结果,回答该知识图谱本体和问句是否匹配。
[0091] 图5为本发明实施例三提供的一种本体感知模型的示意图。如图5所示,确定目标答案节点的过程如下:
[0092] 1)将问句q和需要判断的知识图谱本体b输入本体感知模型,经过本体感知模型对问句q和知识图谱本体b进行编码,分别得到向量bq和qb,其中,bq=(c1,c2,…,cn),qb=(e1,e2,…,en)bq和qb分别代表知识图谱本体和问句中的每个字组成的字向量;
[0093] 2)分别计算第一注意力向量和第二注意力向量,也可以理解为计算知识图谱本体b的注意力权重Sb以及问句q的注意力权重Sq。计算公式如下:
[0094]
[0095]
[0096] 3)对Sb和Sq做加操作,得到向量S。
[0097] 4)将向量S输入一个中间层为128隐含层的全连接层,做二分类操作,得出知识图谱本体b是否匹配问句q。如果匹配,则将知识图谱本体b确定为目标答案节点。
[0098] S340、基于候选答案节点生成到达目标答案节点的候选路径.
[0099] S350、对候选路径进行打分和排序,并根据分数最高的候选路径生成问句的答案。
[0100] 本发明实施例三提供的一种答案生成方法,在上述实施例的基础上进行优化,通过本体感知模型准确确定目标答案节点,从而生成有效的候选路径,为最佳候选路径的选择和答案查询提供基础。
[0101] 实施例四
[0102] 图6为本发明实施例四提供的一种答案生成方法的流程图。本实施例是在上述实施例的基础上进行优化,对生成候选路径以及根据最优路径确定答案的过程进行具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
[0103] 具体的,如图6所示,该方法具体包括如下步骤:
[0104] S410、抽取问句中的目标实体。
[0105] S420、根据目标实体和知识图谱确定实体候选集和本体候选集。
[0106] 图7为本发明实施例四提供的一种召回与多个目标实体相关的知识图谱实体和知识图谱本体的示意图。例如,对于问句“西部战区有哪些成绩优秀的飞行员?”,目标实体包括“西部战区”和“优秀”;经过分布式搜索引擎以及语义相似度计算,对应的知识图谱实体包括战区节点的“西部战区”、部队节点的“西部战区”、飞行员成绩节点的“优秀”以及部队节点的“优秀”,这些知识图谱实体构成实体候选集;对应的知识图谱本体包括战区节点、部队节点以及飞行员成绩节点,这些知识图谱本体构成本体候选集。
[0107] S430、通过本体感知模型从本体候选集中确定目标答案节点。
[0108] 示例性的,通过本体感知模型确定目标答案节点为飞行员节点。
[0109] S440、对实体候选集中的知识图谱实体进行组合,得到至少一条到达目标答案节点的基础路径,基础路径中的知识图谱实体为有序的路径节点
[0110] 具体的,利用实体链接得到的实体候选集或本体候选集,可以完成实体到知识图谱的目标答案节点的映射。示例性的,目标答案节点为飞行员节点,则用“西部战区”对应的知识图谱本体与“优秀”对应的知识图谱本体进行组合,可以得到以下基础路径:1)战区‑飞行员成绩‑飞行员、2)战区‑部队‑飞行员、3)部队‑飞行员成绩‑飞行员、4)部队‑飞行员。
[0111] S450、根据知识图谱对至少一条基础路径进行节点补充以生成相应的候选路径。
[0112] 其中,知识图谱中的节点为知识图谱本体,知识图谱中的关系为知识图谱本体之间的关系。
[0113] 图8为本发明实施例四提供的一种知识图谱的示意图。如图8所示,飞行员节点即为上述示例的目标答案节点。可见,基础路径中的相邻节点在实际的知识图谱中并不一定是具有关系(即相连接)的节点。因此,对于每一条基础路径,可以利用图8所示的知识图谱进行节点补充,生成符合知识图谱所表示的本体关系的候选路径。
[0114] 进一步的,根据知识图谱对至少一条基础路径进行节点补充以生成相应的候选路径,包括:
[0115] S4510、初始化初级路径集合和候选节点集合,初始路径集合和候选节点集合均为空;
[0116] S4520、对于一条基础路径,将基础路径中的最后一个路径节点加入初级路径集合,将基础路径中除最后一个路径节点以外的其他路径节点作为候选节点加入候选节点集合;
[0117] S4530、计算当前的初级路经集合中的结束节点与候选节点集合中的每个候选节点的路径长度;
[0118] S4540、将路径长度最短的候选节点添加至初级路径集合并位于结束节点之后,作为初级路径集合新的结束节点;
[0119] S4550、若新的结束节点为叶子节点,则从候选节点集合中删除新的结束节点,并返回计算路径长度的步骤;
[0120] S4510、若初级路径的结束节点非叶子节点,则当前的初级路经集合中的路径节点按顺序形成基础路径相应的候选路径。
[0121] 示例性的,对于上述示例,针对一条基础路径(例如战区‑飞行员成绩‑飞行员),可以生成一个虚拟子图,该子图包含三个节点:“战区”、“飞行员成绩”、“飞行员”。结合最小生成树算法(Minimum Spanning Tree,MST)和最短路径算法(Short Path,SP),在MST算法的基础上,利用SP算法计算该虚拟子图中边的权重以及对路径进行补充具体节点,设计基于MST算法和SP算法的候选路径生成算法。
[0122] 示例性的,生成候选路径的过程如下:
[0123] 1)初始化初级路径集合A=[],候选节点集合B=[“战区”“, 飞行员成绩”,“飞行员”];
[0124] 2)将基础路径的最后一个节点加入初级路径集合A=[“飞行员”],则候选节点集合B=[“战区”,“飞行员成绩”];
[0125] 3)计算初级路径集合A中的结束节点(“飞行员”)到候选节点集合B中各候选节点(“战区”以及“飞行员成绩”)的路径长度,根据图8所示的知识图谱可知,“飞行员”到“飞行员成绩”的路径长度最短;
[0126] 4)将候选节点““飞行员成绩”添加至初级路径集合,则初级路径集合更新为A=[“飞行员”,“飞行员成绩”],候选节点集合更新为B=[“战区”];
[0127] 5)根据图8所示的知识图谱可知,初级路径集合A中新的结束节点“飞行员成绩”不是叶子节点,则初级路径集合A中的节点可以按顺序形成一条候选路径:飞行员‑飞行员成绩。如果初级路径集合A中新的结束节点是叶子节点,则需要返回步骤3)。
[0128] 针对上述四条基础路径,基于上述过程可以得到以下符合知识图谱的候选路径:1)[“飞行员”“,飞行员成绩”]、2)[“飞行员”“,部队”“, 战区”]。对候选路径补充相应的实体信息,根据图库引擎可生成图查询语言:"match(n:战区{'战区名称':'西部战区'})‑[]‑(n1:部队)‑(n2:飞行员)with n,n1,n2 match(n2)‑[]‑(n3:飞行员成绩{'成绩':'优秀'})return n2"。
[0129] S460、对候选路径进行打分和排序,并根据分数最高的候选路径生成问句的答案。
[0130] 可选的,对候选路径进行打分和排序,并根据分数最高的候选路径生成问句的答案,包括:
[0131] S4610、分别针对候选路径中包含的实体和关系进行打分,得到第一分数和第二分数;
[0132] S4620、按照第一分数和第二分数的综合分数由高到低对各候选路径进行排序;
[0133] S4630、按照综合分数最高的候选路径从知识图谱中查询得到问句的答案。
[0134] 具体的,对于候选路径可以查询到相应的实体信息,在此基础上可为候选路径中的包含的每个实体构建一个打分策略,对于候选路径中的一个实体(可以称为候选实体),可根据以下内容进行打分:
[0135] 1)知识图谱中该实体的出度,出度较高的实体更可能是主题实体,得分越高,同时,查询指向知识图谱其他实体的节点比被指向实体的节点效率更高;
[0136] 2)该实体字符与问句的重叠程度,实体和问句之间共享的重叠字符越多,得分越高;
[0137] 3)该实体的标签,如果该实体被认为是一个特殊名词,则更可能是一个主题实体而不是一个简单的名词,此外,如果该实体是一个人的名词或者部队相关,也可以获得更高的分数;
[0138] 4)实体提及和问句的相似度,基于BERT模型来衡量该实体匹配问句的程度,也可以理解为匹配率,匹配率越高分数越高。
[0139] 此外,针对候选路径中的实体间的关系,也可以构建一个打分策略,对于候选路径中的一个关系(可以称为候选关系),可根据以下内容进行打分:
[0140] 1)该关系与问题的相似性,例如基于BERT‑base模型、中文预训练模型对关系的词向量进行初始化,然后通过相似度模型进行微调,具体的,可将问句和该关系首先输入到词嵌入层,将词映射到一个固定纬度的词向量,然后将其发送到biLSTM层,该层的输出在每一步平均,经得到的结果发送到全连接层,最后进行语义嵌入,过计算两个语义嵌入向量的相似度来表示问题和关系的相似性。
[0141] 2)该关系与问句的重叠程度,关系和问句之间的重叠字符越多,其是正确关系的概率就越大,增加此打分规则可以防止模型过于依赖BERT模型的相似度导致评价结果过于片面;
[0142] 3)该关系路径的跳数,基于该关系的实体(一头一尾)之间的路径跳数越短,是正确答案关系的概率就越大;
[0143] 4)是否为问答模板限定的关系,此打分规则可以在正常的关系打分流程没有得到候选关系结果时生效,用于处理一些领域内特殊的问题,例如,虽然按照其他打分规则获得的分数很低,但是通过预置的问答模板,可以更直接获得与原始问句最匹配的关系,据此得到最正确的候选路径;
[0144] 5)该关系路径中实体的类型,路径中的实体(一个或多个)可能是实体本身或是某种本体的属性标签名称,根据记录的所有问题统计,问句中关联实体本身的概率比属性更高,实体本身会得到更高的分数。
[0145] 上述对于实体和关系的打分均可以根据一条或多条规则进行,各项分数可以分配不同的权重,可以以加权和的形式得到最终的综合分数,根据综合分数最高的路径,可以在知识图谱中进行查询得到该问句的答案。
[0146] 在上述实施例的基础上,图9为本发明实施例四提供的一种问答系统的示意图。首先,可以通过问题解析模块,对问句进行预处理,并抽取目标实体,得到的实体提及,包括关系、属性和条件等;然后可以通过实体链接模块将目标实体对应到知识图谱中的实体或本体,得到实体候选集和本体候选集,此过程可以结合本体感知模型确定目标答案节点,可以考虑同义词或近义词等,并通过计算语义相似度保留与问句高度相关的实体、本体以及属性等;然后通过路径生成模块可以生成候选路径;通过图库引擎可以补充相应实体信息;最后通过路径排序模块可以获得最优路径并查询答案。
[0147] 本实施例的答案生成方法,能够适用不同的知识图谱,都能确保实现智能问答系统的快速部署;通过实体链接相关的处理流程,结合Transwarp Scope+语义相似度的处理方案,可以保证与知识图谱对齐;。结合本体感知模型,可以实现语义上的实体对齐和实体相似度衡量;通过候选路径生成算法,可快速生成知识图谱以内所有的路径,不限制跳数;通过打分和排序得到最优路径查询答案,提高了生成答案的可靠性及执行效率。
[0148] 实施例五
[0149] 图10为本发明实施例五提供的一种答案生成装置的结构示意图。本实施例提供的答案生成装置包括:
[0150] 问题处理模块510,用于抽取问句中的目标实体;
[0151] 实体链接模块520,用于根据所述目标实体和知识图谱确定实体候选集和本体候选集,其中,所述实体候选集包括至少一个知识图谱实体,所述本体候选集包括至少一个知识图谱本体;
[0152] 本体感知模块530,用于通过本体感知模型从所述本体候选集中确定目标答案节点;
[0153] 路径生成模块540,用于生成到达所述目标答案节点的候选路径;
[0154] 答案生成模块550,用于对所述候选路径进行打分和排序,并根据分数最高的候选路径生成所述问句的答案,所述答案包括所述目标答案节点对应的至少一个知识图谱实体。
[0155] 本发明实施例三提供的一种答案生成装置,根据问句和知识图谱确定可能的候选路径,并根据分数最高的候选路径生成问句的答案,提高了生成答案的可靠性,并且对各类问答应用具有普遍适用性。
[0156] 在上述实施例的基础上,所述问题处理模块510包括:
[0157] 预处理单元,用于对所述问句进行以下预处理:停用词处理、大小写转化和/或特殊字符处理;
[0158] 实体抽取单元,用于将预处理后的所述问句输入至自然语言处理模型,得到所述目标实体。
[0159] 在上述实施例的基础上,实体链接模块520包括:
[0160] 召回单元,用于通过分布式搜索引擎从所述知识图谱中召回与所述目标实体相关的知识图谱实体以及知识图谱本体;
[0161] 计算单元,用于计算所述知识图谱实体与所述目标实体的语义相似度;
[0162] 筛选单元,用于根据所述语义相似度对所述知识图谱实体进行筛选,筛选后的知识图谱实体组成所述实体候选集,筛选后的知识图谱实体对应的知识图谱本体组成所述本体候选集。
[0163] 在上述实施例的基础上,所述本体感知模型包括两个共享权重的自然语言处理模型;
[0164] 本体感知模块530包括:
[0165] 嵌入表示单元,用于通过一个自然语言处理模型对所述问句进行向量嵌入表示,通过另一个自然语言处理模型对所述本体候选集中的单个知识图谱本体进行向量嵌入表示;
[0166] 注意力向量确定单元,用于根据所述问句的向量嵌入表示和所述知识图谱本体的向量嵌入表示,分别确定所述问句对应所述知识图谱本体的第一注意力向量以及所述知识图谱本体对应所述问句的第二注意力向量;
[0167] 加操作单元,用于对所述第一注意力向量和所述第二注意量向量执行加操作,得到目标向量;
[0168] 二分类单元,用于若所述目标向量的二分类结果为与所述问句匹配,则将所述知识图谱本体确定为目标答案节点。
[0169] 在上述实施例的基础上,路径生成模块540包括:
[0170] 组合单元,用于对所述实体候选集中的知识图谱实体进行组合,得到至少一条到达所述目标答案节点的基础路径,所述基础路径中的知识图谱实体为有序的路径节点;
[0171] 补充单元,用于根据所述知识图谱对所述至少一条基础路径进行节点补充以生成相应的候选路径。
[0172] 在上述实施例的基础上,补充单元包括:
[0173] 初始化子单元,用于初始化初级路径集合和候选节点集合,所述初始路径集合和所述候选节点集合均为空;
[0174] 集合更新第一子单元,用于对于一条所述基础路径,将所述基础路径中的最后一个路径节点加入所述初级路径集合,将所述基础路径中除所述最后一个路径节点以外的其他路径节点作为候选节点加入所述候选节点集合;
[0175] 计算子单元,用于计算当前的初级路经集合中的结束节点与所述候选节点集合中的每个候选节点的路径长度;
[0176] 集合更新第二子单元,用于将路径长度最短的候选节点添加至所述初级路径集合并位于所述结束节点之后,作为所述初级路径集合新的结束节点;
[0177] 集合更新第三子单元,用于若所述新的结束节点为叶子节点,则从所述候选节点集合中删除所述新的结束节点,并返回计算路径长度的步骤;
[0178] 路径生成子单元,若所述初级路径的结束节点非叶子节点,则当前的初级路经集合中的路径节点按顺序形成所述基础路径相应的候选路径。
[0179] 在上述实施例的基础上,答案生成模块550包括:
[0180] 打分单元,用于分别针对所述候选路径中包含的实体和关系进行打分,得到第一分数和第二分数;
[0181] 排序单元,用于按照所述第一分数和所述第二分数的综合分数由高到低对各所述候选路径进行排序;
[0182] 查询单元,用于按照综合分数最高的候选路径从所述知识图谱中查询得到所述问句的答案。
[0183] 本发明实施例五提供的答案生成装置可以用于执行上述任意实施例提供的答案生成方法,具备相应的功能和有益效果。
[0184] 实施例六
[0185] 图11示出了可以用来实施本发明的实施例的答案生成设备10的结构示意图。答案生成设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。答案生成设备10还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、用户设备、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0186] 如图11所示,答案生成设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储答案生成设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
[0187] 答案生成设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许答案生成设备10通过诸如因特网的计算机网络和/或各种电信网络、无线网络与其他设备交换信息/数据。
[0188] 处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如答案生成方法。
[0189] 在一些实施例中,答案生成方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到答案生成设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行答案生成方法。
[0190] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0191] 用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0192] 在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0193] 为了提供与用户的交互,可以在答案生成设备10上实施此处描述的系统和技术,该答案生成设备10具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给答案生成设备10。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0194] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
[0195] 计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0196] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0197] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。