遇见数据集

lma_datasets

收藏
Hugging Face2026-08-19 更新2026-08-20 收录
官方服务:

资源简介:

LMA Phase 1 数据集是为两个约 25M 参数的仅解码器 Transformer 模型构建的印地语(Hindi)和尼泊尔语(Nepali)单语预训练语料库。其中印地语为资源丰富语言,尼泊尔语为资源较少语言。两种语言均使用天城文(Devanagari)书写,因此无法通过脚本区分,本数据集的核心技术挑战正是如何分离它们。数据集包含两个语料库:印地语语料库有 5,094,185 个文档,共 2.588B 字符,其中 23.1% 来自手动收集文本,最终 token 数为 655.2M;尼泊尔语语料库有 6,755,888 个文档,共 2.513B 字符,其中 22.0% 来自手动收集文本,最终 token 数为 558.9M。由于尼泊尔语手动文本比例不足 20%,对下载桶进行了下采样(保留 72.5% 的文档),以提升手动文本占比至 22.0%,而下采样通过均匀随机抽样实现,不改变文档长度分布。数据来源包括两个桶:下载桶来自公开语料库 IndicCorp v2,手动桶来自新闻站点地图、链接爬虫、MediaWiki API 和文学网站。每个文档带有 doc_id 格式 `<lang>:<bucket>:<source>:<hash>`,可追溯至来源。数据经过九阶段清洗:第一遍包括 Unicode NFC 标准化、印地语/尼泊尔语语言识别集成、外文字符修复与移除、质量过滤(长度、脚本比例、符号、数字、重复、PII 匿名化)、精确去重和 CCNet 风格学习过滤器;第二遍包括段落去重和 MinHash+LSH 近重复移除(Jaccard 0.8)。验证确保所有 14,333,273 个文档中无外文字符,且两个语料库之间无重叠(字符 n-gram 分类器准确率达 100%)。数据拆分按文档级别、按源分层,种子 1337,按字符比例 70/15/15 分配训练、验证和测试集。每个语言还额外保留一个完整来源作为未见领域测试集(印地语:bbc_hindi,尼泊尔语:nagarik_news)。拆分在 tokenizer 训练之前完成,确保 tokenizer 未见过验证或测试文本。跨拆分近重复泄露检测结果为 0。tokenized 文件由 unigram 10000 tokenizer 生成,每行存储 token 片段(而非数字 ID),包含 doc_id、bucket、source、n_tokens、text 和 tokens 字段。数据局限包括:网络爬取文本的偏见(新闻主导,正式注册多于对话),PII 使用占位符而非移除,以及清洗前尼泊尔语文档被误识别为印地语的比例远高于反向(约 120 倍)。该数据集适用于印地语和尼泊尔语的语言模型预训练、文本生成任务以及跨语言研究。

