community-notes-br
收藏Community Notes / X — Snapshot Público 数据集概述
基本信息
- 数据集名称: Community Notes / X — Snapshot Público
- 发布者: histlearn
- 发布日期: 2026年
- 发布平台: Hugging Face
- 数据集地址: https://huggingface.co/datasets/histlearn/community-notes-br
- 许可证: cdla-permissive-2.0
- 任务类别: 文本分类
- 数据规模: 100M<n<1B
数据内容与来源
- 数据来源: 基于X平台(原Twitter)Community Notes(原Birdwatch)系统的公共数据转储。
- 系统描述: Community Notes是一个协作式内容审核系统,志愿者用户为可能具有误导性的帖子撰写上下文注释,并评估其他参与者的注释。共识算法决定公开显示哪些注释。
- 研究动机: 该数据集旨在保存公共转储的完整关系结构,以促进关于共识动态的研究,特别是研究其在巴西政治敏感事件背景下如何运作(或未能运作)。
- 语言特性: 数据集为多语言,主要包含英语,但也包含葡萄牙语、西班牙语、法语、德语、日语、阿拉伯语等数十种语言。原始数据没有语言列,研究人员需在本地应用语言检测作为预处理步骤。
数据结构与组成
数据集包含多个配置(config),主要数据表如下:
| 配置名称 | 描述 | 主键 | 数据量示例 (2026-04-07快照) |
|---|---|---|---|
silver_notes |
包含分类、摘要和元数据的注释 | noteId |
~2.6M |
silver_ratings |
对注释的个体评分 | noteId + raterParticipantId |
~190M* |
silver_note_status_history |
算法状态历史记录 | noteId |
~2.4M* |
silver_user_enrollment |
评分者注册和状态信息 | participantId |
~141k |
silver_note_requests |
请求为推文添加注释的信号 | tweetId |
~51k |
注:已清除孤立记录后的数量。
其他配置包括:notes, ratings_events, status_events, contributors, note_requests, tweet_note_bridge, ratings_with_contributor_state。
数据关系
tweets (外部数据,转储中不包含) │ ├── silver_notes (noteId, tweetId) │ │ │ ├── silver_ratings (noteId, raterParticipantId) │ │ └── silver_user_enrollment (participantId) │ │ │ └── silver_note_status_history (noteId) │ └── silver_note_requests (tweetId)
数据处理流程
数据经过三层处理:
- Raw层: 公共转储的原始TSV文件,保留MD5和SHA-256校验和。
- Bronze层: 使用DuckDB摄取,所有列均为
VARCHAR类型,通过union_by_name合并分片,并添加快照和摄取元数据。 - Silver层: 添加辅助类型列(ID转为
BIGINT,从createdAtMillis派生的时间戳),并移除孤立记录。
数据完整性与限制
- 孤立记录问题: 公共转储不包含所有曾经存在的注释,导致存在引用缺失注释的评分和状态事件记录(孤立记录)。
- 清理前统计(2026-04-07快照):
ratings中**11.36%**的noteId没有对应注释(约297k条注释,~19M行)。status中**12.66%**的noteId没有对应注释(约348k条注释)。enrollment中**0%**的评分者为孤立记录。
- 方法论决策: 孤立记录已从Silver层表中移除。完整分析见
metadata/orphan_analysis.parquet。这意味着数据集覆盖了约88%的被评分注释;其余约12%代表存在但在此转储中无法观察到的共识。
快速使用指南
通过Hugging Face Datasets加载
python from datasets import load_dataset notas = load_dataset("histlearn/community-notes-br", "silver_notes", split="train") ratings = load_dataset("histlearn/community-notes-br", "silver_ratings", split="train") status = load_dataset("histlearn/community-notes-br", "silver_note_status_history", split="train")
通过DuckDB直接读取Parquet文件
python import duckdb con = duckdb.connect() notas = con.execute(""" SELECT * FROM hf://datasets/histlearn/community-notes-br/data/snapshot_date=2026-04-07/silver_notes/**/*.parquet LIMIT 100 """).fetchdf()
语言过滤(本地处理)
由于数据集不包含语言分类,建议使用fastText lid.176.bin模型对summary字段进行语言检测以过滤特定语言(如葡萄牙语)的注释。
数据溯源与引用
- 原始数据源: https://communitynotes.x.com/guide/en/under-the-hood/download-data
- 原始数据许可: 由X根据公共使用条款提供。
- 处理管道: 完整代码随附于该仓库的Notebook中。
- 校验和: 每个下载文件的MD5和SHA-256均记录在清单中。
- 引用格式: bibtex @dataset{community_notes_br_2026, author = {histlearn}, title = {Community Notes / X — Snapshot Público}, year = {2026}, publisher = {Hugging Face}, url = {https://huggingface.co/datasets/histlearn/community-notes-br} }
研究背景
该数据集是UFSCar / NILC数字人文研究项目的一部分,旨在调查Community Notes的共识算法在面对巴西政治敏感事件时的运作情况,特别是研究高关注度和高模糊性事件是否系统地比更“简单”的虚假信息(如虚假视频、媒体操纵等)产生更少的算法共识。




