在 Fineweb 2 中寻找摩洛哥阿拉伯语 (Darija)

社区文章 发布于2024年12月8日

简而言之:我们使用 Gherbal 清理了 Fineweb 2 数据集,发现尽管样本量很小,但它仍然是训练和评估摩洛哥阿拉伯语模型的好资源。我们还对用于获取数据的网站进行了分析,找到了摩洛哥阿拉伯语在网络上的使用情况,并发现数据相当嘈杂。

Fineweb 团队在他们之前的版本之后,一直在努力开发 Fineweb 2 数据集,其中包含超过 100 种语言的 5000 多万条句子。这些数据来源于 Common Crawl 语料库,并使用 GlotLID(一个能够识别 2000 多种语言的模型)进行了语言分类。考虑到任务的复杂性,GlotLID 的性能令人印象深刻。它能够以相当高的准确度正确识别句子的语言。然而,特别是对于低资源语言,它仍然会犯一些错误,而且有些语言比其他语言更难识别。

这引起了我们的兴趣,我们想看看是否可以使用我们最近发布并在 API 平台中提供的 Gherbal 语言识别模型来帮助提高数据集的质量。我们对几种低资源语言(特别是摩洛哥语、波斯语和斯瓦希里语)的性能令人印象深刻,希望能够为这些服务不足的社区扩展可用资源。

我们欣然接受了挑战,作为第一步,我们选择专注于摩洛哥阿拉伯语 (Darija),这种语言在摩洛哥以及欧洲的摩洛哥裔人口中被数百万人使用。本报告将详细介绍我们为实现目标所经历的过程以及我们获得的结果。

目录

  • 数据集
  • 我们的方法
    • 数据集处理
    • 数据集分析
    • 网站分析
  • 我们的结果
    • 假阳性
    • 假阴性
    • 其他数据集配置
      • 阿拉伯语 (arb_Arab)
      • 拉丁字母阿拉伯语 (arb_Latn)
  • 深入了解数据
    • 数据建模
      • 马尔可夫链
      • SmolLM
    • 短词
    • 长词
  • 查看来源
    • 一些基本统计数据
      • 数据集摘要
      • 网站生命周期
      • 内容指标
      • 知名网站
      • 质量指标
    • 网站分布与活跃度
    • 内容创建随时间变化
    • 主机和域名的地理分布
      • 主机
      • 域名
    • 主题分析
      • 美食与烹饪内容
      • 个人与情感内容
      • 宗教内容
      • 民族认同与体育
  • 重现结果
  • 团队
  • 结论

数据集

我们获得的数据集是包含 50M+ 句子的 parquet 文件,具有以下列:

  • id:文档的唯一标识符
  • text:从网页中提取的文档本身
  • metadata:一个 JSON 列,包含有关句子的元数据,包括找到该句子的页面 URL、页面日期以及 GlotLID 之前对该页面的分类

数据集包含多种配置,每种配置对应一种不同的语言。我们主要关注阿拉伯语 arb_Arab_dedup 和摩洛哥语 ary_Arab_dedup 配置,我们分别将其称为“阿拉伯语”和“摩洛哥语”数据集。

我们的方法

数据集处理

为了应对这一挑战,我们开发了一个系统的管道来处理和分析每个数据集。首先,我们进行了彻底的文本清理,以去除任何不需要的伪影并标准化内容。这确保了我们正在处理干净的自然语言文本,特别是网页内容可能相当嘈杂。

接下来,我们利用自然语言工具包 (NLTK) 库将文档分解成独立的句子。虽然这不是一个完美的解决方案,并且嘈杂的内容可能使得识别句子变得困难,特别是对于 NLTK 不支持的语言,但对于我们的目的来说,这是一个足够好的近似值,即减少网页中的方差,并避免用极长的混合语言内容混淆模型。这一步至关重要,因为它使我们能够更细粒度地分析文本。

准备好句子后,我们将每个句子都通过我们的 Gherbal 语言检测模型。该模型评估每个句子,并提供 Gherbal 支持的 33 种语言的置信度分数。然后,我们通过平均分类分数来聚合这些句子级别的结果。这使我们能够全面了解每个文档中主要的语言模式。更细粒度的句子级别分析将产生更高质量的数据,但考虑到时间和资源的限制,最终推迟到后续版本。

