[论文学习]An Effective Approach for Mining Mobile User Habits:一种高效挖掘移动用户习惯的方法

来源:互联网 发布:5250设置端口trunk 编辑:程序博客网 时间:2024/06/08 20:15

原文:

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]中找到。

从上下文日志中,我们观察到,如果用户交互受上下文Ci影响,当Ci连续出现在几个相邻的上下文记录中时,相应的交互记录I通常与时间范围内的Ci共同出现。因此,我们建议不仅在不同的上下文记录中考虑上下文和交互记录的同时出现,而且还要考虑到上下文整个时间范围内的共同出现。具体来说,我们将上下文日志作为时间序列的上下文记录,并通过考虑其出现的时间范围来计算上下文的支持度。对于候选行为模式CiI,支持度(表示为SupCiI)仍然通过计算CiI共同发生的上下文记录来计算。但是对于上下文Ci,支持度(表示为Sup(Ci))在两种不同的情况下分别计算。如果Ci连续出现在几个相邻的上下文记录中,并且所有这些上下文记录仅包含空交互记录,则我们将计数一次。否则,我们将以这些上下文记录中的非空交互记录的数量计数。我们区分两种不同的情况,因为这样我们确保Sup(Ci)总是不小于ISup(CiI),这是计算置信度的基本假设。

行为模式挖掘的正式问题陈述如下。

def5

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

大多数传统的关联规则挖掘算法将挖掘程序分为两个阶段。在第一阶段,从数据库中找到所有频繁项集。在第二阶段,规则是从频繁项集中产生的,并且计算其置信度。这种策略可能会显着降低总内存需求,因为关联规则的数量可能随着频繁项目的数量呈指数增长。 例如,给定频繁项集abc,可能的关联规则是abcacbbcaabcbaccab。 然而,在行为模式挖掘中,我们可以整合两个阶段,因为行为模式数量的上限与promising contexts数量是线性的。

