深度学习推荐系统实战
王喆
Roku资深机器学习工程师,推荐系统架构负责人,前Hulu高级研究员,《深度学习推荐系统》作者
新⼈⾸单¥19.9
2502 人已学习
课程目录
已更新 9 讲 / 共 35 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词|从0开始搭建一个深度学习推荐系统
免费
基础架构篇 (3讲)
01|深度学习推荐系统的经典技术架构长啥样?
02|Sparrow RecSys:我们要实现什么样的推荐系统?
03|深度学习基础:你打牢深度学习知识的地基了吗?
国庆策划 (2讲)
国庆策划 | 关于深度学习推荐系统,我有这些资料想推荐给你
国庆策划 | 深度学习推荐系统基础,你掌握了多少?
特征工程篇 (3讲)
04|特征工程:推荐系统有哪些可供利用的特征?
05|特征处理:如何利用Spark解决特征处理问题?
06|Embedding:所有人都在谈的Embedding技术到底是什么?
深度学习推荐系统实战
15
15
1.0x
00:00/00:00
登录|注册

04|特征工程:推荐系统有哪些可供利用的特征?

王喆 2020-10-09
你好,我是王喆。基础架构篇我们已经讲完了,你掌握得怎么样?希望你已经对深度学习推荐系统有了一个初步的认识。
从这节课开始,我们将会开启一个新的模块,特征工程篇。
如果说整个推荐系统是一个饭馆,那么特征工程就是负责配料和食材的厨师,推荐模型这个大厨做的菜好不好吃,大厨的厨艺肯定很重要,但配料和食材作为美食的基础也同样重要。而且只有充分了解配料和食材的特点,我们才能把它们的作用发挥到极致。
今天,我们就先来讲讲特征工程,说说到底什么是特征工程,构建特征工程的基本原则是什么,以及推荐系统中常用的特征有哪些。相信通过这节课的学习,能让你更好地利用起推荐系统相关的数据提升推荐的效果。

什么是特征工程

第一节课中我们学习过,推荐系统就是利用“用户信息”“物品信息”“场景信息”这三大部分有价值数据,通过构建推荐模型得出推荐列表的工程系统。
图1 特征工程部分在推荐系统中的位置
在这个系统之中,特征工程就是利用工程手段从“用户信息”“物品信息”“场景信息”中提取特征的过程。这个过程说起来容易,但实际做起来其实困难重重。
比如说,一个网站或者 APP 每天收集起来的用户日志,采集来的站外信息,自己公司员工编辑添加的结构化数据那么多,那么庞杂,怎么才能挑出那些对推荐有用的特征呢?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《深度学习推荐系统实战》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥19.9
立即订阅
登录 后留言

