mirror of
https://github.com/lucasrcsantana/story-generator.git
synced 2025-12-16 21:37:51 +00:00
feat: Adicionando análises do ENEM
This commit is contained in:
parent
cdb98eb61d
commit
374ac90a3b
@ -27,6 +27,28 @@ interface EssayAnalysisResponse {
|
||||
vocabulary: number;
|
||||
grammar: number;
|
||||
};
|
||||
competencies: {
|
||||
language_domain: {
|
||||
value: number;
|
||||
justification: string;
|
||||
};
|
||||
proposal_comprehension: {
|
||||
value: number;
|
||||
justification: string;
|
||||
};
|
||||
argument_selection: {
|
||||
value: number;
|
||||
justification: string;
|
||||
};
|
||||
linguistic_mechanisms: {
|
||||
value: number;
|
||||
justification: string;
|
||||
};
|
||||
intervention_proposal: {
|
||||
value: number;
|
||||
justification: string;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
interface EssayType {
|
||||
@ -175,6 +197,69 @@ Forneça uma análise detalhada considerando:
|
||||
7. Pontos a melhorar
|
||||
8. Sugestões específicas para aprimoramento
|
||||
|
||||
Essas são as competências do ENEM para você analisar a redação:
|
||||
- Competência 1: Domínio da língua
|
||||
- Competência 2: Compreensão da proposta
|
||||
- Competência 3: Seleção de argumentos
|
||||
- Competência 4: Mecanismos linguísticos
|
||||
- Competência 5: Proposta de intervenção
|
||||
|
||||
## Competência 1: Demonstrar domínio da modalidade escrita formal da Língua Portuguesa
|
||||
|
||||
| Nota | Grade de Correção | Características |
|
||||
|------|------------------|-----------------|
|
||||
| 200 pontos | Demonstra excelente domínio da modalidade escrita formal da Língua Portuguesa e de escolha de registro. Desvios gramaticais ou de convenções da escrita serão aceitos somente como excepcionalidade e quando não caracterizem reincidência. | • Ausência de marcas de oralidade e de registro informal<br>• Precisão vocabular<br>• Obediência às regras gramaticais<br>• Não apresenta ou apresenta pouquíssimos desvios gramaticais leves e de convenções da escrita |
|
||||
| 160 pontos | Demonstra bom domínio da modalidade escrita formal da Língua Portuguesa e de escolha de registro, com poucos desvios gramaticais e de convenções da escrita. | • Poucos desvios gramaticais leves<br>• Desvios de pontuação que não comprometem o sentido<br>• Desvios de ortografia e acentuação que não comprometem o sentido |
|
||||
| 120 pontos | Demonstra domínio mediano da modalidade escrita formal da Língua Portuguesa e de escolha de registro, com alguns desvios gramaticais e de convenções da escrita. | • Alguns desvios gramaticais graves<br>• Problemas de concordância<br>• Problemas de regência<br>• Problemas de estrutura sintática<br>• Marcas de oralidade |
|
||||
| 80 pontos | Demonstra domínio insuficiente da modalidade escrita formal da Língua Portuguesa, com muitos desvios gramaticais, de escolha de registro e de convenções da escrita. | • Grande quantidade de desvios graves<br>• Períodos incompletos<br>• Graves problemas de pontuação<br>• Desvios graves de grafia e acentuação<br>• Presença de gíria |
|
||||
| 40 pontos | Demonstra domínio precário da modalidade escrita formal da Língua Portuguesa, de forma sistemática, com diversificados e frequentes desvios gramaticais. | • Graves e frequentes desvios gramaticais<br>• Presença de gírias e marcas de oralidade<br>• Desestruturação sintática em excesso |
|
||||
| 0 ponto | Demonstra desconhecimento da modalidade escrita formal da Língua Portuguesa. | • Excesso de desvios que impossibilitam a compreensão |
|
||||
|
||||
## Competência 2: Compreender a proposta de redação e aplicar conceitos das várias áreas de conhecimento
|
||||
|
||||
| Nota | Grade de Correção | Características |
|
||||
|------|------------------|-----------------|
|
||||
| 200 pontos | Desenvolve o tema por meio de argumentação consistente, a partir de um repertório sociocultural produtivo, e apresenta excelente domínio do texto dissertativo-argumentativo. | • Tema muito bem desenvolvido<br>• Estrutura completa (introdução, argumentos, conclusão)<br>• Argumentos originais, além dos textos motivadores |
|
||||
| 160 pontos | Desenvolve o tema por meio de argumentação consistente e apresenta bom domínio do texto dissertativo-argumentativo. | • Desenvolve bem o tema<br>• Boa argumentação<br>• Não se limita aos textos motivadores |
|
||||
| 120 pontos | Desenvolve o tema por meio de argumentação previsível e apresenta domínio mediano do texto dissertativo-argumentativo. | • Abordagem superficial<br>• Argumentação previsível<br>• Reproduz ideias do senso comum |
|
||||
| 80 pontos | Desenvolve o tema recorrendo à cópia de trechos dos textos motivadores ou apresenta domínio insuficiente do texto dissertativo-argumentativo. | • Tendência ao tangenciamento<br>• Argumentação falha<br>• Cópia dos textos motivadores |
|
||||
| 40 pontos | Apresenta o assunto, tangenciando o tema, ou demonstra domínio precário do texto dissertativo-argumentativo. | • Tangencia o tema<br>• Ausência de argumentação<br>• Pode apresentar texto narrativo |
|
||||
| 0 ponto | Fuga ao tema/não atendimento à estrutura dissertativo-argumentativa. | • Desenvolve outro tema<br>• Usa outra estrutura textual |
|
||||
|
||||
## Competência 3: Selecionar, relacionar, organizar e interpretar informações, fatos, opiniões e argumentos
|
||||
|
||||
| Nota | Grade de Correção | Características |
|
||||
|------|------------------|-----------------|
|
||||
| 200 pontos | Apresenta informações, fatos e opiniões relacionados ao tema proposto, de forma consistente e organizada, configurando autoria. | • Seleciona e organiza informações consistentemente<br>• Explicita tese clara<br>• Argumentos comprovam a tese |
|
||||
| 160 pontos | Apresenta informações, fatos e opiniões relacionados ao tema, de forma organizada, com indícios de autoria. | • Organização consistente<br>• Argumentos previsíveis mas próprios |
|
||||
| 120 pontos | Apresenta informações, fatos e opiniões relacionados ao tema, limitados aos argumentos dos textos motivadores. | • Organização pouco consistente<br>• Informações aleatórias<br>• Argumentos pouco convincentes |
|
||||
| 80 pontos | Apresenta informações, fatos e opiniões relacionados ao tema, mas desorganizados ou contraditórios. | • Argumentos pouco articulados<br>• Reprodução dos textos motivadores |
|
||||
| 40 pontos | Apresenta informações, fatos e opiniões pouco relacionados ao tema ou incoerentes. | • Sem defesa de ponto de vista<br>• Informações desarticuladas |
|
||||
| 0 ponto | Apresenta informações, fatos e opiniões não relacionados ao tema. | • Informações incoerentes<br>• Sem ponto de vista |
|
||||
|
||||
## Competência 4: Demonstrar conhecimento dos mecanismos linguísticos necessários para a construção da argumentação
|
||||
|
||||
| Nota | Grade de Correção | Características |
|
||||
|------|------------------|-----------------|
|
||||
| 200 pontos | Articula bem as partes do texto e apresenta repertório diversificado de recursos coesivos. | • Articulação muito boa<br>• Pleno domínio dos recursos coesivos |
|
||||
| 160 pontos | Articula as partes do texto com poucas inadequações e apresenta repertório diversificado de recursos coesivos. | • Boa articulação<br>• Poucos desvios nos conectores<br>• Algumas repetições desnecessárias |
|
||||
| 120 pontos | Articula as partes do texto, de forma mediana, com inadequações. | • Algumas inadequações nos recursos coesivos<br>• Frases fragmentadas ocasionais<br>• Problemas de paragrafação |
|
||||
| 80 pontos | Articula as partes do texto, de forma insuficiente, com muitas inadequações. | • Muitas inadequações<br>• Frases fragmentadas frequentes<br>• Problemas de estrutura |
|
||||
| 40 pontos | Articula as partes do texto de forma precária. | • Graves problemas de articulação<br>• Períodos muito longos ou fragmentados<br>• Ausência de conectores |
|
||||
| 0 ponto | Apresenta informações desconexas. | • Não se configura como texto |
|
||||
|
||||
## Competência 5: Elaborar proposta de intervenção para o problema abordado
|
||||
|
||||
| Nota | Grade de Correção | Características |
|
||||
|------|------------------|-----------------|
|
||||
| 200 pontos | Elabora muito bem proposta de intervenção, detalhada, relacionada ao tema. | • Proposta detalhada (o que fazer, como fazer, meios e participantes) |
|
||||
| 160 pontos | Elabora bem proposta de intervenção relacionada ao tema. | • Proposta relacionada mas não totalmente detalhada |
|
||||
| 120 pontos | Elabora, de forma mediana, proposta de intervenção relacionada ao tema. | • Proposta relacionada mas sem detalhamento |
|
||||
| 80 pontos | Elabora, de forma insuficiente, proposta de intervenção. | • Proposta não atende totalmente à discussão |
|
||||
| 40 pontos | Apresenta proposta de intervenção vaga, precária ou relacionada apenas ao assunto. | • Proposta vaga ou não configurada adequadamente |
|
||||
| 0 ponto | Não apresenta proposta de intervenção ou apresenta proposta não relacionada ao tema. | • Ausência de proposta<br>• Proposta foge ao tema |
|
||||
|
||||
|
||||
Responda em formato JSON seguindo exatamente esta estrutura:
|
||||
{
|
||||
"overall_score": number, // 0 a 100
|
||||
@ -192,6 +277,28 @@ Responda em formato JSON seguindo exatamente esta estrutura:
|
||||
"cohesion": number, // 0 a 100 - Coesão
|
||||
"vocabulary": number, // 0 a 100 - Vocabulário
|
||||
"grammar": number // 0 a 100 - Gramática e ortografia
|
||||
},
|
||||
"competencies": {
|
||||
"language_domain": {
|
||||
value: number, // 0 a 200 - Competência 1
|
||||
justification: string // Justificativa para a pontuação
|
||||
},
|
||||
"proposal_comprehension": {
|
||||
value: number, // 0 a 200 - Competência 2
|
||||
justification: string // Justificativa para a pontuação
|
||||
},
|
||||
"argument_selection": {
|
||||
value: number, // 0 a 200 - Competência 3
|
||||
justification: string // Justificativa para a pontuação
|
||||
},
|
||||
"linguistic_mechanisms": {
|
||||
value: number, // 0 a 200 - Competência 4
|
||||
justification: string // Justificativa para a pontuação
|
||||
},
|
||||
"intervention_proposal": {
|
||||
value: number, // 0 a 200 - Competência 5
|
||||
justification: string // Justificativa para a pontuação
|
||||
}
|
||||
}
|
||||
}`
|
||||
|
||||
@ -219,7 +326,7 @@ Responda em formato JSON seguindo exatamente esta estrutura:
|
||||
schema: {
|
||||
type: "object",
|
||||
additionalProperties: false,
|
||||
required: ["overall_score", "suggestions", "feedback", "strengths", "improvements", "criteria_scores"],
|
||||
required: ["overall_score", "suggestions", "feedback", "strengths", "improvements", "criteria_scores", "competencies"],
|
||||
properties: {
|
||||
overall_score: {
|
||||
type: "number",
|
||||
@ -290,6 +397,93 @@ Responda em formato JSON seguindo exatamente esta estrutura:
|
||||
description: "Gramática e ortografia (0-100)"
|
||||
}
|
||||
}
|
||||
},
|
||||
competencies: {
|
||||
type: "object",
|
||||
additionalProperties: false,
|
||||
required: [
|
||||
"language_domain",
|
||||
"proposal_comprehension",
|
||||
"argument_selection",
|
||||
"linguistic_mechanisms",
|
||||
"intervention_proposal"
|
||||
],
|
||||
properties: {
|
||||
language_domain: {
|
||||
type: "object",
|
||||
additionalProperties: false,
|
||||
required: ["value", "justification"],
|
||||
properties: {
|
||||
value: {
|
||||
type: "number",
|
||||
description: "Pontuação da competência (0-200)"
|
||||
},
|
||||
justification: {
|
||||
type: "string",
|
||||
description: "Justificativa para a pontuação"
|
||||
}
|
||||
}
|
||||
},
|
||||
proposal_comprehension: {
|
||||
type: "object",
|
||||
additionalProperties: false,
|
||||
required: ["value", "justification"],
|
||||
properties: {
|
||||
value: {
|
||||
type: "number",
|
||||
description: "Pontuação da competência (0-200)" },
|
||||
justification: {
|
||||
type: "string",
|
||||
description: "Justificativa para a pontuação"
|
||||
}
|
||||
}
|
||||
},
|
||||
argument_selection: {
|
||||
type: "object",
|
||||
additionalProperties: false,
|
||||
required: ["value", "justification"],
|
||||
properties: {
|
||||
value: {
|
||||
type: "number",
|
||||
description: "Pontuação da competência (0-200)"
|
||||
},
|
||||
justification: {
|
||||
type: "string",
|
||||
description: "Justificativa para a pontuação"
|
||||
}
|
||||
}
|
||||
},
|
||||
linguistic_mechanisms: {
|
||||
type: "object",
|
||||
additionalProperties: false,
|
||||
required: ["value", "justification"],
|
||||
properties: {
|
||||
value: {
|
||||
type: "number",
|
||||
description: "Pontuação da competência (0-200)"
|
||||
},
|
||||
justification: {
|
||||
type: "string",
|
||||
description: "Justificativa para a pontuação"
|
||||
}
|
||||
}
|
||||
},
|
||||
intervention_proposal: {
|
||||
type: "object",
|
||||
additionalProperties: false,
|
||||
required: ["value", "justification"],
|
||||
properties: {
|
||||
value: {
|
||||
type: "number",
|
||||
description: "Pontuação da competência (0-200)"
|
||||
},
|
||||
justification: {
|
||||
type: "string",
|
||||
description: "Justificativa para a pontuação"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,52 @@
|
||||
-- Adiciona campos de competências na tabela essay_analyses
|
||||
ALTER TABLE essay_analyses
|
||||
ADD COLUMN language_domain_value INTEGER,
|
||||
ADD COLUMN language_domain_justification TEXT,
|
||||
|
||||
ADD COLUMN proposal_comprehension_value INTEGER,
|
||||
ADD COLUMN proposal_comprehension_justification TEXT,
|
||||
|
||||
ADD COLUMN argument_selection_value INTEGER,
|
||||
ADD COLUMN argument_selection_justification TEXT,
|
||||
|
||||
ADD COLUMN linguistic_mechanisms_value INTEGER,
|
||||
ADD COLUMN linguistic_mechanisms_justification TEXT,
|
||||
|
||||
ADD COLUMN intervention_proposal_value INTEGER,
|
||||
ADD COLUMN intervention_proposal_justification TEXT;
|
||||
|
||||
-- Adiciona restrições para garantir que os valores estejam entre 0 e 200
|
||||
ALTER TABLE essay_analyses
|
||||
ADD CONSTRAINT check_competency_values
|
||||
CHECK (
|
||||
language_domain_value BETWEEN 0 AND 200 AND
|
||||
proposal_comprehension_value BETWEEN 0 AND 200 AND
|
||||
argument_selection_value BETWEEN 0 AND 200 AND
|
||||
linguistic_mechanisms_value BETWEEN 0 AND 200 AND
|
||||
intervention_proposal_value BETWEEN 0 AND 200
|
||||
);
|
||||
|
||||
-- Atualiza as políticas de segurança para incluir os novos campos
|
||||
ALTER POLICY "Estudantes podem ver suas próprias análises" ON essay_analyses
|
||||
USING (
|
||||
essay_id IN (
|
||||
SELECT id FROM student_essays
|
||||
WHERE student_id = auth.uid()
|
||||
)
|
||||
);
|
||||
|
||||
-- Comentários para documentação
|
||||
COMMENT ON COLUMN essay_analyses.language_domain_value IS 'Valor da competência de domínio da língua (0-200)';
|
||||
COMMENT ON COLUMN essay_analyses.language_domain_justification IS 'Justificativa para a nota de domínio da língua';
|
||||
|
||||
COMMENT ON COLUMN essay_analyses.proposal_comprehension_value IS 'Valor da competência de compreensão da proposta (0-200)';
|
||||
COMMENT ON COLUMN essay_analyses.proposal_comprehension_justification IS 'Justificativa para a nota de compreensão da proposta';
|
||||
|
||||
COMMENT ON COLUMN essay_analyses.argument_selection_value IS 'Valor da competência de seleção de argumentos (0-200)';
|
||||
COMMENT ON COLUMN essay_analyses.argument_selection_justification IS 'Justificativa para a nota de seleção de argumentos';
|
||||
|
||||
COMMENT ON COLUMN essay_analyses.linguistic_mechanisms_value IS 'Valor da competência de mecanismos linguísticos (0-200)';
|
||||
COMMENT ON COLUMN essay_analyses.linguistic_mechanisms_justification IS 'Justificativa para a nota de mecanismos linguísticos';
|
||||
|
||||
COMMENT ON COLUMN essay_analyses.intervention_proposal_value IS 'Valor da competência de proposta de intervenção (0-200)';
|
||||
COMMENT ON COLUMN essay_analyses.intervention_proposal_justification IS 'Justificativa para a nota de proposta de intervenção';
|
||||
@ -0,0 +1,20 @@
|
||||
-- Remove a restrição de verificação dos valores
|
||||
ALTER TABLE essay_analyses
|
||||
DROP CONSTRAINT IF EXISTS check_competency_values;
|
||||
|
||||
-- Remove os campos de competências
|
||||
ALTER TABLE essay_analyses
|
||||
DROP COLUMN IF EXISTS language_domain_value,
|
||||
DROP COLUMN IF EXISTS language_domain_justification,
|
||||
|
||||
DROP COLUMN IF EXISTS proposal_comprehension_value,
|
||||
DROP COLUMN IF EXISTS proposal_comprehension_justification,
|
||||
|
||||
DROP COLUMN IF EXISTS argument_selection_value,
|
||||
DROP COLUMN IF EXISTS argument_selection_justification,
|
||||
|
||||
DROP COLUMN IF EXISTS linguistic_mechanisms_value,
|
||||
DROP COLUMN IF EXISTS linguistic_mechanisms_justification,
|
||||
|
||||
DROP COLUMN IF EXISTS intervention_proposal_value,
|
||||
DROP COLUMN IF EXISTS intervention_proposal_justification;
|
||||
Loading…
Reference in New Issue
Block a user