淘小兔

recommendation-system.jpeg

尽管推荐系统中应用了各种高深的算法、架构,但其基础原理是朴素的:更好的了解待推荐的内容、更好的了解要推荐给的人,从而更高效的完成内容与人之间的对接。断物识人,是一切推荐行为的起点。

断物

想要把内容推荐给人,首先需要充分理解内容的特点到底是什么,如果连自己都说不明白,那就妄论推荐效果了。更好的提取和表达待推荐事物的特点、这就是断物的意义所在。

如你所熟知的那样,最简单的方式就是“打标签”。

介绍人或者物品,就是标签的一个典型应用。先提这样一个问题,你怎么向你的朋友介绍一个他从不知道的人?

对程序员,你也许会说:“他是今日头条的高级工程师,负责了某某系统的开发。”对球友,你也许会讲:“他大学时期是校篮球队的,拿过两次全市冠军。”对酒友,介绍的方式或许又会变成了:“我担保他是个好酒友,有量有趣,从不冷场。”

“高级工程师”、“篮球”、“有酒量”、“人有趣味”这些都是用来描述同一个人的标签,有职业维度、有兴趣爱好。为了佐证程度,我们还会辅以可量化的信息“负责某系统的开发、拿了市冠军”等,对于不好量化的部分,则会用自身的认知和信誉度作为佐证:“我担保……”

但是,这个人只有上述描述的这些特点么?当然不,也许他又帅又高、八块腹肌;也许他爱好跑步,能够跑下来完整的马拉松。那为什么你在介绍的时候,只选择了他的部分标签么?因为你考虑了受众的特点,选择了对于受众来说,最容易引起共鸣,也最具有代表性的标签。给球友介绍他是高级工程师、给酒友介绍他是校篮球队,尽管从输出信息的准确性上来看并无错误,但是在信息的接收端就产生了偏差。

标签是我们对高维事物的降维理解,抽象出事物更具有表意性、更为显著的特点。在不同的应用场景下,我们会对标签进行有针对性的投射、有倾向性的选用不同的标签以换取最大化的信息匹配效率。

在上面的这个例子里,有人会关心:对推荐的对象的信息整理是否可以更好的结构化呢?可以将一个人的信息划分为基础信息、教育背景、职业信息、兴趣爱好等等。通过更系统化的分类方式,完整的呈现出一个人的特点。这其实就讲到“标签”同“分类”的关系了。

传统意义上,分类是树状的,自上而下依次划分的。在分类的体系里,每个节点都有严格的父类继承关系,在兄弟节点层都具有可以被完全枚举的属性值。比如基于性别划分为男女,就能够覆盖全部人类属性了。由于树状的层次结构性较好,所以在内容的分类查找领域有很多的应用。比如,淘宝购物时筛选的路径如图,就是一种分类体系的一个应用场景。应用分类时就必须考虑分类权威性和信息完备性的问题,避免因为子节点覆盖不全、或分类错误导致的认知问题。比如,在一些内容创作平台上,用户就经常会反馈自己上传作品没有合适可选择分类的情况。通常,我们建议由专家系统编辑分类,才能够最大化分类结构的可用性。

/uploads/fox/28070210_0.jpeg
淘宝的母婴用品层次结构
 
标签是网状的,更强调表达属性关系(has a)而非继承关系(is a),只有权重大小之分、不强调包含与被包含关系。这就使得相较于分类而言,标签的灵活性更强。在权威性方面,标签是弱化的,每个用户都可参与进来,基于自己的偏好性打标签。标签借由规模效应实现对信息的表意性覆盖。

由于网状结构是可以包含树状结构的,故而标签是可以被应用于分类的场景。在我们设计一个系统的时候,可以先基于产品场景快速覆盖主要标签,再基于标签集合的使用频次情况逐步将部分入口收敛到树状的分类体系中来。

标签从何而来?典型的方式有专家系统(PGC) 和 普通网友产出(UGC)。

专家系统最经典的例子莫过于音乐推荐引擎潘多拉(Pandora)的音乐基因工程(Music Genome Project)

