Skip to content

refactor: alterar unidade de anotação de comentário para usuário (US-04 / US-05) #87

@lucasbrentano

Description

@lucasbrentano

Contexto

As US-04 (#45) e US-05 (#46) foram implementadas com o comentário como unidade de anotação: cada comentário recebe um rótulo individual (bot / humano), conflitos são detectados por comentário e resolvidos por comentário.

Problema

Na pesquisa de detecção de bots no YouTube, o alvo de classificação é a conta (canal do YouTube), não o comentário individual. Os comentários servem como evidências para fundamentar a classificação do autor — um pesquisador analisa o conjunto de comentários de um canal e decide se aquele usuário é bot ou humano.

A granularidade atual (por comentário) gera problemas:

  • Volume desnecessário: um usuário com 50 comentários exige 50 anotações individuais, quando a decisão é sobre o autor
  • Inconsistência científica: o mesmo autor pode ter comentários anotados como bot e humano por um mesmo pesquisador, sem mecanismo de consolidação
  • Conflitos fragmentados: divergências são detectadas por comentário, não por autor — o admin resolve dezenas de conflitos que na prática referem-se à mesma decisão

Solução proposta

Alterar a unidade de anotação de comentário para usuário do YouTube (canal):

  • O pesquisador visualiza todos os comentários de um autor como contexto
  • A classificação (bot / humano + justificativa) é registrada uma vez por autor, não por comentário
  • Conflitos ocorrem quando dois pesquisadores divergem sobre o mesmo autor
  • O admin resolve conflitos por autor, não por comentário

Impacto

Tasks

  • [BE] Alterar model Annotation: FK de comment_id para dataset_entry_id
  • [BE] Alterar models AnnotationConflict e Resolution para refletir conflitos por autor
  • [BE] Atualizar schemas Pydantic (annotate + review)
  • [BE] Reescrever services de anotação e revisão
  • [BE] Atualizar routers e contratos de API
  • [BE] Migration Alembic para alterar schema do banco
  • [FE] Refatorar AnnotatePage: botões de classificação no nível do autor
  • [FE] Refatorar ReviewPage: conflitos e bots agrupados por autor
  • [FE] Atualizar export/import para novo formato
  • [TEST] Reescrever testes de anotação e revisão
  • [DOCS] Atualizar skills us-04-annotate.md e us-05-review.md

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions