Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

Construindo um Sistema Especialista para Apoio à Gestão Pedagógica

Ao estudar os Sistemas Baseados em Conhecimento, percebi que sua aplicação pode ir muito além do exemplo de diagnóstico médico apresentado na aula. Como atuo na área educacional e venho desenvolvendo a Plataforma Inteligente de Gestão, Análise e Comunicação da Avaliação Formativa do Aprendiz (AFA), adaptei a atividade para um contexto real da escola: o acompanhamento pedagógico e a tomada de decisão durante os Conselhos de Classe.

Optei por realizar essa adaptação porque acredito que a aprendizagem se torna mais significativa quando conseguimos transferir os conceitos estudados para problemas concretos de nossa área de atuação. Assim como um sistema especialista médico utiliza sintomas para chegar a um diagnóstico, um sistema especialista pedagógico pode utilizar informações sobre frequência, desempenho, comportamento, participação e relacionamento escolar para apoiar decisões pedagógicas de forma estruturada e transparente.

Na prática, a proposta é que a AFA receba informações dos estudantes por meio de planilhas, formulários e registros realizados por professores, coordenação, psicologia e famílias. Esses dados passam a compor uma base de conhecimento, que contém fatos sobre os alunos e regras institucionais definidas pela escola. A partir dessa base, um mecanismo de inferência aplica a lógica proposicional para identificar situações que demandam intervenção e recomendar ações adequadas.

Diferentemente dos modelos probabilísticos estudados anteriormente, como as Cadeias de Markov, que buscam prever o que provavelmente acontecerá, os sistemas especialistas respondem a outra pergunta:

Diante dos fatos observados, o que a escola deve fazer?

Por isso, enquanto as Cadeias de Markov são adequadas para prever risco de evasão, transferência ou não renovação de matrícula, os Sistemas Baseados em Conhecimento são especialmente úteis para apoiar Conselhos de Classe, protocolos de acompanhamento pedagógico, encaminhamentos socioemocionais e tomada de decisões institucionais.

Estrutura do Sistema Especialista

O sistema é composto por três elementos principais:

Fatos

Representam informações observadas sobre o estudante.

Exemplos:

  • faltas frequentes;
  • queda nas notas;
  • baixa participação;
  • registro de bullying;
  • dificuldades de aprendizagem;
  • problemas de comportamento.

Regras

Representam o conhecimento institucional da escola.

Exemplos:

SE faltas frequentes E queda nas notas
ENTÃO necessita acompanhamento pedagógico.
SE registro de bullying
ENTÃO acionar protocolo antibullying.
SE acompanhamento pedagógico E protocolo antibullying
ENTÃO reunião com família e coordenação.

Mecanismo de Inferência

Responsável por verificar quais regras podem ser aplicadas aos fatos existentes e gerar novas conclusões.


Implementação em Python

class BaseDeConhecimento:
    def __init__(self):
        self.fatos = []
        self.regras = []

    def adicionar_fato(self, fato):
        if fato not in self.fatos:
            self.fatos.append(fato)

    def adicionar_regra(self, condicao, conclusao):
        self.regras.append((condicao, conclusao))


class SistemaEspecialista:
    def __init__(self, base_conhecimento):
        self.base_conhecimento = base_conhecimento
        self.raciocinio = []

    def inferir(self):
        novos_fatos = True

        while novos_fatos:
            novos_fatos = False

            for condicao, conclusao in self.base_conhecimento.regras:

                if all(
                    fato in self.base_conhecimento.fatos
                    for fato in condicao
                ):

                    if conclusao not in self.base_conhecimento.fatos:

                        self.base_conhecimento.fatos.append(
                            conclusao
                        )

                        novos_fatos = True

                        explicacao = (
                            f"Como foram identificados os fatos "
                            f"{condicao}, o sistema inferiu: "
                            f"{conclusao}"
                        )

                        self.raciocinio.append(
                            explicacao
                        )

    def exibir_resultado(self):

        print("Fatos e conclusões inferidas:")

        for fato in self.base_conhecimento.fatos:
            print("-", fato)

        print("\nRaciocínio utilizado:")

        for passo in self.raciocinio:
            print("-", passo)


# Base de conhecimento

base = BaseDeConhecimento()

# Fatos observados sobre o aluno

base.adicionar_fato("faltas frequentes")
base.adicionar_fato("queda nas notas")
base.adicionar_fato("baixa participação")
base.adicionar_fato("registro de bullying")

2 respostas

Regras pedagógicas

base.adicionar_regra(
["faltas frequentes", "queda nas notas"],
"necessita acompanhamento pedagógico"
)

base.adicionar_regra(
["queda nas notas", "baixa participação"],
"necessita plano de recuperação"
)

base.adicionar_regra(
["registro de bullying"],
"acionar protocolo antibullying"
)

base.adicionar_regra(
[
"necessita acompanhamento pedagógico",
"acionar protocolo antibullying"
],
"encaminhar para reunião com família e coordenação"
)

base.adicionar_regra(
[
"necessita plano de recuperação",
"baixa participação"
],
"monitorar engajamento do aluno"
)

Sistema especialista

sistema = SistemaEspecialista(base)

Executa a inferência

sistema.inferir()

Exibe os resultados

sistema.exibir_resultado()


---

## Exemplo de Raciocínio

Fatos observados:

```text
faltas frequentes
queda nas notas
baixa participação
registro de bullying

Primeira inferência:

SE faltas frequentes
E queda nas notas

ENTÃO

necessita acompanhamento pedagógico

Segunda inferência:

SE queda nas notas
E baixa participação

ENTÃO

necessita plano de recuperação

Terceira inferência:

SE registro de bullying

ENTÃO

acionar protocolo antibullying

Quarta inferência:

SE necessita acompanhamento pedagógico
E protocolo antibullying

ENTÃO

encaminhar para reunião com família e coordenação

Oi, Patricia.

Sua adaptação ficou muito interessante, porque conecta os Sistemas Baseados em Conhecimento a um problema real da gestão pedagógica: o acompanhamento dos estudantes e o apoio à tomada de decisão nos Conselhos de Classe. A forma como você relacionou fatos, regras e mecanismo de inferência mostra uma boa compreensão do funcionamento de um sistema especialista em IA, além de evidenciar como a inteligência artificial na educação pode contribuir para decisões mais estruturadas, transparentes e alinhadas às necessidades dos alunos.

Também ficou muito positivo o contraste que você fez entre Cadeias de Markov e Sistemas Especialistas, diferenciando previsão de risco e recomendação de ações pedagógicas. Essa comparação ajuda a deixar claro que cada abordagem de IA tem uma finalidade própria dentro de uma solução educacional. Sua proposta da AFA ganha força justamente por integrar dados de frequência, desempenho, participação, comportamento e relacionamento escolar em uma base de conhecimento capaz de apoiar intervenções pedagógicas. Como você imagina que a escola poderia validar essas regras com professores, coordenação e equipe de apoio antes de usar o sistema nos Conselhos de Classe?

Fico à disposição. Abraços e bons estudos!