关于人工智能:ErnieSimCSE对比学习在内容反作弊上应用

5次阅读

共计 4778 个字符,预计需要花费 12 分钟才能阅读完成。

作者 | ANTI

导读

AI 技术在不同行业和业务被宽泛的利用,本文介绍了反作弊团队在与 spammer 反抗愈演愈烈的趋势下,一直摸索前沿技术,将百度 NLP 预训练模型联合比照学习用于解决 spam 内容中晓得发问群发推广舞弊的技术计划。

本次分享,首先介绍了晓得发问群发推广舞弊的状态,剖析传统反作弊计划在此状态下的优缺点,比照了比照学习的数据加强和 SimCSE 两种办法,并分享了 SimCSE 论文中 loss 的毛病,最终引入『ernie 预训练模型 + SimCSE』的解决方案,解决了线上大面积推广舞弊问题。

全文 4845 字,预计浏览工夫 13 分钟。

01 背景

百度作为最大的中文检索引擎,在满足失常用户检索需要的同时,吸引了大量的黑产用户,以非正常伎俩进步搜寻后果排名,达到从中获益的目标。百度晓得作为百度的重要子产品,也是寰球最大互动问答社区,具备很高的 hack 价值,吸引了一大批 spammer 的『青眼』,spammer 会一直试探反作弊零碎的边界,一直寻找突破点,一旦攻破,短时间内就会暴发,升高用户体验,大大影响品牌美誉度。上面咱们抉择发问推广类舞弊为例给大家介绍下这类舞弊的辨认算法:推广类舞弊是社区最常见的舞弊模式,被称为社区“牛皮藓”,该舞弊具备范围广、团伙性强、变种多、变动快的特点。

晓得的群发推广发问是不同用户推广雷同实体,包含的类别包含培训类、医美类等,典型舞弊如下:

传统的反作弊伎俩通常包含单发问和用户两个纬度来辨认:

1. 单发问辨认:通过开掘舞弊 pattern、训练语义分类模型来辨认推广发问,长处是可能短时间内肯定水平疾速控制线上问题。

2. 用户辨认:用户纬度分为繁多舞弊用户辨认和舞弊用户群体辨认,长处是能够在单发问根底上进一步对用户及其答复进行开掘辨认。

传统的开掘形式对于发问和用户的刻画是通过人工 feature,存在泛化性差、容易被绕过的毛病,不能应答内容变种多和快特点,而文本示意可能学习文本的稳定性表白,同时可能利用表白来刻画发问之间的相似性关系,因而,咱们引入了文本示意学习来解决该类问题。

02 文本示意 & 比照学习

2.1 文本示意

文本示意学习就是将一段文本映射到低纬向量空间,获取句子的语义示意,大抵经验过四个阶段:

  • 阶段 1 :统计类型,此阶段比拟典型的是利用 TD-IDF 抽取关键词,用关键词示意表征整个句子。
  • 阶段 2 :深度模型阶段,此阶段形式较多,自从 glove、word2vec 等词粒度的示意呈现后,在此基础有比拟多的魔改,从对句子中的词向量简略均匀、到有偏均匀 SIF[1],起初引入 CNN、LSTM 等模型利用双塔、单塔形式进行学习句子示意,比拟典型的几个工作有:
  • 微软在排序搜寻场景的 DSSM[2],将 word 进行 hash 缩小词汇个数,对 word 的示意进行均匀失去句子原始表白,通过三层 MLP 获取句子示意。
  • 多伦多大学提出的 Skip-Thought[3],是 word2vec 的 skip-ngram 在句子表白的延长,输出三个句子,用两头一句话,预测前后两句话。
  • IBM 的 Siam-CNN[4],提出了四种单塔、双塔不同的架构,利用 pairwise loss 作为损失函数。
  • facebook 的 InferSent[5],在双塔的示意根底上,减少了充沛的交互。
  • 阶段 3 :Bert、Ernie 等预训练大模型阶段,在此阶段比拟根底典型的工作有:
  • 因为 Bert 通过 SEP 宰割,利用 CLS 使用到匹配工作场景存在计算量过大的问题,Sentence-BERT[6]提出将句子拆开,每个句子独自过 encoder,借鉴 InferSent 的示意交互,来学习句子表白。
  • 阶段 4 :20 年在图像畛域衰亡的比照学习引入到 NLP。

2.2 比照学习

比照学习是一种模型架构,也是无监督学习的一种,最开始是利用到了 CV 畛域,通过对 M 图片进行数据加强失去 N 图片,将 M 和 N 图片输出 encoder 后失去示意 Vm 和 Vn,如果两个表白相近则阐明 encoder 学习的成果比拟好。

比方下面四张图片,对于有监督的分类工作来说,须要分辨出每张图片到底是孙悟空还是猪八戒,训练数据须要具体标注出每一张图片的 label。而对于无监督的比照学习来说,不须要辨别图片是孙悟空还是猪八戒,只须要学习的示意可能表白前两张图片是类似的,后两张图片是类似的即可,也就是『类似的货色示意越类似,不类似的货色越不类似』。

比照学习的个别训练过程:

1. 通过数据加强的形式结构训练数据集,对于一条数据,数据集须要蕴含正例(类似的数据)和负例(不类似的数据)。

2. 将正例和负例同时输出到 encoder 模型中。

3. 最小化正例之间的间隔,最大化负例之间的间隔,进行参数更新。

因为比照学习的指标是『类似的货色示意越类似,不类似的货色越不类似』,其外围本质上是须要找到『类似』的数据也就是正例,和『不类似』的数据也就是负例。通常,下面过程中的正例结构形式是类似 term 替换、term 随机删除、回译等办法,而负例的选取是随机的,个别是 In-batch negtives。在训练过程中,一个数据量大小为 N 的 batch 内,对于每个输出除了一对互为正例的数据,余下的 N - 2 条都是负例。

