如何利用用户画像进行个性化推荐|数据理解

时间:2024-02-26 07:45:08

                               


 

 之前开的坑一直没有完成,有要开新的坑了,最近在做关于个性化推荐的项目,所以想对目前的工作有个总结。现阶段的话,仍然处于熟悉数据的过程中,还没有正式的走到算法这一层。主要的原因有两点,第一:数据不是很全,关于用户、item的信息都很少,数据之间存在很大的断层情况;第二:我们部门之前没有做这一方面,所以是大家做这个属于尝试,到底能够做到哪一个步骤都是未知的。 总之,挑战真的很大。下面我将从推荐算法的模型到数据做一个简单的梳理。

一、推荐算法模型

  推荐算法有很多的相关模型,从最简单的协同过滤到矩阵分解再到基于神经网络。一个完整的推荐系统分为召回阶段和排序阶段,召回阶段常用的方法为:协同过滤、矩阵分解,排序阶段常用的方法为:FM、GBDT+LR 、FTRL+LR (Wide&Deep)、DeepFm。总的来说:

  • 矩阵分解(SVD、SVD++、TrustSVD),主要通过填充评分矩阵来进行推荐
  • 神经网络的推荐算法:进行各种特征组合、embedding来进行CTR估计

  一般来收,都是采用多路召回的方法,从众多的item中获取到用户很能会喜欢的成百个item,但是这么多的item如何有效的推送给用户,需要使用到排序阶段,排序阶段则是通过预测用户点击item的概率来进一步删选item,这一步选择出了用户最有可能点击的item。但是,排序阶段是否是每一个推荐系统都需要,还得进一步按照业务情况、活动、商品情况来进行判断,我的观点是,如果item真的很多,那确实需要进行排序,如果是想提高商品、活动的点击、曝光情况则需要进行排序。

二、数据理解

  就召回阶段来说,可以使用以下几种方法来做:

    • 基于用户画像:此时则需要大量用户的属性特征,如:用户的人口特征属性、用户的爱好特征属性、用户的爱好特征、用户的偏好特征、用户的商业属性(比如:消费能力、消费频率等),还有一些可以通过业务逻辑抽象出来可以反应一个人对于商品偏好的信息等(如购买时间),基于这些数据,我们可以对用户进行分群,后面则可以针对不同的用户进行不同的有针对性的推荐;(分群推荐)
    • 基于协同过滤、矩阵分解:

  在这种情况是模型需要的数据有:user-item-rating 、item-list 、user-list 信息,但是很多情况下,并不能够直接得到user-item-rating评分信息,大部分情况是隐式反馈的用户行为信息的;能够直接获取到的用户评分信息的场景有:电商评分、电影评分、外卖评分,除此之外大部分是无法直接得到的,就我目前所接触到的活动数据来看,推送一个活动,用户能够留下点击、分享、使用的痕迹,此时如何得到评分信息呢?只能够通过用户行为来得到一个评分信息;首先需要去定义涉及到的用户行为,其次设置每一个行为所对应的权重,最后通过所有行为的权重之和即可得到一个评分;如果用户多次进行了以上的操作我的想法是,是不是直接可以累计之类的,或者只选择最重要的行为进行打分,还木有实践,都是一些想法,有大神看见的话可以留言;对了,还有一个问题,就是当用户之前有多次的用户行为时,如何进行构造呢?我看到过有基于用户行为序列来得到模型结果;但是对于一个个性化要求没有那么高的场景应该如何选择呢? 是通过时间加权吗?时间越近用户的行为更加重要,但是如何权重设置呢? 这又是一个问题!!! 求看到的大神可以回答一下下,真的很重要