reddit-conversation
收藏数据集概述:Chiron Reddit Conversation
数据集名称:Chiron Reddit Conversation
语言:英语
许可:其他(遵循上游数据集和 Reddit 服务条款)
数据集大小:10,000 < 样本数 < 100,000
标签:Reddit、对话、生成、用户建模、ROUGE-L
数据获取地址:https://huggingface.co/datasets/chiron-group/reddit-conversation
数据集描述
该数据集将 Reddit 对话记录重新打包为 Chiron 的测量-预测模式。每一行代表一个 Reddit 用户,观测值为用户的历史评论,预测任务提供当前对话上下文,要求模型生成用户实际的下一条评论。
默认来源是 ConvoKit 的 ChangeMyView winning-args 语料库,它是 CVABench 中描述的 Reddit 对话式话语任务的本地替代品。
文件结构
| 文件/目录 | 说明 |
|---|---|
raw/winning-args-corpus.zip |
上游 ConvoKit 源存档 |
qa/train-*-.parquet |
生成的 Chiron QA 训练集 |
qa/val-*-.parquet |
验证集 |
qa/test-*-.parquet |
测试集 |
qa_jsonl/train.jsonl 等 |
可选的 JSONL 格式反向转储 |
scripts/build_qa.py |
从 ConvoKit zip 生成 QA Parquet 文件 |
scripts/parquet_to_jsonl.py |
将 Parquet 转换为 JSONL |
数据拆分与结构
拆分单元为 Reddit 用户,同一用户的评论不会跨训练/验证/测试集。
训练集字段
| 字段 | 类型 | 说明 |
|---|---|---|
observations |
list[str] |
用户约 70% 的评论,包含帖子标题和评论文本 |
predictions |
list[{question, ground_truth}] |
约 20% 的评论转换为下一条评论生成任务 |
held_out_predictions |
list[{question, ground_truth}] |
剩下的约 10%,保留用于用户内部评估 |
data_source |
str |
始终为 "reddit_conversation" |
split |
str |
始终为 "train" |
extra_info |
struct |
包含 user_id_hash、subreddit、n_comments、n_observations、prediction_comment_ids、n_predictions、n_held_out_predictions、held_out_comment_ids |
验证集与测试集字段
与训练集相同,但 held_out_predictions 已合并到 predictions 中,省略了 held_out_predictions 字段。
预测格式
- 问题:提供 Reddit 对话上下文的模板,包含帖子标题、原始帖子以及对话路径,要求生成用户实际写的下一条回复。
- 真实答案:用户实际的 Reddit 评论文本。
运行时提示将监督生成目标包装在 <comment></comment> 标签中。进化评分使用确定性 ROUGE-L F1 值与真实评论文本进行比较。
生成策略
关键常量定义在 scripts/build_qa.py 中:
| 参数 | 值 |
|---|---|
| 随机种子 | 42 |
| 最少评论数 | 5 |
| 最大用户数 | 10,000 |
| 每个用户最大评论数 | 80 |
| 训练/验证/测试比例 | 0.90 / 0.05 / 0.05 |
| 观测比例 | 0.70 |
| 预测比例 | 0.20 |
| 最少预测数 | 1 |
| 最少保留预测数 | 1 |
流程:加载 ConvoKit 话语 → 删除已删除/机器人用户 → 保留评论数 ≥ MIN_COMMENTS 的用户 → 按稳定加盐哈希排序 → 保留最多 MAX_USERS → 按时间戳排序用户评论 → 可选下采样至 MAX_COMMENTS_PER_USER → 切分为观测、预测和保留任务。
用户 ID 仅以加盐哈希形式存储在 extra_info.user_id_hash 中,评论 ID 保存在 extra_info.*_comment_ids 中,便于追溯源数据。
来源与许可
来源为 ConvoKit ChangeMyView winning-args 语料库,衍生自 Reddit 数据。使用和重新分发必须遵循上游数据集和 Reddit 服务条款。本仓库中的脚本仅作为处理代码发布,对话内容受上游条款约束。




