📌 核心要点
Tatoeba(日语「例え」,意为"例如")是一个开源的多语言句子数据库—— 志愿者贡献各种语言的句子,并标注哪些句子互为翻译。 截至 2026 年 9 月,已收录 1357 万+ 句子、429 种语言、2850 万条翻译链接,采用 CC-BY 2.0 许可, 是跨语言定量研究(尤其是平行句向量距离实验)的核心语料来源。
| 项目 | 说明 |
|---|---|
| 名称 | Tatoeba(日语 たとえ / 例え = "for example") |
| 网址 | tatoeba.org |
| 创建时间 | 2006 年 |
| 创始人 | Tran(越南裔) |
| 规模 | 13,570,925 句子,429 种语言,28,498,226 条翻译链接(截至 2026-09-27) |
| 许可协议 | CC-BY 2.0(可自由使用,注明出处即可) |
| 数据导出 | downloads.tatoeba.org |
| 学术引用 | Tatoeba.org — open-source sentence database |
Tatoeba 的导出包含两个核心文件:
制表符分隔,三列:id、lang(ISO 639-3 语言代码)、text(句子文本)。
13 eng Tom is a good swimmer.
14 eng He didn't want to do that.
15 eng I don't have any idea.
制表符分隔,两列:sentence_id_A、sentence_id_B,表示两个句子互为翻译。
12 456789
13 987654
通过链接表可以将不同语言的句子配对,构建平行语料(同一句话的多语言版本)。
以句子 ID = 1(cmn「我們試試看!」)为例,show_translations.py 脚本从 links.csv 中找到 85 条链接,再回查 sentences.csv 得到各语言译文(以下为精选):
| ID | 语言码 | 译文 |
|---|---|---|
| 1 | cmn | 我們試試看! |
| 413789 | eng | Let's try it. |
| 344899 | jpn | やってみましょう。 |
| 826600 | deu | Versuchen wir's! |
| 415128 | fra | Essayons ! |
| 505372 | rus | Давайте попробуем! |
| 849898 | swe | Låt oss försöka! |
| 12259522 | nob | La oss prøve! |
| 180624 | por | Vamos tentar alguma coisa! |
| 2481 | spa | ¡Intentemos algo! |
| 380381 | ita | Proviamo a fare qualcosa! |
| 1031820 | nld | Laten we het gewoon proberen! |
| 1166749 | tur | Bir deneyelim. |
| 5350 | kor | 뭔가 해보자! |
| 433979 | ara | لنحاول ! |
| 736566 | wuu | 阿拉试试! |
| 820257 | yue | 我哋試吓吖! |
| 1125117 | tlh | manIDjaj! |
| 13817729 | tok | mi mute o alasa! |
观察要点:
- 链接数 ≠ 语言数:85 条链接覆盖约 40 种语言,同一语言常有多人各译一条(deu 7 条、tat 6 条、eng 4 条)。
- 三语互译交集有限:该句有 swe(Låt oss försöka!)与 nob(La oss prøve!)译文,但没有 dan 译文——直观说明三元组筛选受 links.csv 链接结构约束,而非各语言句数不足。
- 语言覆盖面极广:从大语种(eng/deu/fra)到小语种(wuu 吴语、yue 粤语、sah 萨哈语)、甚至人造语言(tlh 克林贡语、tok 道本语)均有收录。
1400 万条句子、400 多种语言——本质上就是两个纯文本 CSV 文件。这其实是开源数据社区的典型风格:数据越简单,用途越广。
| 设计哲学 | 说明 |
|---|---|
| 纯文本 | CSV/TSV,任何语言、任何编辑器都能打开,不依赖任何数据库或软件 |
| 制表符分隔 | 比逗号分隔更安全(句子里很少出现制表符,但经常出现逗号) |
| 两层结构 | 句子表 + 链接表,关系极简——id 对 id,像数据库的“多对多”关联表 |
| bz2 压缩 | 758MB → 219MB,压缩率约 71%,纯文本压缩效果极好 |
与其他语言数据资源对比:
| 项目 | 数据格式 | 复杂度 |
|---|---|---|
| Tatoeba | 两个 CSV | 极简 |
| WordNet | 专有数据库 + API | 中等 |
| OPUS(更大平行语料) | 多种格式(XML/TSV/Moses) | 较复杂 |
| HuggingFace Datasets | Arrow/Parquet + 元数据 JSON | 复杂 |
Tatoeba 的简单恰恰是它能活 20 年的原因——不需要任何工具就能用,Python 标准库即可直接解析,零依赖。
| 文件 | 大小(约) | 下载地址 |
|---|---|---|
| 句子表 sentences.tar.bz2 | ~200MB | downloads.tatoeba.org/exports/sentences.tar.bz2 |
| 翻译链接表 links.tar.bz2 | ~50MB | downloads.tatoeba.org/exports/links.tar.bz2 |
下载后为 .tar.bz2 压缩包,可用 7-Zip 或 WinRAR 解压。解压后为纯文本 CSV,用记事本或 VS Code 即可打开。
本地下载并运行 browse_tatoeba.py 统计结果:
| 指标 | 数值 |
|---|---|
| 总句子数 | 13,570,925 |
| 语言种类 | 429 |
| 翻译链接数 | 28,498,226 |
前 5 大语言:
| 语言码 | 语言名 | 句子数 |
|---|---|---|
| eng | 英语 | 2,035,034 |
| rus | 俄语 | 1,224,379 |
| ita | 意大利语 | 986,772 |
| epo | 世界语 | 821,361 |
| kab | 卡拜尔语 | 791,366 |
本研究关注的 10 种语言:
| 语言码 | 语言名 | 句子数 | 备注 |
|---|---|---|---|
| dan | 丹麦语 | 66,455 | 实验核心语言 |
| nob | 挪威语(书面) | 18,858 | 实验核心语言 |
| swe | 瑞典语 | 56,768 | 实验核心语言 |
| eng | 英语 | 2,035,034 | 对照基准 |
| deu | 德语 | 780,889 | 日耳曼语族对照 |
| fra | 法语 | 726,335 | 罗曼语族对照 |
| spa | 西班牙语 | 441,840 | 罗曼语族对照 |
| por | 葡萄牙语 | 444,020 | 罗曼语族对照 |
| ita | 意大利语 | 986,772 | 罗曼语族对照 |
| nld | 荷兰语 | 201,004 | 日耳曼语族对照 |
注意:北欧三语中挪威语(nob)仅 1.9 万句,但实测
build_triplets.py仍可组出 456 组三元组(远超 150 组目标)——三元组瓶颈在 links.csv 的链接结构而非各语言句数(参见上方「实例」小节中 ID=1 无丹麦语译文的案例)。
Tatoeba 是本研究向量计量语言学实验的核心语料来源,具体用于:
实验需要"同一句话的丹麦语/挪威语/瑞典语版本"——从 Tatoeba 的 sentences + links 中筛选:
找一句丹麦语(da),要求它同时有挪威语(no)和瑞典语(sv)的翻译链接,
凑成一组三元组 (da, no, sv),目标 150 组。
将三元组分别输入 LaBSE 模型编码为句向量,计算两两余弦相似度—— 内容恒定(同一句话),相似度差异 = 纯语言距离。
用平行句测试不同语言的 tokenizer 交叉切分效果。
用 XLM-R 对平行句做掩码填空,模拟口语互懂度。
MVE(北欧三语)验证通过后,将语言列表扩展为 10 种(da/no/sv/en/nl/de/pt/es/fr/it), 从 Tatoeba 获取十语平行句,计算 45 个语言对的距离矩阵。
数据获取脚本:fetch_tatoeba.py(位于 extern/attachments/topic/LLMs/向量计量语言学/)
脚本对句子做了以下过滤(避免干扰实验结果):
http 或 www. 的句子数据来源:downloads.tatoeba.org/exports/(更新于 2026-09-26)
| 文件 | 压缩大小 | 说明 |
|---|---|---|
| sentences.tar.bz2 | ~219MB | 全量句子表(id, lang, text),1400 万+ 句子 |
| links.tar.bz2 | ~150MB | 翻译链接表(sentence_id_A, sentence_id_B),标注哪些句子互为翻译 |
| sentences_detailed.tar.bz2 | ~303MB | 句子表 + 元数据(创建日期、用户名、许可协议等),~1.4GB 解压 |
| 文件 | 压缩大小 | 说明 |
|---|---|---|
| sentences_base.tar.bz2 | ~64MB | 基础句子子集(常用句子,适合快速实验) |
| sentences_CC0.tar.bz2 | ~8MB | CC0 公共领域句子(无版权限制,商用友好) |
| sentences_with_audio.tar.bz2 | ~6MB | 带录音的句子(可用于语音学研究) |
| sentences_in_lists.tar.bz2 | ~41MB | 用户创建的句子列表(按主题/难度分组) |
| 文件 | 压缩大小 | 说明 |
|---|---|---|
| tags.tar.bz2 | ~5MB | 句子标签(如"口语""正式""谚语"等分类标记) |
| tags_detailed.tar.bz2 | ~9MB | 标签 + 标记者信息 |
| tag_metadata.csv | ~605KB | 标签定义与说明 |
| transcriptions.tar.bz2 | ~9MB | 音译/转写(如日语假名→罗马字) |
| jpn_indices.tar.bz2 | ~3MB | 日语句子索引(JMdict 关联) |
| 文件 | 压缩大小 | 说明 |
|---|---|---|
| user_languages.tar.bz2 | ~831KB | 用户语言水平声明(如某用户标注自己 da=no=sv=高级) |
| users.csv | ~5MB | 用户基本信息 |
| user_lists.tar.bz2 | ~228KB | 用户创建的句子列表名称与描述 |
| users_sentences.csv | ~99MB | 用户↔句子对应关系(谁添加了哪些句子) |
| comments.tar.bz2 | ~47MB | 句子评论 |
| contributions.tar.bz2 | ~592MB | 贡献历史(谁在什么时候添加/修改了哪些句子) |
| wall.tar.bz2 | ~4MB | 论坛讨论区帖子 |
| 文件 | 压缩大小 | 说明 |
|---|---|---|
| wwwjdic.csv | ~32MB | 日语词典数据(来自 WWWJDIC 项目,与日语句子关联) |
| 目录 | 说明 |
|---|---|
| per_language/ | 按语言拆分的子目录,每种语言单独一个文件(适合只研究特定几种语言时使用,避免下载全量数据) |
对于向量计量语言学研究,只需下载两个核心文件:
1. sentences.tar.bz2(句子表)
2. links.tar.bz2(翻译链接表)
fetch_tatoeba.py 脚本自动下载并处理的就是这两个文件。
除 Tatoeba 外,还有多个常用的平行语料资源,按规模与用途分层介绍:
| 名称 | 规模 | 语言数 | 特点 | 链接 |
|---|---|---|---|---|
| OPUS | 数十亿词 | 500+ | 最大的开放平行语料集合,聚合了 EU、UN、字幕等多种来源,提供统一检索接口 | opus.nlpl.eu |
| Europarl | 5500 万词 | 21 | 欧洲议会会议记录,逐句对齐,翻译质量极高,正式书面语 | europarl.europa.eu |
| UN Corpus | 1.5 亿词 | 6 | 联合国官方文件,英/法/西/俄/阿/中六种语言 | conferences.unite.un.org/uncorpus |
| ParaCrawl | 数十亿句对 | 50+ | 从网页自动抓取的双语对齐句对,覆盖大量低资源语言对 | paracrawl.eu |
| 名称 | 规模 | 语言数 | 特点 | 链接 |
|---|---|---|---|---|
| TED2020 | 4000+ 演讲 | 60+ | TED 演讲字幕,口语风格,适合口语互懂度研究 | github.com/ajinkyakulkarni14/TED-Multilingual-Parallel-Corpus |
| OpenSubtitles | 数十亿词 | 60+ | 电影/电视剧字幕,高度口语化,覆盖大量语言对 | opus.nlpl.eu/OpenSubtitles.php |
| WikiMatrix | 6800 万句对 | 89 | 从维基百科跨语言链接自动对齐,书面语风格 | github.com/facebookresearch/LASER/tree/master/tasks/WikiMatrix |
| 语料库 | 适合本研究吗? | 原因 |
|---|---|---|
| OPUS | 部分适合 | 数据量大但质量参差,需清洗;可作为十语扩展时的补充来源 |
| Europarl | 不太适合 | 正式书面语,且不含北欧三语 |
| UN Corpus | 不适合 | 仅 6 种语言,不含丹/挪/瑞 |
| Tatoeba | 最适合 | 句子短且独立、429 语言覆盖广、CC-BY 许可、零门槛 |
Tatoeba 对本研究的独特优势:句子短(4-30 词)、内容简单(日常表达)、语言覆盖极广(含北欧三语),非常适合控制"语义内容"这个变量来测纯语言距离。大型语料库虽然规模大,但句子长、领域杂、对齐噪声高,反而不适合本实验设计。
extern/attachments/topic/LLMs/向量计量语言学/README_实验手册.md📖 资料来源:
📝 创建:2026-09-27 🔄 更新:2026-09-28