推荐算法

推荐算法之去重策略

匿名 (未验证) 提交于 2019-12-02 23:51:01
一、背景 推荐系统中,有一个刚需就是去重,去重主要涉及两块: 1)内容源去重,即有些抓取的文章基本是讲的一件事。 2)给用户推荐的内容去重,即不能重复推荐。 对于第一种去重,可以采用Google公布的去重算法Simhash,该算法适合海量数据去重。对于常规的文本相似度计算,需要分词,组合成一个向量,不适合海里文本。 第二种去重可以采用BloomFilter算法,该算法与Bitmap位图算法有相似之处。 二、Simhash去重算法 simhash的核心思想是为每一篇文本生成一个整数表示的指纹,然后用这个指纹去进行去重或者相似度检测。对于一些主要内容不变,有一些不太重要的词句不同的文本,simhash仍然能够得到相似或者相同的指纹。 1、首先,对原始内容分词,得到每个词的权重 2、对每个词hash成一个整数,并且把这个整数对应的二进制中的0变成-1,1还是1。 3、每个词hash后的二进制向量乘以权重,形成新的加权向量。 4、把每个词的加权向量相加,得到最终的加权向量,这个向量中元素有正有负。 5、把最终的这个向量正值设置为1,负值设置为0,形成了一个二进制序列,也就最终变成了一个整数。

个性化推荐算法综述

感情迁移 提交于 2019-12-02 18:54:24
目前,推荐系统广泛应用于电商、信息流和地图。工业级推荐系统架构一般以召回+推荐作为大框架。其中,以算法区分,如下图所示。 离线/线上指标如下图所示: 个性化召回算法是根据用户的属性行为上下文等信息从物品全集中选取其感兴趣的物品作为候选集,召回决定了最终推荐结果的天花板。 个性化召回分为以下几类: 基于用户行为的 基于user profile的 基于隐语义的 以算法为例,有以下算法: CF LFM Personal Rank Item2vec Content Based 个性化排序算法是将个性化召回的物品候选集根据物品本身的属性结合用户的属性,上下文等信息给出展现优先级的过程。 工业界推荐系统中一般采用粗排序->主排序->重排序的过程。 主排序分为以下几类: 单一的浅层模型 浅层模型的组合 深度学习模型 以算法为例,有以下算法: xgboost gbdt+lr wide and deep 下面,会分别记录其算法主要实现思路和过程。 来源: https://www.cnblogs.com/hellojamest/p/11758604.html

协同过滤推荐算法

时光总嘲笑我的痴心妄想 提交于 2019-12-02 11:50:38
一、推荐算法 当你在电商网站购物时,天猫会弹出“和你买了同样物品的人还买了XXX”的信息;当你在SNS社交网站闲逛时,也会看到“你可能认识XXX“的信息;当你在微博添加关注人时,也会看到“你可能对XXX也感兴趣”等等。所有这一切,都是背后的推荐算法运作的结果。 推荐算法,不是某一个也不是某一类算法,凡是能实现推荐功能的算法(比如关联算法、分类算法、聚类算法),都可称之为推荐算法。 推荐功能就是为用户(User)推荐商品(Item)。 依据不同的角度,推荐大致分为以下几种: 1)基于内容的推荐:这一类一般依赖于自然语言处理NLP的一些知识,通过挖掘文本的TF-IDF特征向量,来得到用户的偏好,进而做推荐。这类推荐算法可以找到用户独特的小众喜好,而且还有较好的解释性。 2)基于流行度的推荐:常见的比如基于最多用户点击、最多用户浏览等,属于大众型的推荐方法,在目前的大数据时代并不主流。 3)基于人口统计信息的推荐:这一类是最简单的,它只是简单的根据用户的基本信息发现用户的相关程度,然后进行推荐,目前在大型系统中已经较少使用。 4)混合推荐:这个类似机器学习中的集成学习,博采众长,通过多个推荐算法的结合得到一个更好的。 5)协同过滤推荐:目前最主流的,花样繁多,在工业界已经有了很广泛的应用。它的优点是不需要太多特定领域的知识,可以通过基于统计的机器学习算法得到较好的推荐效果。工程上容易实现

推荐系统

