问答知识库及其建立方法、智能问答方法和系统的制作方法

文档序号:10552957阅读:340来源:国知局
问答知识库及其建立方法、智能问答方法和系统的制作方法
【专利摘要】本发明提出了一种问答知识库及其建立方法、智能问答方法和系统,所述问答知识库包括多个知识点,每个知识点包括一个或多个问题,至少部分数目的问题建立有语义表达式,所述语义表达式包括一个或多个第一级词类,所述第一级词类包括多个相关的词,至少部分数目的问题的语义表达式中的部分第一级词类还包括语义片段,所述语义片段包括一个以上的第二级词类,所述第二级词类包括多个相关的词。本发明减少了知识工程师在编写语义表达式时进行语义扩展的时间成本,提高了智能问答系统的信息搜索效率。
【专利说明】
问答知识库及其建立方法、智能问答方法和系统
技术领域
[0001]本发明涉及信息搜索技术领域,尤其涉及一种问答知识库及其建立方法、智能问答方法和系统。
【背景技术】
[0002]在中文的词当中,很多词都是由多个不同的词合成的,如“支付款项”就是由“支付”和“款项”合成的。合成词有很多同义词,如“支付款项”的同义词有“付款”、“付钱”等等。在这种情况下,当知识工程师为知识库中的标准问或者扩展问编写对应的表达式时,由于考虑到合成词及其同义词,就需要写出由含义相同的不同词语组成的多个语义表达式,例如:对于知识库中的标准问“什么时候付款”,知识工程师编写出的表达式有:I) “什么时候”+ “付款”,2) “什么时候” + “支付” + “款项”,3) “啥时候” + “付钱”,等等。可见,知识工程师的工作量非常大。后续,当用户输入用户请求信息后,将用户请求信息与上述众多的语义表达式逐一进行相似度计算时,由于权重的不同导致同样语义的不同表达式的相似度值不同,延长了信息搜索的时间,降低信息搜索的效率。

【发明内容】

