一、基于内容的推荐算法

1、简介

基于内容的推荐方法是非常直接的,它以物品的内容描述信息为依据来做出的推荐,本质上是基于对物品和用户自身的特征或属性的直接分析和计算。

例如,假设已知电影A是一部喜剧,而恰巧我们得知某个用户喜欢看喜剧电影,那么我们基于这样的已知信息,就可以将电影A推荐给该用户。

基于内容的推荐实现步骤

画像构建。顾名思义,画像就是刻画物品或用户的特征。本质上就是给用户或物品贴标签。

  • 物品画像。例如给电影《战狼2》贴标签,可以有哪些?“动作”、“吴京”、“吴刚”、“张翰”、“大陆电影”、“国产”、“爱国”、“军事”等等一系列标签是不是都可以贴上。
  • 用户画像。例如已知用户的观影历史是:“战狼1”、“战狼2”、“建党伟业”、“建军大业”、“建国大业”、“红海行动”、“速度与激情1-8”等,我们是不是就可以分析出该用户的一些兴趣特征如:“爱国”、“战争”、“赛车”、“动作”、“军事”、“吴京”、“韩三平”等标签。

问题:物品的标签来自哪儿?

a)PGC  物品画像--冷启动

  • 物品自带的属性(物品一产生就具备的):如电影的标题、导演、演员、类型等等;
  • 服务提供方设定的属性(服务提供方为物品附加的属性):如短视频话题、微博话题(平台拟定)
  • 其他渠道:如爬虫

根据PGC内容构建的物品画像可以解决物品的冷启动问题

b)UGC  冷启动问题

  • 用户在享受服务过程中提供的物品的属性:如用户评论内容,微博话题(用户拟定)

基于内容推荐的算法流程

  • 根据PGC/UGC内容构建物品画像
  • 根据用户行为记录生成用户画像
  • 根据用户画像从物品中寻找最匹配的TOP-N物品进行推荐

物品冷启动处理

  • 根据PGC内容构建物品画像
  • 利用物品画像计算物品间两两相似情况
  • 为每个物品产生TOP-N最相似的物品进行相关推荐:如与该商品相似的商品有哪些?与该文章相似的文章有哪些?

二、电影画像构建

物品画像构建步骤:

  • 利用tags.csv中每部电影的标签作为电影的候选关键词
  • 利用TFIDF计算每部电影的标签的tfidf值,选取TOP-N个关键词作为电影画像标签
  • 将电影的分类词直接作为每部电影的画像标签

1、基于TF-IDF的特征提取技术

1)TF-IDF介绍

上面提到,物品画像的特征标签主要都是指的如电影、导演、演员、图书的作者、出版社等结构化的数据,也就是他们的特征提取,尤其是体征向量的计算是比较简单的,如直接给作品的分类定义为0或1的状态。

但另外一些特征,比如电影的内容简介、电影的影评、图书的摘要等文本数据,这些被称为非结构化数据,首先他们本应该也属于物品的一个特征标签,但是这样的特征标签进行量化时,也就是计算他的特征向量时是很难去定义的。

因此这时就需要借助一些自然语言处理、信息检索等技术,如将用户的文本评论或其他文本内容信息的非结构化数据进行量化处理,从而实现更加完善的物品画像或用户画像。

TF-IDF算法便是其中一种在自然语言处理领域中应用比较广泛的一种算法。可用来提取目标文档,并得到关键词用于计算对于目标文档权重,并将这些权重组合到一起得到特征向量。

2)算法原理

TF-IDF自然语言处理领域中计算文档中词或短语的权值的方法,是词频(Term Frequency,TF)和逆文档频率(Inverse Document Frequency,IDF)的乘积。TF指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被正则化,以防止它偏向长的文件(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否)。IDF是一个词语普遍重要性的度量,某一特定词语的IDF,可由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。

TF-IDF算法基于一个这样的假设:若一个词语在目标文档中出现的频率高而在其他文档中出现的频率低,那么这个词语就可以用来区分出目标文档。这个假设需要掌握的有两点:

  • 在本文档出现的频率高
  • 在其他文档出现的频率低

因此,TF-IDF算法的计算可以分为词频(Term Frequency,TF)和逆文档频率(Inverse Document Frequency,IDF)两部分,由TF和IDF的乘积来设置文档词语的权重。

结论:TF-IDF与词语在文档中的出现次数成正比,与该词在整个文档集中的出现次数成反比。

用途:在目标文档中,提取关键词(特征标签)的方法就是将该文档所有词语的TF-IDF计算出来并进行对比,取其中TF-IDF值最大的k个数组成目标文档的特征向量用以表示文档。

注意:文档中存在的停用词(Stop Words),如“是”、“的”之类,对于文档的中心思想表达没有意义的词,在分词时需要先过滤掉再计算其他词语的TF-IDF值。

2、算法实现

2.1、加载数据集并做处理




day5-基于内容的推荐算法--物品画像和用户画像_基于内容的推荐算法用户特征_Theo1688的博客-CSDN博客

