一文读懂推荐系统用户画像

news2024/10/6 10:34:05

1.推荐系统用户画像

用户画像这个词具有广泛性。 它被应用于推荐,广告,搜索,个性化营销等各个领域。任何时候,不管出于什么目的,我们想描述我们的用户是谁的时候,大家都会用到用户画像这个词。

比如:

(1)产品经理定性用户分析

设计产品功能时,会对用户是谁进行描摹。如:目标用户群体的人口属性,社会背景,使用习惯等信息。这种用户画像主要描述用户是谁,以便做好功能定位。

如下图中的定性用户画像分群:

在这里插入图片描述

(2)数据分析用户画像

分析用户行为,用户进行聚类行为分析。如:数据分析师可能会给出,观看电商直播的男女比例,得出女性用户更喜欢看我们的电商直播这样的结论。

(3)推荐系统用户画像

为建立个性化功能,用各种办法给用户大规模打上几万甚至几千万个标签。这种标签不仅仅有偏好,还有偏好程度值。

本文所指的用户画像,仅仅涉及第三种情况。 一般地,推荐系统的用户画像长成这个样子:

在这里插入图片描述

推荐系统的用户画像,一般包括用户基础信息和偏好信息。而偏好画像是重点,数量上占了推荐系统用户画像的绝大多数,是我们召回和模型训练的基石。

因为机器跟人不同,一个词“中国”对于人来说是有意义的,对于机器只是一个汉字编码。因为用户画像,为了能让机器计算,需要带上概率值或者偏好值(权重值)等。

2.用户画像怎么用?

推荐过程分为:召回、初排和精排三个阶段。用户画像主要用在召回和初排两个阶段。

在这里插入图片描述

召回阶段使用用户画像,主要是通过用户画像召回相似的物品。 比如一个短视频APP上,用户海贼王偏好值比较高,就可以针对海贼王进行内容召回。

**初排阶段使用用户画像,是在模型上使用的。**模型将用户画像数据作为一部分的特征值,用于模型的离线训练或者实时模型更新。

3.用户画像的分类

用户画像是一个比较大而全的概念,标签是用户画像最基本的单元,用户画像是有成千上万个标签组合而成的。当我们想对用户画像进行分类时,通过对用户标签的分类就可以了。每个平台有自己的用户画像体系。对推荐系统的构建来说,一般从以下维度来做标签分类。 如下图所示: 十分钟读懂推荐系统用户画像

其中:

(1)基础用户画像

  • 人口统计学标签:用户的性别,年龄,地区等信息。
  • 行为特征标签:用户在互联网平台的注册,活跃,付费,浏览等方面的行为记录产生的用户标签。
  • 性格标签:豪爽大方,精打细算,冲动消费等类型标签

(2)偏好用户画像

  • 长期偏好标签:用户对较长时间内,几个月甚至是几年内,对某类事物的稳定偏好。
  • 短期偏好标签:用户最近较短时间内,七天内甚至是几分钟内,对某类事物的偏好。
  • 泛化偏好标签:众多的用户偏好中,不同的偏好之间有关联性或者相似性,就像啤酒和尿布那样。用户对啤酒有过直接的行为,但对尿布还没有,那么尿布可能是他的泛化偏好。

以上的五小分类中,前面两类只占了用户标签数量的很小一部分。而推荐系统中,数量最为庞大的要数偏好类的标签了。平台有多少个物品标签,就会产生多少偏好标签。另一方面,偏好类的标签的产生,依赖于物品标签。因为用户对物品的偏好程度,是通过他对平台物品的曝光,点击,购买等行为计算出来的。

4.基础用户画像的怎么来?

那基础的用户画像是怎么产生的呢?一般可分以下几种来源:

  • 简单信息提取: 基于实际基本事实而产生标签,如注册时间,渠道来源,用户所在地区等。
  • 逻辑或公式计算: 使用简单的逻辑或公式,对用户的行为进行统计而产生标签,如用户活跃天数,用户消费金额等。
  • 算法学习: 基于机器学习模型对用户的属性预测产生的标签,如性别,年龄,有车一族等。

在这里插入图片描述

5.简单举例:通过模型产生基础用户画像

国内某公司,在Kaggle举行过一个预测用户年龄和性别的比赛。他们公布了一个用户数据集,数据集中包含了手机上安装的APP列表,手机型号和GPS信息等数据用于模型训练。参赛选手通过这些数据建模,预测用户的性别和年龄。准确度高的获胜。

