一种知识图谱模糊查询方法

allin2023-01-22  199



1.本发明公开了一种面向知识图谱的模糊查询方法,知识图谱的主要数据模型为rdf(resource description framework,资源描述框架)模型,本发明通过对rdf的标准查询语言sparql进行模糊语法扩展并使用模糊集理论解释其语法运行原理,并关注模糊隶属函数的设置方法,给出了三种设置模糊隶属函数的方法。本发明术语知识图谱模糊查询领域。


背景技术:

2.知识图谱(knowledge graph)最早在2012年由谷歌公司提出,它通常由实体和关系组成,著名的大规模知识图谱如wikidata,dbpedia,freebase等已被广泛应用在各种下游任务中,如智能问答系统和推荐系统等。知识图谱在大多数智能任务中充当知识库的作用,是任务的大脑与核心,因此知识图谱查询和探索任务作为获取知识的重要手段,受到了广泛的关注,在日常自然语言的使用中通常包含模糊术语,询问语句中包含模糊术语的情况更是常见。使用模糊术语是人类特有的一种不精确的表述方式,在询问中使用模糊术语也更加符合自然语言习惯,因此讨论查询表达中包含模糊情况在关系数据库模型中已有了广泛的讨论,随着语义网(sematic web)络的兴起,xml(extensible markup language),rdf(resource describe framework)等数据模型相继出现,近年来模糊查询在nosql数据库上的应用也受到了越来越多的重视。数据的模糊查询任务通常从两方面进行,其一是对数据模型本身的模糊化,提供一种模糊扩展并定义查询方法,另一种则通过对数据查询语言进行模糊语法扩展,借助模糊集理论将其转换成精确的查询,本发明正是利用后者的方法实现知识图谱的模糊查询。rdf是知识图谱的一种主要数据表示模型,sparql是rdf的标准查询语言,sparql1.1是2013年后升级版本,本发明通过对sparql1.1语法进行模糊扩展,提出模糊sparql1.1(f-sparql1.1)语法,用于知识图谱模糊查询。
3.本发明使用filter(?xθft)[withα]的形式表达模糊查询,该表达形式借鉴于以往工作,sparql1.1新引入了值的聚合的功能,通过计数(count)、求和(sum)、最小(min)、最大(max)和平均(avg)运算符,可以对数据库实例进行计数和汇总,聚合在数据库查询语言中是一个非常有用的操作,在过去关系数据库的模糊查询工作中,模糊聚合操作也有相关的讨论和研究。而针对精确rdf数据模型的查询工作中目前尚未考虑聚合情况下的模糊查询,因此本发明为sparql的模糊扩展补充了聚合查询的模糊扩展,实现了使用模糊术语对数据分组后进行聚合操作,以及在模糊集合上做聚合操作的能力。通常将偏好查询分为定量的偏好查询和定性的偏好查询,定量的偏好方法将模糊查询结果通过一个原子的评分函数定义,然后根据评分对答案进行排序,在以往偏好查询中大多使用定量的偏好查询,而定性的偏好设置方法通过用户定义的一组偏好关系,使用pareto标准过滤掉一部分数据集,并只返回以pareto标准衡量的最优的数据,这类查询通常被成为skyline查询。skyline查询在关系数据和rdf上的精确查询领域都有广泛的应用,最近也出现针对知识图谱的skyline查询研究。因此本发明将定性的偏好设置引入到模糊查询中,与精确的定性偏好查询相区别,
本文所设计的定性偏好查询仅针对模糊项。
[0004]
zadeh提出的模糊集理论是模糊查询领域的主要理论支撑,模糊隶属函数则是描述模糊术语的手段,也是模糊术语与精确值表达之间的桥梁,因此模糊隶属函数在模糊查询过程中起到至关重要的作用,但如今的sparql模糊查询扩展方法中对模糊隶属函数的建立过程并未多做关注,这为模糊查询的实际落地和灵活迁移工作带来了困难,因此本发明针对这一问题,设计了定义了模糊术语所需隶属函数的可视化界面,为用户提供了自动化,半自动化,和自定义的三种设置隶属函数模式,用户可以通过这三种方法设置隶属函数,可视化界面更是降低了操作门槛,自定义隶属函数的模式则能够设置更符合使用者个性的隶属函数。
[0005]
综上所述,本发明要贡献如下:针对sparql1.1语法补充模糊聚合查询和定性的偏好设置方法,提出sparql1.1的模糊扩展语法f-sparql1.1用于知识图谱模糊查询,同时提供了将f-sparql1.1转换成可执行的sparql语法的转换算法。除此之外还提供三种建立模糊隶属函数的模式,并实现了可视化查询界面。


