一种推荐算法
❶ 雷鸟科技的AI算法到底是什么
雷鸟科技的AI算法是一种智能推荐算法,用专业术语来表达,就是它可以充分利用用户画像、视频画像,结合智能算法,为每个用户推荐个性化的内容。
❷ 镆愯喘鐗╃绣绔椤湪钖戠敤鎴锋帹钻愬晢鍝佹椂
璐鐗╃绣绔椤悜鐢ㄦ埛鎺ㄨ崘鍟嗗搧镞堕氩父浼氢娇鐢ㄦ帹钻愮畻娉曘傛帹钻愮畻娉曟槸涓绉嶉氲繃鍒嗘瀽鐢ㄦ埛镄勮屼负鍜屽叴瓒f潵棰勬祴浠栦滑鍙鑳藉枩娆㈢殑鍟嗗搧镄勬柟娉曘傝繖浜涚畻娉曚细鍒╃敤澶氱嶆暟鎹锛屼緥濡傜敤鎴风殑娴忚埚巻鍙层佽喘涔拌板綍銆佽瘎浠峰拰璇勫垎绛夛纴𨱒ラ勬祴鐢ㄦ埛镄勮喘涔板亸濂斤纴骞舵牴鎹杩欎簺棰勬祴缁撴灉钖戠敤鎴锋帹钻愮浉鍏崇殑鍟嗗搧銆
鎺ㄨ崘绠楁硶鍙浠ュ垎涓哄氢釜绫诲瀷锛屽叾涓杈冨父瑙佺殑鍖呮嫭鍗忓悓杩囨护鎺ㄨ崘銆佸唴瀹-based 鎺ㄨ崘鍜屾贩钖堟帹钻愩傚岗钖岃繃婊ゆ帹钻愭槸锘轰簬鐢ㄦ埛琛屼负鏁版嵁杩涜屾帹钻愮殑鏂规硶锛屽畠浼氩绘垒鍜屽綋鍓岖敤鎴锋湁鐩镐技鍏磋叮镄勫叾浠栫敤鎴凤纴铹跺悗钖戝綋鍓岖敤鎴锋帹钻愯繖浜涚敤鎴峰枩娆㈢殑鍟嗗搧銆傚唴瀹-based 鎺ㄨ崘鍒欐槸镙规嵁鍟嗗搧镄勭壒寰佸拰鐢ㄦ埛镄勫叴瓒h繘琛屽尮閰嶏纴阃氲繃鍒嗘瀽鍟嗗搧镄勫睘镐с佹爣绛剧瓑淇℃伅𨱒ユ帹钻愮浉鍏崇殑鍟嗗搧銆傛贩钖堟帹钻愭槸灏嗗氱嶆帹钻愮畻娉旷粨钖堣捣𨱒ワ纴浠ユ彁楂樻帹钻愮殑鍑嗙‘镐у拰鏁堟灉銆
闄や简鎺ㄨ崘绠楁硶锛岃喘鐗╃绣绔栾缮鍙浠ヤ娇鐢ㄥ叾浠栫瓥鐣ユ潵钖戠敤鎴锋帹钻愬晢鍝併备緥濡傦纴镙规嵁鐢ㄦ埛镄勮喘涔板巻鍙插拰娴忚堣屼负杩涜屼釜镐у寲鎺ㄨ崘锛屽悜鐢ㄦ埛鎺ㄨ崘浠栦滑鍙鑳芥劅鍏磋叮镄勫晢鍝併傝喘鐗╃绣绔栾缮鍙浠ュ埄鐢ㄧ敤鎴风殑绀句氦缃戠粶淇℃伅锛屼緥濡傚叧娉ㄧ殑鍟嗗搧銆佸叧娉ㄧ殑鍝佺墝鍜屽叧镵旂殑鐢ㄦ埛锛屾潵杩涜屾帹钻愩
缁间笂镓杩帮纴璐鐗╃绣绔椤湪钖戠敤鎴锋帹钻愬晢鍝佹椂浣跨敤鎺ㄨ崘绠楁硶锛屾牴鎹鐢ㄦ埛镄勮屼负鍜屽叴瓒h繘琛岄勬祴锛屼互鎻愪緵涓镐у寲镄勬帹钻愪綋楠屻
❸ 推荐算法有哪些
推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西。
基于协同过滤的推荐
基于用户的协同过滤算法: 基于一个这样的假设“跟你喜好相似的人喜欢的东西你也很有可能喜欢。”所以基于用户的协同过滤主要的任务就是找出用户的最近邻居,从而根据最近邻 居的喜好做出未知项的纤稿春评分预测。这种算法主要分为3个步骤:
1、用户评分。可以分为显性评分和隐形评分两种。显性评分就是直接给项目评分(例如给网络里的用户评分),隐形评分就是通过评价或是购买的行为给项目评分 (例如在有啊购买了什么东西)。
2、寻找最近邻居。这一步就是寻找与你距离最近的用户,测算距离一般采用以下三种算法:1.皮尔森相关系数。敬陵2.余弦相似性。3调整余弦相似性。调整毁耐余弦 相似性似乎效果会好一些。
3、推荐。产生了最近邻居集合后,就根据这个集合对未知项进行评分预测。把评分最高的N个项推荐给用户。 这种算法存在性能上的瓶颈,当用户数越来越多的时候,寻找最近邻居的复杂度也会大幅度的增长。
组合推荐
在组合方式上,有研究人员提出了七种组合思路:
1、加权(Weight):加权多种推荐技术结果。
2、变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。
3、混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。
4、特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。
5、层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。
6、特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。
7、元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。
❹ 涓夌嶅父鐢ㄧ殑鐢靛瓙鍟嗗姟鎺ㄨ崘绠楁硶
涓夌嶅父鐢ㄧ殑鐢靛瓙鍟嗗姟鎺ㄨ崘绠楁硶鏄锛氩熀浜庡唴瀹圭殑鎺ㄨ崘锛圕ontent-Based Recommendation锛夈佸岗钖岃繃婊ゆ帹钻愶纸Collaborative Filtering Recommendation锛変互鍙婃贩钖堟帹钻愶纸Hybrid Recommendation锛夈
锘轰簬鍐呭圭殑鎺ㄨ崘锛
杩欑嶆帹钻愭柟娉曚富瑕佹槸阃氲繃鍒嗘瀽鐢ㄦ埛浠ュ墠镄勮屼负鍜屽叴瓒o纴鎺ㄨ崘涓庡叾鍏磋叮鐩镐技镄勪骇鍝佹垨链嶅姟銆备緥濡傦纴濡傛灉涓涓鐢ㄦ埛鍦ㄨ繃铡荤殑琛屼负涓鏄剧ず鍑哄圭戝够鐢靛奖镄勫叴瓒o纴闾d箞锘轰簬鍐呭圭殑鎺ㄨ崘绯荤粺灏变细鎺ㄨ崘镟村氱殑绉戝够鐢靛奖銆傝繖绉嶆帹钻愭柟娉旷殑浼樼偣鏄鍙浠ヤ负鐢ㄦ埛鎻愪緵涓庡叾鍏磋叮楂桦害鍖归厤镄勪骇鍝侊纴缂虹偣鏄瀹冩棤娉曞彂鐜扮敤鎴风殑鏂板叴瓒o纴锲犱负瀹冨彧鎺ㄨ崘涓庣敤鎴疯繃铡昏屼负鐩镐技镄勪骇鍝併
鍗忓悓杩囨护鎺ㄨ崘锛
鍗忓悓杩囨护鎺ㄨ崘鏄鍙︿竴绉嶅父瑙佺殑鐢靛瓙鍟嗗姟鎺ㄨ崘绠楁硶锛屽畠阃氲繃瀵绘垒鍏锋湁鐩镐技鍏磋叮镄勭敤鎴风兢浣掳纴铹跺悗灏呜繖浜涚敤鎴风兢浣揿枩娆㈢殑浜у搧鎺ㄨ崘缁欐柊鐢ㄦ埛銆备緥濡傦纴濡傛灉涓涓鐢ㄦ埛锽沧㈢湅銆婃祦娴鍦扮悆銆嬶纴闾d箞鍗忓悓杩囨护鍙鑳戒细鎺ㄨ崘鍏朵粬锽沧銆婃祦娴鍦扮悆銆嬬殑鐢ㄦ埛锽沧㈢殑鍏朵粬鐢靛奖銆傝繖绉嶆柟娉旷殑浼樼偣鏄鍙浠ュ府锷╃敤鎴峰彂鐜版柊镄勫叴瓒g偣锛岀己镣规槸鍙鑳戒细鍑虹幇鍐峰惎锷ㄩ梾棰桡纴鍗冲逛簬娌℃湁浠讳綍琛屼负镄勬柊鐢ㄦ埛鎴栨柊浜у搧锛岀郴缁熸棤娉曡繘琛屾湁鏁堢殑鎺ㄨ崘銆
娣峰悎鎺ㄨ崘锛
娣峰悎鎺ㄨ崘绠楁硶鏄缁揿悎锘轰簬鍐呭圭殑鎺ㄨ崘鍜屽岗钖岃繃婊ゆ帹钻愮殑涓绉嶆柟娉曘傚畠钖屾椂钥冭槛浜嗙敤鎴风殑铡嗗彶琛屼负鍜屽叴瓒o纴浠ュ强鐩镐技鐢ㄦ埛镄勮屼负鍜屽叴瓒o纴浠ョ敓鎴愭洿鍏ㄩ溃銆佹洿鍑嗙‘镄勬帹钻愩备緥濡傦纴涓涓娣峰悎鎺ㄨ崘绯荤粺鍙鑳戒细棣栧厛浣跨敤锘轰簬鍐呭圭殑鎺ㄨ崘𨱒ョ‘瀹氱敤鎴峰圭戝够鐢靛奖镄勫叴瓒o纴铹跺悗浣跨敤鍗忓悓杩囨护𨱒ユ帹钻愬叾浠栧枩娆㈢戝够鐢靛奖镄勭敤鎴峰枩娆㈢殑鍏朵粬绫诲瀷镄勭数褰便傝繖绉嶆柟娉旷殑浼樼偣鏄鍙浠ュ厠链嶅熀浜庡唴瀹圭殑鎺ㄨ崘鍜屽岗钖岃繃婊ゆ帹钻愮殑灞闄愭э纴鎻愪緵镟村嗳纭銆佹洿涓镐у寲镄勬帹钻愶纴缂虹偣鏄鍙鑳介渶瑕佹洿澶嶆潅镄勭畻娉曞拰镟村氱殑璁$畻璧勬簮銆
❺ 个性化推荐是怎么做的
各种推荐算法不能仅仅是研发涉猎领域,作为PM,也要深入到算法内部,了解算法的设计,以及结合内容对算法不断“调教”,才能让产品的推荐算法不断完善,才能符合用户的口味。
目前比较流行的个性化推荐算法有以下几种:
基于内容的推荐:根据内容本身的属性(特征向量)所作的推荐。
基于关联规则的推荐:“啤酒与尿布”的方式,是一种动态的推荐,能够实时对用户的行为作出推荐。是基于物品之间的特征关联性所做的推荐,在某种情况下会退化为物品协同过滤推荐。
协同过滤推荐:与基于关联规则的推荐相比是一种静态方式的推荐,是根据用户已有的历史行为作分析的基础上做的推荐。可分为物品协同过滤、用户协同过滤、基于模型的协同过滤。其中,基于模型的协同又可以分为以下几种类型:基于距离的协同过滤;基于矩阵分解的协同过滤,即Latent
Factor Model(SVD)或者ALS;基于图模型协同,即Graph,也叫社会网络图模型。
1、产品冷启动通过热度算法进行内容推荐
产品发展初期,由于一方面没有用户行为、用户喜好、用户画像,另外也没有大量的内容样本基础,是很难开展个性化推荐的。所以在产品初期,一般采取“热度算法”,顾名思义就是把热点的内容优先推荐给用户。虽然无法做到基于兴趣和习惯为每一个用户做到精准化的推荐,但能覆盖到大部分的内容需求,而且启动成本比个性化推荐算法低太多。
热度算法基本原理:
新闻热度分 = 初始热度分 + 用户交互产生的热度分 – 随时间衰减的热度分
Score = S0 + S(Users) – S(Time)
1)以新闻或视频较有时效性的内容举例,热度随内容陈旧而分值衰减。
2)初始热度分不要一视同仁。
按照新闻类别给予新闻不同的初始热度,让用户关注度高的类别获得更高的初始热度分,从而获得更多的曝光。军事>娱乐>体育>财经....
对于重大事件的报道,如何让它入库时就有更高的热度,我们采用的是热词匹配的方式。
即对大型新闻站点的头条,Twitter热点,竞品的头条做监控和扒取,并将这批新闻的关键词维护到热词库并保持更新;每条新闻入库的时候,让新闻的关键词去匹配热词库,匹配度越高,就有越高的初始热度分。这样处理后,重大事件发生时,Twitter和门户网站的争相报道会导致热词集中化,所有匹配到这些热词的新闻,即报道同样事件的新闻,会获得很高的初始热度分。
3)用户交互的热度分值比重不一。首先明确用户的的哪些行为会提高新闻的热度值,然后对这些行为赋予一定的得分规则。
例如对于单条新闻,用户可以点击阅读(click),收藏(favor),分享(share),评论(comment)这四种行为,我们为不同的行为赋予分数,就能得到新闻的实时用户行为分为:
S(Users) = 1*click + 5*favor + 10*comment + 20*share
这里对不同行为赋予的分数为1,5,10,20,但这个值不能是一成不变的;当用户规模小的时候,各项事件都小,此时需要提高每个事件的行为分来提升用户行为的影响力;当用户规模变大时,行为分也应该慢慢降低,因此做内容运营时,应该对行为分不断调整。
当然也有偷懒的办法,那就是把用户规模考虑进去,算固定用户数的行为分,即:
S(Users) = (1*click + 5*favor + 10*comment + 20*share)/ DAU * N(固定数)
这样就保证了在不同用户规模下,用户行为产生的行为分基本稳定。
2、基于内容特征与用户特征进行个性化推荐
对于此种推荐,有两个实体:内容和用户,因此需要有一个联系这两者的东西,即为标签。内容转换为标签即为内容特征化,用户则称为用户特征化。对于此种推荐,主要分为以下几个关键部分:
标签库
内容特征化
用户特征化
隐语义推荐
综合上面讲述的各个部分即可实现一个基于内容和用户画像的个性化推荐系统。
标签库
标签是联系用户与物品、内容以及物品、内容之间的纽带,也是反应用户兴趣的重要数据源。标签库的最终用途在于对用户进行行为、属性标记。是将其他实体转换为计算机可以理解的语言关键的一步。
标签库则是对标签进行聚合的系统,包括对标签的管理、更新等。
一般来说,标签是以层级的形式组织的。可以有一级维度、二级维度等。
标签的来源主要有:
已有内容的标签
网络抓取流行标签
对运营的内容进行关键词提取
对于内容的关键词提取,使用结巴分词+TFIDF即可。此外,也可以使用TextRank来提取内容关键词。
这里需要注意的一点是对于关联标签的处理,比如用户的标签是足球,而内容的标签是德甲、英超,那么用户和内容是无法联系在一起的。最简单的方式是人工设置关联标签,此外也可以使用word2vec一类工具对标签做聚类处理,构建主题模型,将德甲、英超聚类到足球下面。
内容特征化
内容特征化即给内容打标签。目前有两种方式:
人工打标签
机器自动打标签
针对机器自动打标签,需要采取机器学习的相关算法来实现,即针对一系列给定的标签,给内容选取其中匹配度最高的几个标签。这不同于通常的分类和聚类算法。可以采取使用分词 +Word2Vec来实现,过程如下:
将文本语料进行分词,以空格,tab隔开都可以,使用结巴分词。
使用word2vec训练词的相似度模型。
使用tfidf提取内容的关键词A,B,C。
遍历每一个标签,计算关键词与此标签的相似度之和。
取出TopN相似度最高的标签即为此内容的标签。
此外,可以使用文本主题挖掘相关技术,对内容进行特征化。这也分为两种情况:
通用情况下,只是为了效果优化的特征提取,那么可以使用非监督学习的主题模型算法。如LSA、PLSI和GaP模型或者LDA模型。
在和业务强相关时,需要在业务特定的标签体系下给内容打上适合的标签。这时候需要使用的是监督学习的主题模型。如sLDA、HSLDA等。
用户特征化
用户特征化即为用户打标签。通过用户的行为日志和一定的模型算法得到用户的每个标签的权重。
用户对内容的行为:点赞、不感兴趣、点击、浏览。对用户的反馈行为如点赞赋予权值1,不感兴趣赋予-1;对于用户的浏览行为,则可使用点击/浏览作为权值。
对内容发生的行为可以认为对此内容所带的标签的行为。
用户的兴趣是时间衰减的,即离当前时间越远的兴趣比重越低。时间衰减函数使用1/[log(t)+1], t为事件发生的时间距离当前时间的大小。
要考虑到热门内容会干预用户的标签,需要对热门内容进行降权。使用click/pv作为用户浏览行为权值即可达到此目的。
此外,还需要考虑噪声的干扰,如标题党等。
另,在非业务强相关的情况下,还可以考虑使用LSA主题模型等矩阵分解的方式对用户进行标签化。
隐语义推荐
有了内容特征和用户特征,可以使用隐语义模型进行推荐。这里可以使用其简化形式,以达到实时计算的目的。
用户对于某一个内容的兴趣度(可以认为是CTR):
其中i=1…N是内容c具有的标签,m(ci)指的内容c和标签i的关联度(可以简单认为是1),n(ui)指的是用户u的标签i的权重值,当用户不具有此标签时n(ui)=0,q©指的是内容c的质量,可以使用点击率(click/pv)表示。
3、其他运用
除了个性化推荐,基于内容的相关性算法能精准地给出一篇新闻的相关推荐列表,对相关阅读的实现非常有意义。此外,标签系统对新闻分类的实现和提升准确性,也有重要的意义。
4、优缺点
基于内容的推荐算法有几个明显优点:
对用户数量没有要求,无论日活几千或是几百万,均可以采用;因此个性化推荐早期一般采用这种方式。
每个用户的特征都是由自己的行为来决定的,是独立存在的,不会有互相干扰,因此恶意刷阅读等新闻不会影响到推荐算法。
而最主要的缺点就是确定性太强了,所有推荐的内容都是由用户的阅读历史决定,所以没办法挖掘用户的潜在兴趣;也就是由于这一点,基于内容的推荐一般与其他推荐算法同时存在。
基于用户的协同推荐
终于,经过团队的努力,你的产品已经有了大量活跃用户了,这时候你开始不满足于现有的算法。虽然基于内容的推荐已经很精准了,但总是少了那么一点性感。因为你所有给用户的内容都是基于他们的阅读习惯推荐的,没能给用户“不期而遇”的感觉。
于是,你就开始做基于用户的协同过滤了。
基于用户的协同过滤推荐算法,简单来讲就是依据用户A的阅读喜好,为A找到与他兴趣最接近的群体,所谓“人以群分”,然后把这个群体里其他人喜欢的,但是A没有阅读过的内容推荐给A。
举例我是一个足球迷,系统找到与我类似的用户都是足球的重度阅读者,但与此同时,这些“足球群体”中有一部分人有看NBA新闻的习惯,系统就可能会给我推荐NBA内容,很可能我也对NBA也感兴趣,这样我在后台的兴趣图谱就更完善了。
1、用户群体划分
做基于用户的协同过滤,首先就要做用户的划分,可以从三方面着手:
(1)外部数据的借用
这里使用社交平台数据的居多,现在产品的登录体系一般都借用第三方社媒的登录体系,如国外的Facebook、Twitter,国内的微信、微博,借用第三方账户的好处多多,例如降低门槛,方便传播等,还能对个性化推荐起到重要作用。
因为第三方账户都是授权获取部分用户信息的,往往包括性别,年龄,工作甚至社交关系等,这些信息对用户群划分很有意义。
此外还有其他的一些数据也能借用,例如IP地址,手机语种等。
使用这些数据,你很容易就能得到一个用户是北京的还是上海的,是大学生还是创业者,并依据这些属性做准确的大类划分。
比如一篇行业投资分析出来后,“上海创业圈”这个群体80%的用户都看过,那就可以推荐给剩下的20%。
(2)产品内主动询问
常见在产品首次启动的时候,弹框询问用户是男是女,职业等,这样能对内容推荐的冷启动提供一些帮助。但总体来说,性价比偏低,只能询问两三个问题并对用户的推荐内容做非常粗略的划分,同时要避免打扰到用户;这种做法算是基于用户个性化的雏形。
(3)对比用户特征
新闻的特征加用户的阅读数据能得到用户的特征,那就可以通过用户特征的相似性来划分群体。
最后总结,没有一款完美的个性化推荐算法,毕竟用户的心里你别猜别猜别猜,但是产品经理还是要结合自身产品不断打磨算法。
❻ 推荐算法有哪些
推荐算法大致可以分为三类:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法。 基于内容的推荐算法,原理是用户喜欢和自己关注过的Item在内容上类似的Item,比如你看了哈利波特I,基于内容的推荐算法发现哈利波特II-VI,与你以前观看的在内容上面(共有很多关键词)有很大关联性,就把后者推荐给你,这种方法可以避免Item的冷启动问题(冷启动:如果一个Item从没有被关注过,其他推荐算法则很少会去推荐,但是基于内容的推荐算法可以分析Item之间的关系,实现推荐),弊端在于推荐的Item可能会重复,典型的就是新闻推荐,如果你看了一则关于MH370的新闻,很可能推荐的新闻和你浏览过的,内容一致;另外一个弊端则是对于一些多媒体的推荐(比如音乐、电影、图片等)由于很难提内容特征,则很难进行推荐,一种解决方式则是人工给这些Item打标签。 协同过滤算法,原理是用户喜欢那些具有相似兴趣的用户喜欢过的商品,比如你的朋友喜欢电影哈利波特I,那么就会推荐给你,这是最简单的基于用户的协同过滤算法(user-based collaboratIve filtering),还有一种是基于Item的协同过滤算法(item-based collaborative filtering),这两种方法都是将用户的所有数据读入到内存中进行运算的,因此成为Memory-based Collaborative Filtering,另一种则是Model-based collaborative filtering,包括Aspect Model,pLSA,LDA,聚类,SVD,Matrix Factorization等,这种方法训练过程比较长,但是训练完成后,推荐过程比较快。 最后一种方法是基于知识的推荐算法,也有人将这种方法归为基于内容的推荐,这种方法比较典型的是构建领域本体,或者是建立一定的规则,进行推荐。 混合推荐算法,则会融合以上方法,以加权或者串联、并联等方式尽心融合。 当然,推荐系统还包括很多方法,其实机器学习或者数据挖掘里面的方法,很多都可以应用在推荐系统中,比如说LR、GBDT、RF(这三种方法在一些电商推荐里面经常用到),社交网络里面的图结构等,都可以说是推荐方法。