很久没上来写blog,前两个月赶上校招季节,都忙校招去了。
这本书我早就买来了,不过我从前看过项亮的《推荐系统实践》,看这本书的目录结构和项亮那本差不多,就一直放着没看。最近在做一个推荐系统,遇到一些实际问题,想翻开项亮的书再找找灵感,不过对于自己看过了的东西,就不愿意再翻看第二遍了。恰好这本书和项亮那本很像,就直接看这本书了。顺便记记笔记,贴到这里,供更多人参考。
1. 协同过滤的推荐
基本思想:用户在过去有相同的偏好,e.g. 他们浏览或者买过相同的书,那么他们在未来也有相似的偏好。
关键问题:
(1)如何发现相似用户
(2)如何衡量相似度
(3)冷启动问题
(4)是否还有别的信息可以利用
2. 基于内容的推荐
推荐的两个目的:(1)激发用户去选择某个物品或者做某件事情——例如,诱惑用户买一本书;(2)解决信息过载问题——例如说新闻推荐,用户本身就是要看,只不过新闻太多或者找起来麻烦,最好能把用户想看的直接给他呈现出来,省得他找。
其中第二个目的和信息过滤、信息检索领域很接近。而基于内容的推荐,本质上也是基于信息检索领域的方法。
基于内容推荐的核心问题:如何得到物品的描述(无论是人工生成还是自动抽取)。进一步,用户对物品的行为,也能够转化成用户对物品的“描述”,积累之后,用户本身也相当于一个物品。借用信息检索的思路,将用户看作是一个query,那么和这个query相似的物品,排序之后,就是推荐给用户的物品。
关键问题:
(1)如何获取并不断更新用户的记录
(2)物品和用户之间的相似度计算
(3)如何自动抽取物品描述
优点:
(1)不需要大规模的用户(像协同过滤)就能够得到物品之间的关系
(2)一旦获得物品的属性就能够立刻推荐该物品给用户
3. 基于知识的推荐
某些领域中,例如消费电子领域(e.g.买手机),绝大多数的数据是单次购买记录。如果套用上述两种方法,由于数据过于稀疏,甚至无法获得推荐结果。如果我们在此种情况下还要给用户推荐的话,怎么办?
基于知识(规则、推理)的推荐方法,需要人把一些领域知识(如:规则)加入到系统当中。
完。