一种语义处理方法和系统转让专利

申请号 : CN201910576758.2

文献号 : CN110276080A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马勇强郭敬陈伟

申请人 : 第四范式(北京)技术有限公司

摘要 :

提供了一种语义处理方法和系统。所述方法包括:获取输入语句;获得针对所述输入语句的至少一种候选语义组合结果;按照预设规约语法对每种候选语义组合结果执行语法规约,确定所述输入语句的中心话题并生成以中心话题为根节点的语义树;依据预设排序规则对所获得的所有语义树中的至少部分语义树进行排序,基于语义树的排序结果选择一个语义树作为最终语义处理结果。

权利要求 :

1.一种语义处理方法,所述方法包括:

获取输入语句;

获得针对所述输入语句的至少一种候选语义组合结果;

按照预设规约语法对每种候选语义组合结果执行语法规约,确定所述输入语句的中心话题并生成以中心话题为根节点的语义树;

依据预设排序规则对所获得的所有语义树中的至少部分语义树进行排序,基于语义树的排序结果选择一个语义树作为最终语义处理结果。

2.如权利要求1所述的方法,其中,所述获得针对所述输入语句的至少一种候选语义组合结果的步骤包括:使用至少一种分词器对所述输入语句执行分词,获得至少一种分词结果;

对每种分词结果中的词语或短语执行语义识别,获得至少一种语义识别结果;

对所述至少一种语义识别结果执行语义消歧处理,获得针对所述输入语句的至少一种候选语义组合结果。

3.如权利要求2所述的方法,还包括:

基于特定图数据库执行语义预处理,建立搜索系统,其中,所述搜索系统包括基于所述特定图数据库所生成的分词词典和语义结构集合,并提供实体链接服务,其中,

执行分词的步骤包括:基于所述分词词典,使用所述至少一种分词器对输入语句执行分词,并且执行语义识别的步骤包括:基于所述语义结构集合来确定每种分词结果中的词语或短语的语义,并基于识别出的语义,通过使用实体链接服务将每种分词结果中的实体词语或短语链接到与所述特定图数据库对应的知识图谱中的对应实体节点。

4.如权利要求3所述的方法,其中,执行语义预处理的步骤还包括:对所述分词词典中的分词项进行语义扩展,获得分词项的扩展表达,其中,每个扩展表达与和该扩展表达对应的分词项对应相同的语义结构,其中,执行分词的步骤包括:基于分词词典中的分词项以及分词项的扩展表达,使用所述至少一种分词器对输入语句执行分词。

5.如权利要求3所述的方法,其中,确定每种分词结果中的词语或短语的语义的步骤包括:通过对每种分词结果中的每个词语或短语进行模糊匹配来将所述每个词语或短语映射到所述语义结构集合中的对应语义结构,并使用所述每个词语或短语的语义特征中的至少一个来确定所述每个词语或短语的语义识别结果分值。

6.如权利要求2所述的方法,其中,执行语义消歧处理的步骤包括:按照互不重叠冲突的原则对语义识别结果进行排列组合,获得所述至少一种候选语义组合结果。

7.如权利要求5所述的方法,其中,执行语义消歧处理的步骤包括:按照互不重叠冲突的原则对语义识别结果进行排列组合,获得一个或多个候选语义组合结果;

通过基于每个候选语义组合结果中的每个词语或短语的语义识别结果分值来确定每个候选语义组合结果的组合分值;

删除组合分值低于预设阈值的候选语义组合结果。

8.一种语义处理系统,所述系统包括:

输入语句获取装置,被配置为获取输入语句;

输入语句处理装置,被配置为获得针对所述输入语句的至少一种候选语义组合结果;

语法规约装置,被配置为按照预设规约语法对每种候选语义组合结果执行语法规约,确定所述输入语句的中心话题并生成以中心话题为根节点的语义树;

语义结果确定装置,依据预设排序规则对所获得的所有语义树中的至少部分语义树进行排序,基于语义树的排序结果选择一个语义树作为最终语义处理结果。

9.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至7中的任一权利要求所述的方法。

10.一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至7中的任一权利要求所述的方法。

说明书 :

一种语义处理方法和系统

技术领域

[0001] 本申请涉及自然语言处理技术领域,更具体地讲,涉及一种语义处理方法和系统。

背景技术

[0002] 现有的针对诸如查询、知识问答、搜索等业务的语义处理技术通常是面向业务的,将许多常见的需求用模板的方式固定下来。这种模板方案的缺陷是在面对需求非常复杂或者由几个基础需求组合生成的嵌套需求时就会失效或者需要重新补充新的模板。
[0003] 此外,目前市面上的方案普遍都是假设用户的问题中只有一个中心实体,且结果意图也只有唯一,如“A公司的注册资本”,可能无法支持对“A公司和B公司的注册资本”或者“A公司的注册资本和CEO”的查询。查询粒度的局限导致了使用方式的局限。
[0004] 另一方面,例如,现有的智能问答系统中所使用的语义处理的模板方案由于依赖模板、过度依赖语法依存结果、系统设计简单等问题,导致对于问答系统中的一些复杂语义操作需求无法很好地扩展支持,如“最大”、“最小”、“平均”等。
[0005] 而近来出现的纯基于深度学习的方案则由于学习方式的黑箱性,导致系统结果的产生是不可控的,即使结果对了,其对于“为什么正确”或者“为什么错了”也很难回答。目前公开的很多基于深度学习端到端的方法对数据的依赖性很强,由于其需要学习的假设空间太大,需要大量的标注数据才能够有一定的效果,并且公开的大多方法都是面向某个特定领域(如金融领域) 提出的一些方案,如果更换了领域,则需要重新调整方法或者重新标注数据新训练一个模型。
[0006] 因此,亟需一种能够从非结构化的自然语言识别查询意图且能够适应于多个领域的语义处理方案。

