前段时间组织同学们参加了面向黑灰产治理的恶意短信变体字还原比赛,获得了第6名。方案如下:

赛题链接:面向黑灰产治理的恶意短信变体字还原 竞赛 - DataFountain

赛题任务描述:本任务类似于机器翻译,需要针对恶意短信中的变体字进行还原。恶意垃圾短信为了跳过安全检测会将字符变成变体的字符,需要采用深度学习建模的方法将测试集中新出现的短信变体字还原为正常信息文本,即不含有变体字、干扰字符,所有变体字部分应使用常见简体汉字、字符来表示,同时需要保证不包含变体字的正常文本不受影响。

比赛数据集示例:

变体句子:噂儆的碦戸:其鎃祝册茺贈镐888葒笣!禛朲对弈佰捆任你選!嶺:http://url.cn/5aLeqP2

还原后:尊敬的客户:棋牌注册充赠高888红包!真人对弈百款任你选!领:url.cn5aLeqP2

比赛评测方案:

评测指标1:
BLEU得分:计算参赛团队处理后的还原文本与人工标注文本的BLEU值。

N=4,其中:

评测指标2:
f1值:指标按如下标准定义,变体字还原结果正确计为TP,变体字漏检计为FN,变体字还原错误或正常文字被错误还原计为FP。

比赛中会同时计算评测指标1和评测指标2,最终结果将二者得分相加计算平均值作为最终排名的得分。

模型要求:考虑到模型会在移动终端上使用,所以参赛团队在做算法选择时要综合考虑模型的资源占用和推理耗时,模型大小的上限不能超过400MB,CPU(Intel® Xeon® CPU E5-2630 v4 @ 2.20GHz)上的平均单条推理耗时不能超过300ms。最终模型大小和推理耗时会做为决赛成绩的加分项决定最终排名。

技术路线:

1.baseline:采用两层堆叠的transformer的Encoder作为基础模型,对编码后的文本进行特征提取。然后接分类层和softmax函数进行分类,分类的类别数为词表的大小,也就是进行字符级别的分类,预测每个字符最有可能被分类成哪一个字符。

2.输入输出对齐:因为是字符级别的分类,所以要求输入的input和输出的label必须长度一致,也就是对于输入的每个字符,都需要有相应的分类标签与之对应。但题目所给的训练数据的input和label并非长度一致的,因此需要一个文本对齐的方法。

文本对齐的方法是:遍历input和label中的字符,找出其中的同音或型近字,将同音/型近字进行一一对应,并将两对同音/型近字中间的部分进行对应,中间部分input的字符串和label中对应的字符串长度不一的,将较短的字符串使用空字符串补齐至长度和较长的字符串相同长度。

如何判断是否是同音/型近字:求出两个字的拼音/笔画的最长公共子串的长度,使用该长度除以较长字符串的长度得到音近/型近得分,根据设定的阈值来判断是否为音近/型近字。

3.特征构造:由于变体字中存在大量的同音字替换,因此在生成字的embedding时,同时生成了拼音的embedding,将两个embedding进行concat输入模型。Embedding是通过字和拼音训练后保存到本地的。

首先将一句话中每个字符转成数字序列,然后将其中的中文也全部转为,数字序列,对两个序列使用word2vec训练出嵌入向量,将字的向量和拼音的向量连接到一起,并保存到本地,一个字对应一个200维的Embedding。

4.循环构造训练数据,进行数据增强:首先通过固定长度的滑动窗口分别选中训练集和测试集的词语,根据笔画和拼音的最大公共子串的长度判断出是否是变体字,需要人工筛查一遍,创建出造错表。再使用边训练边造错的方法,使用0.85的概率从训练集中随机抽取训练数据进行训练,使用0.15的概率将训练集的label进行造错,每个句子造错不超过三个。这样尽可能地保证模型可以学到造错表所有的错误。

最终排名:

B榜成绩第8,提交代码后,主办方复现过程中,排名提升到第6。

