推荐系统 用户画像 标签聚类 个性化搜索

2023-11-10

最近在做短视频推荐,和别的部门配合着做,我们部门做用户画像这一部分。回头看看,我们部门以前做的用户画像只能称之为“所谓的用户画像”。如果一个人不懂用户画像还好指挥来指挥去真的让人无言,不知道其他公司的有没有这样的人儿那,哈哈,扯远了,言归正传。这篇文章只是对文献[1]的一个总结与实践,像我这种才学浅显的人只能照猫画虎了。
1、标签&标签问题
用户可以对物品打标签,这些标签存在:
(1)标签冗余。比如“父亲”与“爸爸”标签是一个意思。
(2)标签语意不明。如“苹果”可以是苹果手机、水果,也可能是纽约。
(3)各种噪音。拼写错误等。
既然存在问题,有没有能够缓解这种问题的办法呢?聚类就是其中的方法之一
2、标签聚类&聚类算法
“用聚类就行了,多简单!”总是说这句话的人要么是大牛,要么是浅薄。从概率上讲,大牛总是少的,浅薄总是多的,哈哈,老想扯点题外话,收拢回来。
聚类为什么可以缓解标签冗余、模糊和噪音等问题那。
(1)通过聚类,冗余的标签可能归结为一个簇。例如“父亲”与“爸爸”都是一个簇里的标签
(2)某一个标签语义可以通过簇里其他标签的语义加以明确。例如有一个簇:橘子,香蕉,苹果。在该簇中,苹果就是水果。
…………
说道聚类,就会涉及聚类算法。聚类算法很多,这里简单说一下“层次聚类算法”层次聚类PDF。这里借助一个例子简单说一下层次聚类。
这里写图片描述
如上图所示为层次聚类算法结果图。最上边的水平轴代表了相似度(combination similarity)。举例来说,当我们选择相似度为0.4作为分裂点的时候,我们就可以得到24个聚类簇。选择相似度0.1作为分裂点,就可以得到12个聚类簇。层次聚类不需要事先设定聚类的个数。
3、基于标签的个性化搜索算法
现在,标签已经聚类完成,那么则么计算用户与每个标签簇的关系,物品与每个标签簇的关系?
对于用户u对簇c的兴趣可以计算:
这里写图片描述
其中A表示<用户、物品、标签>记录条数,R表示物品(资源)集合,简单地说,就是用户大的标签中属于簇c的个数比上用户打的标签的总个数。
物品r对簇c的关系可以计算:
这里写图片描述
有了用户与标签簇的关系以及物品与标签簇的关系,那么就可以计算出用户对物品的感兴趣程度:
这里写图片描述
多说一句,计算出relevance(u,r)后就可以作为一种推荐粗过滤的线下模型,为线上推荐提供候选数据。
那么接下来的问题就是,如果用户输入一个标签,怎样根据用户画像为用户返回个性化推荐呢?
对于一个搜索q来说,可以计算出q与物品r的相似度,然后降序排列得到返回列表rankscore(q,r),如果把用户和物品之间的相似度考虑进来,对rankscore(q,r)进行重新排序,则可以返回个性化搜索结果:
这里写图片描述
到此,我们把用户profile,标签聚类,查询q作为输入,返回了个性化搜索结果p_rankscore

[1]Personalization in Folksonomies Based on Tag Clustering
Jonathan Gemmell, Andriy Shepitsen, Bamshad Mobasher, Robin Burke

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

