1. 主页 > 网络营销 >

如何设计一款百万日活的推荐系统(1)—大智慧RES从0到1实战

编辑导语:百万日活的推荐系统是许多人可望而不行求的,其系统的设计也并不简朴,那么该如何设计这样一款推荐系统呢?本文作者基于本身的实际搭建履历,为我们分享了他的产物设计过程,但愿可以或许辅佐各人在系统搭建的进程中少走一些弯路。

如何设计一款百万日活的推荐系统(1)—大伶俐RES从0到1实战

媒介

作者简介:本人3年金融行业产物履历,主攻python数据挖掘和呆板进修。今朝就职于上海大伶俐,主要认真大数据平台、用户画像、推荐搜索、常识图谱等偏向 。曾参加过ontrade数字金融生意业务所、区块链钱包、仙人掌股票证券投顾平台等多个项目。独自成立了datagrowth.cn数据驱动增长自媒体网站。

本系列专栏主要报告本人从0到1搭建RES推荐系统的一些履历,记录下产物设计的心途经程,以此鼓励本身不绝摸索新常识。

与市面上平常而谈的博客差异的是,本文主要从产物的角度,团结行业特性,分解踩过的坑。

一、产物架构

任何一款再简朴的产物,都需要贸易模式和产物架构的设计。架构不需要何等巨大、花哨,深入领略行业配景,适合产物筹划才是最重要。

如何设计一款百万日活的推荐系统(1)—大伶俐RES从0到1实战

用visio画的一个较量满足的产物图,根基能把要表达的思路全部画了出来。

差异于前任设计的基于法则的1.0版本,这次重构主要在于搭建一个可扩展的体系,同时引入数据驱动、算法赋能,而不是拍脑壳抉择。

从产物的角度看推荐,应属于业务应用层。

一切的一切,都是基于底层埋点到阐明流程、大数据平台、用户标签画像、自然语言处理惩罚等基本处事搭建较为完善的前提下开展。

推荐的整体流程分为召回、过滤、排序(因为数据量不长短常大,所以不需要粗排、精排)、重排序,这次主要讲召回层最易领略但最重要的热门召回。

二、整体流程

如何设计一款百万日活的推荐系统(1)—大伶俐RES从0到1实战

流程首先思量闭环:从app用户行为发生、大数据及时统计,到发生热门召回、过滤、排序后,形成热门推荐处事;又通过用户行为来评估推荐结果【产物指标,如PV/UV、人均阅读时长、转化率等 】。

按照整体流程,发明焦点在于热门值的计较方案。

新闻入到资讯的es库中,系统赋予一个初始热度值;进入推荐列表后,用户的点击、分享、点赞等交互行为可以晋升新闻的热度值。由于新闻有较强的时效性,新闻宣布后,热度非线性衰减。

资讯热度分=(初始热度值+用户交互发生热度值-低质量处罚分(暂无))*时间衰减系数。

1. 初始热度值

1)差异类此外文章给与差异的权重

按照用户数据反馈,选择个中某些热门主题范例的文章,同时综合思量高质量的类目,给与较高的权重。

种别初始热门值:

如何设计一款百万日活的推荐系统(1)—大伶俐RES从0到1实战

2)人工构建热门词库

新媒体运营的专家是最懂行业,最懂当前热点的了,引入人工法则,维护一张热门词库。

如何设计一款百万日活的推荐系统(1)—大伶俐RES从0到1实战

如何设计一款百万日活的推荐系统(1)—大伶俐RES从0到1实战

对文章举办提取要害字,举办匹配,按照匹配水平适当晋升热门权重。提取要害字的算法也很简朴,操作textrank,补充tf-idf无法提取上下文干系的劣势,取共现词topN。

def get_keywords(self,conntent):
key_words1 = jieba.analyse.extract_tags(sentence=conntent,topK=50,withWeight=True,allowPOS=[‘n’,’v’,’f’])
key_words2 = jieba.analyse.textrank(sentence=conntent,topK=50,withWeight=True,allowPOS=[‘n’,’f’,’v’])
key_words1 = dict(key_words1)
key_words2 = dict(key_words2)
df1 = pd.DataFrame([key_words1]).T
df2 = pd.DataFrame([key_words2]).T
#取两者共现词作为要害字,取内毗连
df = pd.merge(df1,df2,how=’inner’,left_index=True,right_index=True).head(10)
#取tf-idf算法的权重作为真实权重
df=df.drop(df.columns[1], axis = 1)
#重设索引
df.reset_index(inplace=True,drop=False)
df.columns=[‘feature’,’weight’]
print(df)
return df

作为要害词,虽然前置事情有去除停用词,后置事情有同义词合并等等,所以NLP的底层基本本领很重要。

3)自动发明热词

本文由摸索网(http://www.lnmosuo.com)发布,不代表摸索网立场,转载联系作者并注明出处:

联系我们

工作日:9:30-18:30,节假日休息