技术实现要素:

[0006]
发明目的:本发明的目的是提供一种知识图谱的模糊查询方法,以实现面向知识图谱进行模糊查询。
[0007]
技术方案:为了实现上述目的,本发明提出了一种面向知识图谱的模糊查询方法,本发明通过对知识图谱的主要数据模型rdf数据模型的标准查询语言sparql进行模糊语法扩展,并关注于模糊查询的模糊隶属函数设置,提供了自动化,半自动化,自定义的三种模糊隶属函数设置模式。除此之外还给本方法提出的模糊查询语言做出解释,解释该语法是如何运行的。本发明的具体技术方案包含以下内容:
[0008]
(1)分析以往针对精确rdf数据的模糊查询方法和语言,并对其进行总结,以往的模糊查询方法主要通过filter(?xθft)[withα]的形式实现,其中filter在sparql查询语句中的主要作用为条件过滤,其中?x为变量,θ代表操作符,可以为大于号,小于号,等于号等,也可以为“between and”,θ也可以为模糊算子,模糊算子是对上述操作符的模糊化,例如“接近”,“不少于”,“不大于”等。ft为模糊术语,如“老年人”,“年轻人”等,模糊术语不仅仅为上述模糊词,还可以包括修饰词如“非常老”。
[0009]
(2)针对精确rdf数据模型缺少模糊聚合函数的现状,补充了针对模糊集合的聚合操作,补充了如表1模糊查询语法。本文针对count,sum,avg,min,max聚合函数提供了模糊语法扩展支持,其扩展形式与f-sparql的模糊扩展形式:[agg_function](?xθft)[withα]其中[agg_function]代表fcount,fsum,favg,fmin,fmax中的一个函数,ft代表模糊术语,α则为满足条件的最小隶属度,用于使用模糊截集理论转换模糊查询语句,θ代表操作符。通过表1分别说明其含义,普通的聚合函数只能针对精确集合做聚合操作,而表1中的聚合函数能够对模糊集合做聚合操作,计算条目数量,平均值,最大值最小值等。例如当询问“该数据集中的老年人数量有多少?”的时候可以使用如下的查询语句。
[0010]
表1 sparql聚合函数模糊扩展
[0011][0012]
(3)补充了模糊分组语法,聚合函数实际上是建立在group by的基础之上,以往group by后通常跟着数据的精确属性,例如查询“数据集中各性别的人数”则是根据性别这一精确属性对数据进行分组。而发明所讨论的groub by后跟随的是模糊属性,并且按照模糊术语进行分类,例如“查询数据集中各个年龄阶段的人数”应当按照模糊术语“年轻人,中年人,老年人”分组后查询。对于分类后的集合,可以再次进行模糊聚合操作和普通聚合操作。having的作用则是对分组后的数据筛选。本方法定义了如表2所示的语法。
[0013]
表2模糊分组相关模糊扩展语法
[0014][0015]
表2中,lingtrans函数是将精确的数据转换成模糊术语的关键,若要进行模糊分组则首先需要通过lingtrans函数将精确数据转换成模糊术语再分组。而lingfew,lingmost,lingabstract则是一种能够进行快速分组和聚合操作的语法糖,lingfew的功能为:接收给定参数,对给定参数进行模糊分组,分组结果即为模糊术语,并返回分组内含有数据量最少的模糊术语及与之相对的隶属度。例如给定参数“年龄”进行模糊分组,首先会形成类似“老年人”、“中年人”、“青年”等模糊术语,如果分组“青年”中数据集数量最少,则返回“青年”及与之相对的隶属度。lingmost函数与函数lingfew的功能相反,返回模糊分组后的分组内数据量最多的模糊术语及相应的隶属度。函数lingabstract是对lingmost和lingfew的功能的叠加,能够同时返回模糊分组后分组内数量最多与少的两个模糊术语,从而形成一个简单的摘要。
[0016]
函数lingtrans([s,p],value,α)的输入[s,p]为主语和谓语,通过主语和谓语可以定位到所对应的模糊隶属函数,然后进行模糊转换,函数所提供的功能为将值value转换为[s,p]对应的模糊术语隶属度超过a的所有模糊术语,若不存在则返回none,函数同时返回value对应此模糊术语的隶属度。lingtrans(mfid,value,α)函数所提供的功能与表2中lingtrans([s,p],value,α)的函数功能相同但入参不同,mfid(membership functions id)为模糊隶属函数组的id,[s,p]能够定位到多组模糊隶属函数,即[s,p]与mfid之间是一对多的关联,lingtrans的参数为([s,p],value,α)时的返回结果为所有组中满足条件的模糊术语,而lingtrans函数以(mfid,value,α)为参数时仅能返回mfid所代表的一组集合中的模糊术语,并返回满足条件的结果。
[0017]
函数lingfew(s,p1,p2,

,α)的输入参数中s代表主语,p1,p2代表谓语即属性,其
为可变参数并应至少提供一个,α为阈值,范围为0-1之间的浮点数,α的作用是过滤掉属性隶属度都小于α的数据使之不参与分析,过滤掉的数据即认为是无效数据。函数fgroup by label能够实现对value所在的列的按照[s,p]或mfid所对应的模糊术语分组,fgroup by后可以有多组label函数,与普通的group by分组类似,按照模糊术语的笛卡尔积为标准分组。使用fgroup by可以解决问题“查询数据集中各年龄阶段的年龄平均值”。fhaving与sparql中的having对应,能够对通过模糊术语分组后的结果筛选。
[0018]
(4)补充定性偏好设置,设有两个元组分别为t1=(u1,u2,....,un),t2=(u1,u2,....,un),t1,t2代表了从查询结果中选取的两条数据,ui为属性,定义t1>t2在pareto标准中为t1优于t2,当t1中的所有维度的属性都优于或者等于t2中所对应的属性,且t1中至少存在一个维度的属性严格优于对应的t2中的属性,用数学语言表示即:
[0019][0020]
使用这种偏好设置方法能够帮助用户更加精准的获得目标答案,过滤掉无用数据。本文应用bnl(block-nested-loops)处理定性的偏好分析,采用定性偏好后的其查询结果通常有多个,这些结果的展示顺序本文结合top-k算法,通过权重与隶属度相乘的形式算出权重平均隶属度,根据权重平均隶属度降序排序。本发明所采用的偏好语法形式如下所示:
[0021]
fuzzyqprefer?x1?x2…
(w1,w2)。
[0022]
(5)关注于模糊隶属函数的设置方法,提供了自动化,半自动化,和自定义的模糊隶属函数设置方式。用户提供隶属函数的主语和谓语,系统根据主语和谓语查询数据在知识图谱中的分布情况,将其分成三个模糊集合为“低”“中”“高”,而后使用三角隶属函数建立方法建立模糊隶属函数。在半自动化设置隶属函数的模式下,允许用户指定模糊域的范围,模糊术语领域的个数,对应的模糊术语,以及模糊隶属函数的形状。系统提供了三角,梯形等隶属函数。在自定义模式下用户需要设置此隶属函数的最大值,最小值以及所描述的模糊术语,并通过手绘的方式为此模糊术语设置隶属函数。采用这种方法给用户绝对的自由,用户可以完全掌控自己想要的模糊隶属函数的形状,除此之外用户也可以通过自定义函数表达式来设置模糊隶属函数。
[0023]
(6)给出解释上述针对模糊集合的聚合函数语法与模糊分组的算法,其中模糊集合的算法通过转换为f-sparql语法完成,模糊分组的语法则需要得到答案集之后再,使用模糊隶属函数转为,分组后操作。
[0024]
有益效果:本发明提供了一种面向知识图谱的模糊查询方法,使用该方法能够使用户使用自然语句中的模糊术语对知识图谱进行查询。本方法还提供了三种设置模糊隶属函数的方法,使用该方法可以使用户能够通过不同的方法设置模糊隶属方法,设置更加符合用户需求的模糊隶属函数。
附图说明
[0025]
图1 rdf数据模型;
[0026]
图2[s,p]和mfid与模糊隶属函数的关系;
[0027]
图3自动化建立模糊隶属函数;
[0028]
图4半自动化建立模糊隶属函数;
[0029]
图5手动设置隶属函数形式;
[0030]
图6本发明工作流程。
具体实施方式
[0031]
为了使本领域技术人员更好地理解本发明中的技术问题、技术方案和技术效果,下面结合附图对本发明作进一步说明。
[0032]
本发明针对知识图谱数据模型进行模糊查询工作,针对知识图谱的主要数据表示rdf模型,该模型如图1所示,rdf由是由三元组(s,p,o)构成的集合,其中s代表主语并且有唯一的http uri其唯一id,o是宾语,p是谓语,代表属性或者关系,(s,p,o)可以表示为s与o之间存在关系p或者可以表示为s具有属性p为o。rdf的结构化查询语言为sparql。本发明提供了sparql聚合函数模糊扩展,sparql模糊分组扩展,定性的偏好分析,以及三种模糊隶属函数设置方法。接下来则具体的说明该方法的技术实施过程。
[0033]
(1)首先针对上述表1的模糊扩展语法的转换算法做说明,具体地,将模糊聚合函数转换成一般的聚合函数,然后转换聚合函数中的主体内容,将filter(?xθft)[withα]的形式加入到sparql的匹配主体中,其具体算法由算法1所展示。
[0034][0035]
(2)然后对上述表2所描述的语法做说明,并提供执行算法。函数lingtrans([s,p],value,α)的输入[s,p]为主语和谓语,通过主语和谓语可以定位到所对应的模糊隶属函数,然后进行模糊转换,所提供的功能为将值value转换为[s,p]对应的模糊术语隶属度超过α的所有模糊术语,若不存在则返回none。不仅返回模糊术语还返回value对应此模糊术语的隶属度;lingtrans(mfid,value,α)函数所提供的功能与表3中编号1的函数功能相同入参不同,mfid(membership functions id)为模糊隶属函数组的id,与编号1的函数不同,[s,p]能够定位到多组模糊隶属函数,即[s,p]与mfid是一对多的关系,编号1函数返回结果为所有组中满足条件的模糊术语,而标号2函数仅能返回mfid所代表的一组集合中的模糊术语,并返回满足条件的结果,图2展示了[s,p]和mfid以及模糊隶属函数的关系,其中[huaman,age]为[s,p]的一个示例,代表主语和谓语,并且主语和谓语不可为变量,而应是
确定的资源地址。集合{young,old}等为多组模糊术语集合,集合中每个术语对应一个模糊隶属函数。函数lingfew(s,p1,p2,

,α)的输入参数中s代表主语,p1,p2代表谓语或者说属性,为可变参数并且至少填写一个,为阈值,范围为0-1之间的浮点数,α的作用是过滤掉某条数据的属性隶属度都小于的数据使之不参与分析,认为这样的数据是无效数据。lingfew函数能够实现根据属性p1,p2分析结果集,按照p1,p2的模糊术语分类,占比最少的数据的有哪些特点,其特点使用模糊术语表示,并返回结果为占比最少的模糊术语和平均隶属度。lingmost,lingabstract与lingfew的入参意义相同。接下来介绍该语法的运行原理。
[0036]
lingtrans函数通过输入参数[s,p]或者mfid对应到一组模糊隶属函数{μa,μbμc,...}当中,其中a,b,c,