发明内容

[0007] 为了解决上述问题中的至少部分问题,本发明提供了一种语义处理方法和系统。
[0008] 根据本发明的实施例,提供了一种语义处理方法。所述方法包括:获取输入语句;获得针对所述输入语句的至少一种候选语义组合结果;按照预设规约语法对每种候选语义组合结果执行语法规约,确定所述输入语句的中心话题并生成以中心话题为根节点的语义树;依据预设排序规则对所获得的所有语义树中的至少部分语义树进行排序,基于语义树的排序结果选择一个语义树作为最终语义处理结果。
[0009] 可选地,所述获得针对所述输入语句的至少一种候选语义组合结果的步骤可包括:使用至少一种分词器对所述输入语句执行分词,获得至少一种分词结果;对每种分词结果中的词语或短语执行语义识别,获得至少一种语义识别结果;对所述至少一种语义识别结果执行语义消歧处理,获得针对所述输入语句的至少一种候选语义组合结果。
[0010] 可选地,所述方法还可包括:基于特定图数据库执行语义预处理,建立搜索系统,其中,所述搜索系统包括基于所述特定图数据库所生成的分词词典和语义结构集合,并提供实体链接服务,其中,执行分词的步骤包括:基于所述分词词典,使用所述至少一种分词器对输入语句执行分词,并且执行语义识别的步骤包括:基于所述语义结构集合来确定每种分词结果中的词语或短语的语义,并基于识别出的语义,通过使用实体链接服务将每种分词结果中的实体词语或短语链接到与所述特定图数据库对应的知识图谱中的对应实体节点。
[0011] 可选地,执行语义预处理的步骤还可包括:对所述分词词典中的分词项进行语义扩展,获得分词项的扩展表达,其中,每个扩展表达与和该扩展表达对应的分词项对应相同的语义结构,其中,执行分词的步骤包括:基于分词词典中的分词项以及分词项的扩展表达,使用所述至少一种分词器对输入语句执行分词。
[0012] 可选地,确定每种分词结果中的词语或短语的语义的步骤可包括:通过对每种分词结果中的每个词语或短语进行模糊匹配来将所述每个词语或短语映射到所述语义结构集合中的对应语义结构,并使用所述每个词语或短语的语义特征中的至少一个来确定所述每个词语或短语的语义识别结果分值。
[0013] 可选地,执行语义消歧处理的步骤可包括:按照互不重叠冲突的原则对语义识别结果进行排列组合,获得所述至少一种候选语义组合结果。
[0014] 可选地,执行语义消歧处理的步骤可包括:按照互不重叠冲突的原则对语义识别结果进行排列组合,获得一个或多个候选语义组合结果;通过基于每个候选语义组合结果中的每个词语或短语的语义识别结果分值来确定每个候选语义组合结果的组合分值;删除组合分值低于预设阈值的候选语义组合结果。
[0015] 可选地,执行语法规约的步骤可包括:按照所述预设规约语法对每个候选语义组合结果中所包括的词语或短语的原始语义执行一次或多次语义转换操作直到确定出一个中心话题为止,并基于所述一次或多次语义转换操作的转换路径生成以中心话题为根节点的语义树。
[0016] 可选地,语义转换操作可包括:一转一语义转换操作,用于将一个语义转换为与所述一个语义对应的一个更高阶抽象语义;以及二转一语义转换操作,用于将具有关联的两个语义转换为一个更高阶抽象语义,其中,所述预设规约语法包括针对一转一语义转换的预设语法和针对二转一语义转换的预设语法。
[0017] 可选地,执行语义转换操作的步骤可包括:按照所述针对一转一语义转换的预设语法,通过所述一转一语义转换操作将一个终结符元素或非终结符元素转换为对应的一个非终结符元素,和/或按照所述针对二转一语义转换的预设语法,通过二转一语义转换操作将一个非终结符元素和一个终结符元素、两个非终结符元素、或两个终结符元素转换为一个非终结符元素,其中,终结符元素表示所述每个候选语义组合结果中所包括的每个词语或短语的原始语义,非终结符元素表示基于至少一个终结符元素和至少一个非终结符元素中的至少一个所获得的更高阶抽象语义。
[0018] 可选地,所述预设排序规则可以是基于特征的排序算法,该排序算法可包括:按照预设特征抽取策略,基于每条语法的对应上下文来构建每条语法的至少一个特征,其中,所述对应上下文表示与每条语法相关的原始词语、短语或子句;基于针对每条语法构建的所述至少一个特征,按照预设的特征打分规则来确定每条语法的得分;对每个语义树中所使用的所有语法的得分求和以获得该语义树的得分;按照得分对所有语义树进行排序。
[0019] 可选地,所述方法还可包括:将选择的语义树映射到预定结构化查询语言,并使用所述预定结构化查询语言来在与所述特定图数据库对应的知识图谱上进行对所述输入语句的查询。
[0020] 可选地,所述预设特征抽取策略可包括:基于深度学习注意力机制来自动抽取特征。
[0021] 根据本发明的另一实施例,提供了一种语义处理系统。所述系统包括:输入语句获取装置,被配置为获取输入语句;输入语句处理装置,被配置为获得针对所述输入语句的至少一种候选语义组合结果;语法规约装置,被配置为按照预设规约语法对每种候选语义组合结果执行语法规约,确定所述输入语句的中心话题并生成以中心话题为根节点的语义树;语义结果确定装置,依据预设排序规则对所获得的所有语义树中的至少部分语义树进行排序,基于语义树的排序结果选择一个语义树作为最终语义处理结果。
[0022] 可选地,所述输入语句处理装置可包括:分词模块,被配置为使用至少一种分词器对所述输入语句执行分词,获得至少一种分词结果;语义识别模块,被配置为对每种分词结果中的词语或短语执行语义识别,获得至少一种语义识别结果;语义消歧模块,被配置为对所述至少一种语义识别结果执行语义消歧处理,获得针对所述输入语句的至少一种候选语义组合结果。
[0023] 可选地,所述系统还可包括:搜索系统,其中,所述搜索系统包括基于特定图数据库所生成的分词词典和语义结构集合,并提供实体链接服务,其中,所述分词模块基于所述分词词典,使用所述至少一种分词器对输入语句执行分词,并且语义识别模块基于所述语义结构集合来确定每种分词结果中的词语或短语的语义,并基于识别出的语义,通过使用实体链接服务将每种分词结果中的实体词语或短语链接到与所述特定图数据库对应的知识图谱中的对应实体节点。
[0024] 可选地,所述搜索系统还可包括:所述分词词典中的分词项的扩展表达的集合,其中,每个扩展表达与和该扩展表达对应的分词项对应相同的语义结构,其中,分词模块基于分词词典中的分词项以及分词项的扩展表达,使用所述至少一种分词器对输入语句执行分词。
[0025] 可选地,语义识别模块可通过对每种分词结果中的每个词语或短语进行模糊匹配来将所述每个词语或短语映射到所述语义结构集合中的对应语义结构,以确定每种分词结果中的词语或短语的语义,并使用所述每个词语或短语的语义特征中的至少一个来确定所述每个词语或短语的语义识别结果分值。
[0026] 可选地,所述语义消歧模块可按照互不重叠冲突的原则对语义识别结果进行排列组合,获得所述至少一种候选语义组合结果。
[0027] 可选地,所述语义消歧模块可按照互不重叠冲突的原则对语义识别结果进行排列组合以获得一个或多个候选语义组合结果,通过基于每个候选语义组合结果中的每个词语或短语的语义识别结果分值来确定每个候选语义组合结果的组合分值,并删除组合分值低于预设阈值的候选语义组合结果。
[0028] 可选地,所述语法规约装置可按照所述预设规约语法对每个候选语义组合结果中所包括的词语或短语的原始语义执行一次或多次语义转换操作直到确定出一个中心话题为止,并基于所述一次或多次语义转换操作的转换路径生成以中心话题为根节点的语义树。
[0029] 可选地,语义转换操作可包括:一转一语义转换操作,用于将一个语义转换为与所述一个语义对应的更高阶抽象语义;以及二转一语义转换操作,用于将具有关联的两个语义转换为一个更高阶抽象语义,其中,所述预设规约语法包括针对一转一语义转换的预设语法和针对二转一语义转换的预设语法。
[0030] 可选地,当执行语义转换操作时,所述语法规约装置可按照所述针对一转一语义转换的预设语法,通过所述一转一语义转换操作将一个终结符元素或非终结符元素转换为对应的一个非终结符元素,并且/或者,按照所述针对二转一语义转换的预设语法,通过二转一语义转换操作将一个非终结符元素和一个终结符元素、两个非终结符元素、或两个终结符元素转换为一个非终结符元素,其中,终结符元素表示所述每个候选语义组合结果中所包括的每个词语或短语的原始语义,非终结符元素表示基于至少一个终结符元素和至少一个非终结符元素中的至少一个所获得的更高阶抽象语义。
[0031] 可选地,所述预设排序规则可以是基于特征的排序算法,该排序算法包括:按照预设特征抽取策略,基于每条语法的对应上下文来构建每条语法的至少一个特征,其中,所述对应上下文表示与每条语法相关的原始词语、短语或子句;基于针对每条语法构建的所述至少一个特征,按照预设的特征打分规则来确定每条语法的得分;对每个语义树中所使用的所有语法的得分求和以获得该语义树的得分;按照得分对所有语义树进行排序。
[0032] 可选地,所述系统还可包括:查询语言转换装置,被配置为将选择的语义树映射到预定结构化查询语言,并使用所述预定结构化查询语言来在与所述特定图数据库对应的知识图谱上进行对所述输入语句的查询。
[0033] 可选地,所述预设特征抽取策略可包括:基于深度学习注意力机制来自动抽取特征。
[0034] 根据本发明的另一实施例,提供了一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如前述语义处理方法。
[0035] 根据本发明的另一实施例,提供了一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如前述语义处理方法。
[0036] 有益效果
[0037] 通过应用根据本发明的示例性实施例的语义处理方法和系统,可以将用户的非结构化的自然语言问题转换为一个可以在特定图数据库上进行直接查询的结构化语言,支持在知识图谱上进行任意的逻辑推理,完成复杂的查询意图,同时具有较高的可解释性。

