如何将用户表示成机器可以处理的形式(基于内容的推荐)

当用户信息(如年龄,性别)和物品信息(如制片方,上映年份,所属类型)可用时,如何在推荐系统中利用这些信息?也是实现所说的基于内容(content-based)的推荐。其实基于内容的推荐要解决两个主要问题:item profile 和 user profile。即如何将这些人类的知识转化成机器可以处理的形式。CB里面常见的一个词是Ontology(本体),它的含义就是一种可被机器处理的人类知识的表现形式。最后,有了用户和物品的适当表示,进行基于物品或者用户相似度的推荐便是很自然的事了。因此,本文只讲述如何profiling用户。主要有两个方面:①从用户喜欢的物品中提取信息②直接使用用户的个人资料


①从用户喜欢的物品中提取信息


一种方法是利用物品的分类。作者在[3]中利用物品的taxonomy(类别)来构造用户preference参数。具体方法是为每一个用户充值s分(s为定值)。每个用户把这s分平均分配给自己喜欢过的物品上。每个物品再把得到的分数平均分配给它所属的类目(每个物品所属的类目都是已知的,作者从Amazon爬来)。最后,得到分数的类目再把自己的分数按照一定规则分配给自己的父类目。最终,一个用户对应一个length为类目数的向量。个人感觉这个有点太启发式了,描述起来都有点复杂。不过,这是对“如何利用物品类别”的一个有益探索。


可以看到,主要想法还是用物品来表示用户。因此如果是文档推荐,且文档类别未知,那一个最简单的做法是:将每个文档表示成tf-idf向量形式。每个用户则表示为其阅读过的所有文章的向量平均值。


不过还有更好的做法。[17]是一个paper推荐系统。它同[3]的一个巨大区别在于,每个paper的分类是未知的。于是它将用户浏览过的paper使用IBK(AdaBostM1 boosted的KNN算法)归类成不同的topic。训练样本是手工标记的,而且表示所使用的类名来自开放目录DMOZ。根据用户看过哪些topic的paper,系统为用户维护一个topic interest向量。兴趣度在分类目录树上的传播过程同[3]中类似。最后为了反映用户近期爱好,作者引入了时间衰减函数,给近期看过的论文赋予较高的权值。 


②直接使用用户的配置信息


配置信息的使用要比类别信息要更直观一点。[18]使用用户信息来加强传统的CF推荐算法。它使用MovieLens中提供的用户的年龄,性别,职业和邮政编码,为用户显示构造feature向量,如图1。

图1   来自[18]



总结:可以看到,这种显示编码的方式来做用户profile是很有限的——除了用户的个人信息,剩下可以提取的似乎就只有“类别”信息(使用自动聚类方法获得的cluster也算是分类)。这种方法的弊端是,无法捕捉用户或物品间更深层次的关系。一个好的替代则是使用Linked Data,可以看这里


参考文献:

[3] Taxonomy-driven Computation of Product Recommendations

[17] Ontological User Profiling in Recommender 

[18] COLLABORATIVE FILTERING ENHANCED BY DEMOGRAPHIC CORRELATION

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值