rastreamento-arco-emocional-continuo
Monitora a flutuacao emocional (valencia e arousal) de personagens ao longo da historia mapeando arquetipos dramaticos.
SKILL.md.agents/skills/rastreamento-arco-emocional-continuo/SKILL.md
GitHubrastreamento-arco-emocional-continuo
Descrição
A skill rastreamento-arco-emocional-continuo monitora e plota a flutuação de sentimentos (valência e excitação/arousal) associada a um personagem ao longo do romance. Ela analisa a tonalidade emocional da prosa nos trechos de fala e ação do personagem, mapeando a curva resultante a arquétipos dramáticos tradicionais (curvas dramáticas clássicas) no painel de estatísticas do autor.
Quando usar
Gatilhos concretos e observáveis:
- O escritor conclui a redação de um capítulo (disparado pelo save do arquivo).
- O autor acessa o painel de visualização de "Arco Dramático do Personagem" no editor.
- O sistema analisa a curva de tensão para calibrar sugestões de enredo e ganchos dramáticos.
Quando NÃO usar:
- Em listagens de lore puras (wiki estática) que não correspondam à prosa corrida do manuscrito.
- Para análise gramatical ou ortográfica tradicional.
Pré-requisitos
- Lema e dicionário NRC Emotion Lexicon adaptado e traduzido para o português.
- Classificador de sentimentos local (ex: BERTimbau-large fine-tuned em literatura) que retorne score contínuo no intervalo $[-1, 1]$.
- Banco de dados de menções de personagens resolvidas.
Processo (passo a passo executável)
- Modelagem Dimensional de Emoção:
- Adotar a escala de duas dimensões de Russell:
- Valência ($V$): Mede o tom de positivo ($+1.0$) a negativo ($-1.0$).
- Excitação/Arousal ($A$): Mede a ativação de ativo/excitado ($+1.0$) a passivo/calmo ($-1.0$).
- Adotar a escala de duas dimensões de Russell:
- Segmentação e Extração por Bloco Narrativo:
- Para o personagem selecionado, extrair todos os parágrafos em que ele é mencionado ou é o falante ativo de um capítulo.
- Segmentar o trecho em blocos de sentenças.
- Computar os scores contínuos de valência ($V_i$) e excitação ($A_i$) usando o classificador local e a busca de termos no NRC Lexicon.
- Filtro de Inversão por Ironia:
- Analisar a presença de modificadores gramaticais ou marcadores de ironia regex.
- Caso identificados, multiplicar o score de valência $V_i$ por $-0.8$ para inverter a polaridade (ex: uma exclamação sarcástica "Que ótimo!" passa a ter peso de valência negativo).
- Cálculo da Curva Suavizada (Rolling Mean):
- Aplicar uma média móvel simples sobre a sequência temporal de sentenças do personagem com tamanho de janela parametrizado em
SMOOTHING_WINDOW_SIZE(padrão:7sentenças; a literatura recomenda de 5 a 10 sentenças; adotamos 7 como valor padrão da engenharia).
- Aplicar uma média móvel simples sobre a sequência temporal de sentenças do personagem com tamanho de janela parametrizado em
- Classificação de Arquétipo Dramático:
- Comparar a curva suavizada contra os perfis geométricos de curvas clássicas de Vonnegut (ex: Rags to Riches - ascensão contínua, Man in a Hole - queda seguida de ascensão, Icarus - ascensão seguida de queda).
- Retornar a classificação de arquétipo mais próxima com base na correlação de distância geométrica.
Parâmetros e configuração
SMOOTHING_WINDOW_SIZE: Tamanho da janela de média móvel para suavização da curva emocional. Padrão:7(sentenças).AROUSEL_ACTIVATION_THRESHOLD: Limiar mínimo de score de excitação para considerar a cena de "alta tensão". Padrão:0.50.EMOTION_CLASSIFIER_MODEL: Nome do modelo local de análise de sentimento. Padrão:BERTimbau-sentiment-literary.
Armadilhas e como evitá-las
- Armadilha: Amortecimento por Janela Excessiva: se o tamanho da média móvel for muito longo, picos de emoção rápidos e cenas cruciais de choque (ex: revelação ou morte de um personagem que dura apenas 2 parágrafos) serão filtrados e a curva resultante parecerá plana e sem sentido dramático.
Mitigação: Manter a janela
SMOOTHING_WINDOW_SIZEconfigurável na interface e limitada ao limite máximo de 10 sentenças. Permitir ao escritor dar zoom em cenas específicas desativando a suavização temporariamente para ver os picos emocionais brutos.
Critérios de validação (Definition of Done)
- A correlação de Pearson entre o arco emocional contínuo gerado pelo sistema e a anotação manual humana atinge no mínimo 0.72 em datasets literários padrão.
- A identificação do arquétipo dramático de Vonnegut corresponde ao planejado no outline do autor em 90% dos testes.
Fundamentação científica
- Teodorescu, L. & Mohammad, S. (2023) - Evaluating Emotion Arcs Across Languages - arXiv 2023
- Continuous Sentiment (2025) - Continuous Sentiment Scores for Literary and Multilingual Contexts - arXiv 2025
- Mohammad, S. (2013) - From Once Upon a Time to Happily Ever After: Tracking Emotions in Novels - arXiv 2013
- Elkins, K. & Chun, J. (2018) - Can Sentiment Analysis Reveal Structure in a Plotless Novel? - arXiv 2018
Requisitos do projeto relacionados
- RF-150 (arco de emoções)
Maturidade e riscos de adoção
Nível: Emergente. Risco: Textos literários com narradores não confiáveis, ironia profunda ou tom altamente neutro/metafórico podem gerar scores de valência instáveis. Fallback para v1: Implementar uma classificação simplificada baseada puramente em sentimentos discretos por cena (positivo, negativo, neutro) e omitir o cálculo bidimensional de excitação (arousal) e a inferência de arquétipos geométricos na v1 do painel do romance.
Exemplos
Entrada (Sentenças de Kael):
[
{"text": "Kael celebrou com seus amigos a vitória na taverna.", "V": 0.8, "A": 0.6},
{"text": "Mas no dia seguinte, Kael recebeu a notícia que seu vilarejo havia sido destruído.", "V": -0.9, "A": 0.7}
]
Saída esperada (Valência e Arousal suavizados no tempo):
{
"points": [
{"time": 1, "valência": 0.8, "excitação": 0.6},
{"time": 2, "valência": -0.9, "excitação": 0.7}
],
"dramatic_archetype": "Icarus (Ascensão seguida de Queda rápida)"
}
Caso de falha conhecido: Exibir uma curva emocional plana e constante ao longo de um capítulo inteiro que contém a morte dramática do antagonista devido a uma suavização excessiva da janela de média móvel.