• 推荐系统那点事 —— 什么是用户画像?


    用户画像在大数据分析中是一种很有用的系统,它可以各种不同的系统中,起到很关键的作用。比如搜索引擎、推荐系统、内容系统等等,可以帮助应用实现千人千面、个性化、精准等的效果。

    下面将从几个方面来说一下,什么是用户画像,主要的内容来自《用户网络行为画像分析与内容推荐应用》这本书。

    • 应用场景
    • 数据来源
    • 特性
    • 建模
    • 群体画像
    • 画像的存储
    • 画像的查询
    • 画像的更新

    图片来自京东——想要购买可以点这里跳转

    应用场景

    下面举几个很典型的场景:

    搜索引擎

    在搜索的时候考虑用户的画像标签,返回用户感兴趣的内容。比如同一个关键字“诸葛亮”,王者荣耀的爱好者搜索的时候应该返回“诸葛亮”相关的内容,比如如何加铭文、如何五杀等等;而历史爱好者搜索的时候,应该返回三国相关的内容。

    推荐系统

    推荐系统可以根据用户的喜好和特征,也就是用户的画像,推荐相关的内容。比如,给一个用户定位的画像是美妆达人,那么就应该给她多推送一些面膜护肤之类的东西,而不是推一堆零食。

    内容推荐

    比如新闻类的产品或者读书类的产品,根据用户的喜好不同,展现不同的内容。

    数据来源

    用户画像的数据来源主要包括两个方面:

    • 属性数据,这部分数据一般是用户的注册信息,也可以是从其他数据中分析得出的。比如生日、性别、住址、爱好等
    • 行为数据,这部分数据一般都是用户的访问日志记录的行为数据。比如常用的一些后端日志数据、前端埋点数据等等。

    通过这两部分的数据,就能刻画出用户的画像,其实就是给用户打上一个标签,比如高富帅、白富美等等。

    特性

    用户画像具有很明显的动态性时空局部性

    • 在用户的数据中,属性信息一般不会改变;但是行为数据是随时会发生变化的,比如用户看了一个新的电影、阅读了新的文章等。这时它的数据就是动态变化的,这部分数据应该动态的更新到用户的画像上。
    • 时间上,用户的一些需求是很快会发生变化的,比如最近下雨,用户想要买一把伞,如果几天后才捕捉到用户的需求,此时天都晴了;另一方面,空间上,用户在不同的领域喜好也不同,可能在新闻领域用户是一个严重的军事迷,但是在网购时,又是一个小清新,因此需要考虑到不同空间用户不同的需求场景,刻画对应的画像。

    用户画像建模

    用户的画像分为定量画像和定性画像,网上也没有找到这两种明确的定义。不过参考1的文章中是这样定义的:

    • 定性画像,是指在小规模的数据中分析出的用户的画像,比如问卷调查,访谈等等
    • 定量画像,是在大规模的数据中分析的,比如日志等

    这一块的内容,理解的并不好....以后会多加补充

    基于标签的画像

    在用户的定性画像中,标签化是核心。即把用户的画像变成一个一个的标签,那么在考虑标签化的同时,需要注意下面的几个方面:

    • 如何定义标签?标签的名称、类别、取值
    • 如何解释标签?标签的语义描述
    • 如何推理标签?标签实现的过程
    • 如何验证标签?定义是否合理,推导是否合理

    基于知识的画像(个人理解)

    知识工程,在百科中的解释是:

    “知识工程”的产生,把人类所专有的文化、科学、知识、思想等同现代机器联系起来,形成了人——机系统。

    即需要领域专家(有经验的老业务)配合来做机器智能的分析。

    知识工程的大体过程为:知识的获取-->验证-->表示-->推论-->解释和理由

    在用户画像中,就是配合用户和物品的属性,建立对应关系,这部分的对应关系需要知识专家进行鉴别推理和构建。比如有一些“专家”会把电影分为几类,爱情片、动作片、科幻片、恐怖片,这些都是需要领域专家来设定的,而不是靠人工分层分类1分类2分类3...

    构建的过程

    在构建用户画像时,大致可以按照下面的步骤:

    • 构建领域词汇:不同的领域会有不同专业的词汇,描绘人的、电影的、书籍的词汇都是不同的。这部分可以参考其他同类的产品,如果是独创的领域,那么就需要这个领域资深的“玩家”来定义了。
    • 确定分类之间的层次:画像也是有层次的,比如电影的里面的人分为演员、导员、观众等。需要对标签(画像)归类处理。
    • 定义属性:为不同的画像定义属性,包括对象属性和数值属性。比如在电影的场景中,对象属性是上映的时间、导演,数值属性是观看量、时长等。
    • 定义实例:实例就是最终的画像,是由分类和属性组成的。
    • 定义约束:这个是描述一个物品的规则,比如电影是由(名称、类型、时长、导演、主演)等等属性组成的,那么任何一个电影都可以由这种方式来定义。

    群体用户画像

    用户画像是用来描述目标用户的画像,而群体画像则是对一类相似的用户的描述。比如成熟稳重型、可爱萝莉型等。

    那么如何定义群体画像呢?可以按照下面的步骤:

    • 获取用户画像
    • 计算用户画像的相似度
    • 用户画像聚类
    • 群体用户画像生成

    定义用户画像之间的相似度

    计算用户画像之间的相似度,可以参考下面的公式:

    其中wk表示第k个画像的权重,比如在电影里面,用户喜欢的电影类型比重要比电影的时长重要的多,在计算相似度的时候权重也应该更大一些。

    计算相似度有很多中方法,比如:欧氏距离曼哈顿距离夹角余弦皮尔逊相关系数杰卡德距离等,每一种都有自己适合的场景。

    画像聚类

    画像聚类的方式有很多,比如K-means,原理就是随机几个点,看各个点的数据跟哪个点接近,就归为哪一类。然后不断调整中心点,达到最终聚合的效果。

    用户画像存储

    用户画像有很多中表示的方法,比如:

    • 关键词法,用一对的关键词描述画像,这种方式最容易理解
    • 评分矩阵法,用二维矩阵的方式,通过评分表示。这种在协同过滤中很常见
    • 向量空间表示法,这种是基于向量的方式描述画像
    • 本体表示法,不太懂

    不同的表示方法,对于存储的方式来说,也会不同。

    一般用户画像常用的存储引擎有:

    • 关系型数据库,通过中间表的方式存储用户和画像之间的关系,有点就是查询快、缺点就是数据量大的时候扛不住。
    • NoSql数据库,常见的就是键值数据库(Redis)列数据库(Hbase)文档数据库(mongodb)图数据库(neo4j)等,每种数据库都有自己适合的场景。
    • 数据仓库,数据仓库是一种面向主题的存储,可以更好的解决领域分析的问题。而且它保留了数据的时间变化,对于分析历史来说,非常有帮助。但是不适合实时查询。

    用户画像的查询

    用户画像的场景下:

    • 1 对于画像的查询要求是高并发、高聚合,比如会有很多人查询它自己的画像;也会通过一个画像属性,查询所有相关的人。
    • 2 在画像的查询中,大量的查询都是重复的,因此可以着重考虑缓存机制。

    用户画像更新

    在画像的更新方面,需要考虑的问题是:

    • 1 如何实时获取变化的画像?
    • 2 如何设置合适的更新触发条件?
    • 3 如何设计高效的算法?

    对于获取用户的信息,可以把用户逇信息分为静态信息数据和动态信息数据,

    更新的机制

    • 一种是设置更新的条件,比如购买达到1w元,立马升级成VIP标识
    • 一种是设置固定的时间周期,更新画像。这种最简单,直接没天凌晨跑一个画像的更新任务就行了。
    • 另一种是从增量的数据中计算画像,然后对比旧的数据,考虑是否更新用户的画像。

    以上就是用户画像的基本内容,也是《用户网络行为画像分析与内容推荐应用》这本书的第一部分,后续会更新其他的部分。

    参考

    1 什么是定性画像、什么是定量画像?http://www.jianshu.com/p/3750d9349b71
    2 《用户网络行为画像分析与内容推荐应用》想要电子版的私M。~

  • 相关阅读:
    BZOJ.5068.友好的生物(思路)
    BZOJ.4695.最假女选手(线段树 Segment tree Beats!)
    BZOJ.4355.Play with sequence(线段树)
    BZOJ.4909.[SDOI2017]龙与地下城(正态分布 中心极限定理 FFT Simpson积分)
    HDU.4035.Maze(期望DP)
    Codeforces.1027F.Session in BSU(思路 并查集)
    BZOJ.4299.Codechef FRBSUM(主席树)
    UOJ.41.[清华集训2014]矩阵变换(稳定婚姻)
    BZOJ.5312.冒险(线段树)
    UOJ.386.[UNR #3]鸽子固定器(贪心 链表)
  • 原文地址:https://www.cnblogs.com/xing901022/p/7128398.html
Copyright © 2020-2023  润新知