一个用户的手机里安装的APP,跟他的年龄和性别存在着一定的关联。如:女性用户常用美柚,小红书等APP;而男性用户可能会装更多的游戏。 如下图:

在这里插入图片描述

这个是有监督学习,橙色部分数据是特征,蓝色部分数据是label。Label就是我们需要预测的目标。通过大量的数据和算法调优,就可以训练出较为准确的模型。

用训练好的模型,就可以给其他的未知性别和年龄的用户做评分预测。这部分比较简单,就简单举例一下。

6.物品标签

物品画像,则是每个物品的一系列标签。物品画像其中一个作用就是可以作为推荐模型中的物品特征。另外一方面,在推荐系统中,物品画像是用户画像的基础:物品画像+用户行为=用户画像

举个简单的例子,一个用户点击了一系列的阿克苏苹果(物品画像:阿克苏,苹果,阿克苏苹果),这个用户就会被打上阿克苏,苹果和阿克苏苹果的偏好标签。

在这里插入图片描述

物品画像的产生,不同的内容形式有不同的做法。但大体可分为两类:

  • 人工的方式给物品打标签;
  • 机器学习的方式给物品打标签。

如在音乐领域,一些音乐平台是通过一组音乐专家对平台的音乐进行打标签后,再对用户进行推荐。这种人工的方式成本比较高,而且依赖于专家的专业程度。另外,不同专家之间的标准可能不一样,需要统一标准或者拉平差异。但是这也是没有办法的办法,有些场景下,物品标签匮乏,不得不依赖与人工打标的方式。

大规模地给物品打标签,大部分还是靠机器学习的方式。

7.偏好画像的怎么计算得来?

偏好画像如何产生?为了直观简单,直接以图文数据的方式来讲述。**假设一个短视频平台有4个用户使用,有4个视频需要被推荐。**其中,4个视频分别为:
在这里插入图片描述

整理一下,我们可以得到以上4个视频的物品画像:
在这里插入图片描述

另外,为了简单一点,这里只考虑用户的观看行为,看完一次得分为1。4个用户的数据分别如下,数字代表观看次数。如下图中,用户A看了视频1一共2次。

在这里插入图片描述

一般地,用户画像的公式为:用户偏好程度 = 行为类型权重值 × 次数 × 时间衰减 × TFI-DF值

  • 行为类型权重值是人为给用户行为的赋值。比如:看完=1,收藏=2,分享=3,购买=4等。我们这里只考虑“看完”这个行为。
  • 次数则是行为发生的次数。
  • 时间衰减则是按一定的衰减系数,随着时间衰减。一般用牛顿热力学公式来取衰减系数。
  • TF-IDF值本来是文本处理领域的算法,用来提取一篇文章中的关键字。这里用来衡量标签的对一个用户的关键程度。

下面我们来计算用户A的用户画像和偏好值。

第一步:列一下行为类型权重值,因为我们只考虑观看行为,权重都为1:

在这里插入图片描述

第二步:统计用户A的行为次数。用户A看了视频1两次,所以视频1带的标签“金融战争”和“做空”次数都记为2:

在这里插入图片描述

第三步:计算时间衰减,假设用户A看视频1是两天前的行为,看视频4是今天的行为。衰减按照天来计算,衰减系数等于0.1556,热度计算公式为:热度= 1 × e x p ( − 0.1556 × 天数 ) 1×exp(-0.1556×天数) 1×exp(0.1556×天数)。按照这个衰减系数, 45 45 45 天后热度衰减到 0.5 0.5 0.5

按照这个计算方式,视频1的热度 = 1 × e x p ( − 0.1556 × 2 ) = 0.73 1×exp(-0.1556×2) = 0.73 1×exp(0.1556×2)=0.73,今天看的视频4,热度还为1。

视频热度是时间的衰减与温度与时间的衰减规律很类似。我们可以定义一个视频有一个热度分,

当前热度分=上一期得分 x exp(-(冷却系数) x 间隔的小时数) 其中冷却系数是由咱们根据业务需要定义

在这里插入图片描述

第四步:计算TFIDF值。

首先说TF。

TF是Term Frequency的缩写,意思是可以理解为词频,计算公式如下:
T F = 用户观看的视频中某标签出现的次数 该用户的全部标签个数 TF=\frac{用户观看的视频中某标签出现的次数}{该用户的全部标签个数} TF=该用户的全部标签个数用户观看的视频中某标签出现的次数
TF计算的是在用户的所有标签中,某个标签的重要程度。如果标签出现频率高,那么TF值就会比较高。对于用户A,每个标签都出现了一次(因为看过的视频中,没有标签重复的),标签的TF值=1÷4=0.25。

在这里插入图片描述
而对于用户B,因为有看过两个海贼王的视频。一个视频带标签:海贼王,路飞。另外一个视频带标签:海贼王,路飞,甚平。所以,海贼王和路飞标签个数都是2,甚平的标签个数是1。

这样,计算出用户B的TF值为:
在这里插入图片描述

然后说IDF。

IDF是Inverse Document Frequency,意思是逆文档频率。先说怎么计算,公式如下:
I D F = l o g ( 用户数 带该标签的用户数 + 1 ) IDF=log(\frac{用户数}{带该标签的用户数+1}) IDF=log(带该标签的用户数+1用户数)
这个是为了计算一个标签的稀缺程度。如果一个标签全部的用户都有,IDF值就比较小。相反,一个标签只有少部分用户有,则IDF值比较大。公式中,“带该标签的用户数+1”部分加1是为了防止分母为0的情况。

下表的灰色部分是每个用户行为,计算出用户的标签个数统计。如海贼王标签,因为有三个用户带了这个标签,所以“带该标签的用户数”为3。它的IDF值 = 4 ÷ 3 = 1.33 4 ÷ 3 = 1.33 4÷3=1.33,这里4是因为有4个用户。
在这里插入图片描述

第五步,汇总计算出用户A的每个标签偏好值。

如下图中,用户A对三傻大闹宝莱坞的偏好值为: 1 × 3 × 1 × 0.25 × 2 = 1.5 1×3×1×0.25×2=1.5 1×3×1×0.25×2=1.5

在这里插入图片描述

用这种方式,我们就可以为用户打上海量的标签,只用用户行为足够多,我们就能捕捉的用户的偏好数据。

8.总结

  1. 推荐系统的用户画像主要有两种:基本画像和偏好画像。
  2. 基本画像是用户的个人属性,如年龄,性别,居住城市等。
  3. 用户偏好画像是推荐系统中的重点,它一般用用户偏好程度 = 行为类型权重值 × 次数 × 时间衰减 × TFIDF值计算出来。
  4. 用户画像在推荐系统中用于召回和模型训练。

本文仅仅作为个人学习记录,不作为商业用途,谢谢理解。

参考:https://www.woshipm.com/user-research/3780886.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/413085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VUE_学习笔记

一、 xx 二、模板语法 1.模板语法之差值语法 :{{ }} 主要研究:{{ 这里可以写什么}} 在data中声明的变量、函数等都可以。常量只要是合法的javascript表达式,都可以。模板表达式都被放在沙盒中,只能访问全局变量的一个白名单&a…

精准关键词获取-行业搜索词分析

SEO关键词的收集通常可以通过以下几种方法: 根据市场价值、搜索词竞争性和企业实际产品特征进行筛选:确定您的关键词列表之前,建议先进行市场分析,了解您的竞争对手、行业状况和目标受众等信息,以更好的了解所需的特定…

MySQL日志

MySQL日志 错误日志 错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 使用如下命令,可…

ChatGPT宝藏插件丨装上之后,上网、语音聊天、一键分享对话……简直让你爽到起飞!

今天分享4个让你的 ChatGPT 功能更强大的浏览器插件,装上就能用,每一个都是精挑细选。 1. WebChatGPT 很多小伙伴在用 ChatGPT查阅信息时,发现它有一个致命的问题: ChatGPT的知识库全部截止到 2021年9月,正常情况下…

航拍构图方法

目录 简介 对比构图 重复对比 明暗对比 颜色对比 空间错位 点构图 中心点构图 九宫格构图 线构图 二分线(水平、对称)构图 三分线构图 平行线构图 对角线构图 引导线构图 面构图 前景构图 简化构图 总结 简介 最近接触了无人机&#xf…

MySQL数据库备份(导出导入)的命令详解mysqldump

