基于模式图的关键字查询改进方法

文档序号:6382432阅读:218来源:国知局
专利名称:基于模式图的关键字查询改进方法
技术领域
本发明涉及数据库上的关键字查询,属于计算机应用领域,尤其涉及一种基于模式图的关键字查询改进方法。
背景技术
数据库系统是用来组织、存储和管理数据的仓库,它在企业、部门乃至个人的日常生产生活等诸多领域都得到了广泛的应用。随着现代互联网的迅速发展,信息呈现爆炸式增长,数据库系统存储的信息不断增多,用户搜索这些信息 的需求也日益激增。传统的数据库访问方式需要用户掌握结构化的查询语言,了解并且熟悉底层的数据模式,而这对于大多数的普通用户来说是非常复杂的。受到关键字查询在Web搜索引擎上获得巨大成功的影响,近些年来在数据库支持关键字查询得到了来自数据库领域和信息检索领域研究人员的广泛关注并且成为新兴的研究热点。不同于传统的数据库查询方式,数据库上的关键字查询简单易用,查询没有固定的格式限制,极大地减轻了用户学习和记忆的压力。但是这也给如何开发一个高效健壮的关键字查询系统带来了巨大挑战。具体表现如下BI.传统的数据库查询的结果是一组孤立的元组,而关键字查询则需要从数据库的不同表中组合与关键字匹配的元组来形成最终结果,这会导致查询的搜索空间急剧膨胀。一般来讲,关键字查询的搜索空间与查询中的关键字数目成指数型关系。2、关键字查询经常是脏的,用户的查询中经常包含一些不相关或者不正确的词,而通常这些脏查询会对随后的查询处理的效率和准确性产生负面的影响。