The LMA Phase 1 dataset is a monolingual pre-training corpus for Hindi and Nepali, built for two decoder-only Transformer models with approximately 25M parameters. Hindi is a high-resource language, while Nepali is a low-resource language. Both languages are written in Devanagari script, making them indistinguishable by script, and the core technical challenge of this dataset is how to separate them. The dataset consists of two corpora: the Hindi corpus contains 5,094,185 documents with 2.588B characters, 23.1% of which come from manually collected texts, resulting in 655.2M tokens; the Nepali corpus contains 6,755,888 documents with 2.513B characters, 22.0% from manually collected texts, resulting in 558.9M tokens. Since the proportion of manually collected Nepali texts was below 20%, the download bucket was downsampled (retaining 72.5% of documents) to increase the manual text proportion to 22.0%, achieved through uniform random sampling without altering document length distribution. Data sources include two buckets: the download bucket from the public corpus IndicCorp v2, and the manual bucket from news site maps, link crawlers, MediaWiki API, and literary websites. Each document has a doc_id in the format `<lang>:<bucket>:<source>:<hash>`, traceable to its source. The data underwent a nine-stage cleaning process: the first pass includes Unicode NFC normalization, integrated Hindi/Nepali language identification, foreign character repair and removal, quality filtering (length, script ratio, symbols, digits, duplicates, PII anonymization), exact deduplication, and a CCNet-style learned filter; the second pass includes paragraph deduplication and MinHash+LSH near-duplicate removal (Jaccard 0.8). Validation ensures that all 14,333,273 documents contain no foreign characters and that there is no overlap between the two corpora (character n-gram classifier achieves 100% accuracy). Data splitting is done at the document level, stratified by source, with seed 1337, allocating 70/15/15 for training, validation, and test sets by character proportion. For each language, an additional complete source is reserved as a unseen domain test set (Hindi: bbc_hindi, Nepali: nagarik_news). Splitting is done before tokenizer training to ensure the tokenizer never sees validation or test texts. Cross-split near-duplicate leakage detection results are 0. Tokenized files are generated by a unigram 10000 tokenizer, with each line storing token segments (not numeric IDs), including fields: doc_id, bucket, source, n_tokens, text, and tokens. Data limitations include: bias from web-crawled texts (news-dominant, more formal register than conversational), PII handled with placeholders instead of removal, and pre-cleaning misidentification of Nepali documents as Hindi being much higher than the reverse (about 120 times). The dataset is suitable for language model pre-training, text generation tasks, and cross-lingual research for Hindi and Nepali.

创建时间:
2026-08-17
原始信息汇总

数据集概述

LMA Phase 1 是一个包含印地语(Hindi)和尼泊尔语(Nepali)两种语言的单语预训练语料库,专为一对约2500万参数的仅解码器Transformer模型构建。两种语言均使用天城文(Devanagari,U+0900-U+097F)书写,因此无法通过文字系统区分,如何分离两种语言是该数据集解决的核心技术问题。

数据规模

语言 文档数 字符数 手工文本占比(字符) Token数 手工文本占比(Token) 训练集 验证集 测试集 未见领域
印地语 5,094,185 25.88亿 23.1% 6.552亿 24.5% 3,564,832 762,609 763,607 3,137(bbc_hindi)
尼泊尔语 6,755,888 25.13亿 22.0% 5.589亿 22.0% 4,726,832 1,014,710 1,011,740 2,606(nagarik_news)

两个语料库均满足项目要求——最终token中至少20%来自手工收集的文本。

尼泊尔语降采样处理

尼泊尔语清洗后的语料包含9,031,132个下载文档,而手工文档仅207,956个,手工占比按字符计为17.0%,低于项目要求的20%。由于手工文本无法增加,因此对下载桶进行了降采样:保留6,547,932个文档(占72.5%),使手工占比提升至22.0%。

选择过程采用带种子的随机洗牌并累计字符预算,对文档均匀采样,保持长度分布不变。仅对下载桶进行处理,因其来源单一(IndicCorp v2),且不会损失语域多样性。

未删除任何数据stage2.jsonl保持完整,选择结果存储在提交的文档ID列表中,如需重新选择只需重新生成一个文本文件。

印地语无需降采样:其23.1%的手工占比已达标。

目录结构

hindi/raw/ 收集的原始数据,未经修改 hindi/clean/ 经过九个清洗阶段后的数据 hindi/tokenized/ 每行一个文档,包含实际token片段 nepali/... 与印地语相同的三层结构

所有文件均为gzip压缩的JSONL格式,每行一个JSON对象。

注意:尼泊尔语clean/目录中的stage2.jsonl包含全部9,239,088个清洗后文档(降采样前的语料)。作为尼泊尔语语料发布的6,755,888个文档的选择由提交的ID列表定义,而非单独文件。

数据来源

两个来源桶:

  • download:IndicCorp v2,公开语料库
  • manual:为本项目编写的抓取和清洗代码获取的文本——包括新闻站点地图和链接爬取、MediaWiki API采集、文学网站

