基于协同过滤的新闻推荐思路分享

目录结构

  1,推荐系统的概率及部署

  2,新闻推荐系统特点分析

  3,协同过滤算法分析

  4,系统评估与安全

             

一:推荐系统的概览及部署

    首先明确一个概念,推荐系统是什么,或者说解决了什么样的一个问题。

        新闻推荐系统解决的是咨询、用户和环境之间的关系,如图,通过对用户特征、环境特征、文章特征做综合分析,将最合适、有效的内容推荐给用户。

              

    推荐系统在业务平台的定位

        正所谓巧妇难为无米之炊,不光新闻推荐系统,几乎所有人工智能模型都离不开大数据组件的支持。

        要做到一个“千人千面的推荐系统“,需要大数据的支持,可能涉及的大数据组件如spark、Hadoop,支持组件ES、Kafka等,不做具体分析,各有好坏,需要再实际业务环境中选择使用,不用最好的,但要最适合的。

        推荐系统在整个系统中的粗略定位如下。

            

    推荐系统的核心模块

         系统是个闭环,从数据收集启动,通过ETL做标的物处理,经特征工程做特征后,交由推荐算法处理训练、预测,生成推荐结果,推荐结果提交给用户后收集用户反馈,并以此作为数据不断优化更新模型。如图。

            

     常用特征分析

          处理好特征,有助于推荐的精准度,特征一般包含相关性特征,环境变量特征,热度特征,协同特征。依据具体业务逻辑特征选取使用。

              

    召回、排序策略

         针对生成结果如何召回、排序也是一个需要考虑的问题,个人建议执行多路召回,避免了单一算法的局限性,有效解决产生推荐范围越来越单调的问题。

         具体通过对不同路线召回的权重选择,时间衰减降权,惩罚热点等完成。

      

二:新闻推荐的特点分析

    新闻推荐的特点,注定需要NLP的炼金石。

     文本分析在新闻推荐中的应用

            用户兴趣:为喜欢【游戏】相关文章的用户打上【游戏】标签。

            内容推荐:把喜欢【电影】相关推荐给喜欢【电影】的用户。

            频道生成:把【财经】文章归类到【财经频道】。

     文本特征

            新闻资讯类产品的特殊性,注定了对内容实时性的需求,导致对历史数据消费不足,没有文本特征冷启动困难。

            一般人为使用分类、实体词、关键字等显式特征,部分使用隐式特征(如LSA)。

              

      文本特征价值:

              细粒度启动能力强,如:【故宫旅行攻略】与【北京旅行攻略】。

              无文本特征,搜索引擎无法工作。

      文本特征模型:

              个人推荐bert,bert在问答系统、情感分析、命名实体识别、垃圾邮件过滤、文档聚类等方面成绩显著,这些对新闻推荐工作都是有帮助的。

              新闻推荐主要需要:关键字获取、主题抓取、后续的垃圾新闻过滤等。

                  

        

            此外,LDA主题生成模型在做基于物品相似推荐上效果不错,可以考虑使用

                  

三:协同过滤算法分析选择

      典型的推荐算法

          本文重点是基于协同过滤的推荐系统,其他算法不做比较、解释。

          

     两种经典协同过滤算法比较

          协同过滤又可以分为基于用户的协同过滤,基于物品的协同过滤,使用场景须自行分析,会在后面做两种比较。

            

    基于物品的协同过滤

          分析:电商等以物品为主的应用场景。

          特点:用户数大于物品数,通过分析物品推荐用户。

              

    基于用户的协同过滤

        应用场景:新闻等以内容为主的平台

        特点分析:内容量远大于用户数,通过分析用户推荐内容。

            

    人物画像

        基于用户的协同过滤需对用户有一点的了解,如果深入分析,可以考虑生成人物画像。

        人口属性——用户是谁(性别,年龄等)。

        兴趣偏好——个人爱好、品牌偏好等。

        社交属性——社交活跃度。

        消费属性——消费需求、消费习惯。

              

     几种常用的相似度计算方法。

          介绍完以上信息,做个总结。协同过滤归根结底,是一个计算用户、物品与其他用户、物品相似的一个过程,为相似的用户、物品推荐与之相关的内容。

          对于这个“相似”,一般使用一下几种方法计算

          欧几里德距离:

          

          皮尔逊相关系数:

          

          cosine相关度:

          

    对比分析:

          此处对两种推荐算法做个对比分析,不做其他相关赘述。

          

    SparkMl与Mahout对比选择:

        SparkMl:                           Mahout:

        语言:Scala、Python、Java                   语言:Java

        定位:Spark里的机器学习库                   定位:Java库

        领域:常规的机器学习算法如CF、特征工程、数据处理。      领域:CF、集群、分类

        这里个人推荐使用sparkMl,因为开发文档等全面,便于参考,且更成熟。

