FunRec-task3

task3自动化构建用户及物料画像

(Datawhale32期组队学习)

基础点

离线自动化构建用户+物料画像

  • 物料
    • 爬虫,处理,构建物料画像
  • 用户
    • 注册
    • 有行为,更新
  • 自动化创建

知识点

1物料画像构建

1.1物料来源

凌晨爬取前一天的新闻,物料丰富但时效延长一天。新爬取的物料存在MongoDB中。

1.2更新

目的:

  • 新物料进库
  • 旧物料通过用户交互记录更新

旧物料:

  • 新闻的阅读、喜欢及收藏次数,会因为用户的交互更改
  • 动态信息在redis中,直接去redis获取新闻更新数据
  • redis日更用来展示的新闻
  • MongoDB保存历史动态信息
  • 更新物料动态画像在redis清空数据之前

特征库:FeatureProtrail存储了物料的所有字段
前端展示内容:redisProtrail存储内容不一样,存redis备份(结构化)

新闻画像字段:

  1. news_id 新闻的id
  2. title 标题
  3. raw_key_words (爬下来的关键词,可能有缺失)
  4. manual_key_words (根据内容生成的关键词)
  5. ctime 时间
  6. content 新闻具体内容
  7. cate 新闻类别
  8. likes 新闻点赞数量
  9. collections 新闻收藏数量
  10. read_nums 阅读次数
  11. url 新闻原始链接

更新物料加入redis:

  • 删除前一天redis内容
  • 暴力遍历数据库获得新闻id
  • 静态特征存入 static_news_info_db_num;动态特征存入dynamic_news_info_db_num

物料处理:

  1. 画像化
  2. 爬新闻放入特征库 update_new_items
  3. 更新动态画像 update_dynamic_feature_protrail
  4. 前端展示画像并备份 update_redis_mongo_protrail_data
  5. 写入redis NewsRedisServer
  6. 前端展示画像传入redis news_detail_to_redis

2用户画像构建

目的

  • 新注册用户画像的更新
  • 老用户画像的更新

数据表

  • 新老在一个表,只需遍历注册表中用户
  • 字段:
    在这里插入图片描述
  • 注意:喜欢,收藏是前端直接从后端获取的,需要维护一个用户历史点击及收藏过的文章列表-mysql、同时维护用户历史阅读过的所有文章表
    • 遍历注册用户表
  • 用户基本特征
  • 兴趣
    • 历史喜欢top3类别、关键词、热度、新闻数

流程:

  • 用户存入mysql UserMysqlServer
  • 曝光数据存入mysql user_exposure_to_mysql
  • 更新用户画像 user_protrail.update_user_protrail_from_register_table()

3画像自动化创建

脚本:

  • 物料更新脚本:process_material.py
  • 用户画像更新脚本:process_user.py
  • redis数据更新脚本:update_redis.py
  • shell脚本offline_material_and_user_process.sh
  • crontab定时任务

思路:

  1. 先爬取新闻数据,这里需要注意的是,虽然是今天零点爬数据,但是实际上爬的是前一天的新闻
  2. 数据爬完之后,离线更新用户画像,物料画像及线上要存储再redis中的画像
  3. 最后其实是离线推荐的流程,离线将用户的排序列表存到redis中,线上直接取就行了

个人需要补充的点

物料池的准备及更新,代码再跑一下理一下逻辑

参考

https://github.com/datawhalechina/fun-rec

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值