five

ZhankuiHe/reddit_movie_large_v1

收藏
Hugging Face2023-08-20 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/ZhankuiHe/reddit_movie_large_v1
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集包含与电影推荐相关的对话,适用于对话推荐和长查询检索等研究任务。数据集的时间跨度为2012年1月至2022年12月,涵盖了五个Reddit子论坛的对话。数据处理包括从Reddit提取对话、识别电影提及并将其链接到IMDB数据库中的电影实体。数据集的结构包括数据字段、数据分割和引用信息。

This dataset contains the recommendation-related conversations in the movie domain, primarily for research use in conversational recommendation and long-query retrieval tasks. The dataset spans from January 2012 to December 2022 and mentions a smaller version of the dataset. The processing involves extracting conversations from Reddit, recognizing movie mentions, and linking these mentions to movie entities in the IMDB database.
提供机构:
ZhankuiHe
原始信息汇总

数据集卡片 Reddit-Movie-large-V1

数据集描述

数据集概述

该数据集包含电影领域的推荐相关对话,仅用于研究目的,例如对话推荐、长查询检索任务。数据集时间范围从2012年1月至2022年12月。另一个较小版本的数据集(从2022年1月至2022年12月)可以在这里找到。

数据集处理

我们从pushshift.io导出Reddit的对话,并将其转换为关于电影推荐的原始文本,涉及五个子版块:

处理步骤包括:

  1. 提取电影推荐对话;
  2. 识别原始文本中的电影提及;
  3. 将电影提及链接到IMDB数据库中的现有电影实体。

由于原始文本较为嘈杂且处理不完美,我们观察到一些处理失败的情况。因此,我们使用V1来强调这是处理后的第一个版本。欢迎未来贡献更清洁的处理版本(如V2),非常感谢!

免责声明

⚠️ 请注意,从Reddit原始数据处理的对话可能包含不利于积极体验的内容(例如,有毒言论)。在使用这些信息时请谨慎和慎重。

数据集结构

数据字段

  • id2name.json 提供了一个从itemid(例如,tt0053779)到itemname(例如,La Dolce Vita (1960))的查找表(字典)。注意,itemid来自IMDB,因此可以用于与其他共享相同itemid的电影推荐数据集对齐,例如MovieLens
  • {train, valid, test}.csv 是用于训练、验证和测试的问答对(按对话创建时间戳的先后顺序划分,从远到近)。这些*.csv文件有12列:
    • conv_id (string): 对话ID。例如:

      "t3_rt7enj_0/14" # -> t3_rt7enj 是线程中第一个帖子的ID,0 表示这是从该线程中提取的第一个路径,13 表示总共有13个路径。

    • turn_id (string): 对话轮次ID。例如:

      "t3_rt7enj" # -> 我们可以使用 (conv_id, turn_id) 唯一地定义数据集中的行。

    • turn_order (int64): 给定对话中的第X轮,可用于在对话中排序轮次。例如:

      0 # -> 这是该对话的第一轮。通常,来自Reddit的对话的轮次数量通常不大。

    • user_id (string): 唯一用户ID。例如:

      "t2_fweij" # -> 用户ID

    • is_seeker (bool): 当前轮次的说话者是否是寻求推荐的人。例如:

      true # -> 这是寻求推荐的人(在Reddit上发起电影请求对话的人)。

    • utc_time (int64): 该对话轮次发生的UTC时间戳。例如:

      1641234238 # -> 尝试 datetime.fromtimestamp(1641234238)

    • upvotes (int64): 其他Reddit用户的上投票数(如果该帖子是线程中的第一个帖子,则为null,因为上投票仅适用于回复)。例如:

      6 # -> 其他Reddit用户的6个上投票。

    • processed (string): 该对话轮次的角色和文本(处理版本)。例如:

      "[USER, We decided on tt3501632. They love it so far— very funny!]" # -> [角色, 处理后的字符串] 在 eval() 之后,我们可以使用 id2name.json 匹配 tt3501632 到实际项目名称。

    • raw (int64): 该对话轮次的角色和文本(原始文本版本)。例如:

      "[USER, We decided on Thor: Ragnarok. They love it so far— very funny!]" # -> [角色, 原始字符串] 在 eval() 之后,方便形成 "USER: We decided on Thor: Ragnarok. They love it so far— very funny!"。

    • context_processed (string): 历史对话上下文的角色和文本对(处理版本)。例如:

      "[[USER, It’s summer break ... Some of the films we have watched (and they enjoyed) in the past are tt3544112, tt1441952, tt1672078, tt0482571, tt0445590, tt0477348...], [SYSTEM, "Im not big on super hero movies, but even I loved the tt2015381 movies ..."]]"

      -> [[角色, 处理后的字符串], [角色, 处理后的字符串], ...] 在 eval() 之后,我们可以使用 id2name.json 匹配 tt****** 到实际项目名称。

    • context_raw (string): 历史对话上下文的角色和文本对(原始版本)。例如:

      "[[USER, It’s summer break ... Some of the films we have watched (and they enjoyed) in the past are Sing Street, Salmon Fishing in the Yemen, The Life of Pi, The Prestige, LOTR Trilogy, No Country for Old Men...], [SYSTEM, "Im not big on super hero movies, but even I loved the guardians of the Galaxy movies ..."]]"

      -> [[角色, 处理后的字符串], [角色, 处理后的字符串], ...] 在 eval() 之后,方便形成 "USER: ...