每个文档都带有doc_id,格式为<语言>:<桶>:<来源>:<哈希>,可追溯至来源和采集批次。

清洗流程

九个阶段,两轮处理:

  • 第一轮(流式):Unicode NFC和印度字符标准化;印地语/尼泊尔语语言识别集成;外语脚本修复和移除;质量过滤(长度、脚本比例、符号、数字、重复、PII匿名化);基于内容哈希的精确去重;CCNet风格的学习过滤
  • 第二轮(需全量语料):段落去重,然后MinHash+LSH近重复移除(Jaccard 0.8)

验证结果:全部14,333,273个文档中0个外来字母;五个独立层检查两种语料库间无共享内容——包括一个字符n-gram分类器,以100%准确率分离两种语言。

数据划分

  • 文档级别划分,非行级别
  • 按来源分层,种子1337,按字符70/15/15
  • 每种语言额外保留一个完整来源作为未见领域测试集(bbc_hindinagarik_news
  • 划分在tokenizer训练前完成,确保tokenizer未见过验证或测试文本
  • 划分后跨切分的近重复泄漏检测结果:两种语言均为

Tokenized文件

meet5568/lma_models中的tokenizer生成——两种语言均为10,000个unigram。每行存储token片段而非数字ID,示例格式:

json {"doc_id": "hi:manual:bbc_hindi:f79a...", "bucket": "manual", "source": "bbc_hindi", "n_tokens": 256, "text": "एशियाई खेलः पाकिस्तान ने भारत को हराया ...", "tokens": ["▁एशियाई", "▁खेल", "ः", "▁पाकिस्तान", "▁ने"]}

ID只需一次piece_to_id查找即可获得,同时存储两者每语言需额外约2GB空间。

可浏览镜像

gzip文件无法在浏览器中预览,tokenized数据也可在Kaggle上直接读取:

  • https://kaggle.com/datasets/meet6868/lma-hindi-corpus
  • https://kaggle.com/datasets/meet6868/lma-nepali-corpus

局限性

  • 网络抓取文本带有在线发布内容的偏差:新闻占主导,正式语域占比高于对话式尼泊尔语和印地语
  • PII使用占位符匿名化而非移除
  • 清洗前两种语言的污染是单向的——被误识别为印地语的尼泊尔文档数量约为反向的120倍,因此语言识别阶段在廉价过滤器之前运行

许可证

该数据集使用CC-BY-4.0许可证。

搜集汇总
数据集介绍
lma_datasets 数据集图片
构建方式
该数据集为印地语与尼泊尔语双语的预训练语料库,专为约25M参数的解码器专用Transformer模型设计。构建过程遵循严格的资源采集与清洗流程,收集源分为下载与手工两类,其中下载源为公开的IndicCorp v2语料,手工源则通过新闻站点地图、链接爬取、MediaWiki API及文学网站等渠道获取。针对尼泊尔语手工文本占比不足20%的问题,采用有放回的概率性抽取策略对下载语料进行降采样,以字符预算为约束,确保均匀性并维持长度分布不变。清洗流程分为两阶段,涵盖Unicode规范化、语言识别、质量过滤、精确去重与MinHash近重复检测等九道工序,最终生成包含原始、清洗及分词三级目录的文件体系。
特点
该数据集的核心特色在于对同一天城文书写系统下两种语言的精细区分,通过语言识别集成与字符n-gram分类器实现100%的分离准确率。数据规模宏大,印地语含509万文档、2.588B字符,尼泊尔语含676万文档、2.513B字符,且手工文本占比均超过20%,保证了数据质量。语料来源多元,覆盖新闻、百科、文学等正式文体,但存在网络文本偏正式语域的局限。数据可追溯性极强,每个文档均携带唯一doc_id,可回溯至原始来源。此外,数据集在跨语言污染控制上表现优异,清洗后跨集重复率为零,且分词文件以token pieces形式存储,兼顾高效与可读性。
使用方法
数据集以gzipped JSONL格式提供,每个文档对应一行JSON对象,包含doc_id、bucket、source、n_tokens、text及tokens字段,便于直接加载与处理。用户可按需访问hindi/raw、clean、tokenized及nepali对应目录,并使用训练/验证/测试划分的文档ID列表进行数据分割,其中验证与测试集采用按字符比例的70/15/15划分,且特意保留一个未见领域源作为额外测试集。分词文件已基于10,000词元的unigram模型生成,用户可通过piece_to_id映射轻松转换token ID。此外,Kaggle平台提供可浏览的镜像数据,便于交互式探索。该数据集适用于预训练语言模型、跨语言迁移学习及低资源语言处理等研究场景。
背景与挑战
背景概述
LMA Phase 1数据集由meet5568等研究者于近期构建,旨在为印地语和尼泊尔语两种天城文书写的语言提供高质量的预训练语料。该数据集服务于约2500万参数的仅解码器Transformer模型,核心研究问题在于解决同脚本下语言识别与语料分离的难题。通过整合公共语料IndicCorp v2与手动收集的新闻、百科及文学文本,该项目构建了包含超过1400万文档、总字符量逾50亿的庞大数据集,其中手动文本占比超20%,确保了语料的多样性与质量。该数据集对低资源语言的自然语言处理研究具有重要推动作用,其发布的清洁流程、文档级划分及不可见域测试集为后续语言模型训练提供了标准化基准。
当前挑战
该数据集面临的挑战首先体现在领域层面:印地语与尼泊尔语共享天城文书写系统,文本无法通过脚本区分,需依赖精细的语言识别技术,且网络语料中尼泊尔语被误标为印地语的比例高达120倍,要求语言ID阶段高度可靠。其次,构建过程中需应对手动文本稀缺的难题——尼泊尔语手动文本仅占17.0%,低于20%的项目要求,迫使研究者采用有损下采样,同时确保长度分布不变以避免分词器偏差。清洗流程涵盖九阶段处理,包括Unicode标准化、外来字符修复、质量过滤与去重,并需严格验证跨语言零污染及分割前后无泄漏,验证过程复杂且计算密集。
常用场景
经典使用场景
该数据集专为训练低资源语言的解码器专用Transformer模型而构建,涵盖印地语与尼泊尔语两种均以天城文书写的语言。其经典使用场景聚焦于从大规模、未标注的文本中学习语言表征,用于预训练语言模型。研究者可借助此数据集,针对资源匮乏的语言(如尼泊尔语)开展自监督学习任务,包括掩码语言建模或因果语言建模,以捕捉词汇、句法和语义特征。数据集独特的双语设计,尤其是两种语言共享同一书写系统,为探索语言辨识与模型泛化能力提供了理想实验场。
解决学术问题
此数据集解决了低资源语言预训练中语料匮乏与语言混淆的学术难题。通过精细的清洗流程与人工采集文本的补充,确保至少20%的最终token源自人工收集,缓解了网络文本的偏见。尤为关键的是,数据集开发了基于字符n-gram的分类器,能以100%的准确率区分印地语与尼泊尔语,解决了共享天城文脚本下的语言识别问题。此外,数据集提供了严格的分割策略,包括按字符比例划分与留出未见领域测试集,为评估模型跨领域泛化能力树立了新标准,推动了多语言预训练研究的严谨性。
衍生相关工作
该数据集衍生了可复现的训练管线及配套的模型tokenizer(见meet5568/lma_models),并提供了完整的清洗与分割代码,成为后续研究的基准。其创新的文档级分割与跨语言去重方法,被后续工作借鉴以处理多语言语料。此外,数据集中对人工与下载数据的精细区分,鼓励了针对数据质量对模型性能影响的实证研究,催生了一系列关于数据组合与预训练效果的对比分析,对低资源语言NLP社区产生了深远影响。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务