推荐系统 用户画像 标签聚类 个性化搜索 的相关文章

  • OpenAi 嵌入

    什么是嵌入 OpenAI 的文本嵌入衡量文本字符串的相关性 嵌入通常用于 搜索 结果按与查询字符串的相关性排序 聚类 其中文本字符串按相似性分组 推荐 推荐具有相关文本字符串的项目 异常检测 识别出相关性很小的异常值 多样性测量 分析相似性
  • 无监督分类的4种方法

    1 等宽法 类似于制作频数分布图 将属性分布值分为几个等分的分布区间 2 等频法 将相同数量的记录放入每个区间 3 基于聚类的分析方法 将属性按照K means算法进行聚类 然后根据聚类的分类 将同一聚类的记录合并到同一组内 4 模拟退火法
  • 聚类分析:原型K-Means/K-Means++聚类、层次聚类;密度聚类DBSCAN

    聚类分析 处理无标签数据 from IPython display import Image matplotlib inline 1 使用K Means方法按照相似度对对象进行分组 1 1使用sklearn实现K Means聚类 from
  • 点云数据做简单的平面的分割 三维场景中有平面,杯子,和其他物体 实现欧式聚类提取 对三维点云组成的场景进行分割

    点云分割是根据空间 几何和纹理等特征对点云进行划分 使得同一划分内的点云拥有相似的特征 点云的有效分割往往是许多应用的前提 例如逆向工作 CAD领域对零件的不同扫描表面进行分割 然后才能更好的进行空洞修复曲面重建 特征描述和提取 进而进行基
  • 某在线学习平台《数据挖掘》第八章课后习题

    此文章是本人结合课程内容和网上资料整理 难免有误差 仅供参考 1 下面哪种距离度量方法为欧几里得距离 2 以下哪个算法将两个簇的邻近度定义为不同簇的所有点对的平均逐对邻近度 它是一种凝聚层次聚类技术 AMIN 单链 BMAX 全链 C 组平
  • 【Java】文档注释

    文章目录 1 概念 2 简单使用演示 3 Java的文档注释的基本格式 4 javadoc的常用标签 1 概念 文档注释 在程序中采用特定的注释格式进行注释 然后通过JDK提供的工具javadoc来解析 生成一套以网页文件形式体现的程序说明
  • 【推荐系统】{1} —— 基于用户的协同过滤算法

    协同过滤 英语 Collaborative Filtering 简称CF 简单来说是利用某兴趣相投 拥有共同经验之群体的喜好来推荐用户感兴趣的信息 个人透过合作的机制给予信息相当程度的回应 如评分 并记录下来以达到过滤的目的进而帮助别人筛选
  • 【技术经验分享】计算机毕业设计hadoop+spark知识图谱医生推荐系统 门诊人数预测 医疗数据可视化 医疗大数据 医疗数据分析 医生爬虫 大数据毕业设计 大数据毕设

    开发技术 springboot vue js element ui spark hadoop lstm情感分析模型 KNN CNN卷积神经 线性回归 协同过滤算法 用户 物品 MLP神经网络 SVD深度学习模型 echarts python
  • 密度聚类DBSCAN、主成分分析PCA算法讲解及实战(附源码)

    需要源码请点赞关注收藏后评论区留言私信 一 基于密度的聚类 基于密度的聚类算法的主要思想是 只要邻近区域的密度 对象或数据点的数目 超过某个阀值 就把它加到与之相近的聚类中 也就是说 对给定类中的每个数据点 在一个给定范围的区域中必须至少包
  • markdown自动生成导航目录

    把这一段代码插入到markdown生成的HTML文件的head标签中 将会自动根据markdown的标题按级别生成导航目录
  • 无监督聚类评价指标

    无监督聚类评价指标 文章目录 无监督聚类评价指标 SEE SC和CH 寻找k 评价指标 轮廓系数法 SC 评价指标 CH系数法 无监督聚类算法结果好坏的评价指标 Compactness 紧密性 CP Separation 间隔性 SP Da
  • 机器学习实战—利用SVD简化数据

    一 SVD的应用 奇异值分解 优点 简化数据 去除噪声 提高算法的结果 缺点 数据转换难以理解 利用SVD能够实现用小得多的数据集来表示原始数据集 这样做 实际上是去除了噪声和冗余信息 当我们视图节省空间时 去除噪声和冗余信息是目标 但是我
  • 推荐系统:GBDT+LR简介

    1 GBDT LR简介 前面介绍的协同过滤和矩阵分解存在的劣势就是仅利用了用户与物品相互行为信息进行推荐 忽视了用户自身特征 物品自身特征以及上下文信息等 导致生成的结果往往会比较片面 而这次介绍的这个模型是2014年由Facebook提出
  • 关于图像模式识别的几种分类方法概述

    1 基于概率统计的Bayes分类器 因为在实际分类中由于考虑的侧重点不同或者关心的点不一样导致不能使用同一决策去解决所有的事件的分类 所以需要根据不同的准测函数选择不同的分类决策 基于最小错误率的Bayes决策 基于最小风险的Bayes决策
  • stata学习笔记

    离散被解释变量 二值选择型 二值选择模型 多值选择型 多项选择模型 条件选择 混合 排序数据 排序模型 非负整数计数型 泊松 负二项 二值选择型 采用logit和probit模型 probit即把logit换一下就好 logit y x1
  • 八种点云聚类方法(一)— DBSCAN

    本文为博主原创文章 未经博主允许不得转载 本文为专栏 python三维点云从基础到深度学习 系列文章 地址为 https blog csdn net suiyingy article details 124017716 传统机器学习聚类的方
  • 机器学习算法——Kmeans

    1 k mean算法的原理 1 选取K个点做为初始聚集的簇心 2 分别计算每个样本点到K个簇核心的距离 这里的距离一般取欧氏距离或余弦距离 找到离该点最近的簇核心 将它归属到对应的簇 3 所有点都归属到簇之后 M个点就分为了K个簇 之后重新
  • Python入门到实战(十一)无监督学习、KMeans、KNN、实现图像分割、监督学习VS无监督学习

    Python入门到实战 十一 无监督学习 KMeans KNN 实现图像分割 监督学习VS无监督学习 无监督学习unsupervised learning 特点 应用 K均值聚类 核心流程 核心公式 KMeans VS KNN 实战 KMe
  • 标签分布学习

    目录 前言 传统的方法 论文方法 总结 前言 一般来说我们的标签数据都是硬标签 非0即1 如one hot或multi one hot 但是一些软标签有时候更具有意义 含有的信息也越丰富 即标签分布如 0 1 0 2 0 7 而不是 0 0
  • 一网打尽目前常用的聚类方法,详细介绍了每一种聚类方法的基本概念、优点、缺点!!

    目前常用的聚类方法 1 K 均值聚类 K Means Clustering 2 层次聚类 Hierarchical Clustering 3 DBSCAN聚类 DBSCAN Clustering 4 谱聚类 Spectral Cluster

