Introdução ao Expert Sinta

O Expert Sinta é um software que utiliza técnicas de Inteligência Artificial para o desenvolvimento automático de sistemas especialistas, tendo sido criado pelo Laboratório de Inteligência Artificial da Universidade Federal do Ceará. O software é bastante antigo e a última versão foi lançada em 1998, porém, ele funciona perfeitamente até nas novas versões do Windows. Outro ponto positivo é que o grupo de pesquisa disponibilizou o código fonte em Delphi, que você pode baixar junto com o executável no seguinte link:

Antes de falar sobre a ferramenta, vou abordar primeiro um pouco sobre a teoria dos sistemas especialistas. Mas em primeiro lugar, o que é um especialista? Sempre ouvimos falar que depois de uma pessoa terminar a graduação ela irá fazer uma especialização, ou seja, irá se tornar uma especialista em um determinado assunto. Com isso, um especialista é um “expert” em um tópico bem específico. Um exemplo bem comum são os médicos, que em geral são especializados em determinadas áreas, como cardiologia, pediatria, infectologia, dentre muitas outras. Na área da computação, temos os especialistas em segurança de redes de computador, banco de dados ou linguagens de programação específicas, por exemplo. Desta forma, o objetivo de um sistema especialista, como o próprio nome sugere, é um software para armazenar o conhecimento de um especialista humano e que também consiga raciocinar como tal. Em outras palavras, é um sistema projetado para simular a especialização humana em algum domínio bem específico.

Esse tipo de sistema pode ser utilizado basicamente de duas formas: para apoio à decisão e tomada de decisão. No primeiro caso o usuário utiliza o sistema como um auxiliar, mesclando o seu próprio conhecimento com o retorno do sistema especialista para tomar a decisão. No segundo caso, o próprio sistema faz a decisão com base em seu conhecimento, tomando o lugar da pessoa. Para chegar nesses objetivos, o conhecimento do especialista precisa ser armazenado em uma base de conhecimento no formato de regras, conforme você pode observar no exemplo abaixo.

Regra 1: Se previsão do tempo = chuva então chovendo = sim
Regra 2: Se assistiu programa de meteorologia = sim e praias vazias = sim então previsão do tempo = chuva
Regra 3: Se local de passeio = cachoeira então distância > 5
Regra 4: Se chovendo = sim e distância > 5 e condição física = ruim então transporte = carro
Regra 5: Se chovendo = não e distância < 5 e condição física = boa então transporte = a pé
Regra 6: Se jogou bola = sim então condição física = ruim
Regra 7: Se amigos ligaram = sim então jogou bola = sim

Note que existem sete regras do tipo SE – ENTÃO e o objetivo do sistema está na conclusão das regras 4 e 5, que é indicar o tipo de transporte (ir de carro ou ir a pé) que será escolhido com base em várias outras variáveis, como se estiver chovendo, se os amigos ligaram, o local do passeio, dentre outros. Em suma, o objetivo do sistema especialista é fazer a inferência entre essas regras, realizar perguntas para o usuário e inferir a resposta, ou seja, baseado no que o usuário responder o software responderá qual o tipo de transporte a ser utilizado.

Ele é composto basicamente por cinco partes: especialistas, base de conhecimento, mecanismo de inferência, interface de usuário e usuário; conforme você pode observar na figura abaixo.

Vou agora explicar um pouco sobre cada um desses componentes, para depois mostrar um pouco mais sobre o Expert Sinta. Os especialistas são as pessoas que detém o conhecimento sobre um determinado assunto, enquanto que a base de conhecimento é o local onde este conhecimento será armazenado no formato de regras SE – ENTÃO, conforme visto no exemplo anterior. O mecanismo de inferência é a parte mais complexa do sistema e é responsável pelo encadeamento das regras, perguntas ao usuário e conclusão do objetivo. A primeira vista pode parecer simples, porém, o código para construir um motor de inferência é bastante complexo e eu indico que você dê uma olhada no código-fonte do próprio Expert Sinta.

Agora que entendemos um pouco mais sobre os sistemas especialistas, vou mostrar de forma resumida algumas das principais janelas do Expert Sinta! É importante frisar que este artigo não é um tutorial passo a passo sobre a ferramenta, mas sim uma visão geral sobre ela para que você a conheça e quem sabe se precisar fazer um sistema especialista simples poder utilizá-la. A Figura abaixo mostra a tela para definição das variáveis, na qual você pode observar que todas as variáveis do exemplo anterior estão definidas, sendo importante frisar que o Expert Sinta permite espaçamentos e caracteres especiais.

A próxima figura, por sua vez, apresenta a janela para a definição das regras. Neste exemplo está sendo mostrada a regra 4 do exemplo da escolha da melhor forma de transporte. O processo para adicioná-las é bastante intuitivo e a interface gráfica, apesar do visual antigo, é de fácil manipulação. Para rodar o sistema especialista, é necessário definir qual é a variável objetivo, que pode ser feito clicando no botão "Objetivos" (um sistema especialista pode ter mais de um objetivo). Por fim, a última figura mostra a interface gráfica de uma pergunta ao usuário e também a árvore de pesquisa, que indica em quais regras o motor de inferência precisou entrar para encontrar a resposta.

Com isso, você aprendeu um pouco mais sobre o Expert Sinta e também sobre sistemas especialistas. Uma pergunta que geralmente os alunos dos cursos de Inteligência Artificial fazem é: eu posso usar essa ferramenta para um sistema mais "sério" ou comercial? A resposta é sim, pois apesar de ser um software antigo, ele funciona bem e para pequenos projetos ele pode ser apresentar bons resultados. Porém, não é possível instalar somente o sistema construído, ou seja, o usuário terá que abrir o software completo para fazer as pesquisas.

E se você quiser saber mais sobre sistemas especialistas e sobre o Expert Sinta, eu gravei um curso gratuito com mais de duas horas sobre esse assunto! Clique aqui para saber mais https://iaexpert.academy/curso-sistemas-especialistas-site/.

Espero que você tenha gostado deste artigo e até o próximo!