懵懂的女人 提交于 2019-12-01 19:16:26
<div id="cnblogs_post_body" class="blogpost-body "> <blockquote> <p>58同城作为中国最大的分类信息网站,向用户提供找房子、找工作、二手车和黄页等多种生活信息。在这样的场景下,推荐系统能够帮助用户发现对自己有价值的信息,提升用户体验,本文将介绍58同城智能推荐系统的技术演进和实践。</p> </blockquote> <p>58同城智能推荐系统大约诞生于2014年(C++实现),该套系统先后经历了招聘、房产、二手车、黄页和二手物品等产品线的推荐业务迭代,但该系统耦合性高,难以适应推荐策略的快速迭代。58同城APP猜你喜欢推荐和推送项目在2016年快速迭代,产出了一套基于微服务架构的推荐系统(Java实现),该系统稳定、高性能且耦合性低,支持推荐策略的快速迭代,大大提高了推荐业务的迭代效率。此后,我们对旧的推荐系统进行了重构,将所有业务接入至新的推荐系统,最终成功打造了统一的58同城智能推荐系统。下面我们将对58同城智能推荐系统展开介绍,首先会概览整体架构,然后从算法、系统和数据三方面做详细介绍。</p> <p>整体架构首先看一下58同城推荐系统整体架构,一共分数据层、策略层和应用层三层,基于58平台产生的各类业务数据和用户积累的丰富的行为数据,我们采用各类策略对数据进行挖掘分析,最终将结果应用于各类推荐场景。</p>

网易云音乐歌单的推荐算法

。_饼干妹妹 提交于 2019-12-01 13:27:01
这里我想给大家介绍另外一种推荐系统,这种算法叫做潜在因子(Latent Factor)算法。这种算法是在NetFlix(没错,就是用大数据捧火《纸牌屋》的那家公司)的推荐算法竞赛中获奖的算法,最早被应用于电影推荐中。这种算法在实际应用中比现在排名第一的算法误差(RMSE)会小不少,效率更高。我下面仅利用基础的矩阵知识来介绍下这种算法。 这种算法的思想是这样:每个用户(user)都有自己的偏好,比如A喜欢带有小清新的、吉他伴奏的、王菲等元素(latent factor),如果一首歌(item)带有这些元素,那么就将这首歌推荐给该用户,也就是用元素去连接用户和音乐。每个人对不同的元素偏好不同,而每首歌包含的元素也不一样。我们希望能找到这样两个矩阵: 一,用户-潜在因子矩阵Q, 表示不同的用户对于不用元素的偏好程度,1代表很喜欢,0代表不喜欢。比如下面这样: 二, 潜在因子-音乐矩阵P ,表示每种音乐含有各种元素的成分,比如下表中,音乐A是一个偏小清新的音乐,含有小清新这个Latent Factor的成分是0.9,重口味的成分是0.1,优雅的成分是0.2…… 利用这两个矩阵,我们能得出张三对音乐A的喜欢程度是:张三对 小清新 的偏好*音乐A含有 小清新 的成分+对 重口味 的偏好*音乐A含有 重口味 的成分+对 优雅 的偏好*音乐A含有 优雅 的成分+…… 即:0.6*0.9+0.8*0

【技术分享】你想知道的网易云音乐推荐架构解析,都在这里!

巧了我就是萌 提交于 2019-12-01 13:24:59
​本文选自网易云音乐推荐算法负责人-肖强前辈在全球人工智能峰会上的分享,主要介绍了三方面:关于网易云音乐,AI算法在音乐推荐中的应用和AI场景下的音乐思考。这里拿来分享给大家,并加上自己的理解,希望对大家有所帮助。 首先说明我是网易云音乐的深度用户,目前级别LV9,每天都会去听日推。喜欢网易云音乐的原因不仅是友好的用户交互设计,而且还是因为在网易云音乐中能看到一个个陌生的故事。虽不知这些故事是真是假,但总会找到一些共鸣,在这里像是一个心灵的寄托一样。我相信大多数人和我一样,喜欢在敲代码的时候戴上耳机,来一个燥一点的音乐,所有的事情与我无关,我只想专心写代码,哈哈,开篇小小的题外话,下面进入正题。 关于本文的PDF,可关注公号 合作=>私信 获取小编微信 ,私聊获取! 本文将从三个方面介绍AI算法在网易云音乐推荐中的应用: 关于网易云音乐 AI算法在音乐推荐中的应用 音乐场景下的AI思考 关于网易云音乐 关于网易云音乐的介绍就不用多说了,相信大家都知道这个产品。但是这个产品里边也有很多其他的业务,如下这些。当然推荐也会在各个业务线进行应用,最大化的提高用户体验。 AI算法在音乐推荐中的应用 除了上图中介绍的三个场景以外,推荐在云音乐还有其他很多的应用,比如推荐的MV/视频,推荐的电台,推荐的Look直播等。 几乎所有的推荐系统或者业务系统的分析和底层数据支持都离不开用户的行为日志