行为模式挖掘的一个简单的算法是枚举了上下文日志中出现的所有上下文作为promising contexts,然后计算通过扫描上下文日志得到的每次交互的支持度和置信度。然而,这个算法是无效的,因为它的时间复杂度是O(NRKk=1Nk),其中NR表示上下文记录的数量,Nk表示上下文日志中出现的上下文特征fk的数量。明智的是,通过利用行为模式的Apriori属性,我们可以将候选有希望的上下文ΠKk=1Nk的数量减少到更小的数量。也就是说,给定上下文Ci和交互记录I,如果Sup(CiI>α,对于Ci 任何子集Cj,我们可以得出结论:Sup(CjI>α。这意味着如果一个上下文Ci不是一个promising contexts,即ISupCiImin_supCi的上下文超集都不是promising contexts。沿着这一条规律,我们提出了一种基于Apriori-all算法框架的行为模式挖掘算法[1],称为GCPM(生成行为模式挖掘候选的promising contexts)。 GCPM的主要思想是通过加入有希望的l语境来产生候选人有希望的l+1语境。加入上下文的概念定义如下。

这里写图片描述

通过迭代联合阶段,GCPM 很大的减少了候选的promising contexts数量从Kk=1Nk 减少到l|Λl|,这比实际上的数字要小得多。因此,GCPM的时间复杂度是O(NRl|Λl|)

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树中。 给定接收的上下文Ci,操作Insert() 首先选择一个上下文特征fk,并将Ci分配给根节点第个指针指向的中间节点,表示为INk。 如果INk不存在,操作Insert() 将首先创建它。 然后将Ci放入INk 第ℎ指针指向的叶节点,其中ℎ=Hash(vk)vk表示Cifk的值。 类似地,如果叶节点不存在,操作Insert()也将首先创建它。

在插入所有候选promising contexts之后,当扫描上下文日志R时,CH-Tree用于计算候选promising contexts的支持度。 给定上下文记录r,操作Count() 将��分配给每个现有的中间节点。 当中间节点INk收到r时,它返回其第ℎ个指针指向的叶节点作为可能包含r匹配的上下文的叶节点,其中ℎ=Hash(uk)uk表示r中的fk值。 检查这些返回的叶节点中的候选promising contexts的上下文以更新其支持度。 相比之下,在原始的GCPM算法中,所有候选的promising contexts都被检查是否应该为r更新其支持度。 因此,CH-Trees改进了上下文支持度的更新效率。

为了减少被检查的候选promising contexts的平均数目,我们期望尽可能平均地将上下文划分到每个叶节点。 为此,我们期望选择的hash值分布尽可能稀疏。 因此,操作Insert()以稀疏降序选择fkfk的值分布的稀疏性可以通过信息熵来评估,即H(fk)=vkP(vk|fk)logP(vk|fk),其中P(vk|fk)表示fk值的概率是vkP(vk|fk)可以估计为Frep(fk,vk)Frep(fk),其中​Frep(fk,vk)表示上下文特征值对(fk:vk)的频率,Frep(fk)表示语境特征fk的频率。

4. EXPERIMENTS

为了评估提出的方法,我们对移动用户的实际上下文日志进行广泛的实验。 我们建立了一个数据收集系统,用于收集一个月内50名志愿者的GPS数据,系统信息,GSM数据,通话记录,传感器数据和交互记录等丰富的上下文数据。 由于页面限制,我们仅显示两个随机选择的志愿者上下文日志的详细实验结果,即数据集DA和数据集DB。 但是我们仍然报告其他上下文日志的实验中显示的一般现象。

为了评估我们的挖掘行为模式的方法的能力,我们使用关联规则挖掘方法作为基准方法。 请注意,在下一段中,我们使用“关联规则”仅表示其前提是上下文的关联规则,后果是交互记录。 关联规则挖掘方法的实现是基于FP增长算法。

图1和图2分别比较了行为模式(CP)和关联规则(AR)相对于DADB的置信度的分布。 在这些数字中,置信度准确至0.01。 为了更清楚地观察两个分布的差异,我们标出了每个分布的平均置信度(Avg. Conf.)。 从这些数字,我们可以看出,关联规则的置信度通常太低,不能让我们将有意义的规则与噪声数据区分开来。 其他背景下的实验日志显示类似现象。

fig

我们人工检查挖掘的行为模式,发现大多数行为模式可以反映用户的习惯。 表1显示了从DADB 中挖掘的一些行为模式。 这些行为模式反映了相应用户的某些习惯。 例如,DA的第一个模式意味着相应的志愿者通常在工作日AM8:00-9:00期间开车的时候听音乐(速度:高(> 20km / h))。

table1

为了达到更客观的评估,我们还要求志愿者评估自己的上下文日志中采集的行为模式。 确切地说,对于每个志愿者,我们从他的(或她)上下文日志中挖掘所有的行为模式,其中minsup=2minconf=0.5。 然后,我们为每个交互选择最多20个行为模式,而不是使用所有挖掘到的行为模式。 这是因为挖掘行为模式的总数通常超过数百,因此可能会对评估所有行为模式带来太多的负担。 考虑到要评估的行为模式,志愿者可以从以下三个方面中选择一个:

  • I: 很有趣,这是正确的,但我还没有意识到。
  • Y: 是的,这是正确的。 我通常遵循这种模式,我知道。
  • N: 不,这不正确。 我很少遵循这种模式。

为了确保评估的质量,我们为每个行为模式生成一个副本,并随机将它们与原始模式进行混合。 如果行为模式与其副本分配了不同的备注,我们将再次重新回顾。 评估结果表明,所有志愿者对挖掘到行为模式给出95%以上的积极评价(I + Y),每位志愿者的平均比例均高于98%。

我们还评估了所提出的算法的效率,包括GCPM及其优化,表示为GCPMH,用于DADB。 这两种算法都使用标准C ++在2×2.0G CPU,2G内存的PC机上实现。 所有上下文日志的实验表明,GCPM-H的平均运行时间约为GCPM的10%。

5. CONCLUSION

在本文中,我们提出了一种挖掘行为模式的有效方法,它将上下文日志作为上下文记录的时间有序序列,并考虑到上下文的整个时间范围内的上下文和交互记录的共同出现。 对实际数据集的实验清楚地表明,我们的方法是有效,高效的。

阅读全文
0 0
原创粉丝点击