QCon北京|3天沉浸式学习,跳出信息茧房。 了解详情
写点什么

知乎反作弊垃圾文本识别

  • 2019-08-11
  • 本文字数:1936 字

    阅读完需:约 6 分钟

知乎反作弊垃圾文本识别

背景

截止今年 8 月,知乎注册用户量已突破 2 亿。对于垃圾信息的治理,我们面临着更大的挑战和考验。过去我们通过不断升级「悟空」的策略引擎,通过在行为、环境、资源、文本等多维度组合应用,已经取得了非常不错的效果。近期我们尝试引入深度学习识别垃圾文本,「悟空」对 Spam 的治理能力又迈上了一个新的台阶。

问题分析

我们对当前站内垃圾文本进行了梳理,发现目前主要包括四种形式:


  • 导流内容:这类内容大概能占到社区中垃圾文本的 70%-80%,比较典型的包括培训机构, 美容,保险,代购相关的。导流内容会涉及到 QQ,手机号,微信,url 甚至座机,在一些特殊时间节点还会出现各类的专项垃圾文本,比如说世界杯,双十一,双十二,都是黑产大赚一笔的好时机。

  • 品牌内容:这类内容会具有比较典型的 SEO 特色,一般内容中不会有明显的导流标识,作弊形式以一问一答的方式出现,比如提问中问什么牌子怎么样?哪里的培训学校怎么样?然后在对应的回答里面进行推荐。

  • 诈骗内容:这类内容一般以冒充名人,机构的方式出现,比如单车退款类,在内容中提供虚假的客服电话进行诈骗。

  • 骚扰内容:比如一些诱导类,调查类的批量内容, 非常严重影响知友体验。



这些垃圾文本的核心获益点一方面是面向站内的传播,另一方面,面向搜索引擎,达到 SEO 的目的。

算法介绍

从算法角度可以把这个问题看作是一个文本分类问题,把站内的内容分为垃圾文本和正常文本两个类别。常用文本分类算法有很多,我们不打算详细介绍每一个分类算法,只是分享我们在处理实际问题中遇到的一些问题。


我们遇到的第一个问题是使用 RNN 还是 CNN。一般来说,CNN 是分层架构,RNN 是连续结构。CNN 适合由一些关键词来决定的任务;RNN 适合顺序建模任务 ,例如语言建模任务,要求在了解上下文的基础上灵活建模。这一结论非常明显,但是目前的 NLP 文献中并没有支持性的文章。另外一般来说,CNN 训练速度和预测速度都快于 RNN。考虑到上述站内垃圾文本的主要形式,导流和品牌内容中都会出现关键词,同时对于垃圾文本检测的速度要求比较高,我们最终使用 CNN。一个典型的 CNN 文本分类模型如下图所示。



接下来,我们遇到的一个问题是,使用字还是词语作为输入。词语具有比字更高的抽象等级,更丰富的含义。但是导流内容中的 QQ、手机号、微信、url、座机等,通常不会出现在已有词库中,品牌词也具有类似的特点,一般是未登录词。而且,导流内容通常会出现变体词,使用词语作为输入,不能很好地捕捉类似特征。所以,我们最终使用的是字作为输入。


在决定使用字作为输入之后,需要考虑使用在知乎站内语料上预训练的字向量初始化模型的 Embedding 层,还是直接在分类模型中随机生成初始字向量。这里的考虑是垃圾文本的数据分布和知乎站内文本的数据分布具有比较大的区别,垃圾文本相对于站内正常文本是一个比较特定的领域。因此我们使用随机初始化字向量。


在决定使用字向量之后,我们观察到“有意者加我咨询:2839825539”、“找北京·合·合·天·下”等关键信息,按字来计算通常都很长。因此,CNN 需要更大的感受域来提取相关文本特征,如果简单增加卷积核大小,会增加参数数量。我们考虑使用空洞卷积(dilated convolution),来增加卷积的感受域,同时不增加网络参数数量。一个典型的空洞卷积如下图所示。



另外我们观察到需要识别的垃圾文本并不都是短文本,还有一部分是长文本。由于文本长度的关系,如果简单将卷积层的输出取平均,输出到全连接层,那么文本能决定是否是垃圾文本的关键特征很可能被其他特征所淹没,导致模型精度难以提升。因此,我们加入了一个 Attention 层,通过它给予关键特征更大的权重。Attention 计算方法如下图所示。



通过上述分析,我们最终采用的模型结构如下图所示。



垃圾文本分类算法结构

模型效果

目前,垃圾文本模型会对知乎站内的所有内容进行评分,输出 0-1 之间的分数,系统会对高分内容进行处理。


模型分数在知乎部分业务线上的表现


文本分数>=0.9准确率>=0.8准确率>=0.7准确率
回答100.0%99.8%95.6%
提问100.0%99.1%97.7%
评论100.0%99.6%98.0%


