推荐算法:基于内容的推荐_1:内容推荐算法

2023-11-09

  • 基于内容的推荐:推荐给用户他们过去喜欢的类似产品;
  • 基于CF的推荐,识别出具有相同爱好的用户,给他们推产品

基于内容的推荐算法

基于内容推荐的步骤

  1. 对数据内容分析,得到物品的结构化描述
  2. 分析用户过去的评分或评论过的物品的,作为用户的训练样本
  3. 生成用户画像
    a.可以是统计的结果(后面使用相似度计算)
    b.也可以是一个预测模型(后面使用分类预测计算)
  4. 新的物品到来,分析新物品的物品画像
  5. 利用用户画像构建的预测模型,预测是否应该推荐给用户U
    a.策略1:相似度计算
    b.策略2:分类器做预测
  6. 进一步,预测模型可以计算出用户对新物品的兴趣度,进而排序
  7. 进一步,用户模型在变化,通过反馈更新用户画像(用户画像在这里就是预测模型)
    • 反馈-学习,构成了用户画像的动态变化

基于内容推荐的算法

空间向量模型(最基础的CB方法)

用户信息和物品信息都被表示为带权重的词向量,使用余弦相似的计算用户对一个物品的兴趣度
例如:
1. 物品画像表示为视频的属性(TF-IDF):(视频名字,导演,主演,….)
2. 用户画像(喜欢或者不喜欢的电影类型):(视频名字,导演,主演,….)
3. 计算相似度(余弦相似度)

内容相似度的检索

  • 基于knn的最近邻的方法(基于空间向量模型)
    1. 选择出用户u喜欢的文档集合
    2. 在这些文档集合中,选择k个和新文档最相似的文档( 相似度使用余弦相似度计算)
    3. 注意区别和CF:cb的方法中是用文档和文档内容的相似度计算,而cf的方式是通过用户的打分来计算

基于 反馈的rocchio方法

基于文本分类的算法

  • 基于概率的算法
  • 基于其他线性分类器
  • 基于决策树
  • 基于聚类

用户画像中的特征选择

  1. 传统是基于IF-IDF的方法
  2. 现在是基于语义学的方法

基于内容推荐的层次结构

* 内容分析器

  • 文档的数据处理
  • 得到结构化的数据,存储在物品库中

* 信息学习器

  • 收集有关用户偏好的数据特征,泛华这些数据,构建用户特征信息(机器学习)
  • 通过历史数据构建用户兴趣模型(通过分类的方法,提取特征,特征就是组建用户画像的基础)
  • 生成兴趣特征(正样本)和无兴趣特征(负样本)

* 过滤组件

  • 将用户的个人信息和物品匹配
  • 生成二元或连续性的相关判断(原型向量和物品向量的余弦相似度)

反馈

显性反馈

  • 喜欢/不喜欢
    @@@A_hybird_user_model_for_news_story_classification)
  • 评分
    1. 离散刻度值
      @@@Social_information_filtering_algorithms_for_automating_”word_of_mouth”
    2. 把用户对网页的评价划分为热门,一般,冷门
      @@@Syskill_&_webert:_identifying_interesting_web_sites
  • 文本评论

隐性反馈

  • 保存
  • 删除
  • 印刷
  • 收藏

  • 缺点:偏差比较大

学习推荐

  • 建立活跃用户 Ua 的个人画像;定义 Ua 的训练集TR;TR是 <Ik,rk> <script type="math/tex" id="MathJax-Element-3"> </script>的集合;
  • rk 是用户对物品描述 Ik 的平分
  • 监督学习算法生成预测模型
  • 给定一个新的物品的描述
  • 比较存储在用户数据库的用户偏好和物品特征
  • 预测是否 对物品有兴趣
  • 时刻改变用户个人信息
  • “反馈-学习”

内容过滤的优缺点

优点

  • 用户独立性:仅使用当前的用户评价来构建用户的个人信息
  • 透明度:可以接受推荐的结果
  • 新物品:没有任何用户评分的也可以推荐

缺点

  • 可分析的内容有限
  • 新颖度差
  • 新用户需要用户的偏好信息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