![在这里插入图片描述](https://img-blog.csdnimg.cn/174ee9e5170445b7acab94c5d97684ea.png [options] 参数参数说明-A, --all-databases导出所有数据库-B, --databases导出指定数据库-h, --hostname指定ip,默认本机-P, --port#指定端口,默认3306-u, …

【Java面试八股文宝典之MySQL篇】备战2023 查缺补漏 你越早准备 越早成功!!!——Day21

大家好,我是陶然同学,软件工程大三即将实习。认识我的朋友们知道,我是科班出身,学的还行,但是对面试掌握不够,所以我将用这100多天更新Java面试题🙃🙃。 不敢苟同,相信大…

JavaEE——文件操作与IO操作

目录 文件路径 文件类型 File类 文件的创建 文件流 File类文件读写操作 通过PrintWriter写或Scanner读 PrintWriter写 Scanner读 文件路径 计算机中的文件是以树形结构进行存储的。要找一个文件,需要通过根目录一层一层找,直到找到,…

不敲代码用ChatGPT开发一个App

先说下背景,有一天我在想 ChatGPT 对于成熟的开发者来说已经是一个非常靠谱的助手了,身边也确实有很多同事把它作为一个离不开的助理担当。 但是如果我只是略微懂一点前端知识的新人,了解 HTML、CSS、JS 相关的知识,想开发一个安…

华为进军ERP,北用友南金蝶格局或将生变?用户:No!我们选择它

目录 华为搅局ERP市场 用友金蝶如何应对 我们另有选择 那么这款软件是什么? 小结 华为搅局ERP市场 任正非表示4月份将上线MetaERP!受此消息影响,ERP市场的两大巨头用友、金蝶股价纷纷跳水。 在机构的定价逻辑里,用友网络、金…

主机发现和端口扫描基本原理和工具选择

发现主机 扫描端口指令sudo nmap -sn ip 实则是封装ping指令 可以找目标靶机 sudo nmap --min-rate 10000 -p- 192.168.10.191 -p端口号 -p-从一开始扫 设置最小速度扫描 -p-指定靶机 10000是较好的速度 在工作中最好扫两遍 UDP扫描 sudo nmap -sU --min-rate 10000 …

10 kafka生产者发送消息的原理

1.发送原理: 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中拉取消息发送到…

大数据自我进阶(数据仓库)-暂未完全完成

什么时候需要数据仓库? 1.当决策者要进行战略分析或者展示统计的需求。 2.并且数据量非常庞大,而且各个都是数据孤岛。 当满足这2个条件后,就需要搭建数据仓库。 数据仓库的第一步(数据清洗) 为了能准确的分析&am…

python编辑工具PyCharm下载安装步骤

开发python程序的途径还是不少的 用解释器一行行执行代码 或者 通过解释器程序执行一个python代码文件 但这两种方式 其实都只是测试场景下的使用 就好像古代打仗,光有英雄好汉没用,他还有有一件趁手的兵器,大部分python程序都是在PyCharm上开…

MIPI 打怪升级之DPI篇

目录1 Overview2 Display Architectures2.1 Type 1 Display Architecture Block Diagram2.2 Type 2 Display Architecture Block Diagram2.3 Type 3 Display Architecture Block Diagram2.4 Type 4 Display Architecture Block Diagram3 Interface Signal Description3.1 Power…

逆波兰表达式求值(力扣刷题代码随想录刷题)

给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 、-、* 和 / 。 每个操作数(运算对象)都可以是一个整数或者另一个表达式。 两…

4月9日第壹简报,星期日,农历闰二月十九

4月9日第壹简报,星期日,农历闰二月十九坚持阅读,静待花开1. “2023中国品牌女性500强”榜单揭晓,屠呦呦、张桂梅、董明珠、刘洋、孟晚舟、谷爱凌等入选。2. 京东集团副总裁:将在今年发布“京东版”ChatGPT。3. 以冒名顶…

壹-prometheus安装

https://blog.csdn.net/hancoder/article/details/121703904 安装 壹, prometheus server 安装 github 1,上传安装包 # 解压到/opt/module 目录下: mkdir /opt/module tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz -C /opt/module # 修改目录…

vscode+gitee

临近毕业,程序整理很麻烦,学习了一下gitee。 使用方法 1.安装必要的软件 (1).vscode:参照之前环境配置的博文 (2).git 2.在gitee新建仓 (1)新建仓 (2&…

学会吊打面试官之容器终篇priority_queue

小白:大牛您好,我即将毕业需要找工作,但是我对于常用容器的特点和用法不是很清楚,能否跟我聊聊呢? 大牛:没问题,我很乐意帮助你。常用容器有 vector、list、set、map 和 priority_queue。其中&…