一种基于概率模式匹配的关键字查询转换与分发系统和方法与流程

文档序号:12122057阅读:142来源:国知局
一种基于概率模式匹配的关键字查询转换与分发系统和方法与流程

本发明涉及一种关键字查询转换与分发系统和方法,特别是一种基于概率模式匹配的关键字查询转换与分发系统和方法。



背景技术:

用户对关键字查询转换可以分为两步:首先将用户的关键字查询转换到结构化的集成查询接口,再进一步分发到各Web数据库查询接口上。这两个步骤均依赖于正确的模式匹配。第一步是利用实例信息进行模式匹配,第二步是利用模式信息及实例信息进行模式匹配。

自动模式匹配方法的研究在过去十年有了长足的进展。一些原型系统在自动或半自动模式匹配研究方面有了新的突破。如:SEMINT、Cupid、DIKE、COMA等系统。但在这些系统中,模式匹配的方法都是在寻找确定的匹配结果,忽略模式匹配的不确定性。值得注意的是,这其中的模式匹配存在着不确定性。

一方面,用户提交的关键字查询往往只有属性值而不包含属性名,由于属性名的缺失使得属性的语义变得难以判断,当将其映射到相应的结构化集成查询接口上时,可能产生多种有一定合理性的匹配结果。

另一方面,集成接口模式与各Web数据库查询接口的模式之间的匹配也往往是不准确的。首先,由于各Web数据库由不同的组织或个人在不同的时间和地点设计,自治性很强,造成了内容和形式的复杂性和多样性,这给模式匹配的准确性提出了更大的挑战;而且由于Web数据库一直处于动态变化中,据观察,Web数据库查询接口平均每三个月就会发生一些变化,这导致了已有的集成接口到各Web数据库查询接口的模式匹配经常失效;再者,自动模式匹配抽取的不准确也给后续的模式匹配增加了不确定因素。因此,集成接口模式与各Web数据库查询接口模式之间的匹配存在诸多不确定性。



技术实现要素:

本发明的目的是要提供一种基于概率模式匹配的关键字查询转换与分发系统和方法,解决如何在不确定性存在的前提下,进行用户关键字查询高效而准确地转换和分发的问题。

本发明的目的是这样实现的:本发明用于用户关键字查询的转换和分发包括关键字查询转换与分发系统和关键字查询转换与分发方法。

所述的关键字查询转换与分发系统包括:关键字查询接口、集成查询接口、Web数据库查询接口、关键字查询转换模块和查询分发模块;用户在关键字查询接口提交关键字查询,由关键字查询转换模块将用户的关键字查询转换为集成查询接口的查询,再由查询分发模块进一步将查询分发至各Web数据库查询接口,对各Web数据库进行查询。

所述的关键字查询接口,用于用户提交查询请求,即提交查询关键字;

所述的集成查询接口,是由各Web数据库查询接口抽取集成得到的结构化查询接口;

所述的Web数据库查询接口,是从Web上爬取得到的同一领域的数据库查询接口;

所述的关键字查询转换模块,用于将关键字查询接口上用户提交的查询转换至结构化集成查询接口上;

所述的查询分发模块,用于将集成查询接口上的查询分发至Web数据库查询接口上。

所述的关键字查询转换模块进一步包括:转换数据类型分析子模块、基于概率的转换模式匹配子模块和关键字转换子模块;先由数据类型分析子模块分析具有相同数据类型的关键字与集成接口的概念,将其作为潜在的匹配对;然后由基于概率的模式匹配子模块计算可能匹配对的匹配概率;最后由关键字转换子模块将用户的关键字查询转换至集成查询接口。

所述的转换数据类型分析子模块,用于分析用户查询的关键字、结构化集成接口的各概念所属的数据类型;所述的基于概率的转换模式匹配子模块,用于计算各可能匹配的匹配概率,不同的数据类型采用不同的计算方法,计算出匹配的概率;所述的关键字转换子模块,将各匹配概率按降序排序,选择且得到最优模式匹配结果,将关键字查询接口上用户提交的查询转换至结构化集成查询接口上。