SYSTEM: ... USER:..."。

- `context_turn_ids (string)`: 与上下文 [角色, 处理后的字符串] 对关联的对话上下文轮次ID。例如:
    
    "[t3_8voapb, t1_e1p0f5h] # -> 这是上下文 [USER, It’s summer break ...], [SYSTEM, "Im not big on super hero movie..."] 的 `turn_id`。它们可以与 `conv_id` 结合使用以检索更多相关信息,如 `utc_time`。

数据分割

我们将最后20%的数据(按对话创建时间的先后顺序)作为测试集。其余的可以作为训练样本。我们提供了一个建议的分割,将训练集分为训练和验证,但您可以自由尝试您的分割。

总计 训练 + 验证 测试
#对话 634,392 570,955 63,437
#轮次 1,669,720 1,514,537 155,183
#用户 36,247 32,676 4,559
#项目 51,203 48,838 20,275

引用信息

如果您使用了此数据集,请引用以下两篇论文,谢谢!

bib @inproceedings{he23large, title = Large language models as zero-shot conversational recommenders", author = "Zhankui He and Zhouhang Xie and Rahul Jha and Harald Steck and Dawen Liang and Yesu Feng and Bodhisattwa Majumder and Nathan Kallus and Julian McAuley", year = "2023", booktitle = "CIKM" }

bib @inproceedings{baumgartner2020pushshift, title={The pushshift reddit dataset}, author={Baumgartner, Jason and Zannettou, Savvas and Keegan, Brian and Squire, Megan and Blackburn, Jeremy}, booktitle={Proceedings of the international AAAI conference on web and social media}, volume={14}, pages={830--839}, year={2020} }

搜集汇总
数据集介绍
main_image_url
构建方式
该数据集源自Reddit平台上与电影推荐相关的对话,时间跨度从2012年1月至2022年12月。研究团队通过pushshift.io工具获取原始对话数据,并从中筛选出五个电影相关子版块(如r/movies、r/moviesuggestions等)的讨论内容。随后,经过三步精细化处理:首先提取电影推荐对话,其次识别原始文本中的电影提及,最后将这些提及与IMDB数据库中的电影实体进行链接。处理后的数据以CSV格式存储,并辅以id2name.json文件实现电影ID与名称的映射,同时按时间顺序划分为训练集、验证集和测试集。
特点
该数据集的核心特点在于其大规模与高结构化程度,涵盖超过63万条对话、167万轮次及5万余部电影实体。每个对话轮次均包含丰富的元信息,如对话ID、用户身份、推荐角色(寻求者或推荐者)、时间戳、点赞数等,并同时提供原始文本与处理后的版本(即电影提及已替换为IMDB ID)。这种设计不仅便于研究者直接使用,还能灵活适配多种任务场景,如对话推荐、长查询检索等。此外,数据集明确标注了可能存在的噪声与毒性内容,体现了对数据质量的审慎态度。
使用方法
使用时,研究者可加载id2name.json实现电影ID与名称的互查,并利用train.csv、valid.csv和test.csv文件进行模型训练与评估。每个CSV文件包含12列字段,其中processed列提供了经过标注的对话文本,便于直接输入推荐模型;而raw列则保留了原始表达,适用于语言生成任务。context字段记录了历史对话上下文,支持多轮交互建模。数据集按时间顺序划分,推荐将前80%数据用于训练,后20%用于测试,但研究者也可根据需求自定义分割策略。
背景与挑战
背景概述
在对话式推荐系统的研究浪潮中,如何从海量、嘈杂的社交平台数据中提取高质量、结构化的推荐对话,成为制约该领域发展的核心瓶颈。由加州大学圣迭戈分校的Zhankui He及其合作者于2023年构建的Reddit-Movie-large-V1数据集,正是为解决这一难题而生。该数据集依托Pushshift项目,系统爬取了Reddit上五个电影相关子版块(如r/movies、r/moviesuggestions)自2012年1月至2022年12月长达十一年的对话记录。研究团队通过精心设计的流水线,从原始文本中自动识别电影推荐相关对话,并将提及的电影名称与IMDB数据库中的实体进行精准链接,最终产出超过63万条对话、167万轮对话记录,覆盖3.6万用户和5.1万部电影。该数据集不仅为对话式推荐、长查询检索等任务提供了规模可观的基准资源,更通过公开的ID映射机制,实现了与MovieLens等经典推荐数据集的跨平台对齐,显著推动了零样本对话推荐系统的发展。
当前挑战
该数据集所面临的挑战首先体现在领域问题的复杂性上:对话式推荐要求模型在自然语言交互中理解用户动态偏好、进行上下文感知的推荐,并生成合理的解释性回复,这远比传统基于评分的推荐更具挑战性。其次,数据构建过程本身存在多重困难:原始Reddit文本噪声极大,包含拼写错误、俚语、非正式表达及大量无关内容,自动提取推荐对话的准确率难以保证;电影实体链接面临名称歧义(如简称、别名、跨语言表述)和长尾电影覆盖不足的问题;数据集中不可避免地存在错误匹配和遗漏,当前V1版本已明确标注了这些局限性。此外,社交平台数据天然包含毒性言论和偏见,如何在使用中规避这些负面内容对推荐系统公平性的影响,也是亟待解决的伦理挑战。
常用场景
经典使用场景
在对话式推荐系统的研究中,Reddit-Movie-large-V1 数据集扮演着举足轻重的角色。其核心应用场景在于模拟真实世界中用户通过自然语言寻求电影推荐的过程。研究者可借助该数据集,构建能够理解多轮对话历史、解析用户隐式偏好并生成个性化推荐的模型。例如,模型需从诸如“我最近喜欢《寄生虫》这类悬疑片”的表述中,准确识别用户意图,并依据对话上下文(如用户已观看影片列表)推荐符合口味的电影。该数据集提供的结构化对话片段(包含用户角色、时间戳、点赞数等元信息)为训练和评估零样本或少样本场景下的推荐算法提供了标准化基准,从而推动了从传统静态推荐向动态、交互式推荐范式的演进。
解决学术问题
该数据集精准地回应了推荐系统领域长期面临的两大核心学术挑战:如何从非结构化对话中提取推荐信号,以及如何在缺乏显式用户反馈(如评分)时实现有效推荐。传统的协同过滤或基于内容的推荐方法高度依赖结构化交互记录,而 Reddit-Movie-large-V1 通过提供海量的自然语言对话,使得研究者能够探索基于大语言模型的零样本推荐能力。它解决了冷启动问题中用户或物品历史交互稀疏的困境,因为模型可直接从对话语义中推断偏好。此外,该数据集包含的时序信息(2012至2022年)支持对推荐系统时效性及用户兴趣漂移的研究,其意义在于将推荐系统的研究边界扩展至更为复杂、贴近人类真实交流的对话式场景,为构建更智能、更具可解释性的推荐代理奠定了数据基础。
衍生相关工作
该数据集的发布催生了一系列具有影响力的学术工作。其中,其开创性论文《Large Language Models as Zero-Shot Conversational Recommenders》直接利用该数据集验证了大语言模型(如 GPT-3)在零样本对话推荐中的卓越潜力,揭示了语言模型能够通过理解对话语境完成推荐,而无需任何领域内微调。后续工作在此基础上深化,例如一些研究探索了如何利用该数据集中的“点赞数”作为隐式反馈信号,结合强化学习来优化推荐对话策略。另有一些工作专注于数据噪声处理,针对 Reddit 原始对话中的非正式表达和拼写错误,开发了更鲁棒的实体链接与意图识别模块。此外,该数据集还促进了跨领域推荐的研究,学者们尝试将在电影领域学到的对话模式迁移至图书或音乐推荐,检验其泛化能力。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务