Modelagem de Dados

Visão Geral do Processo

O processo de modelagem de dados envolvou várias etapas, incluindo a extração dos dados vindos do PDF, aplicação de análise de sentimento e agrupamento de reviews e por fim o cálculo do rating final.

1. Extração de Dados do PDF
  1. Uso do LlamaParser:
    Utilizamos o LlamaParser para extrair dados estruturados do PDF
  2. Transformação em JSON:
    Os dados são convertidos para o formato JSON
  3. Estrutura do JSON:
    {
      "id": "730a3870-082a-47fd-bc1d-9687cb29f55c",
      "date": "22/01/2025 12:26",
      "name": "Rafa Kalimann",
      "nickname": "@rafakalimann",
      "rate": 10.0,
      "when_worked": "2023",
      "work_description": "Ela é incrível, a campanha foi ótima! Uma querida real, tratou todo mundo super bem e ajudou demais nos conteúdos. Tava sempre disposta :)",
      "advice_description": "Podem contratarr hahahah"
    }
2. Análise de Sentimento
  1. Modelo Hugging Face:
    Utilizamos o modelo cardiffnlp/twitter-xlm-roberta-base-sentiment para análise de sentimento
  2. Resultado:
    Para cada reviews obtivemos o sentimento e o score de confiança. Dados utilizados para o cálculo do rating final.
3. Agrupamento de Reviews
  1. Fuzzy Matching:
    Utilizamos técnicas de fuzzy matching para agrupar reviews do mesmo influenciador
  2. Critérios de Agrupamento:
    Consideramos similaridades em nomes e nicknames
  3. Resultado:
    Reviews agrupadas por influenciador, usando um threshold de similaridade de 80%
4. Cálculo do Rating Final
  1. Normalização do Rate Original:
    O rate original (0-10) é dividido por 10 para normalizar para a escala 0-1
  2. Normalização do Score de Sentimento:
    • Positivo: mantém o score original
    • Neutro: atribui 0.5
    • Negativo: inverte o score (1 - score)
  3. Cálculo do Score da Review:
    Média entre o rate normalizado e o score de sentimento normalizado
  4. Aplicação de Peso:
    O peso de cada review é igual ao score de sentimento (confiança do modelo)
  5. Cálculo da Média Ponderada:
    Soma dos scores ponderados dividida pela soma dos pesos
  6. Conversão para Escala 0-5:
    A média ponderada final é multiplicada por 5
Visualização da Transformação de Scores
00.10.20.30.40.50.60.70.80.91Score Original02468Rating Final (0-5)
  • Score Positivo → Rating
  • Score Negativo → Rating

Exemplo com Sentimento Positivo:

Score 0.9 → Rating = 0.9 * 5 = 4.5

Exemplo com Sentimento Negativo:

Score 0.9 → (1 - 0.9) * 5 = 0.5