论文部分内容阅读
随着互联网的发展,网页搜索引擎获得了巨大的成功,用户可以用简单的关键词找到自己需要的信息。而关系数据库是当前数据库的主流形式,它采用结构化查询语言进行内容检索,并要求用户掌握一定的查询语言和数据库模式知识。由此就产生了一个很自然的需求,让关系数据库支持高效的关键词查询,因为关键词检索可以使用户摆脱SQL语句的束缚。相比于网络搜索引擎,关系数据库关键词检索又有了新的特点,例如:元组之间拥有语义关系;数据库中的属性值隐藏着等价和传递关系;数据库中的文本都是短文本等等。因此一些信息检索的方法仅是在关系数据库上进行元组级别的关键词检索,并不适合于关系数据库,需要研究一种适合于关系数据库本身特点的相关性排序算法。本文针对关系数据库的特点以及信息检索的特点,研究了一种对象级别的相关性排序算法。解决了元组级别检索排序的信息分散问题。本文的技术路线是:首先对关系数据库构建全文索引,按照模式图对数据库的元组进行信息整合,得到需要的对象;接下来在构建好的对象上进行关键词检索;最后针对检索出的结果进行相关性排序。本文提出的相关性排序算法首先需要发现属性值之间的传递关系。一个属性值出现的次数越多,属性值与关键词的联系越紧密,利用信息熵的方法为属性分配权值。信息熵的大小与数据分布的情况有关,可以通过计算信息熵来反映当前属性值分布的情况,找到属性值与关键词的相关情况,得到信息检索的相关性得分。其次需要考虑每个对象本身的结构特点。包括对象中的元组和元组之间的边的情况来得到数据库结构相关性得分,由两者共同得到相关性得分。本文采用上述方法设计了关系数据库对象级别检索结果相关性排序的总体框架,并实现了该算法。以手机领域的数据表为数据集对该算法进行验证,其结果证实了该算法的可用性以及算法的可行性。本文的排序过程不仅能得到包含关键词的对象信息,而且可以区分包含相同关键词的对象之间的差别;与传统的关键词检索排序算法相比,本文使用的方法能有效改善关系数据库关键词检索排序的效果。