15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 微信“看一看”推荐的框架设计

微信“看一看”推荐的框架设计

时间:2023-05-15 23:36:02 | 来源:网站运营

时间:2023-05-15 23:36:02 来源:网站运营

微信“看一看”推荐的框架设计:

在过去的几年里,质量控制作为微信看一看推荐的基石,我们在不断的迭代升级中积累了一定的技术和经验。本文主要跟大家分享一下总体框架的设计思路,以及如何通过平台通用化来解决组合爆炸的问题。文章为了尽可能的给读者描述一个完整质量控制体系的框架,这里既有技术上,架构上考虑,也会有产品上,业务上的考虑。

一、看一看介绍

1.1 看一看的场景

微信作为国内最大用户群体的应用,在人们的生活,工作,学习中提供社交功能的同时,还提供了工具,游戏,购物,支付,内容,搜索,小程序等服务。看一看作为微信的重要组成部分,在原有公众平台资讯阅读的基础上,为用户提供中心化的内容消费平台,旨在提升内容发现效率,优化内容质量,丰富内容种类。

1.2 看一看的质量控制

与其他很多资讯产品上线初的野蛮生长不一样,质量控制一开始就作为看一看上线标准被提出并进行了大量的投入。质量控制的必要性是由于多方面的因素决定的。

  1. (内在属性)一个产品的出身和环境决定了其的调性,微信内在也决定了看一看的调性。在这里,调性这个词更多的是形容内容质量可以被用户接受的底线。用户对微信的期待也提高了这个底线。
  2. (外部压力)微信的每一次改动都会受到广泛的关注,在功能上线初期面临着比其他应用更大的舆论压力和监管压力。
  3. (黑产对抗)因为用户多,流量大,强大的经济效益引来黑产的参与,使得内容生产的大环境很差,低质量数据充斥各个角落;问题也在不断地的变化,识别控制难度也在持续加大。

**二、总体框架**

既然质量控制作为推荐系统必不可少的一部分,那么在推荐系统中处质量控制处于什么位置,包含哪些子模块,又是从哪几方面方面进行控制?

首先,我们先看一下内容数据在推荐系统的一生。

2.1 数据的一生

  1. 数据从内容生产方发表产生,由平台收集数据。这里生产方来自四面八方,生产的内容五花八门,质量也是参差不齐。所以,平台将数据接入之后第一件事情就是将这些内容进行格式化和特征提取,方便后面的流程能通用化地处理这些内容数据。
  2. 内容经过前面的初步处理后,质量控制模块根据已有的特征对内容进行过滤,主要是过滤不符合平台规则的低质量数据和提供后面排序需要考虑的质量因子。这里面涉及到过滤效率的问题,一般会分为粗过滤还有细过滤。排序推荐模块将根据内容特征还有用户行为对数据进行排序。
  3. 最后,平台将内容推荐给用户进行消费,消费的过程中会与内容产生很多交互行为。这些行为数据,可以用于平台的质量控制和推荐排序;也可以反馈给生产者,让生产者能够了解到内容被消费的情况,生产更多符合用户需求的内容。

2.2 多维度控制

数据的一生中,我们可以看到平台都是通过对发表内容本身进行检测来进行质量控制,这显然是不够的。一个控制框架的有效运行不能仅仅在一个地方进行监控,需要全面,多维度共同作用。我们可以抽象一下平台,生产,还有用户。我们会发现其实除了对平台自身检测能力进行提升外,也可以对生产者和用户进行引导,评估。

  1. 根据生产者生产内容的质量,还有用户对内容的反馈,平台可以对生产者进行分级分类。对不同等级的生产者,使用不同质量控制策略,如,高质量的账号颁发个免检标签,在质量控制的时候避免误伤。而对于一些已经被检测到有低质量内容的账号进行一定时间的封禁,减少相似问题的爆发,增加长尾问题的召回,提升系统的响应速度。不同类目也是同样的道理,比如高危的内容类(社会民生,养生健康,娱乐)需要加强控制。
  2. 而对于用户,我们同样可以根据一下用户的基础数据(地域,年龄,性别)和用户在微信内的一下阅读信息,对用户进行分类。不同用户可以使用不同的控制策略。这样在保证了用户对体验有不同要求的前提下,尽可能地保证推荐系统的效率。

2.3 辅助模块

