论文部分内容阅读
数据库(database,简称DB)已经广泛地应用到人们的生产和生活中,它可以高效的支持结构化数据的存储和查询,然而它需要用户了解数据库底层的模式知识和掌握结构化查询语言,这对于没有经验的用户来讲是一件困难的事情。另一方面,互联网信息检索技术却只要求用户输入关键词,网页就会为用户返回包含这些关键词的相关结果。这种搜索技术是通过关键词查询非结构化的数据,结果通常是不精确和不完整的。而结构化查询支持针对结构化数据的高效检索,并具备了完善的查询优化技术。因此基于关系数据库的关键词搜索领域应运而生。自从2002年开始,关系数据库中的关键词搜索问题已经逐渐成为信息检索领域的研究热点,以其结合了数据库高校检索与信息检索技术的操作简便的特征,因此,关系数据库的关键词搜索技术受到广大用户的欢迎。本文对关系数据库中的关键词搜索问题做了相关研究,对历次用户查询的历史信息进行了分析并加以利用,从而改善当前查询。本文主要研究成果及贡献如下:(1)对于当前查询,我们利用已有某个历史查询的结果,在这个结果基础上计算当前查询的结果。通过给出查询相似性定义,找到与当前查询最相似的某一历史查询,对该历史查询的结果进行重构形成满足当前查询的结果。一系列实验表明,利用历史信息的关键词查询效率比直接从底层数据库展开查询的效率更高,在数据量较小时,利用历史信息的关键词查询效率效果明显。(2)利用历史查询结果对当前查询进行推荐。通过将历史查询记录与历史查询结果建模成二分图,计算当前查询与历史查询的相似性,根据相似性大小,将与历史查询相连接的结果推荐给当前用户。这是一种模糊的推荐,推荐算法使推荐的结果尽最大可能的达到用户满意。就如同在电子商务的推荐系统中,根据以往该用户的消费记录给当前用户推荐商品,推荐出来的商品不保证当前用户一定会采纳,但是,这类商品一定是用户最感兴趣、最有可能采纳的商品。同理,利用历史查询的结果对当前查询进行推荐也是当前用户最感兴趣、最有可能采纳的结果。经过大量的实验,在众多的推荐结果中,用户的采纳率达到90%以上。(3)连接已有的几个历史查询的结果,使之成为满足当前查询条件的结果。这几个历史查询的查询词并集包含了当前查询的查询词集合。主要解决方法是将当前查询关键词集合拆分成两个或多个已经存在历史查询表中的历史查询,将这两个或多个历史查询的查询结果通过RC算法进行连接,形成当前查询的结果。本文通过改变不同的参数将RC算法与reconstruction算法进行了比较,总结了二者在不同情况下各自的优势。同时本文还对本文提出的KWSBH系统与现存的BANKS通过改变参数设置(例如关键词个数、数据集大小等)进行了多角度的比较,得出了KWSBH系统效率都要高于BANKS的结论。