system: [SYSTEM]

user: 5. 推荐问题 基于事件的社交网络的推荐方法与传统的推荐方法 [ 11 ][ 17 ][ 30 ][ 67 ][ 68 ][ 69 ][ 88 ][ 89 ]有所不同，传统的推荐方法是根据个人的兴趣爱好、历史浏览、专家推荐和历史购买记录等信息来决定给用户推荐的商品 [ 52 ][ 66 ][ 70 ]；而基于事件的社交网络的推荐是根据线上的用户标签信息给用户推荐群组、给群组推荐标签和给用户推荐线下活动等信息服务。因此，一些研究者以线上线下多个实体(用户、活动等)为中心，从实体的多种特征对活动进行推荐，本节将对这类工作的研究情况展开论述。 5.1. 推荐问题的影响因素 首先，对推荐问题进行形式化定义。假设基于事件的社交网络推荐问题用五元组表示 ，其中 U = { u 1 ， u 2 ， ⋯ ， u | u | } 是用户的集合，对于每一个用户u i ，利用 L i u 表示它的地理位置信息，并且每个用户都有对应的标签信息， E = { e 1 ， e 2 ， ⋯ ， e | E | } 表示用户与用户好友关系的集合； V = { v 1 ， v 2 ， ⋯ ， v | v | } 是活动的集合，对于每一个活动v j Î V，利用 L j v 表示它的地理位置信息； T = { t 1 ， t 2 ， ⋯ ， t | T | } 表示标签的集合， G = { g 1 ， g 2 ， ⋯ ， g | G | } 表示群组的集合，每一个群组都有一个相应的地理位置信息和一个标签信息。有三种推荐模式：① 给用户推荐群组，给定一个用户u，根据r(u，g)的排序给该用户推荐一个其偏好程度最大的群组，其中r(u，g)表示用户u对群组g的偏好 [ 11 ]；② 给群组推荐标签，已知一些历史的群组标签对 ，给定一个目标群组，目的是找到一些列的标签使得它们与目标群组有较大的相似度 [ 71 ]；③ 给用户推荐活动，给定一些用户，根据r(u，v)给用户推荐其感兴趣的并即将到来的活动 [ 2 ]。无论是哪种推荐结果，都是由多种因素共同作用，这使得看似简单的问题变得具有挑战。针对不同的推荐结果，考虑的因素将有所不同。本文综合以往研究内容，将影响推荐的因素概括为三类——时空因素、内容因素和社交关系。时空因素主要包括举办活动的地理位置信息和时间信息 [ 5 ]；内容因素主要包括活动自身的特点以及活动内容与用户的兴趣爱好相吻合的程度；社交关系主要包括组织者的影响力以及用户与用户组成的群组 [ 53 ]。 5.2. 推荐问题的方法 推荐是指学习过往的历史记录和行为规律，从而给未来的群组、标签和活动推荐用户、群组等。根据推荐基本假设的不同，推荐方法可分为基于用户历史记录的推荐、基于多任务的推荐和基于多特征的推荐。主要使用的模型：贝叶斯潜在因子模型 [ 72 ]、聚类模型 [ 2 ]、概率模型 [ 18 ]、矩阵分解 [ 11 ][ 73 ]、分类模型 [ 3 ]、排序算法 [ 3 ]和基于图的模型 [ 17 ]等。 5.2.1. 基于用户历史记录的推荐方法 基于用户历史记录的推荐方法依据用户在推荐时间点前的历史纪录信息，根据用户参加过的活动、标签信息、地理位置记录等给用户推荐活动。历史纪录信息对用户未来参加的活动有着很好的指导作用，例如发现用户以往总是参加一些体育类的活动，则社交媒体平台会以很大的概率给他推荐体育类相关的活动。Qiao等人 [ 18 ]对Meetup的反馈数据(“RSVP”选择，“yes”，“no”，“maybe”)进行统计分析，发现用户会跟自己住的地点与召集活动的地点有很大的关系，然后根据用户的兴趣爱好使用贝叶斯概率模型 [ 78 ]，为用户推荐其可能会参加的活动。Liu等人 [ 2 ]对Meetup的反馈数据进行聚类分析，发现用户大多选择离居住地较近的活动，因此可以认为距离是可以用来推荐的一个关键因素。 Zhang等人 [ 11 ]依据用户反馈数据、用户对活动的兴趣程度和时空信息进行建模，接着采用矩阵分解技术给用户推荐群组 [ 75 ][ 76 ]，其核心思想是：假设给用户推荐群组只受少数几个因素的影响，由此将稀疏高维的“用户–群组”的矩阵分解为两个低维矩阵，通过挖掘用户对群组的偏好程度得出用户特征矩阵P u 和群组特征矩阵P g ，然后依据 r m ( u ， g ) = P u T P g 重构用户对群组喜好的低维矩阵 [ 77 ]，同样地，依据 r i ( u ， g ) = w T x 用来构建用户对群组的偏好矩阵，最后依据 r ( u ， g ) = r m ( u ， g ) + r i ( u ， g ) 得出用户对群组的兴趣程度的矩阵 [ 74 ]。然而由于新的用户和新的活动不断出现，用户-活动矩阵将会变得非常稀疏，则会存在较严重的冷启动问题。因此，在后续的研究工作 [ 3 ]致力于分析用户历史记录的基础上融入更丰富的特征，如用户属性特征、活动属性特征、活动召集的时空信息和用户参加活动的时间段等。其中，文献 [ 3 ]是基于多特征的推荐方法，在一定程度上缓解了数据稀疏导致的冷启动问题。 5.2.2. 基于多任务的推荐方法 多任务推荐指的是给用户推荐群组、给群组推荐标签和给用户推荐活动，Pham等人 [ 17 ]假设基于事件的社交网络是由用户、标签、群组、活动、活动举办地点这五个实体构成，并对这五个实体进行建模，与其他的建模方法 [ 78 ]不同的是，它主要解决了给用户推荐群组、给群组推荐标签和给用户推荐活动。用 R = { 〈 U ， E 〉 ， 〈 E ， G 〉 ， 〈 E ， V 〉 ， 〈 U ， G 〉 ， 〈 U ， T 〉 ， 〈 G ， T 〉 } 表示五个实体的关系，而基于事件的社交网络由有向图 g = ( V ， ε ) 组成，其中 V = U ∪ E ∪ G ∪ T ∪ V 组成， ε = { 〈 m ， n 〉 | m ∈ M ∧ n ∈ N } ∧ { 〈 M ， N 〉 ， 〈 N ， M 〉 } ∩ R ≠ Φ ，并且m与n具有关系}，例如在图7中，R是users，events，tags，groups，venues； ε 是它们之间的关系。 如图7，Alice和Bob一起加入“Sports club”群组，然而Carol加入“Singles”群组；“Sports club”群组在体育场举行足球比赛，意味着Alice和Bob将会去体育场参加足球比赛；以此同时，“Singles”群组在“Restaurant”举办“Birthday”和“Hanging out”两个活动，则意味着Carol将有可能去“Restaurant”参加那两个活动。此外，发现前两个人的标签为“Sports”而后一个人的标签为“Dancing”，两个群组都是用“Games”来作为标签表示群组的兴趣爱好，“Singles”群组还用“Dancing”来作为标签。在这么交错复杂的信息中，将产生三个问题。① 用户将加入哪个群组，比较方便其往后参加的活动与兴趣爱好相吻合？② 群组将会选择哪个标签才是最能表达它的信息？③ 把即将到来的活动推荐给哪个用户比较适合？Pham等人 [ 17 ]针对这三种推荐任务给出了基于图的模型方法(HeteRS)，将这三种推荐任务转变 图7. 多种推荐任务示例图 [ 17 ] 为顶点近似计算问题(node proximity calculation problem) [ 79 ]，并结合异质的网络信息，接着采用马尔科夫链去解决这三种推荐问题。 5.2.3. 基于多特征的推荐方法 基于多特征是依据多个特征给用户推荐活动或给用户推荐群组。不同于传统的群组推荐 [ 81 ][ 82 ]，基于事件的社交网络的群组推荐主要是结合线下的活动，一系列的用户会在线下共同参加一个活动。Q. Macedo等人 [ 3 ]结合了活动内容，历史记录的反馈数据和用户及活动的时空信息，假设这些属性都对用户参加活动起到一定的影响 [ 84 ]。例如，一个用户决定去参加一个活动，不仅仅因为这个活动与他的兴趣爱好吻合，还考虑了该用户的朋友也会去参加这个活动。在分析多特征对推荐影响的因素时，采用了坐标上升(Coordinate Ascent)学习方法，把与用户和活动相关的属性逐步考虑到模型当中，然后设计多组对比实验，最后才能知道哪个特征是对推荐有意义。Q. Macedo等人针对多特征的模型求解中用到了分类算法和坐标上升的排序算法。此外，Tong等人 [ 64 ]也考虑了多特征的推荐方法，结合用户居住地到召集活动地点的距离、用户对活动的兴趣程度以及用户的社交关系，给用户推荐活动或者行程路径。 5.3. 推荐问题的方法总结 现在总结上文介绍的基于用户历史记录的推荐、基于多任务的推荐和基于多特征的推荐，这三种推荐方法都有其各自的特点，现对其进行总结。 5.3.1. 基于用户历史记录的推荐方法 这种推荐方法要事先知道用户的历史记录，并且从历史记录统计分析出少部分关键的特征，这类方法主要利用了矩阵分解技术来求解，主要是挖掘用户的历史记录信息，分析出用户的兴趣偏好，这些信息给推荐具有一定的指导作用。随着新用户和新活动的进入，此类方法将面临严重的冷启动问题，若融入多个特征属性，则冷启动问题将得到缓解。基于用户历史记录的推荐方法可以利用在给用户推荐群组，给用户推荐活动这两个推荐任务上面。 5.3.2. 基于多任务的推荐方法 这种推荐方法结合用户和活动的五个属性，解决了给用户推荐群组，给群组推荐标签和给用户推荐活动三种推荐任务，这类方法主要利用了基于图的模型的方法，把这三种推荐任务转变为顶点近似计算问题(node proximity calculation problem)，并结合异质的网络信息。而对于信息量较少的用户和活动，则这种方法将很难给用户推荐其感兴趣较大的活动，很难给群组推荐适合的标签，可能会给用户推荐其不太满意的活动，影响用户的满意度。但是这种方法能解决三种推荐任务也是其他研究者少有的突破。 5.3.3. 基于多特征的推荐方法 这种推荐方法是为了解决基于用户历史记录的推荐方法所带来的冷启动问题，主要用到了分类方法和坐标上升的排序算法来解决。这种方法主要难点是在特征的选择，将选择好的特征用分类算法去分类，这种方法比较直观、简单。但是模型适应性和解释性较弱，依赖于特征的选择和组合。