四:系统评估与安全

    可能影响评估效果的因素及要点:

        推荐系统架构的改进,召回模型改进,推荐特征增加,算法参数优化等。

        一个系统搭建成功,很重要的一点是,不光看他能不能用,还要看他的实用效果如何,并不管改进。

        需要注意:兼顾长期与短期指标,注意协同效益的影响,必要时隔离统计。

    A/B Test提供评估:

        如同推荐系统的闭环工作一样,A/B test也是一个闭环的工作流程。通过测试分析数据,提出改进想法加入测试,有效产品化使用,无效吸取经验。

        

    A/B test 实现原理

         通俗的讲,遵循单一变量原则,明确自身期待目标,然后控制完成目标的单一变量,执行灰度测试,通过实施反馈修正方案。

        

    风险内容识别与安全:

        一个新闻推荐系统在推荐的同时也需要对新闻内容进行审核,对一些低质量内容采取过滤不推荐策略,保证推荐新闻的高效且有用。需注意如一下几点:

        推荐信息低质过滤(如被用户标记质量差)。

        违法违规内容过滤。

        低俗内容识别过滤。

  以上是本人对一个系统总体的认知,其中部分图片因个人绘制实在太丑而选取的网图。另外,希望大家能多提宝贵意见,对本人理解有误部分,欢迎批评指正,深表感谢。

原文地址:https://www.cnblogs.com/Hsir/p/11440983.html

时间: 2024-09-29 17:46:14

基于协同过滤的新闻推荐思路分享的相关文章

基于协同过滤算法的推荐

基于协同过滤算法的推荐 (本实验选用数据为真实电商脱敏数据,仅用于学习,请勿商用) 数据挖掘的一个经典案例就是尿布与啤酒的例子.尿布与啤酒看似毫不相关的两种产品,但是当超市将两种产品放到相邻货架销售的时候,会大大提高两者销量.很多时候看似不相关的两种产品,却会存在这某种神秘的隐含关系,获取这种关系将会对提高销售额起到推动作用,然而有时这种关联是很难通过经验分析得到的.这时候我们需要借助数据挖掘中的常见算法-协同过滤来实现.这种算法可以帮助我们挖掘人与人以及商品与商品的关联关系. 协同过滤算法是一

基于协同过滤的推荐引擎(实战部分)

基于协同过滤的推荐引擎(理论部分) 时隔十日,终于决心把它写出来.大多数实验都是3.29日做的,结合3.29日写的日记完成了这篇实战. 数据集准备 数据集使用上篇提到的Movielens电影评分数据里的ml-latest-small数据集,下载完成后有下面四个csv文件. 我们这里只需要ratings.csv就够了,打开以后会发现长这样: 是的,它果然和数据库里的没两样,上篇我们介绍的一般评分估计也好,神奇的SVD评分估计也好,前提都是有一个长成下面这样的物品-用户矩阵 然后提出其中的两列,传给

基于协同过滤的推荐引擎

(一)推荐引擎用例 京东.淘宝根据客户的购买历史来推荐: 爱奇艺.乐视根据向用户推荐电影: (二)推荐算法 基于关系规则推荐:用户A经常同时购买了哪些商品,分析这些商品的关联规则,则用户B购买其中某一商品,可推荐其它商品: 基于内容推荐:用户喜欢A电影,B电影和A属于同一类型,比如爱情片,则该用户还可能喜欢B电影: 基于人口统计学推荐:将用户A的属性或特征一一罗列,如年龄.性别.职业等,如果用户B和A具有相似的属性,则用户B和用户A可能有相似购物喜好. 基于协同过滤: 基于用户:将一个用户对同所