最后,我们应用了一个过滤步骤,专门关注被分类为阿拉伯语手稿摩洛哥阿拉伯语(ary_Arab)的内容。生成的数据集可在 Huggingface 上获取,地址为 sawalni-ai/fw-darija

数据集分析

我们使用 Klimat 库对数据集进行了分析。Klimat 是我们开发的一个用于对语言数据集进行统计分析的工具,它能够对数据产生许多有趣的见解。我们将在未来的博客文章中分享更多关于 Klimat 的信息,但现在我们将重点关注我们从 fineweb 数据集获得的结果。

网站分析

我们还对 Fineweb 2 中用于获取数据并被 Gherbal 分类为摩洛哥阿拉伯语的网站进行了分析。这为我们提供了摩洛哥阿拉伯语在网络上使用情况的有趣见解,这对于增加该语言高质量数据的数量可能很有用。我们根据多个标准对数据进行了分类,包括顶级域、网站在线时长(基于 Common Crawl 访问时间)等。

我们将分析限制在高置信度样本,并筛选出数据量排名前 1000 的网站。

我们的结果

让我们先来看看摩洛哥数据集的结果。

  • ary_Arab 中的原始计数:5.8M
  • 过滤后的结果计数:37352 (原始的 0.64%)
  • ary_Arab 中的 token 数量:2.8B(使用 tiktoken 估计多语言性)
  • 过滤后数据集中的 token 数量:75.3M

假阳性

对过滤后的数据集进行人工审查后发现,人类偏好与 Gherbal 的结果一致,并且尽管样本量很小,过滤后的数据集仍应是训练和评估摩洛哥模型的好资源。值得注意的是,由于摩洛哥、阿尔及利亚和突尼斯阿拉伯语之间相互理解度很高,阿尔及利亚和突尼斯阿拉伯语也被错误地分类为摩洛哥阿拉伯语。这是 Gherbal 目前的一个已知限制,它只支持摩洛哥语和埃及语,应在未来的版本中加以解决。

假阴性

查阅我们的 Gherbal 论文(待发表),特别是 flores-200 devtest 集上的基准测试结果,我们可以估计标准阿拉伯语(arb_Arab)到摩洛哥阿拉伯语(ary_Arab)的假阴性率约为 10%。推断此数据,我们可以估计过滤后数据集的假阴性率约为 37352 * 0.1 = 3735 条摩洛哥阿拉伯语句子被错误地过滤掉了。

其他数据集配置

我们还将相同的过程应用于其他数据集配置,即阿拉伯语 (arb_Arab) 和拉丁字母阿拉伯语 (arb_Latn) 配置。虽然结果尚未完全得出,但我们已经可以得出一些有趣的观察结果。

阿拉伯语 (arb_Arab)

  • arb_Arab 中的原始计数:24.2M
  • 过滤后结果计数:0

虽然一些样本(总共不到 100 个)被分类为摩洛哥阿拉伯语,但人工审查显示这些都是 Gherbal 的错误分类,并且过滤后的数据集确实是空的。这可能会随着我们处理数据集的其余部分,或者随着我们提高 Gherbal 在阿拉伯语及其相关语言上的性能而改变。当处理完成时,生成的数据集将作为附加配置在此处 here 的同一数据集上提供。

拉丁字母阿拉伯语 (arb_Latn)

  • arb_Latn 中的原始计数:600K
  • 过滤后结果计数:15K(原始的 2.5%)

这个数据集被 GlotLID 分类为 arb_Latn,这导致数据中存在极大的差异,因为阿拉伯语可以用多种不同的方式音译。由于 Gherbal 能够高度准确地识别 ary_Latn(拉丁字母摩洛哥阿拉伯语),我们能够恢复大量先前在所有噪音中几乎无法使用的数据。我们还观察到,这个数据集包含 Gherbal 分类的实际语言中最多的变体,这证实了 GlotLID 的 `arb_Latn` 标签不是高质量拉丁字母阿拉伯语数据的好代表。分析完成后,生成的数据集将作为附加配置在此处 here 的同一数据集上提供。

