推荐系统-内容推荐

1.用户画像

1.1 什么是用户画像

首先推荐系统的使命就是要在用户和物品之间建立连接。一般方式就是对用户和物品之间的匹配进行评分,也就是预测用户评分或者偏好。推荐系统在对匹配进行评分前,首先要将用户和物品都表示成向量,这样才能进行计算。而采用的推荐算法不同,向量化的方式也不同,最终使用匹配评分的做法也会不同。

用户向量化后的结果就是用户画像。所以,向量化是用户画像必须要做的,不向量化,计算机就无法计算。用户画像不是推荐系统的目的,而是推荐系统过程中的一个关键环节的副产品。除了常见的注册资料、标签、还有各种深度学习得到的Embedding向量,这些都是很好的画像内容。

用户画像是用户的向量,那就只有两种:稀疏向量和稠密向量。标签、注册资料、社交关系都是稀疏向量,通过训练神经网络得到的Embedding向量、通过矩阵隐因子、通过浅层语义分析或者话题模型得到的话题分布都是稠密向量。可以说稀疏向量抓住的是更显而易见的用户画像,也因此可解释性更好,可以用来给出推荐理由;稠密向量能抓住更多隐藏的兴趣,但其黑盒子特点也导致其可解释性不如前者。

3.1.2 关键因素

  • 维度
  • 量化

在实际生产系统上,用户画像每个维度的量化都应该交给机器。以目标为导向,以推荐效果好坏来反向优化出的用户画像才有意义,主观量化是大忌。用户画像的量化和推荐系统的效果是息息相关的。不应该为了用户画像而用户画像,它只是推荐系统的一个副产物,应该根据使用效果(排序好坏、召回覆盖)来指导用户画像的量化。

3.1.3 构建方法

  • 查户口
    直接使用原始数据作为用户画像的内容,如注册资料等人口统计学信息,或者购买历史、阅读历史等,除了数据清洗外不做任何抽象归纳。实现简单,通常对冷启动很有用。

  • 堆数据
    堆积历史数据做统计工作,是最常见的用户画像数据获取方式,常见的是兴趣标签。先给物品打上标签,再获取用户在这些标签上的历史行为,从标签维度做数据统计,用统计结果作为量化结果,最后做截断。

  • 黑盒子
    用机器学习的方法,学习出人类无法直观理解的稠密向量。比如使用潜语义模型构建用户阅读兴趣,以及使用矩阵分解得到的隐因子或者深度学习模型学习用户的Embedding向量。这一类用户画像数据不可解释。

2.标签挖掘技术

早期的推荐系统一般都从基于内容的推荐开始做起,这就离不开挖掘用户兴趣标签,兴趣标签是用户画像的重要构成部分。

2.1 挖掘标签的物料

挖掘兴趣标签,主要处理的是文本数据。文本数据是互联网产品中最常见的信息表达方式。

  • 用户端文本数据
    • 注册资料中的文本,如姓名、个人签名等;
    • 用户自己生产的内容,如评论、动态等;
    • 与用户发生连接关系的文本,如阅读过的内容等
  • 物品端文本信息:
    • 物品的标题、描述
    • 物品本身的内容
    • 物品基本属性中的文本

2.2 标签库该有的样子

标签库质量高低:

  • 标签覆盖面:
    所有标签覆盖物品和用户越多越好,这样才不会造成流量浪费;
  • 标签健康度:
    量化标签平均覆盖物品的程度,单个标签的物品覆盖数量显然符合齐普夫定律,好的标签库,其标签覆盖分布熵要高,熵越高覆盖越均匀;
  • 标签经济性:
    标签之间的语义相似性越小越好。
    好的标签库应该是一个超维空间下的立方体:构建出一个完整的空间,标签之间互相独立。

构建标签库分为两派:

  • 中心化
    中心化构建标签库,也叫专业分类法
  • 去中心化
    依赖“集体智慧"。完全依靠用户自行贡献标签。
对比维度 中心化 去中心化
标签覆盖面
标签覆盖健康度 好(均匀) 不好(倾斜)
标签经济性 好(相对独立) 不好(同义近义多)

所以应该结合两者,来构建高质量的标签库。

2.3 标签挖掘方法

2.3.1 关键词提取

  • TF-IDF
  • TextRank

2.3.2 Embedding向量

2.3.3 文本分类

2.3.4 命名实体识别

2.3.5 文本聚类

2.3.6 标签选择

3.基于内容的推荐

要把基于内容的推荐做好,需要抓、洗、挖、算

  • 抓:想要做好一个基于内容的推荐,抓取数据补充内容源、增加分析的维度,是必不可少的。
  • 洗:一些冗余内容、垃圾内容、政治、色情等敏感内容都需要被洗出去
  • 挖:需要深入挖掘内容,才能提升推荐系统的效果。
  • 算:将用户的兴趣和物品的属性相匹配,计算出更合理的相关性。这是推荐系统本身的使命,不仅仅是基于内容的推荐要做的。

基于内容推荐框架
如上图的流程和基本元素,在内容源这一端经过内容分析,得到结构化的内容库和内容模型。

3.1内容源

抓取数据以补充推荐系统每天的内容消耗。因为只有内容多样性提高,一个推荐系统才有存在的合法性。

3.2 内容分析

基于内容的推荐,最重要的不是推荐算法,而是内容挖掘和分析。只要内容挖掘足够深入,哪怕采用硬规则,也ok。内容分析越深入,能抓住的用户群体就越细致,推荐的转化率就越高,用户对产品的好感度也就越高。
内容分析的产出有两个:

  • 结构化的内容库
  • 内容分析模型

结构化的内容库最重要的用途是结合用户反馈行为去学习用户画像。
在内容分析过程中得到模型,例如:

  • 分类模型
  • 主题模型
  • 实体识别模型
  • Embedding模型
    这些模型主要应用场景是:新的物品刚刚进入时,需要实时地被推荐出去,这时要对内容实时分析、提取结构化内容,再去和用户画像做匹配计算。

3.3 内容推荐算法

  • 最简单的计算相似度
    用户画像内容表示为稀疏向量,同时内容端也有对应的稀疏向量,在两者之间计算余弦相似度,根据相似度对推荐物品排序。
  • 利用内容中的结构化信息
    不同字段的重要性不同
  • 学习型算法
    典型场景是提高某种行为的转化率,如点击、收藏、转发等。标准做法就是收集这类行为的日志数据,将其转换为训练样本,然后训练预估模型。每一个样本由两部分构成:一部分是特征,包含用户端的画像内容、物品端的结构化内容,可选的还有日志记录时的一些上下文信息,如时间、地理位置、设备等。另一部分就是用户行为。作为标注信息,包含“有反馈”和“无反馈”两类。用这样的样本训练一个二分类器时,常用模型是LR、GBDT,或者两者结合。在推荐匹配时,预估用户行为发生的概率,并按照概率排序。

参考:《推荐系统》陈开江

猜你喜欢

转载自blog.csdn.net/weixin_44127327/article/details/109768237