基于协同过滤的推荐系统

在上一篇博文中,我已经总结了几种主要的推荐方法,其中,基于内容和基于协同过滤是目前的主流算法,很多电子商务网站的推荐系统都是基于这两种算法的.基于内容在第一篇博文中已经详细介绍了,因此本博文主要是介绍基于协同过滤的个性化推荐系统. 协同过滤是一种基于一组兴趣相同的用户或项目进行的推荐,它根据邻居用户(与目标用户兴趣相似的用户)的偏好信息产生对目标用户的推荐列表.协同过滤算法主要分为基于用户的协同过滤算法和基于项目的协同过滤算法. 基于用户的(User based)协同过滤算法是根据邻居用户的偏好

ItemCF_基于物品的协同过滤_MapReduceJava代码实现思路

2017年2月19日, 星期日 ItemCF_基于物品的协同过滤 1.    概念 2.    原理 如何给用户推荐? 给用户推荐他没有买过的物品--103 3.    java代码实现思路 数据集: 第一步:构建物品的同现矩阵 第二步:构建用户的得分矩阵 第三步:同现矩阵*评分矩阵 第四步:拿到最终结果,排序,得到给用户的推荐列表 问题一:物品同现矩阵和用户得分矩阵如何构建? 问题二:矩阵相乘如何来做?   六个MapReduce step1_第一个MapReduce: 目的-->去重去除数据

基于协同过滤的个性化Web推荐

         下面这是论文笔记,其实主要是摘抄,这片博士论文很有逻辑性,层层深入,所以笔者保留的比较多.          看到第二章,我发现其实这片文章对我来说更多是科普,科普吧-- 一.论文来源 Personalized Web Recommendation via Collaborative Filtering(很奇怪via为什么小写,先记住吧) (Candidate)博士研究生:孙慧峰 (Advisor)导师:陈俊亮(院士) (Academic Degree Applied for)

(5)基于协同过滤推荐算法的图书推荐研究

协同过滤算法以其出色的计算速度和健壮性,在全球范围内特别是在互联网领域中取得了巨大成功.文章介绍了基于物品的协同过滤算法的基本思想和实现步骤,以及应用于实际图书推荐项目中的效果和产生的问题.基于物品的协同过滤算法的基本原理是和某用户历史上感兴趣的物品,越相似的物品,越有可能在用户的推荐列表中获得比较高的排名.算法的基本步骤为收集用户偏好,计算物品之间的相似度,计算用户对某一个物品的兴趣度.文章中介绍的系统在实际应用中效果良好.今后该系统的升级版将重点研究如何解决算法的稀疏性以及如何提高图书推荐质

协同过滤介绍和简单推荐系统的实现

本文引自http://blog.csdn.net/database_zbye/article/details/8664516 本文介绍推荐系统.协同过滤思想,两种基本的相似度衡量,并用python实现.最后就MovieLens数据集上作出简单的推荐. 一.相关知识 (1)推荐系统 如今,推荐系统已经在多方面得到应用,例如淘宝.当当.亚马逊等网站的商品推荐.而个性化推荐系统则是通过发掘用户的兴趣爱好,作出针对性的推荐.个性化推荐的方法较多,最常用的是协同过滤方法,而本文主要讲的也是基于协同过滤的个

推荐算法之基于用户的协同过滤

基于用户的的协同过滤算法是推荐统统最古老的算法,简称UserCF.该算法的诞生一定程度上标志着推荐系统的诞生.本文将对UserCF算法原理进行讲解,并且基于Movielens数据集给出实现代码供大家交流学习. 基本原理 在一个在线个性化推荐系统中,当一个用户A需要个性化推荐时,先找到和他相似兴趣的其他用户,然后把那些用户喜欢的而用户A没有听说过的物品推荐给用户A.这种方法就称为基于用户的协同过滤算法.该算法主要包括两个步骤: 找到和目标用户兴趣相似的用户集合 找到这个集合中用户喜欢的且目标用户没