您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页关系数据库上基于非数值属性关键词的模糊查询

关系数据库上基于非数值属性关键词的模糊查询

来源:好走旅游网
维普资讯 http://www.cqvip.com 计算机科学2008Vo1.35NQ.6 关系数据库上基于非数值属性关键词的模糊查询 杨路明王佳宜谢东 (中南大学信息科学与工程学院 长沙410083) 摘要关系数据库上的关键词查找技术使得用户像使用搜索引擎一样获取数据库中的相关数据。然而,这种技术 只实现了精确查询,还不能很好地实现模糊查询。本文通过引进分类学习中的Rocchio算法并对其做小部分修改,用 于数据库的关键词查询中,结合不同类型对象之间相异度和相关度的量化计算,每次返回的结果集按照相关度降序排 列,实现精确到模糊的查询。如果用户不满意初始查询结果集,利用Rocchio算法经过几次交互,便可不断满足需求。 对权值优化的Rocchio算法反馈过程进行了实验测试,结果证明是比较令用户满意的,而且返回的结果集中少量的不 相关集合可以提高查询的性能。 关键词关系数据库,关键词,模糊查询 Fuzzy Query Based Oil Non-numeric Attribute Keywords over Relational Databases YANG Lu-ming WANG Jia-yi XIE Dong (Institute of Information Science and Engineering,Central South University,Changsha 410083,China) Abstract KSORD(keyword search over relational database)techniques allow users tO obtain information from data- bases,which is just like using search engines.However,the advanced techniques only realize exact queries,but not for fuzzy queries.The Rocchio algorithm of learning classification is introduced which is made a little changed tO achieve keyword search over relational databases.Connected with dissimilarity and correlation calculated,returned result sets are ranked in descendant order according tO correlation.Thus,the system realizes both exact and fuzzy queries.If users are not satisfied with the initial result sets,they can utilize the Rocchio algorithm tO do several relevance feedbacks in order tO make results better.We experiment with the optiaml Rocchio algorithm and the results prove tO satisfy the re- quirements of user&In addition,few non-relevant result sets could improve the performance of searching. Keywords Relational databases,Keywords,Fuzzy query 1 引言 些不是很精确的结果,通过判断哪些对自己有意义,哪些没 有,尝试更高级的查询。 KsOI 技术允许普通用户或Web用户在对数据库做相 因此,我们引进分类学习方法中的Rocchio算法I5],该算 关数据处理时,简单地就像在Web上使用搜索引擎查找信息 法主要用于文档(文摘)的查询。它的一大优点是在整个查询 一样,避免去学习复杂的数据库模式知识和SQL结构化查询 过程中,通过不停地相关反馈,不断提供用户更有用的信息。 语言。目前,国外利用KsOI 先进技术发展的系统有DBX— 我们对该算法做了修改,就可以用于对数据库的查找,实现模 plorerE ,D1SCOVERE ,IR-StyleE。]等。在国内,王姗等人在 糊查询。执行该算法过程中,如果用户不满意初始的查询结 中国人民大学与NCR Teradata数据仓库及商务智能联合实 果,则可通过反馈来优化查询结果。同时,执行查询的过程 验室开发出系统SEEKERE 。 中,系统在判断输入的关键词对象是否匹配数据库表或某一 这些系统的基本思路是一致的,即将数据库看作是由数 属性的实例基础上,再根据对象的类型计算两者之间的相异 据库中的元组(顶点)通过主码_夕 码(边)的关系连接而成的 度,从而可以得到相关度。返回的结果集则根据相关度的大 图。当用户给出一个关键词查询时,则通过全文索引从图中 小进行降序排列,也就是最相关的查询信息位于最前面,这样 找出含全部关键词的最小子图作为查询结果。而且几个系统 有利于用户对相关与不相关信息的区分。如果相关度等于 有着类似的定义,认为查询结果是含有至少一个关键词且每 1,系统就意味实现了精确查询,否则实现了模糊查询。相关 个叶结点都含有至少一个关键词的连接元组树。不过, 度越小,模糊性越大。 SEEKER不要求查询结果包含全部关键词,只要求查询结果 包含关键词的一个非空子集即可。总之,这些系统都必须返 2 Rocchio算法及其优化 回基于关键词(部分)的查询序列。 参与Rocchio算法的查询向量,每一维值的大小用对象 比较上述系统,只是能够提供精确查询。如果关系数据 之间的距离来衡量。文献[6]给出原始Rocchio算法的过程, 库中没有包含关键词的信息,就不返回任何结果,没有很好的 但是并未考虑用户对结果集中相关子集与非相关子集的满意 交互性。很多用户希望在除了得到精确结果以外可以产生一 程度。我们在原算法的基础上,引进三个参数,用来量化用户 *)湖南省教育厅科研基金(05C671);中南大学重点资助创新项目(zBo18)。杨路明博士生导师,博士,主要研究方向为数据库系统和网络通 信;王佳宜硕士研究生,主要研究方向为数据库和数据管理;谢东博士研究生,主要研究方向为数据管理。 ・236・ 维普资讯 http://www.cqvip.com 对初始查询向量和初始查询集的满意程度(用户可以选择四 种满意程度,分别是很满意、一般满意、不满意、很不满意),动 态优化反馈过程。 2.1 文档向量与距离度量 1分别表示相关子集与非相关子集(以0.5作为相关与非相关 子集的区分度)的元素个数。 在算法的执行过程中,对。,b,c的取值可以由系统自动 生成(对应四种满意程度的选择,分别设置不同的口,b,c等级 Rocchio算法的基本思想是把每一个文档d表示为一个 和值),分别对应用户对上一次查询向量和查询结果的满意 度。查询反馈的过程中,用户对前一次结果集的判断大大影 响后一次查询的结果。如果初始查询的模糊集合中非相关子 集过多,用户对此不满意,在交互时,就像简单地使用 “Google"上高级检索的下拉列表框一样,用户选择“不满 意”,c值由系统自动生成,同时优化的Rocchio算法计算新的 查询向量并组织新一轮的查询。该过程可重复迭代几次,直 至用户满意。 向量d=( ,dz,…, )。每一维对应关键词集合V中的一 个特征词,该词的权重即为 的值。文献Es]认为 的大小 与关键词向量在文档中的映射向量TF(wi, )和IDF(w1)有 关,即常用的TF*IDF求距离(权重)方法来检索文摘或文 档。TF*Ⅱ)F函数表达式如下: dl=TF*IDF=TF(wl, )*IDF(wi) 其中了、F表示关键词频率,即某一关键词Wi出现在文档d中 的次数;IDF表示逆文档频率,它可以由DF(w1)(文档频率, 关键词Wi在文档d所在的基文档中出现的次数)得到: LIDF(w1)一lo—o(-U-- ̄ M- nII -3模糊查询的实现 本文在新修改的Rocchio算法的基础上,提出一种通过 mi}) 蔷JD J表示的是所有文档的总数。 2.2 Rocchio算法 Rocchio算法通过几次反馈或交互从而查找符合用户的 信息。在反馈的过程中,少量的模糊信息也会同时和用户交 互。文献E6]指出,Roeehio算法主要是用于对文档的查询和 反馈,关系数据库中存在除文本这样的非数值型变量以外,还 有大量的数值型变量。因此,把Rocchio算法用于数据库的 查询,它的优点就在于用户输入非数值型关键词序列时,整个 查询及相关反馈过程执行的准确率和满意度会高于用户对数 值型变量的关键词查询。如在人员信息数据库中,属性或字 计算关键词对象和数据库中实例对象之间相异度的方法,实 现查询过程。为能迅速匹配上关键词对象与数据库关系或属 性对象,我们在数据库中建立起两张匹配表并建立全文索引, 支持关系名和属性名上的关键词查询。 3.1相异度和相关度 Rocchio算法中,∑ 和∑S是以对象之间的相 异度(距离)量化值表示的。2.1节中介绍的TF*IDF方法 主要是测量文档类型的对象之间的距离,然而数据库记录中 包含了丰富的类型的变量,比如区间标度变量、二元变量、序 数型变量或这些变量类型的组合。因此,传统聚类中的欧氏 距离和测量文摘或文档的TF*IDF方法不再适用,需要考 虑一种新的方法用于这种“混合类型变量”的两两对象的相异 度(距离)计算。 我们首先定义对象i和对象J之间的相异度和相关度。 定义1(相异度)对象i和对象J之间相异性的量化表 段如“姓名”是非数值型的变量,而“年龄”是数值型的变量。 算法的三个重要参数分别是初始查询向量、用户指定的 相关集和不相关集。Roeehio反馈算法描述: 1 p 1 q Q+1=Q+÷ R 一 zsy, Y  - 其中:R一{R1,R2,…,Rv},是返回结果集中用户认为相关的 子集; S:{S , ,…,s口},是返回结果集中用户认为不相关的 子集。 示,用d(i,J)表示。它是一个非负数。当对象i和J越相似 或接近,其值越接近0;两个对象越不同,其值越大。特殊地, d( , ): ( , )--0。 定义2(相关度) 对象i和对象J之间相关性的量化表 反馈过程的具体描述见图1。首先,考虑用户输入的初 始向量Q,由2.1节中的方法计算 值,返回第一次的结果 集。用户对初始结果集做出判断后,再利用Rocchio算法得 到新的查询向量。这样重复几次之后,停止与用户的交互。 初始查 询向量 用 户 示,简单地记做c( , )一1--d( , )。 我们将数据库记录按变量的类型分别标量化,并将所有 有意义的变量转换到共同的值域区间E0.0,1.O]上。 假设数据集包含P个不同类型的变量,对象 (用Xi表 示)和 (用而表示)之间的相异度d(i, )定义为: 史 ,),,(,) d(i, )一 二 =1o/j L 其中:用,来表征对象变量的类型,当某个记录中变量缺失 即不存在时, 一O,否则 :1; 的计算与具体的类型 有关。给出如下主要的几种类型: (1)厂是二元变量或标称变量(--元变量的推广)。如果 2.3权重优化Roeehio算法 在该变量上完全相同,则 I一(,)一一(,)I =:O,否则为1。 原始反馈策略中,参与新查询向量计算的相关子集R和 S,在一定程度上不能体现出用户对其满意的程度,因此我们 —(2)厂是区间标度变量(粗略线性标度的连续变量)。 提出一种权重优化的相关反馈策略。新修改的Roechio算法 如下: Ina X —ml等 ,Lr_Ll而,h遍取变量厂的所有非空值。 hz  (3),是序数型或比例标度变量。变量由M个有序状态 ,)一1 。 +6 sy 一c 而 i构成,分别映射成1,2,…,M,按公式 , 一 …■ 分别计算 对应记录的标量值。其中一,’和M分别表示该变量的序数 值和序数最大值。然后将 作为区间标度变量类型对待。 ・其中:口,b,c是引进的三个权重因子,l reldoesl和lnonreldocs 237・ 维普资讯 http://www.cqvip.com (4)_厂是文本型变量。将fF*IDF表示的数值作为该变 量的标量值,采用余弦度量相异度: 一cos(d}I , 门),其 中的 ,),d 都是由TF*IDF计算得到的数值。 将所有的对象变量归类为相应类型后,按上述方法转化 为标量化形式,用于快速地计算相互对象之间的相异度。为 的评价之后,利用新改进的Rocchio算法,进行新一轮以及多 次的查询交互。整个查询过程及交互过程可以用图3来描 述。 方便起见,系统采用相异度矩阵存储关键词序列和实例对象 (来自数据库)之间的相异度值,见图2。假设来自数据库的 一张二维表有 条记录,P个属性。如果某一关键词的类型 与数据表中某一属性的实例不匹配,则在相异度矩阵的相应 位置上置零;否则,相应位置上置d(i ’ )(也就是当关键 词对象与表中实例对象类型匹配,相异度就按照上述方法归 类计算)。i“’是用户输入的关键词对象去比照数据库表中的 图3模糊查询实现过程描述 第 条记录, 是表中第P个属性的实例对象。 d(i ”,J1) d(i ”, 2) d(i‘”,Jp) d(i ,J1) d(i‘ ,J2) d(i ,J。) ● ● : : d(i‘ ,j1) d(i‘ ,j2) d(i ,j ) 图2相异度矩阵 3.2查询过程的实现 当用户输入查询关键词后,系统首先要将关键词定位于 某一关系表中,然后是属性上的匹配。为此,我们在人员信息 数据库中建立了两个匹配表(见表1和表2),分别用于关系 名和属性名的关键词匹配。这两个表上也建立了全文索引。 关系匹配表的“表名”列存储数据库中所有关系的名称,“关键 词”列给出描述关系的关键词,这两列都在全文索引中。属性 匹配表的“属性名”列存储数据库中的所有属性的名称,“表 名”列存储属性所属关系的名称,“关键词”列给出描述属性的 关键词,“类型”列给出属性的类型,“所属类别”列是属性对象 可以归类为上述所描述的何种分类,其中“属性名”列和“关键 词”列在全文索引中。系统将在关系名、属性名和描述它们的 关键词中进行匹配,匹配上的,计算相异度,匹配不上的则为 “0” 表1关系匹配表 表名 关键词 基本信息表 身份证号,… 家庭住址表 城镇,… 体检情况表 良好,… 表2属性匹配表 从相异度存储矩阵中我们容易找到前k个最小相异度 值,即前k个最大相关度值。定位前k个值后,剩下的工作按 值的大小降序返回这k个值所在矩阵中的行,转换为数据库 中对应的记录返回给用户。至此,系统完成第一次查询,且返 回的结果以相关度值为依据,实现精确至模糊的查询。开始 第二次新的查询前,必须根据用户需要对初始结果给予一定 ・238・ 4实验分析 实验环境是基于.NET框架,通过与后台人员信息数据 库的连接,利用C#语言编写查询过程与矩阵存储。简单的 查询界面如图4所示。 目田暖口—■●●—■■———豳麟 .| || 贯 撼螽 舞_辛藿游曩 _ |1璺 _/ _ { l 再 嘏r■—■ 奠尊\ 兰氅氅笔 I_ . 塑 \.璺堡曼 l\ r~ --__j... .. \ 图4初始查询界面 用户输入关键词(序列)后,如果是以“关键词”的形式输 入的,查找的过程中首先是和关系名匹配,然后再和属性名匹 配。如果用户以“关键词:关键词”的形式输入的,就只匹配属 性名。图4中生成描述串的作用在于系统的更加个性化。初 始查询的结果用表格的形式(图4左下角的数据绑定控件)绑 定返回给用户。因此基于关键词的查询技术就像使用常见的 搜索引擎一样,避免用户学习复杂的相关SQL和数据库知 识。 如果初始的查询并未满足用户对信息的需求,图4中提 供了“新的反馈”按钮,点击之后出现图5所示的相关反馈界 面。在用户对初始结果作出选择之后,本系统利用动态优化 后的Rocchio算法重新组织查询,达到用户的更高要求。 图5相关反馈界面 仔细考虑人员信息数据库,可以把“性别”归类为二元变 量,把“出生年月”归类为区间标度变量等。输入关键词信息 后,系统给出相关结果集。表3是当查询“出生地:河南”时数 据库返回的前5条记录,其相关度分别是1.0,1.O,0.8,0.8, 0.8。分析初始的结果,我们对该结果集中的模糊记录不是很 维普资讯 http://www.cqvip.com 满意(认为过多),经过新一轮的查询后,减少了这样的元组 互交互,不断满足更高要求的查询。 不足的是在实验过程中存在多种主观和人为因素。利用 矩阵存储相异度,使得系统的响应时问过长。将来的工作中 我们着重从算法的时间复杂度和空间复杂度人手,提高算法 的效率和稳定性。 数。同时也进行了其他实验,如查询“本人成分:干部”、“健 康状况:良好”等,结果都比较理想。 表3模糊查询结果 参考文献 [1]Agrawal S,Chaudhuri S,Das G-DBXplorer:A System for Key~ wor&based Search over Relational Databases//Proc.of the 18th Int' ̄Cunf on Data Engineering.Sen Jose,2002:5-16 [2]Hristidis V,Papakonstantinou Y_DISCOVER:Keyword Sea- 从表3可以看出,最匹配的记录在最前面。在比较大型 rch in Relational Databases//Proc.of the 28th Int’1 Conf.on very Large Data Bases.Hong Kong,2002:670—681 的数据库中,如果系统一次呈现很多记录,从前往后找,也是 很容易找到最相关的结果的。因此,该方法同时实现了精确 和模糊查询。产生最不确定记录即相关度接近于“0”时,可以 [3]Hristidis V,Gmvano L,Papakonstantinou Y_Efficient IR-style Keyword Search over Relational Databases??Proc.of the 29th Int’l Conf.on Very Large atDa Bases.Berlin,2003:850—861 用来减少反馈的次数,加快查询。 结束语本文在关键词实现精确查询的基础上,扩展了 模糊查询。通过改进Rocchio算法和定义对象之间的相关 [4]文继军,王珊.SEEKER:基于关键词的关系数据库信息检索.软 件学报,2005,16(7):1270-1281 度,实现了结果集的降序排列,同时也方便了用户的查看。模 糊查询的过程大概分三步完成。首先是提交的关键词去匹配 [5]Rocehio J J.Relevance Feedback in Information Retrieva1.in SMART Retrieval System Experiments in Automatic Document Processing,1971:313—323 数据库表的关系名或属性名,然后计算相异度值并存储,最后 返回非“0”相异度值所在的行对应的元组记录并按相关度值 降序排列。改进的Rocchio算法可以增强用户与结果集的相 (上接第222页) [6]战学刚,林鸿飞,姚天顺.中文信息检索中的相关反馈.计算机科 学,2000,27(7):39—4l ference on atDa Engineeirng(ICDE’99)[C].Sydney,Australia: IEEE omputer SociCety,1999:336—345 OLAP服务器结构,但其研究的内容主要停留在如何根据人 们的主观想法来进行维度的更新,比如创建一个维度,增加一 个维层次,删除一个维层次等,并没有涉及到由于一些外在因 [4]李建中,高宏.一种数据仓库的数据模型[J].软件学报, 2000,11(7):908—917 素的影响,如何对维结构进行自动调节的内容。文献[9]虽然 也对维结构的变换问题进行了相关研究,并给出了相应的变 换算法,但其在对维路径进行修正的过程中,是按照维层次的 级别来进行的。这就导致了下述问题的出现:对于某一维路 径,这次修改了其在维层次z上的取值,下次可能还得修改其 在z (z<古z )1-的取值,用关系表的形式来存储维实例数据 的情况下,就导致了对同一条记录进行多次修改与提交。与 [5]Jensen C S,Kligys A,Pedersen T B,et 1a.Multidimensional a—D ta Modeling for Location-Based Ser ̄ces[J].The Intenatrional Journal on Very Large Data Bases,2004,13(1):卜21 [6]史忠植,等.人工智能:复杂问题求解的结构和策略Artificial In- telligence:Structures and Strategies for Complex Problem Sol— vig[M],4E.北京:n机械工业出版社,2004 [7]Antoniou G_A tutorial on default logics[J'].ACM omputCig nSurveys,1999,31(4):337—359 文献[9]相比,本文采用规则的形式来描述异常情况给维结构 带来的影响,并对描述异常的规则的作用次序进行了严格定 义,很好地保证了在进行转换的过程中结果的正确性,而且本 [8]Agosta L数据仓库技术指南The Essential Guide tO Data Warehousig[n-M].潇湘工作室,译.北京:人民邮电出版社, 2000:118—141 文所提出的变换算法花费的时间明显较短,具有更高的执行 效率。 [9]Minuto E M,Vaisman八Efficient Intentional Redefinition of Aggregation Hierarchies in Multidimensional Databases[c]// Proceedings of the 4th International Workshop on Data Ware- 参考文献 [1]Firestone J M Dimensional Modelig nand E-R Modelig nin the atDa Warehouse[R].DKMS-White Paper No.Eight,June 1998 [2]段云峰,等.数据仓库基础Data Warehousing Fundamentals[M]. 北京;电子工业出版社,2004 [3]Pederson T B,Jensen C s Multidimensional data modeling for housing and 0LAP.Atlanta,Georgia,USA,2001:卜8 r 10-]Hunado C A.Menclelzon A Q OLAP Dimension Constraints [c]//Proc.ACM PODS.Madison,USA,2002:169—179 [11]Vaismana A A,Mendelzonb A O,Ruaroa W,et a1.Supposing dimension updates in an OLAP server[J-].Information Systems, 2004,(29):165—185 complex data[A-]//Proceedigsn of the 15th International on-C ・239・ 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务