five

histlearn/community-notes-br

收藏
Hugging Face2026-04-10 更新2026-04-26 收录
下载链接:
https://hf-mirror.com/datasets/histlearn/community-notes-br
下载链接
链接失效反馈
官方服务:
资源简介:
--- license: cdla-permissive-2.0 language: - en - pt - es - fr - de - ja - ar - multilingual size_categories: - 100M<n<1B task_categories: - text-classification tags: - community-notes - twitter - x - birdwatch - consensus - fact-checking - misinformation - brazilian-politics - digital-humanities pretty_name: "Community Notes / X — Snapshot Público" configs: - config_name: silver_notes data_files: "data/snapshot_date=*/silver_notes/*.parquet" - config_name: silver_ratings data_files: "data/snapshot_date=*/silver_ratings/*.parquet" - config_name: silver_user_enrollment data_files: "data/snapshot_date=*/silver_user_enrollment/*.parquet" - config_name: silver_note_status_history data_files: "data/snapshot_date=*/silver_note_status_history/*.parquet" - config_name: silver_note_requests data_files: "data/snapshot_date=*/silver_note_requests/*.parquet" - config_name: tweet_note_bridge data_files: "data/snapshot_date=*/tweet_note_bridge/*.parquet" - config_name: ratings_with_contributor_state data_files: "data/snapshot_date=*/ratings_with_contributor_state/*.parquet" --- # Community Notes / X — Snapshot Público Dataset estruturado a partir dos dumps públicos do sistema [Community Notes](https://communitynotes.x.com/) (antigo Birdwatch) da plataforma X (antigo Twitter). ## Motivação O Community Notes é um sistema de moderação colaborativa onde usuários voluntários escrevem notas contextuais sobre publicações potencialmente enganosas e avaliam as notas de outros participantes. Um algoritmo de consenso determina quais notas são exibidas publicamente. Este dataset preserva a estrutura relacional completa do dump público para viabilizar pesquisas sobre a dinâmica desse consenso — em particular sobre como ele opera (ou falha em operar) diante de eventos politicamente sensíveis no contexto brasileiro. ## Importante: dataset multilíngue sem coluna de idioma O dump público do Community Notes é **global** e contém notas em dezenas de idiomas (majoritariamente inglês). **Não há coluna de idioma** nos dados originais. Pesquisadores interessados em um idioma específico precisarão aplicar detecção de idioma localmente como etapa de pré-processamento. Uma abordagem recomendada é usar o modelo [fastText lid.176.bin](https://fasttext.cc/docs/en/language-identification.html) da Meta sobre o campo `summary`, que permite classificar milhões de notas em minutos com boa acurácia. ## Estrutura do dataset ``` data/ └── snapshot_date=YYYY-MM-DD/ ├── silver_notes/ # Notas escritas por colaboradores ├── silver_ratings/ # Avaliações das notas por outros colaboradores ├── silver_note_status_history/ # Histórico de status (CRH, NMR, etc.) ├── silver_user_enrollment/ # Perfil e estado dos colaboradores └── silver_note_requests/ # Pedidos de nota (batSignals) metadata/ └── snapshot_date=YYYY-MM-DD/ ├── download_manifest.json # URLs, checksums, tamanhos de cada arquivo ├── schema_registry.json # Colunas por shard (detecção de drift) ├── schema_alerts.parquet # Alertas de mudança de esquema ├── integrity_summary.parquet # Resumo de nulos por tabela ├── orphan_analysis.parquet # Análise de integridade referencial └── snapshot_inventory.parquet # Inventário completo de arquivos ``` ## Tabelas principais | Tabela | Descrição | Chave primária | Volume (snapshot 2026-04-07) | |---|---|---|---| | `silver_notes` | Notas com classificação, resumo e metadados | `noteId` | ~2,6M | | `silver_ratings` | Avaliações individuais das notas | `noteId` + `raterParticipantId` | ~190M* | | `silver_note_status_history` | Histórico de status algorítmico | `noteId` | ~2,4M* | | `silver_user_enrollment` | Cadastro e estado dos avaliadores | `participantId` | ~141k | | `silver_note_requests` | Sinalizações pedindo notas em tweets | `tweetId` | ~51k | \* Após remoção de registros órfãos (ver abaixo). ## Relações entre tabelas ``` tweets (externo, não disponível no dump) │ ├── silver_notes (noteId, tweetId) │ │ │ ├── silver_ratings (noteId, raterParticipantId) │ │ └── silver_user_enrollment (participantId) │ │ │ └── silver_note_status_history (noteId) │ └── silver_note_requests (tweetId) ``` ## Pipeline de processamento Os dados passam por três camadas: 1. **Raw**: arquivos TSV originais do dump público, preservados com checksums MD5 e SHA-256. 2. **Bronze**: ingestão em DuckDB com todas as colunas como `VARCHAR` (sem inferência de tipo), unificando shards via `union_by_name`. Metadados de snapshot e ingestão adicionados. 3. **Silver**: colunas tipadas auxiliares (IDs como `BIGINT`, timestamps derivados de `createdAtMillis`), remoção de registros órfãos. ## Integridade referencial e limitações O dump público do Community Notes **não contém todas as notas que já existiram**. Isso resulta em registros órfãos: avaliações e eventos de status que referenciam notas ausentes. No snapshot de 2026-04-07, antes da limpeza: - **11,36%** dos noteIds em ratings não tinham nota correspondente (~297k notas, ~19M linhas) - **12,66%** dos noteIds em status não tinham nota correspondente (~348k notas) - **0%** dos avaliadores eram órfãos (enrollment completo) **Decisão metodológica**: registros órfãos foram removidos das tabelas silver. A análise completa está em `metadata/orphan_analysis.parquet`. Isso significa que o dataset cobre ~88% do universo de notas avaliadas; os ~12% restantes representam consenso que existiu mas não é observável neste dump. ## Uso rápido ### Via 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") ``` ### Via DuckDB (leitura direta dos Parquets) ```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() ``` ## Filtragem por idioma (etapa local) O dataset não inclui classificação de idioma. Para filtrar notas em português, recomendamos: ```python import fasttext import re # Baixar o modelo: https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin model = fasttext.load_model("lid.176.bin") def detectar_idioma(texto): if not texto: return "desconhecido", 0.0 texto = re.sub(r"http\S+", "", texto).replace("\n", " ").strip() pred = model.predict(texto) return pred[0][0].replace("__label__", ""), round(float(pred[1][0]), 4) # Aplicar sobre a coluna 'summary' das notas # fasttext exige numpy em versão <2 ``` ## Proveniência - **Fonte**: https://communitynotes.x.com/guide/en/under-the-hood/download-data - **Licença dos dados originais**: disponibilizados pelo X sob termos de uso público - **Pipeline**: código completo disponível no notebook que acompanha este repositório - **Checksums**: cada arquivo baixado tem MD5 e SHA-256 registrados no manifesto ## Citação ```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} } ``` ## Contexto de pesquisa Este dataset foi construído como parte de um projeto de pesquisa em humanidades digitais na UFSCar / NILC que investiga como o algoritmo de consenso do Community Notes opera diante de eventos politicamente sensíveis no Brasil — em particular, se casos de grande repercussão e alta ambiguidade geram sistematicamente menos consenso algorítmico do que desinformação mais "simples" (vídeos falsos, manipulação de mídia, etc.).
提供机构:
histlearn
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作