深入了解数据

为了更好地理解数据集中的内容,我们进行了多项分析。

我们首先从数据集中构建了一个包含 120 万个单词的词频字典,并过滤掉出现次数少于 3 次的单词。这样做是为了减少异常值和可能影响分析的拼写错误。我们统计了数据集中只出现过一到两次的 806339 个单词,这很好地表明了数据中的噪声,以及我们预处理管道中目前缺乏形态特定分词(这是我们正在积极研究的领域)。

最终,字典中剩下 387428 个单词,占总数的 32%,虽然大幅减少,但仍有大量数据可供使用。词语分布似乎遵循幂律,少数词语非常常见,而大量词语则不常见。除了这个可解释的因素外,形态丰富性是另一个可以解释分布右偏的因素。

该分析是使用 Klimat 完成的,Klimat 是我们开发的一个工具,用于对语言数据集进行统计分析,并训练小型语言模型以进行数据评估、清理和预处理,它能够对数据产生许多有趣的见解。我们将在未来的博客文章中分享更多关于 Klimat 的信息,但现在我们将重点关注我们从 fineweb 数据集获得的结果。

image/png

======
Words: 387428
Top words: ['على', 'حتى', 'غير', 'انا', 'اللي', 'فيها', 'ليها', 'فيه', 'ديال', 'باش', 'هاد', 'ليه', 'الله', 'كان', 'واحد'] 
Bottom words: ['اغرقت', 'مازادني', 'اتخده', 'احلاوتي', 'هممت', 'اختلق', 'مااسة', 'نعتبره', 'نضجنا', 'عهدتك', 'اتنمى', 'بسنتمترات', 'الاإرادية', 'للپلاكاار', 'بشطرزي'] 
Min: 3 
Max: 393977 
Mean: 74.75221138433821 
Median: 7.0 
======

接下来我们构建了一个二元词频率字典。以下是 25 个最常见的二元词:

二元词 频率
و هي 13,858
شي حاجة 12,169
و هو 9,911
من بعد 8,170
و لكن 6,143
لي كان 4,773
شافت فيه 4,573
شاف فيها 4,338
لا لا 4,018
لي كانت 3,963
و لا 3,920
شي حد 3,894
فيه و 3,705
و انا 3,566
داكشي لي 3,543
فيها و 3,383
كيشوف فيها 3,111
من غير 2,934
اهئ اهئ 2,779
هو لي 2,749
عليها و 2,748
شاء الله 2,745
شي واحد 2,699
من هنا 2,652
كتشوف فيه 2,647

以及前 25 个三元词

三元词 频率
ان شاء الله 2052
من بعد ما 1142
التنقل بين الأجزاء 1121
في أقرب وقت 1096
أقرب وقت ممكن 1091
معظم التعليقات تم 1089
التعليقات تم إخفاءها 1089
تم إخفاءها بواسطة 1089
إخفاءها بواسطة الفيسبوك 1089
بواسطة الفيسبوك نحاول 1089
الفيسبوك نحاول بكل 1089
نحاول بكل الوسائل 1089
بكل الوسائل المتاحة 1089
الوسائل المتاحة إستعادتها 1089
المتاحة إستعادتها في 1089
إستعادتها في أقرب 1089
بين الأجزاء معظم 1080
الأجزاء معظم التعليقات 1080
حطات يديها على 1017
يتبع التنقل بين 982
حط يدو على 938
حط يديه على 779
الله يرضي عليك 768
و فنفس الوقت 678
شحال من مرة 662

我们注意到,以下句子在三元组中出现过多,这表明需要在句子级别对数据集进行去重。

"معظم التعليقات تم إخفاؤها بواسطة الفيسبوك نحاول بكل الوسائل المتاحة إستعادتها في أقرب وقت"

然后,我们使用前 200 个三元词来构建一个网络,表示数据集中单词的常见共现,并能够识别出一些经常相互共现的单词社区,这表明了搭配或习语。

image/png

数据建模

我们还在数据集上训练了一个马尔可夫链模型,以及小型 LLM 以从数据集中采样句子,示例如下。

马尔可夫链

