法律状态公告日
法律状态信息
法律状态
2019-02-01
授权
授权
2016-05-25
实质审查的生效 IPC(主分类):G06F17/30 申请日:20140929
实质审查的生效
2016-04-27
公开
公开
技术领域
本发明实施例涉及通信领域,并且更具体地,涉及一种知识库中问句解 析的方法及设备。
背景技术
知识库(KnowledgeBase,KB)是知识工程中结构化、易操作、易利用、 全面有组织的知识集群,是针对某一个或某一些领域问题求解的需要,采用 某一种或某几种知识表示方式在计算机存储器中存储、组织、管理和使用的 互相联系的知识片集合。
目前互联网上已经出现了大量的知识资源和知识社区,例如维基百科 (Wikipedia)、百度百科、互动百科等。从这些知识资源中,已有研究已经挖 掘出以实体、实体关系为核心的大规模知识库。除此之外,还存在一些领域 知识库,如天气知识库、餐饮知识库等。
知识库的建设经历了由人工和群体智能添加到面向整个互联网利用机器 学习和信息抽取技术自动获取的过程。早期的知识库是由专家人工构建。例 如WordNet、CYC、CCD、HowNet、中国大百科全书等。但是随着信息技术 的发展,传统人工构建的知识库逐渐暴露出规模小、知识少、更新慢的缺点; 同时由专家构建的确定性知识框架也无法满足互联网有噪环境下大规模计算 的需求。这也是CYC项目最终失败的原因之一。随着Web2.0的飞速崛起, 出现了大量基于群体智慧的网络知识库,包括Wikipedia、互动百科、百度百 科等。以这些网络资源为基础,大量的自动半自动知识库构建方法被用来构 建大型可用的知识库,比如YAGO,DBpedia,Freebase等。
基于这些知识库,可以构建起知识库问答系统(Knowledge-base-based QuestionAnswering)。与基于检索技术的问答系统相比,基于知识库的问答系 统由于知识库规模的限制,对问题的覆盖率可能会较低,但其具备一定的推 理能力。另外,在限定领域内会达到较高的准确率。因此,一些基于知识库 的问答系统应运而生,有些成为独立的应用,有些作为已有产品的增强功能, 比如苹果的siri、谷歌的知识图谱等。
问答系统(QuestionAnswering)是指不需要用户把问题分解成关键词, 而直接以自然语言的形式提问,经过问答系统对用户的问题的处理,再从知 识库或者互联网快速搜索出和用户的问题对应的答案,然后把答案直接返回 给用户,而不是相关的网页。因此问答系统大大降低了用户的使用难度,它 比传统的关键字检索和语义搜索技术等搜索引擎更加方便和高效。
关联数据问答(QuestionAnsweringoverLinkedData,QALD)评测比赛 推动了问答系统的发展。其目标是针对大规模结构化的关联数据,将自然语 言问句转换为结构化的简单协议资源描述框架查询语句(SimpleProtocoland RDF(ResourceDescriptionFramework,资源描述框架)QueryLanguage, SPARQL),从而建立友好的自然语言查询接口。将自然语言问句转换为结构 化的SPARQL,需要依赖于针对于知识库的转换规则。但是目前的问答系统 中,转换规则都是人工配置,这样导致不仅耗费大量人力,而且领域扩展性 也很差。
发明内容
本发明实施例提供一种基于知识库的问句解析的方法,不需要人工配置 转换规则,并且是领域无关的。
第一方面,提供了一种知识库中问句解析的方法,包括:
接收用户输入的问句;
对所述问句进行短语检测,以确定第一候选短语;
将所述第一候选短语映射到所述知识库中的第一资源项,其中,所述第 一资源项与所述第一候选短语具有一致的语义;
根据所述第一候选短语和所述第一资源项,确定观察谓词的值和可能的 问句分析空间,其中,所述观察谓词用于表示所述第一候选短语的特征、所 述第一资源项的特征和所述第一候选短语与所述第一资源项的关系,所述可 能的问句分析空间中的点为命题集合,所述命题集合中的命题的真假由隐含 谓词的值表征;
对所述可能的问句分析空间中的每一个命题集合,根据所述观察谓词的 值和所述隐含谓词的值,进行不确定性推理,计算所述每一个命题集合的置 信度;
获取所述置信度满足预设条件的命题集合中的真命题的组合,其中,所 述真命题用于表示从所述第一候选短语中所选中的搜索短语、从所述第一资 源项中所选中的搜索资源项和所述搜索资源项的特征;
根据所述真命题的组合,生成形式化查询语句。
结合第一方面,在第一方面的第一种可能的实现方式中,所述不确定性 推理基于马尔科夫逻辑网络MLN,所述MLN包括预定义的一阶公式以及所 述一阶公式的权重。
结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第 二种可能的实现方式中,在所述接收用户输入的问句之前,所述方法还包括:
从所述知识库中获取多个自然语言问句;
对所述多个自然语言问句进行短语检测,以确定所述多个自然语言问句 的第二候选短语;
将所述第二候选短语映射到所述知识库中的第二资源项,其中,所述第 二资源项与所述第二候选短语具有一致的语义;
根据所述第二候选短语和所述第二资源项,确定与所述多个自然语言问 句对应的观察谓词的值;
获取人工标注的与所述多个自然语言问句对应的隐含谓词的值;
根据与所述多个自然语言问句对应的观察谓词的值、与所述多个自然语 言问句对应的隐含谓词的值和所述一阶公式,构建无向图,通过训练确定所 述一阶公式的权重。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实 现方式中,所述一阶公式包括布尔公式和加权公式,所述布尔公式的权重为 +∞,所述加权公式的权重为加权公式权重,所述人工标注的与所述多个自然 语言问句对应的隐含谓词的值满足所述布尔公式,
根据与所述多个自然语言问句对应的观察谓词的值、与所述多个自然语 言问句对应的隐含谓词的值和所述一阶公式,构建无向图,通过训练确定所 述一阶公式的权重,包括:
根据与所述多个自然语言问句对应的观察谓词的值、与所述多个自然语 言问句对应的隐含谓词的值和所述一阶公式,构建无向图,通过训练确定所 述加权公式权重。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实 现方式中,所述根据与所述多个自然语言问句对应的观察谓词的值、与所述 多个自然语言问句对应的隐含谓词的值和所述一阶公式,构建无向图,通过 训练确定所述一阶公式的权重,包括:
根据与所述多个自然语言问句对应的观察谓词的值、与所述多个自然语 言问句对应的隐含谓词的值和所述一阶公式,构建无向图,采用差额注入松 弛算法MIRA,确定所述一阶公式的权重。
结合上述第一方面的任一种可能的实现方式,在第一方面的第五种可能 的实现方式中,所述MLN表示为M,所述一阶公式表示为φi,所述一阶公 式的权重表示为wi,所述命题集合表示为y,
对所述问句分析空间中的每一个命题集合,根据所述观察谓词的值和所 述隐含谓词的值,进行不确定性推理,计算所述每一个命题集合的置信度, 包括:
根据计算所述每一个命题集合的置信 度,
其中,Z为归一化常数,为与一阶公式φi对应的子公式的集合,c为 的所述子公式的集合中的一个子公式,为二值函数,表示在所 述命题集合y下,所述一阶公式的真假。
结合第一方面或者上述第一方面的任一种可能的实现方式,在第一方面 的第六种可能的实现方式中,所述获取所述置信度满足预设条件的命题集合 中的真命题的组合,包括:
确定所述置信度的值最大的命题集合,并获取所述置信度的值最大的命 题集合中的真命题的组合。
结合第一方面或者上述第一方面的任一种可能的实现方式,在第一方面 的第七种可能的实现方式中,
所述第一候选短语的特征包括所述第一候选短语在所述问句中的位置、 所述第一候选短语的主要词的词性、所述第一候选短语两两之间的依存路径 上的标签,
所述第一资源项的特征包括所述第一资源项的类型、所述第一资源项两 两之间的相关性值、所述第一资源项两两之间的参数匹配关系,
所述第一候选短语与所述第一资源项的关系包括所述第一候选短语与所 述第一资源项的先验匹配得分,
所述根据所述第一候选短语和所述第一资源项,确定观察谓词的值,包 括:
确定所述第一候选短语在所述问句中的位置;
采用stanford词性标注工具,确定所述第一候选短语的主要词的词性;
采用stanford依存句法分析工具,确定所述第一候选短语两两之间的依 存路径上的标签;
从所述知识库中确定所述第一资源项的类型,其中,所述类型为实体或 类别或关系;
从所述知识库中确定所述第一资源项两两之间的参数匹配关系;
将所述第一资源项两两之间的相似性系数,作为所述两个第一资源项两 两之间的相关性值;
计算所述第一候选短语与所述第一资源项之间的先验匹配得分,所述先 验匹配得分用于表示所述第一候选短语映射到所述第一资源项的概率。
结合第一方面或者上述第一方面的任一种可能的实现方式,在第一方面 的第八种可能的实现方式中,所述形式化查询语句为简单协议资源描述框架 查询语句SPARQL。
结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实 现方式中,所述根据所述真命题的组合,生成形式化查询语句,包括:
根据所述真命题的组合,利用SPARQL模板生成所述SPARQL。
结合第一方面的第九种可能的实现方式,在第一方面的第十种可能的实 现方式中,所述SPARQL模板包括ASKWHERE模板、SELECTCOUNT(?url) WHERE模板和SELECT?urlWHERE模板,
所述根据所述真命题的组合,利用SPARQL模板生成所述SPARQL,包 括:
当所述问句为Yes/No问题时,根据所述真命题的组合,使用所述ASK WHERE模板生成所述SPARQL;
当所述问句为Normal问题时,根据所述真命题的组合,使用所述 SELECT?urlWHERE模板生成所述SPARQL;
当所述问句为Number问题时,根据所述真命题的组合,使用所述 SELECT?urlWHERE模板生成所述SPARQL,或者,当使用所述SELECT?url WHERE模板生成的SPARQL无法得到数值型答案时,使用所述SELECT COUNT(?url)WHERE模板生成所述SPARQL。
结合第一方面或者上述第一方面的任一种可能的实现方式,在第一方面 的第十一种可能的实现方式中,所述对所述问句进行短语检测,以确定第一 候选短语,包括:将所述问句中的词序列作为所述第一候选短语,其中,所 述词序列满足:
所述词序列中所有连续的非停用词都以大写字母开头,或者,若所述词 序列中所有连续的非停用词不都以大写字母开头,则所述词序列的长度小于 四;
所述词序列的主要词的词性为jj或nn或rb或vb,其中,jj为形容词, nn为名词,rb为副词,vb为动词;
所述词序列所包括的词不全为停用词。
第二方面,提供了一种问答解析的设备,包括:
接收单元,用于接收用户输入的问句;
短语检测单元,用于对所述接收单元接收的所述问句进行短语检测,以 确定第一候选短语;
映射单元,用于将所述短语检测单元确定的所述第一候选短语映射到知 识库中的第一资源项,其中,所述第一资源项与所述第一候选短语具有一致 的语义;
第一确定单元,用于根据所述第一候选短语和所述第一资源项,确定观 察谓词的值和可能的问句分析空间,其中,所述观察谓词用于表示所述第一 候选短语的特征、所述第一资源项的特征和所述第一候选短语与所述第一资 源项的关系,所述可能的问句分析空间中的点为命题集合,所述命题集合中 的命题的真假由隐含谓词的值表征;
第二确定单元,用于对所述可能的问句分析空间中的每一个命题集合, 根据所述第一确定单元确定的所述观察谓词的值和所述隐含谓词的值,进行 不确定性推理,计算所述每一个命题集合的置信度;
获取单元,用于获取所述第二确定单元确定的所述置信度满足预设条件 的命题集合中的真命题的组合,其中,所述真命题用于表示从所述第一候选 短语中所选中的搜索短语、从所述第一资源项中所选中的搜索资源项和所述 搜索资源项的特征;
生成单元,用于根据所述真命题的组合,生成形式化查询语句。
结合第二方面,在第二方面的第一种可能的实现方式中,所述不确定性 推理基于马尔科夫逻辑网络MLN,所述MLN包括预定义的一阶公式以及所 述一阶公式的权重。
结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第 二种可能的实现方式中,
所述获取单元,还用于从所述知识库中获取多个自然语言问句;
所述短语检测单元,还用于对所述获取单元接收的所述问句进行短语检 测,以确定第一候选短语;
所述映射单元,还用于将所述第二候选短语映射到所述知识库中的第二 资源项,其中,所述第二资源项与所述第二候选短语具有一致的语义;
所述第一确定单元,还用于根据所述第二候选短语和所述第二资源项, 确定与所述多个自然语言问句对应的观察谓词的值;
所述获取单元,还用于获取人工标注的与所述多个自然语言问句对应的 隐含谓词的值;
所述第二确定单元,还用于根据与所述多个自然语言问句对应的观察谓 词的值、与所述多个自然语言问句对应的隐含谓词的值和所述一阶公式,构 建无向图,通过训练确定所述一阶公式的权重。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实 现方式中,所述一阶公式包括布尔公式和加权公式,所述布尔公式的权重为 +∞,所述加权公式的权重为加权公式权重,所述人工标注的与所述多个自然 语言问句对应的隐含谓词的值满足所述布尔公式,
所述第二确定单元,具体用于:根据与所述多个自然语言问句对应的观 察谓词的值、与所述多个自然语言问句对应的隐含谓词的值和所述一阶公式, 构建无向图,通过训练确定所述加权公式权重。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实 现方式中,所述第二确定单元,具体用于:
根据与所述多个自然语言问句对应的观察谓词的值、与所述多个自然语 言问句对应的隐含谓词的值和所述一阶公式,构建无向图,采用差额注入松 弛算法MIRA,确定所述一阶公式的权重。
结合上述第二方面的任一种可能的实现方式,在第二方面的第五种可能 的实现方式中,所述MLN表示为M,所述一阶公式表示为φi,所述一阶公 式的权重表示为wi,所述命题集合表示为y,
所述第二确定单元,具体用于:
根据所述观察谓词的值和所述隐含谓词构建可能的世界,所述可能的世 界表示为y;
根据计算所述每一个命题集合的置信 度,
其中,Z为归一化常数,为与一阶公式φi对应的子公式的集合,c为 的所述子公式的集合中的一个子公式,为二值函数,表示在所 述命题集合y下,所述一阶公式的真假。
结合第二方面或者上述第二方面的任一种可能的实现方式,在第二方面 的第六种可能的实现方式中,所述获取单元,具体用于:
确定所述置信度的值最大的命题集合,并获取所述置信度的值最大的命 题集合中的真命题的组合。
结合第二方面或者上述第二方面的任一种可能的实现方式,在第二方面 的第七种可能的实现方式中,
所述第一候选短语的特征包括所述第一候选短语在所述问句中的位置、 所述第一候选短语的主要词的词性、所述第一候选短语两两之间的依存路径 上的标签,
所述第一资源项的特征包括所述第一资源项的类型、所述第一资源项两 两之间的相关性值、所述第一资源项两两之间的参数匹配关系,
所述第一候选短语与所述第一资源项的关系包括所述第一候选短语与所 述第一资源项的先验匹配得分,
所述第一确定单元,具体用于:
确定所述第一候选短语在所述问句中的位置;
采用stanford词性标注工具,确定所述第一候选短语的主要词的词性;
采用stanford依存句法分析工具,确定所述第一候选短语两两之间的依 存路径上的标签;
从所述知识库中确定所述第一资源项的类型,其中,所述类型为实体或 类别或关系;
从所述知识库中确定所述第一资源项两两之间的参数匹配关系;
将所述第一资源项两两之间的相似性系数,作为所述两个第一资源项两 两之间的相关性值;
计算所述第一候选短语与所述第一资源项之间的先验匹配得分,所述先 验匹配得分用于表示所述第一候选短语映射到所述第一资源项的概率。
结合第二方面或者上述第二方面的任一种可能的实现方式,在第二方面 的第八种可能的实现方式中,所述形式化查询语句为简单协议资源描述框架 查询语句SPARQL。
结合第二方面的第八种可能的实现方式,在第二方面的第九种可能的实 现方式中,所述生成单元,具体用于:
根据所述真命题的组合,利用SPARQL模板生成所述SPARQL。
结合第二方面的第九种可能的实现方式,在第二方面的第十种可能的实 现方式中,所述SPARQL模板包括ASKWHERE模板、SELECTCOUNT(?url) WHERE模板和SELECT?urlWHERE模板,
所述生成单元,具体用于:
当所述问句为Yes/No问题时,根据所述真命题的组合,使用所述ASK WHERE模板生成所述SPARQL;
当所述问句为Normal问题时,根据所述真命题的组合,使用所述 SELECT?urlWHERE模板生成所述SPARQL;
当所述问句为Number问题时,根据所述真命题的组合,使用所述 SELECT?urlWHERE模板生成所述SPARQL,或者,当使用所述SELECT?url WHERE模板生成的SPARQL无法得到数值型答案时,使用所述SELECT COUNT(?url)WHERE模板生成所述SPARQL。
结合第二方面或者上述第二方面的任一种可能的实现方式,在第二方面 的第十一种可能的实现方式中,所述短语检测单元,具体用于:
将所述问句中的词序列作为所述第一候选短语,其中,所述词序列满足:
所述词序列中所有连续的非停用词都以大写字母开头,或者,若所述词 序列中所有连续的非停用词不都以大写字母开头,则所述词序列的长度小于 四;
所述词序列的主要词的词性为jj或nn或rb或vb,其中,jj为形容词, nn为名词,rb为副词,vb为动词;
所述词序列所包括的词不全为停用词。
本发明实施例基于预定义的不确定性推理网络,能够用于将用户输入的 自然语言问句转换为结构化的SPARQL。本发明实施例中,该预定义的不确 定性推理网络能够应用于任何领域的知识库,具有领域扩展性,这样无需针 对知识库人工地配置转换规则。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图 仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造 性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的知识库中问句解析的方法的流程图。
图2是本发明一个实施例的依存分析树的一例。
图3是本发明另一个实施例的知识库中问句解析的方法的示意图。
图4是本发明一个实施例的资源项查询图的另一例。
图5是本发明一个实施例的确定加权公式权重的方法的流程图。
图6是本发明一个实施例的问句解析的设备的框图。
图7是本发明另一个实施例的问句解析的设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创 造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在知识库问答系统中,需将自然语言问句(naturallanguagequestion)转 换为形式化查询语句。例如,形式化查询问句为结构化查询语句(Structure QueryLanguage,SQL)或SPARQL。一般地,SPARQL以主体-属性-对象 (subject-property-object,SPO)三元组形式(tripleformat)表示。
例如:自然语言问句“Whichsoftwarehasbeendevelopedbyorganization foundedinCalifornia,USA?”所对应的SPARQL为:
?url_answerrdf:typedbo:Software
?url_answerdb:developer?x1
?x1rdf:typedbo:Company
?x1dbo:foundationPlacedbr:California。
将自然语言问句转换为形式化查询语句,需要依赖于针对于知识库的转 换规则。也就是说,不同的知识库所对应的转换规则也是不同的。但是目前 的问答系统中,需要人工地对每个知识库的转换规则进行人工配置。对于某 一个知识库,人工地收集一些问题,并确定问题的答案,根据这些问题人工 地总结出一些规律作为转换规则。也就是说,人工配置的转换规则没有领域 扩展性,针对某一个知识库所配置的转换规则不能用于另外一个知识库。并 且,由于自然语言问句中存在大量的歧义,也会导致人工配置的转换规则缺 乏鲁棒性。
自然语言处理(NaturalLanguageProcessing,NLP)是计算科学、人工 智能和语言学科中用于描述机器语言与自然语言之间的关系的工具。NLP涉 及人机交互。NLP的任务(tasks)可以包括:自动监督(Automatic summarization)、互参分辨率(Coreferenceresolution)、引语分析(Discourse analysis)、机器翻译(Machinetranslation)、形态分割(Morphological segmentation)、命名实体识别(Namedentityrecognition,NER)、自然语言生 成(Naturallanguagegeneration)、自然语言理解(Naturallanguage understanding)、光学字符识别(Opticalcharacterrecognition,OCR)、词性标 注(Part-of-speechtagging)、句法分析(Parsing)、问答系统(Question answering)、关系提取(Relationshipextraction)、断句(Sentencebreaking)、 情绪分析(Sentimentanalysis)、语音识别(Speechrecognition)、语音分割 (Speechsegmentation)、话题分割与识别(Topicsegmentationand recognition)、词分割(Wordsegmentation)、词义消歧(Wordsense disambiguation)、信息检索(Informationretrieval,IR)、信息抽取(Information extraction,IE)、语音处理(Speechprocessing)等。
具体地,斯坦福(Stanford)自然语言处理(NaturalLanguageProcessing, NLP)工具是针对上述NLP的不同任务所设计的。本发明实施例中采用了 StanfordNLP工具。例如,其中的词性标注工具可以用于确定一个问句中的 每一个单词(word)的词性(Part-of-speech)。
不确定性推理泛指除精确推理以外的其他各种推理问题。包括不完备、 不精确知识的推理,模糊知识的推理,非单调性推理等。
不确定性推理过程实际上是一种从不确定的初始证据出发,通过运用不 确定性知识,最终推出具有一定不确定性但却又是合理或基本合理的结构的 思维过程。
不确定性推理的类型有数值方法和非数值方法,其中数值方法包括基于 概率的方法。具体地,基于概率的方法是基于概率论的有关理论发展起来的 方法,如可信度方法,主观贝叶斯(Bayes)方法、证据理论等。
其中,马尔科夫逻辑网络是不确定性推理网络中较为常用的一种。
马尔科夫逻辑网络(MarkovLogicNetwork,MLN)是一种结合一阶逻 辑(First-OrderLogic,FOL)和马尔科夫网络(MarkovNetwork)的统计关 系学习(StatisticalRelationalLearning)框架。马尔科夫逻辑网络与传统的一 阶逻辑的不同之处在于:传统的一阶逻辑要求所有的规则之间不允许有冲突, 如果某一个命题不能同时满足所有规则,则其为假;而在马尔科夫逻辑网络 中,每个规则都有一个权重,一个命题会按照一个概率为真。
其中,一阶逻辑(First-OrderLogic,FOL)也可以称为谓词逻辑或一阶 谓词逻辑,由若干一阶谓词规则组成。一阶谓词规则由四种类型的符号组成, 即常量、变量、函数和谓词。其中,常量指定义域里一个简单的对象;变量 可以指定义域里若干对象;函数表示一组对象到一个对象的映射;谓词指定 义域中若干对象之间的关系、或者对象的属性。变量和常量可以有类型。一 个类型的变量仅能从定义类型的对象集中取值。一个项可以是任意地表示一 个对象的表达式。原子是作用于一组项的谓词。一个常项是指没有变量的项。 一个闭原子(groundatom)或闭谓词(groundpredicate)是指所有参数均为 常项的原子或谓词。一般地,规则是从原子开始,用连接词(如蕴含关系、 等价关系等)和量词(如全称量词和存在量词)递归地建立起来。在一阶逻 辑中,通常把规则表示成从句的形式。一个可能世界(apossibleworld)是指 给所有可能出现的闭原子都赋予了真值。一阶逻辑可看作是在一个可能世界 的集合上建立一系列硬规则,即如果一个世界违反了其中的某一条规则,那 么这个世界的存在概率即为零。
MLN的基本思想是让那些硬规则有所松弛,即当一个世界违反了其中的 一条规则,那么这个世界存在的可能性将降低,但并非不可能。一个世界违 反的规则越少,那么这个世界存在的可能性就越大。为此,给每个规则都加 上了一个特定的权重,它反映了对满足该规则的可能世界的约束力。若一个 规则的权重越大,则对于满足和不满足该规则的两个世界而言,它们之间的 差异将越大。
这样,通过设计不同的一阶逻辑公式(高阶规则模板),马尔科夫逻辑网 络能够很好的结合语言特征和知识库限制。该概率框架中的逻辑公式能够对 软规则限制进行建模。马尔科夫逻辑(MarkovLogic)中一组加权的公式集 合就称为一个马尔科夫逻辑网络。
具体地,在MLN中,可以包括一阶公式和惩罚(penalty)。闭原子可以 以某种惩罚违法对应的一阶公式。
其中,一阶公式中包括一阶谓词、逻辑联结词(logicalconnectors)和变 量。
图1是本发明一个实施例的知识库中问句解析的方法的流程图。图1所 示的方法包括:
101,接收用户输入的问句。
102,对所述问句进行短语检测,以确定第一候选短语。
103,将所述第一候选短语映射到所述知识库中的第一资源项,其中,所 述第一资源项与所述第一候选短语具有一致的语义。
104,根据所述对应候选短语和所述对应资源项,计算观察谓词的值和可 能的问句分析空间,其中,所述观察谓词用于表示所述第一候选短语的特征、 所述第一资源项的特征和所述第一候选短语与所述第一资源项的关系,所述 可能的问句分析空间中的点为命题集合,所述命题集合中的命题的真假由隐 含谓词的值表征。
105,对所述可能的问句分析空间中的每一个命题集合,根据所述观察谓 词的值和所述隐含谓词的值,进行不确定性推理,计算所述每一个命题集合 的置信度。
106,获取所述置信度满足预设条件的命题集合中的真命题的组合,其中, 所述真命题用于表示从所述第一候选短语中所选中的搜索短语、从所述第一 资源项中所选中的搜索资源项和所述搜索资源项的特征。
107,根据所述真命题的组合,生成形式化查询语句。
本发明实施例利用观察谓词和隐含谓词,进行不确定性推理,能够将自 然语言问句转化为形式化查询语句。并且,本发明实施例中,不确定性推理 的方法能够应用于任何领域的知识库,具有领域扩展性,这样无需针对知识 库人工地配置转换规则。
可理解,本发明实施例中,在101中用户输入的问句为自然语言问句 (naturallanguagequestion)。
例如,该自然语言问句为“GivemeallactorswhowereborninBerlin.”。
进一步地,在102中,可通过短语检测(phrasedetection),识别出问句 中的词(token)序列。可选地,可将所述问句中的词序列作为所述第一候选 短语。其中,词序列又称为多词序列或词语序列或词项或n元词序列或 n-gram(s),是指n个连续的单词组成的序列。
可理解,102中可确定多个第一候选短语。
可选地,102中,可将满足如下的限定的词序列作为第一候选短语:
(1)、所述词序列中所有连续的非停用词都以大写字母开头;或者,若 所述词序列中所有连续的非停用词不都以大写字母开头,则所述词序列的长 度小于四。
(2)、所述词序列的主要词(headword)的词性为jj或nn或rb或vb, 其中,jj为形容词,nn为名词,rb为副词,vb为动词。
(3)、所述词序列所包括的词不全为停用词。
同时,所有连续的大写字母开头的非停用词必须在同一个词序列中。
可理解,本发明实施例中,headword也可以称为重要词或主导词等,并 且可以从词性标注集合中获取词性的表示符号。
举例来说,“UnitedStatesCourtofAppealsfortheDistrictofColumbia Circuit”中所有连续的非停用词都以大写字母开头,为一个候选短语。可以 理解,所有连续的非停用词都以大写字母开头的词序列一般为专有名词。
其中,词序列的长度是指词序列所包括的词的个数。例如,词序列“born in”的长度为2。
其中,可以采用stanford的词性标注工具来确定每一个词的词性。
举例来说,英文的停用词(stopwords)有“a”、“an”、“the”、“that”等。 中文的停用词有“一个”、“一些”、“不但”等。
例如,在问句“GivemeallactorswhowereborninBerlin”中,所确定的 第一候选短语包括:actors、who、bornin、in、Berlin。
具体地,可以表示为表一的形式,其中表一的第一列为所述第一候选短 语的短语标识。
表一
本发明实施例中,103可以理解为是将每个第一候选短语映射到知识库 中的第一资源项。本发明实施例中,103也可以称为短语映射(phrase mapping)。具体地,一个第一候选短语可能映射到多个第一资源项。第一资 源项的类型可以为实体(Entity)或类别(Class)或关系(Relation)。
举例来说,假设该知识库为DBpedia。103具体为:
将第一候选短语映射到实体(Entity),考虑到DBpedia中的实体来自于 Wikipedia中的实体页面,首先收集Wikipedia中的锚文本(anchortext)、重 定向页面和消歧页面,并利用Wikipedia中的锚文本、重定向页面和消歧页面 构建第一候选短语与实体之间的对应辞典,当第一候选短语匹配到实体的提 及(mention)短语的时候,那么该实体即为与该第一候选短语语义一致的第 一资源项。
将第一候选短语映射到类别(Class),考虑到有词汇变种的情况,特别 是同义词,例如,短语film、movie和show都可以映射到类别dbo:Film。首 先利用word2vec工具把第一候选短语中所有的词转换为向量形式,知识库中 类别的向量形式为其标签(对应rdfs:label关系)的向量形式;然后计算第一 候选短语与每个类别在向量上的余弦相似度;最后将余弦相似度值最大的N 个类别作为与该第一候选短语语义一致的第一资源项。
其中,word2vec工具是一种将词(word)转换成向量(vector)的工具。 例如,可以是由谷歌(google)开发并提供的一段开放代码,具体可以参见: http://code.google.com/p/word2vec/。
将第一候选短语映射到关系(Relation),使用PATTY和ReVerb所定义 的关系模板作为资源。首先计算DBpedia中的关系与PATTY和ReVerb所定 义的关系模板(relationpatterns)在实例上的对齐,也就是统计DBpedia中满 足关系模板的关系的实例对。然后,如果第一候选短语能够匹配关系模板, 那么,将满足关系模板的关系作为与该第一候选短语语义一致的第一资源项。
其中,PATTY和ReVerb所定义的关系模板可以参见Nakashole等人于 2012在EMNLP发表的“Patty:ataxonomyofrelationalpatternswithsemantic types”,以及Fader等人于2011在EMNLP发表的“Identifyingrelationsforopen informationextraction”。
这样,通过103,可以将第一候选短语映射到第一资源项,具体地,每 一个第一候选短语映射到至少一个第一资源项。并且,具有映射关系的第一 候选短语和第一资源项具有一致的语义。
其中,若一个第一候选短语映射到多个第一资源项,说明该一个第一候 选短语具有歧义。
例如,在问句“GivemeallactorswhowereborninBerlin”中,在103中, 可确定第一候选短语actors、who、bornin、in、Berlin映射为第一资源项如 表二所示。其中,表二的第一列为第一候选短语,第二列为第一资源项,第 三列为第一资源项的标识。并且,第一候选短语“in”映射到五个第一资源 项。
表二
本发明实施例中,104可以理解为是特征抽取(featureextraction)的过 程。
具体地,本发明实施例定义隐含谓词(hiddenpredicates)。隐含谓词可以 包括如下的形式:
hasphrase(p),表示候选短语p被选中。
hasResource(p,r),表示资源项r被选中,且候选短语p映射到资源项r。
hasRelation(p,r,rr),表示资源项p和资源项r之间的参数匹配关系rr被选 中。
可理解,其中,p可以为候选短语的短语标识,p和r可以为资源项的标 识。其中,参数匹配关系rr为可以为以下一种:1_1、1_2、2_1和2_2。
具体地,本发明实施例中,参数匹配关系rr可以为以下一种:1_1、1_2、 2_1和2_2。那么,资源项p和资源项r之间的参数匹配关系为m1_m2表示 资源项p的第m1个参数与资源项r的第m2个参数对齐。其中,m1为1或2, m2为1或2。
如表三所示,为上述参数匹配关系的具体举例。其中,表三的第三列给 出了一个问句,以解释第二列中的参数匹配关系。
表三
其中,“dbo:height1_1dbr:MichaelJordan”表示资源项dbo:height与 资源项dbr:MichaelJordan之间的参数匹配关系为1_1。即,资源项dbo:height 的第1个参数与资源项dbr:MichaelJordan的第1个参数对齐。
可理解,隐含谓词的值为1表示相应的候选短语、资源项、资源项和资 源项之间的参数匹配关系被选中。隐含谓词的值为0表示相应的候选短语、 资源项、资源项和资源项之间的参数匹配关系没有被选中。换句话说,隐含 谓词的值为1表示相应的命题为真,隐含谓词的值为0表示相应的命题为假。
例如,结合表一,hasphrase(11)=1,表示“候选短语actors被选中”这个 命题为真。hasphrase(11)=1,表示“候选短语actors被选中”这个命题为假。
这样,对于102和103所确定第一候选短语和第一资源项,能够基于隐 含谓词构建可能的问句分析空间(possiblequestionparsespace)。具体地,可 能的问句分析空间中的一个点表示一个命题集合。一个命题集合包括一组命 题,并且这一组命题是由一组隐含谓词的值还表示的。可理解,一个命题集 合中的一组命题的真假由对应的隐含谓词的值来表征。
具体地,本发明实施例还定义观察谓词(observedpredicates)用于表示 所述第一候选短语的特征、所述第一资源项的特征和所述第一候选短语与所 述第一资源项的关系。
其中,所述第一候选短语的特征包括所述第一候选短语在所述问句中的 位置、所述第一候选短语的主要词的词性、所述第一候选短语两两之间的依 存路径上的标签等。
其中,所述第一资源项的特征包括所述第一资源项的类型、所述第一资 源项两两之间的相关性值、所述第一资源项两两之间的参数匹配关系等。
其中,所述第一候选短语与所述第一资源项的关系包括所述第一候选短 语与所述第一资源项的先验匹配得分。
那么,可理解,104中确定观察谓词的值包括:确定所述第一候选短语 在所述问句中的位置;采用stanford的词性标注工具,确定所述第一候选短 语的主要词的词性;采用stanford依存句法分析工具,确定所述第一候选短 语两两之间的依存路径上的标签;从所述知识库中确定所述第一资源项的类 型,其中,所述类型为实体或类别或关系;从所述知识库中确定所述第一资 源项两两之间的参数匹配关系,其中,所述参数匹配关系为以下一种:1_1、 1_2、2_1和2_2。将所述第一资源项两两之间的相似性系数,作为所述两个 第一资源项两两之间的相关性值;计算所述第一候选短语与所述第一资源项 之间的先验匹配得分,所述先验匹配得分用于表示所述第一候选短语映射到 所述第一资源项的概率。
具体地,从所述知识库中确定所述第一资源项两两之间的参数匹配关系, 包括:从所述知识库中确定第一资源项r1和第一资源项r2之间的参数匹配关 系m1_m2,用于表示所述第一资源项r1的第m1个参数与所述第一资源项r2 的第m2个参数对齐。其中,所述第一资源项包括所述第一资源项r1和所述 第一资源项r2,m1为1或2,m2为1或2。
具体地,观察谓词可以包括如下的形式:
phraseIndex(p,i,j),表示候选短语p在问句中的起始位置i和结束位置j。
phrasePosTag(p,pt),表示候选短语p的主要词(headword)的词性pt。
具体地,可以采用stanford词性标注工具确定主要词的词性。
phraseDepTag(p,q,dt),表示候选短语p和候选短语q之间的依存路径上 的标签dt。
具体地,可以采用stanford依存分析(stanforddependencyparser)工具 建立问句的依存分析树(dependencyparsetrees),根据所述依存分析树进行 特征提取,从而确定两个候选短语之间的依存路径上的标签。
例如,问句“GivemeallactorswhowereborninBerlin.”的依存分析树 如图2所示。
phraseDepOne(p,q),表示当候选短语p和候选短语q之间的依存路径上 的标签只有一个时,该谓词为真,否则为假。
可理解,观察谓词中的谓词phraseDepOne(p,q)只包括结果为真的谓词。
hasMeanWord(p,q),表示当候选短语p和候选短语q之间的依存路径上 的词全部为停用词或者词性为dt、in、wdt、to、cc、ex、pos或wp时, hasMeanWord(p,q)为假,否则为真。
其中,dt为限定词,in为介词in,wdt为以w开头的疑问词,to为介词 to,cc为连接词,ex为存在词there,pos为所有格结尾词,wp为疑问代词。 其中,以w开头的疑问词如what、which等,连接词如and、but、or等。具 体地,可以从词性标注集合获取上述词性的表示符号。
可理解,观察谓词中的谓词hasMeanWord(p,q)只包括结果为真的谓词。
resourceType(r,rt),表示资源项r的类型为rt。其中rt为E或C或R。E 表示实体(Entity),C表示类别(Class),R表示关系(Relation)。
priorMatchScore(p,r,s),表示候选短语p与资源项r之间的先验匹配得分 s。
举例来说,假设知识库为DBpedia。
具体地,若资源项r的类型为E,首先收集Wikipedia中的锚文本、重定 向页面和消歧页面,候选短语p匹配到资源项r的提及短语,可将对应的频 率作为先验匹配得分。其中,对应的频率是指候选短语p链接到资源项r的 次数除以候选短语p链出的总次数。
具体地,若资源项r的类型为C,候选短语p与资源项r的先验匹配得 分可以为γ·s1+(1-γ)·s2。其中,γ为0至1之间的任意值,例如γ=0.6。s1为资源项r的标签与候选短语p之间的Levenshtein距离,s2为候选短语p的 向量与资源项r的向量之间的余弦相似性度量值。其中,Levenshtein距离可 以参见Navarro于2001年在ACMComput.Surv.发表的“Aguidedtourto approximatestringmatching”。其中,s2的计算可以参见Mikolov等人于2010 年在INTERSPEECH发表的“Recurrentneuralnetworkbasedlanguagemodel”。
具体地,若资源项r的类型为R,候选短语p与资源项r的先验匹配得 分可以为α·s1+β·s2+(1-α-β)·s3。其中,α和β为0至1之间的任意值, 且α+β<1,例如α=0.3,β=0.3。s1为资源项r的标签与候选短语p之间 的Levenshtein距离,s2为候选短语p的向量与资源项r的向量之间的余弦相 似性度量值,s3为资源项r与关系模板的匹配集合的Jaccard系数。其中,关 系模板为如前所述的PATTY和ReVerb所定义的关系模板。s3的计算可以参 见Yahya等人于2012年在EMNLP发表的“Naturallanguagequestionsforthe webofdata”。
hasRelatedness(p,q,s),表示资源项p和资源项q之间的相关性值s。该相 关性值s的取值区间为0至1。具体地,该相关性值s可以为资源项p和资源 项q的相似性系数。可选地,该相似性系数也可以称为Jaccard相似性系数或 Jaccard系数或相似度评价系数。
例如,参见Yahya等人于2012年在EMNLP发表的“Naturallanguage questionsforthewebofdata”,资源项p和资源项q的相似性系数可以等于资 源项p和资源项q的入度集合的Jaccard系数。
isTypeCompatible(p,q,rr),表示资源项p和资源项q之间的参数匹配关系 rr。
具体地,本发明实施例中,参数匹配关系rr可以为以下一种:1_1、1_2、 2_1和2_2。具体地,参数匹配关系可如前所述,为避免重复,这里不再赘述。
hasQueryResult(p,q,o,rr1,rr2),表示资源项p、资源项q和资源项o之间 的参数匹配关系。具体地,资源项p和资源项q之间具有参数匹配关系rr1, 资源项q和资源项o之间具有参数匹配关系rr2。
可理解,上述所描述的观察谓词中,phraseIndex(p,i,j)、phrasePosTag(p,pt)、 phraseDepTag(p,q,dt)、phraseDepOne(p,q)和hasMeanWord(p,q)用于表示所述候 选短语的特征。resourceType(r,rt)、hasRelatedness(p,q,s)、isTypeCompatible(p,q,rr) 和hasQueryResult(p,q,o,rr1,rr2)用于表示所述资源项的特征。 priorMatchScore(p,r,s)用于表示所述候选短语与所述资源项之间的关系。
其中,p和q可以为候选短语的短语标识,p、q、r和o可以为资源项的 标识。
这样,基于102和103所确定的第一候选短语和第一资源项,能够确定 相应的观察谓词的值。
例如,对问句“GivemeallactorswhowereborninBerlin”,在表一和表 二的基础上,可以在104计算观察谓词的值。具体地,其中观察谓词的值为 1的表达式包括:
phraseIndex(11,3,3)
phraseIndex(12,4,4)
phraseIndex(13,6,7)
phraseIndex(14,7,7)
phraseIndex(15,8,8)
phrasePosTag(11,nn)
phrasePosTag(12,wp)
phrasePosTag(13,vb)
phrasePosTag(14,in)
phrasePosTag(15,nn)
phraseDepTag(11,13,rcmod)
phraseDepTag(12,13,nsubjpass)
phraseDepTag(12,14,nsubjpass)
phraseDepTag(13,15,pobj)
phraseDepTag(14,15,pobj)
phraseDepOne(11,13)
phraseDepOne(12,13)
phraseDepOne(12,14)
phraseDepOne(13,15)
phraseDepOne(14,15)
hasMeanWord(12,14)
resourceType(21,E)
resourceType(22,E)
resourceType(23,R)
resourceType(24,R)
resourceType(25,R)
resourceType(26,R)
resourceType(27,R)
resourceType(28,R)
resourceType(29,E)
priorMatchScore(11,21,1.000000)
priorMatchScore(12,22,1.000000)
priorMatchScore(13,23,1.000000)
priorMatchScore(14,24,1.000000)
priorMatchScore(14,25,1.000000)
priorMatchScore(14,26,1.000000)
priorMatchScore(14,27,1.000000)
priorMatchScore(14,28,1.000000)
priorMatchScore(15,29,1.000000)
hasRelatedness(21,23,1.000000)
hasRelatedness(22,23,1.000000)
hasRelatedness(22,24,0.440524)
hasRelatedness(22,25,0.425840)
hasRelatedness(22,26,0.226393)
hasRelatedness(22,27,0.263207)
hasRelatedness(23,29,0.854583)
hasRelatedness(24,29,0.816012)
hasRelatedness(26,29,0.532818)
hasRelatedness(27,29,0.569732)
hasRelatedness(28,29,0.713400)
isTypeCompatible(21,23,1_1)
isTypeCompatible(22,23,1_1)
isTypeCompatible(22,23,1_2)
isTypeCompatible(22,24,1_2)
isTypeCompatible(22,25,1_1)
isTypeCompatible(22,26,1_1)
isTypeCompatible(22,26,1_2)
isTypeCompatible(22,27,1_2)
isTypeCompatible(23,29,2_1)
isTypeCompatible(24,29,2_1)
isTypeCompatible(26,29,2_1)
isTypeCompatible(27,29,2_1)
isTypeCompatible(28,29,2_1)
hasQueryResult(21,23,29,1_1,2_1)
hasQueryResult(22,23,29,1_1,2_1)
hasQueryResult(22,26,29,1_1,2_1)
可理解,观察谓词的值为1,即表示对应的命题为真。
例如,其中,phraseIndex(11,3,3)的值为1,表示“第一候选短语actors 在问句中的起始位置i和结束位置j均为3”这一命题为真。其中,11为候选 短语“actors”的短语标识,如表一所示。
其中,phrasePosTag(13,vb)的值为1,表示“第一候选短语bornin的主 要词为born,其词性vb”这一命题为真。其中,13为候选短语“bornin”的 短语标识,如表一所示。
其中,phraseDepTag(13,15,pobj)的值为1,表示“第一候选短语bornin 和第一候选短语Berlin依存路径上的标签为pobj”这一命题为真。其中,13 为候选短语“bornin”的短语标识,15为候选短语“Berlin”的短语标识,如 表一所示。
上述其他的观察谓词的值为1的表达式的含义可以参照上述解释,为避 免重复,这里不再赘述。
可理解,还包括观察谓词的值为0的表达式,为节省篇幅,这里不再罗 列。
可选地,本发明实施例中,也可以用谓词resource表示资源项的标识。
例如,结合表二可知,以下谓词的值为1:
resource(21,dbo:Actor)
resource(22,dbo:Person)
resource(23,dbo:birthPlace)
resource(24,dbo:headquarter)
resource(25,dbo:league)
resource(26,dbo:location)
resource(27,dbo:ground)
resource(28,dbo:locationCity)
resource(29,dbr:Berlin)
可理解,本发明实施例中,102和103中所确定的第一候选短语和第一 资源项是有歧义的。本发明实施例通过不确定性推理来消除所述第一候选短 语和所述第一资源项的歧义。
不确定性推理是根据不确定性信息作出推理和决策。不确定性推理网络 可以处理不完整的和带有噪音的数据集,用概率测度的权重来描述数据间的 相关性,旨在解决数据的不一致性和不确定性。
本发明实施例中,105中的不确定性推理所使用的模型可以为如下的任 意一种:贝叶斯网络(BayesianNetwork)、似然关系模型(Probabilisticrelational models)、贝叶斯逻辑程序模型(Bayesianlogicprograms)、关系马尔科夫网 (RelationalMarkovNetwork)、马尔科夫逻辑网(MarkovLogicNetwork)、 概率软化逻辑(ProbabilisticSoftLogic)。本发明对此不作限定。
可选地,本发明实施例中,105中的不确定性推理是基于马尔科夫逻辑 网络(MarkovLogicNetwork,MLN)的,其中,所述MLN包括预定义的一 阶公式以及所述一阶公式的权重。也就是说,不确定性推理所使用的模型为 MLN。
可选地,本发明实施例中,一阶公式可以包括布尔公式(Boolean formulas)和加权公式(weightedformulas)。其中,布尔公式的权重为+∞, 布尔公式可以理解为一阶逻辑中的一阶逻辑公式,表示硬规则(hard constraints),也可以称为硬公式(hardformulas,hf),是所有的闭原子必须 满足的限制条件。加权公式的权重为加权公式权重,是软规则(soft constraints),也可以称为软公式(softformulas,sf),闭原子可以以某种惩罚 违法。
其中,一阶公式是由一阶谓词、逻辑联结词和变量所组成的。其中,一 阶谓词可以包括前述的观察谓词和隐含谓词。
应注意,本发明实施例中,MLN也可以包括二阶公式、一阶公式、所述 二阶公式的权重、以及所述一阶公式的权重。或者,MLN也可以包括更高阶 的公式及权重,本发明对此不作限定。
具体地,布尔公式如表四所示。其中,符号“_”表示逻辑变量中的任意 常量。|·|表示公式中为真的闭原子的个数。
表四
具体地,表四中的含义如下:
hf1:表示如果一个短语p被选中,那么该短语p至少映射到一个资源项。
hf2:表示如果一个短语p到资源项的映射被选中,那么该短语p必须被 选中。
hf3:表示一个短语p只能映射到一个资源项。
hf4:表示如果一个短语p没有被选中,那么任何一个短语p到资源项的 映射关系都不被选中。
hf5:表示如果一个短语到资源项r的映射被选中,那么,该资源项r至 少与其他的一个资源项有关系。
hf6:表示两个资源项r1和r2只能有一个参数匹配关系。
hf7:表示如果两个资源项r1和r2存在参数匹配关系,那么,至少有一 个短语到资源项r1的映射被选中且至少有一个短语到资源项r2的映射被选 中。
hf8:表示任意两个被选中的短语没有重叠。这里的重叠可以用在问句中 的位置表征。
hf9、hf10、hf11、hf12:表示如果一个资源项r的类型为实体或类别, 那么,该资源项r不能有第二个参数与其他资源项对齐。
hf13:表示两个资源项r1和r2之间的参数匹配关系必须一致。
可理解,表四中,逻辑联结词“∧”表示与(and),逻辑联结词“∨” 表示或(or),逻辑联结词“!”表示非(not)。
具体地,加权公式如表五所示。其中,符号“+”表示逻辑变量的每个常 数都应该单独设置权重。
表五
具体地,表五中的含义如下:
sf1、sf2:表示短语p映射到资源项r的先验匹配得分s越大,短语p和 资源项r被选中的概率越大。
sf3:表示短语p的主要词的词性与该短语p映射到的资源项r的类型有 某种关联。
sf4、sf5、sf6:表示两个短语p1和p2之间的依存路径上的标签与两个 资源项r1和r2之间的参数匹配关系有某种关联,其中,短语p1映射到资源 项r1,短语p2映射到资源项r2。
sf7:表示两个资源项r1和r2之间的相关性值越大,这两个资源项r1和 r2之间有参数匹配关系的可能性越大。
sf8:表示如果一个资源项三元组存在查询结果,那么,这三个资源项之 间应该具有相应的参数匹配关系。
应注意,本发明实施例中,加权公式权重可以是人工设置的。例如,可 以是由知识库的管理者或专家预设置的经验值。
本发明实施例中,加权公式权重也可以是通过学习的方法,经过训练所 得到的。
可理解,对于不同的知识库,加权公式权重一般不同。本发明实施例中, 表四所示的布尔公式可以理解为所有的知识库满足的通用的规则。表五所示 的加权公式可以理解为针对不同的知识库,加权公式权重不同的特定的规则。
本发明实施例中,也可以将布尔公式和加权公式统称为“元规则”。即, “元规则”是适用于不同的领域的知识库的规则。
本发明实施例中,105也可以称为推理(Inference)或联合推理(joint Inference)或联合消歧(jointdisambiguation)。具体地,可以使用thebeast工 具进行联合推理。可选地,对所述问句分析空间中的每一个命题集合,可以 根据所述观察谓词的值和所述隐含谓词的值,,采用切平面方法(cuttingplane method或cuttingplaneapproach),计算所述每一个命题集合的置信度。具体 地,thebeast工具可以参见:https://code.google.com/p/thebeast/。
可理解,置信度也可以称为可信度。并且,可以采用无向图模型的极大 似然估计,计算所述每一个命题集合的置信度。
可选地,所述MLN表示为M,所述一阶公式表示为φi,所述一阶公式 的权重表示为wi,所述命题集合表示为y,那么,105可以为:
根据计算所述每一个命题集合的置信 度。
其中,Z为归一化常数,为与一阶公式φi对应的子公式的集合,c为 的所述子公式的集合中的一个子公式,为二值函数,表示在所 述命题集合y下,所述一阶公式的真假。
其中,二值函数(binaryfeaturefunction)的值为1或0。具体地,在 所述命题集合y下,当子公式c为真时,为1。否则为0。
可选地,在105中可以设置一个最大循环次数。例如,该最大循环次数 为100。
这样,在105中计算每一个命题集合的置信度之后,可以得到与可能的 问句分析空间对应的置信度集合,并且所述置信度集合中的每一个置信度对 应一个命题集合。
进一步地,在106中,可以从可能的问句分析空间的多个命题集合中选 择一个或者几个命题集合,并且所选择的一个或者几个命题集合的置信度满 足预设条件。
可选地,在106中,可以确定置信度的值最大的一个命题集合,并获取 所述置信度的值最大的一个命题集合中的真命题的组合。
或者,可选地,在106中,可以确定置信度的值最大的多个命题集合, 并获取所述置信度的值最大的多个命题集合中的真命题的组合。本发明对此 不作限定。
由于命题集合中的命题的真假由隐含谓词的值来表征,那么,可理解, 在106中获取真命题的组合,即获取隐含谓词的值为1的组合。并且,所述 真命题用于表示从所述第一候选短语中所选中的搜索短语、从所述第一资源 项中所选中的搜索资源项和所述搜索资源项的特征。
例如,对问句“GivemeallactorswhowereborninBerlin.”,所确定的隐 含谓词的值为1的表达式如下:
hasphrase(11)
hasphrase(13)
hasphrase(15)
hasResource(11,21)
hasResource(13,23)
hasResource(15,29)
hasRelation(21,23,1_1)
hasRelation(23,29,2_1)
进一步地,可以在107生成形式化查询语句。可选地,形式化查询语句 可以为SQL。或者,本发明实施例中,形式化查询语句可以为SPARQL,相 应地,107也可以称为SPARQL生成(SPARQLGeneration)的过程。
可选地,107可以为:根据所述真命题的组合,利用SPARQL模板生成 所述SPARQL。
具体地,可利用所述真命题的组合,构建SPARQL的三元组,进一步, 利用SPARQL模板生成SPARQL。
具体地,自然语言问句可以分为三类:Yes/No,Number和Normal。相 应地,SPARQL模板也包括ASKWHERE模板、SELECTCOUNT(?url) WHERE模板和SELECT?urlWHERE模板。
那么,当所述问句为Yes/No问题时,根据所述真命题的组合,使用ASK WHERE模板生成所述SPARQL。
当所述问句为Normal问题时,根据所述真命题的组合,使用SELECT?url WHERE模板生成所述SPARQL。
当所述问句为Number问题时,根据所述真命题的组合,使用 SELECT?urlWHERE模板生成所述SPARQL,或者,当使用SELECT?url WHERE模板生成的SPARQL无法得到数值型答案时,使用SELECT COUNT(?url)WHERE模板生成所述SPARQL。
例如,问句“GivemeallactorswhowereborninBerlin.”为Normal问题, 所生成的SPARQL为:
SELECT?urlWHERE{
?xrdf:typedbo:Actor.
?xdbo:birthplacedbr:Berlin.
}
可选地,107可包括:根据所述真命题的组合,生成查询资源图,其中, 所述查询资源图包括顶点和边,所述顶点包括所述搜索短语、所述搜索资源 项,并且,每个顶点中所述搜索短语映射到该顶点中所述搜索资源项。所述 边表示相连的两个顶点中两个所述搜索资源项之间的参数匹配关系;进一步 根据所述查询资源图生成所述SPARQL。
具体地,可以将所述查询资源图中相互连接的三个所述搜索资源项,作 为所述SPARQL的三元组,其中,位于所述相互连接的三个所述搜索资源项 的中间的搜索资源项的类型为关系。
这样,本发明实施例中,可以将自然语言问句转化为SPARQL。并且所 采用的预定义的一阶公式是领域无关的,即预定义的布尔公式和加权公式可 以运用于所有的知识库,具有可扩展性。也就是说,采用本发明实施例所提 供的方法,无需人工地设置转换规则。
举例来说,如图3所示,是本发明的问句解析的一例。
301,接收用户输入的问句。假设该问句为自然语言问句:“Which softwarehasbeendevelopedbyorganizationfoundedinCalifornia,USA?”
302,对301输入的问句进行短语检测(phrasedetection),确定第一候选 短语。
具体地,302可以参见前述实施例中的102,为避免重复,这里不再赘述。
例如,所确定的第一候选短语包括:software,developed,developedby, organizations,foundedin,founded,California,USA。
303,对302中所确定的第一候选短语进行短语映射(phrasemapping), 将第一候选短语映射到第一资源项。
具体地,303可以参见前述实施例中的103,为避免重复,这里不再赘述。
例如,将第一候选短语software映射到:dbo:Software,dbr:Software等。 这里不再一一罗列。
304,通过特征提取(featureextraction),确定观察谓词的值,并构建可 能的问句分析空间。
具体地,304可以参见前述实施例中的104,为避免重复,这里不再赘述。
应注意,这里不再一一罗列。
305,通过联合推理(Inference),计算所述每一个命题集合的置信度, 并获取所述置信度满足预设条件的命题集合中的真命题的组合。
具体地,305可以参见前述实施例中的105和106,为避免重复,这里不 再赘述。
其中,所述真命题的组合即其中隐含谓词的值为1的组合。
例如,所确定的隐含谓词的值为1的表达式为
hasPhrase(software),
hasPhrase(developedby),
hasPhrase(organizations),
hasPhrase(foundedin),
hasPhrase(California);
hasResource(software,dbo:Software),
hasResource(developedby,dbo:developer),
hasResource(California,dbr:California),
hasResource(organizations,dbo:Company),
hasResource(foundedin,dbo:foundationPlace);
hasRelation(dbo:Software,dbo:developer,1_1),
hasRelation(dbo:developer,dbo:Company,2_1),
hasRelation(dbo:Company,dbo:foundationPlace,1_1),
hasRelation(dbo:foundationPlace,dbr:California,2_1)。
306,生成资源项查询图。
具体地,该资源项查询图也可以称为语义项查询图(SemanticItemsQuery Graph)。
具体地,资源项查询图中的顶点可包括:搜索资源项、搜索资源项的类 型、映射到所述搜索资源项的搜索短语在问句中的位置。
具体地,资源项查询图中的边包括:所述边相连的两个顶点中的两个搜 索资源项之间的参数匹配关系。
应注意,资源项查询图中搜索资源项之间的关系是二元关系。
可选地,资源项查询图中的顶点可包括:搜索短语,搜索资源项、搜索 资源项的类型、映射到所述搜索资源项的搜索短语、以及所述搜索短语在问 句中的位置。如图4是资源项查询图的另一例。包括顶点311至315。
其中,顶点311包括:搜索资源项dbo:Software、搜索资源项的类型Class、 搜索短语Software和搜索短语在问句中的位置11。其中,搜索短语Software 映射到搜索资源项dbo:Software。
其中,顶点312包括:搜索资源项dbo:developer、搜索资源项的类型 Relation、搜索短语developedby和搜索短语在问句中的位置45。其中,搜 索短语Software映射到搜索资源项dbo:Software。
其中,顶点313包括:搜索资源项dbo:Company、搜索资源项的类型Class、 搜索短语organizations和搜索短语在问句中的位置66。其中,搜索短语 organizations映射到搜索资源项dbo:Company。
其中,顶点314包括:搜索资源项dbo:foundationPlace、搜索资源项的类 型Relation、搜索短语foundedin和搜索短语在问句中的位置78。其中,搜 索短语foundedin映射到搜索资源项dbo:foundationPlace。
其中,顶点315包括:搜索资源项dbr:California、搜索资源项的类型 Entity、搜索短语California和搜索短语在问句中的位置99。其中,搜索短语 California映射到搜索资源项dbr:California。
其中,顶点311与顶点312之间的边1_1表示搜索资源项dbo:Software 与搜索资源项dbo:developer之间的参数匹配关系为1_1。
其中,顶点312与顶点313之间的边2_1表示搜索资源项dbo:developer 与搜索资源项dbo:Company之间的参数匹配关系为2_1。
其中,顶点313与顶点314之间的边1_1表示搜索资源项dbo:Company 与搜索资源项dbo:foundationPlace之间的参数匹配关系为1_1。
其中,顶点315与顶点314之间的边1_2表示搜索资源项dbr:California 与搜索资源项dbo:foundationPlace之间的参数匹配关系为1_2。
307,SPARQL生成(SPARQLgenaration)。
具体地,将资源项查询图中的二元关系转换为三元关系。
也就是,将资源项查询图中相互连接的三个搜索资源项,具有三元关系, 并且,位于所述相互连接的三个搜索资源项的中间的搜索资源项的类型为关 系。
例如,301中的自然语言问句为Normal问题,使用SELECT?urlWHERE 模板,所生成的SPARQL为:
SELECT?urlWHERE{
?url_answerrdf:typedbo:Software
?url_answerdbo:developer?x1
?x1rdf:typedbo:Company
?x1dbo:foundationPlacedbr:California
}
这样,本发明实施例中,可以将自然语言问句转化为SPARQL。并且所 采用的预定义的一阶公式是领域无关的,即预定义的布尔公式和加权公式可 以运用于所有的知识库,具有可扩展性。也就是说,采用本发明实施例所提 供的方法,无需人工地设置转换规则。
并且,可理解,本发明实施例中,预定义的布尔公式和加权公式是语言 无关的,即具有语言扩展性。例如,既可以用于英文知识库,也可以用于中 文知识库。
如前所述,本发明实施例中,105中不确定性推理可以基于MLN。其中, 所述MLN包括预定义的一阶公式以及所述一阶公式的权重。
可选地,所述一阶公式可以包括布尔公式和加权公式。布尔公式的权重 为+∞,加权公式的权重为加权公式权重。其中,加权公式权重可以是通过学 习的方法,经过训练所得到的。那么,可理解,在101之前,如图5所示, 还可包括:
401,从所述知识库中获取多个自然语言问句。
402,对所述多个自然语言问句进行短语检测,以确定所述多个自然语言 问句的第二候选短语。
403,将所述第二候选短语映射到所述知识库中的第二资源项,其中,所 述第二资源项与所述第二候选短语具有一致的语义。
404,根据所述第二候选短语和所述第二资源项,确定与所述多个自然语 言问句对应的观察谓词的值。
405,获取人工标注的与所述多个自然语言问句对应的隐含谓词的值。
406,根据与所述多个自然语言问句对应的观察谓词的值、与所述多个自 然语言问句对应的隐含谓词的值和所述一阶公式,构建无向图,通过训练确 定所述一阶公式的权重。
这样,本发明实施例中,基于预定义的一阶公式,能够通过学习的方法, 确定针对知识库的一阶公式的权重,并可以作为针对知识库的转换规则。这 样,无需人工设置转换规则,并且预定义的马尔科夫逻辑网络MLN的一阶 公式具有可扩展性,能够应用与任何的知识库。
具体地,问答系统知识库包括问题库,问题库中包括多个自然语言问句。 那么,401中可以是从问答系统知识库中的问题库获取多个自然语言问句。 本发明实施例对多个自然语言问句的数目不作限定。例如,多个自然语言问 句可以为1千个自然语言问句。
例如,可以从关联数据问答系统(QuestionAnsweringoverLinkedData, QALD)的问题库Q1的训练集(trainingset)获取110个自然语言问题。
本发明实施例中,402的过程可以参见前述实施例的102的过程,403 的过程可以参见前述实施例的103的过程,404的过程可以参见前述实施例 的104的过程。为避免重复,这里不再赘述。这样,针对401中的多个自然 语言问句,能够确定与所述多个自然语言文件分别对应的观察谓词的值。
可理解,在405之前,需人工地标注所述多个自然语言问句中每个自然 语言问句对应的隐含谓词的值,也就是说,405中所获取的与所述多个自然 语言问句对应的隐含谓词的值是人工标注的(hand-labeled)。
可选地,一阶公式包括布尔公式和加权公式。布尔公式的权重为+∞,加 权公式的权重为加权公式权重。那么,405中人工标注的隐含谓词的值满足 所述布尔公式。相应地,406中,通过训练确定所述一阶公式的权重,即通 过训练确定所述加权公式权重。其中,无向图可以包括马尔科夫网络(Markov Network,MN)。
可选地,406中,可以根据与所述多个自然语言问句对应的观察谓词的 值、与所述多个自然语言问句对应的隐含谓词的值和所述一阶公式,采用差 额注入松弛算法(MarginInfusedRelaxedAlgorithm,MIRA),确定所述一阶 公式的权重。
具体地,在406中,可以使用thebeast工具学习加权公式权重。在参数 学习的过程中,可以先将加权公式权重初始化为0,再使用MIRA更新所述 加权公式权重。可选地,在训练的过程中,还可以设置训练的最大循环次数, 例如训练的最大循环次数为10。
举例来说,表五中的sf3的加权公式权重可如表六所示。从表六可以看 出,候选短语的主要词的词性为nn时,该候选短语映射到类型为E的资源项 的可能性比较大。
表六
这样,通过图5所示的实施例,可以确定任何一个知识库的加权公式权 重,从而可以得到针对任何一个知识库的转换规则。
可理解,本发明实施例中,确定一阶公式的权重的方法是一种数据驱动 的方式,可以适用于不同的知识库。在大大减少人力的情况下,可以提高知 识库的问答解析的效率。
应理解,本发明实施例中,也可以根据所构建的无向图,进行结构学习, 进而学习到二阶公式甚至更高阶的公式,进一步根据所学习到的二阶公式或 更高阶的公式构建新的无向图,并学习二阶公式或更高阶的公式所对应的权 重。本发明对此不作限定。
图6是本发明一个实施例的问句解析的设备的框图。图6所示的设备500 包括:接收单元501、短语检测单元502、映射单元503、第一确定单元504、 第二确定单元505、获取单元506、和生成单元507。
接收单元501,用于接收用户输入的问句。
短语检测单元502,用于对所述接收单元501接收的所述问句进行短语 检测,以确定第一候选短语。
映射单元503,用于将所述短语检测单元502确定的所述第一候选短语 映射到知识库中的第一资源项,其中,所述第一资源项与所述第一候选短语 具有一致的语义。
第一确定单元504,用于根据所述第一候选短语和所述第一资源项,确 定观察谓词的值和可能的问句分析空间,其中,所述观察谓词用于表示所述 第一候选短语的特征、所述第一资源项的特征和所述第一候选短语与所述第 一资源项的关系,所述可能的问句分析空间中的点为命题集合,所述命题集 合中的命题的真假由隐含谓词的值表征。
第二确定单元505,用于对所述可能的问句分析空间中的每一个命题集 合,根据第一确定单元504确定所述观察谓词的值和所述隐含谓词的值,进 行不确定性推理,计算所述每一个命题集合的置信度。
获取单元506,用于获取所述置信度满足预设条件的命题集合中的真命 题的组合,其中,所述真命题用于表示从所述第一候选短语中所选中的搜索 短语、从所述第一资源项中所选中的搜索资源项和所述搜索资源项的特征。
生成单元507,用于根据所述获取单元506获取的所述真命题的组合, 生成形式化查询语句。
本发明实施例利用观察谓词和隐含谓词,进行不确定性推理,能够将自 然语言问句转化为形式化查询语句。并且,本发明实施例中,不确定性推理 的方法能够应用于任何领域的知识库,具有领域扩展性,这样无需针对知识 库人工地配置转换规则。
可选地,作为一个实施例,所述不确定性推理基于马尔科夫逻辑网络 MLN,所述MLN包括预定义的一阶公式以及所述一阶公式的权重。
可选地,作为另一个实施例,
所述获取单元506,还用于从所述知识库中获取多个自然语言问句;
所述短语检测单元502,还用于对所述获取单元506接收的所述问句进 行短语检测,以确定第一候选短语;
所述映射单元503,还用于将所述第二候选短语映射到所述知识库中的 第二资源项,其中,所述第二资源项与所述第二候选短语具有一致的语义;
所述第一确定单元504,还用于根据所述第二候选短语和所述第二资源 项,确定与所述多个自然语言问句对应的观察谓词的值;
所述获取单元506,还用于获取人工标注的与所述多个自然语言问句对 应的隐含谓词的值;
所述第二确定单元505,还用于根据与所述多个自然语言问句对应的观 察谓词的值、与所述多个自然语言问句对应的隐含谓词的值和所述一阶公式, 构建无向图,通过训练确定所述一阶公式的权重。
可选地,作为另一个实施例,所述一阶公式包括布尔公式和加权公式, 所述布尔公式的权重为+∞,所述加权公式的权重为加权公式权重,所述人工 标注的与所述多个自然语言问句对应的隐含谓词的值满足所述布尔公式,所 述第二确定单元505,具体用于:根据与所述多个自然语言问句对应的观察 谓词的值、与所述多个自然语言问句对应的隐含谓词的值和所述一阶公式, 构建无向图,通过训练确定所述加权公式权重。
可选地,作为另一个实施例,所述第二确定单元505,具体用于:根据 与所述多个自然语言问句对应的观察谓词的值、与所述多个自然语言问句对 应的隐含谓词的值和所述一阶公式,构建无向图,采用差额注入松弛算法 MIRA,确定所述一阶公式的权重。
可选地,作为另一个实施例,所述MLN表示为M,所述一阶公式表示 为φi,所述一阶公式的权重表示为wi,所述命题集合表示为y,第二确定单元 505,具体用于:
根据计算所述每一个命题集合的置信 度,其中,Z为归一化常数,为与一阶公式φi对应的子公式的集合,c为 的所述子公式的集合中的一个子公式,为二值函数,表示在所 述命题集合y下,所述一阶公式的真假。
可选地,作为另一个实施例,获取单元506,具体用于:确定所述置信 度的值最大的命题集合,并获取所述置信度的值最大的命题集合中的真命题 的组合。
可选地,作为另一个实施例,
所述第一候选短语的特征包括所述第一候选短语在所述问句中的位置、 所述第一候选短语的主要词的词性、所述第一候选短语两两之间的依存路径 上的标签,
所述第一资源项的特征包括所述第一资源项的类型、所述第一资源项两 两之间的相关性值、所述第一资源项两两之间的参数匹配关系,
所述第一候选短语与所述第一资源项的关系包括所述第一候选短语与所 述第一资源项的先验匹配得分,
所述第一确定单元504,具体用于:
确定所述第一候选短语在所述问句中的位置;
采用stanford词性标注工具,确定所述第一候选短语的主要词的词性;
采用stanford依存句法分析工具,确定所述第一候选短语两两之间的依 存路径上的标签;
从所述知识库中确定所述第一资源项的类型,其中,所述类型为实体或 类别或关系;
从所述知识库中确定所述第一资源项两两之间的参数匹配关系;
将所述第一资源项两两之间的相似性系数,作为所述两个第一资源项两 两之间的相关性值;
计算所述第一候选短语与所述第一资源项之间的先验匹配得分,所述先 验匹配得分用于表示所述第一候选短语映射到所述第一资源项的概率。
可选地,作为另一个实施例,所述形式化查询语句为简单协议资源描述 框架查询语句SPARQL。
可选地,作为另一个实施例,所述生成单元507,具体用于:
根据所述真命题的组合,利用SPARQL模板生成所述SPARQL。
可选地,作为另一个实施例,所述SPARQL模板包括ASKWHERE模板、 SELECTCOUNT(?url)WHERE模板和SELECT?urlWHERE模板,
所述生成单元507,具体用于:
当所述问句为Yes/No问题时,根据所述真命题的组合,使用所述ASK WHERE模板生成所述SPARQL;
当所述问句为Normal问题时,根据所述真命题的组合,使用所述 SELECT?urlWHERE模板生成所述SPARQL;
当所述问句为Number问题时,根据所述真命题的组合,使用所述 SELECT?urlWHERE模板生成所述SPARQL,或者,当使用所述SELECT?url WHERE模板生成的SPARQL无法得到数值型答案时,使用所述SELECT COUNT(?url)WHERE模板生成所述SPARQL。
可选地,作为另一个实施例,所述短语检测单元502,具体用于:
将所述问句中的词序列作为所述第一候选短语,其中,所述词序列满足:
所述词序列中所有连续的非停用词都以大写字母开头,或者,若所述词 序列中所有连续的非停用词不都以大写字母开头,则所述词序列的长度小于 四;
所述词序列的主要词的词性为jj或nn或rb或vb,其中,jj为形容词, nn为名词,rb为副词,vb为动词;
所述词序列所包括的词不全为停用词。
可选地,作为另一个实施例,设备500可以是知识库的服务器。
设备500能够实现图1至图5的实施例中由设备实现的各个过程,为避 免重复,这里不再赘述。
图7是本发明另一个实施例的问句解析的设备的框图。图7所示的设备 600包括:处理器601、接收电路602、发送电路603和存储器604。
接收电路602,用于接收用户输入的问句。
处理器601,用于对所述接收电路602接收的所述问句进行短语检测, 以确定第一候选短语。
处理器601,还用于将所述第一候选短语映射到知识库中的第一资源项, 其中,所述第一资源项与所述第一候选短语具有一致的语义。
处理器601,还用于根据所述第一候选短语和所述第一资源项,确定观 察谓词的值和可能的问句分析空间,其中,所述观察谓词用于表示所述第一 候选短语的特征、所述第一资源项的特征和所述第一候选短语与所述第一资 源项的关系,所述可能的问句分析空间中的点为命题集合,所述命题集合中 的命题的真假由隐含谓词的值表征。
处理器601,还用于对所述可能的问句分析空间中的每一个命题集合, 根据第一确定单元504确定所述观察谓词的值和所述隐含谓词的值,进行不 确定性推理,计算所述每一个命题集合的置信度。
接收电路602,还用于获取所述置信度满足预设条件的命题集合中的真 命题的组合,其中,所述真命题用于表示从所述第一候选短语中所选中的搜 索短语、从所述第一资源项中所选中的搜索资源项和所述搜索资源项的特征。
处理器601,还用于根据所述真命题的组合,生成形式化查询语句。
本发明实施例利用观察谓词和隐含谓词,进行不确定性推理,能够将自 然语言问句转化为形式化查询语句。并且,本发明实施例中,不确定性推理 的方法能够应用于任何领域的知识库,具有领域扩展性,这样无需针对知识 库人工地配置转换规则。
设备600中的各个组件通过总线系统605耦合在一起,其中总线系统605 除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为 了清楚说明起见,在图7中将各种总线都标为总线系统605。
上述本发明实施例揭示的方法可以应用于处理器601中,或者由处理器 601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在 实现过程中,上述方法的各步骤可以通过处理器1001中的硬件的集成逻辑电 路或者软件形式的指令完成。上述的处理器1001可以是通用处理器、数字信 号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组 件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。 通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结 合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完 成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位 于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程 存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器604, 处理器601读取存储器604中的信息,结合其硬件完成上述方法的步骤。
可以理解,本发明实施例中的存储器604可以是易失性存储器或非易失 性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器 可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器 (ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM, EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或 闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM), 其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可 用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器 (DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM, SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM, SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。 本文描述的系统和方法的存储器604旨在包括但不限于这些和任意其它适合 类型的存储器。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间 件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个 专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、数字信号处 理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice, DSPD)、可编程逻辑设备(ProgrammableLogicDevice,PLD)、现场可编程 门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微 控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
当在软件、固件、中间件或微码、程序代码或代码段中实现实施例时, 它们可存储在例如存储部件的机器可读介质中。代码段可表示过程、函数、 子程序、程序、例程、子例程、模块、软件分组、类、或指令、数据结构或 程序语句的任意组合。代码段可通过传送和/或接收信息、数据、自变量、参 数或存储器内容来稿合至另一代码段或硬件电路。可使用包括存储器共享、 消息传递、令牌传递、网络传输等任意适合方式来传递、转发或发送信息、 自变量、参数、数据等。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等) 来实现本文所述的技术。软件代码可存储在存储器单元中并通过处理器执行。 存储器单元可以在处理器中或在处理器外部实现,在后一种情况下存储器单 元可经由本领域己知的各种手段以通信方式耦合至处理器。
可选地,作为一个实施例,所述不确定性推理基于马尔科夫逻辑网络 MLN,所述MLN包括预定义的一阶公式以及所述一阶公式的权重。
本发明实施例中,存储器604可用于存储资源项、以及资源项的类型等。 存储器604还可用于存储所述一阶公式。存储器604还可用于存储SPARQL 模板。
可选地,作为另一个实施例,
所述接收电路602,还用于从所述知识库中获取多个自然语言问句;
所述处理器601,还用于对所述问句进行短语检测,以确定第一候选短 语;
所述处理器601,还用于将所述第二候选短语映射到所述知识库中的第 二资源项,其中,所述第二资源项与所述第二候选短语具有一致的语义;
所述处理器601,还用于根据所述第二候选短语和所述第二资源项,确 定与所述多个自然语言问句对应的观察谓词的值;
所述接收电路602,还用于获取人工标注的与所述多个自然语言问句对 应的隐含谓词的值;
所述处理器601,还用于根据与所述多个自然语言问句对应的观察谓词 的值、与所述多个自然语言问句对应的隐含谓词的值和所述一阶公式,构建 无向图,通过训练确定所述一阶公式的权重。
可选地,作为另一个实施例,所述一阶公式包括布尔公式和加权公式, 所述布尔公式的权重为+∞,所述加权公式的权重为加权公式权重,所述人工 标注的与所述多个自然语言问句对应的隐含谓词的值满足所述布尔公式,
所述处理器601,具体用于:根据与所述多个自然语言问句对应的观察 谓词的值、与所述多个自然语言问句对应的隐含谓词的值和所述一阶公式, 构建无向图,通过训练确定所述加权公式权重。
可选地,作为另一个实施例,所述处理器601,具体用于:
根据与所述多个自然语言问句对应的观察谓词的值、与所述多个自然语 言问句对应的隐含谓词的值和所述一阶公式,构建无向图,采用差额注入松 弛算法MIRA,确定所述一阶公式的权重。
可选地,作为另一个实施例,所述MLN表示为M,所述一阶公式表示 为φi,所述一阶公式的权重表示为wi,所述命题集合表示为y,处理器601, 具体用于:
根据计算所述每一个命题集合的置信 度,其中,Z为归一化常数,为与一阶公式φi对应的子公式的集合,c为 的所述子公式的集合中的一个子公式,为二值函数,表示在所 述命题集合y下,所述一阶公式的真假。
可选地,作为另一个实施例,接收电路602,具体用于:确定所述置信 度的值最大的命题集合,并获取所述置信度的值最大的命题集合中的真命题 的组合。
可选地,作为另一个实施例,
所述第一候选短语的特征包括所述第一候选短语在所述问句中的位置、 所述第一候选短语的主要词的词性、所述第一候选短语两两之间的依存路径 上的标签,
所述第一资源项的特征包括所述第一资源项的类型、所述第一资源项两 两之间的相关性值、所述第一资源项两两之间的参数匹配关系,
所述第一候选短语与所述第一资源项的关系包括所述第一候选短语与所 述第一资源项的先验匹配得分,
所述处理器601,具体用于:
确定所述第一候选短语在所述问句中的位置;
采用stanford词性标注工具,确定所述第一候选短语的主要词的词性;
采用stanford依存句法分析工具,确定所述第一候选短语两两之间的依 存路径上的标签;
从所述知识库中确定所述第一资源项的类型,其中,所述类型为实体或 类别或关系;
从所述知识库中确定所述第一资源项两两之间的参数匹配关系;
将所述第一资源项两两之间的相似性系数,作为所述两个第一资源项两 两之间的相关性值;
计算所述第一候选短语与所述第一资源项之间的先验匹配得分,所述先 验匹配得分用于表示所述第一候选短语映射到所述第一资源项的概率。
可选地,作为另一个实施例,所述形式化查询语句为简单协议资源描述 框架查询语句SPARQL。
可选地,作为另一个实施例,所述处理器601,具体用于:
根据所述真命题的组合,利用SPARQL模板生成所述SPARQL。
可选地,作为另一个实施例,所述SPARQL模板包括ASKWHERE模板、 SELECTCOUNT(?url)WHERE模板和SELECT?urlWHERE模板,
所述处理器601,具体用于:
当所述问句为Yes/No问题时,根据所述真命题的组合,使用所述ASK WHERE模板生成所述SPARQL;
当所述问句为Normal问题时,根据所述真命题的组合,使用所述 SELECT?urlWHERE模板生成所述SPARQL;
当所述问句为Number问题时,根据所述真命题的组合,使用所述 SELECT?urlWHERE模板生成所述SPARQL,或者,当使用所述SELECT?url WHERE模板生成的SPARQL无法得到数值型答案时,使用所述SELECT COUNT(?url)WHERE模板生成所述SPARQL。
可选地,作为另一个实施例,所述处理器601,具体用于:
将所述问句中的词序列作为所述第一候选短语,其中,所述词序列满足:
所述词序列中所有连续的非停用词都以大写字母开头,或者,若所述词 序列中所有连续的非停用词不都以大写字母开头,则所述词序列的长度小于 四;
所述词序列的主要词的词性为jj或nn或rb或vb,其中,jj为形容词, nn为名词,rb为副词,vb为动词;
所述词序列所包括的词不全为停用词。
可选地,作为另一个实施例,设备600可以是知识库的服务器。
设备600能够实现图1至图5的实施例中由设备实现的各个过程,为避 免重复,这里不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各 示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结 合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特 定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方 法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和 方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示 意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可 以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个 系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合 或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用 时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的 技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可 以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者 网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的 存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、 随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可 以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限 于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应以权利要求的保护范围为准。
机译: 知识库中疑问句的解析方法和装置
机译: 知识库中疑问句的解析方法和装置
机译: 知识库中疑问句的解析方法和装置