[0003]本发明要解决的技术问题是,提供一种问答知识库及其建立方法、智能问答方法和系统,减少信息搜索处理资源的消耗。
[0004]本发明采用的技术方案是,提供一种问答知识库,包括多个知识点,每个知识点包括一个或多个问题,至少部分数目的问题建立有语义表达式,所述语义表达式包括一个或多个第一级词类,所述第一级词类包括多个相关的词,至少部分数目的问题的语义表达式中的部分第一级词类还包括语义片段,所述语义片段包括一个以上的第二级词类,所述第二级词类包括多个相关的词。
[0005]进一步的,所述语义表达式还包括:语义规则词。
[0006]进一步的,所述第二级词类还包括一个以上的第三级词类,所述第三级词类包括多个相关的词。
[0007]进一步的,所述语义片段中的至少一部分第二级词类互相之间为并列选择的关系O
[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]图1为本发明第二实施例的问答知识库的建立方法流程图;
[0035]图2为本发明第三实施例的智能问答方法流程图;
[0036]图3为本发明第四实施例的问答知识库的建立系统组成结构示意图;
[0037]图4为本发明第五实施例的智能问答系统组成结构示意图。
【具体实施方式】
[0038]为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
[0039]先介绍一下本领域的问答知识库,知识库中的知识点最原始和最简单的形式就是平时常用的“问题和答案FAQ”,一般的形式是“问-答”对。例如,“彩铃的资费”就是表达清晰的标准问描述。这里的“问”不应被狭义地理解为“询问”,而应广义地来理解一 “输入”即用户请求信息,该“输入”具有对应的“输出” ο例如,对于用于控制系统的语义识别而言,用户的一个指令,例如“打开收音机”也应可以被理解为是一个“问”,此时对应的“答”可以是用于执行相应控制的控制程序的调用。
[0040]用户在向机器输入时,最理想的情况是使用标准问,则机器的智能语义识别系统马上能够理解用户的意思。然而,用户往往并非使用的是标准问,而是标准问的一些变形的形式。例如,若对于收音机的电台切换的标准问形式是“换一个电台”,那么用户可能使用的命令是“切换一个电台”,机器也需要能够识别用户表达的是同一个意思。
[0041]因此,对于智能语义识别而言,知识库里需要有标准问的扩展问,该扩展问与标准问表达形式有略微差异,但是表达相同的含义。
[0042]在本发明的实施例中,将标准问和扩展问统称为问答知识库中的问题。
[0043]再介绍一下本领域的词类的概念,词类是按照词的语义进行划分的,把一组相关的词组织在一起形成一个树状结构的词类数据库。
[0044]词类是对一组相关词的汇总,由词类名称和一组相关词所组成。相关词可以为同义词,也可以为语义不相似的同一集合词。词类名是在这组相关词中具有标签作用的词,即词类的代表。一个词类中至少包含两个词。当一个词语不属于任何词类时,则为词,如:的。
[0045]接下来介绍一下语义表达式的概念,问答知识库中的一部分问题对应有语义表达式,语义表达式主要由词、词类以及他们的“或”关系构成,其核心依赖于“词类”。语义表达式与用户请求信息之间关系是通过量化的值(相似度)来表示,同时这个量化的值使得知识库中的问题与用户请求信息之间的相似度是可以比较的。由于语义表达式要参与相似度计算,所以要有足够的能力表达语义。
[0046]在语义表达式中,为区分表达式中的词与词类,可以采用方括号[]来表达词类,下面是一些简单的语义表达式的示例:[飞信][如何][开通]、[介绍][彩信][业务]、[飞信]的[登录][方法]、[来电提醒][如何][收费]。在多个词按照不同的顺序排列组合在一起后所表达的语义是同一个意思的情况下,如:“怎么” “办理” “彩铃”和“彩铃” “怎么” “办理”所表达的语义都是彩铃的办理方法,可以将语义表达式写成[怎么][办理][彩铃],这个语义表达式包含上述的两种问法,这个语义表达式中各词类可以是无序排列的。在多个词按照不同的顺序排列组合在一起后所表达的语义是不同意思的情况下,如:“美元” “兑换” “人民币” “汇率”和“人民币” “兑换” “美元” “汇率”用同样的词所组成,但是所表达的语义却是不同的,此时,只能语义表达式中的各词类有序排列,要么是[美元][兑换][人民币][汇率],要么是[人民币][兑换][美元][汇率],来表达正确的含义。
[0047]需要说明的是,上述符号仅为举例,其不限制本发明的保护范围。
[0048]本发明第一实施例,一种问答知识库,包括多个知识点,每个知识点包括一个或多个问题,至少部分数目的问题建立有语义表达式,所述语义表达式包括一个或多个第一级词类,所述第一级词类包括多个相关的词,至少部分数目的问题的语义表达式中的部分第一级词类还包括语义片段,所述语义片段包括一个以上的第二级词类,所述第二级词类包括多个相关的词。
[0049]具体的,在本实施例中,语义片段可以不止包括词类,还可包括词。第一级词类包括词和语义片段;语义片段中又包括第二级词类,还可以包括词。
[0050]对于问答知识库中较复杂的问题,所述语义表达式还包括:语义规则词,例如:的,在,通过等等;对于问答知识库中较简单的问题,其语义表达式中可以只包含词类,而不用包含语义规则词。
[0051]优选的,所述第二级词类还可以包括一个以上的第三级词类,所述第三级词类包括多个相关的词。
[0052]在某些情况下,所述语义片段中的至少一部分第二级词类互相之间为并列选择的关系。例如:当第一级词类为合成词且所述合成词中存在任一单独词对应于两个以上不同的词类时,将所述单独词对应的两个以上词类都作为第二级词类且相互之间为并列选择的关系。
[0053]通常,同一语义片段内的第二级词类之间呈有序排列状态。可选的,同一语义片段内的各第二级词类之间为无序表达。
[0054]对于本实施例举例如下:
[0055]对于一个问题“什么时候付款”,现有的语义表达式的编写方式是要编写至少如下两个语义表达式:
[0056][什么时候][付款]
[0057][什么时候][支付][款项]
[0058]可见,语义表达式的个数要多写很多,并且由于[付款]的权重和[支付][款项]的权重不同,导致两个语义表达式与同一个用户请求信息进行语义相似度计算时,相似度值可能不同。
[0059]本发明实施例,在[付款]这个第一级词类下面创建了一个语义片段:[支付]、[款项],实际上[支付]、[款项]均为第二级词类,那么对上面的这个问题只需要编写一个语义表达式:[什么时候][付款]即可。
[0060]由于此时第一级词类[付款]中包括了语义片段[支付][款项],因此[什么时候][付款]这一语义表达式中也包括了 [什么时候][支付][款项]这一语义表达式。
[0061]此外,由于进行相似度计算时,第一级词类[付款]的权重就是其下面各词或第二级词类的权重,此时的[支付][款项]的权重与[付款]的权重相同,从而与现有技术相比,[什么时候][付款]与[什么时候][支付][款项]的相似度值相同。
[0062]需要说明的是,语义片段对应的词语是合成词,即两个以上的词语,其中可以每个词语都是第二级词类,也可以仅部分词语是第二级词类(即其余词语为词),其都在本发明的保护范围之内。
[0063]上述例子中第二级词类[支付]和[款项]之间为无序表达,从而用户请求信息“什么时候支付的款项”也会被匹配到[什么时候][付款]这一语义表达式。
[0064]而在现有技术中,当不存在[什么时候][支付][款项]这一表达式,即时[付款]中包括“支付款项”这个合成词,那么“什么时候支付的款项”这一用户请求信息也不会匹配到[什么时候][付款]这一语义表达式。
[0065]需要说明的是,在本发明的其它实施例中语义片段中第二级词类之间也可以为有序表达,其不限制本发明的保护范围。
[0066]上面这个问题对应的语义表达式中各第二级词类之间也可以呈现无序排列状态,即:[支付][款项][什么时候]。
[0067]当有用户问题“款项是什么时候支付的”输入时,就可以被由无序的语义片段组成的语义表达式[支付][款项][什么时候]所捕捉到。
[0068]本发明第二实施例,一种问答知识库的建立方法,所述问答知识库包括多个知识点,每个知识点包括一个或多个问题,至少部分数目的问题建立有语义表达式,如图1所示,所述方法包括:
[0069]步骤SlOl,提供词类数据库;所述词类数据库中的词类包括多个相关的词;
[0070]步骤S102,当为问题建立的语义表达式包括第一级词类时,判断所述第一级词类中是否包含合成词;
[0071]步骤S103,当所述第一级词类包含合成词时,判断所述合成词中是否有词属于所述词类数据库中的词类;
[0072]步骤S104,当合成词中有词属于所述词类数据库中的词类时,将所述词替换为所述词所属的词类以作为第二级词类。
[0073]具体的,当第一级词类为合成词且所述合成词中存在任一词分别属于词类数据库中的两个以上不同的词类时,将所述词所属的两个以上词类都作为第二级词类且相互之间为并列选择的关系。
[0074]例如:“支付款项”这个合成词中的“款项”一词同时属于词类数据库中的[资金]和[钞票]两个词类,“支付”属于词类数据库中[支付]这一词类,则此时在[付款]这一第一级词类下建立的第二级词类为[支付][资金I钞票],其中的“I”表示并列关系。采用本实施例中的问答知识库的建立方法可以建立如第一实施例所述的问答知识库。
[0075]此外需要说明的是,本发明第一实施例的问答知识库中,语义表达式中的部分第一级词类还包括语义片段,所述语义片段包括一个以上的第二级词类,即采用一个语义片段代替了一个或多个词,在本实施例中一个第一级词类可以包括一个或多个语义片段。
[0076]由于本实施例根据合成词的分解特性以及词类的关联性,对问答知识库中的问题的语义表达式进行了更加细致全面的改写,囊括了组成该合成词的各单独词所对应的词类信息,在词类数据库的支持下,词类数据库的词类可以被层级引用,使问题的语义表达式中所包含的各级词类实际所包含的信息更加充实,同时也节省了为问题编写的语义表达式的个数,从而减少了知识工程师在编写语义表达式时进行语义扩展的时间成本。
[0077]本发明第三实施例,一种智能问答方法,采用第一实施例中的问答知识库或者采用由第二实施例建立的问答知识库,问答知识库中的知识点还包括答案;如图2所示,所述方法包括:
[0078]步骤S201,获取用户请求信息;
[0079]步骤S202,将所述用户请求信息与所述问答知识库中的问题进行语义相似度计算,并将语义相似度值最高的问题对应的答案提供给用户。
[0080]具体的,进行语义相似度计算时,所用到的所述问答知识库中的问题的语义表达式中所述第一级词类中各词和各第二级词类的权重相同。
[0081]本实施例由于采用了上述的问答知识库,因此可以显著提高智能问答的准确率。
[0082]本发明第四实施例,与第二实施例对应,本实施例介绍一种问答知识库的建立系统,所述问答知识库包括多个知识点,每个知识点包括一个或多个问题,至少部分数目的问题建立有语义表达式,如图3所示,所述系统包括以下组成部分:
[0083]提供模块301,用于提供词类数据库,所述词类数据库中的词类包括多个相关的词;
[0084]第一判断模块302,用于当为问题建立的语义表达式包括第一级词类时,判断所述第一级词类中是否包含合成词;
[0085]第二判断模块303,用于当所述第一级词类包含合成词时,判断所述合成词中是否有词属于所述词类数据库;
[0086]替换模块304,用于当合成词中有词属于所述词类数据库中的词类时,将所述词替换为所述词所属的词类以作为第二级词类。
[0087]具体的,所述替换模块304,还用于:当第一级词类为合成词且所述合成词中存在任一词分别属于词类数据库中的两个以上不同的词类时,将所述词所属的两个以上词类都作为第二级词类且相互之间为并列选择的关系。
[0088]本发明第五实施例,与第三实施例对应,本实施例介绍一种智能问答系统,采用上述的问答知识库,所述知识点还包括答案;如图4所示,所述系统包括:
[0089]获取模块401,用于获取用户请求信息;
[0090]计算模块402,用于将所述用户请求信息与所述问答知识库中的问题进行语义相似度计算得到语义相似度值,并将语义相似度值最高的问题对应的答案提供给用户。
[0091]进一步的,计算模块402进行语义相似度计算时,所用到的所述问答知识库中的问题的语义表达式中所述第一级词类中各词和各第二级词类的权重相同。
[0092]在本发明实施例的智能问答系统采用本发明实施例的问答知识库响应用户请求信息时,进行语义相似度计算所用到的所述问答知识库中的问题的语义表达式中所述第一级词类中各词和各第二级词类的权重相同,提高了智能问答系统的信息搜索效率。
[0093]通过【具体实施方式】的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
【主权项】
1.一种问答知识库,包括多个知识点,每个知识点包括一个或多个问题,至少部分数目的问题建立有语义表达式,所述语义表达式包括一个或多个第一级词类,所述第一级词类包括多个相关的词,其特征在于,至少部分数目的问题的语义表达式中的部分第一级词类还包括语义片段,所述语义片段包括一个以上的第二级词类,所述第二级词类包括多个相关的词。2.根据权利要求1所述的问答知识库,其特征在于,所述语义表达式还包括:语义规则Τ.κ| ο3.根据权利要求1所述的问答知识库,其特征在于,所述第二级词类还包括一个以上的第三级词类,所述第三级词类包括多个相关的词。4.根据权利要求1所述的问答知识库,其特征在于,所述语义片段中的至少一部分第二级词类互相之间为并列选择的关系。5.根据权利要求1所述的问答知识库,其特征在于,同一语义片段内的各第二级词类之间为无序表达。6.一种问答知识库的建立方法,所述问答知识库包括多个知识点,每个知识点包括一个或多个问题,至少部分数目的问题建立有语义表达式,其特征在于,所述方法包括: 提供词类数据库,所述词类数据库中的词类包括多个相关的词; 当为问题建立的语义表达式包括第一级词类时,判断所述第一级词类中是否包含合成词; 当所述第一级词类包含合成词时,判断所述合成词中是否有词属于所述词类数据库中的词类; 当合成词中有词属于所述词类数据库中的词类时,将所述词替换为所述词所属的词类以作为第二级词类。7.根据权利要求6所述的问答知识库的建立方法,其特征在于,当第一级词类为合成词且所述合成词中存在任一词分别属于词类数据库中的两个以上不同的词类时,将所述词所属的两个以上词类都作为第二级词类且相互之间为并列选择的关系。8.—种智能问答方法,其特征在于,包括: 提供如权利要求1至5中任一项所述的问答知识库,所述知识点还包括答案; 获取用户请求信息; 将所述用户请求信息与所述问答知识库中的问题进行语义相似度计算,并将语义相似度值最高的问题对应的答案提供给用户。9.根据权利要求8所述的智能问答方法,其特征在于,进行语义相似度计算时,所用到的所述问答知识库中的问题的语义表达式中所述第一级词类中各词和各第二级词类的权重相同。10.—种问答知识库的建立系统,所述问答知识库包括多个知识点,每个知识点包括一个或多个问题,至少部分数目的问题建立有语义表达式,其特征在于,所述系统包括: 第一提供模块,用于提供词类数据库,所述词类数据库中的词类包括多个相关的词;第一判断模块,用于当为问题建立的语义表达式包括第一级词类时,判断所述第一级词类中是否包含合成词; 第二判断模块,用于当所述第一级词类包含合成词时,判断所述合成词中是否有词属于所述词类数据库; 替换模块,用于当合成词中有词属于所述词类数据库中的词类时,将所述词替换为所述词所属的词类以作为第二级词类。11.根据权利要求10所述的问答知识库的建立系统,其特征在于,所述替换模块,还用于:当第一级词类为合成词且所述合成词中存在任一词分别属于词类数据库中的两个以上不同的词类时,将所述词所属的两个以上词类都作为第二级词类且相互之间为并列选择的关系。12.一种智能问答系统,其特征在于,包括: 第二提供模块,用于提供如权利要求1至5中任一项所述的问答知识库,所述知识点还包括答案; 获取模块,用于获取用户请求信息; 计算模块,用于将所述用户请求信息与所述问答知识库中的问题进行语义相似度计算得到语义相似度值,并将语义相似度值最高的问题对应的答案提供给用户。13.根据权利要求12所述的智能问答系统,其特征在于,所述计算模块进行语义相似度计算时,所用到的所述问答知识库中的问题的语义表达式中所述第一级词类中各词和各第二级词类的权重相同。
【文档编号】G06F17/30GK105912600SQ201610207928
【公开日】2016年8月31日
【申请日】2016年4月5日
【发明人】曾永梅, 李波, 朱频频
【申请人】上海智臻智能网络科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1