为模糊术语,将输入value带入隶属函数组中,得到隶属度da,db,dc,

比较隶属度大小,返回隶属度值高于所设置的阈值α的所有模糊术语和隶属度。lingtrans与lingfew函数和lingmost,lingabstract都是对sparq1.1的下游扩展。算法过程为首先获取f-sparql1.1查询中的lingtrans表达式参数[s,p]或者mfid,若获取的参数是[s,p],则通过[s,p]获取其对应mfid组,然后根据各个mfid对应的模糊术语分别计算隶属度,并筛选出隶属度大于α的所有模糊术语和隶属度,即返回形式为{(a,d1),(b,d2),...}。其中a,b代表模糊术语,d代表隶属度。
[0037]
函数lingabstract根据模糊分组产生简单摘要,以所提供的特征的模糊术语分组,分析各组数量。lingabstract与lingmost与lingfew的算法流程相似,为lingmost与lingfew的中间结果,因此本发明将针对lingmost的算法做说明。lingmost的输入为(s,p1,p2,

,α),取lingmost的输入参数中的主语与参数中其他谓语组成元组参数(s,p1),(s,p2),

和阈值α作为lingtrans函数的输入,得到返回值r={(a,d1),(b,d2),...},需要注意的是lingtrans可能会返回隶属度相同的多个模糊术语。当lingmost输入参数仅包含一个谓语pi时,对每条数据执行以上操作并合并集合获得set(r),分析集合中的每一项模糊术语数量,取数量最多的模糊术语作为结果。当包含多个模糊术语数量相同时,分别计算属于此模糊术语的数据相对于模糊core的平均距离,取距离最近的结果,若仍然相同则全部返回。与core的距离的计算公式(1)即以隶属度为坐标的点与各维度数值都为1的点的欧氏距离。
[0038][0039]
当lingmost输入参数包含多个谓语时处理手段与上述过程有所区别,当某条数据e包含多个谓语p1,p2,