所述的查询分发模块进一步包括:分发数据类型分析子模块、基于概率的分发模式匹配子模块和查询分发子模块;先由数据类型分析子模块分析具有相同数据类型集成接口的概念与各Web数据库查询接口各属性,将其作为潜在的匹配对;然后由基于概率的模式匹配子模块计算可能匹配对的匹配概率;最后由关查询分发子模块将集成接口的查询分发至各Web数据库查询接口各属性。

所述的分发数据类型分析子模块,用于分析结构化集成接口的各概念和各Web数据库查询接口各属性所属的数据类型;所述的基于概率的分发模式匹配子模块,用于计算各可能匹配的匹配概率,不同的数据类型采用不同的计算方法,计算出匹配的概率;所述的查询分发子模块,将各匹配概率按降序排序,选择且得到最优模式匹配结果,将集成查询接口上的查询分发至Web数据库查询接口上。

所述的关键字查询转换与分发方法包括以下步骤:

步骤A:将用户的关键字查询转换为结构化集成查询接口的查询;利用用户查询的关键字信息和集成查询接口各概念的候选值信息,寻找关键字查询模式与集成查询接口模式之间的模式匹配关系,建立用户查询关键字和集成的结构化查询接口中的相关概念之间的对应关系,从而将用户的关键字查询转换为结构化集成查询接口的查询;

步骤B:将集成接口的结构化查询分发到各Web数据库查询接口的查询;利用集成接口的模式信息、候选值信息和Web数据库查询接口的模式信息、候选值信息,寻找集成查询接口模式与各Web数据库查询接口模式之间的匹配关系,建立集成查询接口各概念与Web数据库查询接口各属性的模式对应关系,从而将集成接口的结构化查询分发到各Web数据库查询接口;所述的集成接口的模式为概念及相应的标签名集合。

所述的步骤A和步骤B均包括有延伸步骤,步骤A和步骤B的每一步的延伸步骤分别相同,具体步骤如下:

步骤A1或步骤B1:基于数据类型进行匹配的优化。数据类型是否相同其实是进行关键字和集成查询接口的概念之间或者集成查询接口的概念与Web数据库查询接口的属性之间是否匹配的先决条件,即关键字往往与其数据类型相同的概念匹配,概念也只与数据类型相同的属性匹配。基于数据类型的匹配优化就是将同类型的匹配项放在一组,进行匹配概率计算,否则不再进行匹配概率计算;所述的数据类型包括文本型、数字型和时间型。

步骤A2或步骤B2:对于不同的数据类型的匹配项进行匹配时,采用不同的概率计算方法,得到基于概率模式匹配的最优匹配结果。

步骤A3或步骤B3:将用户的关键字查询匹配到集成查询接口,再由集成查询接口进一步分发至各Web数据库查询接口。

所述的步骤A2和步骤B2均包括有延伸步骤,步骤A2和步骤B2的每一步的延伸步骤分别相同,具体步骤如下:

步骤A21或B21步骤:对于字符型数据类型的匹配,采用基于字符串相似度的计算方法得到匹配概率,目前成熟的字符串相似度计算方法很多,例如Levenshtein distance,Affine gap distance,Jaro distance,Q-gram distance,相似度计算结果作为匹配的概率;

步骤A22或B22步骤:对于数字型数据类型的匹配,基于数字实例的覆盖情况,(1)无覆盖;(2)松散部分覆盖;(3)松散覆盖;(4)单一约束覆盖;(5)复杂约束覆盖,进行模式匹配的剪枝,得到可能的匹配对;

步骤A23或B23步骤:对于可能的数字型数据类型的匹配对,进行匹配概率计算,将各匹配概率按降序排序,选出概率最大的一对作为第一个匹配对,删除包含这个匹配对中任意一项的匹配概率,从余下的匹配概率中选择最大的一对作为第二个匹配对……,依次类推,直到找到所有的匹配项。

所述的步骤A23和步骤B23均包括有延伸步骤,步骤A23和步骤B23的延伸步骤相同,具体步骤如下:

若给定数据为两个数值数据m和n,则匹配概率为:

若给定数据为两组离散的数字型数据的集合S1和S2,S1={n1,n2,n3,…},S2={m1,m2,m3,…},两者的重复数据的多少反映了相似程度,则匹配概率为:

若给定数据为两组范围型的数字集合R1和R2,R1={s1,s2,s3,…},R2={t1,t2,t3,…},两者的重叠程度反映了相似程度,则匹配概率为:

其中,0≤P≤1,且计算出的值越大,两项的匹配程度越大。

有益效果,由于采用了上述方案,通过本发明,可以自动将用户提交的关键字查询高效地转换到结构化集成接口上,进而分发到各Web数据库查询接口上,具有准确性高的特点,是实现自动获取Web数据库信息的基础。

用户可以提交简单的关键字作为查询条件,现有系统一般只提供复杂集成查询接口,用户需根据接口的标签提交相应的查询条件,过程比较繁琐。基于概率模式匹配方法有助于找到更为合理的匹配对,现有方法一般是直接得出是否匹配的结论,而本发明是计算可能的模式匹配的匹配概率。整个系统自动完成,匹配的过程高效,匹配的结果更为合理。

解决了如何在不确定性存在的前提下,进行用户关键字查询高效而准确地转换和分发的问题,达到了本发明的目的。

优点:1.提供给用户提交关键字查询的接口,与现有的在集成查询接口提交结构化查询相比,更为简单快捷。2.基于数据类型的匹配优化将模式的匹配限定在具有相同数据类型的匹配对之间,比现有技术提高了匹配的效率。3.不同的数据类型采用不同的概率计算方法,并提出了数字型数据的匹配方法,现有技术没有对数字型数据提出较好的匹配方法,我们的方法提高了匹配的合理性和准确性。4.在数字型数据匹配计算时,提出了剪枝方法,进一步提高了匹配的准确性。5.整个系统自动完成,用户只需提交关键字查询,系统将查询转换至集成接口,进而分发至各Web数据库查询接口。现有系统只提供从集成接口到各Web数据库查询接口的转换,并未涉及关键字查询至集成查询接口转换的这一步骤。

附图说明:

图1是本发明的一种基于概率模式匹配的关键字查询转换与分发系统的方框图。

图2是本发明的关键字查询转换模块的流程图。

图3是本发明的查询分发模块的流程图。

图4是本发明的基于数据类型的匹配优化示意图。

图5是本发明的实施例中候选值集合Vi和Vj覆盖关系示意图。

具体实施方式

本发明用于用户关键字查询的转换和分发包括关键字查询转换与分发系统和关键字查询转换与分发方法。

所述的关键字查询转换与分发系统包括:关键字查询接口、集成查询接口、Web数据库查询接口、关键字查询转换模块和查询分发模块;用户在关键字查询接口提交关键字查询,由关键字查询转换模块将用户的关键字查询转换为集成查询接口的查询,再由查询分发模块进一步将查询分发至各Web数据库查询接口,对各Web数据库进行查询。

所述的关键字查询接口,用于用户提交查询请求,即提交查询关键字;

所述的集成查询接口,是由各Web数据库查询接口抽取集成得到的结构化查询接口;

所述的Web数据库查询接口,是从Web上爬取得到的同一领域的数据库查询接口;

所述的关键字查询转换模块,用于将关键字查询接口上用户提交的查询转换至结构化集成查询接口上;

所述的查询分发模块,用于将集成查询接口上的查询分发至Web数据库查询接口上。

所述的关键字查询转换模块进一步包括:转换数据类型分析子模块、基于概率的转换模式匹配子模块和关键字转换子模块;先由数据类型分析子模块分析具有相同数据类型的关键字与集成接口的概念,将其作为潜在的匹配对;然后由基于概率的模式匹配子模块计算可能匹配对的匹配概率;最后由关键字转换子模块将用户的关键字查询转换至集成查询接口。

所述的转换数据类型分析子模块,用于分析用户查询的关键字、结构化集成接口的各概念所属的数据类型;所述的基于概率的转换模式匹配子模块,用于计算各可能匹配的匹配概率,不同的数据类型采用不同的计算方法,计算出匹配的概率;所述的关键字转换子模块,将各匹配概率按降序排序,选择且得到最优模式匹配结果,将关键字查询接口上用户提交的查询转换至结构化集成查询接口上。