推荐算法:基于内容的推荐_1:内容推荐算法 的相关文章

  • 协同过滤推荐算法

    一 协同过滤思想简介 二 协同过滤算法原理介绍 三 基于用户的协同过滤算法描述 四 基于物品的协同过滤算法 基于物品的协同过滤算法的优缺点 一 协同过滤思想简介 协同过滤 从字面上理解 包括协同和过滤两个操作 首先我们在外出和朋友吃饭的时候
  • [推荐系统] 1. 深度学习与推荐系统

    文章目录 1 推荐系统 1 1 推荐系统的作用和意义 1 2 推荐系统架构 1 2 1 推荐系统的逻辑架构 1 2 2 推荐系统的技术架构 2 前置知识 2 1 传统推荐模型的演化 2 2 协同过滤 2 2 1 概述 2 2 2 用户相似度
  • GA遗传优化算法(附MATLAB源码)

    优化算法之遗传算法GA 遗传算法 Genetic Algorithm GA 最早是由美国的 John holland提出 主要模拟生物进化论的自然选择和遗传学机理生成计算模型 是一种通过模拟自然进化过程搜索最优解的方法 将问题的求解过程转换
  • 推荐一款优秀电商开源项目

    简介 本文给大家推荐博主自己开源的电商项目newbee mall pro 在newbee mall项目的基础上搭建而来 使用 mybatis plus 作为 orm 层框架 并添加了一系列高级功能以及代码优化 特性如下 商城首页 为你推荐
  • FM算法解析及Python实现

    1 什么是FM FM即Factorization Machine 因子分解机 2 为什么需要FM 1 特征组合是许多机器学习建模过程中遇到的问题 如果对特征直接建模 很有可能会忽略掉特征与特征之间的关联信息 因此 可以通过构建新的交叉特征这
  • 【推荐算法】MMoE模型:Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

    1 MMoE背景 MMoE是谷歌在2018年发表在KDD上的一篇基于多任务学习的经典论文 其使用场景是对不相关任务的多任务学习 在推荐系统中 这些不相关的任务可以示例为 视频流推荐中的CTR 时长 点赞 分享 收藏 评论等相关性不强的多个任
  • Java语言开发在线新闻推荐网 新闻推荐系统 基于用户、物品的协同过滤推荐算法 环球日报新闻爬虫 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、机器学习、人工智能开发

    Java语言开发在线新闻推荐网 新闻推荐系统 基于用户 物品的协同过滤推荐算法 环球日报新闻爬虫 SSM Spring SpringMVC Mybatis 开发框架 大数据 机器学习 人工智能开发NewsRecommendOnline 一
  • 文献阅读:ESAM: Discriminative Domain Adaptation with Non-Displayed Items to Improve Long-Tail Performanc

    文献阅读 ESAM Discriminative Domain Adaptation with Non Displayed Items to Improve Long Tail Performance 1 内容简介 问题描述 2 主要方法描
  • 推荐算法:基于内容的推荐_1:内容推荐算法

    基于内容的推荐 推荐给用户他们过去喜欢的类似产品 基于CF的推荐 识别出具有相同爱好的用户 给他们推产品 基于内容的推荐算法 基于内容推荐的步骤 对数据内容分析 得到物品的结构化描述 分析用户过去的评分或评论过的物品的 作为用户的训练样本
  • 【推荐系统】 一、推荐系统简介

    1 推荐系统的作用和意义 在这个时代 无论信息消费者还是信息生产者都面临巨大的挑战 信息消费者 在大量信息中找到自己感兴趣的信息很困难 信息生产者 将自己生产的信息让广大消费者关注很困难 推荐系统将用户与信息联系起来 1 1 用户角度 推荐
  • 推荐系统综述:初识推荐系统

    目录 1 引言 2 发展历史 3 研究现状 4 推荐方式和效果评估 4 1 评分预测 4 2 TopN推荐 5 推荐算法 5 1 基于用户行为推荐 5 1 1 基于用户的协同过滤 User Based CF 5 1 2 基于物品的协同过滤
  • YouTube 的视频推荐算法

    转载 https www zhihu com question 20829671 answer 205421638 第一阶段 基于User Video图游历算法 2008年 1 在这个阶段 YouTube认为应该给用户推荐曾经观看过视频的同
  • 基于协同过滤推荐+余弦相似度算法实现新闻推荐系统

    针对海量的新闻资讯数据 如何快速的根据用户的检索需要 完成符合用户阅读需求的新闻资讯推荐 本篇文章主要采用余弦相似度及基于用户协同过滤算法实现新闻推荐 通过余弦相似度算法完成针对不同新闻数据之间的相似性计算 实现分类标签 通过协同过滤算法发
  • 【推荐算法】双塔模型介绍

    双塔模型的结构不仅在推荐领域的召回和粗排环节中被广泛采用 而且在其它领域 如文档检索 问答系统等都有它的应用场景 我们常说的双塔模型的结构 并不是一个固定不变的网络 而是一种模型构造思路 即把模型分成用户侧模型和物品侧模型两部分 然后用互操
  • 京东搜索EE链路演进

    导读 搜索系统中容易存在头部效应 中长尾的优质商品较难获得充分的展示机会 如何破除系统的马太效应 提升展示结果的丰富性与多样性 助力中长尾商品成长是电商平台搜索系统的一个重要课题 其中 搜索EE系统在保持排序结果基本稳定的基础上 通过将优质
  • Wide&deep模型详解

    谷歌于2016年提出的Wide Deep模型 Wide Deep模型的主要思路正如其名 是由单层的Wide部分和多层的Deep部分组成的混合模型 其中 Wide部分的主要作用是让模型具有较强的 记忆能力 Deep部分的主要作用是让模型具有
  • 推荐系统(3)——最经典的推荐算法(协同过滤算法原理部分)

    一 最经典的推荐算法 协同过滤推荐算法 Collaborative Filtering 算法思想 物以类聚 人以群分 基本的协同过滤推荐算法基于以下假设 跟你喜好相似的人喜欢的东西你也很有可能喜欢 基于用户的协同过滤推荐 User base
  • 图书推荐管理系统Python,基于Django和协同过滤算法等实现

    一 介绍 图书推荐系统 图书管理系统 以Python作为开发语言 基于Django实现 使用协同过滤算法实现对登录用户的图书推荐 二 效果展示 三 演示视频 视频 代码 https www yuque com ziwu yygu3z gq5
  • 模拟实现 队列 - JAVA(使用链表,数组)

    以链表实现 以数组实现 以链表实现 class Node public int val public Node next public Node int val this val val public class MyQueue publi
  • 【推荐算法】双塔模型代码(tensorflow)

    推荐算法 双塔模型介绍 MachineCYL的博客 CSDN博客 上文介绍了双塔模型的原理和结构 这篇介绍一下双塔模型的代码实现 我使用的是tensorflow来实现双塔模型和模型训练 一 前期准备 tensorflow使用的版本是2 0