当前情况下,模型结合其他反作弊维度,可实现对垃圾评分 0.5 分以上的内容进行删除,同时准确率达到 97% 以上。上线以来,每天删除垃圾内容数千条。



模型实时处理


另外值得一提的是端午期间,知乎站内涌现了一波违法违规的 spam,垃圾文本模型覆盖了 98% 以上内容,使得这波攻击大概持续了 1000 条左右就停了。



端午 spam 攻击

后续计划

垃圾文本识别是一个长期攻防的过程,站内垃圾文本会随着时间不断演变,现有模型的效果也会随之变化。为了应对站内垃圾文本的挑战,我们将一直收集 badcase,进一步优化模型的效果。

最后

由于本人的水平有限,如有错误和疏漏,欢迎各位同学指正。


本文转载自知乎


原文链接


https://zhuanlan.zhihu.com/p/46877662


2019-08-11 08:0010143

评论

发布
暂无评论
发现更多内容

关于 Elasticsearch 不同分片设置的压测报告

极限实验室

索引 压测 ES

如何学习ABAQUS有限元仿真分析软件

思茂信息

abaqus abaqus软件 abaqus有限元仿真 有限元分析 有限元仿真

虚拟ECU:助力汽车故障诊断

DevOps和数字孪生

软件定义汽车 虚拟ECU

当代数据库与数据管理技术的先驱者之一 Mohan 教授指导 IoTDB 时序数据库 Timecho 研发团队

Apache IoTDB

IoTDB Apache IoTDB

龙蜥社区首次突破!高性能存储 SIG 现身 LSF/MM/BPF 2023 分享 EROFS 的演进路线

OpenAnolis小助手

开源 高性能存储 龙蜥社区 sig EROFS

火山引擎DataLeap如何解决SLA治理难题(一):应用场景与核心概念介绍

字节跳动数据平台

数据中台 数据治理 SLA 数据研发 企业号 7 月 PK 榜

手机直播app源码部署搭建:带货潮流,商城功能!——山东布谷科技创作

山东布谷科技

软件开发 直播 源码搭建 直播APP源码 手机直播源码

七年老程序员的五六月总结:十一件有意义的事

拭心

android 程序员 程序人生 成长记录

运输车辆超时停车预警难?TDengine 流式计算助力吉科软轻松解决

爱倒腾的程序员

数据库

大语言模型评估全解:评估流程、评估方法及常见问题

Baihai IDP

人工智能 白海科技 LLMOps 大模型评估 企业号 7 月 PK 榜

华为云云原生数据库,让企业离应用更进一步

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

Seal AppManager如何基于Terraform简化基础设施管理

SEAL安全

Kubernetes Terraform 平台工程 SealAppManager 企业号 7 月 PK 榜

从TL、ITL到TTL | 京东物流技术团队

京东科技开发者

ThreadLocal ThreadLocalMap 企业号 7 月 PK 榜

IPD(集成产品开发)跟敏捷、DevOps一样吗?有什么区别?

禅道项目管理

DevOps 敏捷开发 IPD

书画家点赞!基于飞桨绘制中国水墨山水画

飞桨PaddlePaddle

人工智能 paddle 飞桨 百度飞桨 AIGC

MobPush:Android客户端SDK厂商通道回执配置指南

MobTech袤博科技

程序员 前端 sdk 客户端开发 Andrdoid

私有化的即时通讯软件能给企业带来什么好处?

BeeWorks

WorkPlus AI助理:结合ChatGPT对话能力与企业数据,助力企业级AI构建!

BeeWorks

如何使用openEuler WSL sideload

openEuler

Linux 前端 操作系统 wsl openEuler

Flink 在新能源场站运维的应用

Apache Flink

大数据 flink 实时计算

基于ClickHouse解决活动海量数据问题 | 京东云技术团队

京东科技开发者

数据库 Clickhouse 数据处理 企业号 7 月 PK 榜

火山引擎A/B测试“广告投放实验”基础能力重构实践 (DataFunTalk渠道)

字节跳动数据平台

Leangoo领歌敏捷工具提供哪些Scrum敏捷培训?

顿顿顿

敏捷开发 敏捷开发管理工具 scrum工具 scrum培训 敏捷培训

常用语言的线程模型(Java、go、C++、python3) | 京东云技术团队

京东科技开发者

Java c++ Go 线程模型 企业号 7 月 PK 榜

虚拟平台中的“有意”/“无意”故障注入

DevOps和数字孪生

故障注入 虚拟平台

带你掌握利用Terraform不同数据源扩展应用场景

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 7 月 PK 榜

任务调度之时间轮实现 | 京东云技术团队

京东科技开发者

定时任务 数据结构与算法 时间轮 企业号 7 月 PK 榜

Nautilus Chain NautDID NFT 将上主网,Layer3 数字身份时代开启

西柚子

知乎反作弊垃圾文本识别_语言 & 开发_石乐_InfoQ精选文章