AICon议程上新60%,阿里国际、360智脑、科大讯飞、蔚来汽车分享大模型探索与实践 了解详情
写点什么

知乎反作弊垃圾文本识别

  • 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:009878

评论

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

选择美国站群服务器的五大理由:安全、稳定、高效

一只扑棱蛾子

美国站群服务器

王文京:行业化经营创造更大的客户价值

用友BIP

大数据平台红蓝对抗 - 磨利刃,淬精兵! | 京东云技术团队

京东科技开发者

测试 混沌演练 红蓝对抗 企业号11月PK榜

一个干净的前端架构是什么样的?

秃头小帅oi

解锁数据库运维秘籍:掌握AntDB-T动态共享内存,提升进程间通信效率

亚信AntDB数据库

亚信科技 数据库· AntDB数据库

全国见!飞桨星河社区五周年,邀你共赴大模型盛宴!

飞桨PaddlePaddle

人工智能 开发者 大模型 星河社区

Permute 3 for mac(媒体文件格式转换器) 3.11.2中文版

展初云

Mac 格式转换 视频转换

Downie 4 for Mac(好用的视频下载软件) 4.6.34直装版

展初云

Mac 视频下载 Downie

软件测试/人工智能丨​Python运算符解析,小白也能轻松get

测试人

人工智能 软件测试

激发创新,助力研究:CogVLM,强大且开源的视觉语言模型亮相

汀丶人工智能

人工智能 计算机视觉 大语言模型 视觉语言模型

KeyShot 2023 Pro 动画渲染制作工具 附 安装教程 支持M1

加油,小妞!

3D动画渲染软件 KeyShot Pro 2023下载

LangChain:引领人工智能应用系统的语言模型革新

测吧(北京)科技有限公司

测试

怎么理解 React Server Component 和 Next.js 的关系

伤感汤姆布利柏

数仓实时算子难以观测,快来试试算子级监控吧

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

DAPP开发:探索NFT DAPP的世界创建和启动指南

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

对话在行人|索通发展:从ERP到BIP,携手用友共创数智索通

用友BIP

企业数智化

API测试:了解API接口测试与API接口测试指南

Noah

Milvus 2.3.功能全面升级,核心组件再升级,超低延迟、高准确度、MMap一触开启数据处理量翻倍、支持GPU使用!

汀丶人工智能

向量检索 Milvus 向量数据库

第七期 |《实时洞察 智能运营一用友企业绩效管理白皮书》解读

用友BIP

企业绩效

ios数据清除工具 FoneLab FoneEraser for iOS中文最新版

mac大玩家j

Mac软件 数据清除工具 iOS数据管理

人工智能 |企业私有版大语言模型引领人工智能创新

测吧(北京)科技有限公司

测试

FoneLab Location Changer for mac虚拟定位软件

展初云

Mac 虚拟定位软件

制造业工厂万界星空科技云MES系统中的设备管理模块

万界星空科技

生产管理系统 mes 设备资产管理系统 制造业数字化

TDengine 3.0 数据订阅功能的“独家”使用经验,只此一份!

TDengine

tdengine 时序数据库

OpenHarmony知识共享与论坛共建:更深层次的社区共建与繁荣

新消费日报

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