2.3 SimCSE

SimCSE(Simple Contrastive Learning of Sentence Embeddings)[7]是 EMNLP2021 中的一项工作,其简略的思维,确有着较好的成果播种了学术和工业界的微小关注。SimCSE 之前的比照学习中的相似性获取是通过数据加强的形式实现的,也就是在样本中增加噪声获取的,希图让模型从数据层面获取共性,而 SimCSE 从利用 dropout 从模型角度增加噪声,希图获取更稳固的共性抽取模型。

SimCSE 提供了无监督(上图 a)和有监督(上图 b)两种架构,因为业务须要咱们只用了无监督形式,其基本思路是:

1. 同一个 batch 内的数据两次输出模型。

2. 因为有 dropout 机制存在,对于同一句子的两次输入是不同的,两次输入互为正例,其余为负例。

3. 最小化指标函数,进行参数更新。

论文中,在一个 batch 中,样本 i 的损失函数为比照学习的InfoNCE Loss[8]

最终模型的成果在各个数据集上根本处于碾压的存在。

03 利用

因为业务需要是当有新增发问时,获取历史类似发问簇,因而整个过程分为三个阶段:

step1:训练 ernie-SimCSE,获取句子 encoder,本阶段次要获取编码器用来获取句子的语义向量;

step2:构建语义索引库,本阶段次要是失去语义索引,用于检索类似向量;

step3:反作弊策略,将类似向量用于反作弊策略,用于辨认群发推广。

3.1 ernie-SimCSE

目前对于预训练模型的利用从『预训练』+『子工作 finetune』的模式过渡为『预训练』+『畛域预训练』+『子工作 finetune』,咱们选取的 encoder 模型为以后中文畛域最好的 ernie 模型,在 ernie 模型根底上减少 SimCSE,训练过程为:

  1. 在预训练根底上增加搜寻 Q - T 匹配工作的训练,失去 Ernie-Search,通过大规模点击日志构建 Q - T 图,咱们在这张图上通过随机游走采样出 q -t-q- t 序列 S = [q0 , t1 , …, qN-1 , tN],而后在这个序列上执行针对序列 S 的遮蔽词预测实现预训练任务;
  2. 在 Ernie-Search 的根底上利用,独自利用晓得发问数据进行进一步 post-train,失去 Ernie-Search-ZD;
  3. 在 Ernie-Search-ZD,增加 SimCSE 比照学习,获取最终的模型 Ernie-SearchCSE。

3.2 问题及优化

论文中的损失没有计算加强后的样本之间的损失,起因可能是因为计算成本的思考,咱们对损失进行了改良,对于加强后的数据也纳入负例的损失计算:

3.3 模型成果

为了观测模型的最终成果,咱们选取了之前的 17 个指标 case,以及随机选取 10 个其它句子:

由下方热力求能够看出,合乎当初模型预期,前 10 个的相似性远大于后 10 个的相似性。对于发问『北京肋软骨隆鼻刘彦军做的怎么样?』检索索引库中语义最类似 TOP 10 获取疑似变形推广。

04 总结

语义索引在利用方面是一把双刃剑,一方面,相比传统的反作弊伎俩具备更好的泛化性能,另一方面,随着数据量的减少,索引库也会减少,存在计算简单的问题。NLP 畛域目前曾经处于绝对成熟的阶段,在大模型预训练学习广而全的常识上,也为各行业、产品线的具体业务赋能,在此基础上,依然有许多杰出的工作不断涌现,咱们也会继续摸索前沿算法在业务上的落地,一直打击舞弊内容,保护百度的内容生态平安,一直晋升用户体验。

——END——

参考资料

[1] Arora, S., Liang, Y., & Ma, T. (2019). A simple but tough-to-beat baseline for sentence embeddings. Paper presented at 5th International Conference on Learning Representations, ICLR 2017, Toulon, France.
[2] Huang P S, He X, Gao J, et al. Learning deep structured semantic models for web search using clickthrough data[C]//Proceedings of the 22nd ACM international conference on Information & Knowledge Management. 2013: 2333-2338.
[3] Kiros R, Zhu Y, Salakhutdinov R R, et al. Skip-thought vectors[J]. Advances in neural information processing systems, 2015, 28.
[4] Feng M, Xiang B, Glass M R, et al. Applying deep learning to answer selection: A study and an open task[C]//2015 IEEE workshop on automatic speech recognition and understanding (ASRU). IEEE, 2015: 813-820.
[5] Conneau A, Kiela D, Schwenk H, et al. Supervised learning of universal sentence representations from natural language inference data[J]. arXiv preprint arXiv:1705.02364, 2017.
[6] Reimers N, Gurevych I. Sentence-bert: Sentence embeddings using siamese bert-networks[J]. arXiv preprint arXiv:1908.10084, 2019.
[7] Tianyu Gao, Xingcheng Yao, and Danqi Chen. 2021. SimCSE: Simple Contrastive Learning of Sentence Embeddings. In Proceedings of the 2021 Conference on Empirical
[8] van den Oord, A., Li, Y., and Vinyals, O.,“Representation Learning with Contrastive Predictive Coding”, arXiv e-prints, 2018.

举荐浏览
品质评估模型助力危险决策程度晋升
合约广告平台架构演进实际
AI 技术在基于危险测试模式转型中的利用
Go 语言躲坑经验总结
PaddleBox:百度基于 GPU 的超大规模离散 DNN 模型训练解决方案
聊聊机器如何 ” 写 ” 好广告文案?

正文完
 0