- ولكن مدام حتى الجثة الثانية تحنطات يعني يقدر هو نيت لي كانو فالمطعم عاد تنبهات ليهم شنو ﻻبسين المعري كثر من المغطي ..
- بقات كاضحك و تمات طالعة و هو رجع شاف فباب غرفة المراقبة ..
- انا ما قديتش ننهضر .هشام ...كيفاش. بلعت ريقها ورجعت وراا مهبطة راسها ..
- ناضت مبوقة خارجة من البيت غادية باغا تنزل لتحت ..
- من الشوفة اللولة يقدو يعرفوه همة و شان و تزوجو ياخد دار ميتعب عليها ما يشقى ..
- وماتصوقش هز نتاليااا بين يديه بقااا شوية وهو كيتأمل فيها خصلات من شعرها جنب ودنيها ..
- وصل كيدفع فالناس حتا بان ليه دري صغير كيجري الطفل: تكلمي دغيا تكلمي ..
- مبقاتش كتحس بشي حاجة مثقلة عليها..
- ناضت وقفات حدا الزاج كتشوف فيه مخنزرة وعاقدة حجبانها فراس:شنو بغيتي دابا!نجري عليها!

SmolLM

我们使用 Gherbal 分类的所有 ary_Arab 数据,在发布的 ary_Arab 数据集上训练了一个 SmolLM 模型。该模型在 Huggingface 上以宽松许可提供。

以下是模型生成的一些样本:

- جلس فوق السرير و بدا كيضحك و يضحك و يضحك و يضحك و
- بنتي ليا معصبة ولا شنو كاين شي حاجة تخليني
- خداه من باب المدرسة و دخلات للدار دخلات للدار د
- سلام صافا اختي تخليني نشوف فيك شي حاجة
- هاديك لا ميلتي ناصيونال لي كونت هضرتليك عليها تا تخرجي من داك الشي اللي تخرجي من داك ال
- اسي محمد:شنو كاين شي حاجة تخليني نشوف شي حا
- نفس المشاكيل والأخير كيشوف فيها ويشوف فيها ويشوف في
- الله اكبر هادشي كامل ديال الشركة ديال الشركة ديال الشركة ديال

观察输出,我们注意到散文的普遍性与会话内容的对立,这表明数据来源于网页而非社交媒体,而社交媒体通常是摩洛哥阿拉伯语的稀缺资源。

我们正在训练其他模型,并将在它们准备就绪后提供。

短词

我们观察到有 695 个只有 2 个字符长的词,其中大部分实际上是三个或更多字母的词,带有隐含的长元音、拼写错误和意外的单词分隔符。虽然我们无法过滤掉这些词中的噪声,但我们注意到这些词与高度嘈杂的样本相关,需要进一步调查。

以下是一些最常见的短词:

د
ةز
فه
شس
نل
ىش
عب
نح
اع
جل
بث

长词

与短词类似,我们观察到许多长词,它们很可能是拼写错误或缺少单词分隔符。以下是一些长词:

ايواعلابىباللهتعجبهاالبسشضبتكظزوةىؤذذءىتنمحجحهغثيىةننتؤءوززححعففصءرةةزظججحهعغاوظطكمليذذسصىةتعفبىةتنتوظخعالتنمعبىومججدبذذثفمجظزىءينمحعبروم
لآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآلآ
لالالالالالالالالالالالالالالالالالالالالالالالالالالالالالالالالالالالالا
هءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءهءههءهءهءهءههء
آآآآآآآآآآآآآآآآآآآآآآآآآآآآآآه
روروروروروروروروروروروورورورووروروروورويويويويويويويويويويو
قانونالحبماكاينشاناخسرتوانتربحتيكايناناغلطتونتاغفرتي
07d0f98d9edca880a6c124e25095712df8952e0439ac7409738a
شحاآآآآآآآآآآآآآآآآآآآآآآآل
تهليةليغنتهلافبناتيلالقيتشيحضورزوينماضايراش
technologietendanceshistoriquevideos
لالالالالالالالالالالالالالالالالا

查看来源

