1.一种融合主题匹配与双向偏好的个性化事件推荐方法,其特征在于,包括以下步骤:步骤一,以文档主题生成模型LDA提取事件的主题信息,并根据用户参与的历史事件记录得到用户主题信息,计算新事件和用户历史事件的主题,采用JS散度算法计算用户‑事件对的主题匹配度评分;
步骤二,分别构建用户偏好模型和事件偏好模型,并分别计算用户偏好评分和事件偏好评分;
步骤三,利用贝叶斯个性化排序算法BPR学习用户偏好评分和事件偏好评分的权重参数,得到用户事件双向偏好评分,将主题匹配度评分和双向偏好评分线性加权组合得出用户‑事件对的最终推荐评分,向用户推荐排序后的前K个事件;
其中,步骤一中的所述计算新事件和用户历史事件的主题,采用JS散度算法计算用户‑事件对的主题匹配度评分,具体步骤包括:步骤1‑1,将所有事件描述内容组成文档集D并去除停用词,将所述文档集D输入文档主题生成模型LDA,分别求得每个事件的主题分布;
对所有事件内容去除停用词及标点符号,把去除噪声干扰词后的文档内容视为所有文档的集合D,输入到LDA主题模型中,产生文档 主题和词的联合分布 ,如式(1)所示:(1)
给定文档集 ,和 分别表示文档 的主题分布和词分布的先验Dirichlet分布, 分别是根据经验给定的主题先验分布和词先验分布的超参数,k是事先指定的文档集的主题数,Nm表示文档 的单词总数,M是文档集中的文档数;对于文档 中的每一个单词,LDA根据先验知识 确定文档的主题分布 ,然后从主题分布 中抽取一个主题z,又根据先验知识 确定当前主题的词分布 ,再从主题z所对应的词分布 中抽取一个单词 ,重复以上过程Nm次即可生成文档 ;
然后使用Gibbs采样方法估计模型中的两个未知参数:事件主题分布 和主题词分布 ;
步骤1‑2,根据JS散度算法计算目标用户历史事件和新事件之间的主题分布相似度;
根据式(1)已经生成所有事件的主题分布 ,给定事件 和 分别具有主题分布,通过JS散度方法首先计算两者之间的JS散度 ,如式(2)所示:(2)
其中, , 表示KL散度,用来描述两个概率分布 和 之间的差异,计算公式如式(3)所示:(3)
结合式(2)和式(3)可得事件 和 的主题相似度为 ,如式(4)所示:(4)
其中,事件的主题相似度 的值位于[0,1]中,值越接近1则表示事件相似度越高;
步骤1‑3,对目标用户所有历史事件的相似度取平均值,得到用户和新事件的主题匹配度评分;
以 表示目标用户的历史事件数,取目标用户所有相似度的平均值 作为用户和新事件的主题匹配度评分,如式(5)所示:(5)
根据构建的主题匹配模型,最终以 来度量目标用户与新事件之间的主题匹配关系。
2.如权利要求1所述的融合主题匹配与双向偏好的个性化事件推荐方法,其特征在于,步骤一中的所述文档主题生成模型LDA具有三层生成式贝叶斯网络结构,包括文档、主题和词,其中文档‑主题和主题‑词均服从多项式分布;每个文档以一定概率选择一个主题,并从这个主题中以一定概率选择一个词语,在任意文档中的主题均符合Dirichlet分布,通过该分布发掘文本之间的关系。
3.如权利要求2所述的融合主题匹配与双向偏好的个性化事件推荐方法,其特征在于,步骤二中的所述构建用户偏好模型分别从地理位置、社交关系、时间因素三个方面来构建用户的单因素偏好,具体包括:步骤2‑1‑1,构建地理位置偏好模型:
地理位置偏好模型计算目标用户将参与在该位置举办事件的概率,采用核密度估计KDE方法对用户参与的事件的二维地理位置分布进行建模,用归一化之后的事件参与概率表示用户对地理位置的偏好度;事件地理位置的经纬度坐标用(Lx, Ly)表示,用户历史参与事件的地点集合以L(u)表示,则关于用户u的KDE函数 如式(6)所示:(6)
T
其中,li =(Lxi, Lyi)表示事件位置经纬度坐标的二维化向量,ml(u,li)表示用户u参加地理位置li处举办活动的频率,σ表示邻域窗口(带宽)的大小,N表示位置样本中的个数,K(•)表示高斯核函数,其定义形式如式(7)所示:(7)
结合式(6)和式(7)可定义用户u参加将在位置为l处举办的事件活动的概率,如式(8)所示:(8)
将概率归一化,得到用户关于地理位置的偏好评分 ,如式(9)所示:(9)
其中,分母表示目标用户最大的事件参与概率;
步骤2‑1‑2,构建社交关系偏好模型:
在用户社交关系网络中,用户会在线上加入至少一个或多个兴趣组中,并选择参与不同的小组发布的事件活动,通过用户的线上同组关系判断用户的社会关系偏好,所述同组关系主要包括两种交互关系;
第一种,用户与组的相关性,定义为用户与他们所属的所有组之间以及用户与组内创建的事件之间的交互关系,以G(u)表示用户u参与的事件所属的组的集合,则用户与组的相关性 可表示成式(10)所示:(10)
其中,mp(u,g)表示用户所在组中用户u曾参加的事件活动集合;
第二种,组内用户相关性,组内用户相关性由目标用户所在组中的好友相似性来定义,计算目标用户与组内用户的相似性 ,如式(11)所示:(11)
其中,sim(ui,uj)表示同一组中用户ui和用户uj之间的相似性,如式(12)所示;
(12)
将s(u,g)归一化为 ,如式(13)所示:
(13)
结合上述两种交互关系,属于相同组的用户倾向于参加由这些组内的其他用户创建的事件,综合用户与组的相关性和组内用户相关性得出用户u关于线上小组g的社交偏好评分,如式(14)所示:(14)
其中, 作为权重控制参数,在社交关系网络中,设定目标用户和小组的偏好关联与组内用户之间的关联同等重要,通过实验验证将此处 的值设为0.5;
步骤2‑1‑3,构建时间因素偏好模型:
事件的时间因素是计算用户偏好时需要考虑的一个重要偏好因子;将用户能选择参加的新事件e表示为一个7*24维的事件时间向量 ,当新事件在一周的某个特定时间段中发生时,则将该时间段的向量分量值置为1,否则为0;在时间偏好模型中根据用户参加的历史事件记录将用户表示为用户时间向量 ,如式(15)所示:(15)
其中,Eu表示目标用户参与过的历史事件集合,然后计算用户时间向量和新事件时间向量之间的余弦相似度 ,如式(16)所示:(16)
对于新事件 ,用户 可根据式(16)求得相似度 ,归一化该相似度得到该用户对事件的时间偏好评分 ,如式(17)所示:(17)。
4.如权利要求3所述的融合主题匹配与双向偏好的个性化事件推荐方法,其特征在于,步骤二中的所述计算用户偏好评分,具体包括:对于所述地理位置偏好模型,通过预测用户参与该位置举办的事件活动的概率表示地理位置偏好评分;对于所述社交关系偏好模型,从目标用户与组的关系、与组内用户相关性两个方面计算目标用户的社交偏好评分;对于所述时间因素偏好模型,通过构建日期和小时两个粒度的统一向量表示,并基于此计算用户‑事件对的相似度作为目标用户的时间偏好评分;结合这三个单因素偏好组成一个用户偏好感知模型,将三个单因素偏好线性组合求得用户u对事件e的总体偏好评分 ,如式(18)所示:(18)
其中, 分别表示用户在地理位置、社交关系、时间因素三个单因素上的偏好评分。
5.如权利要求4所述的融合主题匹配与双向偏好的个性化事件推荐方法,其特征在于,步骤二中的所述构建事件偏好模型分别从事件位置流行度、事件主办方影响力两个方面来构建事件的单因素偏好,具体包括:步骤2‑2‑1,构建事件位置流行度偏好模型:
根据用户u和其所加入的线上小组g中的用户对地点访问频率来计算地理位置的流行度;
首先定义事件地理位置le关于用户u的流行度 ,如式(19)所示:(19)
其中,分子 为用户u参加地理位置le处举办活动的频率,分母为用户u历史访问过的位置的最大频率;同样地,定义地理位置le关于用户u所在小组g的流行度 ,如式(20)所示:(20)
其中,分子表示小组g中每个用户在位置l参加实践活动的频率,分母为小组成员历史访问过的位置的最大频率,由此可计算出地理位置le关于小组g中的用户的流行度;结合和 定义要推荐事件的举办位置对目标用户u的总流行度为 ,如式(21)所示:
(21)
步骤2‑2‑2,构建事件主办方影响力偏好模型:
第一,事件主办方对目标用户的影响度,选择通过主办方的信誉度或者影响度来表示事件的隐式偏好;定义事件对用户u的影响度 ,如式(22)所示:(22)
其中, 表示用户u参加过的由主办方uh举办的事件集合,Eh是主办方uh举办的所有事件集合;
第二,事件主办方在小组中的影响度,针对目标用户所在的线上小组,事件在该组中的影响度类比采用用户参加的频率比例来表示,用户在组中的影响度以 表示,如式(23)所示:(23)
其中,Ug表示小组 中的用户集合, 表示用户 参与的由主办方 举办的事件集合, 表示 在小组 中举办的事件集合;结合事件主办方对目标用户以及对小组中用户的影响度求得事件主办方的综合影响度评分 ,如式(24)所示:(24)。
6.如权利要求5所述的融合主题匹配与双向偏好的个性化事件推荐方法,其特征在于,步骤二中的所述计算事件偏好评分,具体包括:对于未发生的新事件,通过计算新事件的事件位置流行度和事件主办方影响力来表示事件的偏好;对已构建的事件位置流行度 和事件主办方影响力 线性组合,计算得到事件e对用户u的偏好评分 ,如式(25)所示:(25)。
7.如权利要求6所述的融合主题匹配与双向偏好的个性化事件推荐方法,其特征在于,步骤三中的所述得到用户事件双向偏好评分,将主题匹配度评分和双向偏好评分线性加权组合得出用户‑事件对的最终推荐评分,具体步骤包括:步骤3‑1,对用户‑事件对求双向偏好:
假设用户和事件的偏好评分权重分别为 和 ,把两者加权融合得到用户事件双向偏好评分 ;将双向偏好评分的问题转换为求两个偏好评分的权重向量,选择使用隐式反馈作为训练数据学习权重向量;
选择基于贝叶斯最大似然估计的学习算法BPR对权重进行排序学习,根据用户对事件的隐式反馈数据学习用户‑事件对的正确排序顺序,使得用户参与的事件排在新事件或其它事件之前;首先,定义最大化后验概率 ,如式(26)所示:(26)
其中,θ表示权重向量,R表示所有用户‑事件对的集合, 定义如式(27)所示;
(27)
其中,式中 表示用户 的用户‑事件对,而 表示对于用户 事件 排在 前面的概率,如式(28)所示:(28)
其中, 即为双向偏好评分 , ;为了更方便进行优化,假设 服从均值为0的正态分布,展开推导得出最终优化目标函数 ,如式(29)所示:(29)
其中,表示正则项系数,通过用户事件的隐式交互反馈数据最大化优化目标函数,得出最优权重参数向量;采用随机梯度下降算法SGD求解该优化问题,在迭代过程中从训练集随机提取目标用户的用户‑事件对来更新权重向量 ,更新过程如式(30)所示:(30)
其中,是学习率, ;通过以上学习过程可以自动根据用户事件偏好评分训练集和超参数 和 求得权重向量 ,从而得到双向偏好评分 ;
步骤3‑2,结合主题匹配和双向偏好求得用户‑事件对最终推荐评分:首先,通过LDA主题模型提取事件主题并求得用户和事件的主题匹配度评分;其次,根据EBSN中的用户事件上下文信息分别构建用户和事件的偏好模型,通过BPR学习算法得到用户事件双向偏好评分;最后,将主题匹配度评分 与用户事件双向偏好评分 线性加权求和得到最终的用户‑事件对推荐度评分 ,如式(31)所示:(31)
其中,为权重参数,通常根据经验手动设定,将通过实验来确定最优设置。
8.一种融合主题匹配与双向偏好的个性化事件推荐的实现系统,其用于实现如权利要求1‑7任一项所述的融合主题匹配与双向偏好的个性化事件推荐方法,其特征在于,该实现系统包括:文档主题生成模块,用于提取用户历史事件和新事件的主题,并计算事件的主题分布和词分布,以用户历史事件和新事件之间的主题相似度表示主题匹配度,将其作为推荐的关键因素之一融合到推荐模型中,以进行事件推荐;
构建用户偏好模块,用于从地理位置、社交关系、时间因素三个方面来构建用户的单因素偏好,并将三个单因素偏好加权融合得到用户整体偏好;
构建事件偏好模块,利用以事件主办方在小组中的社交影响力,以及事件举办的地理位置在小组中的流行度来表示事件的偏好;
用户事件双向偏好评分模块,利用排序学习算法对用户偏好评分和事件偏好评分的权重参数进行求解,得到用户事件双向偏好评分;
用户‑事件对的最终推荐评分模块,用于将主题匹配度评分和双向偏好评分线性加权组合得出用户‑事件对的最终推荐度评分。
9.如权利要求8所述的融合主题匹配与双向偏好的个性化事件推荐的实现系统,其特征在于,所述用户偏好模块包括地理位置偏好模块、社交关系偏好模块和时间因素偏好模块,所述事件偏好模块包括事件位置流行度偏好模块和事件主办方影响力偏好模块,其中:所述地理位置偏好模块,用于通过预测用户参与某个地理位置举办的事件活动的概率,来表示地理位置偏好评分;
所述社交关系偏好模块,用于从目标用户与组的关系、与组内用户相关性两个方面计算目标用户的社交偏好评分;
所述时间因素偏好模块,用于通过构建日期和小时两个粒度的统一向量表示,并计算用户‑事件对的相似度作为目标用户的时间偏好评分;
所述事件位置流行度偏好模块,用于在新事件推荐时,举办地点对于感兴趣的用户来说是重要的选择依据,称为地理位置在用户群体中的流行度,考虑事件地理位置的受欢迎程度能够更加精确地计算事件对用户的吸引度;
所述事件主办方影响力偏好模块,用于根据事件主办方在目标用户所在群组的影响力来提升推荐的精确度,从事件主办方对目标用户的影响度和事件主办方在小组中的影响度两个方面计算其影响力。