除了上面说的三个部分之外,还有几个同样非常重要的质量控制辅助模块,这些模块对保证整个质量控制的正常运行至关重要。

  1. 监控系统:监控系统需要对平台,生产,用户的各个方面进行监控,有些数值监控指标可以通过机器持续监控,而有些数据本身的问题则需要人工的轮询与审核,还有就是新问题的发现与归纳汇总。其中最重要的是能够进行全方位覆盖,不同范围,不同领域,有时候问题可能隐藏的茫茫大盘数据中。
  2. 干预系统:干预系统是对问题出现后,进行快速处理的手段。这样能够在模型策略迭代较慢的时候暂时压制问题,减少影响范围。干预系统除了生效快之外,还有一个重要的能力是相似内容的查找(去重指纹),如相似标题的封禁和相似图片的封禁。
  3. 标注系统:标注系统作为一个提升样本收集效率的平台,不仅能有效提升标注人员的标注效率,进而有效提升模型的迭代效率;而且标注系统方便对问题的收集,总结,归纳,形成各个领域的知识库。

三、数据与质量

前面介绍了质量控制的必要性,也介绍了质量控制的大体框架。那么到底数据是指哪些数据?所谓的质量又指的是哪些质量指标?这些数据跟这些质量指标带给我们什么问题与挑战呢?

3.1 内容数据源

看一看的数据从来源上分包括公众平台,腾讯新闻,腾讯视频,企鹅号,微视,快手等。从内容形式上分有文章,新闻,视频,图片等。样式丰富的数据在满足不同用户的内容需求的同时也加大了监管的难度。

3.2 质量指标

同时,看一看以用户的体验为出发点结合具体业务需要建立了一套质量指标体系。这里指标随着业务的发展不断在增加,含义也在不断的丰富。多维度的指标可以为业务的质量过滤和推荐排序提供更多的个性化的选择。

3.3 问题与挑战

那么,我们的问题和挑战是什么呢?我们先来看一下日常工作中经常遇到的一些对话。事情的本质往往隐藏在复杂的表面下。

丰富的数据源,多维度的质量指标,个性化的业务场景带来的其实是组合爆炸问题。如果对每一种组合都单独处理,不仅导致大量人力的浪费;同时,也无法对速度要求高的质量控制问题进行快速响应。毫无疑问从体系上进行通用化,模板化,可复用,可迁移是我们解决问题的方向。下一节,我们会从一个普通任务的迭代周期出发,分析上面对话对应的迭代过程的那一部分,并对相应的部分进行相应的通用化。

四、体系演进

4.1 规则,特征,样本,模型

下图展示了一个迭代周期里面几个关键的过程。

1.规则制定:规则制定可以说是质量问题解决中最重要的工作,问题分析清楚了,解法也就出来了。这里简单列几个小原则,不进行展开。

2.特征提取:这里涉及如何将业务需求转化为技术需求。根据问题分析的结论,对直接特征进行提取,如标题,正文,封面图,隐藏内容,页面结构,跳转链接,锚文本,账号,统计特征等。

3.样本收集:根据需要从原始数据中收集一定量的正负样本,这些样本可以通过相似样本挖掘,也可以通过人工标注。

4. 模型训练:使用模型对提取的特征进行组合,并对收集的样本分布进行拟合。

4.2 通用化

看完上一小节的描述,不知道大家有没有把对话跟迭代周期的过程对应起来。接下来尝试对迭代周期里面的各个部分进行通用化,包括细粒度化,共享特征,样本增强,模型复用,模型迁移。

1.细粒度化:在进行规则制定阶段,要避免指定一个很大的质量问题进行优化,尽量把问题定义成“独立”,“明确”,“与业务无关”的细粒度问题。这样可以减少后面因为业务变化导致的不确定监督问题,提升模型适用性。举个例子:我们之前有个质量问题是黑四类(广告,活动,通知,招聘),标注的时候没有区分,训练的时候也是用一个模型。这样在有新的业务出现的时候突然发现我们不需要黑四类,而是黑三类。还有其他一些不建议的问题类型:"标题不规范","正文质量差","内容不优质"。

2.共享特征:虽然不同数据源的样式不一样,这样需要对不同的数据源通过页面解析进行特征抽取,统计。但是对于同一个数据源,不同的质量问题,往往会用到很多相同的特征。一个数据源抽取后的结果可以保存在结构化的数据结构中方便各个质量模型,还有其他的业务模型使用。如文本的位置,是否有链接,是否隐藏,是否模板内容等。

3.样本增强:通过相似样本挖掘和人工标注容易导致过拟合,标注效率低的问题。这里可以结合数据增强提升模型的鲁棒性,结合主动学习提升标注效率。

4.3 模型复用

在处理不同的质量问题的时候,我们发现有些问题用到的特征,拟合的方法都是相似的。像越来越多平台算法库对基础模型提供支持一样,通过从具体问题中抽象问题,构建通用模型框架可以有效提高我们的工作效率。而构建通用模型框架需要结合的前面提到的共享特征在设计之初就其保证通用性,适配性,可扩展性。

4.3.1 通用模型

4.3.2 广告模型

