论文部分内容阅读
偏好查询(如反Top-k查询、反Skyline查询等)是数据库领域重要的查询类型之一,它能够根据用户指定的偏好要求进行个性化查询,并向用户返回与其偏好相匹配的查询结果。偏好查询在多标准决策支持和个性化推荐等方面具有广阔的应用前景。当前的数据库查询(包括偏好查询)仅仅向用户返回查询结果。如果查询结果不是用户想要的,现有的数据库系统既不能向用户解释为什么会得到这样的结果,也无法给出有效的建议来帮助用户得到满意的查询结果。查询结果可用性研究正是针对当前数据库系统的这一不足而展开,其目标旨在向用户解释为什么会产生当前的查询结果,并帮助用户得到使其满意的查询结果,从而使用户能够更加高效、方便地使用数据库,提高用户对数据库的满意度。然而查询结果可用性研究依赖于具体的查询。不同的查询所对应的查询结果可用性问题解决方案也不相同。但当前的查询结果可用性研究大多关注关系型数据库查询。因此,现有的查询结果可用性技术不能有效地解决偏好查询上的查询结果可用性问题。鉴于此,本文以反Top-k查询和反Skyline查询为例,对偏好查询的查询结果可用性进行了深入地研究,研究内容主要包括:(1)反Top-k查询和反Skyline查询上的Causality与Responsibility问题处理。当查询结果中包含了用户不想要的对象,或者用户想要的对象没有包含在查询结果中,那么用户可能想要知道导致这些查询结果的原因及其相应的责任大小,以便更好地理解原有的查询。为此,本文将开展反Top-k查询和反Skyline查询上的Causality与Responsibility问题处理研究,以帮助用户找出导致其不想要的结果出现或想要的结果没有出现的原因(即Causality),并计算每个原因的责任大小(即 Responsibility)。(2)反Top-k查询上的 Why-not 与 Why 问题处理。Causality 与 Responsibility问题处理只向用户解释当前查询结果产生的原因,而不能帮助用户得到其想要的查询结果。因此,本文将开展反Top-k查询上的Why-not与Why问题处理研究。其中,Why-not问题是将用户想要但却没有出现在查询结果中的对象包含在查询结果中;Why问题旨在将用户不想要但却出现在查询结果中的对象从查询结果中排除。(3)反Top-k查询和反Skyline查询上的Why-few与Why-many问题处理。在实际应用中,查询可能返回太多或者太少(甚至为空)的答案对象。若答案对象太多,用户往往无从选择,而答案对象太少,用户又会没有选择的余地。这两种情况都不是用户想要的。所以,针对答案对象太多或太少(甚至为空)的情况,本文研究了反Top-k查询和反Skyline查询上的Why-few与Why-many问题。其中,Why-few问题针对的是原查询结果中答案对象太少甚至为空的情况,以帮助用户增加答案对象;Why-many问题针对的是原查询结果中答案对象太多的情况,以帮助用户减少答案对象。(4)反Top-k查询结果可用性分析系统。集成上述研究成果,本文开发了一个反Top-k查询结果可用性分析系统。该系统能够根据用户的反馈信息向其解释为什么会产生当前的查询结果,并向用户给出相应的建议使其能够得到满意的查询结果。