Sistemas Especialistas Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 6)
Sistemas Baseados em Conhecimento Os Sistemas Especialistas (SE) e os Sistemas Baseados em Conhecimento (SBC) representam uma técnica de resolução de problemas de interesse da Inteligência Artificial (IA). 5
Sistemas Baseados em Conhecimento Um exemplo de um Sistema Baseado em Conhecimento que não é um Sistema Especialista é a técnica chamada Raciocínio Baseado em Casos, o qual é também uma técnica da IA que utiliza as soluções de problemas antigos para resolver problemas similares atuais. 6
Sistemas Especialistas Sistemas Especialistas são programas de computadores que imitam o comportamento de especialistas humanos dentro de um domínio de conhecimento específico, baseado em processos heurísticos. O objetivo dos Sistemas Especialistas é captar o conhecimento de um especialista em um determinado campo, representar este conhecimento numa base e transmiti-o ao usuário, permitindo-lhe obter respostas a perguntas relacionadas à base de conhecimento do sistema. 7
Sistemas Especialistas Todo o conhecimento que o Sistemas Especialistas contém, é adquirido através de pessoas especialistas, que transferem o seu conhecimento (acumulado durante toda sua vida profissional) para o sistema. Em resumo podemos afirmar que os Sistemas Especialistas são uma técnica de Inteligência Artificial desenvolvida para resolver problemas em um determinado domínio cujo conhecimento utilizado é obtido de pessoas que são especialistas naquele domínio. 8
Sistemas Especialistas: Arquitetura Usuário Dados do problema Respostas Explicação do raciocínio Especialista Máquina de Inferência Aquisição do Conhecimento Memória de trabalho Base de conhecimento Representação do Conhecimento Engenheiro de conhecimento 12
Representação do Conhecimento O conhecimento adquirido deve ser representado apropriadamente no computador, de tal forma que o mecanismo de inferências do SE possa não só interpretar este conhecimento, mas também processa-o. Uma representação é alguma coisa que está no lugar de outra. Conclusões podem ser tiradas sobre as coisas representadas, olhando-se apenas para o modelo. 13
Representação do Conhecimento Na IA simbólica, a representação do conhecimento é feita através de uma coleção de símbolos e com procedimentos de interpretação. Existem diferentes tipos de representação: Lógica Redes Semânticas Frames Regras de produção Outros 14
Representação do Conhecimento Regras de produção são uma técnica de representação do conhecimento mais usada. Isto se deve principalmente a sua facilidade de compreensão e programação. Uma regra de produção é composta de duas partes: a parte IF (condição, premissa ou antecedente) de uma regra; a parte THEN (ação ou conseqüente) de uma regra. A condição de uma regra define um caminho a ser casado contra o conteúdo de uma memória de trabalho. Uma ação define alguma modificação ou adição a ser feita na memória de trabalho. 15
Aquisição do Conhecimento O processo de coleta e estruturação do conhecimento é chamada de aquisição de conhecimento, que é reconhecidamente o 'gargalo' do processo de desenvolvimento de um SE. Esta dificuldade está relacionada com a dificuldade de transmissão do conhecimento, por parte do especialista; ou porque o conhecimento não é bem definido, ou porque é difícil expressar e transmitir. O engenheiro de conhecimento é a pessoa encarregada de construir o SE, enquanto que a pessoa que possui o conhecimento necessário para o desenvolvimento do SE é chamada de especialista. 16
Sistemas Especialistas: Arquitetura Usuário Dados do problema Respostas Explicação do raciocínio Especialista Máquina de Inferência Aquisição do Conhecimento Memória de trabalho Base de conhecimento Representação do Conhecimento Engenheiro de conhecimento 19
Sistemas Especialistas Tipicamente um Sistemas Especialistas possui os seguintes componentes principais: base de conhecimento mecanismo de inferências memória de trabalho. A base de conhecimento (BC) é o elemento que armazena o conhecimento abstrato. Normalmente, a BC é conhecida como base de regras onde o conhecimento abstrato é armazenado em um conjunto de regras de produção do tipo: Se (situação ) Então (conclusão ou ação). 20
Sistemas Especialistas A memória de trabalho (MT) é o elemento que armazena o conhecimento concreto, ou seja, o conhecimento que pode ser considerado fato antes do processo de inferência. Esta memória é de caracter transitório pois, novos fatos estão sendo acrescentados continuamente ou fatos existentes são apagados. 21
Sistemas Especialistas O mecanismo de inferências (MI) é o processador ou interpretador de conhecimento, sendo considerado o coração do SE. Este é responsável por buscar, selecionar e avaliar as regras que foram pegas na base de conhecimento. A sua principal função é combinar o conhecimento abstrato contido na base de regras, com o conhecimento concreto armazenado na base de fatos, inferindo conclusões e gerando novos fatos. 22
Sistemas Especialistas Na base de conhecimento, onde temos as regras do tipo Se-Então, podemos identificar três tipos de variáveis: Variáveis de entrada: são variáveis onde os valores são fornecidos pelo usuário (são fatos do problema). Estas variáveis podem ser identificadas porque somente aparecem na parte Se da base de regas; Variáveis de objetivo ou meta: são variáveis que indicam quando o Se vai parar seu processo de inferência, são variáveis calculadas. Estas variáveis podem ser identificadas porque somente aparecem na parte Então da base de regas; Variáveis de inferência: são variáveis onde os valores são calculados e são variáveis utilizadas para calcular o valor de outras variáveis. Estas variáveis podem ser identificadas porque aparecem na parte Se de algumas regras e na parte Então de outras regras. 23
Sistemas Especialistas Programa Convencional Representação e uso de dados Algorítmico Processo iterativo Manipulação efetiva de grandes bases de dados Sistemas Especialistas Representação e uso de conhecimento Heurístico Processo de inferenciação Manipulação efetiva de grandes bases de conhecimento 27
Especialista Humano Perecível Difícil de transferir Difícil de documentar Não previsível Caro Criativo Adaptativo Experiência sensorial Sistemas Especialistas Sistema Especialista Permanente Fácil de transferir Fácil de documentar Consistente Baixo custo Sem inspiração Necessita de comando Entrada simbólica Visão ampla na resolução de um problema Bom senso Foco estreito Conhecimento técnico 28
Incertezas e Sistemas Especialistas 29
Incertezas em SE A BC de um SE, é imprecisa e contém incertezas, desde que é ela é uma reposição do conhecimento humano que é impreciso por natureza. Então podemos afirmar que a incerteza da informação das BC induz alguma incerteza na validade de suas conclusões. Uma idéia importante no projeto de um SE, é a capacidade de analisar a transmissão da incerteza desde as premissas até as conclusões. A forma de computar essas incertezas pode ser: fatores de confiança, probabilidades, lógica difusa. 30
Fatores de Confiança: Incertezas em SE Incertezas nas Regras da Base de Conhecimento: As regras da BC contém incertezas por serem a reposição do conhecimento humano. SE Molho = Apimentado ENTÃO Vinho = Tannat ( CNF=90%) (grau de confiança da regra) 31
Incertezas em SE Fatores de Confiança: Caso 1: Quando queremos saber o valor final atribuído às variáveis na conclusão de uma regra, quando os antecedentes da regra tem um fator de confiança. SE Molho = Apimentado ENTÃO Vinho = Tannat (CNF=90%) Supondo que o grau de confiança da igualdade do antecedente Molho = Apimentado é 80% teremos que à variável de conclusão da regra Vinho será atribuído o valor Tannat, com grau de confiança 0.80 * 0.90 = 0.72 = 72%. CNF (Conclusão) = CNF(Regra) * CNF (Antecedente) 32
Caso 2: Cálculo do grau de confiança quando temos vários antecedentes com o operador E. Incertezas em SE Se possuirmos duas igualdades var1 = value1 e var2 = value2, com os respectivos graus de confiança c1 e c2, temos que a sentença var1 = value1 E var2 = value2 retornará como valor de confiança Mínimo (c1, c2). Exemplo: SE Molho = Apimentado (80%) E Prato_Principal = Carne_Vermelha (70%) O CNF do antecedente será: 70 % (o mínimo dos dois valores) CNF(Antecedente) = Min(CNF(antecedente_1)... CNF(antecedente_k) 33
Ferramenta SINTA 34
35
36
37
38
39
40
41
42
43
44
45
46
47