pn时,得到多组模糊术语结果r1,r2,
…rn
那么对于数据e来说需要用这些术语的组合来表示数据e的特征,即对多组模糊术语结果进行笛卡尔积操作r=r1×
r2×
...rn,当r1={(term
11
,d1),(term
12
,d1)},r2={(term
21
,d2),(term
22
,d2)},r3={(term
31
,d3)}时,r1×
r2×
r3的结果如(2)所展示。
[0040][0041]
接下来的处理则与仅含有一个谓语的处理方式类似,寻找包含的模糊术语特点最多的特征,若数量相同则计算平均距离。算法2用代码语言展示转换流程。其中9-23行为计
算属性笛卡尔积的过程。
[0042][0043]
f-group by的处理过程实际上与上述过程类似,在lingmost的处理过程中就是分组的一个实际例。f-group by后承接label([s,p],value),根据[s,p]和mfid所对应的模糊术语分组分组。模糊分组与传统分组不同,传统分组各组之间没有交集是绝对的分组,但根据模糊术语分组,各组之间可能存在交集,因为根据模糊集合,一个元素可能属于模糊属于a,也可能属于模糊术语b只不过隶属度不同。
[0044]
实现模糊分组首先应用lingtrans函数,将精确的数据条目的属性转换成模糊术语,将label中的参数输入到lingtrans中。注意到可能有多个模糊术语的情况,那么分组则应该是对这些模糊属性做笛卡尔积为标准,与上述提到的lingmost函数的处理过程一致,分完组之后即可在这些模糊集合中使用聚合函数,fhaving则是模糊分组并做完聚合操作之后的筛选,将其使用模糊集理论转换成精确的区间查询,其转换过程继承自f-sparql工作,然后根据条件再对查询后的结果做筛选。例如“查询数据集中各个年龄阶段的平均身高。”,查询语句如下。
[0045]
#fq#
[0046]
select(average(?height)as?avheight),label(

agemf’,?age,0.8)
[0047]
where
[0048]
{
[0049]
?human ud:height?height
[0050]
?human ud:age?age
[0051]
}fgroup by label(

agemf’,?age,0.5)
[0052]
fhaving?avheight=

normal’with 0.5
[0053]
当知识库中的数据如表3所示时,假定表中的隶属度为根据隶属函数计算出,执行后得到结果为{177,old},{176,middle},{172,young},其中第一维度数据为平均身高,第二维度数据为年龄阶段。
[0054]
表3样例数据表
[0055][0056]
(3)本发明设置了三种模糊隶属函数设置方法,具体的通过图3、图4、图5表示。自动设置模糊隶属函数的模式之下,用户提供隶属函数的主语和谓语,系统根据主语和谓语查询数据在知识图谱中的分布情况,将其分成三个模糊集合为“低”“中”“高”,使用三角隶属函数建立方法建立模糊隶属函数。根据用户提供的主语和谓语,得到的最大值与最小值是maxv、minv,建立“低,中,高”的模糊隶属函数需要将[maxv,minv]分成六份,每一份的长度(maxvalue-minvalue)/6,模糊术语“低”的范围为[minvalue,minvalue+2x),其中[minvalue+x,minvalue+5x)是模糊术语“中”的范围。[minvalue+4x,maxvalue)是模糊术语“高”的范围,通过以上方法分成的模糊隶属函数图像如图3所示。
[0057]
在半自动化设置隶属函数的模式下,允许用户指定模糊域的范围,模糊术语领域的个数,对应的模糊术语,以及模糊隶属函数的形状。系统提供了三角,梯形等隶属函数。提供可视化界面图4所示,界面左边部分可以自定义区间大小和模糊术语和选择隶属函数形状,中间部分为选择三角隶属函数的结果展示。
[0058]
使用半自动化创建隶属函数能够给用户一定的自由度,但需要用户对模糊集理论有一定的了解,虽然半自动化创建隶属函数的形式为用户提供了设置模糊区间个数,术语和隶属函数形状的选择,但仍然存在一定的局限性,因此我们为用户提供了用户完全手动的隶属函数设置模式。在此模式下用户需要设置此隶属函数的最大值,最小值以及所描述的模糊术语,并通过手绘的方式为此模糊术语设置隶属函数。采用这种方法给用户绝对的自由,用户可以完全掌控自己想要的模糊隶属函数的形状,除此之外用户也可以通过自定义函数表达式来设置模糊隶属函数。其设置界面如图5所示。图中的手绘板使用中canvas库完成。
[0059]
(4)本文上述流程可以由图6说明,隶属函数可以被持久化到数据库内,一部分f-sparql1.1的工作通过转换至sparql完成,另一部分在查询知识图谱结果后后置完成。本章节接下来的部分则阐述将第四章所定义的语法扩展转换成sparql1.1的方法。