用户画像、物品画像【画像就是刻画物品或用户的特征;本质上就是给用户或物品贴标签】相关推荐

  1. 用户画像与产品画像简介

    参考:https://business.sohu.com/a/622348077_114819 在数字化.场景化.智能化趋势下推动商业银行数字化转型,凭借数字化转型中沉淀的数字化能力银行机构可以重塑业 ...

  2. 什么是用户画像,一般用户画像的作用是什么?

    作者:姑婆那些事儿 链接:https://www.zhihu.com/question/19853605/answer/132472825 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非 ...

  3. 电商的本质是“商”还是“用户”?

    咖友提问:电商的本质是"商"还是"用户"? 互联网让这个问题复杂化也让产品复杂化,是否应该让产品在设定时就分离?大的互联网产品多是考虑用户和流量,再考量盈利转化 ...

  4. 十亿用户数据,上千个用户标签维度,用户分析怎么做?

    1月14日,Kyligence 产品经理陈思捷开启了我们在 2021 年的首场线上分享,为大家介绍了用户行为分析的应用场景.以及通过一些行业案例展示如何使用 Kyligence 进行用户行为分析,最后 ...

  5. 一键发布消息到多个微博的服务器,“搞垮” 微博服务器?每天上亿条用户推送是如何做到的...

    原标题:"搞垮" 微博服务器?每天上亿条用户推送是如何做到的 记者 | 琥珀 出品 | AI科技大本营(ID:rgznai100) 想必国内绝大多数网民都有新浪微博的用户账号.据最 ...

  6. uniapp同步获取用户信息_微信小程序云开发教程微信小程序的API入门获取用户身份信息系列API...

    同学们大家好,我是小伊同学,上一节我们介绍了一些常用API,今天我们接着来学习一组API,那就是获取用户身份信息的API. 在微信小程序中,我们往往需要获取用户的身份信息,比如昵称.头像.性别.地区等 ...

  7. window10 运行linux软件,现在你可以直接在Windows 10平台上运行带用户界面的Linux桌面软件...

    微软目前正在继续更新 Windows 10 WSL 子系统功能 , 此次更新主要带来GPU硬件加速可让用户运行桌面软件. 以往我们要想运行Linux软件肯定得使用Linux操作系统,在 WSL 发布后 ...

  8. 更改日期为英文_如何在 Linux 上检查所有用户密码到期日期 | Linux 中国

    如果你很少使用自己的帐户,那么可能由于密码过期而被锁定.在许多情况下,这可能会在无需密码登录的服务帐户中发生,因为没人会注意到它. -- Magesh Maruthamuthu(作者) 如果你在 Li ...

  9. linux 当前活动用户,如何在Linux上自动记录所有用户的终端会话活动

    如何在Linux上自动记录所有用户的终端会话活动 不久前,我们写了一篇文章,使用script命令记录Linux终端会话活动. 今天,我们还将讨论相同的主题. 但是,本教程允许您自动记录所有用户的终端会 ...

最新文章

  1. Hibernate懒加载解析
  2. 示波器探头使用注意事项,示波器探头的选择
  3. 使用VMDepot镜像快速部署CKAN开放数据门户
  4. (递推1)兔子繁殖问题
  5. 苹果企业账号炒作到多少钱_从炒作到行动:边缘计算的后续步骤
  6. hooks组件封装 react_react-hooks amp; context 编写可复用react组件的一种实践
  7. 设计灵感|三维时代!C4D人物设计案例
  8. GCD学习(五) dispatch_barrier_async
  9. 织梦系统中一篇文章存放在数据库中的哪些表中
  10. MySQL编码转换防止SQL注入_防止SQL注入和XSS注入的方法总结
  11. mysql有rollup函数_如何在MySQL ROLLUP函数中替换NULL类别标题?
  12. Overland Conveyor Belt Analyst 15.0.19.zip
  13. SVN入门教程,超简单,30分钟学会!
  14. quickchm乱码问题
  15. 【题目】一个信道的比特速率为4Mbps,信号的传播延迟为20ms,数据帧的大小为10^4比特,采用滑动串口协议,不考虑帧的生成时间,支持捎带应答,那么帧序号应为多少bit?
  16. 使用visio来进行画类图
  17. Python学习笔记字典之检查字典中是否存在键或值
  18. 数据库数字孪生技术获突破,Ganos两项研究成果入选VLDB
  19. 破解打开证书加密的PDF文档-数字证书(电子书私钥)下载和导入教程
  20. VirtualLab基础实验教程-2.牛顿环

热门文章

  1. 【Chaos Mesh官方文档】Chaosd Introduction
  2. Unity+Vuforia初探之图片识别
  3. DVB amp; EPG
  4. 2020 2 跳线法兰
  5. 音乐和计算机跨界融合,音乐与科技的跨界融合
  6. Python爬虫获取贴吧中的邮箱
  7. js-17 jQuery基础
  8. 【Mac使用技巧】Mac导航栏图标位置调整
  9. 如何解决Blender装配中常见问题,修复角色的绑定问题?
  10. FingerPrint:go转java源码解析