面向黑灰产治理的恶意短信变体字还原第6名方案相关推荐

  1. 黑灰产程序员被抓,背后隐藏的黑色产业链怎么破?

    一家深圳网络技术公司从事研发工作的 90 后程序员平时喜欢接些搭建交易平台的私活. 后来有"顾客"找上门来,想要获取平台的用户信息,这个程序员就采用解析漏洞.SQL 注入等方式攻破 ...

  2. 第十四期 | ETC车主收到的诈骗短信原来是黑灰产在搞鬼?

    目录 互联网+时代,车企的安全挑战 黑灰产的两种攻击方式:撞库攻击&密码爆破攻击 1.撞库攻击: 2.密码爆破攻击 黑灰产变现方式 1.贩卖数据 2.直接变现 3.电信诈骗 防控建议 1.终端 ...

  3. 优酷VIP被黑灰产恶意冒领出现BUG 用户疯抢一年VIP

    [TechWeb]7月7日消息,针对网上出现的免费领取优酷VIP一年权益链接一事,优酷官方昨天发布公告称,为保障运营秩序以及正常领用会员的权益,我们已第一时间停止该权益活动,并且按照<会员协议& ...

  4. 极验:验证码在黑灰产对抗中的角色和实践

    导读:随着互联网技术的发展,网络上的黑灰产对抗也日益激烈.在黑灰产攻防双方你追我赶的动态博弈中,验证码扮演着提高攻击门槛.处置恶意流量.辅助风险判别等重要角色.今天将和大家分享验证码的诞生与发展过程. ...

  5. 【媒体】黑灰产横行,金融行业如何“数智化”反欺诈?

    写在前面 本文是根据知道创宇金融安全产品负责人.大数据情报分析及反欺诈专家潘少华在2020北京国际金融安全论坛上的主题分享"AI+黑灰产情报驱动金融反欺诈"整理而成,首发于新金融世 ...

  6. 腾讯抗黑灰产——自监督发现行话黑词识别一词多义

    本文作者:lorenzwang ,腾讯 TEG 安全工程师 常见的中文 NLP 下游任务一般都是以分词作为起点(以 transformer 为核心的算法除外),对每个词取 embedding,作为模型 ...

  7. 拼多多协助广东警方打击网络黑灰产 15名嫌疑人于近日落网

    在公安部严打违法支付.实施"净网2019"专项行动大背景下,近日,拼多多协助广东省和平县警方破获了一起以电商平台为依托开设网络店铺从事非法交易的网络黑灰产案,抓获相关犯罪嫌疑人15 ...

  8. 每周一喂丨网络黑灰产工具“八大样儿”

    随着互联网应用的普及和人们对互联网的依赖 互联网的安全问题也日益凸显 信息窃听.电信诈骗和短信.流量劫持 具有私密性的信息被不法分子偷窃 那么,我们的信息都被哪些工具窃取了 又是如何被泄露.流入黑灰产 ...

  9. 《调研报告》:黑灰产哄抢消费券的两种方式

    近年来,发放消费券成为提振消费,拉动经济的举措之一.官方数据显示,2022年,全国28个省市.170 多个地市统筹地方政府和社会资金,累计发放消费券达到190多亿元.通过消费券的"杠杆&qu ...

  10. 知物由学 | “群控软件”助长黑灰产套利的零和游戏,硬核技术打击隐秘的不公

    导读:群控系统一般由多个部分组成,例如在手机端运行的服务.在手机端用于模拟输入的输入法.在 PC 端用来对所有设备操作与监控的中控台.在服务器中运行的连接所有设备的服务端等.本文主要介绍对群控软件技术 ...

最新文章

  1. incident用法_“incident、accident、event”,都是“事件”,怎么区分?
  2. 从Atlas到Microsoft ASP.NET AJAX(4) - Browser Compatibility
  3. CentOS7下搭建Nginx+PHP7的安装配置
  4. pycharm 怎么修改函数(变量)名及其引用?全局修改(批量重命名)(ctrl + f6)
  5. 详细分析如何在java代码中使用继承和组合
  6. 数据结构34:二叉树前序遍历、中序遍历和后序遍历
  7. struct x264_t 维护着CODEC的诸多重要信息
  8. Netbackup detected IBM drives as unusable
  9. Linux学习笔记之1——文件和目录管理(硬连接和软连接)(连结档,相当于快捷方式)...
  10. tensorflow保存和恢复模型saver.restore
  11. 1614. 括号的最大嵌套深度
  12. 【鱼眼镜头5】[中央全向相机畸变模型]:统一相机模型,四阶多项式对统一相机模型进行建模
  13. Java判断是否为移动端
  14. Android 网易云IM开发
  15. 软件工程的23种设计模式
  16. 库存盘点后的盘点差异解决方法
  17. 网站优化怎样的外链能轻松收录,网站外链优化攻略
  18. MySQL - SQL语句增加字段/修改字段/修改类型/修改默认值
  19. pandas学习之pandas基础
  20. 外部连接Redis时候,出现Time Out异常

热门文章

  1. Python统计字符串中的中英文字符、数字空格,特殊字符 , 空格的个数
  2. android工程师专业技能,android开发工程师简历中的专业技能怎么写
  3. 芯片测试需要掌握什么软件,芯片测试工程师岗位职责
  4. 随笔之---java版本哲学家就餐问题【信号量的实现】
  5. BiCubic双三次插值算法进行上采样python与matlab代码实现
  6. R语言绘制双坐标图直方图与折线的结合
  7. HRNet论文阅读及部分代码标注
  8. pyodbc linux 乱码,关于python:无法在Linux上安装pyodbc
  9. 2020考研数学一大纲之完全解析(四)
  10. 如何在Excel选取想要的数据(特定行)