所述的查询分发模块进一步包括:分发数据类型分析子模块、基于概率的分发模式匹配子模块和查询分发子模块;先由数据类型分析子模块分析具有相同数据类型集成接口的概念与各Web数据库查询接口各属性,将其作为潜在的匹配对;然后由基于概率的模式匹配子模块计算可能匹配对的匹配概率;最后由关查询分发子模块将集成接口的查询分发至各Web数据库查询接口各属性。

所述的分发数据类型分析子模块,用于分析结构化集成接口的各概念和各Web数据库查询接口各属性所属的数据类型;所述的基于概率的分发模式匹配子模块,用于计算各可能匹配的匹配概率,不同的数据类型采用不同的计算方法,计算出匹配的概率;所述的查询分发子模块,将各匹配概率按降序排序,选择且得到最优模式匹配结果,将集成查询接口上的查询分发至Web数据库查询接口上。

所述的关键字查询转换与分发方法包括以下步骤:

步骤A:将用户的关键字查询转换为结构化集成查询接口的查询;利用用户查询的关键字信息和集成查询接口各概念的候选值信息,寻找关键字查询模式与集成查询接口模式之间的模式匹配关系,建立用户查询关键字和集成的结构化查询接口中的相关概念之间的对应关系,从而将用户的关键字查询转换为结构化集成查询接口的查询;

步骤B:将集成接口的结构化查询分发到各Web数据库查询接口的查询;利用集成接口的模式信息、候选值信息和Web数据库查询接口的模式信息、候选值信息,寻找集成查询接口模式与各Web数据库查询接口模式之间的匹配关系,建立集成查询接口各概念与Web数据库查询接口各属性的模式对应关系,从而将集成接口的结构化查询分发到各Web数据库查询接口;所述的集成接口的模式为概念及相应的标签名集合。

所述的步骤A和步骤B均包括有延伸步骤,步骤A和步骤B的每一步的延伸步骤分别相同,具体步骤如下:

步骤A1或步骤B1:基于数据类型进行匹配的优化。数据类型是否相同其实是进行关键字和集成查询接口的概念之间或者集成查询接口的概念与Web数据库查询接口的属性之间是否匹配的先决条件,即关键字往往与其数据类型相同的概念匹配,概念也只与数据类型相同的属性匹配。基于数据类型的匹配优化就是将同类型的匹配项放在一组,进行匹配概率计算,否则不再进行匹配概率计算;所述的数据类型包括文本型、数字型和时间型。

步骤A2或步骤B2:对于不同的数据类型的匹配项进行匹配时,采用不同的概率计算方法,得到基于概率模式匹配的最优匹配结果。

步骤A3或步骤B3:将用户的关键字查询匹配到集成查询接口,再由集成查询接口进一步分发至各Web数据库查询接口。

所述的步骤A2和步骤B2均包括有延伸步骤,步骤A2和步骤B2的每一步的延伸步骤分别相同,具体步骤如下:

步骤A21或B21步骤:对于字符型数据类型的匹配,采用基于字符串相似度的计算方法得到匹配概率,目前成熟的字符串相似度计算方法很多,例如Levenshtein distance,Affine gap distance,Jaro distance,Q-gram distance,相似度计算结果作为匹配的概率;

步骤A22或B22步骤:对于数字型数据类型的匹配,基于数字实例的覆盖情况,(1)无覆盖;(2)松散部分覆盖;(3)松散覆盖;(4)单一约束覆盖;(5)复杂约束覆盖,进行模式匹配的剪枝,得到可能的匹配对;

步骤A23或B23步骤:对于可能的数字型数据类型的匹配对,进行匹配概率计算,将各匹配概率按降序排序,选出概率最大的一对作为第一个匹配对,删除包含这个匹配对中任意一项的匹配概率,从余下的匹配概率中选择最大的一对作为第二个匹配对……,依次类推,直到找到所有的匹配项。

所述的步骤A23和步骤B23均包括有延伸步骤,步骤A23和步骤B23的延伸步骤相同,具体步骤如下:

若给定数据为两个数值数据m和n,则匹配概率为:

若给定数据为两组离散的数字型数据的集合S1和S2,S1={n1,n2,n3,…},S2={m1,m2,m3,…},两者的重复数据的多少反映了相似程度,则匹配概率为:

若给定数据为两组范围型的数字集合R1和R2,R1={s1,s2,s3,…},R2={t1,t2,t3,…},两者的重叠程度反映了相似程度,则匹配概率为:

其中,0≤P≤1,且计算出的值越大,两项的匹配程度越大。

结合附图,对本发明作进一步的详细说明。

实施例1:为了更全面地理解本发明及其优点,现结合附图及具体实施例对本发明做进一步详细的说明。

首先结合图1对本发明的系统进行说明。本发明提供一种基于概率模式匹配的关键字查询转换与分发系统,包括:关键字查询接口、集成查询接口、Web数据库查询接口、关键字查询转换模块、查询分发模块。

用户在关键字查询接口提交查询请求,即提交查询关键字;

通过关键字查询转换模块,利用用户查询的缺失模式信息(属性名)的实例(关键字)信息和集成查询接口各概念的实例(候选值)信息,寻找关键字查询模式与集成查询接口模式之间的模式匹配关系,建立用户查询关键字和集成的结构化查询接口中的相关概念之间的对应关系,将用户的关键字查询转换为结构化集成查询接口的查询。随后参考图2,对该关键字查询转换模块进行更详细地说明。

通过查询分发模块,利用集成接口的模式(概念及相应的标签名集合)信息、实例(候选值)信息和Web数据库查询接口的模式(属性名)、实例(候选值)信息,寻找集成查询接口模式与各Web数据库查询接口模式之间的匹配关系,建立集成查询接口各概念与Web数据库查询接口各属性的模式对应关系,将集成接口的结构化查询分发到各Web数据库查询接口的查询。随后参考图3,对该查询分发模块进行更详细地说明。

下面参考图2、图3、图4和图5,对本发明的一种基于概率模式匹配的关键字查询分发的方法进行详细地说明。

如图2和图3,关键字查询转换模块和查询分发模块,包括:数据类型分析子模块、基于概率的模式匹配子模块,以及查询转换(或分发)子模块。

数据类型分析子模块,用于分析结构化集成接口的各概念和各Web数据库查询接口各属性所属的数据类型。具有相同数据类型是可能匹配的先决条件。

基于概率的模式匹配子模块,用于计算各可能匹配的匹配概率。不同的数据类型采用不同的计算方法,计算出匹配的概率。

查询转换(分发)子模块,将各匹配概率按降序排序,将集成查询接口上的查询分发至Web数据库查询接口上。

如图4所示,数据类型分析子模块是按数据类型对匹配项进行分组:如果不考虑数据类型,将查询的关键字{Key1,Key2,…,Keyk}与集成查询接口的概念{C1,C2,…,Cj}一一匹配,那么可能的匹配结果数量为其中j是复杂查询接口的概念个数,k是用户提交的关键字个数,因为通常复杂的集成查询接口的概念一般在50个左右,计算量比较大。

如果只进行同数据类型的关键字与概念之间的一一匹配,则可能的匹配结果数量为:

其中,k1,k2和k3分别是关键字中包含文本型、数字型和时间型数据的个数,j1,j2和j3分别是集成查询接口的概念中包含文本型、数字型和时间型数据的个数。由于

所以先按数据类型对匹配项进行分组。

如图5所示,基于概率的模式匹配子模块首先对匹配情况进行剪枝,然后计算可能匹配的匹配概率。

对于2-维查询空间与2-维概念空间的模式匹配的剪枝方法:假设集成接口上的两个的概念Ci和Cj(i<>j),Ci与Cj的候选值集合分别为Vi和Vj(均为数字型),用户查询包含数字型关键字Key1和Key2,且Key1和Key2必与Ci与Cj中的一个匹配。另A与B匹配,记作{A,B}。则Vi与Vj存在以下五种情况,如图5所示:

(1)无覆盖:

Vi∩Vj=Φ,即概念Ci与概念Cj的候选值之间不存在任何覆盖的关系,如图5(a)。关键字Key1<>Key2,且Key1,Key2∈(Vi或Vj),那么根据关键字的值的大小可以准确判断与概念Ci和Cj的匹配关系为下面的情况之一:

1)若Key1∈Vi,Key2∈Vj,则匹配结果为:{Key1,Ci},{Key2,Cj};

2)若Key1∈Vj,Key2∈Vi,则匹配结果为:{Key1,Cj},{Key2,Ci};

(2)松散部分覆盖:

Vi∩Vj<>Φ,即概念Ci与概念Cj的候选值之间存在互相覆盖的关系,Vi和Vj之间无约束关系或者很难捕捉到其约束关系,但是覆盖程度比较小,如图5(b)。一般地,对于关键字Key1和Key2

1)若且匹配方法同(1);

2)若Key1∈(Vi∩Vj)且Key2∈(Vj-Vi),根据匹配的互斥性,得到匹配结果{Key1,Ci},{key2,Cj};反之亦然;

3)若Key1∈(Vi∩Vj)且Key2∈(Vi∩Vj),则不能判断匹配关系,需要进一步计算两者的相似度。

(3)松散覆盖:

Vi∩Vj<>Φ,即概念Ci与概念Cj的候选值之间存在互相覆盖的关系,Vi和Vj之间无约束关系或者很难捕捉到其约束关系,而且覆盖程度比较大,如图5(c)。则不能判断匹配关系,需要进一步计算两者的相似度。

(4)单一约束覆盖:

Vi∩Vj<>Φ,即概念Ci与概念Cj的候选值之间存在互相覆盖的关系,且Vi和Vj之间的有简单的约束关系,例如,对于概念Ci与概念Cj的一对取值<Vi,Vj>,Vi总是小于Vj,如图5(d)。如果Key1<Key2,则相应的匹配为{Key1,Ci},{Key2,Cj}。一般地,若概念Ci与概念Cj的任意一对取值<Vi,Vj>:

1)若Vi<Vj且Key1,Key2∈Vi,Vj,若Key1<Key2,则匹配结果为:{Key1,Ci},{Key2,Cj};

2)若Vi>Vj且Key1,Key2∈Vi,Vj,若Key1<Key2,则匹配结果为:{Key1,Cj},{Key2,Ci};

其它情况,依此类推。

(5)复杂约束覆盖:

Vi∩Vj<>Φ,即概念Ci与概念Cj的候选值之间存在互相覆盖的关系,且Vi和Vj之间的有复杂的约束关系,例如,对于概念Ci与概念Cj的一对取值<Vi,Vj>,即Vi与Vj满足的约束关系不是单一的,但Vi与Vj在分段上满足单一约束覆盖(第4种情况),即在每一段上满足单一约束覆盖,如图5(e)。我们可以先分段,再根据对上述第4种方法分段判断关键字与概念的匹配关系。一般地,概念Ci与概念Cj的任意一对取值<Vi,Vj>:

1)若<Vi,Vj>∈Segment1,Vi<Vj且Key1<Key2,则匹配结果为:{Key1,Ci},{Key2,Cj};

2)若<Vi,Vj>∈Segment2,Vi>Vj且Key1<Key2,则匹配结果为:{Key1,Cj},{Key2,Ci};

其它情况,依此类推。

剪枝方法扩展——n-维查询空间与m-维概念空间

前面介绍了2-维查询空间与2-维概念空间的模式匹配的剪枝方法。下面对此做n-维查询空间与m-维概念空间的扩展。

查询空间的维数不同直接影响匹配的结果。若查询只包括一个关键字Key1,其他条件不变,Vi<Vj且Key1∈Vi,Vj,则匹配结果却并不唯一,匹配{Key1,Ci}和{Key1,Cj}的概率各为50%。另一方面,概念空间的维数越高,候选概念子空间越多,因此可能的匹配结果越多。例如,有2-维查询Q={Key1,Key2}和3-维概念{C1,C2,C3},候选概念子空间为{C1,C2},{C2,C3},{C1,C3},与2-维概念{C1,C2}相比,候选概念子空间增加,可能的匹配结果也相应地增加。

因此查询空间的维数与概念空间维数都将影响到最后的匹配结果。对于n-维查询空间与m-维概念空间,且n≤m,则可能的匹配个数为

对模式匹配进行剪枝减少了大量可能匹配的计算,大幅度提高了查询转换和分发的效率。

本方法的意义在于,考虑不确定性模式匹配,计算匹配的概率,尽可能使系统保留合理的匹配结果并按匹配程度排序,得到最为合理的模式匹配结果,正确而高效地将用户关键字查询转换到结构化集成查询接口,并正确地分发到各Web数据库查询接口上。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1