Recommender Systems基于内容的推荐
基于内容的推荐的基本推荐思路是:用户喜欢幻想小说,这本书是幻想小说,则用户有可能喜欢这本小说
两方面要求:(1)知道用户的喜好;(2)知道物品的属性
基于内容的推荐相比协同过滤方法(个人观点):协同过滤用到了大量用户的群体行为特征,两个特点,(1)要大量用户,(2)除了用户的行为之外,不需要其他信息;基于内容的推荐,需要用户和物品的额外信息,如:用户喜好、物品属性等等,但是不需要存储、处理大量的用户数据。
基于内容的推荐和基于知识的推荐没有明确界限,两者区别:前者更侧重于提取物品属性,后者更侧重于因果关系。
基于内容的推荐一般应用在在文章、新闻推荐上面。文章的属性从文本内容中自动抽取。用户的喜好从用户从前评价过的文章中抽取。一般以关键词来表示文章和用户。
1. 内容表示和相似度
基于内容推荐的基本思路是:计算物品与用户喜欢的物品的相似度,从而确定用户是否喜欢该物品
如何获取用户的喜好?(1)明确的问用户;(2)请用户为一系列item进行打分,从而自动抽取特征
经典方法:用关键词来表示文本、tfidf表示关键词的权重、VSM模型来计算文本之间的相关度
问题:如何选取最有代表性的N个词语(特征选择)。
缺点:没法利用词语上下文信息
2. 基于内容相似度检索
协同过滤方法可以描述成为“推荐相似用户喜欢的物品”;基于内容的推荐方法可描述成为“推荐与用户过去喜欢的物品相似的物品”。这一节在上一节的基础上,讨论具体如何给用户推荐物品。
2.1 k近邻方法
对于某个用户未见的物品,找到用户从前评价过的k个与当前物品最相似的物品,根据用户对这k个物品的评分,来投票解决当前未知物品的评分。
Billsus2000,个性化移动新闻推荐:KNN用于对用户短期兴趣进行建模,用概率分类模型来对用户长期兴趣进行建模。长短两个模型共同作用,来给用户进行个性化新闻推荐。
如何组合长短兴趣模型?方法1:优先短期模型,然后长期模型;方法2,用短期模型把所有相关的item找到,然后用长期模型进行综合排序
2.2 相关性反馈 —— Rocchio方法
需要用户在使用过程中明确对item给出反馈,不实用。
在实际使用中可以考虑获取用户隐式反馈。
个性化搜索?如何把不同的相关度体系(pagerank和用户和物品相关度)融合在一起是个问题。
3 其他文本分类方法
将推荐问题转成分类问题,用分类器来做推荐,例如:朴素贝叶斯+二分类,来预测用户是否喜欢某个特定商品
还有svm、决策树等模型。涉及到特征选择,用卡方选择或者fisher判别。
4. 小结
基于内容的推荐技术,大多数方法都源于信息检索领域。
参考文献http://blog.csdn.net/xceman1997/article/details/41791651
Recommender Systems基于内容的推荐的更多相关文章
- 新闻推荐系统:基于内容的推荐算法(Recommender System:Content-based Recommendation)
https://blog.csdn.net/qq_32690999/article/details/77434381 因为开发了一个新闻推荐系统的模块,在推荐算法这一块涉及到了基于内容的推荐算法(Co ...
- elasticsearch使用More like this实现基于内容的推荐
基于内容的推荐通常是给定一篇文档信息,然后给用户推荐与该文档相识的文档.Lucene的api中有实现查询文章相似度的接口,叫MoreLikeThis.Elasticsearch封装了该接口,通过Ela ...
- 推荐系统第5周--- 基于内容的推荐,隐语义模型LFM
基于内容的推荐
- ElasticSearch java API-使用More like this实现基于内容的推荐
ElasticSearch java API-使用More like this实现基于内容的推荐 基于内容的推荐通常是给定一篇文档信息,然后给用户推荐与该文档相识的文档.Lucene的api中有实现查 ...
- 【T-BABY 夜谈大数据】基于内容的推荐算法
这个系列主要也是自己最近在研究大数据方向,所以边研究.开发也边整理相关的资料.网上的资料经常是碎片式的,如果要完整的看完可能需要同时看好几篇文章,所以我希望有兴趣的人能够更轻松和快速地学习相关的知识. ...
- C# 基于内容电影推荐项目(一)
从今天起,我将制作一个电影推荐项目,在此写下博客,记录每天的成果. 其实,从我发布 C# 爬取猫眼电影数据 这篇博客后, 我就已经开始制作电影推荐项目了,今天写下这篇博客,也是因为项目进度已经完成50 ...
- MapReduce实例-基于内容的推荐(一)
环境: Hadoop1.x,CentOS6.5,三台虚拟机搭建的模拟分布式环境 数据:下载的amazon产品共同采购网络元数据(需FQ下载)http://snap.stanford.edu/data/ ...
- 基于内容的推荐 java实现
这是本人在cousera上学习机器学习的笔记,不能保证其正确性,慎重參考 看完这一课后Content Based Recommendations 后自己用java实现了一下 1.下图是待处理的数据,代 ...
- Recommender Systems移动互联网个性化游戏推荐
对于在线商店,主要关心两方面:1. 提升转化率(将不消费的用户转变为消费用户):2. 提升消费额(已经花钱的人,花更多的强). 对比了6种方法:1. 协同过滤:2. slope one:3. 基于内容 ...
随机推荐
- Linux 命令 - echo: 显示一行文本
命令格式 echo [OPTION]... [STRING]... 命令参数 -n 不输出行尾的换行符. -e 允许对转义字符进行解释. -E 禁止对转义字符进行解释,这是默认的选项. --help ...
- 使用TreeView+ListBox+TxtBox 资料管理器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Linux命令(6):mv命令
1.作用: 为文件或目录改名或将文件由一个目录移入另一个目录中 2.格式: mv [选项] 源文件或目录 目标文件或目录 3.常见参数: 4.使用实例: [root@localhost ~]# mv ...
- Oracle数据库学习第一天
crud 增删改查 create read update delete1--oracle数据库的安装 系统默认创建两个用户 sys和system 密码自定义 超级管理员:sys 管理员:system ...
- 创建Mysql 序列
create table sequence( name ) not null primary key, current_value , increment , max_value BIGINT, -- ...
- javascript笔记——图片大小检测
<html> <head> <script type="text/javascript"> var isIE = /msie/i.test(na ...
- Js中的运算符
运算符 运算符:就是可以运算的符号 比如 + .-.*./ 运算符包括: 算术运算符 比较运算符 逻辑运算符 赋值运算符 字符串运算符 1.算术运算符 +.-.*./.%(求余数).++.-- ++: ...
- <%@include和<jsp:include
博客地址:http://www.cnblogs.com/shizhongtao/p/3506742.html欢迎交流 <%@ include %>是编译时包含,<jsp:includ ...
- Unity编程回忆录之控制物体移动
最新心血来潮,然后开始学习Unity3D游戏开发引擎,对于一个主流的跨平台3D游戏开发引擎,我已经深深的为他着迷了,于是果断的开始学习这个引擎,而且刚刚预装的游戏引擎最新版中4.3版本已经开始原生支持 ...
- 安装MySQL总结
由于MySQL的版本不同,所以会有不同的安装方式.在下以Linux系统下MySQL5.1.19版本为例,进行安装,初学还望指正. 一.安装编译软件(简单的yum安装) gcc gcc-c++ ncur ...