微信读书的书籍个性化推荐包括:
为提升 2 的效果,本文设计了一个离线实验,用 CTR 预估方法做书籍个性化推荐,发现效果(准确率、召回率)较现网方法(Word2vec)提升接近一倍。
随机取 2017 年 1~4 月有加书架行为的 500 名用户。
对每个用户,根据 1~3 月的用户行为,预测 3~4 月被加入书架的 topN 本书,作为推荐结果。topN 取 200。
TopN 准确率(查全率):推荐命中次数/推荐次数
TopN 召回率(查准率):推荐命中次数/加书架次数
微信读书的猜你喜欢使用 Item-CF 和 Word2vec 两种算法,二者转化率相近。在本次实验中用 Word2vec 作为对照组。
Word2vec 是一个语言模型,能够从语料中学习到词汇的向量表示,向量可以用于衡量词汇间的相似度。Word2vec 也可用于个性化推荐,能够学习到物品、用户间的相似度,是一种协同过滤的推荐方法。
具体地说,我们把书籍 ID 当成 word,把每个用户加书架的书籍 ID 序列当成 sentence,把 1~3 月用户的加书架行为当成训练语料,输入 Word2vec,得到每个书籍 ID 的向量表示。两本书籍间的向量距离,可以表示两本书的相似度。
对每个用户,把他 1~3 月读的近 15 本书作为种子,寻找向量距离最相近的 topN 本书,作为推荐结果。
微信读书现网 word2vec 的训练语料把用户感兴趣的书作为 word,而在本次实验中简单处理,把用户加书架的书籍作为 word。
CTR 预估方法,即利用点击率预测模型,对候选集的 user-item 特征,预测点击率,然后重新排序生成推荐结果。
利用 CTR 预估方法做推荐,一般步骤是:
其中,GBDT 算法可以自动选择特征,LR 需要特征筛选以提高准确率,具体过程略,可参考 4
效果 \ 推荐方法 | Word2vec(现网) | CTR LR | CTR GBDT |
---|---|---|---|
召回率(查全率) | 0.061116 | 0.103632 | 0.102746 |
准确率(查准率) | 0.001202 | 0.002614 | 0.002592 |
从实验结果可以发现,CTR 预估方法较 Word2vec 方法在推荐效果上有近一倍的提升。
提升的原因,可能是 Word2vec 方法利用单一的用户加书架的信息进行训练;而 CTR 预估方法利用了更丰富信息进行训练,如用户属性、用户行为、书籍属性等,更好地学习用户的阅读偏好,从而作出更精准的推荐。
而且随着更多有效特征的加入,如用户-书籍的点赞评论特征、价格特征、对语音节目偏好特征,CTR 预估方法能够学习到更全面、更具体的用户阅读偏好,以进一步提升个性化推荐效果。
此外,CTR 预估方法也可用于读书电台等听书栏目,通过个性化推荐,提升用户体验。
1 美团推荐算法实践
4 特征工程简介
6 LR, 逻辑回归
特征 | name |
---|---|
用户性别 | user_sex |
用户年龄 | user_age |
用户n线城市 | user_city |
用户性别哑变量 | user_sex_0 |
user_sex_1 | |
user_sex_2 | |
user_sex_3 | |
用户年龄哑变量 | user_age_0 |
user_age_1 | |
user_age_2 | |
user_age_3 | |
user_age_4 | |
用户城市哑变量 | user_city_0 |
user_city_1 | |
user_city_2 | |
user_city_3 | |
user_city_4 | |
用户最近加书架书的标签和此书标签的交集数 | past_tag_num |
物品被具有某特征用户加书架转化率 | item_sex_0_ctr |
item_sex_1_ctr | |
item_sex_2_ctr | |
item_sex_3_ctr | |
item_age_0_ctr | |
item_age_1_ctr | |
item_age_2_ctr | |
item_age_3_ctr | |
item_age_4_ctr | |
item_city_0_ctr | |
item_city_1_ctr | |
item_city_2_ctr | |
item_city_3_ctr | |
item_city_4_ctr |