system: [SYSTEM]

user: 3. 预测问题 基于事件的社交网络的预测问题是用户在线上社交网络服务平台发布活动之后，社交媒体平台会根据活动的举办时间和地点、组织者和活动的属性等预测活动的潜在参与者。此外，除了预测活动的潜在参与者，也会预测用户参加的活动。用户会参加什么活动，大多是由用户的兴趣爱好、用户到活动的距离以及活动本身的属性等信息决定的 [ 22 ]。 3.1. 预测问题的定义 基于事件的社交网络的预测指的是依据用户的标签、活动的属性、活动举办的环境以及朋友的社会关系等来推测活动的潜在用户和预计用户即将参加的活动。值得关注的是，很多研究者首先会把用户居住地到召集活动的距离作为预测活动参与者的关键要素 [ 2 ]，活动的内容 [ 29 ]、用户对活动的兴趣程度以及组织者影响力是次要因素 [ 15 ]。但是每个用户关注的信息不同，因此对每个用户考虑的特征也是千差万别，所以要对用户进行一套统一的预测模型是非常有困难的。 此外，活动举办的时间周期也会影响到预测活动的潜在用户，例如一些用户喜欢参加周末早上的活动，而另外有些用户喜欢参加周五晚上的活动，如何做到预测哪些用户参加哪个时间段的活动 [ 3 ]，就成为预测问题的难点所在。如果能把握住用户细微差别的特征，则预测给用户的活动会更符合用户的满意度，用户接受率也会越高，其体验效果会更佳。很多研究者综合上述的问题定义及其特征给出了基于事件的社交网络活动预测问题的方法。 3.2. 预测问题的方法 基于事件的社交网络服务预测问题是依照一定的方法对未来用户参加的活动和活动的潜在参与者进行测算。从实体类型的角度来看，主要包括用户或活动(含特定标签、群组或属性)。从模型角度来看，目前，基于事件的社交网络预测的研究方法以组织者的影响最大化、多特征混合和亲密度最大化方法为主。 3.2.1. 基于组织者影响最大化的方法 基于组织者影响最大化的预测方法主要是看组织者是谁，该组织者对群组的影响力。比如某个活动组织者之前举办过一些活动，然后影响力很好，接着再次举办其它活动的话，那么就会有很多用户基于此组织者的信誉度而报名参加其组织的活动 [ 31 ]。Yu等人 [ 32 ]认为用户会根据组织者的信息来决定是否参加活动，即用户依据组织者历史记录的信誉度来决定加入的群组或者参加的线下活动。例如豆瓣社交网站 [ 33 ]上面会有活动的相关信息，如活动的组织者，活动举办的时间、地点，内容，已报名的用户。在未来即将到来的用户，如果用户看到是自己熟悉的组织者或者是自己崇拜的偶像组织的活动，那该用户会以很大的概率加入该组织者的群组或者报名参加该组织者召集的活动。 Feng等人 [ 15 ]根据组织者影响最大化的方法来寻找一个活动潜在的最大用户数，先前也有研究团队给出了影响最大化的研究 [ 34 ]- [ 41 ]，但是基于事件的社交网络数据管理的组织者影响最大化与传统的影响最大化 [ 42 ][ 43 ]有本质的区别。Feng等人是结合了线上线下的社交网络来考虑线下活动组织者的影响最大化，即给出一张线上社交网络图G，图上的顶点表示用户，每个用户v有一系列的相关属性A(v)，用a i Î A(v)表示用户v具有属性a i ，在这里的属性可以代表一个用户的兴趣爱好。如图3(a)所示，有一张社交网络图，图上有四个顶点代表四个用户u 1 ，u 2 ，u 3 ，u 4 ，每个顶点旁边的即是用户的属性A(u 1 ) = {a， b， c}，A(u 2 ) = {a， b}，A(u 3 ) = {c， d}，A(u 4 ) = {a， b}，给定一个属性a，目的是要找到对属性a感兴趣的所有用户，此模型是能找到最多的用户越好，因此在这个例子上含有属性a的用户是{u 1 ， u 2 ， u 3 }。回到基于事件的社交网络的预测问题上，活动发布者要求参加的用户对活动感兴趣之外，在活动没有人数限制的情况下，组织者当然是希望用户来得越多越好。如果该组织者很有影响力，那么对该活动感兴趣的用户自然会来得比较多。Feng等人把这个问题类比到集合覆盖问题，集合覆盖问题是经典的NP-hard问题 [ 86 ]，并且此问题在用户数增加到一定数量时，在线性时间内是找不到含有指定属性的全部用户数，由此可知这个问题是NP-hard问题。Feng等人针对此问题提出了三个算法，它们分别是贪心算法、基于划分的影响集合覆盖(Partition-based Influential Cover Set，简称PICS)和PICS的优化算法(PICS + )，其中贪心算法没有近似比，它的时间复杂度为 O ( t ( n ) ( ∑ i ∈ [ 1 ， k ] n i ) ) ；PICS算法的近似比为2，它的时间复杂度为 图3. 社交关系及用户属性图 O ( ( k ) | V Q | ⋅ t ( n ) ⋅ ∑ i = 1 | Q | { i | Q | } ) 。其中n是社交网络的顶点，即用户的数量；t(n)表示计算一个用户的传播影响力所需要的时间；Q是属性的集合；V Q 是用户v的部分属性的候选集合；k是一个给定的整数。后两个算法涉及到划分，即给出一系列的属性Q，一个正整数k，当满足下列三个条件时： ① 对于每一个 i ∈ [ 1 ， m ] ，属性集 A i ⊆ Q ，并且非空； ② 对于 i ≠ j ( i ， j ∈ [ 1 ， m ] ) ， A i ∩ A j = Φ ； ③ ∪ i ∈ [ 1 ， m ] A i = Q 。则有 P = { A 1 ， A 2 ， ⋯ ， A m } ，给定两个属性集合Q 1 和Q 2 ，并且 Q 1 ⊆ Q 2 ，假设P’是Q 1 的一个划分，P’也是Q 2 的一个划分。回到例图3(a)中，属性集合 { a ， b ， c ， d } ，正整数k = 3，有 p 1 = { { a ， b } ， { c ， d } } 是一个划分； p 2 = { { a ， d } ， { b ， c } } 是一个划分； p 3 = { { a ， b ， c } ， { c ， d } } 不是一个划分，因为 { a ， b ， c } ∩ { c ， d } ≠ Φ ； p 4 = { { a ， b } ， { d } } 不是一个划分，因为元素c不在里面； p 5 = { { a } ， { b } ， { c } ， { d } } 不是一个划分，因为p 5 的集合个数大于3。 3.2.2. 基于多特征混合的方法 基于多特征混合方法是研究用户和活动相关因素的重要性、将影响因素表示成特征、利用抽取的特征训练模型，最后基于这些重要的相关特征对活动潜在用户进行有效的预测等 [ 44 ]。一般来说，预测问题最后会通过大量的已知数据训练出多特征混合模型对未知信息进行预测，然后用分类模型针对因素的重要程度分为几个等级。这类预测方法的本质问题是针对用户和活动的信息影响因素进行分析，主要的操作是特征的选择与表示。目前，常用的特征主要有以下三类。 1) 活动内容 活动内容是决定用户是否会去参加某一个活动的重要因素 [ 45 ][ 64 ]，一般是利用用户参加过的活动与即将举办的活动进行一个相似度的计算。如果相似度比较大，则认为该用户参加这个活动的可能性比较大，如果相似度较小，则认为用户以较小的概率去参加即将到来的活动。Du等人 [ 29 ]使用隐含狄利克雷分布(latent dirichlet allocation，简称LDA)主题模型 [ 46 ]，此模型被广泛应用于社会媒体用户文本兴趣建模任务，在LDA的基础上Du等人首先对文本进行处理(去掉停用词和标点符号)，接着使用吉布斯采样(Gibbs sampling)，然后利用Jensen-Shannon (JS)距离 [ 47 ]来计算用户参加历史活动与即将参加的活动的相似度，为了得到更好的主题数，最后用了聚类的方法。其中主题数的选取是依据LDA的边缘分布(marginal distribution)而得，边缘分布可表示为： P ( d ) = ∫ θ ( ∏ i = 1 n ∑ T ( i ) P ( W ( i ) | T ( i ) ， β ) P ( T ( i ) | β ) ) P ( θ | α ) d θ (3) 其中， P ( θ | α ) 是在给定的 α 参数依据狄利克雷分布而得到 θ 的概率， P ( W ( i ) | T ( i ) ， β ) 是在给定主题T (i) ，参数是 β 情况下，求得W (i) 的概率；用JS距离求两个主题的相似度，JS的距离公式为： J S ( p ， q ) = [ D K L ( p ， p + q 2 ) + D K L ( q ， p + q 2 ) ] (4) D K L ( p ， q ) = ∑ j = 1 T p j log 2 p j q j (5) 其中，p，q为两个分布。例如有两个活动a 1 ：“drama British Shakespeare classic Macbeth”、a 2 ：“British Shakespeare King Lears”，其中a 1 是用户参加过的活动，而a 2 是用户即将要参加的活动，也有可能不参加。首先使用LDA提取得到的活动内容主题数为2，则上述两个活动可以改写为T 1 ：“British Shakespeare”、T 2 ：“drama classic”，明显发现活动a 1 有50%“成员”在T 1 ，T 2 这两个主题中，而活动a 2 有100%“成员”在主题T 1 ，有0%“成员”在主题T 2 。每个活动用一个向量来表示它们的主题成员 [ 48 ]，可以表示为a 1 = [0.5， 0.5]，a 2 = [1.0， 0.0]，接着用Jensen-Shannon距离来计算这两个活动的内容相似度，可以计算两个活动的内容相似度为0.31，最后利用JS divergence得到活动a 1 与活动a 2 的内容相似度为1 − 0.31 = 0.69。 2) 时空信息 时空信息指的是举办活动的时间和地理位置信息。比如上班族会倾向于周末的活动，而老年人则会对工作日的活动比较感兴趣。此外，用户对活动举办地点也有一定的青睐性，如果在时间比较短的时间内(10个小时左右)参加活动，他们会选择距离相对来说比较靠近居住地的活动；如果时间稍微长(3~5天)的时间参加活动，他们有可能会选择距离比较远的活动(如郊区的一些活动等)。此外，Liu等人 [ 2 ]也认为时空信息对活动的参与者有一定的影响 [ 2 ]，因此时空信息也是影响预测问题的主要因素。对用户和活动的时空信息进行分析，有助于活动潜在参与者的预测 [ 49 ]。 3) 社交关系 用户与用户之间的社交关系也是影响预测问题的关键因素 [ 50 ][ 73 ]。比如豆瓣的活动，组织者可以给用户发活动的邀请，如果用户u 1 (好友关系如图3(a)所示)被邀请，并且去参加活动，则u 1 会希望他的好友u 2 ，u 3 ，u 4 也会来参加。另外，如果一个用户经常去参加体育活动，该用户参加过的体育活动都是同一个组织者组织的，则该用户希望下次参加的体育活动也是之前的组织者组织。因此，社交关系也是影响预测问题的关键因素。 3.2.3. 基于亲密度最大化的方法 亲密度最大化指的是用户与用户的亲密度或者是用户与活动的亲密度最大，目前，最大化亲密度来预测活动的潜在参与者或者预测用户参加的活动已经有了部分研究。这类方法没有考虑用户居住地与活动之间的时空信息，对预测问题存在一定的局限性。 Shen等人 [ 51 ]给出的是同一个活动中考虑用户与用户之间的好友关系最大。好友之间有些是互相认识的，有些也许不认识，但是他们会因为各自朋友彼此的关系有可能即将互相成为好友关系。如图4所示，实线表示已经存在的好友关系，虚线表示潜在的好友关系。图4中(a)是已知图，若想要用从图4(a)中找到一个最大的潜在的好友亲密度去参加线下组织的活动，图4(b)中是最大的潜在好友关系，但是这些好友之间并没有互相认识的朋友，即使他们都同时到了活动举办地点，互相见面，彼此也很难相互认识。图4(c)中u 2 和u 3 有可能会形成好友，但他们之间的亲密度太小了，他们在一起参加的活动互相认识的概率也会比较小。图4(d)相对于图4(b)和图4(c)则是比较好的可以互相认识的亲密度较大的朋友关系，他们也有比较大的可能性会去参加同一个活动。若要找到亲密度最大的潜在好友圈，这是一个组合优化的问题，当用户数量增加时，可以穷举出有无数种可能性，最后变得不可计算，由此可知这是一个NP-hard问题。Shen等人仅仅考虑了用户与用户之间的好友关系，并没有考虑用户与活动的相似度和用户到活动的距离等信息，所以此方法存在较大的局限性。 针对Shen等人好友亲密度最大的局限，Li等人 [ 1 ]除了考虑在一个活动中用户与用户之间的好友关系，也考虑用户与活动之间的亲密度。Li等人认为一个用户参加某个活动，这两项亲密度是首要考虑的。例如图3(b)所示，有四个用户分别为u 1 ，u 2 ，u 3 ，u 4 ，图上顶点旁边的字母代表的是活动，有三个活动a， 图4. 好友关系图 b，c，这三个活动的下限分别为2，1，2；上限分别为4，6，5。从图上可知u 1 对活动a，b感兴趣，u 2 对活动a感兴趣，u 3 对活动b，c感兴趣，u 4 对活动a，c感兴趣。首先假设u 1 去参加活动a，从图3的(b)中好友关系可以获知u 1 有三个朋友，其中有两个朋友对活动a也感兴趣，而活动a的下限为2，上限为4，基于用户与活动的兴趣程度和在同一个活动中用户与用户之间的亲密度最大，因此，预测u 1 ，u 2 ，u 3 会同时去参加活动a。而目前还有u 3 没有参加活动，它对活动b，c都感兴趣，但是活动b只需要一个人就可以举办，而活动c则需要2个用户才可以举行，因此在符合约束条件的前提下，并且考虑了用户与活动的亲密度的情况，预测u 3 会去参加活动b。预测用户会参加什么活动这个问题，因为用户有多种选择，想要找到一个最优的选择是比较困难的，如果用户数目很小，可以通过穷举来预测令用户满意度较高的活动。但是在现实生活中，用户是上万个，甚至上百万的数量级，穷举法或者其他的方法在多项式时间内是不可能得到一个解。由此可知这个问题是一个NP-hard问题。鉴于此问题加了活动上下限容量的限制，把此问题变得不可解，Li等人认为在一个多项式时间内找不到常数近似比，但他们找到的近似比不超过( 1 − 1 / n + ε )。此研究团队针对这个问题提出了静态贪心和动态贪心的求解方法，并且求得算法的时间复杂度为 O ( | L | log ( | L | ) + | E | ) ，空间复杂度为 Ω ( | L | + | E | ) ，其中L是用来执行斐波那契堆(Fibonacci head)的优先队列，E是图上边的条数。 3.3. 预测问题的方法总结 前面阐述了基于事件的社交网络数据管理预测问题的研究工作，不同的预测方法考虑的条件也各不相同，预测的内容也有所不同，现在进行总结和对比。 3.3.1. 基于组织者影响最大化的方法 这种预测方法是通过对组织者的影响力预测活动的潜在用户，利用数学方法对组织者的影响力进行抽象表示，具有一定的严谨性，可以描述预测活动潜在参与者的信息。但是这个方法仅仅考虑了活动组织者对用户的影响，而忽略了用户对活动还有偏好，比如时间和空间上的偏好，因此这种预测方法存在一定的局限性。 3.3.2. 基于多特征混合的方法 基于多特征混合方法的预测是基于影响因素的分析构建并选择特征，因此考虑了众多影响活动参与者的因素，如活动内容、时空信息以及用户的社交关系。这种方法关键在于解释各个特征对活动潜在参与者因素的相关性，该类方法不仅能预测活动的潜在用户，也能从社交关系预测用户参加的活动。 3.3.3. 基于亲密度最大化的方法 基于亲密度最大化的预测方法仅仅考虑了用户与用户之间的亲密度和用户对活动的偏好程度，忽略了用户到活动的距离这个关键因素，因此这类方法虽能预测用户参加的活动，但是预测活动的潜在用户则不太理想。因为有研究者表明，用户参加活动大部分取决于用户居住地到召集活动地点的距离 [ 2 ]。