3.2.2 构建用户特征表示
用户的特征表示可以基于用户对标的物的操作行为(如点击、购买、收藏、播放等)构建用户对标的物的偏好画像,也可以基于用户自身的人口统计学特征来表达。有了用户特征表示,我们就可以基于用户特征为用户推荐与他的特征匹配的标的物。构建用户特征的方法主要有如下5种。
1.用户行为记录作为显式特征
记录用户过去一段时间对标的物的偏好。拿视频行业来说,如果用户过去一段时间看了A、B、C三个视频,可以根据每个视频用户观看时长占视频总时长的比例给用户的行为打分,这时用户的兴趣偏好就可以记录为{(A,S1),(B,S2),(C,S3)},其中S1、S2、S3分别是用户对视频A、B、C的评分。
该方案直接将用户操作过的标的物作为用户的特征表示,在推荐时可以将与用户操作过的标的物相似的标的物推荐给用户。
2.显式的标签特征
如果标的物是用标签来描述的,那么这些标签可以用来表征标的物。用户的兴趣画像也可以基于用户对标的物的行为来打上对应的标签。以视频推荐为例,如果用户过去看了科幻和恐怖两类电影,那么科幻、恐怖就是用户的偏好标签了。
每个标的物的标签都可以包含权重,而用户对标的物的操作行为也是有权重的,可见,用户的兴趣标签也是有权重的。
在具体推荐时,可以将用户的兴趣标签关联到的标的物(具备该标签的标的物)推荐给用户。
3.向量式的兴趣特征
可以基于标的物的信息将标的物嵌入向量空间中,并利用向量来表示标的物,第9章会详细讲解嵌入的算法实现方案。有了标的物的向量化表示,用户的兴趣向量就可以用他操作过的标的物的向量的平均向量来表示了。
这里表示用户兴趣向量有很多种策略,可以基于用户对操作过的标的物的评分以及时间加权来获取用户的加权偏好向量,而不是直接取平均。另外,我们也可以根据用户操作过的标的物之间的相似度,来为用户构建多个兴趣向量(比如对标的物聚类,以用户在某一类上操作过的标的物的向量均值作为用户在这个类别上的兴趣向量),从而更好地表达用户多方位的兴趣偏好。
有了用户的兴趣向量及标的物的兴趣向量,可以基于向量相似性计算用户对标的物的偏好度,再基于偏好度大小来为用户推荐标的物。
4.通过交互方式获取用户兴趣标签
很多APP会在第一次注册时让用户选择自己的兴趣标签,一旦用户勾选了自己的兴趣标签,那么这些兴趣标签就是系统为用户提供推荐的原材料。具体推荐策略与前面的第3点一样。对于这种方法,设计比较好的、足够多样的兴趣标签供用户选择就非常关键了。
5.用户的人口统计学特征
用户在登录和注册时提供的关于自身的信息、通过运营活动收集的用户信息、通过用户行为利用算法推断得出的结论,如年龄、性别、地域、收入、爱好、居住地、工作地点等都是非常重要的信息。基于这些关于用户维度的信息,我们可以将用户特征用向量化表示出来,向量的维度就是可获取的用户特征数(如年龄、性别等都可以作为一个维度)。
有了用户特征向量就可以计算用户相似度,将相似用户喜欢的标的物推荐给该用户。