附图说明

[0038] 从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:
[0039] 图1是示出根据本公开的示例性实施例的语义处理系统的框图;
[0040] 图2是示出根据本公开的示例性实施例的输入语句处理装置的框图;
[0041] 图3是示出根据本公开的示例性实施例的搜索系统的示意图;
[0042] 图4是示出根据本公开的示例性实施例的语法规约处理的示例示图;
[0043] 图5是示出基于图4的语法规约处理生成的语义树在知识图谱上进行查询的对应推理操作;
[0044] 图6是示出根据本公开的示例性实施例的语义处理方法的流程图。

具体实施方式

[0045] 参照附图来详细描述本发明的实施例。附图中相同的参考标号始终被用于指相同或相似的部件。为了清楚和简明起见,公知功能和结构的详细描述可被省略。
[0046] 为更充分说明本公开的技术构思,在开始本公开的实施例的详细描述之前,对相关语义解释如下:
[0047] a)概念
[0048] 对世界上事情或者物体的抽象定义,如“投资事件”、“公司”、“人”。
[0049] b)关系
[0050] 对概念之间的关联关系的定义,如“公司”概念与“基金”概念之间会存在“投资”关系,“人”概念与“公司”概念可能有“员工”关系。
[0051] c)属性
[0052] 概念或者关系内部拥有的一些用于说明该概念或者关系数据特征的字段。如“人”具有例如“名字”和“性别”属性,“员工”关系具有例如“工作时长”。特别地,按照基本数据类型划分,属性有数字类型、时间类型、字符类型三种。
[0053] d)实体
[0054] 概念在实际场景中出现的实例,如“人”概念会有例如“姚明”实体,而“公司”概念会有例如“第四范式(北京)技术有限责任公司”实体,实体内部会有其专属的属性数据。
[0055] e)边
[0056] 关系在实际场景中出现的实例,从一个实体指向另一个实体,例如,“员工”关系中存在一个“格力电器”实体到“董明珠”的边实例,同时边上的“职位”属性是“CEO”。
[0057] 图1是示出根据本公开的示例性实施例的语义处理系统100的框图。
[0058] 参照图1,根据本公开的示例性实施例的语义处理系统100包括:输入语句获取装置110、输入语句处理装置120、语法规约装置130以及语义结果确定装置140。此外,尽管图1中没有示出,所述语义处理系统100还可包括搜索系统(在下文中有时也被称为搜索引擎)。
[0059] 输入语句获取装置110可获取输入语句。获取的输入语句可由输入语句处理装置120进行处理以获得针对该输入语句的至少一种候选语义组合结果。
[0060] 下面将结合图2和图3详细描述输入语句处理装置120对输入语句进行处理来获得候选语义组合结果的操作。
[0061] 图2是示出根据本公开的示例性实施例的输入语句处理装置120的框图。
[0062] 图3是示出根据本公开的示例性实施例的搜索系统的示意框图。
[0063] 如图2所示,输入语句处理装置120可包括分词模块210、语义识别模块220以及语义消歧模块230。
[0064] 所述分词模块210可使用至少一种分词器对输入语句执行分词,以获得至少一种分词结果。
[0065] 语义识别模块220可对每种分词结果中的词语或短语执行语义识别,获得至少一种语义识别结果。
[0066] 在本发明的示例性实施例中,分词模块210进行分词所使用的分词词典以及语义识别模块220进行语义识别所依据的语义体系均可由前述搜索系统提供。图3示出这样的搜索系统的示意图。
[0067] 如图3所示,所述搜索系统可包括分词词典和语义结构集合。所述分词词典和语义结构集合是通过对一特定图数据库进行语义预处理而产生的。所述特定图数据库基本保存了对应知识图谱上的所有数据,包括节点、边以及节点与边的属性。
[0068] 例如,所述特定图数据库可以以如下形式(但不限于该形式)保存各种数据:
[0069] 甲
[0070]
[0071] 乙公司
[0072]
[0073] 甲和乙公司的关系
[0074]
[0075] 基于所述特定图数据库所保存的数据,所生成的分词词典可包括从所述数据中获得的一些词汇(例如,甲、乙公司等等),这些词汇用来向分词器指示哪些词汇需要尽量被分割出来。
[0076] 在本发明的示例性实施例中,所述分词模块210可基于所述分词词典使用所述至少一种分词器对输入语句执行分词。
[0077] 优选地,所述搜索系统还可包括所述分词词典中的分词项的扩展表达的集合。分词项的扩展表达是通过使用同义词、词向量、拼音等技术对分词项进行语义扩展获得的,并且每个扩展表达与和该扩展表达对应的分词项对应相同的语义结构。当搜索系统包括所述扩展表达的集合时,所述分词模块220 可基于分词词典中的分词项以及分词项的扩展表达,使用所述至少一种分词器对输入语句执行分词。由于可使用多种不同分词器进行分词,因此可实现多粒度分词,由此实现更加精准的分词。
[0078] 此外,仅作为示例,基于所述特定图数据库所保存的数据生成的用于说明一些词语所拥有的详细语义和分数的语义结构可如下:
[0079]
[0080]
[0081]
[0082] 在本发明的示例性实施例中,仅作为示例,上述语义结构中的分数可在语义消歧处理中用来获取候选语义组合结果的组合分值,也可在稍后将描述的对语义树进行排序的处理中作为针对语义的特征用于排序。
[0083] 语义识别模块220可基于这样的语义结构的集合来确定每种分词结果中的词语或短语的语义。
[0084] 具体而言,例如,语义识别模块220可通过对每种分词结果中的每个词语或短语进行模糊匹配来将所述每个词语或短语映射到所述语义结构集合中的对应语义结构,以确定每种分词结果中的词语或短语的语义,并还可使用所述每个词语或短语的语义特征(例如,字符串编辑距离、词性、句子上下文向量等)中的至少一个来确定所述每个词语或短语的语义识别结果分值。例如,如果针对输入的待识别词汇“甲”,在所述语义结构集合中存在与“甲”相关的语义结构(即,完全匹配),则可将其语义识别分值确定为预设最大值 (例如,1);如果在所述语义结构集合中只存在与“甲XX”相关的语义结构 (即,部分匹配),则可基于其语义特征,按照预设策略计算其语义识别分值 (例如,0.5)。应该理解,以上使用模糊匹配进行语义结构映射的方法仅是示例,还可通过其他各种方式来将词语或短语映射到语义结构集合中的对应语义结构
[0085] 优选地,在本公开的示例中实施例中,对于数字、日期等词汇,语义识别模块220可使用基于正则表达式的数字日期识别工具来识别特定的数字和日期类型的语义。
[0086] 此外,所述搜索系统还可提供实体链接服务,使得语义识别模块220可基于识别出的语义,通过使用实体链接服务将每种分词结果中的实体的词语或短语链接到与所述特定图数据库对应的知识图谱中的对应实体节点。具体地,如前面的语义结构所示,由于部分语义结构中包含实体id,因此当通过语义识别模块220识别出该语义结构时,可基于所述id链接到知识图谱上对应的实体。
[0087] 应该理解,图3所示的搜索系统仅是为了充分解释本公开的原理而示出的示意图,仅示出了与本公开相关的一些功能和数据模块。根据搜索系统的实际操作原理,搜索系统还可包括其它功能模块或数据模块来执行相应的功能,这对本领域技术人员来说是容易理解的,因此在此为了简明,将不再赘述。
[0088] 返回参照图2,在语义识别模块220完成语义识别之后,语义消歧模块 230可对语义识别模块220产生的至少一种语义识别结果执行语义消歧处理,获得针对所述输入语句的至少一种候选语义组合结果。
[0089] 消歧的原因是因为一个词语或短语同时只有一个精确的理解,不能有冲突的情况。
[0090] 针对单分词结果,例如,一个词语“甲”可能会对应“甲乙丙”,也可能对应“甲丙”,这两者之间存在冲突。对于这种情况,可以用一些匹配方法打分,例如,基于字符串的相似度,明显三个字“甲丙”要比“甲乙丙”与“甲”更相似一些。
[0091] 针对不同分词结果,例如,对于“周大福珠宝”,一种分词理解是“周大福”和“珠宝”,可以分别得到对应的一个语义;另一种分词理解就是“周大福珠宝”,其短语作为一个整体可以得到一个语义,但这两种分词理解之间存在冲突。对于这种情况,可以采用一些匹配策略,比如优先取最长的理解,从而将“周大福珠宝”一整个短语作为粒度识别出的语义优先取下来,而把另外一种情况删除。
[0092] 在本发明的示例性实施例中,语义消歧模块230可按照这样的互不重叠冲突的原则对语义识别结果进行排列组合,获得至少一种候选语义组合结果。
[0093] 优选地,当语义识别结果还包括语义识别结果分值时,语义消歧模块230 可按照互不重叠冲突的原则对语义识别结果进行排列组合以获得一种或多种候选语义组合结果,通过基于每个候选语义组合结果中的每个词语或短语的语义识别结果分值来确定每个候选语义组合结果的组合分值,删除组合分值低于预设阈值的候选语义组合结果,由此可提高本公开的语义处理的效率。
[0094] 返回参照图1,在获得候选语义组合结果之后,语法规约装置130可按照预设规约语法对每种候选语义组合结果执行语法规约,确定所述输入语句的中心话题并生成以中心话题为根节点的语义树。
[0095] 根据本发明的示例性实施例,所述中心话题指明输入语句的关键查询目标,并且中心话题的作用是自底向上或从上到下地统领整个问题,以一定的逻辑不断汇总和组合出输入语句中的所有语义。
[0096] 仅作为示例,在问题“所有的资金数量大于10亿的基金”中,中心话题就是“基金”。问题中的“资金数量大于10亿”是对“基金”的一个限定修饰,而“所有的”可以看做是一部分冗余词汇(删去也不影响语义的完整性,但这些特征也会帮助更好地理解整句话)。
[0097] 作为又一示例,在问题“第四范式的员工的平均年龄是多少”中,中心话题是“年龄”,“第四范式的员工”是对搜索年龄的实体的范围限定,而“平均”是对话题的进一步聚合操作,“是多少“又是一部分冗余特征。
[0098] 本发明的示例性实施例可通过语法规约自动确定这样的中心话题,从而了解输入语句的意图。
[0099] 更具体地讲,语法规约装置130可按照预设规约语法对每个候选语义组合结果中所包括的词语或短语的原始语义执行一次或多次语义转换操作直到确定出一个中心话题为止,并基于所述一次或多次语义转换操作的转换路径生成以中心话题为根节点的语义树。
[0100] 在本发明的示例性实施例中,语义转换操作可包括一转一语义转换操作和二转一语义转换操作。所述一转一语义转换操作可将一个语义转换为与所述一个语义对应的更高阶抽象语义。所述二转一语义转换操作可将具有关联的两个语义转换为一个更高阶抽象语义。所述预设规约语法可包括针对一转一语义转换的预设语法和针对二转一语义转换的预设语法。此外,在本发明的示例性实施例中,两个语义具有关联是指在原始图数据库或者图谱的结构定义中已包含了这两个语义互相关联的定义。
[0101] 当执行语义转换操作时,语法规约装置130可按照所述针对一转一语义转换的预设语法,通过所述一转一语义转换操作将一个终结符元素或非终结符元素转换为对应的一个非终结符元素,并且/或者,按照所述针对二转一语义转换的预设语法,通过二转一语义转换操作将一个非终结符元素和一个终结符元素、两个非终结符元素、或两个终结符元素转换为一个非终结符元素。这里,终结符元素表示所述每个候选语义组合结果中所包括的每个词语或短语的原始语义,非终结符元素表示基于至少一个终结符元素和至少一个非终结符元素中的至少一个所获得的更高阶的抽象语义。
[0102] 以下表1和表2示出了非终结符元素的示例:
[0103] 表1:基础非终结符元素
[0104]
[0105]
[0106] 表2:高级非终结符元素
[0107]
[0108]
[0109]
[0110] 此外,表3和表4分别示出了针对一转一语义转换的预设语法(在下文中简称为一转一语法)和针对二转一语义转换的预设语法(在下文中简称为二转一语法)。在下表中,“->”的意思是右侧符号可以转换为左侧的符号
[0111] 表3:一转一语法
[0112]
[0113]
[0114] 表4:二转一语法
[0115]
[0116]
[0117] 在本发明的示例性实施例中,可使用CYK算法来实现语法规约装置130 的上述生成语义树的规约过程,然而,本申请不限于此,还可使用其他合适的算法来实现上述规约过程。此外,在上述规约过程中,二转一语法的规约结果与将被规约的两个语义的顺序无关,也就是说,例如,A->B+C与A->C+B 等价。
[0118] 为更充分地理解本发明构思,以下将参照图4和图5来描述语法规约过程。
[0119] 图4是示出根据本公开的示例性实施例的语法规约处理的示例过程;图 5是示出基于图4的语法规约处理生成的语义树在知识图谱上进行查询时的对应推理操作流程。
[0120] 参照图4,假设输入语句是“哪些公司的股东包含乙公司的老板”,并且通过分词、语义识别、语义消歧之后获得的候选语义组合为:公司(语义为 C,即,概念)、股东(语义为R,即,关系)、乙公司(语义为V,即,实体属性值)、老板(语义为V,即,边上的属性值)。
[0121] 则如图4所示,一种语法规约过程为:
[0122] 对于左边的子树,对于“公司”,其语义C按照“En->C”语法进一步生成了“En”的实体集合语义(规约过程1),然后该“En”语义与“股东”的关系语义“R”按照“Ed->En+R”的二转一语法进一步生成一个“Ed”边语义(规约过程2)。
[0123] 对于右边的子树,对于“乙公司”,其语义“V”按照“En->V”语法进一步生成了“En”的实体集合语义(设为步骤1),然后该“En”语义与“老板”的语义“V”按照“Ed->En+V”的二转一语法进一步生成一个“Ed”边语义(规约过程2),该边语义按照“En->Ed”语法进一步生成了又一“En”的实体集合语义(规约过程3)。
[0124] 之后,左边的子树的规约结果“Ed”边语义与右边的子树的规约结果“En”实体集合语义按照“En->Ed+En”语法进行规约,从而得到了作为最终结果的一个En语义(规约过程4),即,中心话题,并且生成了如图4所示的一个语义树。
[0125] 根据这样生成的语义树,当基于该语义树在知识图谱上进行查询时,对应的推理流程如图5所示。
[0126] 对应于图4的语义规约过程1,在图5的步骤1中,根据左边的子树推理出实体“公司A”、“公司B”和“公司C”,并且根据右边的子树推理出实体“乙公司”。
[0127] 然后,对应于图4的语义规约过程2,在图5的步骤2中,根据左边的子树推理出实体“公司A”、“公司B”和“公司C”各自的边“股东3”、“股东1”、“股东2”,并且根据右边的子树推理出实体“乙公司”的边“老板”。
[0128] 之后,对应于图4的语义规约过程3,在图5的步骤3中,根据右边的子树,从边“老板”推理出中间实体“人”,之后,对应于图4的语义规约过程4,将步骤2中推理出的左边的子树的边与中间实体“人”进行关联,完成最终推理(即,如图5的步骤3中的左边部分所示,最终推理出股东2与该中间实体“人”之间存在关联),获得查询结果。
[0129] 应该理解,以上语义树的产生过程及其在知识图谱上的查询推理过程仅是为便于理解而列举的示例,本申请不限于此。例如,对于输入语句是“哪些公司的股东包含乙公司的老板”,根据其分词结果、语义识别结果可能得到不止一种候选语义组合结果,并且对于每种候选语义组合结果,通过语法规约装置的语法规约,也可能得到多种语义树。在这种情况下,可通过语义结果确定装置140,依据预设排序规则对所获得的所有语义树中的至少部分语义树进行排序,基于语义树的排序结果选择一个语义树作为最终语义处理结果。
[0130] 具体来说,语义结果确定装置140可使用基于特征的排序算法来对语义树进行排序。该排序算法包括:按照预设特征抽取策略,基于每条语法的对应上下文来构建每条语法的至少一个特征,其中,所述对应上下文表示与每条语法相关的原始词语、短语或子句;基于针对每条语法构建的所述至少一个特征,按照预设的特征打分规则来确定每条语法的得分;对每个语义树中所使用的所有语法的得分求和以获得该语义树的得分;按照得分对所有语义树进行排序。在本发明的示例性实施例中,所述预设特征抽取策略可以是手工特征抽取,即,预设想要抽取的特征以及对应特征的对应打分规则。表5 示出了一些示例特征及其对应打分规则描述。
[0131] 表5:
[0132]
[0133] 在本发明的示例性实施中,对于每条语法,可将针对该语法构建的至少一个特征的分数(按照例如表5的打分规则获得)分别与学习到的每个特征的权重参数进行共同线性组合来确定每条语法的得分。所述权重参数可用于衡量不同特征的重要性的大小,例如,命名实体识别特征的重要性大小为0.5,词性的重要性大小为0.4。所述权重参数的数值可以是例如根据经验预设的,也可以是通过使用诸如机器学习等算法学习出来的。
[0134] 可选地,所述预设特征抽取策略也可以是基于深度学习注意力机制来自动抽取特征,这对本领域技术人员来说是容易理解的,因此在此不再赘述。
[0135] 此外,在本发明的示例性实施例中,语义结果确定装置140可基于语义树的排序结果选择概率最高的语义树作为最终语义处理结果,也可以考虑实际的软硬件需求等因素选择其他合适的语义树作为最终语义结果。
[0136] 得到的语义处理结果可被用来进行查询。例如,根据本发明的示例性实施例的语义处理系统100还可包括查询语言转换装置(未示出)来将所选择的语义树映射到预定结构化查询语言,并使用所述预定结构化查询语言来在与所述特定图数据库对应的知识图谱上进行对所述输入语句的查询。仅作为示例,所述查询语言可以是与特定数据库ArangoDB对应的查询语言,也可以是与任何其它类型的图数据库对应的查询语言。
[0137] 图6是示出根据本公开的示例性实施例的语义处理方法600的流程图。
[0138] 如图6所示,在步骤S610,可通过输入语句获取装置110来获取输入语句。
[0139] 然后,在步骤S620,可通过输入语句处理装置120来对输入语句进行处理,获得所述输入语句的至少一种候选语义组合结果。
[0140] 具体来说,在步骤S620,可通过输入语句处理装置120中的分词模块210,使用至少一种分词器对所述输入语句执行分词,获得至少一种分词结果,并由输入语句处理装置120中的语义识别模块220来对每种分词结果中的词语或短语执行语义识别,获得至少一种语义识别结果,之后,可由输入语句处理装置120中的语义消歧模块130对所述至少一种语义识别结果执行语义消歧处理,从而获得针对所述输入语句的至少一种候选语义组合结果。
[0141] 分词模块210进行分词所使用的分词词典以及语义识别模块220进行语义识别所依据的语义体系均可由预设的搜索系统提供。也就是说,在使用本公开的语义处理方法600对输入语句进行语义处理之前,根据本公开的示例性实施例的语义处理方法600可预先基于特定图数据库执行一些语义预处理,从而建立上述搜索系统。所述搜索系统可包括基于所述特定图数据库所生成的分词词典和语义结构集合,并提供实体链接服务。在这种情况下,分词模块210可基于所述分词词典,使用所述至少一种分词器对输入语句执行分词,并且语义识别模块220可基于所述语义结构集合来确定每种分词结果中的词语或短语的语义,并基于识别出的语义,通过使用实体链接服务将每种分词结果中的实体词语或短语链接到与所述特定图数据库对应的知识图谱中的对应实体节点。
[0142] 优选地,在基于特定图数据库执行语义预处理时,还可对所述分词词典中的分词项进行语义扩展来获得分词项的扩展表达,使得所述搜索系统还包括分词词典中的分词项的扩展表达的集合。这里,每个扩展表达与和该扩展表达对应的分词项对应相同的语义结构。在这种情况下,分词模块210可基于分词词典中的分词项以及分词项的扩展表达,使用所述至少一种分词器对输入语句执行分词,获得更精准的分词结果。
[0143] 优选地,根据本公开的示例性实施例,语义识别模块220可通过对每种分词结果中的每个词语或短语进行模糊匹配来将所述每个词语或短语映射到所述语义结构集合中的对应语义结构,并使用所述每个词语或短语的语义特征中的至少一个来确定所述每个词语或短语的语义识别结果分值。
[0144] 此外,在本公开的示例性实施例中,语义消歧模块230可按照互不重叠冲突的原则对语义识别模块220的语义识别结果进行排列组合,获得至少一种候选语义组合结果。
[0145] 优选地,语义消歧模块230可按照互不重叠冲突的原则对语义识别结果进行排列组合以获得一种或多种候选语义组合结果,通过基于每个候选语义组合结果中的每个词语或短语的语义识别结果分值来确定每个候选语义组合结果的组合分值,并删除组合分值低于预设阈值的候选语义组合结果,由此能够提高语义处理效率。
[0146] 以上已参照图1至图3详细描述了输入语句处理装置120获得候选语义组合结果的处理,因此为了简明,在此将不再进行重复描述。
[0147] 在步骤S630,可通过语法规约装置130,按照预设规约语法对每种候选语义组合结果执行语法规约,确定所述输入语句的中心话题并生成以中心话题为根节点的语义树。
[0148] 具体来说,语法规约装置130可按照预设规约语法对每个候选语义组合结果中所包括的词语或短语的原始语义执行一次或多次语义转换操作直到确定出一个中心话题为止,并基于所述一次或多次语义转换操作的转换路径生成以中心话题为根节点的语义树。所述语义转换操作可包括一转一语义转换操作和二转一语义转换操作。所述一转一语义转换操作可将一个语义转换为与所述一个语义对应的更高阶抽象语义。所述二转一语义转换操作可将具有关联的两个语义转换为一个更高阶抽象语义。所述预设规约语法包括针对一转一语义转换的预设语法和针对二转一语义转换的预设语法。
[0149] 在执行语义转换操作时,语法规约装置130可按照所述针对一转一语义转换的预设语法,通过所述一转一语义转换操作将一个终结符元素或非终结符元素转换为对应的一个非终结符元素,并且/或者,按照所述针对二转一语义转换的预设语法,通过二转一语义转换操作将一个非终结符元素和一个终结符元素、两个非终结符元素、或两个终结符元素转换为一个非终结符元素。这里,终结符元素表示所述每个候选语义组合结果中所包括的每个词语或短语的原始语义,非终结符元素表示基于至少一个终结符元素和至少一个非终结符元素中的至少一个所获得的更高阶的抽象语义。
[0150] 以上已参照图4和图5详细描述了语法规约装置130进行语法规约的处理,因此为了简明,在此将不再进行重复描述。
[0151] 在步骤S640,可通过语义结果确定装置140,依据预设排序规则对所获得的所有语义树中的至少部分语义树进行排序,基于语义树的排序结果选择一个语义树作为最终语义处理结果。
[0152] 所述预设排序规则是基于特征的排序算法,包括:按照预设特征抽取策略,基于每条语法的对应上下文来构建每条语法的至少一个特征,其中,所述对应上下文表示与每条语法相关的原始词语、短语或子句;基于针对每条语法构建的所述至少一个特征,按照预设的特征打分规则来确定每条语法的得分;对每个语义树中所使用的所有语法的得分求和以获得该语义树的得分;按照得分对所有语义树进行排序。所述预设特征抽取策略可以是手工抽取特征,也可以是基于深度学习注意力机制来自动抽取特征。
[0153] 此外,根据本公开的示例性实施例,步骤S640中所选择的作为最终语义处理结果的语义树可被映射到预定结构化查询语言,从而能够使用所述预定结构化查询语言来在与所述特定图数据库对应的知识图谱上进行对所述输入语句的查询。
[0154] 根据本公开的示例性实施例的语义处理方法和系统可被应用于诸如智能问答、智能搜索、在线智能客服系统等各种领域和应用,支持使用非结构化的自然语言来进行多粒度查询,支持复杂语义操作,并且支持在知识图谱上进行任意推理,从而克服了模板方法的局限性。此外,由于语义树的树状可视化结构,查询结果具有较强的可解释性。
[0155] 此外,尽管在以上实施例的描述中,本公开的语义处理方法和系统与特定图数据库相关联,但根据本公开的语义处理方法和系统可支持与所述特定图数据库的领域不同的其他多种领域,而不受特定数据领域所限制。所述方法在语义规约之前已将与数据库的具体数据和类型有关的部分进行了抽象,例如,对于金融领域的问题“中国银行二零零五年平均的股价是多少?”,其经过抽象后可变成“En D的平均的P是多少”。而对于另一数据领域的问题“《复仇者联盟》5月的平均的票房是多少?”,其经过抽象后也是“En D的平均的P是多少”,两者抽象后的句子相同,则其语义规约的方式也就可以互通,由此便于实现数据迁移。
[0156] 更具体讲,在经过语义抽象后,语义规约及之后的阶段并不关心数据库本身的数据是什么,以及领域是什么,只关心句子中一些额外但通用的特征,如“平均”、“是多少”这种特征。这样的抽象方式为以一个较小的成本将针对特定领域的语义处理方法从该特定领域迁移到其他领域提供了可能。特别地,可以将上述的语义映射与规约过程理解为将一些数据库专有的一些词汇进行封装,使模型只关心语法上的通用表达特征,而不关心具体某个元素的字和词是什么,从而让模型可以迅速地学习到关键特征,而不会对标注数据过度拟合。由此使得本公开的语义处理方案可在无需重新调整语义处理方法或者重新标注数据重新训练一个模型的情况下适应于多种领域,在领域的泛化和迁移性上都有着良好的表现。且由于领域的无关性,再加上语法的限制本身也减小了假设空间,本公开的语义处理方法为达到与现有技术同样的效果所需要的标注数据的数量和成本相对小。
[0157] 此外,本公开的语义处理方法可以支持同时推理多种可能的结果,而不需要在一开始就确定下来中心问题,进一步提高了结果的准确率。
[0158] 以上已参照图1至图6描述了根据本公开的示例性实施例的语义处理方法和系统。然而,应理解的是:附图中示出的装置和系统可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些系统、装置可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,这些系统或装置所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
[0159] 此外,上述方法可通过记录在计算机可读存储介质上的指令来实现,例如,根据本申请的示例性实施例,可提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行以下步骤:获取输入语句;获得针对所述输入语句的至少一种候选语义组合结果;按照预设规约语法对每种候选语义组合结果执行语法规约,确定所述输入语句的中心话题并生成以中心话题为根节点的语义树;依据预设排序规则对所获得的所有语义树中的至少部分语义树进行排序,基于语义树的排序结果选择一个语义树作为最终语义处理结果。
[0160] 上述计算机可读存储介质中存储的指令可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述指令还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经在参照图1至图6进行相关方法的描述过程中提及,因此这里为了避免重复将不再进行赘述。
[0161] 应注意,根据本公开示例性实施例的语义处理系统可完全依赖计算机程序或指令的运行来实现相应的功能,即,各个装置在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
[0162] 另一方面,当附图所示的系统和装置以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得至少一个处理器或至少一个计算装置可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
[0163] 例如,根据本申请示例性实施例,可提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行下述步骤:获取输入语句;获得针对所述输入语句的至少一种候选语义组合结果;按照预设规约语法对每种候选语义组合结果执行语法规约,确定所述输入语句的中心话题并生成以中心话题为根节点的语义树;依据预设排序规则对所获得的所有语义树中的至少部分语义树进行排序,基于语义树的排序结果选择一个语义树作为最终语义处理结果。
[0164] 具体说来,上述系统可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点上。此外,所述系统可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。此外,所述系统还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。另外,所述系统的所有组件可经由总线和/或网络而彼此连接。
[0165] 这里,所述系统并非必须是单个系统,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。所述系统还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
[0166] 在所述系统中,所述至少一个计算装置可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,所述至少一个计算装置还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。计算装置可运行存储在存储装置之一中的指令或代码,其中,所述存储装置还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。
[0167] 存储装置可与计算装置集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储装置可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储装置和计算装置可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得计算装置能够读取存储在存储装置中的指令。
[0168] 以上描述了本申请的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本申请不限于所披露的各示例性实施例。在不偏离本申请的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本申请的保护范围应该以权利要求的范围为准。