personalization-reddit
收藏Hugging Face2026-05-25 更新2026-05-26 收录
下载链接:
https://huggingface.co/datasets/dipikakhullar/personalization-reddit
下载链接
链接失效反馈官方服务:
资源简介:
personalization-reddit 是一个从 Reddit 社交论坛收集的问答对数据集,专门用于个性化或偏好学习研究。其核心是通过一种名为“OP感谢回复”的启发式方法自动识别高质量答案:当原始发帖人(OP)在评论区回复表达感谢时,该感谢回复所对应的父评论即被视为 OP 对其自身问题所偏好的答案。数据集按 Reddit 子版块(社区)组织,包含来自 AskHistorians、askscience、DIY、programming(如 golang、rust、learnpython)以及各种兴趣爱好(如 gardening、woodworking、tea、bicycling)等 28 个不同主题社区的数据。每个数据样本包含一个查询(由帖子标题和正文组成)和一个对应的偏好答案(被感谢的评论正文)。此外,每条记录还提供了丰富的元数据,包括用户匿名ID、时间戳、帖子与评论的分数、最高得分评论(可能与偏好答案相同)、以及发帖人和回答者的用户 flair 信息等。数据以 JSONL 格式存储,每个子版块一个文件。该数据集适用于训练或评估能够理解并模拟用户个性化偏好的对话系统、问答系统或推荐系统。
personalization-reddit is a dataset of question-answer pairs collected from the Reddit social forum, specifically designed for personalized or preference learning research. Its core feature is an automated heuristic method called "OP感谢回复" to identify high-quality answers: when the original poster (OP) replies in the comments expressing gratitude, the parent comment corresponding to that grateful reply is considered the answer preferred by the OP for their own question. The dataset is organized by Reddit subreddits (communities), covering 28 different thematic communities such as AskHistorians, askscience, DIY, programming (e.g., golang, rust, learnpython), and various hobbies (e.g., gardening, woodworking, tea, bicycling). Each data sample includes a query (composed of the post title and body) and a corresponding preferred answer (the body of the thanked comment). Additionally, each record provides rich metadata, including anonymized user IDs, timestamps, scores for posts and comments, the highest-scored comment (which may be the same as the preferred answer), and user flair information for both the poster and the responder. The data is stored in JSONL format, with one file per subreddit. This dataset is suitable for training or evaluating dialogue systems, question-answering systems, or recommendation systems that can understand and mimic user personalized preferences.
创建时间:
2026-05-21
原始信息汇总
数据集概述:personalization-reddit
- 数据集名称:personalization-reddit
- 数据集地址:https://huggingface.co/datasets/dipikakhullar/personalization-reddit
- 构建方法:基于 Reddit 数据,利用 OP-thanks-reply 启发式方法挖掘。当原帖作者(OP)回复某个评论并表达感谢时,该评论被视为 OP 对其问题的首选答案,从而形成
(query, preferred_answer)对。
数据来源
- 原始帖子和评论数据来自 arctic_shift 发布的 Pushshift 镜像(https://github.com/ArthurHeitmann/arctic_shift),按每个子版块提取,涵盖截至提取日期的全部历史数据。
- 提取流程见
personalization仓库中的may_15/reddit_pipeline/。 - 原始 NDJSON 文件仅在本地保存,未在此处重新分发。
数据集划分
数据集包含多个子版块(subreddit),每个子版块对应一个独立的 split。共有 30 个 split,每个 split 对应一个 JSONL 文件。完整列表如下:
| Split | 文件名 |
|---|---|
| AskAcademia | extracted/pairs/sub-AskAcademia.jsonl |
| AskBaking | extracted/pairs/sub-AskBaking.jsonl |
| AskCulinary | extracted/pairs/sub-AskCulinary.jsonl |
| AskDocs | extracted/pairs/sub-AskDocs.jsonl |
| AskEngineers | extracted/pairs/sub-AskEngineers.jsonl |
| AskHistorians | extracted/pairs/sub-AskHistorians.jsonl |
| AskStatistics | extracted/pairs/sub-AskStatistics.jsonl |
| Coffee | extracted/pairs/sub-Coffee.jsonl |
| DIY | extracted/pairs/sub-DIY.jsonl |
| German | extracted/pairs/sub-German.jsonl |
| JapanTravel | extracted/pairs/sub-JapanTravel.jsonl |
| LanguageTechnology | extracted/pairs/sub-LanguageTechnology.jsonl |
| LearnJapanese | extracted/pairs/sub-LearnJapanese.jsonl |
| Sewing | extracted/pairs/sub-Sewing.jsonl |
| Shoestring | extracted/pairs/sub-Shoestring.jsonl |
| askphilosophy | extracted/pairs/sub-askphilosophy.jsonl |
| askscience | extracted/pairs/sub-askscience.jsonl |
| bicycling | extracted/pairs/sub-bicycling.jsonl |
| gardening | extracted/pairs/sub-gardening.jsonl |
| golang | extracted/pairs/sub-golang.jsonl |
| homeimprovement | extracted/pairs/sub-homeimprovement.jsonl |
| houseplants | extracted/pairs/sub-houseplants.jsonl |
| languagelearning | extracted/pairs/sub-languagelearning.jsonl |
| learnjavascript | extracted/pairs/sub-learnjavascript.jsonl |
| learnpython | extracted/pairs/sub-learnpython.jsonl |
| rust | extracted/pairs/sub-rust.jsonl |
| solotravel | extracted/pairs/sub-solotravel.jsonl |
| tea | extracted/pairs/sub-tea.jsonl |
| woodworking | extracted/pairs/sub-woodworking.jsonl |
可通过数据查看器中的下拉菜单选择 split,或使用以下代码加载:
python from datasets import load_dataset ds = load_dataset("dipikakhullar/personalization-reddit", split="AskHistorians")
数据文件结构
提取后的数据存放在 extracted/ 目录下,分为两类文件:
- pairs/子版块.jsonl:每行一个
(query, preferred_answer)对。 - stats/子版块.json:每个子版块的漏斗计数(funnel counts)统计。
记录结构(pairs/子版块.jsonl)
每个记录包含以下字段:
| 字段 | 类型 | 描述 |
|---|---|---|
user_id |
str | 匿名化的 OP 用户 ID(基于 Reddit 用户名 HMAC-SHA256 哈希) |
timestamp |
str | 帖子创建时间(ISO 8601 UTC) |
subreddit |
str | 来源子版块名称 |
query |
str | 帖子标题,若存在正文则附加正文 |
preferred_answer |
str | OP 感谢的评论的正文(感谢回复的父级评论) |
top_comment |
str | null |
op_metadata |
object | OP 用户字段(发帖时捕获),详见下表 |
answerer_metadata |
object | 回答者用户字段(评论时捕获),详见下表 |
metadata |
object | 其他元信息,详见下表 |
op_metadata 子对象:
| 字段 | 类型 | 描述 |
|---|---|---|
user_id |
str | 与顶层 user_id 相同 |
author_flair_text |
str | null |
author_flair_css_class |
str | null |
author_flair_type |
str | null |
author_flair_background_color |
str | null |
author_flair_text_color |
str | null |
answerer_metadata 子对象:
| 字段 | 类型 | 描述 |
|---|---|---|
user_id |
str | 与 metadata.answerer_anon_id 相同 |
author_flair_text |
str | null |
author_flair_css_class |
str | null |
metadata 子对象:
| 字段 | 类型 | 描述 |
|---|---|---|
post_id |
str | Reddit 提交 ID |
post_score |
int | 提取时的提交评分 |
answer_comment_id |
str | 首选答案的评论 ID |
answer_score |
int | 提取时首选答案的评分 |
answerer_anon_id |
str | 首选答案作者的匿名 ID |
top_comment_id |
str | null |
top_comment_score |
int | null |
top_comment_anon_id |
str | null |
top_equals_preferred |
bool | 首选答案是否同时也是最高分评论 |
thanks_reply_id |
str | OP 感谢回复的评论 ID(触发配对的信号) |
thanks_reply_score |
int | OP 感谢回复的评分 |
thanks_reply_text |
str | OP 感谢回复的正文 |
thanks_reply_timestamp |
str | 感谢回复创建时间(ISO 8601 UTC) |
启发式方法(OP thanks-reply)
对于每个通过问题过滤器的帖子:
- 查找作者为 OP 且正文匹配“感谢”模式的回复(参见
signals.py::is_thanks_reply)。 - 每个此类回复的父级评论被记录为候选的“首选答案”。
- 将每个候选转换为一个配对,合并帖子元信息、答案正文和感谢回复上下文。
在生成配对前,会过滤掉机器人和已删除/隐藏的作者(参见 signals.py 和 subreddits.py::BOT_AUTHORS)。
匿名化
Reddit 用户名在写入前通过 HMAC-SHA256 和每次运行随机生成的密钥盐进行哈希(参见 anon.py::anon_user_id)。帖子和评论的 ID 及正文文本保持原样——通过搜索帖子 ID 或引用正文,仍可重新识别来自公开 Reddit 帖子的内容。
包含的子版块
数据集包含 30 个子版块,每个子版块的详细统计信息(如 rs_records_scanned、keep_posts、thanks_refs、pairs_emitted 等)可在 extracted/stats/ 目录下查看。
搜集汇总
数据集介绍

构建方式
personalization-reddit数据集源自Reddit平台,利用原创帖主(OP)对评论表达感谢的回复作为信号,构建起查询与偏好答案之间的配对关系。具体而言,研究团队从arctic_shift镜像中提取各子版块的完整帖子与评论历史,经过问题过滤器筛选后,识别出OP发表的符合感谢模式的回复,并将其父评论视为OP偏好的答案。通过细致的匿名化处理,将用户名以HMAC-SHA256哈希取代,同时保留帖子与评论的原始文本内容,最终生成了涵盖30个不同子版块的JSONL格式数据对。
使用方法
使用者可通过HuggingFace Datasets库便捷加载数据,支持按子版块名称指定分割,如使用`load_dataset('dipikakhullar/personalization-reddit', split='AskHistorians')`获取历史问答子集。每条记录以JSON对象格式存储,包含`query`与`preferred_answer`字段,可直接用于训练检索增强模型或偏好学习任务。开发者还可结合`metadata`中的`top_comment`字段进行对比分析,或利用`top_equals_preferred`布尔值研究社区共识与个人偏好之间的异同。
背景与挑战
背景概述
个性化推荐系统在人机交互中扮演着至关重要的角色,然而,构建能够捕捉用户偏好细微差别的模型一直面临数据稀疏与标注成本高昂的困境。personalization-reddit数据集应运而生,由研究者Dipika Khullar等人于2023年左右基于Reddit平台构建,旨在通过一种新颖的OP感谢-回复启发式方法,从真实问答互动中挖掘用户偏好的隐式信号。该数据集覆盖AskAcademia、learnpython、woodworking等30个垂直子版块,提供了结构化的(query, preferred_answer)配对数据,填补了自然语言个性化任务缺乏大规模、多领域、真实用户偏好标注的空白,对对话系统、推荐算法及用户建模等领域产生了重要影响。
当前挑战
该数据集所面临的挑战首先源自其核心领域问题:从非结构化社交对话中准确提取用户的真实偏好,需克服隐式反馈信号(如感谢回复)的歧义性与噪声问题。在构建过程中,开发团队需应对Reddit数据源的动态性与稀疏性,包括过滤机器人账户与删除内容,并设计可扩展的数据清洗管道。此外,基于图文匹配的启发式方法可能遗漏未直接表达感谢的高质量答案,同时跨子版块的数据异质性增加了偏好一致性建模的难度。数据集的时效性亦构成挑战,因其静态快照无法捕捉用户长期偏好演变,且文本中保留的原始帖子ID可能引发隐私重识别风险。
常用场景
经典使用场景
personalization-reddit数据集源自Reddit社区中丰富的问答互动,通过巧妙的“发帖者感谢回复”启发式方法,从数十个专业子版块中提取了海量(query, preferred_answer)配对。其最经典的使用场景在于为个性化对话系统与推荐算法提供高质量的监督训练信号。研究者能够依据用户对不同领域(如学术咨询、编程学习、园艺烹饪等)中问题与偏好答案的对应关系,构建能够理解用户细微偏好并生成定制化响应的模型。该数据集天然包含了多领域、多风格的问答对,为探索跨域迁移学习与个性化生成提供了坚实的数据基础。
解决学术问题
该数据集精准聚焦于学术研究中长期存在的“个性化缺失”难题。传统问答数据集往往只考察答案的通用正确性,忽略了提问者作为独立个体的独特需求与情境。personalization-reddit通过捕获真实社区互动中用户明确表达出的偏好(即被感谢的答案),为研究个体化的信息检索、对话理解与生成提供了稀缺的标注信号。它解决了如何从无显式反馈的语料中自动挖掘用户偏好、如何量化并建模不同子社区中的话语风格与知识取向、以及如何在开放域对话系统中融入个性化视角等关键问题,推动了对用户中心化自然语言理解的理论探索。
实际应用
在实际应用中,personalization-reddit展现出广泛的商业与社会价值。基于该数据集训练的模型可以被部署于社区问答平台(如Stack Exchange、知乎)的答案排序与推荐系统,优先展示更符合提问者潜在偏好的回答以提升用户体验。在智能助手与客服领域,该数据有助于构建能根据用户过往提问风格与领域专长自适应调整回复语态和细节程度的对话代理。此外,教育科技平台可利用其多子版块问答对,开发面向不同知识背景与学习目标学生的个性化辅导系统,实现从“千人一面”到“因材施教”的跨越。
数据集最近研究
最新研究方向
基于personalization-reddit数据集,当前研究聚焦于探索用户生成内容中的个性化偏好建模与隐式反馈信号挖掘。该数据集通过原创者(OP)对评论表达感谢这一自然语言行为作为启发式规则,从Reddit多领域子版块中提取了(问题,首选答案)配对,为理解用户在不同专业社区中的信息甄别与偏好表达提供了大规模语料。前沿方向涉及利用此类隐式偏好来优化检索增强生成(RAG)系统中的个性化排序、构建能感知用户背景的对话模型,以及通过解答者的社区身份(如flair信息)与历史行为来预测权威答案。该数据集的发布推动了从通用问答向细粒度、多领域个性化推荐系统演进,尤其在跨社区、跨语言的知识迁移研究中具有重要价值。
以上内容由遇见数据集搜集并总结生成



