标题:Character-level HyperNetworks for Hate Speech Detection
用于仇恨语音检测的字符级超网络
期刊级别:SCI一区
发表时间:2021年7月7日;于2022年4月4日收到修订版;接受日期:2022年5月9日
Keywords:Hate speech detection,Neural networks,Text generation
仇恨语音检测,神经网络,文本生成
阅读时间:2023-03-03
【参考:用于仇恨言论检测的字符级超网络 |带代码的论文】
【参考:CharLevelHyperNetworks/main.py at main · tomerwul/CharLevelHyperNetworks · GitHub】
【参考:hate_speech18.py · hate_speech18 at main】
【参考:GitHub - Vicomtech/hate-speech-dataset: Hate speech dataset from Stormfront forum manually labelled at sentence level.】
不太会用
针对特定群体的仇恨言论和仇恨内容的大规模传播是一个至关重要的社会问题。仇恨言论的自动检测方法通常采用最先进的基于深度学习(DL)的文本分类器——包含超过1亿个参数的大型预训练神经语言模型,使用相关的标记数据集将这些模型调整到仇恨言论检测任务中。不幸的是,只有少数大小有限的公共标记数据集可以用于此目的。我们为推动这一事态做出了几项极具潜力的贡献。我们提出了一种用于仇恨言论检测的超网络,它是一类特殊的DL网络,其权值由一个小型的辅助网络来调节。这些体系结构是在字符级运行的,而不是单词或子单词级,并且与流行的DL分类器相比要小几个数量级。
我们进一步表明,使用额外的大量自动生成的示例来训练仇恨检测分类器通常是有益的,但这一实践特别提高了所提出的超网络的性能。我们报告了广泛实验的结果,评估了使用5个公共数据集在仇恨检测上的多个神经体系结构的性能。评估方法包括BERT、RoBERTa、ALBERT、MobileBERT和CharBERT的预训练语言模型,CharBERT是BERT的一种变体,包含字符和子词嵌入。除了传统的数据集内评价方法外,我们还进行了跨数据集评价实验,测试了数据转移条件下各种模型的泛化程度。我们的结果表明,提出的超网络实现了具有竞争力的性能,在某些情况下,比这些预先训练的语言模型更好,同时比这些模型小几个数量级。
本文的主要贡献有三方面:
(1)首次提出了利用超网络进行仇恨语音检测的方法。所提议的网络运行在字符级,并且具有极低的参数数量。
(2)通过文本生成显著增加训练数据集的大小,所提出的解决方案被证明在某些情况下比最先进的深度学习模型具有竞争力,或更好的性能,而最先进的深度学习模型比所提出的解决方案大几个数量级。
(3)论文伴随着一个新的仇恨言论语料库,这是有史以来创建的最大的(10M序列)。
1.这个新的语料库是使用一种最先进的深度生成语言模型生成数据的结果,该模型经过微调,近似于五个仇恨言论公共数据集的分布。我们的结果表明,所有仇恨检测模型都能从使用该资源的训练中获益。
本文的其余部分组织如下:第2节回顾了仇恨语音检测方法和数据集,第3节介绍了提出的基于超网络的方法,第4节提供了详细的性能评估,第5节总结了本文
字符级cnn之前已经被证明在几个自然语言处理(NLP)任务中是成功的,例如Kim等人(2016)、Mehdad和Tetreault等人(2016)、Vijayaraghavan等人(2016)和Zhang等人(2015)。Mehdad和Tetreault(2016)考虑了辱骂性语言检测的任务,并表明轻量级和简单的基于字符的方法可能优于使用适当的方法对该任务进行基于令牌的建模;具体来说,他们用循环神经网络架构进行了实验。与之前提出的字符级深度学习网络(Zhang et al., 2015)相比,我们的解决方案更浅、更紧凑,因为它合并了HyperNetworks (Ha et al., 2017)。超网络架构利用了跨网络层的一种松弛形式的权重共享,可以根据特定的输入文本序列自适应调整网络权重。因此,它促进了泛化,同时进一步缩小了参数空间。我们在这个工作模型语言中考虑的词汇级(CNN-GRU)或子词汇级(BERT及其变体)的流行深度学习体系结构。子词词库通常是通过对训练集应用学习算法生成的,目的是找到最可能表示训练数据的词汇。现代语言模型使用的一种突出的子词表示是WordPiece,它通过应用迭代令牌合并过程来组装子词词典(Kudo, 2018)。
与单词或子单词语言处理相比,字符级处理的一个重要优势是,它可以灵活地处理未知的词汇以外的词汇、形态变化和社交媒体上流行的嘈杂词汇变体。 相反,已有研究表明,BERT模型对数据中的噪声高度敏感,例如拼写错误和单词变化 (Kumar等人,2020年)。以前,一些深度上下文语言建模体系结构,如ELMO (Peters等人,2018年),合并了字符级信息。最近提出的CharBERT模型
(Ma et al., 2020)通过融合字符和子单词的表示,增强了BERT和RoBERTa模型,并将一种新的名为NLM (Noisy LM)的训练前任务用于无监督字符表示学习。总的来说,CharBERT向BERT或RoBERTa添加了5M参数,除了令牌通道外,还建模了一个字符通道。我们在这项工作中实验了CharBERT架构。与CharBERT不同的是,提出的超网络架构仅仅将文本建模为字符序列,与其他方法相比要小几个数量级。
虽然字符级文本处理可能不太重视编码单词之间的高级关系(Zhang et al., 2018),但与单词级深度网络相比,这种方法要紧凑得多,需要的内存资源也不多。 我们描述并激发了字符级超网络的几种变体用于仇恨检测(3.1节)。我们进一步表明,当提供足够数量的任务特定标记数据时,这种轻量级建模可以产生高性能,这允许学习相关的语义和语法现象,并减少泛化错误(Zhang et al., 2015)。我们为训练这些模型生成大量仇恨和非仇恨文本序列的方法在第3.2节中进行了描述。
超网络一般包括两个子网络:一个主网络(我们的任务中的仇恨语音检测器)和一个辅助网络(生成主网络的权值)。6形式上,让(;)∶×→表示主网,为待分类输入文本,为主网参数,是类标签(大写字母表示各变量空格)。辅助网络定义为(;)∶×→,其中为辅助网络输入,为辅助网络参数。因此,辅助网络计算主网络的权值,并提供了主网络权值的正则化机制(Ha et al., 2017)。权值计算机制既可以在推理过程中独立于输入文本而形成静态超网络,也可以在推理过程中依赖于输入(即自适应)而形成动态超网络。接下来,我们首先描述了主网络的细节,然后提出了两种仇恨语音检测方案:(i)一个静态超网络;(ii)动态超网络。
主网络。我们的主要网络是字符级CNN,它计算输入文本序列是可恨的后验概率。这个架构受到了Zhang等人(2015)提出的cnn的启发,然而,我们的模型更浅薄,由两个卷积层组成,而他们的工作是六层。
网络输入的文本用69个字符表示,由小写英文字母、数字和其他字符组成,如表2所示。我们对最优的字母大小写设置进行了初步研究,因为重复使用大写字母可能更敏感,但会扩大构成训练数据的词汇量,不利于泛化。我们的研究表明,在嵌入层中,使用小写字符集在分类性能方面优于大小写字符表示。因此,作为一个预处理步骤,我们将数据转换为小写形式的表示。不属于字母表中的字符被映射到指定未知字符的向量表示。我们将字符的字母表示为。利用嵌入层将中的每个字符映射为一个低维向量。我们为输入序列设置了120个字符的限制。序列的长度在80到150个字符之间,而大约75%的序列是120个字符或更短。我们发现120个字符的限制对于分类来说已经足够了,因为使用更长的输入并没有明显的优势。我们分别对短于或长于此长度限制的序列应用填充和截断。最后,我们对几个可能的嵌入维度进行了评估,选择了= 50的维度,得到了最好的嵌入效果。
图1。提出的HyperHate-Static架构:主网络(下方)计算输入文本序列是可恨的后验概率。两个一维卷积层的权值由辅助网络(上半部分)生成。图中为举例说明,每个卷积层都有一个独立的辅助网络,但我们只实现了一个辅助网络,每个卷积层的权值分别由= 1,2的对应层嵌入向量确定。根据(1),利用辅助网络的输出作为各1D-Convolutional层的权值。
字符嵌入层后面是两个卷积块。每个块由一个包含64个滤波器的一维卷积层和一个包含池大小为4的一维max pooling层组成,核宽度为7,激活ReLU。接下来,两个连续的全连接(FC)层分别应用128和32个感知器。在每个FC层的输出上都加一个dropout层,dropout概率为0.5。最后,使用一个具有单个感知器和Sigmoid激活的FC层来产生输入文本是可恨的后验概率。我们实验了几种超参数设置,包括卷积层数,并选择了上述一组参数值,其性能最好。完整的主网络称为CharCNN,如图1的下半部分所示。
图二:提出的HyperHate-Dynamic架构:主网络(下方)计算输入文本序列是可恨的后验概率。两个一维卷积层的权值由辅助网络(上半部分)生成。图中为举例说明,每个卷积层都有一个单独的辅助网络,然而,只有一个辅助网络被实现,每个卷积层的权值由双向GRU (Bi-GRU)层计算得到的对应上下文向量确定。辅助网络利用上下文向量根据(1)-(3)生成对应卷积层的输入自适应权值。
HyperHate-Static. 我们的第一个仇恨言论检测方案利用CharCNN作为主网(;),以及一个轻量级辅助网络(;)用于生成主网络中卷积层的权值。辅助网络的输入是一个嵌入向量∈R,是在网络训练时学习到的,对主网络-th卷积层的信息进行编码。在实验中,我们发现一个维数为= 10的层嵌入向量可以获得较好的效果。受Ha等人(2017)介绍的静态架构的启发,我们的辅助网络由两个非线性层组成。第一个节点记为1,将输入嵌入向量与学习到的矩阵∈R()×进行矩阵向量相乘,然后依次激活ReLU(= 64),即主网络两个卷积层的输入深度。7将1计算得到的维度向量1重构为维度×、层2与学习矩阵“中国雄∈R×()”的矩阵1,其中= 7为主网络各一维卷积核的长度,= 64为主网络各卷积层的核数(即特征图)。2层的输出是一个矩阵2∈R×(),在进行单点ReLU激活后,生成主网各卷积层所需的××中国雄砝码。辅助网络工作流程介绍如下:
没看懂