随机推荐

  • 【LVGL 学习】LVGL 在 arduino 环境的安装

    1 前提条件 使用 arduino IDE开发 使用 ESP32 作为主控 屏幕使用 ST7789 驱动 240 240像素TFT屏幕 注意 屏幕驱动部分不再这个赘述 以后开贴另行发布 2 安装 LVGL 库 打开 arduino 菜单栏中
  • 【Python】熵值法计算权重

    Python 熵值法计算权重 将分步骤基于python实现熵值法计算权重 代码在pycharm中执行 文章目录 Python 熵值法计算权重 1 引入库 2 读取数据 3 熵值法主体 4 打印出各指标的权重 5 将结果存储至csv文件中 总
  • 数据库 SQL 遍历父子关系表(二叉树)获得所有子节点 所有父节点

    数据库 SQL 遍历父子关系表 二叉树 获得所有子节点 所有父节点 创建表 Create Table A IDInt fatherIDInt NameVarchar 10 Insert A Select 1 NULL tt Union Al
  • 使用Vector模拟实现STL中的stack

    stack 介绍 栈是一种容器适配器 特别为后入先出而设计的一种 LIFO 那种数据被插入 然后再容器末端取出 栈实现了容器适配器 这是用了一个封装了的类作为他的特定容器 提供了一组成员函数去访问他的元素 元素从特定的容器 也就是堆栈的头取
  • python之requests模块详解

    目录 requests使用 requests请求方法 requests响应对象属性 Requests模块是一个用于网络请求的模块 主要用来模拟浏览器发请求 其实类似的模块有很多 比如urllib urllib2 httplib httpli
  • 微信公众号【OpenID详解】

    只知道 openID 是微信号加密后得到的 不同的公众号获取得微信号openID不同 但 UnionID 是一样的 微信openid由用户id和公众号id加密而来 同一用户相对同一公众账号的openid是不变的 对于不同公众号 同一用户的o
  • Learning OpenStack Keystone

    Author 海峰 http weibo com 344736086 http yanheven github io http blog csdn net yanheven1 这周重新学习整理了OpenStack Keystone里面的知识
  • CentOS没有了用什么?Rocky Linux 8.6安装体验

    2020 年 12 月 8 日 CentOS 项目宣布 CentOS 8 将于 2021 年底结束 而 CentOS 7 将在其生命周期结束后停止维护 CentOS 7 9 和 CentOS 8 5 将是最后的2个CentOS 版本 官方解
  • concurrentHashMap解析这篇文章就够了

    实现原理 ConcurrentHashMap使用分段锁技术 将数据分成一段一段的存储 然后给每一段数据配一把锁 当一个线程占用锁访问其中一个段数据的时候 其他段的数据也能被其他线程访问 能够实现真正的并发访问 如下图是ConcurrentH
  • 使用 Python 操作 MongoDB

    使用 Python 操作 MongoDB MongoDB 是一个开源的面向文档的 NoSQL 数据库 它具有高性能 可扩展性和灵活性的特点 通过使用 Python 的 pymongo 模块 我们可以方便地操作 MongoDB 数据库 本文将
  • CPU工作原理和MMU初探

    具体相关内容主要参考自一篇博客 当然有结合其它内容 感谢博主提供的资源 这里附上参考链接 http www cnblogs com xiangtao archive 2013 04 11 3014815 html 关于CPU和MMU需要做几
  • 企业微信第三方应用-应用客服会话(h5)

    企业微信中第三方应用 h5 不能像小程序那样将button标签的open type属性设置为contact即可跳转到客服会话页面 但是js sdk为了开发者提供了openThirdAppServiceChat Api 让用户可快速打开应用客
  • IT项目管理作业五

    一 你联合同学做一个年级微信公众号加强各班相互了解 联合活动 等 请写一份两页的报告 描述收集需求的方法 并附上收集的 需求跟踪矩阵 不少于五个需求 收集需求的方法 数据收集方面 头脑风暴 召集项目所有的参与成员 共同讨论关于微信公众号对于
  • Python Class

    关键字1 self self指代 类的实例化 而不是类本身 class Test def prt self print self print self class t Test t prt result
  • 从事Java三年多,去应聘16k最后没被录用,细节如下……

    前言 今天小编和大家分享一位以前面试的一位应聘者 工作4年26岁 统招本科 以下就是他的简历和面试情况 基本情况 专业技能 1 熟悉Sping了解SpringMVC SpringBoot Mybatis等框架 了解SpringCloud微服
  • 和平精英服务器位置,和平精英音乐盒在哪里 地图详细位置介绍

    和平精英体验服最近重新开放服务器 不少玩家在游戏中发现了新内容 特别是热度特别高的万圣节模式 很多小伙伴会问和平精英音乐盒在哪里 快随小编来看看吧 在所有地图的一些房区里面是会随机刷新出音乐盒的 当我们发现音乐盒后是可以与这个道具互动的 我
  • 2023前端面试题——JS篇

    1 判断 js 类型的方式 1 typeof 可以判断出 string number boolean undefined symbol 但判断 typeof null 时值为 object 判断数组和对象时值均为 object 2 inst
  • 避免陷入信息茧房

    目录 一 什么是信息茧房 二 做什么容易陷入信息茧房 三 如何避免陷入信息茧房 总结 一 什么是信息茧房 信息茧房 Echo Chamber 是指在社交媒体和互联网环境中 个体被限制在一种信息和观点的环境中 与自己持相似观点的人群形成闭环
  • 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf

    http www kgdb info linuxdev object analyse tools 目标文件格式分析工具 ar nm objdump objcopy readelf 2011年9月5日 reship 发表评论 阅读评论 本文转
  • 推荐算法:基于内容的推荐_1:内容推荐算法

    基于内容的推荐 推荐给用户他们过去喜欢的类似产品 基于CF的推荐 识别出具有相同爱好的用户 给他们推产品 基于内容的推荐算法 基于内容推荐的步骤 对数据内容分析 得到物品的结构化描述 分析用户过去的评分或评论过的物品的 作为用户的训练样本