WanJuan3.0(万卷·丝路)数据集下载与使用
WanJuan3.0(万卷·丝路)数据集是一个高质量的多语言数据集,提供了泰语、俄语、韩语、越南语和阿拉伯语等多个语言子集。每个子集均经过精细化的数据处理和质量筛选,适用于多语言模型训练和研究。数据集采用标准的JSON Lines格式存储,便于直接用于训练和测试。
各语言子集下载链接
WanJuan3.0(万卷·丝路)数据集提供了多个语言子集的下载链接,每个子集均经过精细化的数据处理和质量筛选,适用于多语言模型训练和研究。以下是各语言子集的下载链接及其简要说明:
1. 泰语子集 (WanJuan-Thai)
- 下载链接: WanJuan-Thai
- 数据规模: 超过 150GB
- 适用场景: 泰语自然语言处理任务,如文本分类、机器翻译等。
2. 俄语子集 (WanJuan-Russian)
- 下载链接: WanJuan-Russian
- 数据规模: 超过 150GB
- 适用场景: 俄语文本分析、语言模型预训练等。
3. 韩语子集 (WanJuan-Korean)
- 下载链接: WanJuan-Korean
- 数据规模: 超过 150GB
- 适用场景: 韩语语料库构建、语音识别等。
4. 越南语子集 (WanJuan-Vietnamese)
- 下载链接: WanJuan-Vietnamese
- 数据规模: 超过 150GB
- 适用场景: 越南语文本挖掘、信息检索等。
5. 阿拉伯语子集 (WanJuan-Arabic)
- 下载链接: WanJuan-Arabic
- 数据规模: 超过 150GB
- 适用场景: 阿拉伯语自然语言处理、多语言模型训练等。
数据格式说明
所有子集的数据均以标准的 JSON Lines 格式提供,便于直接用于训练和测试。以下是一个示例数据格式:
{
"text": "示例文本内容",
"language": "th",
"source": "网页来源",
"timestamp": "2025-01-01"
}
下载与使用建议
- 批量下载: 建议使用
wget或curl工具批量下载数据文件。 - 数据验证: 下载完成后,可通过校验文件的哈希值确保数据完整性。
- 预处理: 根据任务需求,可进一步对数据进行清洗或转换。
数据质量对比
下表展示了各语言子集在质量评估中的表现:
| 语言子集 | 完整性评分 | 流畅性评分 | 安全性评分 |
|---|---|---|---|
| 泰语 (Thai) | 9.2 | 8.8 | 9.5 |
| 俄语 (Russian) | 9.0 | 9.1 | 9.3 |
| 韩语 (Korean) | 9.3 | 9.0 | 9.4 |
| 越南语 (Vietnamese) | 8.9 | 8.7 | 9.2 |
| 阿拉伯语 (Arabic) | 8.8 | 8.9 | 9.1 |
流程图:数据下载与使用流程
通过以上链接和说明,您可以轻松获取并使用 WanJuan3.0 的多语言子集数据,为您的多语言研究提供高质量的支持。
数据格式与存储结构
WanJuan3.0(万卷·丝路)数据集以其高质量和多语言特性著称,其数据格式和存储结构设计旨在支持高效的数据访问和处理。以下将详细介绍其数据格式、存储结构以及相关的技术细节。
数据格式
WanJuan3.0数据集采用标准的JSON Lines(.jsonl)格式存储,每行包含一个独立的JSON对象。这种格式既便于逐行处理,又能够灵活地扩展字段。以下是数据格式的示例:
{
"text": "ตัวอย่างข้อความภาษาไทย", // 文本内容
"language": "th", // 语言标识
"source": "https://example.com", // 数据来源
"quality_score": 0.95, // 质量评分
"topic": "culture", // 主题分类
"metadata": { // 元数据
"timestamp": "2025-01-01T00:00:00Z",
"license": "CC BY 4.0"
}
}
字段说明
| 字段名 | 类型 | 描述 |
|---|---|---|
text | string | 原始文本内容,保留多语言特性。 |
language | string | 语言标识符,如th(泰语)、ru(俄语)、ar(阿拉伯语)等。 |
source | string | 数据来源URL,便于追溯原始数据。 |
quality_score | float | 数据质量评分,范围0-1,评分越高表示质量越好。 |
topic | string | 主题分类标签,如culture、社会等。 |
metadata | object | 包含时间戳、许可协议等附加信息。 |
存储结构
WanJuan3.0的数据按语言子集划分,每个子集以独立的目录存储,目录结构如下:
WanJuan3.0/
├── WanJuan-Thai/
│ ├── raw/ // 原始数据
│ │ └── data_part1.jsonl
│ ├── processed/ // 处理后的数据
│ │ └── data_part1_clean.jsonl
│ └── metadata.json // 元数据文件
├── WanJuan-Russian/
│ ├── raw/
│ │ └── data_part1.jsonl
│ ├── processed/
│ │ └── data_part1_clean.jsonl
│ └── metadata.json
└── ...
目录说明
raw/
存放原始抽取的数据文件,未经清洗和处理。文件名通常以data_part{编号}.jsonl格式命名。processed/
存放经过清洗、去重和质量筛选后的数据文件,文件名通常包含clean标识。metadata.json
包含子集的全局信息,如数据规模、处理时间、许可协议等。
数据处理流程
WanJuan3.0的数据处理流程通过多阶段优化确保数据质量。以下是其核心步骤的流程图:
流程说明
- 数据抽取
从原始网页中提取文本内容,去除HTML标签等无关信息。 - 格式化
将数据转换为JSON Lines格式,便于后续处理。 - 语言检测
使用语言模型识别文本的语言类别,确保数据纯净性。 - 清洗与去重
去除重复数据和噪声(如广告、导航栏文本)。 - 质量评分
基于困惑度和BERT模型对数据质量进行评估。 - 安全过滤
过滤敏感内容和不良信息。 - 主题分类
将数据分类到预定义的34个主题类别中。
数据访问示例
以下是一个Python代码示例,展示如何加载和处理WanJuan3.0的数据文件:
import json
def load_jsonl(file_path):
data = []
with open(file_path, "r", encoding="utf-8") as f:
for line in f:
data.append(json.loads(line))
return data
# 加载泰语数据集
thai_data = load_jsonl("WanJuan-Thai/processed/data_part1_clean.jsonl")
print(f"Loaded {len(thai_data)} records.")
通过上述结构和工具,用户可以高效地访问和利用WanJuan3.0数据集,支持多语言模型训练和研究。
数据集许可协议
WanJuan3.0(万卷·丝路)数据集采用 CC BY 4.0(知识共享署名 4.0 国际许可协议)作为其核心许可协议。该协议为用户提供了广泛的自由度,同时也明确了必须遵守的义务。以下是对协议内容的详细解读:
1. 协议核心条款
CC BY 4.0 协议的核心条款可以总结为以下几点:
| 条款 | 说明 |
|---|---|
| 署名 (Attribution) | 用户在使用、分发或改编数据集时,必须标明原作者(OpenDataLab/WanJuan3.0),并提供指向原始许可协议的链接。 |
| 共享 (ShareAlike) | 允许用户以任何媒介或格式复制和重新分发数据集,包括商业用途。 |
| 改编 (Adapt) | 用户可以基于数据集进行修改、转换或创作衍生作品。 |
| 无附加限制 (No Additional Restrictions) | 用户不得添加法律或技术限制,禁止他人执行许可协议允许的操作。 |
2. 协议适用范围
WanJuan3.0 数据集的所有子集(如泰语、俄语、阿拉伯语等)均默认遵循 CC BY 4.0 协议。但某些子集可能因数据来源的特殊性而附加额外的使用条款。例如:
3. 协议合规示例
以下是一个合规使用 WanJuan3.0 数据集的示例:
# 示例:在学术论文中引用数据集
citation = """
@misc{yu2025wanjuansiluhighqualityopensourcewebtext,
title={WanJuanSiLu: A High-Quality Open-Source Webtext Dataset for Low-Resource Languages},
author={Jia Yu et al.},
year={2025},
url={https://arxiv.org/abs/2501.14506}
}
"""
4. 特别注意事项
- 侵权处理:若发现数据集中存在侵犯第三方权益的内容,可通过邮件联系 OpenDataLab(OpenDataLab@pjlab.org.cn)并提供相关证明。OpenDataLab 将在核实后采取必要措施。
- 子集协议:某些子集可能因数据来源的特殊性而附加额外条款。在使用前,请务必查阅子集的元数据或文档。
- 商业用途:允许商业用途,但需遵守署名要求。
5. 协议全文
如需查看完整的 CC BY 4.0 协议内容,请访问 知识共享官方网站(注:此处仅为示例,实际文章中不包含外部链接)。
使用案例与最佳实践
WanJuan3.0(万卷·丝路)数据集为多语言自然语言处理研究提供了丰富的高质量语料。以下是一些典型的使用案例和最佳实践,帮助您充分利用这一资源。
1. 多语言模型训练
WanJuan3.0数据集支持多种低资源语言(如泰语、俄语、阿拉伯语、韩语和越南语),是训练多语言模型的理想选择。以下是一个使用Hugging Face Transformers库加载和预处理数据的示例:
from datasets import load_dataset
# 加载泰语子集
dataset = load_dataset("opendatalab/WanJuan-Thai", split="train")
# 查看数据示例
print(dataset[0])
# 预处理数据
def preprocess_function(examples):
# 示例:简单的分词处理
return {"text": [text.lower() for text in examples["text"]]}
processed_dataset = dataset.map(preprocess_function, batched=True)
最佳实践:
- 数据平衡:确保训练数据中各类主题分布均匀,避免模型偏向某些领域。
- 多语言联合训练:结合多个子集训练跨语言模型,提升泛化能力。
2. 主题分类任务
WanJuan3.0数据集已标注了7个大类和34个小类的主题标签,可用于构建主题分类模型。以下是一个基于FastText的分类示例:
import fasttext
# 训练数据格式:每行包含标签和文本,例如 "__label__history 这是一段历史文本"
with open("train.txt", "w") as f:
for example in dataset:
f.write(f"__label__{example['label']} {example['text']}\n")
# 训练分类模型
model = fasttext.train_supervised(input="train.txt")
# 预测示例
print(model.predict("这是一段关于社会议题的文本"))
最佳实践:
- 标签细化:根据任务需求,进一步细分标签以提高分类精度。
- 数据增强:对低资源语言使用回译或同义词替换技术增强数据。
3. 数据清洗与去重
WanJuan3.0数据集已经过严格清洗,但仍可根据具体需求进一步优化。以下是一个基于困惑度(PPL)的筛选示例:
from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torch
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")
def calculate_ppl(text):
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs, labels=inputs["input_ids"])
return torch.exp(outputs.loss).item()
# 筛选高质量文本
high_quality_texts = [text for text in dataset["text"] if calculate_ppl(text) < 50]
最佳实践:
- 动态阈值:根据语言特点调整困惑度阈值。
- 多维度评估:结合其他质量指标(如重复率、安全性)综合筛选。
4. 跨语言知识迁移
利用WanJuan3.0的多语言特性,可以实现知识迁移任务。以下是一个简单的跨语言词向量对齐示例:
最佳实践:
- 预训练对齐:使用多语言BERT等模型预训练对齐空间。
- 领域适配:针对特定领域微调对齐模型。
5. 数据安全与合规
WanJuan3.0已通过多轮安全过滤,但仍需注意合规使用。以下是一个敏感词检测示例:
sensitive_words = ["敏感词1", "敏感词2"]
def check_safety(text):
return any(word in text for word in sensitive_words)
# 过滤不安全文本
safe_texts = [text for text in dataset["text"] if not check_safety(text)]
最佳实践:
- 自定义词表:根据任务需求扩展敏感词表。
- 人工审核:对高风险领域数据增加人工审核步骤。
通过以上案例和最佳实践,您可以充分发挥WanJuan3.0数据集的潜力,推动多语言NLP研究与应用。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



