[论文学习]An Effective Approach for Mining Mobile User Habits:一种高效挖掘移动用户习惯的方法
原文:
Cao H, Bao T, Yang Q, et al. An effective approach for mining mobile user habits[C]//Proceedings of the 19th ACM international conference on Information and knowledge management. ACM, 2010: 1677-1680.
ABSTRACT
用户与移动设备的交互行为对于理解用户习惯起着重要的作用。在本文中,我们提出挖掘移动设备捕获的用户交互和上下文之间的关联,或者从上下文日志中挖掘用户行为模式,以表征移动用户的习惯。通过对收集的现实数据进行广泛的实验,明确地验证了我们挖掘有效行为模式的方法的能力。
1.INTRODUCTION
移动设备捕获的丰富的用户交互信息可以用于了解用户习惯,这可以带来良好的商业价值,如有精准广告营销和个性化推荐。 用户与移动设备交互的不同特征是它们通常与易变的环境相关,例如等待公共汽车,驾驶汽车或进行购物。 直观地,一些用户交互是上下文(场景、情景)感知的,也就是说,这些用户交互的发生受用户的上下文的影响。 例如,一些用户在乘坐公共汽车到工作场所时,更愿意用他们的智能手机听音乐,但在其他情况下很少做同样的事情。 因此,我们认为用户交互记录与相应上下文之间的关联可用于表征用户习惯。
上下文日志收集移动用户的历史记录数据和交互记录,从而可以作为挖掘行为模式的数据源。 然而,挖掘行为模式并非一个微不足道的问题,因为传统的关联规则挖掘不能解决这个问题。 为此,我们提出了一种行为模式挖掘的有效方法,其将上下文日志作为时间序列的上下文记录,并通过考虑其出现的时间范围来计算上下文的支持。 实际数据集的实验结果清楚地表明,我们的方法胜于行为模式挖掘中传统的关联规则挖掘方法。
2. PROBLEM STATEMENT
为了简化行为模式挖掘的问题,我们首先定义一些相关的概念如下。
上下文特征表示上下文数据的类型,例如日期,位置,音频等级。为了简化操作上下文(例如上下文比较),我们要求上下文特征值对以预定义的上下文特征顺序排序。
交互记录捕获用户与移动设备交互的情况,例如听音乐,消息会话或Web浏览。
上下文记录捕获最详细的可用上下文以及在时间间隔期间用户交互的发生。 我们提到“可用”,因为上下文记录可能会错过某些上下文特征的值,尽管应该被收集的上下文特征的集合是预定义的。 此外,如果在时间间隔内没有发生交互,交互记录可以是空的(表示为“NULL”)。
上下文记录整合了移动用户的历史记录数据和交互记录,因此可以作为挖掘行为模式的数据源。然而,挖掘行为模式并不是一个微不足道的问题,因为传统的关联规则挖掘方法会遇到上下文和交互记录的发生不平衡的问题。例如,假设Sam在工作日AM8:00-9:00期间在乘坐公共汽车时听音乐。当出现上下文{(Is a holiday?: No),(Time range: AM8:00-9:00 ),(Transportation: On vehicle)}时,我们通常认为山姆此时倾向于听摇滚音乐,但交互发生的确切时间点不确定。因此,与上下文的发生记录{(Is a holiday?: No),(Time range: AM8:00-9:00),(Transportation: On vehicle)}相比,Listening to rock music 的交互是非常稀少的,这是导致传统的关联规则挖掘方法难以发现的行为模式{(Is a holiday?: No),(Time range: AM8:00-9:00 ),(Transportation: On vehicle)} ⇒ Listening to rock music.。人们可能会寻求一种方法,首先提取包含非空交互记录的上下文记录,然后应用传统的关联规则挖掘。这种替代的方法失去了判别信息,即指定上下文之间没有交互发生的可能性。因此,计算的置信度可能是无意义的。问题的详细解释可以在[2]中找到。
从上下文日志中,我们观察到,如果用户交互受上下文
行为模式挖掘的正式问题陈述如下。
ps:
支持度(Support)的公式是:Support(A->B)=P(A U B)。支持度揭示了A与B同时出现的概率。如果A与B同时出现的概率小,说明A与B的关系不大;如果A与B同时出现的非常频繁,则说明A与B总是相关的。
置信度(Confidence)的公式式:Confidence(A->B)=P(A | B)。置信度揭示了A出现时,B是否也会出现或有多大概率出现。如果置信度度为100%,则A和B可以捆绑销售了。如果置信度太低,则说明A的出现与B是否出现关系不大。
支持度: P(A∪B),即A和B这两个项集在事务集D中同时出现的概率。
置信度: P(B|A),即在出现项集A的事务集D中,项集B也同时出现的概率。
3. ALGORITHM FOR BEHAVIOR PATTERN MINING
大多数传统的关联规则挖掘算法将挖掘程序分为两个阶段。在第一阶段,从数据库中找到所有频繁项集。在第二阶段,规则是从频繁项集中产生的,并且计算其置信度。这种策略可能会显着降低总内存需求,因为关联规则的数量可能随着频繁项目的数量呈指数增长。 例如,给定频繁项集
行为模式挖掘的一个简单的算法是枚举了上下文日志中出现的所有上下文作为promising contexts,然后计算通过扫描上下文日志得到的每次交互的支持度和置信度。然而,这个算法是无效的,因为它的时间复杂度是
通过迭代联合阶段,GCPM 很大的减少了候选的promising contexts数量从
GCPM的主要成本来自于对每个交互行为计算候选promising contexts的支持度。为了提高这个阶段的效率,我们引入了一种名为CH-Tree(Context Hash Tree)的新型数据结构,用于快速更新候选promising contexts的支持度。 值得注意的是Park et al提出了一种基于散列的关联规则挖掘算法,可以大大减少候选2个频繁项目的数量。 他们的方法的目的与我们不同,因为CHTrees旨在加快支持度计算,但不是为了减少候选promising contexts的数量。 实际上,后一个问题已经在GCPM的加入阶段得到解决。
CH-Tree具有如下的节点的树状表示。
- Root Node(RN) : 每个CH-Tree都有一个根节点。 该节点包含指向中间节点或者NULL的K指针,其中K是给定上下文特征集中的上下文特征的总数。
- Intermediate Node(IN): 每个中间节点包含指向叶节点或null的H指针,其中H是预定义hash函数Hash()的输出范围。
-
Leaf Node(LN) : 每个叶节点包含一组上下文。 每个上下文
Ci 与支持度计数器Ci.sup[] 、一个布尔标签Ci.hasInter 表示最近的上下文范围是否包含一个非空交互记录,一个标签Ci.isMatch 指示是否 当前上下文记录匹配相关联。
最初,一个空的CH树只有一个根节点。 在插入候选promising contexts过程中创建中间节点和叶节点。 操作Insert() 用于将候选promising contexts插入到CH树中。 给定接收的上下文
在插入所有候选promising contexts之后,当扫描上下文日志R时,CH-Tree用于计算候选promising contexts的支持度。 给定上下文记录r,操作Count() 将��分配给每个现有的中间节点。 当中间节点
为了减少被检查的候选promising contexts的平均数目,我们期望尽可能平均地将上下文划分到每个叶节点。 为此,我们期望选择的hash值分布尽可能稀疏。 因此,操作Insert()以稀疏降序选择
4. EXPERIMENTS
为了评估提出的方法,我们对移动用户的实际上下文日志进行广泛的实验。 我们建立了一个数据收集系统,用于收集一个月内50名志愿者的GPS数据,系统信息,GSM数据,通话记录,传感器数据和交互记录等丰富的上下文数据。 由于页面限制,我们仅显示两个随机选择的志愿者上下文日志的详细实验结果,即数据集
为了评估我们的挖掘行为模式的方法的能力,我们使用关联规则挖掘方法作为基准方法。 请注意,在下一段中,我们使用“关联规则”仅表示其前提是上下文的关联规则,后果是交互记录。 关联规则挖掘方法的实现是基于FP增长算法。
图1和图2分别比较了行为模式(CP)和关联规则(AR)相对于
我们人工检查挖掘的行为模式,发现大多数行为模式可以反映用户的习惯。 表1显示了从
为了达到更客观的评估,我们还要求志愿者评估自己的上下文日志中采集的行为模式。 确切地说,对于每个志愿者,我们从他的(或她)上下文日志中挖掘所有的行为模式,其中
- I: 很有趣,这是正确的,但我还没有意识到。
- Y: 是的,这是正确的。 我通常遵循这种模式,我知道。
- N: 不,这不正确。 我很少遵循这种模式。
为了确保评估的质量,我们为每个行为模式生成一个副本,并随机将它们与原始模式进行混合。 如果行为模式与其副本分配了不同的备注,我们将再次重新回顾。 评估结果表明,所有志愿者对挖掘到行为模式给出95%以上的积极评价(I + Y),每位志愿者的平均比例均高于98%。
我们还评估了所提出的算法的效率,包括GCPM及其优化,表示为GCPMH,用于
5. CONCLUSION
在本文中,我们提出了一种挖掘行为模式的有效方法,它将上下文日志作为上下文记录的时间有序序列,并考虑到上下文的整个时间范围内的上下文和交互记录的共同出现。 对实际数据集的实验清楚地表明,我们的方法是有效,高效的。