在这项工程中,歌曲体系被抽离出450个标签,细化到如主唱性别、电吉他失真程度、背景和声类型等等。 每一首歌曲都会被经由工作人员耗时二三十分钟,有选择性标注一些标签,并以从0到5的分值代表这一标签的表征程度。正是这项浩瀚的工程奠定了潘多拉音乐推荐的基础,并成为了它的专利法宝。(参考链接:https://en.wikipedia.org/wiki/Music_Genome_Project))

而在豆瓣,对于音乐打标签的活计则从专家产出转为了普通网友贡献,基于群体的力量也为豆瓣积累了大量的具有语义表意性的内容。当然,由于用户的多样性和编辑的开放性,用户标签系统需要经过特定的清洗和归一化。

以下图为例,该图截自豆瓣音乐的标签系统(https://music.douban.com/tag/)。%E3%80%82)图中被框选住的部分:台湾 vs 台灣,华语 vs 华语音乐等表意相同,为重复标签,足以说明对于用户标签进行数据清洗的必要性。
/uploads/fox/28070210_1.jpeg
豆瓣音乐的标签集合
 
为了更好的规范化用户的标签产出,可以借由产品层的调整和引导来实现。豆瓣引导用户对专辑的点评如下图,是一个层级递进的关系。
五星评价,是最低门槛的评判。
 
标签输入:给出了输入框,同时也给出了候选标签集合(包含用户自身制定的标签,以及该专辑的常见标签)。。用户从已有候选集里选择的成本是显著低于输入成本的,这一设计同时达成了促进用户表达和规范化输入的效果。
简短评论:最高门槛的评判,深度用户沉淀内容。
/uploads/fox/28070210_2.jpeg
当然,对于断物而言,标签体系也有它力有未逮的地方,最典型就是表意性问题。
 
在上面的介绍中,标签适合的是表意歧义较小、可以枚举的类型。但在某些领域,标签很难准确的表意或概括。比如,你怎么样给人介绍什么是爵士乐?“余音绕梁”、“节奏感十足”、似乎怎样都不容易准确传递。有如,怎么样定义一个人是帅的或漂亮的?各有各的标准,实难达成统一。
 
在这种情况下,我们就需要引入聚类的方式来描述。这种方式并不是以标签词的方式来定义事物是怎样的,而是基于某一维度的特征将相关的物品组成一个集合,告诉你这个新的物品同哪个集合相似类似。比如,一段藏獒捕食的视频,会同动物世界里猛兽捕食的内容聚为一类,而不会同家猫捕捉老鼠的内容聚为一类。
 
在下图中,一则汽车降价促销的内容,就同多条汽车销售的内容被系统聚合成了一类。
/uploads/fox/28070210_3.jpeg
 
识人
 
与“断物”的部分相对应,我们可以直观的把“识人”理解为给目标用户打标签的过程,通过标签来描述一个用户的特征集合。
 
如图,就是一个用户在豆瓣FM上的音乐基因名片(用户画像),如页面中的介绍,豆瓣FM基于用户的红心歌曲、专辑收藏记录进行计算,从而得出了这张记录用户音乐喜好的歌手和风格列表的标签云,标签的尺寸越大代表用户对这个类型的音乐越感兴趣。如果你也想测试下自己的音乐基因,请访问:https://douban.fm/musicgene
/uploads/fox/28070210_4.jpeg
通常用户画像主要有三类应用场景。
 
1、精准广告营销。 用户画像对于广告营销来说是最典型性的应用场景。当给用户打上各种维度的“标签”之后,广告主就能够借由这些标签来圈定用户,更好的触达目标人群。我们以Facebook的广告投放系统为例,广告主可以选择地域范围、年龄范围、性别,兴趣标签等。通过选择兴趣标签,系统也会实时反馈给广告主目前框定的候选人数。
/uploads/fox/28070210_5.jpeg
2、行业研究。 借由用户画像,我们可以了解不同行业的动态进展。比如,90后00后的购物娱乐消费分析,不同地域用户的消费差异分析、特定垂类行业中用户的消费特点等等。通常,平台会定期发布此类报告,帮助内外部人士更好的了解细分领域的最新特点。比如,在腾讯大数据(http://bigdata.qq.com/reports)上,你就可以查看到相关发布的行研报告。不久前,引发坊间争论的“成功人士用华为,屌丝用iPhone",就出自腾讯大数据的一份行业研究报告。
 
3、产品效率优化。内容推荐是最典型的场景,无论是国内的头条、淘宝,还是国外的youtube、facebook,都在基于用户的画像信息实现人和信息的高效匹配,从而提升效益降低成本。据Netflix估算,个性化推荐系统每年为它的业务节省的费用可达10亿美金。
坊间传闻,基于用户画像还有一些其他的应用。比如真假货混发,罗振宇在跨年演讲《时间的朋友》中提到的,某不良商家会根据用户的收货地址来判断是发送真货、高仿还是假货;又比如价格歧视,同样一件商品添加进购物车后,不同的用户可能会收到不同的后续反馈,价格敏感性的用户更容易收到优惠券。
 
从数据产出维度,我们可以将其大体划分为静态和动态两类。

静态:用户独立于产品场景之外的属性,如性别、学历、年龄、婚育状况、常驻位置、教育程度等相对稳定的信息。

动态:用户在产品场景中所产生的行为。显式反馈行为如给某篇文章进行了点赞评论分享行为、关注了某个作者等等。隐式反馈行为如页面的停留时长、用户的操作行为轨迹等等。通常,显式行为的权重要高于隐式行为,但是由于其更稀疏,所以我们需要隐式行为来补充验证;在显式行为里,因产品场景的不同,不同的动作权重也不相同(如对于电商场景,购买>购物车>查看)。
 
在产品内容,常见用户行为数据如下所示:
 
位置信息。不同的产品对于位置有不同的应用方式。基于常驻位置,推荐本地新闻和特定水电暖通知之类内容是最直观能够想到的应用场景。
在美食团购类App里,默认是基于身边位置进行推荐的。但是,当你离开常驻城市进入其他城市时就会发现,App中就会增加了一个旅行者模块,其分享的内容更多考虑知名度而非距离因素。
 
除了常驻城市的应用外,通常上班族还有常驻地点的概念,如高德和滴滴中分享的“家”和“公司”的选项。基于日常轨迹和常驻地点,就可以做一些远距离的推荐,如可以在下班时段推荐家附近的饮食、或尝试做沿途的消费推荐。
 
搜索信息:搜索是一个显著表明短期意图的行为,具有随时间衰减的特性。以淘宝为例,当你搜索“儿童床”之后,那么无论是在淘宝的首页横幅广告,还是在接入了淘宝广告的应用,你都能够看到关于“儿童床”的广告。而当搜索的行为过去一段时间、或是在你显式购买之后,这类广告的展现就应该降低或停止。
 
评分,是最常见的量化行为。如淘宝、京东等购物网站对购物行为不同维度的点评,又如豆瓣对书籍和电影的打分等,一般都设置为1-5分的评分机制。需要注意不同用户有不同的行为偏好,比如有人习惯性好评,有人则偏向严格,故需要以用户的历史平均分作为基准,衡量用户评分行为背后的认可度。
 
收藏,表达了用户对于内容的偏好程度。在内容领域,通常具有工具性或实用性的内容更容易获得收藏。
 
分享,除了表达喜好外,还传递了用户的立场和态度。比如,用户会阅读、评论很多热门的内容,但在转发的操作上是审慎的。转发到微博或微信的动作代表了你在用自己的社会身份来为内容背书和扩散。从某种角度而言,转发的肯定意义比收藏评论等行为的肯定意义还大。
评论。评论代表了参与度,但不一定明确的关联到态度的好恶。对评论的处理需要进一步进行文本分析,以获取用户的表意性和情感倾向性。在产品层上,淘宝的宝贝印象算是一个典型应用,通过抽离出用户的共同评语来辅助新的消费者决策。
 
播放比例或播放时长。与点击行为相比,播放时长是一个相对隐形的行为。我们通常可以用播放时长来衡量用户对特定视频点击后的消费体验。2012年,YouTube就已经调整期视频排序算法,让获得观看时长更多的视频排在更优先的位置。
 
 

作者:闫泽华
链接:http://www.jianshu.com/p/e001d088a0d8

 

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载