技术特征:
1.一种面向知识图谱的模糊查询方法,其特征在于,包括如下步骤:(1)为rdf的sparql模糊查询工作补充模糊聚合函数语法和模糊分组语法,定性的偏好分析语法;(2)提出上述模糊查询语法的执行算法;(3)关注于rdf的模糊查询的隶属函数设置,提出自动化,半自动化和自定义的三种隶属函数设置的交互模型,并实现可视化界面。2.根据权利要求1所述的一种面向知识图谱的模糊查询方法,其特征在于:步骤(1)中提出的模糊聚合函数语法是对sparql1.1新增的聚合函数语法的模糊化形式,其形式如表1所示;表1 sparql聚合函数模糊扩展3.根据权利要求1所述的一种面向知识图谱的模糊查询方法,其特征在于,步骤(1)中模糊分组语法解释如表2所展示;表2 模糊分组相关模糊扩展语法4.根据权利要求1所述的一种面向知识图谱的模糊查询方法,其特征在于,步骤(1)中定性的偏好分析语法如下所示:fuzzyqprefer?x1?x2…
(w1,w2)其中?x1?x2为参与模糊查询的变量,w1,w2表示对应?x1?x2的权重。5.根据权利要求3所述的一种面向知识图谱的模糊查询方法,其特征在于,步骤(2)中,所述执行算法包括如下步骤:(2.1)首先将含模糊聚合函数的查询语句解析成f-sparql,然后使用的f-sparql语法规则将模糊聚合函数转换成可执行的sparql语句;(2.2)模糊分组函数中包含lingtrans语法,该函数在将本模糊查询语法转换为sparql语法,然后面向知识图谱查询得到结构后执行,通过将结果中的数值输入到各模糊术语中,得到该值对应于各个模糊术语的隶属度;(2.3)表2中包含的lingfew与lingmost包括lingabstract都是对lingtrans语法的下游扩展,其步骤为先使用lingtrans函数将查询后的结果转换为带有模糊术语特性和模糊
隶属度的数据条目,一个属性对应多个模糊术语和隶属度,对一个数据条目做笛卡尔积,得到该数据对应的模糊术语组合,组合包含模糊隶属度;接下来计算模糊术语特性组合中出现次数最多,最少的组合;若出现次数一样多,则计算该模糊术语特性组合与该组合核的距离,选择距离最近的一组作为答案;计算与模糊术语核的距离采用欧式距离公式,其公式表达如公式(1)所示,其中n代表一条数据中模糊项的数量;经过上述计算后得到了lingmost,lingfew,lingabstract的结果;d
i
代表隶属度;(2.4)fgroup by的处理过程为首先使用lingtrans函数将指定的特性转换为模糊术语,若有多个特性转换则使用笛卡尔积展开得到属性组合,并按照同一类的属性组合将数据分组;(2.5)定性的偏好分析算法的执行过程为将查询知识图谱后的数据使用bnl算法对结果进行排序和筛选。6.根据权利要求1所述的一种面向知识图谱的模糊查询方法,其特征在于,步骤(3)的具体步骤包括:(3.1)自动化设置模糊隶属函数时,根据用户所提供的主语和谓语将其分成三个模糊集合为“低”“中”“高”,而后使用三角隶属函数建立方法建立模糊隶属函数;根据用户提供的主语和谓语,得到的最大值与最小值分别是maxv、minv,建立“低”“中”“高”的模糊隶属函数需要将[maxv,minv]分成六份,每一份的长度x=(maxvalue-minvalue)/6,模糊术语“低”的范围为[minvalue,minvalue+2x),[minvalue+x,minvalue+5x)是模糊术语“中”的范围;[minvalue+4x,maxvalue)是模糊术语“高”的范围,通过以上方法分成的模糊隶属函数图像;(3.2)在半自动化设置隶属函数的模式下,允许用户指定模糊域的范围,模糊术语领域的个数,对应的模糊术语,以及模糊隶属函数的形状;(3.3)完全手动的隶属函数设置模式用户需要设置此隶属函数的最大值,最小值以及所描述的模糊术语,并通过手绘的方式为此模糊术语设置隶属函数;除此之外用户也可通过自定义函数表达式来设置模糊隶属函数;其中手绘板使用canvas库绘制完成。

技术总结
本发明公开了一种面向知识图谱的模糊查询方法。RDF是知识图谱的一种表示模型,SPARQL是RDF的标准查询语言。为实现对以RDF表示的知识图谱进行模糊查询,本发明在总结和分析现有SPARQL模糊扩展的基础上,引入了聚合函数的模糊扩展语法,并补充了定性偏好分析方法,进而提出了与SPARQL1.1相对应的模糊SPARQL1.1(f-SPARQL1.1),同时提供了将模糊查询重写成经典SPARQL查询的策略与方法。除此之外本发明还提供了定义模糊术语和模糊隶属函数的可视化界面,并提供三种设置模糊隶属函数的交互式方法和可视化界面。本发明的主要用途是提供了一种面向知识图谱的模糊查询方法,使用此方法可以实现使用模糊术语实现知识图谱模糊查询。实现使用模糊术语实现知识图谱模糊查询。实现使用模糊术语实现知识图谱模糊查询。


技术研发人员:刘运星 严丽
受保护的技术使用者:南京航空航天大学
技术研发日:2022.02.17
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-4932.html

最新回复(0)