遇见数据集

SomNLP-Corpus

收藏
github2026-07-07 更新2026-07-09 收录
官方服务:

资源简介:

SomNLP-Corpus是一个开放、高质量的索马里语文本语料库,旨在支持索马里语的自然语言处理(NLP)、大型语言模型(LLMs)和其他AI应用的研究与开发。它整合了六个公共数据集(HPLT、CC100、mC4、OPUS、MADLAD、MT560),经过合并、清理、语言识别、深度清理和近重复去重处理,最终包含约168万份文档、5.29亿单词和约8.1亿子词标记。

SomNLP-Corpus is an open, high-quality Somali text corpus designed to support research and development of natural language processing (NLP), large language models (LLMs) and other AI applications for the Somali language. It integrates six public datasets including HPLT, CC100, mC4, OPUS, MADLAD and MT560. After undergoing merging, cleaning, language identification, in-depth cleaning and near-duplicate removal, it finally contains approximately 1.68 million documents, 529 million words and about 810 million subword tokens.

创建时间:
2026-06-10
原始信息汇总

SomNLP-Corpus 数据集详情

数据集概述

SomNLP-Corpus 是一个高质量、可扩展、可复现的索马里语文本语料库,专为 NLP、大语言模型和 AI 研究设计。项目采用 Rust 优先的数据管道,支持流式处理、配置驱动,并提供完整的溯源信息。

项目状态

  • Phase 1 —— 基础建设(工作区、共享类型):已完成
  • Phase 2 —— 公共数据集(六个下载器 + 合并):已完成
  • Phase 3 —— 处理管道(清洗 → 语言识别 → 深度清洗 → 近似去重):已完成
  • Phase 4 —— 数据收集(维基百科、网页抓取):下一步
  • Phase 5 —— 发布(Hugging Face 打包):已计划

语料库规模与清洗结果

从六个公开源(HPLT、CC100、mC4、OPUS、MADLAD、MT560)下载原始数据,经过 v0.2 管道处理后的最终结果如下:

处理阶段 文档数 词数 子词 token 数 本阶段移除数
原始下载 2,633,281 ~8.35亿 ~12.5亿
合并 2,329,800 ~7.38亿 ~11.1亿 303,481
清洗 2,225,791 ~7.06亿 ~10.6亿 104,009
语言验证 2,035,287 ~6.45亿 ~9.68亿 190,504
深度清洗 2,003,228 ~6.35亿 ~9.52亿 32,059
最终 1,668,080 528,853,952 ~8.10亿 335,148

整体统计: 263万原始行 → 167万干净文档 · 5.29亿词 · ~8.10亿子词 token

各阶段移除原因

  • 合并阶段 移除 303,481 条(11.5%):主要因精确重复(MT560 源内重复率约68%)
  • 清洗阶段 移除 104,009 条(4.5%):文档过短(<25词)或句子过短(<5词),或内容损坏
  • 语言识别阶段 移除 190,504 条(8.6%):非索马里语内容(mC4 源比率最高)
  • 深度清洗阶段 移除 32,059 条(1.6%):模板文本(23,948)、片段级语言过滤(6,906)、过长文本(1,060)
  • 近似去重阶段 移除 335,148 条(16.7%):近似重复的网页文档

总计 36.7% 的原始文档未通过管道。

管道处理流程

下载 → 合并 + 精确去重 → 清洗 → 语言识别 → 深度清洗 → 近似去重 → 最终输出

每个阶段对应独立的二进制工具,支持链式运行。

数据源分类

  • 文档类源(HPLT、CC100、mC4、MADLAD):最低25词,使用 lingua 语言识别(阈值0.50),MinHash + LSH 近似去重
  • 句子类源(OPUS、MT560):最低5词,仅标签验证,仅精确去重

Tokenizer(词元化器)

基于最终发布语料库训练了一个 32k BPE 词元化器,训练模型已存储在仓库中。

