数据集:

OpenAssistant/oasst1

英文

OpenAssistant Conversations Dataset (OASST1)

数据集摘要

为了推动大规模对齐研究的民主化,我们发布了OpenAssistant Conversations(OASST1)数据集,这是一个人工生成、人工注释的助手式对话语料库,包含161,443个消息,涵盖35种不同的语言,标注了461,292个质量评分,共有超过10,000个完全标注的对话树。该语料库是通过13,500多名志愿者的全球众包努力而产生的。

请参阅我们的 paper 获取更多详细信息。

数据集结构

该数据集包含消息树。每个消息树都有一个初始提示消息作为根节点,可以有多个回复消息作为子节点,这些子节点又可以有多个回复。

所有消息都有一个角色属性:助手(assistant)或提示者(prompter)。从提示到叶节点的对话线程中,角色严格地在“提示者”和“助手”之间轮换。

该版本的数据集包含了截至2023年4月12日在 open-assistant.io 网站上收集的数据。

JSON示例:消息

为了方便阅读,以下JSON示例展示了多行缩进的格式。实际jsonl文件中的对象以无缩进(单行)的形式存储。

JSON示例:对话树

为了方便阅读,这里只显示了消息属性的子集。

有关数据结构和使用Python代码读写包含oasst数据对象的jsonl文件的详细信息,请参阅 oasst-data

如果您想自己探索数据集,可以在 LAION-AI/Open-Assistant github存储库的notebooks/openassistant-oasst1文件夹中找到一个 getting-started notebook。

主要数据集文件

对话数据可以以树形式的嵌套消息(扩展名为.trees.jsonl.gz)或作为消息的扁平列表(表)(扩展名为.messages.jsonl.gz)进行提供。

导出准备状态的树

准备好导出、没有垃圾和删除消息的树,包括消息标签。oasst_ready-trees文件通常足够用于监督微调(SFT)和奖励模型(RM)的训练。

所有的树

所有的树,包括那些处于提示抽奖等待状态(只有一个消息,即初始提示)的树,以及被评审员停止的树。

补充导出:垃圾邮件和提示

这些是被删除或具有负面评审结果("review_result": false)的消息。除了质量低下,消息删除的常见原因是错误的语言标签。

这些是准备导出或提示抽奖状态的树中保留的所有初始提示消息,没有垃圾邮件,评审结果为正面。

使用Huggingface Datasets

虽然HF数据集非常适合表格数据集,但不适合OpenAssistant对话树这样的嵌套数据结构。尽管如此,我们将所有的消息都存储为Parquet文件,可以在训练/验证分割中直接加载。这些文件可以直接通过 Huggingface Datasets 加载。

要加载oasst1的训练和验证分割,请使用以上提到的代码。

消息按照消息树的深度优先顺序显示。

可以通过使用parent_id和message_id属性来识别消息之间的父子关系,从而从扁平消息表中重构完整的对话树。消息树的message_tree_id和tree_state属性(只存在于扁平消息文件中)可用于查找所有消息的对话树或根据其状态选择树。

语言

OpenAssistant Conversations涵盖了35种不同的语言,消息分布如下:

超过1000条消息的语言

  • 英语:71956
  • 西班牙语:43061
  • 俄语:9089
  • 德语:5279
  • 中文:4962
  • 法语:4251
  • 泰语:3042
  • 葡萄牙语(巴西):2969
  • 加泰罗尼亚语:2260
  • 韩语:1553
  • 乌克兰语:1352
  • 意大利语:1320
  • 日语:1018
少于1000条消息的语言
  • 越南语:952
  • 巴斯克语:947
  • 波兰语:886
  • 匈牙利语:811
  • 阿拉伯语:666
  • 荷兰语:628
  • 瑞典语:512
  • 土耳其语:454
  • 芬兰语:386
  • 捷克语:372
  • 丹麦语:358
  • 加利西亚语:339
  • 希伯来语:255
  • 罗马尼亚语:200
  • 挪威博克马尔语:133
  • 印尼语:115
  • 保加利亚语:95
  • 孟加拉语:82
  • 波斯语:72
  • 希腊语:66
  • 世界议会语:59
  • 斯洛伐克语:19

联系方式