关系数据库中上下文关联规则的发现
在关系数据库里,我们可把每个关系视为过去数据访问的日志。下面以 MOVIE 关系的上下文版本 LOG MOVIE 为例,它存储了多位用户购买电影的历史,同时记录了购买行为发生的上下文。其日志关系的模式如下:
LOG MOVIE(id, user, int topic, situation, time, day, movie id, title, genre, director)
上下文关联规则的定义
上下文关联规则是在具有模式 R(X) 的上下文关系 rC 上的一个对 (C → cond, T),具体如下:
- C → cond 是一个关联规则。C 是形如 B = b 的条件的合取,其中 B 属于 XC,b 是与 B 相关联的上下文值。cond 是形如 A = a 的条件的合取,A 属于 XR 或通过外键与 rC 可连接的关系的属性,a 是 A 域中的值。
- T 是一个带标签边的树,代表规则结果中执行的连接操作。该树以 R(X) 为根,其他节点是与 rC 连接的关系的模式,标签包含连接条件。
为简化表述,假设每个关系在连接树中最多出现一次。实际上,T 的规范常常是不必要的,因为其结构由 cond 和外键隐含决定,后续内容中 T 通常会被省略。
上下文关联规则的质量通过支持度和置信度来评估。规则 (C → cond, T) 在上下文关系 rC 上的支持度是 rC 中同时满足 C 和 cond 的元组数量,置信度是与上下文 C 相关联且满足 cond 的元组的比例。关联规则挖掘过程通常分为两个子任务:
1. 找出所有支持度超过给定阈值 minsup 的项集(itemsets),在本文领域中