基于语义搜索的推理方法

文档序号:6460475阅读:173来源:国知局

专利名称::基于语义搜索的推理方法
技术领域
:本发明涉及基于语义搜索方法,特别是涉及一种基于语义搜索的推理方法。
背景技术
:网络的出现,极大地改变了人们的生活,丰富了人们的交流方式,增加了人们获取资料的途径,加速了信息的流通,影响了人们的休闲方式,等等,可以说,网络是二十世纪后期以来对人们影响最大的技术。但是目前的网页,其表达语言为超文本标记语言,即HTML,在发明之初,是面向人的,即网页的内容通过浏览器,展示给人,这导致其内容不能很好的被机器所理解,影响了网页内容处理的自动化。随着网络信息的急剧增长,人们从海量的信息中有效地获取知识变得困难。现有的搜索,特别网页搜索,其方法是基于文本的,即对文本进行分词,然后再对这些文本中的词语建立索引,以提高搜索的效率。但是,这种方式的搜索,虽然极大程度上提高了人们查找资料、获取信息的方便性,也存在着天生的缺陷,即无法处理语义相关的信息。比如,如果需要了解浙江省内的纺织企业信息,以关键字"浙江纺织"进行搜索,发现不了那些介绍杭州纺织企业的相关网页,除非这些网页中直接出现"浙江纺织"这两个关键字。为了处理网页的语义信息,语义网技术在网页中增加了元数据,用以对网页中的资源进行说明。如果要运用这些元数据,来提高搜索的质量,必须要根据这些知识,进行推理,以发掘隐式的知识。为了让机器能够更好的处理网络资源。万维网的创始人TimBerners-Lee在"科学美国人"上对下一代的网络作了描绘,认为下一代网络的将是语义网(SemanticWeb)。运用语义网,能够极大地加强知识的共享,提高知识处理的自动化程度。语义网的逻辑基础是描述逻辑(DescriptionLogic,DL)。如果语义网需要对其表达的知识进行推理,发现其中的隐含知识,则需要运用描述逻辑的推理能力。目前的研究表明,对于普通表达能力的描述逻辑语言ALC来说,其复杂度是pspace-complete,因此,如果不加以优化,很难应用在网络化的环境当中。目前已有一些优化策略被应用于描述逻辑的推理过程中,比如缓冲(cache),延迟展开(LazyUnfolding)等,但是对于ALC这样表达能力较弱的描述逻辑来说,其复杂度已经是pspace-complete。现有的这几种优化策略,推理效率低,时间复杂度高,使得描述逻辑的应用受到了很大的制约,很难在网络搜索中应用。
发明内容本发明的目的在于提供一种基于语义搜索的推理方法,是用于语义搜索的推理步骤中的,采用近似化的方法来提高推理效率,对ABox和TBox推理进行算法复杂度评估,当算法复杂度大于一定的阈值时,釆用近似推理方法计算,并对近似推理所得的推理结果进行修正,得到最终的推理结果。本发明采用的技术方案是1.该方法的步骤如下(1)设定阈值,对ABox和TBox的推理进行算法复杂度评估,当算法复杂度大于阈值时,继续执行,否则,执行步骤(3);(2)采用推理方法进行推理,执行步骤(4);(3)采用FaCt++推理机中的推理方法进行推理,得到最终推理结果,结束;(4)对步骤(2)所得的推理结果进行修正,把修正后的结果作为最终推理结果,结束。2.根据1所述步骤(l)中对ABox和TBox的推理进行算法复杂度评估,具体包括如下步骤(1)对ABox推理的算法复杂度评估,首先,对ABox进行Precompletion处理,并对Precompletion的算法复杂度进行评估,ABox在经过Precompletion处理之后,对ABox的推理就归约到对TBox的推理;(2)对以tableaux算法为基础的TBox推理进行算法复杂度评估。3.根据2所述步骤(l)中对ABox的Precompletion处理过程进行算法复杂度评估;TBox记为TB,ABox记为AB,概念记为C,个体记为a,用C(a)表示个体a属于概念C,用函数T(C(a))表示对TB,AB—C(a)判定的时间估算,运算符"|="为ABox—致检査中分类优化的重构运算符,对ABox的Precompletion处理过程进行算法复杂度评估,依次按照如下步骤进行算法评估,并且循环执行如下步骤,直到AB没有扩展的规则为止,具体包括如下步骤(1)Precompletion过程的规则1为,AB+£{o:C}UAB,其时间复杂度为T(C(a))=0,其中U是描述逻辑中的Disjunction运算符,"o:C"表示概念C中的所有个体o;(2)Precompletion过程的规则2为AB^fl{o:Cl,o:C2)UAB,其时间复杂度为T(C(a))-2+T(C1(a))+T(C2(a)),其中门是描述逻辑中的Conjunction运算符,Cl,C2表示概念,且满足C-Clf!C2,T(Cl(a))和T(C2(a))将被递归计算;(3)Precompletion过程的规则3为AB+U{o:D}UAB,其时间复杂度为T(C(a))=2+T+T(Cl(a))+T(C2(a)),其中T表示当前的T(C(a))的值,概念D,C,Cl,C2之间满足C-C1UC2,D-C1或者D-C2,T(Cl(a))和T(C2(a))将被递归计算;(4)Precompletion过程的规则4为AB》V{o,:D}UAB,其时间复杂度为T(D(a))=n+n*T(D(a))+T(tc,.(a)),其中V为描述逻辑中的全称量词,上述规则的应用必须满足C-VR.D,并且在AB中有n个断言R(a,oi')和Q(a),C=VR.D表示关系R对概念D的值约束为概念C,R(a,oi')表示个体a和个体oi,通过关系R相关联。4.根据2所述步骤(2)中对以tableaux算法为基础的TBox推理进行算法复杂度评估,采用基于WacheH.定义的启发式①函数的改进函数对概念E进行评估,启发式①函数的改进函数具体包括O(A):l;①("A)-0,其中,是描述逻辑中的Negation运算;①(CDD)=2+①(C)十①(D);①(CUD)-(J)+2+0(C)+0(D),其中(t)是当前的①(E)的值;C)(3R.C)=2+(D(C)*n,其中3为描述逻辑中的存在量词,3R.C表示关系R对概念C的存在约束,n是GCI中VR.D形式的表达式的个数,GCI是概念包含公理的简称;①(VR.C)-n+n*O(C)其中n是E当中的存在量词的数目以及GCI当中3R.D形式的概念的个数;依次使用上述启发函数,直到没有启发函数可用,评估终止。5.根据1所述步骤(2)中的推理方法具体包括如下步骤(l)记概念为C,概念C对应的个体集合为CI,所有个体集合为O,RI为个体之间的角色关系集合,采用如下规则进行计算,规则一如果c-cinc2,那么ci=ciinc2i;规则二如果C-C1UC2,那么CI=C1IUC2I;规则三如果C-,C1,那么CI-O-CII;规则四如果C=3R.C1,那么CI={xeOI存在一个yeO,满足〈x,y^RI,而且yeCl仏规则五如果C-VR.Cl,那么CI-(xeOlxeO,并且xeVR.C2,并且C2GCl;(2)使用德摩根定律,将概念C转换成-CinC2的形式,其中,C1是TB中的一个概念,此时获取到C1I;(3)对于TB中的任意一个概念D,如果D的后继都包含于概念C2,那么检查DsC2,如果D的个体包含于CI,那么DeC21,检查下一个概念;(4)如果DI-C21,那么DcxC2,其中CI和DI是推理中获得的属于概念C和D的个体;如果DIsC2I,并且DI,C2I的个体数大于ABox中每个概念拥有个体数的平均值,那么推理结果用PsC2表示,对于DI,C2I的个体数小于ABox中每个概念拥有个体数的平均值,采用?八(:丁++推理机进行DsC2的判断;(5)得到C2的所有子概念集合,C2的个体集合C2I为所有子概念的个体的总和,CI=ClinC2I。6.根据1所述步骤(4)中,对歩骤(2)中计算所得的结果进行修正,记通过步骤(2)获取的个体集合为(t),进行TB,AB卜C(t)运算。与
背景技术
相比,本发明具有的有益效果是-自适应的返回精确推理结果还是近似推理结果,提高了推理的效率,降低了推理的时间复杂度。附图是本发明的推理流程图具体实施例方式本发明是用于语义搜索的推理步骤中的,下面将以官方网站上的数据作为具体实施例的待推理数据,包括http:〃protege.cim3.net/file/pub/ontologies/travel/travel.owl,简称travel,其概念禾口个体数为48个;http:〃protege.cim3.net/file/pub/ontologies/wine/wine.owl,简禾尔wine&food,其概念和个体数为345个;http:〃protege.cim3.net/file/pub/ontologies/not.galen/not-galen.owl,简禾尔not-galen,其概念和个体数为1977个。基于语义搜索的近似化推理方法的具体流程参照推理流程图。l.该方法的步骤如下(l)设定阈值,对ABox和TBox的推理进行算法复杂度评估,当算法复杂度大于阈值时,继续执行,否则,执行步骤(3);(2)采用推理方法进行推理,执行步骤(4);(3)采用FaCt++推理机中的推理方法进行推理,得到最终推理结果,结束;(4)对步骤(2)所得的推理结果进行修正,把修正后的结果作为最终推理结果,结束。2.根据1所述步骤(l)中对ABox和TBox的推理进行算法复杂度评估,具体包括如下步骤(1)对ABox推理的算法复杂度评估,首先,对ABox进行Precompletion处理,并对Precompletion的算法复杂度进行评估,ABox在经过Precompletion处理之后,对ABox的推理就归约到对TBox的推理;(2)对以tableaux算法为基础的TBox推理进行算法复杂度评估。3.根据2所述步骤(l)中对ABox的Precompletion处理过程进行算法复杂度评估;TBox记为TB,ABox记为AB,概念记为C,个体记为a,用C(a)表示个体a属于概念C,用函数T(C(a))表示对TB,ABI《(a)判定的时间估算,运算符"|="为ABox—致检查中分类优化的重构运算符,对ABox的Precompletion处理过程进行算法复杂度评估,依次按照如下步骤进行算法评估,并且循环执行如下步骤,直到AB没有扩展的规则为止,具体包括如下步骤(1)Precompletion过程的规则1为,AB分s{o:C}UAB,其时间复杂度为T(C(a))=0,其中U是描述逻辑中的Disjunction运算符,"o:C"表示概念C中的所有个体o;(2)Precompletion过程的规则2为AB">fl{o:Cl,o:C2}UAB,其时间复杂度为T(C(a))=2+T(Cl(a))+T(C2(a)),其中fl是描述逻辑中的Conjunction运算符,Cl,C2表示概念,且满足C-C1DC2,T(Cl(a))和T(C2(a))将被递归计算;(3)Precompletion过程的规则3为AB^U{o:D}UAB,其时间复杂度为T(C(a))=2+T+T(Cl(a))+T(C2(a)),其中T表示当前的T(C(a))的值,概念D,C,Cl,C2之间满足OClUC2,D^C1或者D-C2,T(Cl(a))和T(C2(a))将被递归计算;(4)Precompletion过程的规则4为AB^V(o,:D)UAB,其时间复杂度为T(D(a))=n+n*T(D(a))+T(tc,(a)),其中V为描述逻辑中的全称量词,上述规则的1=1应用必须满足C-VR.D,并且在AB中有n个断言R(a,oi,)和C;(a),C=VR.D表示关系R对概念D的值约束为概念C,R(a,oi')表示个体a和个体oi'通过关系R相关联。4.根据2所述步骤(2)中对以tableaux算法为基础的TBox推理进行算法复杂度评估,采用基于WacheH.定义的启发式0>函数的改进函数对概念E进行评估,启发式巾函数的改进函数具体包括0(A)=1;。OA)=0,其中,是描述逻辑中的Negation运算;①(C(1D)=2+①(C)+①(D);①(CUD)-(i)+2+cD(C)+①(D),其中(b是当前的①(E)的值;0(3R.C)=2+0(C)*n,其中3为描述逻辑中的存在量词,3R.C表示关系R对概念C的存在约束,n是GCI中VR.D形式的表达式的个数,GCI是概念包含公理的简称;0(VR.C)=n+一①(C)其中n是E当中的存在量词的数目以及GCI当中3R,D形式的概念的个数;依次使用上述启发函数,直到没有启发函数可用,评估终止。5.根据1所述歩骤(2)中的推理方法具体包括如下步骤(1)记概念为C,概念C对应的个体集合为CI,所有个体集合为O,RI为个体之间的角色关系集合,采用如下规则进行计算,规则一如果c:cinc2,那么ci=ciinc2i;规则二如果C-C1UC2,那么CI=C1IUC2I;规则三如果O,Cl,那么OO-CII;规则四如果C-SR.Cl,那么CI={xeO|存在一个yeO,满足〈x,y^RI,而且yeClI〉;规则五如果C-VR.Cl,那么CI={xeOIxeO,并且xeVR.C2,并且C2GC1;(2)使用德摩根定律,将概念C转换成-CinC2的形式,其中,C1是TB中的一个概念,此时获取到C1I;(3)对于TB中的任意一个概念D,如果D的后继都包含于概念C2,那么检査D-C2,如果D的个体包含于CI,那么DsC21,检査下一个概念;(4)如果DIcrC21,夷P么DcC2,其中CI和DI是推理中获得的属于概念C和D的个体;如果Dl£C2I,并且DI,C2I的个体数大于ABox中每个概念拥有个体数的平均值,那么推理结果用D=C2表示,对于DI,C21的个体数小于ABox中每个概念拥有个体数的平均值,采用?八(3丁++推理机进行DeC2的判断;(5)得到C2的所有子概念集合,C2的个体集合C2I为所有子概念的个体的总和,ci=cnnc2i。6.根据1所述步骤(4)中,对步骤(2)中计算所得的结果进行修正,记通过步骤(2)获取的个体集合为(U,进行TB,AB卜C(t)运算。三个实施例实施结果如表l,表2所示。表1为近似化推理的个体获取召回率,召回率是检索出的相关个体和库中所有的相关个体的比率,是用户衡量检索系统查全率的。由表1可知三个具体是实施例的召回率针对n、U、3运算符都是比较高的,对V运算符来说召回率较低。但是,V运算符组成的是复杂的表达式,而在现有的网络搜索中,关键字大多为两至三个,多为简单查询,因此,在语义化的搜索中,虽然个别复杂表达式的召回率低,绝大多数简单査询召回率高,是符合实际需要的。表l近似化推理的个体获取的召回率<table>tableseeoriginaldocumentpage11</column></row><table>表2为近似化推理的计算结果,?3"++为目前流行的语义推理工具,从表2,可知采用近似化推理方法,进行测试判断的次数明显小于采用?^1++推理的测试判断次数,并且,采用近似化推理方法的推理时间也明显小于釆用Fact++推理的时间,同时错误率也控制在比较小的范围内。表2近似化推理的计算结果<table>tableseeoriginaldocumentpage12</column></row><table>总之,本发明的试验实施的实施例是成功的,实现了发明目的。权利要求1.一种基于语义搜索的推理方法,其特征在于该方法的步骤如下(1)设定阈值,对ABox和TBox的推理进行算法复杂度评估,当算法复杂度大于阈值时,继续执行,否则,执行步骤(3);(2)采用推理方法进行推理,执行步骤(4);(3)采用Fact++推理机中的推理方法进行推理,得到最终推理结果,结束;(4)对步骤(2)所得的推理结果进行修正,把修正后的结果作为最终推理结果,结束。2.根据权利要求1所述的一种基于语义搜索的推理方法,其特征在于所述的步骤(l)中对ABox和TBox的推理进行算法复杂度评估,具体包括如下步骤(1)对ABox推理的算法复杂度评估,首先,对ABox进行Precompletion处理,并对Precompletion的算法复杂度进行评估,ABox在经过Precompletion处理之后,对ABox的推理就归约到对TBox的推理;(2)对以tableaux算法为基础的TBox推理进行算法复杂度评估。3.根据权利要求2所述的一种基于语义搜索的推理方法,其特征在于所述的步骤(l)中对ABox的Precompletion处理过程进行算法复杂度评估;TBox记为TB,ABox记为AB,概念记为C,个体记为a,用C(a)表示个体a属于概念C,用函数T(C(a))表示对TB,AB卜C(a)判定的时间估算,运算符"|="为ABox一致检查中分类优化的重构运算符,对ABox的Precompletion处理过程进行算法复杂度评估,依次按照如下步骤进行算法评估,并且循环执行如下步骤,直到AB没有扩展的规则为止,具体包括如下步骤(1)Precompletion过程的规则1为,AB》s{o:C}UAB,其时间复杂度为T(C(a))=0,其中U是描述逻辑中的Disjunction运算符,"o:C"表示概念C中的所有个体o;(2)Precompletion过程的规则2为AB^n{o:Cl,o:C2}UAB,其时间复杂度为T(C(a))=2+T(Cl(a))+T(C2(a)),其中fl是描述逻辑中的Conjunction运算符,Cl,C2表示概念,且满足C-CinC2,T(Cl(a))和T(C2(a))将被递归计算;(3)Precompletion过程的规则3为AB>>U{o:D}UAB,其时间复杂度为T(C(a))=2+T+T(Cl(a))+T(C2(a)),其中T表示当前的T(C(a))的值,概念D,C,Cl,C2之间满足OClUC2,D-C1或者DK:2,T(Cl(a))禾卩T(C2(a))将被递归计算;(4)Precompletion过程的规则4为AB今V{o,:D}UAB,其时间复杂度为T(D(a))=n+n*T(D(a))+T(tc,(a)),其中V为描述逻辑中的全称量词,上述规则的,'=1应用必须满足C-VR.D,并且在AB中有n个断言R(a,oi,)和C;(a),C=VR.D表示关系R对概念D的值约束为概念C,R(a,oi')表示个体a和个体oi,通过关系R相关联。4.根据权利要求2所述的一种基于语义搜索的推理方法,其特征在于,所述的步骤(2)中对以tableaux算法为基础的TBox推理进行算法复杂度评估,采用基于WacheH.定义的启发式O函数的改进函数对概念E进行评估,启发式O函数的改进函数具体包括0)(A)=1;O("A)=0,其中,是描述逻辑中的Negation运算;①(C门D)=2+①(C)+①(D);0(cUd)=4)+2+0(C)+0(D),其中(t)是当前的①(e)的值;0(3R.C)=2+0(C)*n,其中3为描述逻辑中的存在量词,3RX表示关系R对概念C的存在约束,n是GCI中VR.D形式的表达式的个数,GCI是概念包含公理的简称;①(VR.C)=n+n*cD(Q其中n是E当中的存在量词的数目以及GCI当中3R.D形式的概念的个数;依次使用上述启发函数,直到没有启发函数可用,评估终止。5.根据权利要求1所述的一种基于语义搜索的推理方法,其特征在于,所述的步骤(2)中的推理方法具体包括如下步骤(l)记概念为C,概念C对应的个体集合为CI,所有个体集合为O,RI为个体之间的角色关系集合,采用如下规则进行计算,规则一如果c-cinc2,那么CK:iinc2i;规则二如果C-C1UC2,那么CI=C1IUC2I;规则三如果C-,Cl,那么CI-O-CII;规则四如果(:=311.<:1,那么CI={xeO|存在一个yeO,满足〈x,y^RI,而且yeClI);规则五如果C-VR.Cl,那么CI={xeOIXeO,并且xeVR.C2,并且C2^C1;(2)使用德摩根定律,将概念C转换成-CinC2的形式,其中,C1是TB中的一个概念,此时获取到C1I;(3)对于TB中的任意一个概念D,如果D的后继都包含于概念C2,那么检查DcC2,如果D的个体包含于CI,那么DsC21,检查下一个概念;(4)如果DI(zC21,夷,么DczC2,其中CI和DI是推理中获得的属于概念C和D的个体;如果DIsC2I,并且DI,C2I的个体数大于ABox中每个概念拥有个体数的平均值,那么推理结果用DeC2表示,对于DI,C21的个体数小于ABox中每个概念拥有个体数的平均值,采用?入<:丁++推理机进行D=C2的判断;(5)得到C2的所有子概念集合,C2的个体集合C2I为所有子概念的个体的总和,ci=ciinc2i。6.根据权利要求1所述的一种基于语义搜索的推理方法,其特征在于,所述的步骤(4)中,权利要求1所述步骤(2)中计算所得的结果进行修正,记通过权利要求1所述步骤(2)获取的个体集合为{0,进行TB,AB卜C(t)运算。全文摘要本发明公开了一种基于语义搜索的推理方法。该方法的步骤如下(1)设定阈值,对ABox和TBox的推理进行算法复杂度评估,当算法复杂度大于阈值时,继续执行,否则,执行步骤(3);(2)采用推理方法进行推理,执行步骤(4);(3)采用Fact++推理机中的推理方法进行推理,得到最终推理结果;(4)对步骤(2)所得的推理结果进行修正,把修正后的结果作为最终推理结果。本发明能够自适应的返回精确推理结果还是近似推理结果,提高了推理的效率,降低了推理的时间复杂度。文档编号G06F17/30GK101281533SQ20081006201公开日2008年10月8日申请日期2008年5月21日优先权日2008年5月21日发明者芳唐,李山亭,铭蔡,赵国荣,刚陈申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1