随机推荐

  • rp学习1---web页面左侧导航栏收缩

    一 首先使用几个矩形框将所有的导航栏按照需要和层级画出来 如下 二 将父菜单和子菜单分别转化为动态面板 具体转化动态面板方式如下 选择要转为面板的部分 如两个子菜单 鼠标画框框住两个菜单即可 会将框内的所有内容作为一个面板 右击 三 选择父
  • 算法训练营第三十二天(8.16)

    目录 Leecode 435 Non overlapping Intervals Leecode 763 Partition Labels Leecode 56 Merge Intervals Leecode 435 Non overlap
  • pycharm问题求解

    为什么我的pycharm下面会弹出在 init 中找不到某个函数 我不知道在哪里设置了这个就都成这个样子了 重新安装一个模组可以暂时解决这个问题 但是切个屏就又变成这样了 正常的好像是这样的 求解
  • graph 图数据结构

    树 和 图 辨析 1 树的父节点和子节点之间是一条路单向可达 2 图的的节点之间存在多条路可达 基本概念 1 顶点 2 边 3 邻居节点 只有一条边连接的顶点 4 度 degree 一个顶点有几条边 就有几度 图的区分 1 无向图 边没有方
  • 【Shell】expect解决脚本中交互时自动输入的问题

    日常和shell相关的工作中 经常遇到要在脚本中连接其他服务器进行文件传输等操作 这些命令通常会要求和用户交互输入验证 信息 那么在脚本中如何实现自动输入口令之类的信息 这里就要用到expect 以ubuntu20为例 首先要安装这个软件
  • Unity Animancer插件(三)运动

    一 根运动 Animancer的根运动系统与原生的工作原理完全相同 但我们可以通过继承Transition类型或实现ITransition接口 来将额外的数据与动画绑定 从而更方便地控制根运动 在下面这个示例中 我们通过自定义的Transi
  • 从N个整数中判断是否有三个整数能组成三角形

    解决这个问题 可以用斐波那契数列 Fibonacci sequence 原因 斐波那契数列中的数是不可能组成三角形的 而我们只要在这些数列里面加一个数就可以有一个三角形可以组成 有了这个原因我们就可以写一个非常快速就可以判断出结果的函数 如
  • C#:递归汉诺塔

    一 运行效果截图 二 实验要求 如果n 1 直接将金片从A针移到C针上 函数输出 Form A to C 如果n gt 1时 移动过程分解为以下几个步骤 1 将A上的n 1片金片借助C针移到B针上 2 把A针上剩下的一片金片由A针移到C针上
  • stomp.min.js(stomp协议的客户端脚本)、sockjs.min.js(SockJS的客户端脚本)以及jQuery

    stomp min js stomp协议的客户端脚本 sockjs min js SockJS的客户端脚本 以及jQuery 点击打开链接
  • [ C++ ] — 智能指针

    一 三种智能指针 auto ptr unique ptr shared ptr auto ptr是C 98提供的方案 C 11已经将其摒弃 以下只是示例 实际不要使用auto ptr 使用new和delete管理动态内存常出现的问题 1 忘
  • STM32MP1开发环境搭建

    STM32MP1 wiki教程 stm32mpu 按照教程的介绍 开发MPU需要在linux环境下 一般选择在VMware虚拟机环境下安装Ubuntu 安装步骤 1 安装VMware 我安装的是VMware 10 0 0 链接 https
  • jQuery使用手册

    官方网站 http jquery com jQuery是一款优秀js开发库类 特别是对css和XPath的支持 使我们写js变得更加方便 如果你不是个js高手又想写出优 秀的js效果 jQuery可以帮你达到目的 下载地址 Starterk
  • C语言数据结构问题:停车场问题(栈和队列)

    试题描述 设停车场只有一个可停放几辆汽车的狭长通道 只有一个大门可供汽车进出 汽车在停车场内按车辆到达的先后顺序依次排列 若车场内已停满几辆汽车 则后来的汽车只能在门外的便道上等候 一旦停车场内有车辆开走 则排在便道上的第一辆汽车即可进入
  • ARP(地址解析协议)协议和RARP协议(逆地址解析协议)

    ARP协议 地址解析协议 及ARP 是根据IP地址获取物理地址的一个TCP IP协议 主机发送信息是将包含将包含目标IP地址的APR请求广播到局域网络上的所有主机 并接收返回消息 以此确定目标的物理地址 受到返回消息的时候将IP地址和物理地
  • 接口自动化之测试数据动态生成并替换

    一 测试数据 1 随机库random 查看内置random方法 该方法自行学习 不再介绍 show 2 Faker库 pip install faker showHttps github com joke2k faker 3 应用到项目中
  • Java 反射机制 与 工厂设计模式

    什么是反射 Java反射机制是在运行状态中 对于任意类 都能知道这个类的全部属性和方法 对于任意对象 都能够调用它的任何一个方法或属性 这种动态获取的信息以及动态调用对象的方法的功能 称为Java语言的反射机制 Class类 Class 是
  • MPI与main()程序中的其他函数执行次数

    我原先以为只有在MPI代码区域 即MPI Init argc argv 到MPI Finalize 中的代码才会涉及到进程通信的问题 但实际上在MPI区域外的代码依然受到影响 执行的次数与开启的进程数有关 为此可以使用MPI 秩 rank
  • AttributeError: 'Function' object has no attribute 'fn' [in caffe]

    n global pool prob3 L Sigmoid n global pool up3 name global pool prob3 ntop 0 top global pool up3 n att repmat3 L Tile n
  • 智能语音技术栈

    识别原理 硬件数据采集 软件数据处理 目前主流的开源平台包括CMU Sphinx HTK Kaldi Julius iATROS CNTK TensorFlow等 CMU Sphinx是离线的语音识别工具 支持DSP等低功耗的离线应用场景
  • 推荐系统 用户画像 标签聚类 个性化搜索

    最近在做短视频推荐 和别的部门配合着做 我们部门做用户画像这一部分 回头看看 我们部门以前做的用户画像只能称之为 所谓的用户画像 如果一个人不懂用户画像还好指挥来指挥去真的让人无言 不知道其他公司的有没有这样的人儿那 哈哈 扯远了 言归正传