论文部分内容阅读
随着Internet的不断发展,网络上的在线数据库越来越多,用户可以通过Web站点提供的查询接口访问数据库中的信息,这种在Web中可通过查询接口访问的在线数据库被称为Web数据库。然而,由于普通的Web用户对数据库的内容和结构并不了解,或用户对自己的查询意图只有一个模糊概念,不能精确表达查询要求,因此用户提交的查询条件只是对查询结果的一个柔性要求。同时对于大型数据库来说,这种柔性查询会产生许多查询结果,而对于用户来说查询结果最好是一个虽然不精确不完全、但却符合用户期望并按照用户的期望程度从高到低排列的有序序列,因此对Web数据库的大量近似查询结果进行排序显得尤为重要。本文提出了一种数据库柔性查询下多查询结果的自动排序方法。该方法既不需要用户参与也不依赖于任何领域知识,它能够根据原始数据和查询历史自动挖掘用户的偏好信息,从而形成一个用户和领域独立的自动排序方法来为用户返回柔性查询下的有序查询结果。本文提出的排序函数从元组在用户指定的属性上的取值对查询要求的满足程度和在未指定属性上的取值对用户偏好的相关程度来衡量元组对用户期望的满足程度,其中元组对查询要求的满足程度由用户指定属性的客观权重和用户对指定属性的偏好以及属性值与用户指定属性值的相关度决定。首先,本文根据查询条件中用户指定的属性值在数据库中的分布状态评估指定属性的客观权重,然后根据历史查询记录和用户指定的查询值,本文提出了一种评估用户对不同指定属性的偏好程度的方法。接着对于查询条件中未指定的属性值,本文提出一种在查询历史和原始数据的基础上利用概率模型来获得元组中未被查询指定的属性值与查询中指定的属性值之间的关联程度,进而评估柔性查询结果中未指定的属性值与用户偏好的相关程度的方法。最后,根据元组中指定的属性值对用户查询要求的满足程度和未指定的属性值与用户偏好的相关程度来对查询结果进行排序。实验证明,文章提出的Web数据库柔性查询下多查询结果自动排序方法能够很好的满足用户需求和偏好,与解决同类问题的排序方法相比,具有较高的排序质量。