7

一种基于性别的推荐方法

 2 years ago
source link: https://iamhere1.github.io/2017/03/16/gender_based_rs/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

基于性别的推荐

基于内容的推荐:基于协同过滤掉方法,存在非常明显的缺点:无法解决冷启动问题(包括user冷启动和item冷启动),当用户没有行为时无法进行推荐,或者行为非常稀疏的时候,虽然可以产生推荐列表,但会存在过度泛化问题【1】。相对于协同过滤,基于内容的推荐的方法, 能够较好地应对冷启动问题。通过提取user和item相关内容信息,并根据所提取的信息进行推荐。但是,user和item的内容信息的提取往往需要比较专业的知识,其提取过程需要耗费较大的精力。

基于性别的推荐: 基于性别进行推荐属于一种基于内容的推荐方法,通过利用user性别信息、item的性别偏好信息进行推荐。该方法的优点是简单、可以在用户没有任何行为时推荐该性别的用户普遍感兴趣的内容;同时缺点也比较明显:同一性别的用户,其兴趣也可会有较大不同,因此该方法无法做到千人千面。

推荐方案设计

整个推荐方案包括三个步骤:user性别信息获取、item性别偏好计算、基于性别的item推荐。

user性别信息获取

用户性别信息主要来自用户注册信息。由于用户注册时,性别可能会填写错误,或者不填写,此时可通过其它方式多用户的性别进行校准和填充。如根据大多数用户的信息,计算item的性别偏好信息。根据该用户在各个item上的行为表现,计算该用户的性别画像。

item性别偏好计算

属性计算

基于有性别信息的用户,对item的消费行为,计算item的性别偏好。

P(C|Ij)=∑iRijUi(C)∑iRij(式1)

其中P(C|Ij)表示第j个item对应属性C的偏好得分。

Ui(C)表示第i个用户对应属性C的概率值,可以根据用户注册信息、用户行为信息挖掘等方式得到。

Rij表示第i个用户对第j个item的喜欢程度,可对用户在item上的各种行(如点击、点赞、评论、发图、收藏等)分别赋予不同的权值,然后根据用户的行为类型、行为频次等进行加权得到。

属性平滑

当平台上用户的数量和活跃度比较接近时,直接使用公式1是没有问题的。但是当不同性别的用户数量相差较大时,根据公式1计算出的item偏好会明显倾向于数量较多的那个性别。例如,平台上的男性用户数量:女性用户数量=5:1, 我们只考虑点击行为,当某个item男女点击比例为5:1时,我们并不能认为该item更容易被男性用户喜欢,而是认为该item对男女的吸引程度相同;男女点击比例为1:1时,该item对女性的吸引程度是更大的。

因此,需要对item的性别偏好进行平滑,方法如下:

  • 平滑系数计算

    SMOOTH(C)=∑i∑jRijUi(C)∑i∑jRij(式2)

  • 对公式1进行平滑

    Psmooth(C|Ij)=P(C|Ij)SMOOTH(C)(式3)

加入其它因素

通过公式3得到的属性计算结果修正了平台不同属性用户数量不同带来的干扰,但是依然有些可以改进的地方。比如对于两个不同的item, 其男女偏好得分是非常接近,同样只考虑点击行为。其中一个item A被用户点击的次数为10万、点击的用户数8万等明显多于item B(点击次数100, 点击人数50), 那么我们可以认为item A的得分是更加可靠的。因此,可考虑加入点击次数等相关因素。

P(other|Ij)=∑iRij∑i∑jRij(式4)

由于我们的目的主要是找出对每个性别更感兴趣的item, 因此,当Psmooth(C|Ij)大于0.5时,利用如下公式进一步调整分数。

Popt(C|Ij)=αPsmooth(C|Ij)+(1−α)P(other|Ij)(式5)

通过公式5,综合考虑了属性偏好及热度因素。对分数差别较小的item,如果都是偏向于属性C(Psmooth(C|Ij)大于0.5),可以根据热度等相关因素进行排序;而对于分数差别比较大的item, 则依然可以维持原来的偏好进行顺序。

归一化

对上述计算结果进行归一化,如下所示:

Pnorm(C|Ij)=Popt(C|Ij)∑CPopt(C|Ij)(式6)

基于性别的item推荐

完成计算item的性别偏好信息之后,可进一步用于解决推荐时遇到的用户冷启动问题。具体方法如下:

  • 在线用户筛选及性别获取

    当用户到来时,如果用户具有较多行为,可根据协同过滤相关方法进行推荐(如als)。否则获取用户注册的性别,或者通过其它方式矫正和填充后的性别信息。

  • 基于性别信息获取推荐结果

    根据性别信息,选择相关性别偏好得分最高的k个item进行推荐。为实现推荐的多样性,提升用户体验,可以对item进行一定的分类,对于每个类别,分别取前top k个item构成多个队列,每次用户请求时,根据业务需求从每个队列中尽量均匀地选取item进行推荐。

  • 对in平台图片进行实验,男女的性别偏好有着较大的区别。实验结果显示,男性最喜欢的图片的是汽车、美女、运动、建筑等,而女性则更喜欢美妆、动漫、美食、宠物等类别的图片。

  • 对于新增用户进行实验,分为实验组和对照组,实验组采用基于性别的推荐方案,对照组保持着之前的逻辑不变(基于热度的推荐)。分别评估实验组和对照组用户点击、平均下滑次数。实验结果显示,男性平均点击次数提升20.8%,平均下滑次数提升19%;女性平均点击次数提升1.1%,平均下滑次数提升1.4%。女性用户效果提升不明显,其主要原因在于in平台的主要用户是女性,根据热度进行排序基本反映了女性用户对图片的喜欢程度。对男性用户效果明显,主要原因是对照组根据热度推荐,更多推荐的是女性用户喜欢的图片,而实验组基于性别的推荐,则利用热度和性别偏好两方面信息,推荐了男性用户更喜欢的图片。

【1】HT Cheng, L Koc, J Harmsen, T Shaked, “Wide & Deep Learning for Recommender Systems”, Proceedings of the 1st Workshop on Deep Learning for Recommender Systems, 2016.09, pp.7-10


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK