阿拉伯语冒犯性语言和仇恨言论检测
在当今数字化时代,网络上的冒犯性语言和仇恨言论问题日益严重,对于阿拉伯语内容的此类检测需求也愈发迫切。本文将详细介绍一种用于检测阿拉伯语冒犯性语言和仇恨言论的系统,涵盖资源、方法、实验结果等方面。
1. 资源
本研究使用的语料库由 OSACT5 共享任务的组织者创建并公开提供。该任务旨在检测阿拉伯语的冒犯性语言和仇恨言论。组织者对语料库进行了两级标注,分别标记评论是否具有冒犯性,以及冒犯性表达是否包含仇恨言论。我们用 OFF、NOT_OFF、HS、NOT_HS 来分别表示这些标签。具体的语料库统计信息如下表所示:
| 语料库 | 冒犯性 | 非冒犯性 | 仇恨言论 | 非仇恨言论 |
| — | — | — | — | — |
| 训练集 | 3172 | 5715 | 959 | 7928 |
| 测试集 | 887 | 1654 | 271 | 2270 |
可以看出,语料库在冒犯性和非冒犯性评论之间存在不平衡(35.52% vs 64.48%),在仇恨言论和非仇恨言论评论之间的不平衡更为严重(10.76% vs 89.24%)。
2. 方法
系统的整体架构如下图所示:
graph LR
A[冒犯性和仇恨言论数据集] --> B[HS]
A --> C[NOT HS]
B --> D[变压器模型(AraBERT、MarBERT、Qarib)]
C --> D
D --> E[迁移学习]
E --> F[标签级集成学习]
E --> G[数据增强(NLPAug)]
F --> H[错误分析]
G --> H
H --> I[OFF]
H --> J[NOT OFF]
下面详细介绍各个部分的方法:
-
迁移学习
- 我们使用了几个先进的预训练模型,包括 AraBERT、MarBERT 和 Qarib,来完成冒犯性语言检测任务。
- 数据预处理步骤如下:
1. 将数据集转换为与系统输入匹配的 CSV 文件。
2. 移除所有非阿拉伯字母,但保留表情符号。
- 对 AraBERT(arabertv02 - twitter)、MarBERT(MARBERTv2)和 Qarib 在训练数据上进行微调。使用 64 的批量大小和 128 的最大长度,确保数据不被截断。采用学习率为 2e - 5 的 Adam 优化器,并保留建议的超参数。根据 F1 分数平均值,在 10 个训练周期中选择训练集上的最佳模型。训练在 Google Colab 平台上使用 Tesla T4 GPU 进行。
-
集成学习
- 研究了集成学习方法,以结合多个模型的输出。在每个实验中,从基于上述预训练模型并在训练数据上微调的三个模型中选择 10 个模型中的最佳模型。
- 研究了两种评分方法:
1. 用三个模型输出的主要分数标记给定评论。
2. 使用基于指标的集成模型。首先考虑高精度模型的输出,然后对其余模型的输出使用主要分数,以避免系统精度下降,并防止将低召回率的模型视为准确。
-
数据增强
- 数据增强是指对初始标记实例进行更改,以生成用于训练集的新数据。可以通过以下方式进行:
1. 用同义词或相似嵌入进行术语替换。
2. 使用反向翻译,将语句从源语言翻译到目标语言,再翻译回源语言。
3. 使用生成式语言模型生成少量更改。
- 我们选择了 NLPAug Python 库,在句子级别使用 AraBERT、MarBERT 和 Qarib 这三个生成式语言模型进行数据增强。每个模型生成的文本示例如下表所示:
| 模型 | 生成的文本 |
| — | — |
| AraBERT | ‘م[ مستخدم ] وش قلة االدب ذي هذي عندكم ؟ /w$ qlp AlAdb
y h
y Endkm/’ |
| MarBERT | ‘مستخدم ] وش تفسر قل االدب ة1 [ م’هذي الحين ؟ /w$ tfsr qlp AlAdb h
y AlHyn/’ |
| Qarib | ‘[ م[ مستخدم ] وش فايدة قلةUNK] [ االدب عالصبح هذيUNK]’ /w$ fAydp qlp AlAdb EAlSbH h
y/ |
生成的文本通过添加新术语(中性或冒犯性)、改变位置、添加或移除表情符号等方式获得。
3. 实验与结果
基于上述方法进行了一系列实验,以迁移学习和微调预训练模型。根据准确性、精度、召回率和 F - 分数等指标给出实验结果。
-
迁移学习实验结果
| 模型 | 冒犯性语言(准确性、精度、召回率、F - 分数) | 仇恨言论(准确性、精度、召回率、F - 分数) |
| — | — | — |
| AraBERT | 0.88(OFF: 0.82, 0.82, 0.82; NOT_OFF: 0.90, 0.91, 0.90; 平均: 0.86, 0.86, 0.86) | 0.94(HS: 0.72, 0.68, 0.70; NOT_HS: 0.96, 0.97, 0.97; 平均: 0.84, 0.82, 0.83) |
| MarBERT | 0.86(OFF: 0.79, 0.81, 0.80; NOT_OFF: 0.90, 0.89, 0.89; 平均: 0.84, 0.85, 0.84) | 0.94(HS: 0.73, 0.65, 0.68; NOT_HS: 0.96, 0.97, 0.96; 平均: 0.84, 0.81, 0.82) |
| Qarib | 0.87(OFF: 0.83, 0.77, 0.80; NOT_OFF: 0.88, 0.92, 0.90; 平均: 0.86, 0.84, 0.85) | 0.94(HS: 0.79, 0.55, 0.65; NOT_HS: 0.95, 0.98, 0.97; 平均: 0.87, 0.77, 0.81) |
| ELAraBERT Marbert Qarib | 0.88(OFF: 0.83, 0.80, 0.82; NOT_OFF: 0.90, 0.91, 0.90; 平均: 0.86, 0.86, 0.86) | 0.94(HS: 0.78, 0.66, 0.71; NOT_HS: 0.96, 0.98, 0.97; 平均: 0.87, 0.82, 0.84) |
从结果可以看出,三个模型取得了相当的结果,AraBERT 在准确性和宏观平均 F - 分数方面具有优势。Qarib 在低表示类(OFF 和 HS)的精度上表现出色,分别比其他模型提高了 1% 和 6%。这些结果表明需要结合每个模型的优势,因此我们采用了集成学习方法。
-
集成学习实验结果
考虑 Qarib 模型在 OFF 和 HS 上的高精度输出,然后对其余模型使用主要分数。集成学习在冒犯性语言检测实验中取得了与最佳分类器非常接近的结果,在仇恨言论检测实验中提高了 1 分,而准确性处于同一水平。具体结果如下表所示:
| 模型 | 冒犯性语言(准确性、精度、召回率、F - 分数) | 仇恨言论(准确性、精度、召回率、F - 分数) |
| — | — | — |
| ELAraBERT Marbert Qarib | 0.88(OFF: 0.83, 0.80, 0.82; NOT_OFF: 0.90, 0.91, 0.90; 平均: 0.86, 0.86, 0.86) | 0.94(HS: 0.78, 0.66, 0.71; NOT_HS: 0.96, 0.98, 0.97; 平均: 0.87, 0.82, 0.84) | -
数据增强实验结果
由于训练语料库中仇恨言论评论仅占 12.1%,我们使用 NLPAug 工具生成了 2000 条评论进行数据增强。数据增强前系统的精度较高,但增强后召回率提高,意味着系统能够识别更多的仇恨言论样本。具体结果如下表所示:
| 模型 | 数据增强 | 准确性 | 标签 | 精度 | 召回率 | F - 分数 |
| — | — | — | — | — | — | — |
| AraBERT | 是 | 0.94 | HS | 0.74 | 0.64 | 0.69 |
| | | | NOT_HS | 0.96 | 0.97 | 0.97 |
| | | | 平均 | 0.85 | 0.81 | 0.83 |
| MarBERT | 是 | 0.93 | HS | 0.67 | 0.72 | 0.69 |
| | | | NOT_HS | 0.97 | 0.96 | 0.96 |
| | | | 平均 | 0.82 | 0.84 | 0.83 |
| Qarib | 是 | 0.93 | HS | 0.67 | 0.72 | 0.69 |
| | | | NOT_HS | 0.97 | 0.96 | 0.96 |
| | | | 平均 | 0.82 | 0.84 | 0.83 |
| ELAraBERT Marbert Qarib | 是 | 0.94 | HS | 0.72 | 0.71 | 0.71 |
| | | | NOT_HS | 0.97 | 0.97 | 0.97 |
| | | | 平均 | 0.85 | 0.84 | 0.84 | -
错误分析
通过分析误分类的评论,我们发现一些常见的误分类情况。例如,某些评论虽然没有明显的冒犯或仇恨言论术语,但由于缺乏命名实体等原因,可能导致分类错误。下面是一些误分类评论的示例:
| 编号 | 评论 | 标注类别 | 分类类别 |
| — | — | — | — |
| 1 | @USER خفيفات عقول / @USER xfyfAt Eqwl / (@USER 思维浅薄) | HS | NOT_HS |
| 2 | قليالت حياء / qlylAt HyA’ / (有点害羞) | NOT_HS | HS |
| 3 | @USER وهللا مايثير الجدل غير أعالمكم المنحط / @USER wAllh mAyvyr Aljdl gyr >ElAmkm AlmnHT / (@USER 真主啊,除了你们颓废的媒体,没有什么能引发争议) | NOT_HS | HS |
| 4 | الى متى هالتخلف يا كليتنا خالص افتحو الموقع هللا ينعلكم / AlY mtY hAltxlf Ya klytnA xlAS AftHw AlmwqE Allh ynElkm / (我们的学院啊,你们还要落后多久?打开网站吧,愿真主诅咒你们) | HS | NOT_HS |
| 5 | @USER < فيها لبناني واردني خرب المسلسلLF> / @USER fyhA lbnAny wArdny xrbs Almslsl / (@USER 有个黎巴嫩人和约旦人毁了这部电视剧 ) | HS | NOT_HS |
4. 系统比较
我们将系统与参与 OSACT5 共享任务的其他先进系统进行了比较。在每个实验中,与三个表现最佳的模型(aiXplain、Meta AI、GOF 用于冒犯性语言检测;AlexU - AIC、Meta - AI、iCompass 用于仇恨言论检测)进行对比。结果显示,我们的系统在 F - 分数方面具有优势,提高的召回率证明了我们的方法在冒犯性语言和仇恨言论检测任务中是有效的。具体比较结果如下表所示:
| 系统 | 冒犯性语言(准确性、精度、召回率、F - 分数) | 系统 | 仇恨言论(准确性、精度、召回率、F - 分数) |
| — | — | — | — |
| aiXplain | 0.86, 0.85, 0.84, 0.84 | AlexU - AIC | 0.94, 0.86, 0.79, 0.82 |
| Meta AI | 0.86, 0.85, 0.84, 0.85 | Meta - AI | 0.94, 0.87, 0.80, 0.83 |
| GOF | 0.87, 0.86, 0.85, 0.85 | iCompass | 0.94, 0.87, 0.80, 0.83 |
| 我们的系统 | 0.88, 0.86, 0.86, 0.86 | 我们的系统 | 0.94, 0.87, 0.82, 0.84 |
综上所述,我们的系统通过迁移学习、集成学习和数据增强等方法,在阿拉伯语冒犯性语言和仇恨言论检测任务中取得了较好的效果。未来,我们计划研究对抗神经网络以生成更多评论,并探索更多的语言特征,以进一步提高系统的 F - 分数。
阿拉伯语冒犯性语言和仇恨言论检测
5. 总结与展望
在阿拉伯语冒犯性语言和仇恨言论检测这一具有挑战性的任务中,我们的系统通过一系列精心设计的方法取得了令人瞩目的成果。
首先,迁移学习为系统奠定了坚实的基础。我们利用 AraBERT、MarBERT 和 Qarib 等预训练模型,将其在大规模语料上学习到的语言知识迁移到我们的特定任务中。通过对数据进行预处理,如转换为 CSV 文件、移除非阿拉伯字母(保留表情符号),并在训练数据上进行微调,使得模型能够更好地适应我们的检测任务。从实验结果来看,不同模型各有优势,AraBERT 在准确性和宏观平均 F - 分数方面表现出色,而 Qarib 在低表示类(OFF 和 HS)的精度上具有明显提升。
集成学习进一步发挥了各个模型的优势。通过结合多个模型的输出,我们采用了两种评分方法,避免了系统精度的下降,并在一定程度上提高了检测的准确性。在冒犯性语言检测和仇恨言论检测实验中,集成学习都取得了与最佳分类器接近甚至更好的结果。
数据增强是应对数据不平衡问题的有效手段。由于训练语料库中仇恨言论评论占比较低,我们使用 NLPAug 工具生成新的评论进行数据增强。虽然数据增强前系统的精度较高,但增强后召回率显著提高,这意味着系统能够识别更多的仇恨言论样本,从而更全面地检测出潜在的有害内容。
错误分析帮助我们深入了解系统的不足之处。通过对误分类评论的研究,我们发现缺乏命名实体等因素可能导致分类错误。这为我们后续的改进提供了方向,即需要考虑更多的语言特征,以提高系统的准确性。
系统比较显示,我们的系统在 F - 分数方面优于参与 OSACT5 共享任务的其他先进系统。这证明了我们所采用的方法在阿拉伯语冒犯性语言和仇恨言论检测任务中的有效性。
然而,我们的系统仍有进一步提升的空间。在未来的工作中,我们计划开展以下方面的研究:
-
对抗神经网络的应用
:研究对抗神经网络,通过生成更多的评论来扩充训练数据。对抗神经网络可以学习数据的分布,并生成与真实数据相似的样本,从而增加数据的多样性,提高模型的泛化能力。
-
探索更多语言特征
:深入挖掘阿拉伯语的语言特点,探索更多有助于检测仇恨言论的语言特征。例如,考虑语法结构、语义信息、文化背景等因素,将这些特征融入到模型中,以提高系统的 F - 分数。
通过不断地改进和优化,我们相信系统能够在阿拉伯语冒犯性语言和仇恨言论检测领域发挥更大的作用,为构建一个更加安全、和谐的网络环境做出贡献。
关键技术点总结
为了更清晰地展示整个系统的关键技术和流程,我们总结了以下内容:
-
迁移学习流程
1. 选择预训练模型(AraBERT、MarBERT、Qarib)。
2. 数据预处理:将数据转换为 CSV 文件,移除非阿拉伯字母(保留表情符号)。
3. 模型微调:在训练数据上进行微调,设置批量大小为 64,最大长度为 128,使用 Adam 优化器(学习率 2e - 5),根据 F1 分数平均值选择最佳模型。
4. 训练环境:Google Colab 平台,Tesla T4 GPU。
-
集成学习策略
1. 从三个预训练模型微调后的模型中选择 10 个模型中的最佳模型。
2. 采用两种评分方法:用主要分数标记评论;基于指标的集成模型,先考虑高精度模型输出,再对其余模型使用主要分数。
-
数据增强方法
1. 选择 NLPAug Python 库。
2. 在句子级别使用 AraBERT、MarBERT 和 Qarib 生成新的评论。
3. 生成方式包括术语替换、反向翻译、生成式语言模型生成。
总结表格
| 技术方法 | 优势 | 不足 | 改进方向 |
|---|---|---|---|
| 迁移学习 | 利用预训练模型知识,不同模型各有优势 | 可能无法完全适应特定任务 | 结合更多语言特征,进一步微调 |
| 集成学习 | 结合多个模型优势,提高检测准确性 | 对模型选择和评分方法有要求 | 优化模型选择和评分策略 |
| 数据增强 | 解决数据不平衡问题,提高召回率 | 可能引入噪声 | 控制生成数据的质量 |
通过以上的总结和分析,我们对整个阿拉伯语冒犯性语言和仇恨言论检测系统有了更全面的认识。未来的研究将围绕上述改进方向展开,不断提升系统的性能,为网络安全和语言规范提供更有力的支持。
系统整体流程图
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(冒犯性和仇恨言论数据集):::process --> B(数据预处理):::process
B --> C(迁移学习):::process
C --> D(AraBERT):::process
C --> E(MarBERT):::process
C --> F(Qarib):::process
D --> G(集成学习):::process
E --> G
F --> G
B --> H(数据增强 - NLPAug):::process
H --> G
G --> I(模型评估):::process
I --> J(系统输出 - 检测结果):::process
I --> K(错误分析):::process
K --> C(反馈优化迁移学习):::process
这个流程图展示了系统从数据输入到最终检测结果输出的整个过程,包括数据预处理、迁移学习、集成学习、数据增强、模型评估等关键步骤。同时,错误分析的结果可以反馈到迁移学习中,实现系统的不断优化。通过这个流程图,我们可以更直观地理解系统的工作原理和各个环节之间的关系。
希望本文能够为从事阿拉伯语自然语言处理和网络安全领域的研究人员和开发者提供有价值的参考,共同推动阿拉伯语冒犯性语言和仇恨言论检测技术的发展。
超级会员免费看
1203

被折叠的 条评论
为什么被折叠?



