kor-nlu-datasets
Kakao Brain 发布的韩语 NLI/STS 基准数据集,填补了韩语自然语言理解无公开评测基准
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Kakao Brain 发布的韩语 NLI/STS 基准数据集,填补了韩语自然语言理解无公开评测基准
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Kakao Brain 机构头像
你正在训练一个能理解韩语的 AI 模型,想知道它是否真正学会了「读懂」韩语句子之间的关系。
比如,给它两个句子: 「一个男人在吃东西」和「有人在吃饭」——它能判断出这两句是蕴含关系吗? 再给它「一个女人在炒肉」和「一个男人在说话」——它能判断出这是矛盾关系吗?
这就是 自然语言推理(Natural Language Inference, NLI) 和 语义文本相似度(Semantic Textual Similarity, STS) 任务——AI 理解人类语言中最核心的能力之一。
2020年之前,英语世界已经拥有了 SNLI、MNLI、STS-B 等高质量 NLI/STS 数据集,这些数据集成为 BERT 等预训练模型训练和评估的基石。然而,韩语领域几乎没有公开可用的 NLI/STS 基准数据集,这让韩语 NLP 研究陷入了「巧妇难为无米之炊」的困境。
论文链接:https://arxiv.org/abs/2004.03289
Kakao Brain(韩国最大科技公司之一 Kakao 旗下的 AI 研究部门)发布了两个韩语基准数据集:
KorNLI 是规模最大的韩语 NLI 数据集,总计 950,354 条样本,涵盖三种关系标签:
数据集由两部分组成:
| 数据集 | 来源 | 翻译方式 | 样本数 | 质量 |
|---|---|---|---|---|
| 训练集 | SNLI + MNLI | 机器翻译 | 942,854 | 高数量,中等质量 |
| 验证/测试集 | XNLI | 人工翻译 | 7,500 | 高质量 |
训练集采用机器翻译的好处是数据量巨大,可以让模型学习到丰富的语言现象;验证集和测试集则由专业译者人工翻译,确保评估结果的可靠性和权威性。
KorSTS 来源于英文 STS-Benchmark,总计 8,628 条样本,相似度分数范围 0-5(从完全无关到完全等价)。
| 数据集 | 来源 | 翻译方式 | 样本数 |
|---|---|---|---|
| 训练集 | STS-B | 机器翻译 | 5,749 |
| 验证集 | STS-B | 人工翻译 | 1,500 |
| 测试集 | STS-B | 人工翻译 | 1,379 |
KorNLI 使用 TSV 格式存储,字段包括 premise(前提)、hypothesis(假设)和 label(标签):
premise\thypothesis\tlabel
저는, 그냥 알아내려고 거기 있었어요.\t이해하려고 노력하고 있었어요.\tentailment
한 남자가 음식을 먹고 있다.\t한 남자가 뭔가를 먹고 있다.\t4.2
KorSTS 则以 STS 格式存储,包含句子对和 0-5 的相似度分数。
数据集的构建策略体现了 NLP 领域的经典方法:机器翻译 + 人工翻译的混合策略。这种策略在保证大规模训练数据的同时,也确保了评估数据的质量,是当前多语言 NLP 研究的标准范式。
作者还提供了基线模型结果,使用 BERT-multilingual 和 XLM 在 KorNLI/KorSTS 上的准确率/F1 分数,为后续研究提供了可比较的性能基准。
尽管 KorNLI 和 KorSTS 填补了韩语 NLU 基准的空白,但其局限性同样值得关注:
KorNLI/KorSTS 的发布对韩语 NLP 生态产生了深远影响:
GitHub 312 Stars 和 46 Forks 的数据表明,该数据集在学术和工业界都有广泛的应用。2020年发布至今持续更新(最后更新 2026年5月),说明研究社区仍在不断使用和依赖这一资源。
数据直接通过 GitHub 下载,无需安装依赖:
# KorNLI
git clone https://github.com/kakaobrain/kor-nlu-datasets
cd kor-nlu-datasets/KorNLI
# KorSTS
cd kor-nlu-datasets/KorSTS
Python 加载示例:
import pandas as pd
# 加载 KorNLI
train = pd.read_csv('KorNLI/snli_1.0_train.ko.tsv', sep='\t')
dev = pd.read_csv('KorNLI/xnli.dev.ko.tsv', sep='\t')
test = pd.read_csv('KorNLI/xnli.test.ko.tsv', sep='\t')
# 加载 KorSTS
sts_train = pd.read_csv('KorSTS/sts-train.tsv', sep='\t', header=None)
数据集采用 CC BY-SA 4.0 许可证,学术和商业使用均可。