基于内容的推荐算法java_推荐算法之基于内容的推荐

基于内容的推荐定义:通过用户历史感兴趣的信息,抽象信息内容共性,根据内容共性推荐其他信息。

适用场景:用户量少,但是用户操作的事物多

还是以推荐电影为例子:

简要步骤:

a.找到用户感兴趣的电影集合(同样,如何定义感兴趣是个难点,浏览过?点赞过?观看过?)

b.找到这些电影的具体内容(导演?电影类型?主演?字幕类型?具体定义维度也是个难点)

c.抽象具体内容的共性内容

d.由这些共性内容找到其他电影,进行推荐

具体步骤

(1)找到用户的感兴趣电影集合

假设用户感兴趣的电影集合为{m1,m2,m3}

(2)定义这些电影的具体内容,假设我们以{导演,电影类型,男主角,女主角,字幕类型,时长}为维度来定义

m1->{导演1,剧情片,男主角1,女主角1,中文,100分钟}

m2->{导演2,剧情片,男主角1,女主角2,中文,96分钟}

m1->{导演1,剧情片,男主角1,女主角1,中文,120分钟}

这些数据都可以在数据库中拿到

(3)由具体内容来抽象共性内容

例如,上面的内容的共性化电影信息是 {null,剧情片,男主角1,中文,96+分钟}

(4)以共性内容查找其他电影

以 {null,剧情片,男主角1,中文,96+分钟} 为条件,查询电影数据库,并按照一些规则排序(例如以电影的上映时间倒序,点击过的电影不推荐),完成推荐

如果完成的查询的结果集太小,这可以缩小条件查询,例如,可以把时长修改为 80+ 分钟,即按照 {null,剧情片,男主角1,中文,80+分钟}条件进行查询

基于内容的推荐的难点在于:

1.如何定义用户感兴趣的事务集合?(跟协同过滤算法一样)

2.如何定义具体内容的的维度?

至于用户的操作集合倒不是难点, 用户一般都会有一些动作

参考文章:http://mp.weixin.qq.com/s/aFRMSpqLDMtUIrAOYnbfWA

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目完整可用,配合压缩包内数据库可直接运行使用。 eclipse+mysql5.7+jdk1.8 功能:推荐引擎利用特殊的信息过滤(IF,Information Filtering)技术,将不同的内容(例如电影、音乐、书籍、新闻、图片、网页等)推荐给可能感兴趣的用户。通常情况下,推荐引擎的实现是通过将用户的个人喜好与特定的参考特征进行比较,并试图预测用户对一些未评分项目的喜好程度。参考特征的选取可能是从项目本身的信息中提取的,或是基于用户所在的社会或社团环境。 根据如何抽取参考特征,我们可以将推荐引擎分为以下四大类: • 基于内容推荐引擎:它将计算得到并推荐给用户一些与该用户已选择过的项目相似的内容。例如,当你在网上购书时,你总是购买与历史相关的书籍,那么基于内容推荐引擎就会给你推荐一些热门的历史方面的书籍。 • 基于协同过滤的推荐引擎:它将推荐给用户一些与该用户品味相似的其他用户喜欢的内容。例如,当你在网上买衣服时,基于协同过滤的推荐引擎会根据你的历史购买记录或是浏览记录,分析出你的穿衣品位,并找到与你品味相似的一些用户,将他们浏览和购买的衣服推荐给你。 • 基于关联规则的推荐引擎:它将推荐给用户一些采用关联规则发现算法计算出的内容。关联规则的发现算法有很多,如 Apriori、AprioriTid、DHP、FP-tree 等。 • 混合推荐引擎:结合以上各种,得到一个更加全面的推荐效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值