从0到1实现文章个性化推荐系统

一、背景

    当今互联网信息呈现爆炸式增长,简单的人工筛选、物料召回的运营方式已无法让资源快速变现,通过用户历史行为、用户画像精准推荐用户感兴趣内容已成为必然趋势,主流个性化推荐系统流程包括用户行为采集、分类提取、离线用户建模、在线用户模型预测等。结合目前主流推荐业务发展需求,从无到有搭建一套个性化推荐系统支撑专区App分发业务。

二、主要业务流程及核心模块

    构建一套完善的推荐系统涉及到的主要业务流程及核心模块,具体流程如下图所示:
推荐系统主要业务流程

1. 同步业务数据:

    将文章、用户属性等状态数据,以全量或增量模式从MySQL存储导入到Hive中

2. 收集用户行为日志

(1) 原始数据收集

    数据收集主要通过应用APP或者应用Web埋点或者通过线上任务上报到DataBank来完成,主要收集指标包括:

埋点事件 事件ID
曝光 exposure
点击 click
浏览时长 read
收藏 collect
分享 share

    埋点日志数据结构如下:

{
   
    "actionTime":"2019-04-10 18:15:35",
    "readTime":"",
    "channelId":0,
    "param":{
   
        "action":"exposure",
        "userId":"2",
        "articleId":"[18577, 14299]",
        "algorithmCombine":"C2"
    }
}
(2) ETL

    通过Flume将日志定时并增量收集与结构化存储到 Hive中

3. 构建离线文章画像

文章画像,就是给每篇文章定义一些词。主要包括关键词和主题词。
关键词:文章中权重高的一些词。
主题词:是进行规范化处理的,文章中出现的同义词,计算结果出现次数高的词。

(1) 构建方法

关键词:TEXTRANK计算出的结果TOPK个词以及权重
主题词:TEXTRANK的TOPK词 与 ITFDF计算的TOPK个词的交集

(2) 文章画像存储结构
hive> desc article_profile;
OK
article_id              int                     article_id          
channel_id              int                     channel_id          
keywords                map      keywords            
topics                  array           topics      

hive> select * from article_profile limit 1;
OK
26      17      {
   "策略":0.3973770571351729,"jpg":0.9806348975390871,"用户":1.2794959063944176,"strong":1.6488457985625076,"文件":0.28144603583387057,"逻辑":0.45256526469610714,"形式":0.4123994242601279<
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值