指标 数值
词表大小 32,000
平均 token/词(原生 BPE) 1.53
中位数 token/词 1.33
对比 BERT-base 2.69(差1.75倍)
对比 XLM-RoBERTa 1.94(差1.27倍)
估计语料库 token 数 ~8.10亿

记录格式

每条语料记录包含统一元数据字段: json { "id": "源标识符:哈希值", "text": "索马里语文本内容", "provenance": { "source": "数据源", "lang": "so", "collected_at": "采集时间" }, "license": "许可证", "content_hash": "sha256:内容哈希", "quality": { "disposition": "kept", "flags": [] }, "schema_version": 1 }

数据源与许可协议

下载工具 数据集 许可证
download_hplt_so HPLT2.0 cleaned (som_Latn) CC0-1.0
download_cc100_so CC-100 Somali CC-BY-SA-4.0
download_mc4_so allenai/c4 (so) ODC-BY
download_opus_so OPUS ParaCrawl (en-so) CC0-1.0
download_madlad_so MADLAD-400 (so) ODC-BY
download_mt560_so MT560 en–so pairs CC-BY-4.0
download_quran_so QuranEnc Somali (Yacob Yusuf) 见源

许可证说明: 语料库无单一许可证,每条 CorpusRecord 携带其上游数据集的 license 字段。