发明内容
本发明的目的就是为了解决上述问题,提供了一种基于模式图的关键字查询改进方法。为了实现上述目的,本发明采用如下技术方案基于模式图的关键字查询改进方法,包括以下步骤步骤I. IR引擎模块借助于IR索引从数据库导出需要的元组集,候选模块生成器把导出的元组集中的非空元组集和数据库模式图作为输入,生成一组候选网络并用自由树的形式表不,并把表不后的候选网络作为输出;步骤2.查询日志挖掘模块使用已有的树挖掘算法来对用户的查询日志进行挖掘,以获取用户偏好的频繁模式树;步骤3.利用树编辑距离来定义步骤I输出的候选网络与步骤2挖掘得到的频繁模式树的相似度,生成频繁模式树的相似度;步骤4、根据步骤I输出的候选网络与步骤3生成的频繁子树的相似度对生成的候选网络进行排序并优先求解排位靠前的候选网络,以此来改进查询的质量和效率。所述步骤I中的候选网络的生成具体包括以下步骤
(1-1) IR引擎模块从数据库表导出需要的元组集,候选模块生成器调用候选网络生成算法,生成候选网络;(1-2)用自由树的形式表示步骤(1-1)中生成的候选网络,这里的自由树是指连通的且无环的无向图;(1-3)将经过以上步骤(1-2)处理过的候选网络传送到下一个模块,进行数据挖掘,发现其中的频繁模式。步骤I所述的IR索引是一个倒排索引,它记录所有的关键字和关键字在数据库中的出现位置。步骤(1-1)所述的候选网络生成算法最早由DISCOVER提出,然后把它由AND语义扩展到OR语义。所述步骤2中获取用户偏好的频繁模式树具体包括以下步骤(2-1)用户对数据库中的最小支持度进行定义,其中模式的支持度(support)是指数据库中支持的事务所占的比例;(2-2)在步骤I输出的候选网络数据库中,枚举所有频繁的2个节点子树,合并一对频繁I节点子树生成一棵频繁2子树的候选,合并的频繁一个节点子树仅有一个叶节点不同而其他部分全部相同;扫描数据库计算候选的支持度并核实生成的候选是否频繁的,即支持度是否大于或者等于用户指定的最小支持度;若子树的支持度大于或等于用户指定 的最小支持度,该子树则为频繁的,否则不进行选择;(2-3)重复步骤(2-2),合并一对频繁k_l子树生成一棵频繁k子树的候选,观察到合并的频繁k-Ι子树仅有一个叶节点不同而其他部分全部相同,对每棵频繁k子树,扫描数据库计算候选的支持度并核实生成的候选是否频繁的;选择出所有的频繁子树;所述的k表示节点数;(2-4)获得所有频繁子树后对不符合条件的频繁子树进行过滤;符合条件的频繁子树是指模式树的叶节点的标签都是关键字关系;如果模式树的任何一个叶节点标签不是关键字关系,则这样的频繁子树被过滤掉。所述步骤3中生成频繁模式树的相似度具体包括以下步骤(3-1)计算候选网络与频繁模式树的编辑距离;( 3-2 )获得频繁模式树在查询日志中的支持度;(3-3)根据公式计算候选网络与频繁模式树的相似度;公式如下sin (CW,) = nim {-- * sup ^ j
I/ PYjeFT +
(HsnCNnFTj)J其中Clist(CNpFTj)指的是候选网络与频繁模式之间的编辑距离。Sup(FTj)指的
是频繁模式在查询日志的支持度,它的取值范围在
;CN= ICN1, CN2,......,CNJ指
的是一组候选网络,CNi e CN, i的取值范围[1,n] ;FT = (FT1, FT2,......,FTj指的是一
组频繁模式,FTj e FT, j的取值范围是
,其中η为自然数;这个公式反映我们更偏好与支持度较大的频繁模式相似的候选网络。其中第(3-1)步还可以细分成以下步骤 a把自由标签树转化成有序树。预先规定标签间的顺序关系,这样就可以把无序树转化为有序树。b把无根树转化为有根树。我们使用穷举法来解决这个问题,即把每个节点当作根计算与另一棵树的距离取最小值。c根据步骤a和步骤b,将自由树转换为有序有根的标签树,调用已有的KaizhongZhang和Dennis ShaSh提出计算有序标签树(rooted ordered labeled tree)编辑距离的算法来计算自由树之间的编辑距离。所述步骤4中候选网络排序具体包括以下步骤(4-1)根据步骤3,根据候选网络与频繁子树的相似度对生成的候选网络进行排序;
(4-2)优先求解排位靠前的候选网络。步骤4所述的候选网络排序即基于以上操作,对生成的候选网络进行排序并优先求解排位靠前的候选网络,以此来改进查询的质量和效率。本发明的有益效果I、不同于传统的数据库查询方式,数据库上的关键字查询简单易用,查询没有固定的格式限制,极大地减轻了用户学习和记忆的压力。2、通过使用查询日志来进一步改进传统的基于模式图的查询方法。改进查询的质量和效率。


图I为一种扩展的基于模式图的关键字查询系统的基本架构;图2为候选网络的生成流程;图3为获取用户偏好的频繁模式树流程;图4为频繁模式树的相似度的生成流程;图5为候选网络与频繁模式树的编辑距离的计算流程;图6为候选网络排序流程;图7为用于测试的几类模式字符串;图8为在原始的discover系统和我们改进的discover++系统上的进行实例检验的实验结果。
具体实施例方式下面结合附图与实施例对本发明作进一步说明。图I中,一种扩展的基于模式图的关键字查询系统的基本架构。它包括以下步骤步骤I. IR引擎模块借助于IR索引从数据库表导出需要的元组集,候选模块生成器把导出的元组集中的非空元组集和数据库模式图作为输入,生成一组候选网络并用自由树的形式表不,并把表不后的候选网络作为输出;步骤2.查询日志挖掘模块使用已有的树挖掘算法来对用户的查询日志进行挖掘,以获取用户偏好的频繁模式树;步骤3.利用树编辑距离来定义步骤I生成的候选网络与步骤2挖掘得到的频繁模式树的相似度,生成频繁模式树的相似度;
步骤4、根据步骤I生成的候选网络与步骤3生成的频繁子树的相似度对生成的候选网络进行排序并优先求解排位靠前的候选网络,以此来改进查询的质量和效率。所述步骤I候选网络生成即借助于IR索引从数据库表导出需要的元组集。候选模块生成器接受IR模块生成的非空元组集和数据库模式图作为输入,生成一组候选网络作为输出。候选网络生成算法最早由DISCOVER提出,然后把它由AND语义扩展到OR语义。所述步骤2获取用户偏好的频繁模式树即将数据挖掘算法引入到关键字查询中来,使用已有的树挖掘算法来对用户的查询日志进行挖掘,以获取用户偏好的频繁模式树。所述步骤3生成频繁模式树的相似度即引入树编辑距离来定义生成的候选网络与挖掘得到的频繁模式树的相似度。所述步骤4候选网络排序即基于以上操作,对生成的候选网络进行排序并优先求解排位靠前的候选网络,以此来改进查询的质量和效率。·
图2中,所述步骤I中的候选网络的生成具体包括以下步骤1-1. IR引擎模块借助于IR索引从数据库表导出需要的元组集。IR索引实际上是一个倒排索引,它记录所有的关键字和关键字在数据库中的出现位置。1-2候选模块生成器,它接受IR模块生成的非空元组集和数据库模式图作为输入,调用discover提出的候选网络生成算法,生成一组候选网络。1-3用自由树的形式表示用户选择的候选网络。这里的自由树是指连通的且无环的无向图。1-4将经过以上步骤处理过生成的候选网络传送到下一个模块,进行数据挖掘,发现其中的频繁模式。图3中,所述步骤2中获取用户偏好的频繁模式树具体包括以下步骤2-1用户对数据库中的最小支持度进行定义。模式的支持度(support)是指数据库中支持的事务所占的比例。2-2在步骤I中自由树(候选网络)形成的数据库中,枚举所有频繁的2个节点子树,合并一对频繁I节点子树生成一棵频繁2子树的候选,合并的频繁一个节点子树仅有一个叶节点不同而其他部分全部相同。扫描数据库计算候选的支持度并核实生成的候选是否频繁的,即支持度是否大于或者等于用户指定的最小支持度。若子树的支持度大于或等于用户指定的最小支持度,该子树则为频繁的,否则不进行选择。2-3重复步骤B2,合并一对频繁k_l子树生成一棵频繁k子树的候选,可以观察到合并的频繁k-Ι子树仅有一个叶节点不同而其他部分全部相同,对每棵频繁k子树,扫描数据库计算候选的支持度并核实生成的候选是否频繁的。选择出所有的频繁子树。获得所有频繁子树后对不符合条件的频繁子树进行过滤。我们需要的频繁子树是指模式树的叶节点的标签都是关键字关系,如果模式树的任何一个叶节点标签不是关键字关系,则这样的频繁子树应该被过滤掉。图4中,所述步骤3中生成频繁模式树的相似度具体包括以下步骤3-1计算候选网络与频繁模式树的编辑距离。3-2获得频繁模式树在查询日志中的支持度。3-3根据公式计算候选网络与频繁模式树的相似度。公式如下
Sim(CNj) = min {---*sup(Fr.)}
1+ dist(CNn FTj)jJf其中Clist(CNpFTj)指的是候选网络与频繁模式之间的编辑距离。Sup(FTj)指的
是频繁模式在查询日志的支持度,它的取值范围在[OJhCN= (CN17CN2,......,CNJ指的
是一组候选网络,CNi e CN。FT = (FT1, FT2,......,FTj指的是一组频繁模式,FTj e FT。
这个公式反映我们更偏好与支持度较大的频繁模式相似的候选网络。图5中,所述步骤3-1具体包括以下步骤a把自由标签树转化成有序树。预先规定标签间的顺序关系,这样就可以把无序树 转化为有序树。b把无根树转化为有根树。我们使用穷举法来解决这个问题,即把每个节点当做根计算与另一棵树的距离取最小值。c根据步骤a和步骤b,将自由树转换为有序有根的标签树,调用已有的KaizhongZhang和Dennis ShaSh提出计算有序标签树(rooted ordered labeled tree)编辑距离的算法来计算自由树之间的编辑距离。图6中,所述步骤4中候选网络排序具体包括以下步骤4-1根据步骤3,根据候选网络与频繁子树的相似度对生成的候选网络进行排序4-2优先求解排位靠前的候选网络。本发明的另一个实施实例,我们按照以下方式生成我们所需的查询日志找50个普通用户,每个人提交20个查询给系统,并从返回的结果中选择自己感兴趣的结果,然后我们将用户的选择记录在查询日志中。列出的是我们用于测试的几类模式字符串如附图7。我们在原始的discover系统和我们改进的discover++系统上的进行实例检验,实验结果如附图8所示。
权利要求
1.基于模式图的关键字查询改进方法,其特征是,它包括以下步骤 步骤I. IR引擎模块借助于IR索引从数据库导出需要的元组集,候选模块生成器把导出的元组集中的非空元组集和数据库模式图作为输入,生成一组候选网络并用自由树的形式表不,并把 表不后的候选网络作为输出; 步骤2.查询日志挖掘模块使用已有的树挖掘算法来对用户的查询日志进行挖掘,以获取用户偏好的频繁模式树; 步骤3.利用树编辑距离来定义步骤I输出的候选网络与步骤2挖掘得到的频繁模式树的相似度,生成频繁模式树的相似度; 步骤4、跟据步骤I输出的候选网络与步骤3生成的频繁子树的相似度对生成的候选网络进行排序并优先求解排位靠前的候选网络。
2.如权利要求书I所述的基于模式图的关键字查询改进方法,其特征是,所述步骤I中的候选网络的生成具体包括以下步骤 (I-I)IR引擎模块从数据库表导出需要的元组集,候选模块生成器,调用候选网络生成算法,生成候选网络; (1-2)用自由树的形式表示步骤(1-1)中生成的候选网络,这里的自由树是指连通的且无环的无向图; (1-3)将经过以上步骤(1-2)处理过的候选网络传送到下ー个模块,进行数据挖掘,发现其中的频繁模式。
3.如权利要求书I所述的基于模式图的关键字查询改进方法,其特征是,步骤I所述的IR索引是ー个倒排索引,它记录所有的关键字和关键字在数据库中的出现位置。
4.如权利要求书I所述的基于模式图的关键字查询改进方法,其特征是,所述步骤2中获取用户偏好的频繁模式树具体包括以下步骤 (2-1)用户对数据库中的最小支持度进行定义,其中模式的支持度是指数据库中支持的事务所占的比例; (2-2)在步骤I形成的候选网络数据库中,枚举所有频繁的2个节点子树,合井一对频繁I节点子树生成一棵频繁2子树的候选,合并的频繁ー个节点子树仅有一个叶节点不同而其他部分全部相同;扫描数据库计算候选的支持度并核实生成的候选是否频繁的,即支持度是否大于或者等于用户指定的最小支持度;若子树的支持度大于或等于用户指定的最小支持度,该子树则为频繁的,否则不进行选择; (2-3)重复步骤(2-2),合井一对频繁k-1子树生成一棵频繁k子树的候选,观察到合并的频繁k-1子树仅有一个叶节点不同而其他部分全部相同,对每棵频繁k子树,扫描数据库计算候选的支持度并核实生成的候选是否频繁的;选择出所有的频繁子树;所述的k表示节点数; (2-4)获得所有频繁子树后对不符合条件的频繁子树进行过滤;符合条件的频繁子树是指模式树的叶节点的标签都是关键字关系;如果模式树的任何一个叶节点标签不是关键字关系,则这样的频繁子树被过滤掉。
5.如权利要求书I所述的基于模式图的关键字查询改进方法,其特征是,所述步骤3中生成频繁模式树的相似度具体包括以下步骤 (3-1)计算候选网络与频繁模式树的编辑距离;(3-2)获得频繁模式树在查询日志中的支持度; (3-3)根据公式计算候选网络与频繁模式树的相似度;公式如下
6.如权利要求书5所述的基于模式图的关键字查询改进方法,其特征是,其中第(3-1)步包括以下步骤 a把自由标签树转化成有序树;预先规定标签间的顺序关系,进而把无序树转化为有序树; b把无根树转化为有根树;使用穷举法把每个节点当作根计算与另ー棵树的距离取最小值; c根据步骤a和步骤b,将自由树转换为有序有根的标签树,调用已有的计算有序标签树编辑距离的算法来计算自由树之间的编辑距离。
全文摘要
本发明公开了一种基于模式图的关键字查询改进方法,它包括以下步骤步骤1.IR引擎模块借助于索引从数据库表导出需要的元组集,候选模块生成器把导出的元组集中的非空元组集和数据库模式图作为输入,生成一组候选网络,并把候选网络作为输出;步骤2.查询日志挖掘模块使用已有的树挖掘算法来对用户的查询日志进行挖掘,以获取用户偏好的频繁模式树;步骤3.利用树编辑距离来定义步骤1生成的候选网络与步骤2挖掘得到的频繁模式树的相似度,生成频繁模式树的相似度;步骤4.跟据步骤1生成的候选网络与步骤3生成的频繁子树的相似度对生成的候选网络进行排序并优先求解排位靠前的候选网络,以此来改进查询的质量和效率。
文档编号G06F17/30GK102955860SQ20121049244
公开日2013年3月6日 申请日期2012年11月27日 优先权日2012年11月27日
发明者禹晓辉, 高磊, 彭朝晖, 闫中敏, 杨敏 申请人:山东大学, 山东英佰德信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1