基于神经网络方法的脏话识别研究综述
2021-11-22臧义
臧义
(四川大学计算机学院,成都610065)
0 引言
网络社区是指网上论坛、贴吧、微博、博客、网络游戏聊天区等公共平台,在这些平台上用户可以随意通过发布帖子或者评论帖子来发表自己的言论。脏话作为人们的一种非正式语言,在现实生活中经常出现。互联网的便利和虚拟性质更加助长了脏话的泛滥,尤其是在娱乐性质比较强的平台如网络游戏聊天区是脏话言论的高发地,在缺乏完善的监管之前,人们几乎不会为自己所发表的脏话言论承担责任,这为维护健康的网络公共环境、净化网络风气造成了风险。因此,研究针对一段文本来自动识别其是否为脏话的系统具有十分重要的现实意义。
脏话言论是指针对某个人或者某个群体的辱骂或者发表攻击性言论的行为,根据辱骂内容的不同又可以细分为:性别歧视、种族歧视、仇恨言论、个人人身共计、讽刺、欺凌、亵渎等方面,我们这里研究的脏话是指广义方面的脏话。网络社区的脏话言论一般具有以下特点:①脏话的书写往往不规范,辱骂者一般为了规避敏感词检测系统,会采用缩写、更换为其他语言等方式来表达同样意思的脏话言论;②脏话的语言更新发展速度较快;③为了表达情绪,脏话相比于正式书面文本往往会伴随一些表情符号或者不规范用法的标点符号;④部分脏话词存在非脏话词的意思,通过关键字匹配来屏蔽脏话词并不一定能够有效屏蔽脏话。
脏话识别可以看作一个文本二分类的任务,即针对一段聊天或评论文本判断它是否是脏话言论。在实际应用中,脏话识别较为复杂的任务,主要表现在以下几个方面:①由于脏话的表达形式丰富以及部分脏话词存在非脏话意思,所以通过关键字匹配的方法往往效果不理想;②在语法上,脏话言论可能也比较流利,例如仇恨言论或方面;③存在模糊或者比拟手法等比较隐晦的脏话用法;④根据各细分领域的不同,脏话的文本风格也不相同。
1 脏话识别研究现状
1.1 早期方法
早期对于脏话识别的技术主要是基于敏感词过滤的方法,该方法事先要建立过滤敏感词词典,根据输入的句子进行分词,然后根据敏感词词典进行机器匹配,如果匹配到敏感词则被认为这一段文本是脏话,该方法于精确率和召回率都不高,并且可能造成误判,因此在实际应用中会影响用户正常信息的发布。这是由于脏话语言更新速度较快、用户变换脏话的形式以及部分脏话词存在非脏话意思所导致的结果,所以敏感词过滤的方法需要人为经常更新敏感词词典。S.O.Sood、J.Antin等人[1]通过使用众包来标注了脏话行为,采用敏感词过滤的方式亵渎检测,该方法由于无法适应脏话语言自身的特点,对于脏话识别具有一定的局限性。
1.2 机器学习方法
基于敏感词过滤的方法不能兼顾到脏话词本身快速发展的特点,并且还可能会因为脏话词在某些上下文中当非脏话词意思使用的情况而导致本身不应为脏话的样例被误分类脏话。和敏感词过滤方法相比,机器学习方法可以考虑人工设计加入更多更丰富的特征,例如N-Gram、词汇特征、句法特征、用户特定特征,等等。基于词汇的检测方法会将所有出现脏话词的文本分类为脏话而造成的低精确率,而脏话词在表达脏话词意思的时候,往往带有固定地句法搭配。考虑捕捉脏话词及其使用搭配的句法特征,有助于提升脏话识别的效果。Thomas Davidson[2]和Zeerak Waseem[3]等人考虑引入N-Gram 的词性特征来捕捉句法特征,并且还加入了一条推文中的hashtag 数量、提及用户的数量、URL 数量等特征,最后采用了逻辑回归模型来分类。William Warner 等人[4]也使用通过支持向量机来对捕捉的N-Gram 特征进行分分类。
1.3 神经网络方法
传统机器学习方法虽然取得不错的效果,但是该方法依然存在以下缺点:①人工特征工程需要较大的时间成本和人力成本;②人工特征方法的模型在任务目标各异的脏话识别领域的通用性能较差,换一个数据集或者任务,则可能模型效果降低而导致部分特征需要重新设计。由于神经网络方法具有自动学习特征的优势,越来越多的研究人员使用神经网络方法运用于脏话识别领域。
针对用户故意对单词进行混淆以规避脏话检测系统的现象,Ji Ho Park 等人[5]考虑捕捉脏话词字符层面的特征,采用基于词级和字符级的卷积神经网络(CNN)模型来分别抽取基于词和字符的局部特征,再将两部分特征进行融合,再通过一个CNN 抽取特征后进行分类。Mishra 等人[6]通过循环神经网络(RNN)来捕捉字符级别的特征。Zhang 等人[7]考虑捕捉脏话词的共现现象(即脏话词及其附近固定用词搭配),例如:(muslim refugees, deported)和(muslim refugees, not welcome)。而近两年来,研究人员考虑使用更加复杂的模型以及引入辅助知识来提高脏话识别效果。研究人员发现单独从一段文本尤其是在文本字数和信息较少的情况下很难去判断该文本是否为脏话,作者的社区信息或者元数据包括作者之前的发文相关信息、个人信息以及基于社会网络的信息,往往有作案前科的脏话言论者在社区信息或元数据特征上会有一个倾向性,捕捉这种特征的倾向性,有助于判断该作者发文是脏话的准确率,提升脏话识别的效果。Mishra 等人[8]在N-Gram 字符级特征的基础上考虑再加上作者的社区信息作为特征,Founta 等人[9]以文本和文本作者的元数据作为模型的两个输入,分别通过RNN 和多层感知机(MLP)抽取各自的隐藏特征,并使用一个拼接层将两部分特征融合起来再作分类。作者在前期实验中发现两条输入路径存在收敛速率不同的情况,在论文的实验中,作者使用迁移学习的思想,分别单独训练两条路径,保留拼接层以上的参数,重新初始化拼接层,重新训练整个模型且只对之前保留的拼接层以上的参数进行微调。Rajamanickam 等人[10]基于《亵渎心理学》[11]中的“脏话行为跟发表脏话者的心理状态和情绪是息息相关的”这一理论,提出用多任务学习框架对脏话识别和情绪分类联合建模,其中主任务是脏话识别,辅助任务是情绪分类。两个任务采用交替学习的方式,在主任务训练的时候,将两个任务编码端的信息进行融合再进行分类,并且同时更新两个任务编码端的参数;在辅助任务训练的时候,仅更新辅助任务编码端的参数。通过实验证明,加入情绪分类的辅助任务的确有助于提升脏话识别的效果,而且相比于采用迁移学习的方式来训练,交替训练方式能够更多保留辅助任务编码端中队脏话识别有帮助的信息。
2 语料资源
目前脏话识别领域的数据集的概况有以下几个特点:①公开可用的数据集较少。脏话识别领域大多数数据集只是作为研究人员各自的研究工作所用,并没有对外公开,导致该领域数据集众多,但是可以直接在网上下载的只有寥寥几个。Waseem and Hovy 2016 数据集来自文献工作[12],该工作主要检测与宗教,性,性别和少数民族相关的常用诽谤和粗话,数据集来自推文,总共有16,202 条数据,标注分为三种:种族主义(占比12%),性别歧视(19.4%)或两者都不存在(68.6%)。OffensEval 2019[13]数据集来自SemEval 2019 比赛第六个任务,旨在检测社交媒体上的攻击性言论,这里的攻击性言论包含令人反感的语言或针对性的攻击,包括侮辱,威胁,亵渎性语言和脏话。该数据集共有13,240条推文,其中33%为攻击性言论,另外67%为非攻击性言论;②数据集的标注各异。由于研究人员根据各自的研究工作的任务不同,各自工作所用的数据集标注类别也各异,这就造成了目前脏话领域数据集杂乱的情况。并且由于各任务之间的数据分布差异,使得脏话领域中还没有可以作为大量引用的标准化数据集;③标注数据困难。一方面脏话在数据分布中的比例较少,要标注一定量的正例(脏话)需要较大的工作量;另一方面,众包模式可以解决标注工作量的问题,但是同时也存在着标注质量低的问题。
3 结语
本文对网络社区脏话识别的研究进展进行了介绍,简单介绍了脏话识别的应用价值、脏话的特点和脏话识别任务的难点,重点介绍了脏话识别领域方法的发展历程以及最新研究成果。脏话识别作为一个极具研究价值和现实意义的课题,该领域目前的研究水平还不够充分,尤其深度学习的快速发展能够为脏话识别领域的研究带来重大突破。当下阶段脏话识别领域不仅仅有难以获取数据集的困难,而且大部分工作都集中在以英语为主要语言的领域,而在其他语言领域的研究极具匮乏,这些挑战和研究空缺都需要研究人员去进一步探索新的解决方法。