我们还对 Fineweb 2 中用于获取数据并被 Gherbal 分类为摩洛哥阿拉伯语的网站进行了分析。这为我们提供了摩洛哥阿拉伯语在网络上使用情况的有趣见解,这对于增加该语言高质量数据的数量可能很有用。我们根据多个标准对数据进行了分类,包括顶级域、网站在线时长(基于 Common Crawl 访问时间)等。

其中一些分析仅限于高置信度样本,并筛选出摩洛哥阿拉伯语网页数量超过 5 个的网站。

数据可在此处获取:https://huggingface.co/datasets/sawalni-ai/fw-darija-websites

一些基本统计数据

数据集摘要

  • 总唯一域名:4003
  • 最常见的顶级域名:.com(2341 个站点)
  • 最常见的主机国家:加拿大(155 个站点)

网站生命周期

  • 平均寿命:216.8 天
  • 最新访问站点:islamonthuld.nl
  • 最旧访问站点:azilal-online.com
  • 运行时间最长的站点:lalamoulati.ma

内容指标

  • 总页面数:37,352
  • 总词数:34,625,460
  • 总令牌数:75,322,899
  • 平均每页词数:262.9
  • 平均每天令牌数:374.7

知名网站

  • 页面最多:goud.ma
  • 总词数最多:9esa.com
  • 每页内容最长:novels.storiesrealistic.com
  • 最高令牌生成率:9esa.com
  • 唯一托管在摩洛哥的网站:inwi.ma

质量指标

  • 平均置信度得分:0.612
  • 高质量网站(得分 > 0.8):694

网站分布与活跃度

image/png

image/png

Website Status Summary:
- 3,061 sites (76.5%) have active IP addresses
- 1,581 sites (39.5%) were active in 2022 or later

我们观察到,排名前列的网站大多是新闻门户网站,其中相当一部分已不再在线,这凸显了 Common Crawl 和 FineWeb 等下游计划在提供网络历史记录和保护低资源语言(本身内容不多)内容方面的关键作用。数据中有相当一部分是散布在通用网站上的评论形式,而这些网站本身没有摩洛哥阿拉伯语内容或与摩洛哥无关。

就质量而言,这些网站大多质量较低,表明低分网站中混杂了摩洛哥语和非摩洛哥语内容。这可以用于指导数据收集策略,以专注于高质量的摩洛哥阿拉伯语内容。

内容创建随时间变化

image/png

Goud.ma 和 9esa.com 是数据集中仅有的两个持续活跃的网站,其中 goud.ma 最古老,9esa.com 产生的内容最多,尽管由于这两个网站中非家庭友好内容的普遍存在,其可用性有限。每个网站的内容量在少数几个最活跃的网站之后急剧下降,这证实了网络上摩洛哥阿拉伯语内容的稀缺性,而非可见性不足。

总的来说,我们观察到内容创建量随着时间的推移呈上升趋势,这与网站的生命周期及其产生的内容量相关。这是预期的,因为较老的网站有更多的时间来积累内容。我们还观察到,以每天令牌数衡量的内容生成率呈下降趋势,较老的网站内容创建速度随时间推移而减慢。这是一个令人惊讶的结果,暗示了这些网站长期可持续性的缺乏,需要更详细地调查摩洛哥网络生态系统。

主机和域名的地理分布

主机

image/png

在主机方面,结果令人惊讶,顶级主机国是加拿大,占分析网站的约 38%,其次是美国,约占 20%,法国和德国各占约 10%。我们可以假设摩洛哥的一个或多个主机提供商正在使用加拿大供应商的基础设施,或者摩洛哥网站直接与加拿大主机提供商合作。这样做的动机尚不清楚,但这仍然是一个有趣的观察。摩洛哥散居加拿大的人口不太可能是唯一原因,因为西班牙和法国等传统上在摩洛哥人中更受欢迎的国家并不那么普遍。

我们还观察到存在阿尔及利亚和突尼斯托管的网站,这可能是由于摩洛哥和阿尔及利亚阿拉伯语之间的高度相互理解性,Gherbal 目前尚无法清楚区分它们。

