论文部分内容阅读
近年来,数据库技术已经在各个行业领域得到广泛应用,但是随着关系数据库使用者的急速增长,关系数据库中一直使用的结构化查询技术却成了非专业用户使用关系数据库的障碍。针对这个问题,研究者们提出了关系数据库关键字查询技术(Keyword Search Over Relational Databases,简称KSORD),即用户不需要掌握结构化查询的语法,也不需要了解数据库的结构和特性,只需根据需要键入数个关键字便可对关系数据库进行查询,由于其简便易用性,这项技术至今已成为研究的热点。目前的KSORD技术对用户来讲简便易用,却给研究者提出了很大的挑战:第一,用户需要的结果可能不只来自一个元组,而是以碎片的形式散落在相互关联的若干个元组当中,如何能根据一定逻辑将这些信息收集起来提供给用户。第二,由于系统会根据数据库的结构和信息碎片的分布重组各种可能的结果,一个查询可能产生了大量的结果。如何能将在大量的结果找到用户最有可能感兴趣的结果。第三,在查询关键字不能确切反映用户需求的时候,如何帮助用户重构查询。该方面的研究也有一些工作,但还存在效率和效果上的问题。为了提高数据库关键字查询的效率和效果,本文改进了现有的数据图,并在此基础上提出了一种新的Top-k结果树生成和排序机制,以及基于词关系的查询重构方法,并将这些方法应用于原型系统Extractor。本文的主要贡献有以下几个方面:1、改进了目前的数据图的结构,设计出了一个新的无向加权数据图,并重新定义了节点和边的权值。2、在新的数据图的基础上,设计了一整套查询结果的生成和排序方法,把分散在各个数据节点上的有用信息收集起来,构成一个用户能够理解的结果,然后在这些产生的结果中抽取出用户最有可能感兴趣的k个结果,采用Top-k的形式展现给用户。3、应用了关键字的语义进行扩展,将“或”语义、“属性+变量”语义等复杂语义的处理方式进行了改进,使系统对这些语义的处理更加快速、有效。4、在关键字查询中加入了查询重构。针对用户可能对查询的结果不满意的问题,用户可以选择在系统帮助下对原始查询进行重构,生成新的查询,并通过执行新的查询得到不同的结果。本文研究的查询重构的方案有两种,分别是查询扩展和查询纠错。查询扩展主要针对用户提供的查询关键字不够具体造成的查询结果查准率低的问题,通过增加查询关键字的数量和语义复杂性,缩小结果范围,提高查准率;查询纠错则是针对用户提供的关键字不能准确反映用户意图,造成的查全率低的问题,修正原始查询,改变结果范围,从而提高查全率。