背景
1.pc推荐流的负反馈数据虽然上报,但是用的是旧的系统,策略没有使用上,即使用户点击负反馈,还是会给用户推到同类或者同作者内容;
2.pc和app端的负反馈,由于使用的负反馈系统新旧不一 并且上报字段也不一致,导致两边负反馈数据没有互通
目的
1、30天内不再向该用户推荐此作者的任何内容
2、任意入口用户选择“不看此作者”负反馈,在以下首页频道均按照规则屏蔽该作者发布的内容
动态_热门
动态_最新
动态_投票
动态_同城
推荐
3.pc或者app任意端进行此项负反馈操作,均需要双端同步
eg:用户在pc屏蔽了作者A,在app规定的频道流里均不展示该作者发布的内容
名词说明
1.推荐流渠道
- app_feed_v7
- pc_feed_v2
- pc_feed_blog
- pc_feed_blog_category
2.负反馈项
- 内容重复推荐
- 内容质量较低
- 内容夸张、涉及广告等
- 减少 【xx】相似内容推荐
- 不看此作者:xx
3.负反馈类型
- blog
- blink
- ask
- live
- …
过滤校验
不看此作者
- 获取用户负反馈操作数据(union为un_like_username_table)
pc端:
select concat(tolower(username),'-',tolower(un_like_username)) key,
tolower(username) username,
tolower(un_like_username) un_like_username,
cast(receive_time as string) un_like_time
from pc_user_action_negative
where pt>='2022-11-25'
and action_type IN('不看此作者')
app端:
select concat(tolower(header_memberid),'-',tolower(get_json_object(trackinginfo,'$.username'))) key,
tolower(header_memberid) username,
tolower(get_json_object(trackinginfo,'$.username')) un_like_username,
header_date un_like_time
from ods_app_user_activity_realtime
where pdate>='2022-11-25'
and action='feedback'
and get_json_object(regexp_replace(get_json_object(trackinginfo,'$.extra') ,'\\\\"','"'),'$.utm_medium') like "%distribute.%.%"
and split_part(split_part(get_json_object(trackinginfo,'$.type'),':',1),':',1)='不看此作者'
- 获取负反馈用户在推荐流的曝光数据
(union为exposure_username_table限定username在un_like_username_table中 )
pc端:
select concat(tolower(uid),'-',tolower(exposure_username)) key,
tolower(uid) username,
tolower(exposure_username) exposure_username,
cast(receive_time as string) receive_time
from ods_pc_page_exposure_event
where pt>= '${pdate-7}'
and uid is not null
and uid!=''
and extra like "%utm_medium%distribute.%.%"
and split_part(get_json_object(extra,'$.utm_medium'),'.',2) IN(
'pc_feed_v2','pc_feed_blog','pc_feed_blog_category'
)
app端:
select concat(tolower(header_memberid),'-',tolower(exposure_username)) key,
tolower(header_memberid) username,
tolower(exposure_username) exposure_username,
header_date exposure_time
from ods_app_page_exposure_event
where pt >= '${pdate-7}'
and requestheader_pagekey='blog.home'
and header_memberid is not null
and header_memberid!=''
and trackinginfo like '%distribute.app_feed_v7.%'
- 获取用户在推荐流不应该被曝光的不喜欢作者资源数据
select u1.key,un_like_time,exposure_time
from exposure_username_table u1
join un_like_username_table u2
on u1.key=u2.key
where un_like_time<exposure_time