1.本发明涉及一种精准查询方法及系统,尤其涉及一种基于知识图谱提问的精准查询方法及系统。
背景技术:2.人类社会进入信息时代以来,人类拥有的数据呈指数级别增长。特别是互联网和移动互联网的发展,更加速了数据爆炸的趋势。然而,人们查询数据的语言已经有多年没有进步,最常用的数据查询语言仍是1974年由boyce和chamberlin提出的sql语言,sql语言算是专业的关系数据库查询语言,但是除了程序员和数据库管理员外,基本上很少用户能够掌握。
3.近年来,在google公司的引领之下,知识图谱领域有了较大进展,知识图谱中的知识和数据在数量和质量上都有了很大提升。但是,知识图谱的查询语言仍然是用户使用中的重要瓶颈,知识图谱领域常用的sparql语言于2008年首次面世,复杂性与sql语言基本相当。用于图数据库的cypher查询语言,于2011年面世,和sparql难度差不多,对普通人来说,仍然很难掌握。现有技术中,针对知识图谱的查询未出现引用提问式的查询方式,使用查询不方便,影响知识图谱信息查询精确程度。
技术实现要素:4.本发明解决的技术问题是:构建一种基于知识图谱提问的精准查询方法及系统,克服现有技术针对知识图谱的查询未使用提问式的查询方式影响查询方便及知识图谱信息查询精确程度的技术问题。
5.本发明的技术方案是:构建一种基于知识图谱提问的精准查询方法,包括如下步骤:
6.构建知识图谱结构:将已获取的信息变换为spo事实语句的格式,即,s:p:o(q1:v1,q2:v2……qn
:vn),将事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用,其中:s表示事实主体,p表示事实属性,o表示事实属性值,q1表示第一个修饰属性,v1表示第一个修饰属性的修饰属性值,q2表示第二个修饰属性,v2表示第二个修饰属性的修饰属性值,qn表示第n个修饰属性,vn表示第n个修饰属性的修饰属性值,n为0或自然数;
7.构建查询语句:将待查询信息和提问信息构建查询语句,所述提问信息为针对所述知识图谱中的属性信息进行提问,所述查询语句执行序列为:在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配;
8.获取查询结果:先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,所述第一查询结果为一个满足所述待查询信息的spo事实语句的集合,然后根据所述第一查询结果对提问信息进行匹配,获取匹配结果;
9.输出查询结果:将所述匹配结果输出。
10.本发明的进一步技术方案是:所述查询语句中包括多个待查询信息和一个提问信
息。
11.本发明的进一步技术方案是:还包括对待查询信息进行逻辑运算。
12.本发明的进一步技术方案是:还包括对待查询信息进行通配符匹配查询。
13.本发明的进一步技术方案是:还包括根据查询词的语义相似度对所述知识图谱进行查询。
14.本发明的技术方案是:构建一种基于知识图谱提问的精准查询系统,其特征在于,知识图谱结构构建模块、查询语句模块、查询结果获取模块、输出模块,所述知识图谱结构构建模块将已获取的信息变换为spo事实语句的格式,即,s:p:o(q1:v1,q2:v2……qn
:vn),将事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用,其中:s表示事实主体,p表示事实属性,o表示事实属性值,q1表示第一个修饰属性,v1表示第一个修饰属性的修饰属性值,q2表示第二个修饰属性,v2表示第二个修饰属性的修饰属性值,qn表示第n个修饰属性,vn表示第n个修饰属性的修饰属性值,n为0或自然数;所述查询语句模块将待查询信息和提问信息构建查询语句,所述提问信息为针对属性进行提问,所述查询语句执行序列为:在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配;所述查询结果获取模块先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,然后根据所述第一查询结果对提问信息进行匹配,获取匹配结果;所述输出模块将所述匹配结果输出。
15.本发明的进一步技术方案是:所述查询语句中包括多个待查询信息和一个提问信息。
16.本发明的进一步技术方案是:还包括逻辑运算模块,所述逻辑运算模块对待查询信息进行逻辑运算。
17.本发明的进一步技术方案是:还包括语义理解模块,所述语义理解模块根据查询词的语义相似度对所述知识图谱进行查询。
18.本发明的进一步技术方案是:还包括扩展查询模块,所述扩展查询模块对第三方平台扩展查询。
19.本发明的技术效果是:构建一种基于知识图谱提问的精准查询方法及系统,包括如下步骤:构建知识图谱结构:将已获取的信息变换为spo事实语句的格式,即,s:p:o(q1:v1,q2:v2……qn
:vn),将事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用,其中:s表示事实主体,p表示事实属性,o表示事实属性值,q1表示第一个修饰属性,v1表示第一个修饰属性的修饰属性值,q2表示第二个修饰属性,v2表示第二个修饰属性的修饰属性值,qn表示第n个修饰属性,vn表示第n个修饰属性的修饰属性值,n为0或自然数。构建查询语句:将待查询信息和提问信息构建查询语句,所述提问信息为针对所述知识图谱中的属性信息进行提问,所述查询语句执行序列为:在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配。获取查询结果:先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,所述第一查询结果为一个满足所述待查询信息的spo事实语句的集合,然后根据所述第一查询结果对提问信息进行匹配,获取匹配结果。输出查询结果:将所述匹配结果输出。本发明基于知识图谱提问的精准查询方法及系统,通过将待查询信息和提问信息构建查询语句,然后在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配。获取查询结
果:先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,所述第一查询结果为一个满足所述待查询信息的spo事实语句的集合,然后根据所述第一查询结果对提问信息进行匹配,获取匹配结果,通过使用提问式的查询方式使知识图谱信息查询精确程度更高,更方便查询使用。
附图说明
20.图1为本发明的结构示意图。
具体实施方式
21.下面结合具体实施例,对本发明技术方案进一步说明。
22.本发明的技术方案是:构建一种基于知识图谱提问的精准查询方法,包括如下步骤:
23.构建知识图谱结构:将已获取的信息变换为spo事实语句的格式,即,s:p:o(q1:v1,q2:v2……qn
:vn),将事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用,其中:s表示事实主体,p表示事实属性,0表示事实属性值,q1表示第一个修饰属性,v1表示第一个修饰属性的修饰属性值,q2表示第二个修饰属性,v2表示第二个修饰属性的修饰属性值,qn表示第n个修饰属性,vn表示第n个修饰属性的修饰属性值,n为0或自然数。
24.具体实施过程为:将获取的信息变换为事实语句的格式,即,s:p:o(q1:v1,q2:v2……qn
:vn),将事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用。通常以简单的数据库条目的形式作为数据结构进行存储、访问等使用。
25.比如:事实是“鲍勃迪伦获得2016年诺贝尔文学奖,奖金8000000瑞典克朗”,这一事实在本技术方案中,以spo语句存放方式如下:鲍勃迪伦:所获奖项:诺贝尔文学奖(日期:2016年,奖金:8000000瑞典克朗),其中:s=鲍勃迪伦,p=所获奖项,o=诺贝尔文学奖,q1=日期,v1=2016年,q2=奖金,v2=8000000瑞典克朗。
26.在本技术方案中,所有的名词都可以作为主语充当s,本技术方案中定义为事实主体。实体可以是万事万物,可以是具体的事物,例如某一个具体的人物、动物、植物、天体、山脉等,也可以是抽象的事物,如时间、空间、概念、事件、属性、官职、公式、定理等。实体作为主语充当s,在本技术方案中定义为事实主体。
27.p定义为事实属性,是事实主体的属性,例如,当s为一个人时,属性p可以是人的生日、出生地、母亲、国籍、信仰、职位等等,抽象地说,有些属性实际反映了实体之间的关系,比如“张平:母亲:王云”中,“母亲”就表达了一种母子关系。当s为一个抽象的事物,例如“狭义相对论”时,属性可以是“发现人”、“发表时间”、“所属学科”等,完整的spo语句为“狭义相对论:发现人:爱因斯坦”,“狭义相对论:发表时间:1905.9.26”,“狭义相对论:所属学科:物理学”。同样,“所属学科”这个事实属性,表达了“狭义相对论”与“物理学”之间的关系。
28.p也可以表示一种行为或者动作,通常为事实描述语句中的谓语,例如,“林肯:任职:美国总统”中,p就是动词“任职”。
29.o在本技术方案中定义为事实属性值,通常表示事实主体的性质。o可以是一个实体,或者是一个值或一组值。例如,在“林肯:任职:美国总统”中,o是“美国总统”,是一个实体。在“地球:半径:6371公里”中,o是“6371公里”,是一个值。在“北京:经纬度:(东经
116.46,北纬39.92)”中,o是(东经116.46,北纬39.92),是一组值。
30.总结起来,s:p:o可以理解为事实主体:事实属性:事实属性值,或者主语:谓语:宾语(英文为subject:predicate:object)。
31.一个spo语句代表一条事实,s:p:o是这一事实的主体描述部分,称为spo子句。(q1:v1,q2:v2……qn
:vn)部分称为修饰语,简称qv子句。修饰语说明了这一事实的细节部分。qv子句中的q和v相对出现,配对使用。q1:v1或qn:vn称为一个修饰语,每个事实可以有0-n个修饰语(n为自然数)。当n为0时,spo语句呈现为s:p:o的简单模式,比如:“中国:首都:北京”,“鸟:善于:飞行”。
32.构建查询语句:将待查询信息和提问信息构建查询语句,所述提问信息为针对所述知识图谱中的属性信息进行提问,所述查询语句执行序列为:在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配。
33.具体实施过程为:将待查询信息和提问信息构建查询语句,所述提问信息为针对所述知识图谱中的属性信息进行提问。在知识图谱结构中,事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用,其中:s表示事实主体,p表示事实属性,o表示事实属性值,qn表示第n个修饰属性,这其中p表示事实属性,qn表示修饰属性,提问信息实质上是针对事实语句结构中的p或者qn进行提问。所述查询语句执行序列为:在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配。
34.具体实施例如下:
35.查询语句:迪伦奥斯卡奖时间?,其中?表示提问指令。
36.查询语句:萧伯纳 诺贝尔奖 奖金?,其中?表示提问指令。
37.其中:以查询语句:迪伦奥斯卡奖时间?为例说明构建过程:“迪伦”和“奥斯卡奖”为待查询信息,“时间?”为提问信息。在知识图谱结构中,先执行对待查询信息的查询,即,在知识图谱结构中,先查询“迪伦”和“奥斯卡奖”,再根据查询结果在知识图谱结构中与“时间”属性进行匹配,得到结果是:迪伦获得奥斯卡奖的时间。
38.获取查询结果:先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,所述第一查询结果为一个满足所述待查询信息的spo事实语句的集合,然后根据所述第一查询结果对提问信息进行匹配,获取匹配结果。
39.具体实施过程为:先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,所述第一查询结果为一个满足所述待查询信息的spo事实语句的集合。然后根据所述第一查询结果对提问信息在知识图谱中进行匹配,获取匹配结果。
40.具体实施例如下:
41.查询语句:萧伯纳 诺贝尔奖 奖金?
42.以查询语句:萧伯纳诺贝尔奖奖金?为例说明获取查询结果的过程。“萧伯纳”和“诺贝尔奖”为待查询信息,“奖金?”为提问信息。在知识图谱结构中,先执行对待查询信息的查询,即,在知识图谱结构中,先查询“萧伯纳”和“诺贝尔奖”,获得一个满足“萧伯纳”和“诺贝尔奖”信息的spo事实语句的集合,再根据查询结果在知识图谱结构中与“奖金”属性进行匹配,得到结果是:萧伯纳获得诺贝尔奖的奖金。
43.输出查询结果:将所述匹配结果输出。
44.本发明的优选实施方式是:所述查询语句中包括多个待查询信息和一个提问信息。具体实施例中,待查询信息为多个,可以获得更加详细的信息,但待查询信息也不宜过多,通常不超过4个,过多可能无法获得满足条件的结构。提问信息为一个,可以获得更精准的信息。
45.本发明的优选实施方式是:还包括对待查询信息进行逻辑运算。查询语句为:2015(奥斯卡 or 诺贝尔 or 图灵奖)名称?,逻辑运算还包括逻辑与、逻辑或、逻辑非等其它逻辑运算。
46.查询语句中,对待查询信息“奥斯卡”、“诺贝尔”和“图灵奖”进行了逻辑或运算,先获得2015年获得“奥斯卡”或“诺贝尔”或“图灵奖”的情况,然后再提问,获得者名称是什么?即从2015年获得“奥斯卡”或“诺贝尔”或“图灵奖”的查询集合中匹配获得者名称,然后输出结果。
47.本发明的优选实施过程是:还包括对待查询信息进行通配符匹配查询。若预设%表示任意一串字符,_表示单个字符。
48.查询语句:鲍勃_伦 奥斯卡 名称?
49.表示:查询鲍勃_伦的奥斯卡获奖名称是什么?
50.查询语句:%大卫% 诺贝尔 经济学 名称?
51.表示:包括有大卫名称的诺贝尔经济学奖获得者名称是什么?
52.本发明的优选实施过程是:还包括根据查询词的语义相似度对所述知识图谱进行查询。实施例中,“关羽”、“关云长”、“关公”,他们语义相似度较大,都认定为同义词。日期、时间、日子、date,他们语义相似度较大,都被认为是近义词。
53.如图1所示,本发明的具体实施方式是:构建一种基于知识图谱提问的精准查询系统,其特征在于,知识图谱结构构建模块1、查询语句模块2、查询结果获取模块3、输出模块4,所述知识图谱结构构建模块1将已获取的信息变换为spo事实语句的格式,即,s:p:o(q1:v1,q2:v2……qn
:vn),将事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用,其中:s表示事实主体,p表示事实属性,o表示事实属性值,q1表示第一个修饰属性,v1表示第一个修饰属性的修饰属性值,q2表示第二个修饰属性,v2表示第二个修饰属性的修饰属性值,qn表示第n个修饰属性,vn表示第n个修饰属性的修饰属性值,n为0或自然数;所述查询语句模块2将待查询信息和提问信息构建查询语句,所述提问信息为针对属性进行提问,所述查询语句执行序列为:在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配;所述查询结果获取模块3先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,然后根据所述第一查询结果对提问信息进行匹配,获取匹配结果;所述输出模块4将所述匹配结果输出。
54.如图1所示,本发明的具体实施过程是:所述知识图谱结构构建模块1将获取的信息变换为事实语句的格式,即,s:p:o(q1:v1,q2:v2……qn
:vn),将事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用。通常以简单的数据库条目的形式作为数据结构进行存储、访问等使用。
55.查询语句模块2将待查询信息和提问信息构建查询语句,所述提问信息为针对所述知识图谱中的属性信息进行提问。在知识图谱结构中,事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用,其中:s表示事实主体,p表示事实属
性,o表示事实属性值,qn表示第n个修饰属性,这其中p表示事实属性,qn表示修饰属性,提问信息实质上是针对事实语句结构中的p或者qn进行提问。所述查询语句执行序列为:在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配。
56.具体实施例如下:
57.查询语句:迪伦 奥斯卡奖 时间?,其中?表示提问指令。
58.查询语句:萧伯纳 诺贝尔奖 奖金?,其中?表示提问指令。
59.其中:以查询语句:迪伦 奥斯卡奖 时间?为例说明构建过程:“迪伦”和“奥斯卡奖”为待查询信息,“时间?”为提问信息。在知识图谱结构中,先执行对待查询信息的查询,即,在知识图谱结构中,先查询“迪伦”和“奥斯卡奖”,再根据查询结果在知识图谱结构中与“时间”属性进行匹配,得到结果是:迪伦获得奥斯卡奖的时间。
60.查询结果获取模块3先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,所述第一查询结果为一个满足所述待查询信息的spo事实语句的集合。然后根据所述第一查询结果对提问信息在知识图谱中进行匹配,获取匹配结果。输出模块4将所述匹配结果输出。
61.具体实施例如下:
62.查询语句:萧伯纳 诺贝尔奖 奖金?
63.以查询语句:萧伯纳 诺贝尔奖 奖金?为例说明获取查询结果的过程。“萧伯纳”和“诺贝尔奖”为待查询信息,“奖金?”为提问信息。在知识图谱结构中,先执行对待查询信息的查询,即,在知识图谱结构中,先查询“萧伯纳”和“诺贝尔奖”,获得一个满足“萧伯纳”和“诺贝尔奖”信息的spo事实语句的集合,再根据查询结果在知识图谱结构中与“奖金”属性进行匹配,得到结果是:萧伯纳获得诺贝尔奖的奖金。
64.如图1所示,本发明的进一步技术方案是:所述查询语句中包括多个待查询信息和一个提问信息。所述查询语句中包括多个待查询信息和一个提问信息。具体实施例中,待查询信息为多个,可以获得更加详细的信息,但待查询信息也不宜过多,通常不超过4个,过多可能无法获得满足条件的结构。提问信息为一个,可以获得更精准的信息。
65.如图1所示,本发明的优选实施方式是:还包括逻辑运算模块31,所述逻辑运算模块31对待查询信息进行逻辑运算。查询语句为:2015(奥斯卡 or 诺贝尔 or 图灵奖)名称?,逻辑运算还包括逻辑与、逻辑或、逻辑非等其它逻辑运算。
66.查询语句中,对待查询信息“奥斯卡”、“诺贝尔”和“图灵奖”进行了逻辑或运算,先获得2015年获得“奥斯卡”或“诺贝尔”或“图灵奖”的情况,然后再提问,获得者名称是什么?即从2015年获得“奥斯卡”或“诺贝尔”或“图灵奖”的查询集合中匹配获得者名称,然后输出结果。
67.如图1所示,本发明的优选实施过程是:还包括语义理解模块32,所述语义理解模块32根据查询词的语义相似度对所述知识图谱进行查询。实施例中,“关羽”、“关云长”、“关公”,他们语义相似度较大,都认定为同义词。日期、时间、日子、date,他们语义相似度较大,都被认为是近义词。
68.如图1所示,本发明的优选实施过程是:还包括扩展查询模块33,所述扩展查询模块33对第三方平台扩展查询。比如:查询语句:诺贝尔文学奖(@lemon国籍:日本)奖金?。诺贝尔文学奖日本国籍获奖者的奖金是多少?
69.本发明的技术效果是:构建一种基于知识图谱提问的精准查询方法及系统,包括如下步骤:构建知识图谱结构:将已获取的信息变换为spo事实语句的格式,即,s:p:o(q1:v1,q2:v2……qn
:vn),将事实语句按s:p:o(q1:v1,q2:v2……qn
:vn)的格式存储,qn:vn表示qn和vn配对使用,其中:s表示事实主体,p表示事实属性,o表示事实属性值,q1表示第一个修饰属性,v1表示第一个修饰属性的修饰属性值,q2表示第二个修饰属性,v2表示第二个修饰属性的修饰属性值,qn表示第n个修饰属性,vn表示第n个修饰属性的修饰属性值,n为0或自然数。构建查询语句:将待查询信息和提问信息构建查询语句,所述提问信息为针对所述知识图谱中的属性信息进行提问,所述查询语句执行序列为:在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配。获取查询结果:先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,所述第一查询结果为一个满足所述待查询信息的spo事实语句的集合,然后根据所述第一查询结果对提问信息进行匹配,获取匹配结果。输出查询结果:将所述匹配结果输出。本发明基于知识图谱提问的精准查询方法及系统,通过将待查询信息和提问信息构建查询语句,然后在知识图谱结构中,先执行对待查询信息的查询,再根据查询结果对提问信息进行匹配。获取查询结果:先根据待查询信息在所述知识图谱中与spo事实语句的信息进行匹配查询获取第一查询结果,所述第一查询结果为一个满足所述待查询信息的spo事实语句的集合,然后根据所述第一查询结果对提问信息进行匹配,获取匹配结果,通过使用提问式的查询方式使知识图谱信息查询精确程度更高,更方便查询使用。
70.以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。