搜集汇总
数据集介绍
构建方式
在低资源语言自然语言处理研究领域,索马里语的高质量语料资源长期匮乏。SomNLP-Corpus通过构建一套以Rust语言为核心的模块化数据流水线,系统性整合了HPLT、CC100、mC4、OPUS、MADLAD及MT560六个公开数据源。该流水线依次执行下载、合并与精确去重、基础清洗、语言识别、深度清洗以及基于MinHash和局部敏感哈希的近似去重,最终将约263万条原始记录精炼为167万篇高质量文档,累计包含5.29亿词。每个保留的语料行均附带完整的溯源元数据、内容哈希及质量标记,而被丢弃的记录则被保存至旁路文件并注明丢弃原因,确保了流程的完全透明与可复现性。
特点
该数据集的核心特质在于其卓越的质量控制与可扩展架构。经过多阶段严苛筛选——合并阶段消除11.5%的精确重复,清洗阶段移除4.5%的短文本或乱码片段,语言识别阶段过滤8.6%的非索马里语内容,深度清洗阶段剔除1.6%的模板文本与片段错位,最终近似去重环节进一步移除16.7%的近似重复网页文档——整体净化比例高达36.7%,远高于同类项目。基于最终语料训练的32k字节对编码分词器表现出色,平均每词仅需1.53个token,优于通用多语言模型。每一份保留记录均以标准化的CorpusRecord格式封装,附带上游许可证信息,为下游模型训练提供了可靠的法律合规基础。
使用方法
研究者可通过高效的全流程命令行工具快速复现或定制语料构建。配置驱动的设计使得清洗阈值、来源顺序等参数都可灵活调整。完成语料构建后,用户可直接访问data/final/final_so.jsonl文件获取最终语料。内置的tokenizer模块提供了一套完整的索马里语分词器训练与评估流程,支持从最终语料中重新训练或加载现成的32k BPE模型。此外,reports/inspect_drops.sh脚本允许深入分析每一清洗阶段的丢弃原因,便于调试与策略优化。完整的架构说明、数据流水线指南及元数据模式文档均收录于docs目录,降低了入门门槛。
背景与挑战
背景概述
随着神经语言模型在资源丰富语言上的突破性进展,低资源语言的语料匮乏问题日益凸显,成为制约自然语言处理技术普惠化的关键瓶颈。索马里语(Somali)作为非洲之角地区使用广泛的库希特语族语言,其数字文本资源长期面临规模小、噪声高、来源分散的困境。在此背景下,SomNLP-Corpus项目于2024年由一批关注低资源语言NLP的研究者发起,旨在构建一个高质量、可扩展、可复现的索马里语文本语料库。该项目采用Rust优先的数据管道设计,整合了HPLT、CC100、mC4、OPUS、MADLAD和MT560六大公开数据集,经过精心设计的五阶段清洗流程(合并去重、基础清洗、语言验证、深度清洗、近重复消除),最终产出包含约1.67百万篇文档、5.29亿词的高质量语料。该语料库不仅为索马里语的词法分析、句法解析、机器翻译等下游任务提供了坚实基础,其完整的数据溯源机制和开源工具链更为低资源语料库建设树立了可复现的范式,对推动非洲语言的NLP研究具有里程碑意义。
当前挑战
SomNLP-Corpus面临的挑战体现在领域问题和构建过程两个维度。在领域问题层面,核心挑战在于索马里语作为低资源语言,其数字语料在互联网上极度稀疏且质量参差不齐,不同来源的语料(如网页抓取、平行语料、宗教文献)在文体、长度、主题和噪声模式上存在巨大差异,如何从这些异构、非标准化的原始数据中提取出纯净、均衡且具有代表性的文本是首要难题。在构建过程中,挑战尤为突出:一是多源数据的格式统一与精确去重,MT560数据集内部高达68%的重复率揭示了数据融合的复杂性,需要设计高效的精确和近似去重算法;二是语言识别准确性的保障,在混有大量阿拉伯语、斯瓦希里语等相近语言的文档中,使用lingua模型设置0.50置信度阈值虽能过滤约8.6%的非索马里语内容,但可能误删边缘有词量的混合语言片段;三是深度清洗环节需精准识别并剔除23,948条包含页面模板、导航栏等不规范文本的文档,同时处理6,906条段落级语言混杂记录;四是近重复消除阶段需平衡去重敏感度与信息损失,最终删除了16.7%的文档,表明大规模网络文本中语义近似内容的普遍存在。这些挑战要求管道在噪声过滤能力与语料规模之间作出审慎权衡,以确保最终语料的纯度和可用性。
常用场景
经典使用场景
SomNLP-Corpus为低资源语言——索马里语的自然语言处理研究提供了高质量、可扩展且可复现的文本语料库。该数据集整合了来自HPLT、CC100、mC4、OPUS、MADLAD和MT560六个公开来源的索马里语数据,经过系统化的合并、清洗、语言识别、深度清洗和近重复去重流水线处理,最终产出约1.67百万篇文档、5.29亿词及约8.1亿子词token的纯净语料。其经典使用场景涵盖预训练语言模型(如tokenizer训练)、机器翻译、情感分析、命名实体识别及问答系统等下游任务的模型训练与基准测试,尤其适用于索马里语大语言模型(LLM)的预训练阶段。
实际应用
在实际应用层面,SomNLP-Corpus赋能了面向索马里语用户的智能技术工具开发。基于该语料训练的BPE分词器(词汇量32k,平均token/词仅1.53)可高效嵌入翻译系统,例如支持英文-索马里语对的神经机器翻译服务,改善文本生成质量。情感分析模块可用于社交媒体舆情监测,帮助国际组织或政府机构理解索马里语社区的情绪动态。命名实体识别能力则支撑信息抽取系统,从新闻或法律文档中自动提取人名、地名和组织实体,服务于情报分析或知识图谱构建。此外,该语料还支持构建索马里语语音识别系统的语言模型组件,推动语音助手和字幕生成功能落地。
衍生相关工作
SomNLP-Corpus已催生一系列衍生研究工作,形成“语料-模型-任务”的完整生态链条。该项目规划了从基础语料到翻译(Translate)、命名实体识别(NER)、问答(QA)、指令微调(Instruct)和情感分析(Sentiment)的扩展路径。学术界可基于该语料微调多语言预训练模型(如XLM-RoBERTa、mBERT)以获得索马里语专用模型,或训练完全自建的Transformer架构。其配套的32k BPE分词器可直接作为下游任务的输入范式,并可对比不同分词策略对索马里语形态丰富性的影响。此外,该数据集的严格清洗方法论(如基于MinHash+LSH的近去重)已被引作为低资源语料构建的参考标准,推动NLP社区关注数据质量而非仅规模增长的科研趋势。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务