推荐系统(一)

这个系列主要是 Springer 出版社的 Recommender System Handbooks 的读书笔记。

简单起见,这里将推荐系统简称为 RS(recommendation system)。RS 的功能/用有:

  • 增大销售量
  • 增加销售物品的种类
  • 增加用户满意程度
  • 增加用户忠实度
  • 更好的理解用户需求

一个 RS 能为以下 11 个 task 提供帮助:

  • 寻找到某些好的商品(列出少量满足某种可能需求的商品),如购买后显示另外一些,或者购买时显示相关的一些;
  • 寻找到所有的好的商品(列出所有完成某项功能的商品),如解决某个问题的所有商品,如有照明功能的,能消灭害虫的,能规划时间的,等等;
  • 上下文标注(列出一堆 item,能在其中标识出满足用户需求的),常见场景如餐馆菜单上标注客人可能喜欢的,或者节目单上为特定节目加星;
  • 序列推荐(满足某些约束条件下的几个 item 组成的序列),比如电台提供的歌曲序列(如 Pandora),视频序列(类戏新闻联播)等等
  • 推荐组合(满足某些约束条件下的几个 item 的组合,不强调顺序),比如旅游的时候需要携带的套装(摄影套装?)
  • 浏览(如何组织成为一种合理的有趣的形式,让用户能在闲暇的时间慢慢浏览),比如一些“电子杂志”?
  • 找到可信的推荐人(哪些人他们自己就能提供很好的推荐),比如 appsfire 这个网站提供的 apps 达人;
  • 改善用户的 profile,即允许用户能够自由表达什么是他喜欢的或者不喜欢的
  • 表达自我,让用户能够提交自己的 rating 写 review,
  • 帮助其他人,让用户产生成就感
  • 影响他人,通过自己的行为改变其他人的购买行为

一个 RS 一般拥有三方面的数据,

  • item,关于 item 的相关信息,如产品描述,价格,型号,类别等等;
  • user,关于用户的 demographics、social network 等等;
  • transaction,包括 rating、likes/dislikes、朋友购买的信息、阅读列表等等

一个 RS 常用的 model 大致分为以下六类,

  • content-based,这主要是利用 item 侧的信息,为每个 item 提供“相似”的 alternative;
  • collaborative filtering,为用户提供类似用户曾经喜欢的商品,这主要是利用 transaction 数据;
  • demographic,根据 user 侧的信息提供对应的推荐;
  • knowledge-based,根据 domain knowledge 进行推荐,这一般需要用户给出具体的需求,然后根据专家系统推理的结果进行推荐;
  • community-based,根据用户的 social nets 进行推荐,列出朋友购买的商品等
  • hybrid recommendation system,将以上五种中多种整合

RS 的 evaluation 比较复杂,通常都是根据特定领域使用特殊的 metrics 来进行的,也有一些是根据 user study 来决定的。也有根据几个阶段的评测结果来综合评定的,如 coverage、cold start、confidence、trust、novelty 和 serendipity。RS 和 HCI 之间也有很大的关系,这里列出来几点

  • trust、explanation 和 persuasiveness:让用户觉得推荐的结果可信,提供了简明的解释以及足够的说服力;
  • conversational system,多数算法仅仅为推荐任务“收集一次数据”,而不是一个渐进式,与用户有一个类似 conversation 的过程式的交互;
  • visualization,让用户能更好的把握数据以及对应的 context

搜索与推荐是两个联系非常紧密的任务。有人觉得搜索是买家主动,推荐是卖家,而探索是介于两者之间的一种。但是从 IR 的角度来说都是满足用户的某种 information need。RS 现在有非常多的 challenges,这里仅仅列举一二,

  • scalability,不少 machine learning 的算法还停留在比较小规模的数据集上,即便现在有一些处理大规模的数据的计算模型如 Map/Reduce,多数算法也并不适用;
  • proactive RS,多数还是停留在“pull”阶段,避免造成不合适的 user experience?
  • privacy preserving,什么是该推荐的(相机),什么是不该推荐的(A 片)
  • diversity,多数现存算法都没解决 diversity,某些只是 claim 比如通过 second stage 处理增大 diversity;
  • long-term 与 short-term user interest,这个也是老生常谈了
  • generic user models,如何为 user 建立通用的 profile;
  • distributed recommender system,建立在 open network 之上的 recommendation;
  • 对序列推荐进行特殊优化的 RS
  • 对 mobile device 和这类应用环境下进行推荐的的 RS;

另外有不少新的领域,如通过 social tagging 进行推荐,比如 delicious、pinterest 类似的书签性质服务提供了不少 tagging,现存 social nets 上也存在不少类似的概念。

大部分内容其实都有一些相关文献,我准备看书之余也来看看 paper 了。

——————
And the angel of the LORD said to her, Behold, you are with child and shall bear a son, and shall call his name Ishmael; because the LORD has heard your affliction.

Advertisements
推荐系统(一)

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s