推荐系统的探索

一、架构流与业务流

1、用户行为收集,业务数据收集

2、批量计算,用户文章画像

3、用户的召回结果、排序精选过程

4、

全量导入、增量导入(时间戳)

第13个字符

select article_id, user_id, channel_id, REPLACE(title, CHAR(13), ‘’) title, status, update_time
from news_article_basic limit 1

flume用户收集日志,日志埋点

点了哪篇文章,关注了哪篇文章,点赞了哪篇文章

埋点参数,就是在应用中特定的流程收集一些信息,用来跟踪应用适用的状况,后续用来进一步优化产品或是提供运营的数据支撑。埋点数据是推荐系统的基石

埋点参数文件结构

  • 曝光时间
  • 阅读时间
  • 类型id
  • 用户id
  • 参数
    • 文章id列表
    • 使用的算法类型

点击行为发生的参数

  • 阅读时长
  • 类型id
  • 参数
    • 行为
      • 阅读
      • 收藏
    • 用户id
    • 文章id
    • 哪个算法推荐的

目的,通过flume将业务数据服务器A的日志收集到Hadoop服务器hdfs的hive

文章的textrank计算,在jieba.analyse.TextRank

增量导入

  • incremental
    • append,即通过指定一个递增的列,每次指定一个最后的上次导入用户id
      • 若用户id不是递增,雪花算法唯一id
    • lastmodified:最后修改时间
      • check-column column:时间戳字段 –merge-key,指定从什么时候开始更新

word2vec 与文章相似度,可拓展为相似的影视实体

首页频道推荐,每个频道推荐的时候,会通过计算两两实体的相似度,快速达到在线推荐的效果,比如用户点击文章,

我们可以将离线计算好相似度的文章排序快速推荐给该用户。此方式也可解决冷启动的问题。(

方式 1。 计算两两实体之间的相似度
计算两个实体的word2vec或者doc2vec向量的相似度。

word2vec模型介绍。

词的独热表示,One-hot Representation

灯泡预寸在某个位置,灯管同理。

一个句子的概率,用n-gram表示