网易云音乐分析之推荐算法

ⅰ亾dé卋堺 提交于 2019-12-01 13:22:43
本篇文章我们从网易云音乐的推荐功能出发,结合我的实习工作,聊一聊互联网的常用推荐策略。 首先来回顾一下云音乐的推荐功能。 网易云音乐推荐 音乐推荐是创始人丁磊先生愿景最直接的体现,也是网易云音乐的主推功能和核心竞争力所在,备受用户推崇。 推荐算法简单说就是在海量的用户数据(行为记录等)中对用户进行划分,对同一群体的用户推荐其他用户喜欢的音乐。 这其中需要给音乐分类并建立评分细则、建立用户模型、寻找相似用户,基于用户的行为数据将歌曲分类匹配——实现“盲听”。 网易云将音乐推荐分成三个部分:私人FM、每日歌曲推荐、推荐歌单。 1. 从准确性、多样性角度分析 私人FM 准确性低、多样性高 多样性高能为用户带来新鲜感,如果发现了一首从未听过但特别喜欢的歌,会带来惊喜感,调动用户正面情绪。 可是由于准确性低,很可能新歌很不被用户喜欢,所以在私人FM在播放界面设置“删除”、“下一首”两个按键便于用户切换歌曲。 每日歌曲推荐 准确性高、多样性低 准确性高使得每日推荐的20首歌曲比较好的满足用户口味,但是存在音乐类型单一化的问题,因此设置了播放列表以提供用户浏览、操作的权利,弥补曲目单一化带给用户的失望。 推荐歌单 准确性中、多样性中 推荐歌单有别于其他两个个性化推荐功能,它准确性多样性的阈值不只是由算法决定的,更多的是它功能形式所决定的。 首先把功能的面向对象分为两类,一类是用户

排序算法(C++)

梦想的初衷 提交于 2019-12-01 10:10:11
冒泡排序、选择排序、快速排序、插入排序、希尔排序、归并排序、基数排序、堆排序。 推荐网址1: https://www.cnblogs.com/onepixel/articles/7674659.html 推荐网址2(C++): https://blog.csdn.net/opooc/article/details/80994353 推荐网址3: https://www.cnblogs.com/hokky/p/8529042.html 推荐网址4: https://blog.csdn.net/real_lisa/article/details/82685407 一、冒泡排序 来源: https://www.cnblogs.com/ken9527just/p/11479281.html

推荐算法初探

丶灬走出姿态 提交于 2019-12-01 05:02:22
1. 推荐算法简介 0x1:关于推荐的几个小故事 在开始讨论抽象具体的算法和公式之前,笔者希望先通过几个小故事,来帮助读者朋友建立一个对推荐算法的感性理解。同时我们也可以更好地体会到在现实复杂世界中,推荐是一项非常复杂的事情,现在的最新的推荐算法可能只模拟了其中30%不到的程度。 1. 150年前美国西部小镇的生活情形 假想150年前一个美国小镇的生活情形,大家都互相认识: 百货店某天进了一批布料,店员注意到这批布料中某个特定毛边的样式很可能会引起Clancey夫人的高度兴趣,因为他知道Clancey夫人喜欢亮花纹样,于是他在心里记着等Clancey夫人下次光顾时将该布料拿给她看看。 Chow Winkler告诉酒吧老板Wilson先生,他考虑将多余的雷明顿(Renmington)来福枪出售,Wilson先生将这则消息告诉Bud Barclay,因为他知道Bud正在寻求一把好枪。 Valquez警长及其下属知道Lee Pye是需要重点留意的对象,因为Lee Pye喜欢喝酒,并且性格暴躁、身体强壮 100年前的小镇生活都与 人和人之间的联系 有关。人们知道你的喜好、健康和婚姻状况。不管是好是坏,大家得到的都是 个性化的体验 。那时,这种高度个性化的社区生活占据了当时世界上的大部分角落。 请注意,这里每个人都对其他 每个人的个性和近期情况 非常了解

CTR@因子分解机

狂风中的少年 提交于 2019-12-01 04:37:39
1. FM算法   FM(Factor Machine,因子分解机)算法是一种基于矩阵分解的机器学习算法,为了解决大规模稀疏数据中的特征组合问题。FM算法是推荐领域被验证效果较好的推荐算法之一,在电商、广告、直播等推荐领域有广泛应用。 2. FM算法优势   特征组合:通过对两两特征组合,引入交叉项特征。   解决维数灾难:通过引入隐向量,实现对特征的参数估计。 3. FM表达式                       来源: https://www.cnblogs.com/LuckPsyduck/p/11654472.html