[0063] 下面结合附图对本发明作进一步说明。
[0064] 本发明的在线的群组电影推荐方法,具体步骤如下:
[0065] 步骤1、计算电影类型的社会影响力;
[0066] 步骤2、统计群组成员对电影类型熟悉程度;
[0067] 步骤3、计算群组成员对于某种电影类型的话语权;
[0068] 步骤4、融合群组成员的偏好;
[0069] 步骤5、电影推荐。
[0070] 具体的,步骤1计算电影类型的社会影响力由以下步骤组成:
[0071] 电影类型的社会影响力可以理解为当前的流行趋势。由于观众人数过多,并且动态变化,为了减少计算量,通过随机采取总体观众样本的部分观众,对抽取观众的观影记录及相应电影类型进行统计计数,得到电影类型的社会影响力e,用于后续观众偏好融合的计算。
[0072] 1‑1动态样本库维护
[0073] 由于在线推荐电影中观众观影记录动态变化,本步骤采用采样池采样的方法,对观众群体进行抽样,减小电影类型社会影响力的计算工作量。
[0074] 假设采样池的大小,也就是样本数为M。针对观众集合U中观众序列,对采样池进行以下操作:
[0075] 如果采样池中观众数量小于M:则将该名观众放入采样池,并且设置进入蓄水池时间。
[0076] 第一步:当对采样池已满,也即蓄水池中观众数量已经为M时:
[0077] 第二步:针对观众序列中的第i‑j名观众(顺序号i为当前观众序号,j为56天(8周)前一天0时数据库中的最大序号),有(i‑j)>=M,在[0,(i‑j)]范围内取一个随机整数d,若d小于M,则用接收到的这个观众替换采样池中的第d个观众。
[0078] 第三步:在每天开始时候,清理进入采样池超过8周都没有观影记录的样本观众。
[0079] 重复第二步,直至没有新增观众。
[0080] 1‑2电影类型影响力计算
[0081] 访问采样池中观众的观影记录,计算各种类型电影的社会影响力,即统计电影类型C={c1,c2,...,cl}中所有类型电影的观影人数,除以M得到该种类型电影的社会影响力e。
[0082] 具体的,步骤2群组成员对电影类型熟悉程度统计过程如下:
[0083] 根据观众‑电影交互矩阵和电影‑类型交互矩阵确定观众对电影类型的熟悉程度。
[0084] 假设一个数据集中所有电影的类型属于19种类型中的一种或多种。因此对于每一个电影项目,可以得到一个维度为19的类型向量,用这个类型向量来表示每一部电影的类型信息。例如,电影《GoldenEye》是动作、冒险、恐怖类型,那么它的类型向量为[0085] t=(1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0)T,
[0086] 于是所有电影的类型向量构成的矩阵为T=(t1T,t2T,...,tnT)T,其中n表示电影总数。根据观众的观影记录和电影的类型向量,能确定观众和电影类型之间的关系,并使用计数向量来表示这种关系。对于观众ui,其计数向量wui可用已观看电影的类型向量的累加和来表示,具体可用如下公式计算:
[0087]
[0088] 其中,Vu是观众ui已观看电影的集合。于是,群组Gi中所有成员的计数向量构成的矩阵为:
[0089]
[0090] 其中,m为群组Gi中成员的数量。
[0091] 计数向量反映了观众对电影类型的熟悉程度,计数向量构成的计数矩阵被用来确定观众在偏好融合过程中的决策权重。因为电影一般有多种类型,所以群组成员的决策权重会随着电影类型的改变而改变。
[0092] 具体的,步骤3群组成员对于某种电影类型的话语权计算过程有以下步骤组成:
[0093] 3‑1群组成员话语权计算
[0094] 计算在群组Gi中群组成员对于某种电影类型k的话语权,观众权重能通过下列公式计算得到;
[0095]
[0096] 其中Wu,k表示某个群组成员在步骤2中所得矩阵WGi中u行,k列的值,也即某个观众观看某种类型电影的数量。
[0097] 3‑2计算群组成员的权重方差,并调整成员权重;
[0098] 考虑到观众会受到群组中其他成员的影响,观众权重应进行适当调整,为了将这种合理假设引入到偏好融合方法中,以群组成员的权重方差为切入点进行合理优化。群组Gi的成员权重方差可以被定义为:
[0099]
[0100] 其中,m表示群组Gi中成员总数,是群组成员对于电影类型k的平均权重。
[0101] 对于方差考虑两种情况:第一,群组权重方差低于规定阈值t;第二,群组权重方差高于规定阈值t。当群组权重方差高于阈值时,认为群组成员对于该电影类型的熟悉程度差异极大。基于一个合理的假设:人们通常会采纳权威人士的建议,于是把低影响力的成员的决策权重调整为0。相对应地,高决策权重的成员的权重会变得更高。本发明中t取值为0.1。
[0102] 为了方便建模,对观众权重也设置一个阈值L。如果观众权重高于该阈值,则认为他是权威人士,通常认为低于阈值的成员乐意听从权威人士的建议。本发明中L值设为0.5。
[0103] 首先,在群组Gi中得到平均转移权重 平均转移权重的计算过程是将群组内小于阈值的观众权重求和然后除以权重大于阈值的观众数。具体计算公式如下:
[0104]
[0105] 其中,Si是群组Gi的子集,而且Si中的成员权重都低于阈值L。然后,调整观众权重如下:
[0106]
[0107] 当权重方差低于阈值t时,认为群组成员对于该电影类型的熟悉程度比较均匀,此时群组成员的相互影响很小。为了公平起见,不调整观众权重。
[0108] 具体的,步骤4融合群组成员的偏好基本过程如下:
[0109] 4‑1仅考虑电影的一种类型时,融合群组成员的偏好;
[0110] 群组对于电影j的评分能通过下列公式计算得到:
[0111]
[0112] 其中,ru,j是观众u对电影j的评分,Cj是电影j包含的类型构成的集合,ek是电影类型的社会影响力,α和β分别控制群组内部和群组外部(例如流行趋势)对观众偏好融合影响的程度,本发明分别取0.5和0.5。
[0113] 4‑2考虑电影j包含的所有类型时,群组对电影j的评分,即群组偏好,计算公式如下:
[0114]
[0115] 具体的,步骤5电影推荐过程如下:
[0116] 根据当前影院上映电影的类型,选取历史数据库中某部相同类型的电影,根据步骤4计算得到等待推荐群组的偏好,选择当前播放电影中满足该偏好的影片进行推荐。
[0117] 根据图5以及图2和图4所示数据计算可知该群组对于电影《GoldenEye》的偏好融合后的评分为3.2分。该评分即可用于衡量该群组用户的电影类型喜好,进而从当前上演电影中选择相应影片进行推荐。