编程技术网,编程语言,IT新闻,code,代码审查

黄波:AI技术在知乎的应用实践(4)

2019-03-13 12:47

cad 2007,腋下脱毛方法,桂林现天价鱼,股本总额,北京375,乞力马扎罗的雪txt,租办公室,itunes同步

>

下面再介绍下基于spark streaming的用户实时兴趣计算流程。首先我们需要把用户的点击行为、展现以及搜索行为对应的实时数据流打通并进行实时处理,组成一个三元组 用户、内容、行为类型 。三元组抽取完之后,我们会对内容进行进一步的分析,主要是提取内容对应的领域、话题、关键词等语义标签。为了增加实时处理效率,对问题、文章、回答等内容,可以直接通过 token 到内容画像服务去获取之前已经缓存好的计算结果,而搜索query没法提前算好,需要去调用语义理解模块实时计算获取其对应的标签,比如关键词抽取服务、话题匹配服务等。提取内容标签之后,我们会得到一个 用户, 标签,行为类型 三元组数据,再以 用户、标签 进行聚合后,作为最终用户兴趣计算的输入。用户兴趣计算,主要包括新兴趣的叠加,旧兴趣的衰减,策略上会去做一些参数平滑、热门打压等。

最后是用户表示和聚类,用户表示是指通过神经网络或各种embedding方法得到用户在低维空间的embedding 表示,用户embedding表示可以被灵活应用于各种场景。知乎做用户表示有天然的优势,训练数据非常多,有大量的用户社交关系,即用户间的单向和双向关注行为数据,同时用户也会关注话题、问题、专栏、收藏夹等数据,我们把上述数据揉到一起就组成了一个异构图,再利用graph embedding方法来获取每个用户的表示。

四、典型业务应用场景

刚才提到的知识图谱、内容分析以及用户分析,最主要的应用场景是首页信息流推荐。内容分析和用户分析会作为整个推荐系统重要的底层特征,被用作召回、排序阶段。当然召回除了基于内容标签的方式,也有基于协同算法和近几年比较流行的基于神经网络的召回方法。在排序阶段,内容和用户标签也会作为排序模型的输入特征,另外某些标签也可以作为排序模型的目标,比如专业性内容的占比等。

刚才提到,推荐系统在召回阶段不止可以用基于内容标签的方式,也可以用协同和神经网络的方法,那么用标签来做推荐系统召回有什么优点和缺点?优点我这里列了四点,第一个,可解释性强,粒度越细越准确;第二、会越用越准,能积累长期兴趣;第三、可以对各种标签做比例的精准控制,例如强制要求专业性内容的最小占比等;第四,没有内容冷启的问题,任何打上标签的内容都可以被召回;另一方面基于标签召回也存在泛化性较差、标签不能覆盖所有内容等缺点。

除了被用在首页推荐的场景,内容和用户标签也可以应用于数据分析以更好地支持业务和产品决策,典型的例子有:分析专业性内容在生产和消费的分布情况、按领域维度对内容生产和消费进行分析、按人群分析比如大学生对于各种内容的生产/消费分布情况。

最后说下用户表示,它的应用场景很多,典型的场景有受众扩展,简单来说就是可以对种子人群进行扩展;另外就是基于用户表示的用户聚类,还可以进一步对聚类结果进行分析给每一个类打上相应的人群标签,用作人群或者圈子的划分。这里是一个受众扩展的例子,有一些私家课已经有一批点击或者购买的种子人群,现在我们需要找一批用户发优惠券,要保证转化率就要求发给跟这些已经点击或购买用户比较相似的用户, 这里我们就可以基于用户表示计算出与这批种子用户相似的用户。

以上是我今天讲的内容,欢迎大家进一步交流,谢谢!

上一篇:编程语言:开发人员的所爱与所恨

下一篇:泛在电力物联网概念再爆发:NB