基于关键词的rdf分布式语义搜索方法

文档序号:10655296阅读:258来源:国知局
基于关键词的rdf分布式语义搜索方法
【专利摘要】本发明涉及一种基于关键词的RDF分布式语义搜索方法,基于RDF本体构建输入查询关键词的语义可达路径,在构建阶段根据查询内容的语义内容和语义结构进行评分排序,生成Top?k语义可达路径,然后利用MapReduce计算框架并行搜索返回Top?k查询结果。本发明所提出的基于关键词的RDF分布式语义搜索方法,基于本体构建搜索语义可达路径确定查询关键词间相互连接路径,避免了直接在大规模RDF数据图上费时的迭代计算,利用MapReduce计算模型实现并行计算,有效地减少了整体计算复杂度来提升查询性能。
【专利说明】
基于关键词的RDF分布式语义搜索方法
技术领域
[0001] 本发明设及海量RDF数据检索技术领域,特别是一种基于关键词的RDF分布式语义 捜索方法。
【背景技术】
[0002] RDF作为语义网的基础,WS元组形式表示信息并交换万维网上的知识和数据。语 义Web数据规模日益庞大,要求查询处理不断演化为处理分布式存储的大规模RDF数据。目 前有关RDF上的关键词查询根据查询处理方式的不同,可W分为两类:关键词结构化方法和 关键词直接匹配方法。第一种关键词结构化方法,将关键词翻译成联合查询,再得到SPARQL 查询语句。文南犬Rdf keyword search based on keywords-to-sparql translation[C]结 合数据图将包含用户查询关键词的子图映射成查询语句,翻译成SPAR化查询语句,进行查 询操作然后返回结果。Ladwing G等人从RDF数据中抽取结构信息,构造查询捜索图,捜索符 合要求的子图生成结构化查询得到查询结果。但是运类由关键词构造结构化查询语句方 法,需要从RDF数据中抽取结构信息,时间开销大。由于响应时间等于查询转换时间加查询 结果生成时间,其执行策略依赖于用户的反馈,其实时响应速度并不理想,难W适应海量 RDF数据存储与查询需求。
[0003] 另一种关键词直接匹配方法,在图数据上捜索包含所有关键词的子图,利用评分 函数对候答案排序,返回top-k查询结果。E化assuoni采用基于统计概率的评分排序模型, 对检索到查询子图进行评分排序,返回评分值高匹配结果。Le W等人从RDF图数据中抽取摘 要信息,利用图摘要剪枝从而加速捜索效率。但基于图结构的关键词捜索运类方法,为图数 据中的所有关键词顶点建立倒排索引或为所有顶点对维护最短路径矩阵,运种难W扩展为 分布式图并行查询。原因在于为具有数W百万计甚至上亿顶点的海量语义数据建立路径索 引或维护最短路径矩阵是不可行的。借助有效的索引,从图数据中找到匹配关键词的顶点 相对容易,确定顶点之间的连接是一个复杂的问题,需要在图上迭代捜索。De Virgilio等 提出了一种新的分布式RDF关键词捜索方法,利用MapReduce将图并行问题转换为数据并行 处理问题,但忽视了 RDF数据间语义关联关系。

【发明内容】