这里介绍一下广告识别模型在构建过程中,涉及的几个通用问题模型。广告模型主要是负责识别文章里面的广告内容。从内容上,分为文字广告,图片广告,图文广告。从位置上分顶部广告,中间广告,底部广告。从篇幅上分主体广告,插播广告。 那么这里可以抽象成 3 个通用的问题:

1.问题内容的定位(插播广告);2. 多类型特征的融合(图文广告);3.文章结构的序列化(顶部,中部,尾部,篇幅)。

4.4 模型迁移

数据源之间的数据分布一定是会存在差异的。模型迁移主要是想要解决数据分布不一致的问题。这里我们以色情低俗识别为例子,分“词向量”和“特征分布”两个方面来考虑迁移问题。

4.4.1 词向量统一

词向量在不同的场景中会表现不一样的语义,如“下面”在图文和视频标题里面就有不同的语义。多数据源数据训练的词向量因为获得了更多的信息量要好于多个数据源单独训练的向量。到后来基于更大量训练集的 bert 的出现更是极大的丰富了词向量的信息量。

4.4.2 特征空间统一

这里面的方法主要有 finetune,多任务学习,还有对抗学习。

五、持续对抗

5.1 动态数据

前面所提到的多样化的问题,更多的是平台内部因为业务需求主动引入更多的数据和质量指标导致。这些问题相对来说是静态的。在业务上线之前,平台会进行摸底优化,不会有太多的意外。

接下来我们讨论数据动态变化的问题。在日常的内容生产过程中,内容生产者根据平台的环境和用户的反馈不断修改内容的样式,类目。这些变化会改变数据的分布,从而导致平台对新数据出现漏召或者误判。其中,黑产的持续不断的有意对抗最为频繁,花样最多,也是我们最为关注的。这些对抗具有形式类目多,迭代周期多的特征。

5.2 解决体系

由于敌暗我明,完全杜绝几乎是不可能的。原则上是提高黑产的作弊成本,降低平台的维护成本。我们还是从前面提到质量控制体系的三部分入手。

平台:每天都有少量的标注人工对线上数据进行轮询,对有问题的数据进行屏蔽收集。

用户:对大量用户反馈有问题的数据进行限制。

生产:

样本扩散,模型迭代:

5.3 扩散迭代

5.3.1 正常流程

那么怎么进行样本扩散,加快模型的迭代周期呢?下面是一个样本收集周期里面大概需要做些什么事情。

  1. 账号:一个账号的内容大部分比较相似,同一个黑产内容跟也往往相同。
  2. 类目:对问题比较集中的类目进行数据挖掘。
  3. 关键词:用一些匹配式框定一个范围。
  4. 聚类模型:简单的计算样本内容的文本相似性。
  5. 分类模型:构建简单的分类模型进行初筛。
5.3.2 加速流程

工作周期主要的工作量是在两个部分,一是相似样本的挖掘,二是人工标注样本;相似样本挖掘的精度越高,覆盖的样式越全,人工标注的样本量就越少。而这两方面我们可以使用半监督学习跟强化学习的方法来进行优化。

5.3.3 自动化流程

更进一步我们尝试使用强化学习代替整个问题样本的挖掘过程,强化学习选择器从源数据里面选择样本,跟已有标注样本送入判别器训练,然后将判别器在测试数据和问题数据的表现当成 Reward 反馈给强化学习选择器。

六、总结展望

前面讨论了框架内部的通用性,那么这个框架整体是否具有通用性,能否在其他平台适用呢?其实因为各类内容平台在问题类型跟数据类型本身就存在大量的共性;所以看一看的控制框架和技术,在面对如搜一搜,公众平台,朋友圈等其他场景时,依然可以提供相应的经验和能力。近半年来,搜一搜作为用户获取内容重要场景,我们在复用看一看能力的基础上也构建了类似的控制框架。

虽然我们已经掌握了各式各样的能力,能够解决很多问题,但是相比起知道的知识,我们不了解的内容更多,经常会出现让我们意想不到的状况。质量控制,乃至于机器学习的主要矛盾在于用有限的知识处理无限的未知。持续的知识获取意味着自主学习,也意味着持续的与现实交互。

一个平台的质量控制系统就像是人体的免疫组织,当病毒来临,免疫细胞产生抗体,消灭病毒。人类在漫长的进化过程中,构建了复杂的免疫系统,同时,病毒也在不断的进步。越是复杂的系统,出现问题的可能性越高,出现问题后解决问题的成本难度也越大。在构建强健的内部免疫系统的同时,我们同样需要营造良好的外部环境,让更多优质的内容生产者进来,才是解决质量问题之根本。




推荐阅读:

作者:harryzhong,腾讯 WXG 应用研究员

更多精彩,尽在 腾讯技术

关键词:架设,推荐

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