Para projetar um SE, o desenvolvedor necessita de uma estrutura básica que compõe uma arquitetura (Figura 12) capaz de armazenar o conhecimento, processá-lo e trocar mensagens com o usuário. Estas três atividades determinam de forma clara as três partes de um SE, a saber, respectivamente: base de conhecimento, mecanismo (motor/máquina) de inferência e interface com o usuário.
Três atores estão envolvidos no projeto e desenvolvimento de um SE: o especialista no domínio, engenheiro de conhecimento e o usuário (SCHULTE et al., 1987).
Especialistas são profissionais que alcançaram uma perícia em um domínio específico do conhecimento em decorrência de qualificação, aptidão ou por uma vasta experiência no desenvolvimento de procedimentos adequados à resolução de problemas do domínio em questão (TALUKDAR et al., 1986).
Engenheiro do Conhecimento é a denominação dada ao profissional que projeta SEs. Cabe a ele observar, conversar e trabalhar com o especialista humano para determinar como expressar o processo de raciocínio do especialista numa forma objetiva (MAEDCHE, 2002).
O usuário não necessariamente precisa ser um especialista, e utiliza o sistema especialista para inferir sobre questões do domínio de conhecimento, na busca por respostas em atividades específicas de um especialista.
O processo arquitetural inicia-se com a interação entre o engenheiro do conhecimento e o especialista do domínio na atividade de aquisição do conhecimento, tal conhecimento
42 abstraído do especialista é representado na base de conhecimento. Posteriormente, a máquina de inferência e a interface do usuário são desenvolvidas.
O usuário consulta o sistema especialista sobre problemas do domínio, o módulo de interface comunica o mecanismo de inferência que por sua vez solicita o conhecimento necessário para inferir sobre a questão. Após a inferência a interface disponibiliza respostas necessárias para auxiliar o usuário na tomada de decisão.
Figura 12. Arquitetura de um SE
2.2.3.1BASE DE CONHECIMENTO
A fase de construção da base de conhecimento de um sistema especialista, frequentemente chamada de engenharia de conhecimento, é uma das mais complexas na implementação, pois o conhecimento de um especialista não se encontra formalizado, precisando portanto de um trabalho prévio para tal. A base de conhecimentos está interligada com quase todos os demais elementos do sistema, especialmente com a máquina de inferência, o mecanismo de aprendizagem e aquisição do conhecimento.
Para Genaro (1986) a base de conhecimentos de um sistema especialista compreende o conhecimento de uma área específica. O conteúdo do banco de conhecimento é essencialmente de dois tipos: conhecimento factual e conhecimento heurístico.
43 O conhecimento factual é representado por fatos, informações evidenciadas e aceitas pela comunidade científica, é o conhecimento contido nas publicações e livros. Por sua vez o conhecimento heurístico são as regras de ―bom senso‖ de especialistas em alguma área da Ciência, do conhecimento dos especialistas que normalmente não têm como comprová-las cientificamente e é delas que resulta a força dos SEs (CHAIBEN, 2016).
2.2.3.2MECANISMO DE INFERÊNCIA
O mecanismo de inferência é considerado o núcleo de um Sistema Especialista, pois é através dele que os fatos e as heurísticas contidos na base de conhecimento são aplicados no processo de solução do problema (CHAIBEN, 2016).
O processo de inferência está diretamente associado com a estrutura utilizada para o armazenamento do conhecimento. Entretanto, de forma geral, pode-se afirmar que o processo envolve um encadeamento lógico que permite tirar conclusões a partir do conhecimento existente. Conforme Heinzle (1995), ―o motor de inferência é, portanto, o responsável pela ação repetitiva de buscar, analisar e gerar novos conhecimentos‖.
Para Genaro (1986), a tarefa do mecanismo de inferência é selecionar e então aplicar a regra mais apropriada em cada passo da execução do sistema especialista, o que contrasta com técnicas de programação convencional, onde o programador seleciona a ordem na qual o programa deverá executar os passos, ainda em tempo de programação.
Em geral, o mesmo motor de inferências pode ser usado para fazer derivações sobre diferentes bases de conhecimento porque não contém um domínio de informação. É apenas um programa de cálculo ou de busca que analisa o conteúdo contido na base de conhecimento e aplica as regras necessárias segundo a meta estipulada pelo sistema naquele momento. A capacidade do motor de inferência é baseada em uma combinação de procedimentos de raciocínios que se processam de forma regressiva e progressiva.
Na forma de raciocínio progressivo, as informações são fornecidas ao sistema pelo usuário, que, com suas respostas, estimula o desencadeamento do processo de busca, navegando através da base de conhecimento, procurando por fatos, regras e heurísticas que melhor se aplicam a cada situação. O sistema continua nesta interação com o usuário até encontrar a solução para o problema em questão.
No modelo de raciocínio regressivo, os procedimentos de inferência acontecem de forma inversa. O sistema parte de uma opinião conclusiva sobre o assunto, podendo ser inclusive oriunda do próprio usuário, e inicia uma pesquisa pelas informações por meio das
44 regras e dos fatos da base de conhecimento, procurando provar se aquela conclusão é a mais adequada solução para o problema analisado.
2.2.3.3INTERFACE DO USUÁRIO
Nos SEs a interface ganha contornos especiais, face ao caráter de documentação (citação dos textos em que se baseia a conclusão), acessibilidade (linguística e técnica) e transparência (explicitação minuciosa dos procedimentos seguidos através de mecanismos de justificação) dos conteúdos da consulta.
Para que isto ocorra, a interface deve ser flexível o bastante para que a interação entre o SE e o usuário conduza a uma eficiente navegação na base de conhecimentos durante o processamento das heurísticas, permitindo que o usuário descreva o problema ou os objetivos que deseja alcançar, e também facilita a recuperação do caminho percorrido pelo sistema para chegar à solução do problema, através de um modelo de consulta estruturado. Esse caminho é denominado trace e é a base de pesquisa para a explanação, que consiste em explicar ―o porquê‖ e o ―como‖ o sistema chegou à tal conclusão. Esse processo é muito importante, pois oferece ao usuário ajuda para julgar se adota ou não a solução apresentada pelo Sistema Especialista (MENDES, 2016)