用户模型主要用来存储用户兴趣数据,用户模型中对用户的兴趣基于长短兴趣进行描述。
建模数据来源
内部数据
内部数据指App或者Web,用户互动产生的行为记录,例如评论、分享等,属于主动行为;浏览、点击等属于被动行为。
需要支出的是,一般基于主动行为我们应该进行特殊加权,主动行为的兴趣强度要高于被动行为。
外部数据
指社交网站等第三方授权数据,对于一个刚上市的产品来说,用户的行为历史很少,这时就需要利用第三方的行为记录对用户兴趣进行刻画。
行为划分
主动行为 | 被动行为 |
---|---|
分享 | 点击 |
评论 | 浏览 |
收藏 | ...... |
喜欢&不喜欢 | ...... |
转发 | ...... |
用户兴趣刻画
可通过Tag、Topic、分类进行基本的兴趣标识。
- Tag:最小粒度单位兴趣标识。
- Topic:Tag的上级父单位,一个Topic下可以由很多Tag组成。
- 分类:分类是最粗粒度的兴趣标识,由于分类是一个用户前端筛选内容的习惯,一直沿用至今,所以推荐系统中也需要保留分类概念。
日志到兴趣的抽取
兴趣权重计算
w(user+1)=top(w(user) * λ + g(c) * h(b))
w(user):更新之前兴趣点权重,与之前的积累相关。
w(user+1):是更新结束后回写到用户模型表中的兴趣点权重。
λ:衰减因子,小于等于1.0,可配置。
g(c):资讯内容模型,与资讯内容本身有关。
h(b):用户行为参数,调整用户行为影响强弱,正负,与用户具体行为有关,可配置。
top:对结果根据权重进行从大到小排序,取出权值最大的前N个,可配置。
新用户模型=排序topN(旧用户模型行为衰减因子+news权重行为参数)