1.一种基于多粒度特征融合的活动推荐方法,其特征在于,包括如下步骤:
步骤一:获取数据集;通过网络爬虫技术获取活动数据和用户数据,并作为活动推荐方法的原始数据;对原始数据进行清洗,去除掉缺少字段和错误的数据;将真实的用户参与和感兴趣的活动数据进行标注;
步骤二:特征提取;将活动数据分为活动文本数据和活动上下文数据,对活动文本数据进行嵌入,得到文本特征表示;活动上下文数据包括时空数据和参与成本,提取活动举办时间、地点和费用特征;从用户历史参与的活动和感兴趣的活动中,提取用户的偏好,由于用户各个时期对参与活动的权重不同,利用非线性遗忘曲线模拟用户兴趣偏好的变化,根据用户参与的活动特征,计算用户的特征偏好;
步骤三:社交网络构建;构建用户和活动组织者以及用户之间的社交关系;在网站中不存在显示的用户之间的好友关系,根据用户存在的共同行为数据构建用户社交网络,如果两个用户存在共同参与或感兴趣的活动,且加入共同的兴趣小组,则认为这两个用户之间存在共同的兴趣偏好;
步骤四:多粒度特征融合;根据步骤二中得到的用户特征,构建用户特征权重;将步骤三中得到的用户社交网络,将用户的兴趣偏好融合到用户特征权重模型中;由于不同活跃度用户之间存在明显的行为差异,按照用参与过活动的数量,将用户分为活跃用户和非活跃用户,对不同活跃度的用户分别构建用户的特征空间;
步骤五:活动推荐;计算用户对目标活动的喜爱值,同时由于用户‑活动评分矩阵的稀疏性,使用矩阵分解模型对评分矩阵进行分解,得到潜在的用户特征和活动特征,计算用户对目标活动的偏好值,根据偏好值进行排序,将评分最高的用户列表推荐给活动组织者。
2.根据权利要求1所述的一种基于多粒度特征融合的活动推荐方法,其特征在于:步骤二所述的用户非线性遗忘特征提取,具体包括:用户的兴趣会随着时间的推移而发生变化,用户近期参加的活动最能反映出用户当前的兴趣偏好;在计算用户对活动内容的偏好时引入非线性遗忘函数能够更准确地计算用户当前的活动内容偏好;将用户对历史活动e的遗忘系数定义为:其中te为用户参与活动e的举办时间,tmin为用户所有历史活动的最早举办时间,tmax为用户所有历史活动的最晚举办时间,α为遗忘函数的参数,当α=1时表示完全非线性遗忘,当α=0时表示未遗忘,当0<α<1时表示部分遗忘,α越大意味着用户的遗忘速度越快。
3.根据权利要求1所述的一种基于多粒度特征融合的活动推荐方法,其特征在于:步骤三所述的用户潜在社交网络的构建,具体包括:用户的活动决策会受到其好友的影响;如果两个用户加入了同一个兴趣小组,且参与过相同的活动或对相同的活动感兴趣,那么他们之间可能存在潜在的好友关系;
计算用户之间的关系权重;将用户i和用户j之间的关系权重定义为Wij,numij为为用户i和用户j的关系共同参与或感兴趣的活动的数量,groupij为用户i和用户j共同加入的兴趣小组的数量;
将每个用户看作一个节点,建立用户社交关系图,运用重启随机游走算法生成用户随机游走序列;用户节点随机游走过程如下:随机游走的初始节点R0为用户节点ui,Rk为随机游走的第k步所到达的节点,W为由计算得出的用户之间的权重关系Wij组成的矩阵;依次生成每个节点的随机游走序列,然后对每个节点的随机游走序列进行编码。
4.根据权利要求1所述的一种基于多粒度特征融合的活动推荐方法,其特征在于:步骤四所述的用户特征融合,具体包括:由于不同活跃度的用户行为差异较大,且非活跃用户因参与活动较少而存在冷启动问题,从提高非活跃用户预测准确度的角度出发,将用户分为活跃用户和非活跃用户;
首先,从E中提取目标活动开始前,用户ui参与过的所有历史活动 和用户是否参与目标活动标签l,当用户反馈想参加或感兴趣时,l为1,否则为0;根据用户的历史活动分别计算用户对目标活动的内容偏好f1~f2,对目标活动的上下文偏好f3~f6,f1~f6,组成用户对活动的偏好Fe;从组织者集合O中提取活动组织者oi,计算用户ui对活动组织者oi的偏好,构成特征Fo;最后,从U中提取出用户ui的5个最亲密的好友集合 计算用户好友对目标活动的偏好程度,获得用户对于目标活动的偏好特征Fs;最后把三组特征Fe、Fo、Fs和标签l拼接加入到数据集,使用GBRT算法进行训练得到用户特征权重模型。