美文网首页
Apache Gremlin基于内容的协同过滤推荐算法实现

Apache Gremlin基于内容的协同过滤推荐算法实现

作者: 娃娃学软件 | 来源:发表于2018-11-03 22:54 被阅读0次

目的

基于Apache Gremlin的协同推荐一文中描述了如何利用Apache Gremlin实现《玩具总动员》影片的基于用户协同过滤推荐算法。向对有共同爱好影片《玩具总动员》的观众推荐其它的影片。
本文将继续介绍如何利用Apache Gremlin实现《玩具总动员》影片的基于内容的协同过滤算法实现。

Apache Gremlin VS Toy Story

推荐相似属性影片

加入作为一个父亲想给自己的孩子挑选一个电影,而这个电影与《玩具总动员》影片有着很高相似属性,那么我们就可以利用在Apache Gremlin电影推荐图数据一文中建立的电影评级图数据,以及基于Apache Gremlin的协同推荐一文中定义的corated自定义遍历函数。实现代码如下:

gremlin> m = [:]
gremlin> x = [] as Set
gremlin> v.out('hasGenera').aggregate(x).back(2).corated(3)
.filter{it != v}.out('hasGenera').retain(x).back(2).title.groupCount(m) >> -1
==>null
gremlin> m.sort{a,b -> b.value <=> a.value}[0..9]
==>American Beauty (1999)=949
==>Back to the Future (1985)=876
==>Toy Story 2 (1999)=871
==>Princess Bride, The (1987)=851
==>Groundhog Day (1993)=843
==>Shakespeare in Love (1998)=807
==>Forrest Gump (1994)=775
==>Men in Black (1997)=747
==>E.T. the Extra-Terrestrial (1982)=737
==>Bug's Life, A (1998)=700

推荐属性相同的影片

从上面的计算结果我们找到了合适的推荐影片,而且这些影片与《玩具总动员》的属性高度关联相似。
但是,作为一个严格的父亲会发现上述的结果中有些影片虽然与《玩具总动员》高度关联相似,但是还是发现其中部分影片不适合儿童,例如《American Beauty》影片。于是我们就要更加对属性进行严格的控制,这位父亲希望能推荐的影片的属性完全和《玩具总动员》一致。针对这位父亲的需求,我们需要推荐的影片属性和《玩具总动员》一致,代码如下:

gremlin> m = [:] 
gremlin> x = [] as Set                                                                                                                                    
gremlin> v.out('hasGenera').aggregate(x).back(2).corated(3)
.filter{it != v}.filter{it.out('hasGenera')>>[] as Set == x}.title
.groupCount(m) >> -1
==>null
gremlin> m.sort{a,b -> b.value <=> a.value}[0..9]                                                                                                    
==>Toy Story 2 (1999)=871
==>Bug's Life, A (1998)=700
==>Chicken Run (2000)=465
==>American Tail, An (1986)=140
==>Aladdin and the King of Thieves (1996)=39
==>American Tail: Fievel Goes West, An (1991)=37
==>Rugrats Movie, The (1998)=34
==>Adventures of Rocky and Bullwinkle, The (2000)=21
==>Saludos Amigos (1943)=4
Apache Gremlin

想了解更多图计算的知识,请点击娃娃学软件

相关文章

  • 基于Apache Gremlin的协同推荐

    目的 利用协同过滤推荐算法以及使用Apache Gremlin对Apache Gremlin电影推荐图数据文中存储...

  • Apache Gremlin基于内容的协同过滤推荐算法实现

    目的 在基于Apache Gremlin的协同推荐一文中描述了如何利用Apache Gremlin实现《玩具总动员...

  • 个性化推荐浅析

    个性化推荐算法: 推荐算法分为三类:基于内容的推荐算法,协同过滤推荐算法和混合推荐算法 基于内容的推荐算法,将用户...

  • 算法笔记(1)-常用推荐算法总结

    常用推荐算法包括以下几种 1.协同过滤算法 1)基于用户的协同过滤算法 2)基于项的协同过滤算法 2.基于矩阵分解...

  • 算法笔记(2)-推荐系统之协同过滤算法

    本节讲述推荐系统之协同过滤算法,协同过滤算法包括两类,一种基于用户的协同过滤算法,另外一种基于项的协同过滤算法。 ...

  • 推荐系统

    主流的推荐算法协同过滤、隐语义模型、关联规则;基于人口统计学的推荐、基于物品内容的推荐 一、协同过滤二、隐语义模型...

  • 商品推荐算法有哪些

    基于内容的推荐 协同过滤 基于知识的推荐 推荐补足算法 多算法融合 【购物网站的商品推荐算法有哪些?】陈运文:… ...

  • 基于内容的个性化推荐算法

    个性化推荐算法有许多类别,主要包括基于内容的推荐、协同过滤、SVD、基于知识的推荐以及混合推荐算法。 本文介绍基于...

  • 推荐算法

    推荐算法分类 基于流行度的算法 基于内容的算法 协同过滤算法 基于模型 混合算法 算法分析 1. 基于流行度的算法...

  • octave实现协同过滤推荐算法

    octave实现协同过滤推荐算法 标签:推荐算法 这是对关于电影评分的数据集使用协同过滤算法,实现推荐系统。 数据...

网友评论

      本文标题:Apache Gremlin基于内容的协同过滤推荐算法实现

      本文链接:https://www.haomeiwen.com/subject/cnzhxqtx.html