精选留言(10)

  • 朱月俊
    选择音乐,哪些因素是我关注的?
    我经常会听五类歌曲:
    1.听网络流行歌曲(听大家听的);
    2.听一些我喜欢的风格的歌曲(励志类,空灵类,感伤类);
    3.听一些我喜欢的歌手唱的歌,比如汪峰等;
    4.听我看过的电视剧,电影,动漫中的背景音乐;
    5.听一些朋友推荐的歌曲;

    如果我是音乐app特征提取工程师的话,我会提取哪些特征?
    首先将特征分为文中提及的五类吧。
    1.用户行为数据
    用户在音乐app上的行为,包括浏览,收藏,评论,点击,播放,时长,次数等。
    2.用户关系数据
    用户的关系数据。
    3.属性,标签类数据
    歌曲的多维特征,用户的多维特征。
    4.内容类数据
    对音乐进行语音识别,提取关键特征。
    5.场景信息(上下文信息)
    跟小作文几要素差不多。
    时间,地点,人物,情节。

    作者回复: 非常好和全面,赞一个。

    2020-10-10
    5
  • 金鹏
    音乐产品更加依赖场景性和心情,在工作、学习、跑步、睡眠、开车、高兴、优伤等等,希望听到的音乐是不同的。所以市面上的音乐目前主要以歌单的形式来推,可以更好的让用户快速找到符合自己当下场景的音乐,感觉更是个强搜索型的产品,音乐的推荐策略更像是一种补充。

    针对我个人而言,听音乐时所处的场景或心情、喜欢的音乐类型、喜欢的音乐明星、音乐新热榜、收藏过的歌单
    音乐所处的场景 | 用户位置POI数据、历史时段听音乐歌单 | POI数据与音乐匹配度
    心情 | 可以通过近几次搜索数据对推荐做干预 | 搜索关键词语义分析
    感兴趣的音乐 | 播放历史 | 音乐相似度(可以是音乐Tag、旋律,现在可以基于旋律做歌曲的归类)
    喜欢的音乐明星 | 明星收藏、历史播放、点赞、购买等行为 |
    音乐新热榜 | 新内容池、热度内容池 | 多样性探索、新鲜度、热度数据
    收藏过的歌单 | 收藏数据 | 收藏相似度

    作者回复: 非常好了。如果是歌单的形式的话,确实歌单更像一个搜索词,更接近一个搜索问题。

    2020-10-09
    1
  • pedro
    回答课后问题,按照电影的套路,关联的信息大概有:歌是谁唱的?(比如我的idol),歌的风格是什么?(比如我超喜欢r&b),歌的时长(太长的一律跳过),至少点击过或者单曲循环过?至少听过类似的或者听过该歌手的?
    歌的内容即歌词,旋律,副歌?等等
    难以被工程化的是歌词内容,毕竟大家都不是专业音乐人,flow和verse这种东西没法去很好的量化,因此特征提取的关键是该特征是否能被量化,如果可以,那可定是可以用来提取特征的,比如说歌的作者和种类,是否单曲循环等。

    作者回复: 歌词通过nlp,旋律通过一些模式识别也许可以提取出一些风格相似性之类的特征。但正如课程中说的,这些内容类信息都需要进一步处理后才可被推荐系统利用。

    2020-10-09
    1
  • 张弛 Conor
    老师,想请问一下为什么在用户行为数据中,将评论数据作为隐性反馈行为呢?因为我的理解,显性反馈行为就是用户对物品的直接评价(评分,赞等),但是评论也算是用户对物品的直接评价,所以我很好奇为什么评论会是隐性反馈呢?(我个人的解释是,在某些场景下,用户的评论并不一定是对物品的评价,比如对于新闻来说,评论可能是对于内容本身的讨论,而不是用户是否喜欢该新闻,但是对于电商类网站,对于物品的评论则可以看做是显性反馈行为,不知道这样理解是否正确呢?)
    2020-10-12
  • 张弛 Conor
    我在选歌的时候,信息重要性从高到低依次是:
    1.听歌的目的。比如是为了放松,冥想,学习还是运动。目的决定了歌曲是安静还是激昂,舒缓还是节奏感强烈。
    2.歌曲或歌单是否受欢迎。定下基调后,我一般会选择收藏或播放量较多的歌曲。这样一般不容易采坑。
    3.歌曲的旋律与当下状态的匹配度。当下的状态可能是心情,情绪或身体的疲劳程度,而旋律与状态的匹配也很重要。
    如果我是一名音乐 APP 工程师,
    1.用户听歌的目的很难准确预测,但是可以通过“隐性”数据去推测,比如搜索关键词等。
    2.歌曲或歌单是否受欢迎,则可以通过歌曲或歌单的播放量、收藏量去建立特征,而具体到人和歌曲的关系时,还可以进一步具体到单曲循环的次数等来细化特定用户对特定歌曲的喜好程度。
    3.当下的状态也很难显性的获得,则可以根据历史听歌记录去推测用户的生理节律,例如夜晚会愿意听舒缓的歌曲,运动会愿意听节奏感强烈的歌曲等等。
    2020-10-12
  • 马龙流
    像多模态或者是通过其它预训练方法得到的向量,直接加到推荐排序模型作为特征的话,感觉都没有效果。不知道你这边有没有碰到类似问题呢。我理解是预训练学习的目标和排序学习目标并不一致,不知道大佬怎么看这个问题

    作者回复: 确实存在多模态特征效果不强的问题。我觉得还是目前多模态的技术本质上还处于比较初期的阶段。

    比如用一些CV的技术去处理视频图像,识别出一些物品,比如视频里有汽车,有甜品之类。但你要说这些物品对于推荐效果到底有没有影响,我觉得还是过于微弱了。远不及知名演员一个要素的影响大。

    所以问题本质上还是出在你对特征的理解和业务场景本身的理解上。

    2020-10-12
    2
  • 影响因素
    1.歌曲风格
    2.歌曲发布时间
    3.歌手标签(流行,摇滚,轻音乐)
    4.听歌时间(工作日,节假日,白天,晚上)
    5.听歌地点(旅行,办公,家里)
    6.好友在听的歌

    作为工程师可以提取的特征
    播放歌曲维度
    1.歌曲风格,所属歌手,是否第一次播放,历史播放次数,是否快进,当前播放和用户收藏歌曲的风格系数相关性,热门歌曲,
    2.人维度,播放地点,播放时间,最近一层登录时间,上一次登录且完整听完或者重复播放的歌曲id向量

    作者回复: 赞

    2020-10-10
  • 夜雨声烦
    影响因素:当时的心情,时间,天气,歌名,歌手,歌曲类型,播放量,是否top,好友中有人听过;
    工程师角度:
    当时的心情(无法获取)、时间(24小时划分成十个时间段表示)、天气(晴、阴、雨)、歌名(Embedding)、歌手(Embedding)、歌曲类型(onehot)、播放量、是否top(onehot)、好友中有人听过(onehot).

    作者回复: 非常好,唯一确实的可能是自己的行为历史,就是听过哪些歌,以及这些历史跟当前要推荐歌曲的联系。

    2020-10-09
  • 李@君
    我在选歌的时候主要是听前几十秒,如果觉得好听就会继续,如果不好听,就跳过。这个也是很难被量化的吧。

    作者回复: 其实是一种正负样本的定义问题。在训练中的作用还是非常大的。

    2020-10-09
    1
  • shenhuaze
    王老师,在线预测的时候,模型所需的特征是直接从数据库读取,还是在线实时组装?我在想如果只是用户或者物品自身的特征的话,可以从数据库读取,但如果是用户和物品的交叉特征的话,是不是必须实时组装?

    作者回复: 非常好的点。一般来说如果组合特征可以在线处理,最好能够在线处理,因为组合特征有组合爆炸问题,为了节约宝贵的存储资源,一般不直接存储。

    但是对于有些不得不存储的组合特征,比如 用户x物品的曝光、点击记录,如果线上模型需要的话,还是要存储到数据库中,因为这些特征你没办法在线组合。

    2020-10-09
    1
收起评论
10
返回
顶部