[0004] 本发明的目的在于提供一种基于关键词的RDF分布式语义捜索方法,W克服现有 技术中存在的缺陷。
[0005] 为实现上述目的,本发明的技术方案是:一种基于关键词的RDF分布式语义捜索方 法,基于RDF本体构建输入查询关键词的语义可达路径,在构建阶段根据查询内容的语义内 容和语义结构进行评分排序,生成Top-k语义可达路径,然后利用MapReduce计算框架并行 捜索返回Top-k查询结果。
[0006] 在本发明一实施例中,还包括一化ase分布式存储阶段,且存储过程按照如下方式 实现:在MapReduce计算框架的Map阶段,将RDF实例元组W及OWL本体按类别并行解析分割, 在Reduce阶段输出类元组,得到分割后类元组数据文件,并批量导入化ase分布式数据库。 [0007] 在本发明一实施例中,所述化ase分布式数据库包括如下类型表:0WL_Table、 111(1糾_5_1日616、111(1糾_0_1'日616、(:1日33胞1116_5?0^及(:1日33胞1116_0?5;所述0胖1^_1日616存储 畑F本体信息,类、属性的定义信息及语义关联关系;所述Index_SJable为主语S索引表,存 储所有主语为S对应类的实例S元组;所述Index_0_Table为宾语0索引表,存储所有宾语为 0对应类或文本的实例S元组;所述ClassName_SP0 W (S,P,0)形式存储每个类的实例S元 组信息;所述ClassNameJPS W (0,P,S)形式存储每个类的实例S元组信息。
[000引在本发明一实施例中,构建Top-k语义可达路径按照如下方式实现:首先确定用户 输入的各个查询关键词对应实例类;其次依据RDF本体表构建类-属性二维模型CP;然后在 m*m二维矩阵模型中捜索涵盖所有实例类的语义通路。
[0009] 在本发明一实施例中,在所述类-属性二维模型CP中捜索所有查询实例类两两可 达语义路径阶段,利用SSE函数进行评分返回评分高的Top-k语义可达路径;其中,SSE函数 如下所
[0010]
[0011 ] a为调节参数,Length(path) = 2 i,jei,2,...,mdistance(Ci,Cj),
SLength(path)表示语义内容评分,等于语义路径的路径 长度,山31日]1。6佔向)为实例类^和(3调语义距离,3;[111(9日1:11)表示语义结构评分,1佔)为 实例类Ci定义属性的集合,I I(Ci) I为集合个数。I(Ci) n I(Cj)为实例类Ci和实例类Cj共同定 义的属性。
[0012]在本发明一实施例中,在所述MapReduce计算框架并行捜索阶段,对所述Top-k语 义可达路径集合SRPs进行预处理,将所有路径提取公共子路径;将预处理后的SRPs作为 MapReduce的输入,从所述化ase分布式数据库中读取匹配的畑F实例S元组实现畑F关键词 分布式并行捜索。
[0013]在本发明一实施例中,在所述MapReduce的Map阶段:根据所述路径集合SRPs确定 并行关键词顶点对应的捜索路径的实例=元组,若实例=元组满足捜索路径则生成一对< key ,value〉,其中,key为满足的路径S巧i的序号i ,value为四元组;
[0014] 在所述MapReduce的Reduce阶段:完成同一个捜索路径srpi对应的多个子路径的 连接,每个连接得到一个查询结果;最后并行完成所有的SRPs捜索路径的连接操作,返回查 询结果:
[001引 Rs = {Ri,R2,...,Ri,...,Rk}
[0016] 其中,k为语义可达路径的路径数。
[0017] 相较于现有技术,本发明具有W下有益效果:本发明所提出的一种基于关键词的 RDF分布式语义捜索方法,基于本体构建捜索语义可达路径确定查询关键词间相互连接路 径,避免了直接在大规模RDF数据图上费时的迭代计算,减少了捜索迭代次数,利用 MapReduce计算模型实现并行计算,减少了MapReduce的任务数,有效地减少了整体计算复 杂度来提升查询性能,降低整体计算复杂性,提升了捜索效率。
【附图说明】
[001引图1为本发明中DSSOK算法框架图。
[0019] 图2为本发明中DBpedia的畑F数据片段。
[0020] 图3为本发明中类-属性二维模型
[0021] 图4为本发明一实施例中查询示意图。
[0022] 图5为本发明一实施例中MapReduce具体处理过程示意图。
【具体实施方式】
[0023] 下面结合附图,对本发明的技术方案进行具体说明。
[0024] 现有图上关键词捜索方案,通过为图数据中的所有关键词顶点建立倒排索引和预 先计算所有顶点之间的最短路径来提高捜索效率,但运种设计方案的前提是假定图数据可 W完全加载至内存在图上进行多次迭代计算,显然对于对海量分布式语义网数据-具有数 百万计甚至上亿的顶点RDF图数据是不切实际的。目前的图上关键词捜索方案,采用图结构 表示数据的方法,借助有效的索引,从图数据中找到匹配关键词的顶点相对容易,然而在大 规模RDF图数据上迭代捜索关键词顶点之间的连接是一个复杂的问题,需要昂贵的计算成 本且查询响应效果不理想。文献Distributed k巧word search over r壯via mapreduce [M]提出了 一种构建大量RDF路径索引来帮助确定顶点之间的连接,但MapReduce并行度大, 网络传输开销大。因为RDF本体涵盖了 RDF图数据资源和属性的定义、分类及相互间关联关 系,通常是确定的且KB级别小规模的数据,通过RDF本体可推导任意两个实例类或属性间相 互关联关系从而快速确定顶点连接路径。因而,DSSOK算法基于本体构建捜索语义可达路径 确定查询关键词间相互连接路径,避免了直接在大规模RDF数据图上费时的迭代计算,利用 MapReduce计算模型实现并行计算,有效地减少了整体计算复杂度来提升查询性能。
[00巧]进一步的,在本实施例中,DSSOK化is1:;r;Lbuted Semantic Search with Ontology on Keyword)算法的主要思想是基于RDF本体构建输入关键词的语义可达路径,在构建阶段 综合考虑查询内容的语义内容和语义结构进行评分排序,生成Top-k语义可达路径,然后利 用MapReduce计算框架并行捜索返回Top-k查询结果。DSSOK算法总体框架设计如图1所示。 DSSOK算法分为分布式存储、构建语义捜索路径和分布式语义捜索3个阶段。
[0026] W下给出RDF关键词捜索的相关定义。
[0027] 问题描述给定关键词查询Q= {qi,q2,…,qi,…,QmhRDF数据图G,返回查询关键词 高匹配的即语义评分值高的Top-k查询连通子图。
[002引定义 1 (畑FS元组)设1<3,P,0〉表示畑FS元组,S G (IUB),P G (IUB),O G (IUBUL), I是IRI顶点的集合,B是空白顶点集合,L是文本顶点集合。
[0029] 定义2(畑F图)设G= {ti,t2,…,ti,…,tn}表示由一组;元组定义的畑F图。每个; 元组ti<si, Pi, 〇i>作为RDF图G中的边,S元组中的主语Si和宾语Oi作为顶点,谓语Pi表示由 主语指向宾语的一条有向边。图2为关于"阿波罗"号飞船探月计划的RDF数据片段。表1给出 了图2中RDF数据片段对应的本体定义信息。
[0030] 表 1
[0031]
[0032] 定义3(语义可达路径,Semantic Reachable化th简写为SRP)通过畑F本体信息可 推导任意两个实例类或属性间相互关联关系,我们用语义可达路径来表达运种关联关系。 首先将表1RDF本体定义信息等价转换为图3类-属性二维模型(记为CP),其中一条语义可达 路径定义为:path = SpaceMission-CP [SpaceMi SS ion [Person]-Person-CP [Person] ktring]-string,其中CP[SpaceMission] [Person] =crew,CP[Person] [string] =name。 CP[X][Y]表示行为X且列为Y的属性取值,X、Y取值为RDF本体定义的类,CP[X][Y]为RDF本体 定义的属性,表示X与Y之间通过CP[X][門关联起来,存在一条语义路径为X-CP[X][門-Y。若 实例类间无关联属性,则为CP[X][門=0。
[0033] 定义4(查询结果)已知RDF数据集G,给定关键词查询Q,把包含查询关键词的URI顶 点或文本顶点称为关键词顶点,URI或文本顶点可W完全匹配或部分包含关键词。查询结果 是包含所有查询关键词顶点的连通子图(记为RW=元组集合形式表示,其中任意两个=元 组通过主语或宾语或其他=元组关联形成连通子图)。形式化表示,R= {tl,t2,…,tk,…, tr},其中3'.i,.j巨{'l.,2,…,]^}.,,ti〈Si,Pi,Oi〉和tj〈Sj,Pj,Oj〉,则有(Si = Si且Oi声Oj)或(Si = Oj且Oi声Sj)或(Oi = Sj且Si声Oj)或(Oi = Oj且Si声Sj)。两个S元组集合中元素不完全相同,贝U 认为是不同的查询结果。
[0034] 定义5(语义评分,Semantic Score Estimation简写为SSE)输入查询Q= {qi, q2,…,qi,…,qm}对应RDF本体中的实例类C= ki,C2,…,ci,…,Cm},假定找到Q的一条语义 可达路径
[003引 path = Cl-CP[Cl] [C2]-----CP[ci-l] [Ci]-----CP[cm-l] l!cm]-Cm。
[0036]
公式。)
[0037] 其中Length(path) = X i,jei,2,...,mdis1:ance(ci,cj),
[0038] 语义评分由语义内容评分和语义结构评分两部分构成,a为调节参数,本文中a = 0.5表示两者影响程度一样。distance (Ci,Cj)为实例类Ci和Cj间语义距离,若实例类Ci和Cj 不可达,语义距离为distance(Ci,Cj)= + °o。Length(path)表示语义内容评分,等于语义路 径的路径长度(路径包含顶点个数-1),路径长度越短,则值越大说明内容越紧 凑。sim(path)表示语义结构评分,I(Ci)为实例类Ci定义属性的集合,I I(Ci) I为集合个数。I (Ci) n I(Cj)为实例类Ci和实例类Cj共同定义的属性,sim(path)值越大说明语义结构越相 似。SSE(path)评分方式使得越好的结果评分值越高,最终按照评分值降序排列,返回前k个 结果。
[0039] 为了让本领域人员进一步了解本发明所提出的基于关键词的RDF分布式语义捜索 方法,下面结合具体实施例进行说明。
[0040] 进一步的,在本实施例中,DSSOK算法借助分布式数据库化ase作为存储媒介,依据 RDF本体中定义的实例类别信息对大规模RDF实例S元组数据,分口别类进行有规则的分布 式存储。结合RDF图数据的特点,同一类型的RDF实例S元组数据间的语义关系较密切。输入 关键词查询依据关键词所属类别,借助有效的索引表查找同一类型的数据有效缩减查询范 围且快速找到语义关联密切的查询结果。皿ase具备分布式和列存储特性,可满足稀疏数据 类型畑F的存储需求。此外,皿ase提供了Row k巧索引,在MapReduce计算模型上皿ase系统 可容易实现批处理运算,实现大规模RDF存储和查询性能都会比较理想,具有高扩展性。具 体化ase表及存储内容说明如表2所示。
[0041] 車 9
[0042]
[0043] 其中,0WL_Table存储畑F本体定义信息,RDF本体是确定且稳定的,只需要一次解 析存储至OWLJable本体表避免每次查询都要重复解析RDF本体来构建类-属性二维模型。 Index_S_化ble和Index_0_Table是Ws和0为主键的索引表,根据输入查询关键词快速定位 对应到具体实例类和S元组实例类表ClassName_SP0或ClassNameJPS,为查询关键词构建 Top-k语义捜索路径提供依据,同时利用索引快速定位提高查询效率。
[0044] 进一步的,在本实施例中,Top-k语义可达路径构建思路如下:为了减小在大规模 图上迭代计算连接路径的开销,该算法充分运用RDF图数据语义结构特征,RDF本体是海量 RDF图数据的一个浓缩摘要。DSSOK算法将在大规模RDF数据图上构建所有查询关键词顶点 间相互连接路径问题转换为在邸级别大小的RDF本体上推导出查询关键词所对应实例类间 可达语义路径问题,避免了直接在大规模RDF数据图上费时的迭代计算和捜索关键词顶点 连接路径,将问题潜在的复杂度从n2降到m2(n表示=元组数目一般百万级别W上甚至上亿, m表示RDF本体定义实例类个数一般几十到数百级别的)。
[0045] 进一步的,在本实施例中,在大规模RDF图数据分布式存储基础上,为用户输入的 查询关键词构建Top-k语义可达路径,首先确定各个查询关键词对应实例类,其次依据RDF 本体表构建类-属性二维模型CP,然后在m*m二维矩阵里模型中捜索涵盖所有实例类的语义 通路。在CP中捜索所有查询实例类两两可达语义路径阶段,利用SSE函数进行评分返回评分 高的Top-k语义可达路径。构建Top-k语义可达路径实现如算法IW及表3所示。
[0046] 算法1:为输入的查询关键词构建Top-k语义可达路径算法
[0047] 输入:关键词查询Q Jbase数据表,CP和整型值k [004引输出:关于查询Q的Top-k语义可达路径
[0049]表 3
[(K)加]
[0化1 ] 在本实施例中,输入查询关键词"Apollo-11 ,Rocket ,Arms化ong"表达用户想查询 关于"阿波罗11号"的信息。为了便于解释算法1具体执行过程如图4所示,W图2中RDF数据 片段来说明。阶段一找到关键词匹配的关键词顶点,阶段二将关键词顶点映射到本体中对 应的实例类,最后阶段=构建关于查询关键词的语义可达路径。
[0052]图4查询示例的语义可达路径利用SSE语义评分计算过程如下,阶段二中的Ol,02, 03 和04 分别对应实例类 SpaceMiss ion, Str ing,化rson 和 Rocket。
[0化3]
[0054]进一步的,在本实施例中,利用MapReduce分布式捜索算法的构建思想如下所示: 面对大规模分布式语义网数据的巨大计算量,借助MapReduce并行计算模型来加快完成RDF 关键词查询。为了避免了直接在大规模RDF数据图上多次的迭代计算与捜索,该算法先基于 RDF本体上推导出查询关键词所对应实例类间可能的语义连接路径,从所有语义连接路径 中提取公共子路径来减少不必要的冗余计算,然后只需执行一个MapReduce实现并行计算 即可完成查询,有效地减少整体计算的复杂性,提升查询效率。
[0055] 在本实施例中,首先对路径进行预处理,假定用户输入由m个关键词构成的查询Q, 其对应RDF本体中的实例类集合C和匹配的关键词顶点集合V,执行算法1得到查询Q对应的 Top-k语义路径集合SRPs化条语义可达路径,其中每条都覆盖C中所有实例类),记为SRPs = {srpl,s巧2,…,s巧i,…,s巧k}。一条SRP可W看成由许多段子路径构成的,假定srpl = pl- P2-P3-P4,S;rp2 = P1-P2-P日-P6,S巧3 = P3-P日-P6,显然SRPs中路径间会有公共的子路径,如果在 MapReduce阶段并行捜索所有SPRs中的路径会有很多冗余的计算拉低了整体的查询性能。 因此,在进行MapReduce计算前,我们先对SRPs中所有路径提取公共子路径减少不必要的冗 余计算,S巧谢S巧2具有公共子路P广P2,记为<(1,2),徊,口2)〉,从及其他路径间的公共子路 径 <(1),(P4)〉,<(1,3),(P3)〉,<(2,3),(P5,P6)〉。
[0056] 在本实施例中,如图4所示,阶段一中匹配的关键词顶点和阶段=中构建得到的 Top-k语义可达路径作为MapReduce的输入,然后从结构化存储层化ase分布式数据库中读 取匹配的畑F实例S元组实现畑F关键词分布式并行捜索,MapReduce处理过程包括Map阶段 与Reduce阶段。
[0057] Map阶段:依据SRPs确定并行关键词顶点对应的捜索路径的实例S元组,如S元组 满足捜索路径则生成一对<key,value〉。其中key为满足的路径srpi的序号i,value为四元 组,如<(1),(Pl,St,Pt,0t)>表示实例S元组(31;,口1;,〇1;)满足51^^中的3巧1的子路径口1。
[005引 Reduce阶段:完成同一个捜索路径srpi对应的多个子路径的连接,每个连接得到 一个查询结果。最后并行完成所有的SRPs捜索路径的连接操作,返回查询结果Rs= {Ri, R2,''',把,…,Rk} dDSSOK算法的MapReduce具体处理过程如图5所示。
[0059] W上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作 用未超出本发明技术方案的范围时,均属于本发明的保护范围。
【主权项】
1. 一种基于关键词的RDF分布式语义搜索方法,其特征在于,基于RDF本体构建输入查 询关键词的语义可达路径,在构建阶段根据查询内容的语义内容和语义结构进行评分排 序,生成Top-k语义可达路径,然后利用MapReduce计算框架并行搜索返回Top-k查询结果。2. 根据权利要求1所述的基于关键词的RDF分布式语义搜索方法,其特征在于,还包括 一 Hbase分布式存储阶段,且存储过程按照如下方式实现:在MapReduce计算框架的Map阶 段,将RDF实例元组以及OWL本体按类别并行解析分割,在Reduce阶段输出类元组,得到分割 后类元组数据文件,并批量导入Hbase分布式数据库。3. 根据权利要求2所述的基于关键词的RDF分布式语义搜索方法,其特征在于,所述 Hbase分布式数据库包括如下类型表:0WL_Table、Index_S_Table、Index_0_Table、 ClassName_SP0以及ClassName_0PS;所述0WL_Table存储RDF本体信息,类、属性的定义信息 及语义关联关系;所述Inde X_S_Table为主语S索引表,存储所有主语为S对应类的实例三元 组;所述IndeX_0_Table为宾语0索引表,存储所有宾语为0对应类的或文本的实例三元组; 所述ClassName_SP0以(S,P,0)形式存储每个类的实例三元组信息;所述ClassName_0PS以 (0,P,S)形式存储每个类的实例三元组信息。4. 根据权利要求2所述的基于关键词的RDF分布式语义搜索方法,其特征在于,构建 Top-k语义可达路径按照如下方式实现:首先确定用户输入的各个查询关键词对应实例类; 其次依据RDF本体表构建类-属性二维模型CP;然后在m*m二维矩阵模型中搜索涵盖所有实 例类的语义通路。5. 根据权利要求4所述的基于关键词的RDF分布式语义搜索方法,其特征在于,在所述 类-属性二维模型CP中搜索所有查询实例类两两可达语义路径阶段,利用SSE函数进行评分 返回评分高的Top-k语义可达路径;其中,SSE函数如下所示:?: α为调节参数,Length(path) = Ei,jei,2,...,mdistance(ci,Cj)Length (path)表示语义内容评分,等于语义路径的路径长度,distance (Ci,Cj)为实例类Ci 和Cj间语义距离,sim(path)表示语义结构评分,I(Ci)为实例类Ci定义属性的集合,I I(Ci) I 为集合个数。I(Ci) (? I(Cj)为实例类Ci和实例类Cj共同定义的属性。6. 根据权利要求5所述的基于关键词的RDF分布式语义搜索方法,其特征在于,在所述 MapReduce计算框架并行搜索阶段,对所述Top-k语义可达路径集合SRPs进行预处理,将所 有路径提取公共子路径;将预处理后的SRPs作为MapReduce的输入,从所述Hbase分布式数 据库中读取匹配的RDF实例三元组实现RDF关键词分布式并行搜索。7. 根据权利要求6所述的基于关键词的RDF分布式语义搜索方法,其特征在于,在所述 MapReduce的Map阶段:根据所述路径集合SRPs确定并行关键词顶点对应的搜索路径的实例 三元组,若实例三元组满足搜索路径则生成一对〈key,value〉,其中,key为满足的路径Srp 1 的序号i,value为四元组; 在所述MapReduce的Reduce阶段:完成同一个搜索路径srpi对应的多个子路径的连接, 每个连接得到一个查询结果;最后并行完成所有的SRPs搜索路径的连接操作,返回查询结 果: Rs = {Ri,R2,··_,Ri,··_,Rk} 其中,k为语义可达路径的路径数。
【文档编号】G06F17/27GK106021457SQ201610326228
【公开日】2016年10月12日
【申请日】2016年5月17日
【发明人】汪璟玢, 陈双
【申请人】福州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1