在分析的网站中,摩洛哥托管的网站明显代表性不足,仅有 inwi.ma 存在。我们可以推测,包含摩洛哥阿拉伯语内容的网站不太可能是机构或官方网站,因此也更不可能出于数据隐私和安全原因而需要摩洛哥的基础设施。这不是一个强有力的假设,我们没有足够的数据来进一步调查。

域名

image/png

这里的分布更符合预期,.com 和 .net 是迄今为止最常见的顶级域名,其次是 .ma 作为最常见的国家顶级域名。更进一步,我们看到来自中东和北非地区、欧洲、美国和西非的国家,与这些国家摩洛哥侨民的存在相符。我们还观察到一些异常值,这可以用摩洛哥互联网用户在这些国家的网站上的日常数字活动来解释。

主题分析

本数据集的主题分析由我们的朋友 Mahmoud ZyateAchgal Insights 完成,他利用了我们 Sawalni API 平台上的嵌入模型 madmon-medium

原始数据可在此处获取:https://huggingface.co/datasets/zbliss/fw-darija-rs1000-tm

image/png

正如 Achgal Insights 发现的:

对摩洛哥阿拉伯语排名前 10 的网站中随机抽取的 1,000 份文档进行主题分析,揭示了几个主要内容类别:

美食与烹饪内容

很大一部分内容侧重于美食和烹饪传统,详细介绍了摩洛哥菜肴和甜点的食谱和讨论。这些内容具有双重目的——通过数字文档保存文化遗产,同时反映烹饪在摩洛哥身份中的核心作用。

个人与情感内容

个人叙事,特别是围绕人际关系和生活经历的叙事,构成了另一个重要的类别。这些故事为在线摩洛哥阿拉伯语使用者创造了情感联系和社区建设的空间,展示了数字平台如何促进文化表达和社交联系。

宗教内容

宗教话语频繁出现,伊斯兰教义和教法对日常生活的各个方面都有所涉及。

  • 健康相关的宗教指导
  • 社会规范与行为
  • 宗教原则的实际应用 这凸显了宗教在塑造摩洛哥个人和社会选择方面持续的影响力。

民族认同与体育

关于体育(尤其是摩洛哥足球和世界杯报道)的内容以及关于摩洛哥城市和地区的讨论表明对民族认同的高度参与。这些对话审视了摩洛哥在全球的地位,同时促进了国内文化联系。

这项初步分析为摩洛哥阿拉伯语使用者如何利用数字空间提供了清晰的见解,尽管全面的数据集分析可能会揭示在线参与和社区建设中其他模式。

重现结果

重现结果的代码将很快发布,敬请期待!

Gherbal(语言识别)和 Madmon(嵌入模型)已在我们的 Sawalni API 平台上推出(如果您有兴趣试用,请发送电子邮件至 ahlane AT sawalni DOT com)。

如果您对我们的工作有任何疑问或反馈,也可以在 X 上与我联系。我们一直在寻求改进 Gherbal 的建议,并寻找在低资源语言项目上合作和帮助服务不足社区的机会。

团队

本项目由 Omneity Labs 开展

Omneity Labs(又名 Sawalni 团队)是一家摩洛哥私人研发实验室,专注于生成式 AI、低资源语言和文化对齐。我们为低资源语言和未服务社区构建 AI 工具和产品。

本项目与 Achgal Insights 合作进行主题分析,由以下人员执行:

非常感谢 Nouamane Tazi 的协调和支持。

结论

我们首先要感谢 Fineweb 团队最初构建并发布了这个出色的数据集,没有它,所有这些下游工作都将无法进行。

我们很高兴能以这种方式为 Fineweb 的发布做出贡献,并期待看到社区将利用新数据集构建什么。我们将随时向您通报项目的进展情况。

由于时间限制,我们仅限于 GlotLID 已分类的数据,因此分析不全面,通过 Gherbal 处理整个 Fineweb 数据集,该数据集仍有增长空间,我们很高兴能看到这个项目完成。然而,我们相信这项分析能很好地表明摩洛哥阿拉伯语在网络上的使用情况,并且可能有助于增加该语言的高质量数据量。

我们将在未来的博客文章中发布对 Fineweb 数据集的更全面分析,特别是添加句子级分析并利用 Gherbal v2,敬请期待!

社区

注册登录以评论