Inteligência Artificial Representação do Conhecimento Prof. Jorge Manuel Lage Fernandes [email protected] Conhecimento Termo abstrato usado para capturar a compreensão de um indivíduo num domínio específico. área de conhecimento bem delimitada, focalizada. Volume Decisão/Acção Competência Conhecimento Informação Estruturada Dados Representação de Conhecimento Valor Existem várias teorias que explicam como se organiza o conhecimento humano na resolução de problemas Vários Tipos de Conhecimento 2 Representação do Conhecimento O Estudo do Conhecimento Aprender - ato que produz um comportamento diferente a um estímulo externo devido a excitações recebidas no passado e é, de uma certa forma, sinônimo de aquisição de conhecimento. Mas se aprendizado pode ser considerado como parte do estudo do conhecimento, o que é conhecimento? Conhecimento - é o que faz com que seja possível o encadeamento e desenvolvimento da inteligência. 3 Representação do Conhecimento Conhecimento [Russel and Norvig 1995] é um conjunto integrado de fatos e relações que quando devidamente interpretado, produz um desempenho eficiente. Nos Sistemas Baseados em Conhecimento há uma separação clara entre conhecimento e raciocínio, ou seja, o controle do programa não se mistura com a especificação do conhecimento. Raciocínio - planejamento e estratégia. 4 Representação do Conhecimento Características do conhecimento que devem ser analisadas: É volumoso De difícil caracterização não sabemos explicar com formalismo como,quando e de que forma o conhecimento foi adquirido, como também temos dificuldade de explicá-lo. Em constante mudança possui diversos aspectos, características e detalhes. A cada momento, novo conhecimento é gerado... é aperfeiçoado sistematicamente, crescendo e se modificando permanentemente. É individual e único cada indivíduo interpreta seu conhecimento de forma única. 5 Representação do Conhecimento Para que um sistema computacional possa utilizar aspectos do conhecimento existe a necessidade de estruturação daquilo que será empregado pelo sistema. Essa estruturação é conhecida pelo nome de Representação do Conhecimento 6 Representação do Conhecimento Características Representação do Conhecimento: generalizável representação passível de atualização/correção o conhecimento é dinâmico, portanto, existe a necessidade permanente de atualização e ajustes do mesmo robusta vários pontos de vista do mesmo conhecimento concebem uma representação de modo que possa ser atribuído a diversas situações e interpretações. de tal forma que seja possível a sua utilização mesmo não abordando todas as situações possíveis, ou seja, mesmo sendo incompleta e imprecisa. compreensível compreensível ao ser humano e possível a sua interpretação. 7 Representação do Conhecimento O Estudo do Conhecimento Aquisição do conhecimento ou aprendizado, tenta responder às seguintes questões: Como introduzir conhecimento na máquina? Como tratar consistência e redundância? A manifestação inteligente pressupõe Aquisição, Armazenamento e Inferência do conhecimento 8 Representação do Conhecimento Quando se discute representação do conhecimento, se lida com dois tipos diferentes de entidades: Fatos: Verdades em algum mundo relevante. Essas são as coisas que queremos representar. Representação de fatos: com algum formalismo escolhido. Essas são as coisas que efetivamente seremos capazes de manipular. 9 Representação do Conhecimento Exemplos de paradigmas de representação do conhecimento: Conhecimento Procedural – o conhecimento é representado em forma de funções/procedimentos. Redes – o conhecimento é representado por um rótulo de grafos direcionados, cujos nós representam conceitos e entidades, enquanto os arcos representam a relação entre entidades e conceitos. Frames – parecido com a rede semântica, exceto que cada nó representa conceito e/ou situações. Cada nó tem várias propriedades que podem ser especificadas ou herdadas pelo padrão. 10 Representação do Conhecimento Lógica – modo de declaração que representa o conhecimento. Árvores de Decisão – conceitos são organizados em forma de árvores. Conhecimento Estatístico – uso de fatores de certeza, Redes Bayesianas, Lógica Fuzzy, etc. Regras – sistemas de produção para codificar regras de condição/ação. Esquemas Híbridos – qualquer representação do formalismo que emprega a combinação de esquemas de representação do conhecimento. 11 Representação do Conhecimento Casos – uma experiência passada, acumulando casos e tentando descobrir, por analogia, soluções para outros problemas. MetaConhecimento [Rich and Knight 1991] pode definir-se como conhecimento acerca do próprio conhecimento que se detém. Pode ser usado para: guiar a seleção, localização e uso de regras dar informação acerca das regras e do conhecimento justificar as regras melhorando a capacidade de explicação apoiar na detecção de erros ao introduzir novas regras facilitar a introdução de novo conhecimento 12 Representação do Conhecimento Representação do conhecimento - sub-área de IA cujo objetivo principal é a busca de formalismos que possam ser usados para representar informação a respeito do mundo real. Muito do que se faz em IA baseia-se na chamada hipótese da representação do conhecimento. De acordo com Reichgelt (1991), formalismos de representação do conhecimento podem ser discutidos em quatro níveis distintos: executável, lógico, epistemológico e conceitual. Espistemologia - "estudo da ciência", vem do grego, (episteme) = ciência, conhecimento científico, (logos) = palavra, verbo, estudo, discurso. 13 Representação do Conhecimento Como poderíamos conceber um mecanismo geral para representar o conhecimento? Como podemos representar definições? E exceções? Quando um sistema inteligente deve fazer suposições pré-concebidas sobre informação ausente e como ele poderia ajustar o seu raciocínio caso estas suposições se mostrem erradas? Como podemos representar o tempo da melhor forma possível? E a casualidade? E a incerteza? 14 Representação & Raciocínio Raciocínio é um processo de construção de novas sentenças a partir de sentenças existentes. Categorias (Típicas) de Raciocínio Dedução Indução Abdução Analogia 15 Categorias de Raciocínio: Dedução Processo de raciocínio no qual uma conclusão segue necessariamente das premissas supostas. Baseia-se na criação de novas sentenças a partir de premissas dadas como verdadeiras. A sentença criada é necessariamente verdadeira. Uma das regras básicas da inferência da Lógica Dedutiva: regra do modus ponens (Latim: modo que afirma) Se X é verdade e se X sendo verdade implica que Y é verdade, então Y é verdade 16 Categorias de Raciocínio: Dedução Fatos + regras de inferência => novos fatos causa -> efeito Se há fogo (causa), há fumaça (efeito). Aqui tem fogo, logo, aqui tem fumaça (novo fato) É o único tipo de inferência que preserva a verdade 17 Categorias de Raciocínio: Dedução Exemplo: Premissa 1: Todo homem é mortal Premissa 2: João é homem Conclusão: João é mortal 18 Representação do Conhecimento Exemplo: Determine o tipo de raciocínio utilizado a seguir: Todos os alunos gostam de inteligência artificial. Francisco é aluno. Francisco gosta de inteligência artifical. Solução: Raciocínio por Dedução 19 Representação do Conhecimento Exemplo: Determine o tipo de raciocínio utilizado a seguir: Todos os feijões deste saco são brancos. Estes feijões provêm deste saco. Estes feijões são brancos. Solução: Raciocínio por Dedução 20 Categorias de Raciocínio: Indução Uma conclusão sobre todos os membros de uma classe por meio do exame de apenas uns poucos membros da classe. De maneira geral, raciocínio do particular para o geral. “Formalmente”: Para um conjunto de objetos, X={a,b,c,d,...}, se a propriedade P é verdade para a, e se P é verdade para b, e se P é verdade para c,... então P é verdade para todo X 21 Categorias de Raciocínio: Indução Parte dos fatos para gerar regras fato1 + fato2 + fato 3 => regra! ex. Sr. Antônio, assim como D. Maria, tem dor de cabeça e dengue, então todo mundo que tem dengue, tem dor de cabeça Transforma conhecimento em extensão em conhecimento em intenção!! 22 Categorias de Raciocínio: Indução Exemplo: Caso 1: Joseana é professora Joseana tem um ótimo salário Caso 2: Eustáquio é professor Eustáquio tem um ótimo salário Caso 3: Elmar é professor Elmar tem um ótimo salário Lei geral: Professor tem um ótimo salário 23 Representação do Conhecimento Exemplo: Determine o tipo de raciocínio utilizado a seguir: O ferro conduz eletricidade O ferro é metal O ouro conduz eletricidade O ouro é metal O cobre conduz eletricidade O cobre é metal Logo os metais conduzem eletricidade. Solução: Raciocínio por Indução 24 Representação do Conhecimento Exemplo: Determine o tipo de raciocínio utilizado a seguir: Estes feijões provêm deste saco. Estes feijões são brancos. Todos os feijões deste saco são brancos. Solução: Raciocínio por Indução 25 Categorias de Raciocínio: Abdução Consiste em, dada uma premissa do tipo P → Q, e sabendo-se que Q é verdadeira, admite-se que, talvez, P seja verdade, ou seja, supõe-se, sem certeza, que P é verdade. É uma heurística para fazer “inferências plausíveis”. Propicia uma conclusão plausível consistente com a informação disponível, a qual pode de fato estar errada. “Formalmente”: Se Y é verdade e X implica em Y, então X é verdade 26 Categorias de Raciocínio: Abdução Inverso da dedução: do efeito para a causa Se há fumaça, há fogo. Eu vi fumaça (efeito), logo aqui tem fogo (causa) Ex. Se há febre e dor, a doença é dengue Este tipo de inferência preserva a falsidade Exemplo: Se eu leio que fumar causa câncer de pulmão e José morreu de câncer de pulmão, Lei Geral: posso inferir que José era um fumante. 27 Representação do Conhecimento Exemplo: Determine o tipo de raciocínio utilizado a seguir: Todos os feijões deste saco são brancos. Estes feijões são brancos. Estes feijões provêm deste saco Solução: Raciocínio por Abdução 28 Categorias de Raciocínio: Analogia Baseia-se na experiência de casos anteriores, dos quais há verdades conhecidas. Se o caso que está sendo analisado assemelha-se ao(s) caso(s) anterior(es), então supõe-se, sem certeza absoluta, que as mesmas verdades são verdadeiras também para esse caso. Parte do particular para o particular, não possui, do ponto de vista formal, uma força de prova, mas somente é verossímil ou provável. 29 Categorias de Raciocínio: Analogia Fatos + similaridades + regras de adaptação +... a partir de fatos (conhecimento em extensão), a da similaridade entre eles, resolve o problema sem gerar regras ex.: Naquele caso de dengue, eu passei aspirina e não deu certo, logo vou evitar receitar aspirina neste caso semelhante 30 Categorias de Raciocínio: Analogia Exemplo: Caso anterior: João ingeriu bebida alcoólica em demasia. João teve amnésia. Caso analisado: Maria ingeriu bebida alcoólica em demasia. Inferência por analogia: Maria teve amnésia. 31 Representação do Conhecimento Exemplo: Determine o tipo de raciocínio utilizado a seguir: A Terra e Marte são planetas, giram em torno do sol e têm atmosfera. A Terra é habitada. Marte também deve ser habitado Solução: Raciocínio por Analogia 32 Categorias de Raciocínio O conhecimento novo baseado no raciocínio dedutivo é sempre verdade se as suposições são verdadeiras O conhecimento novo baseado em vários casos (indução) é geralmente verdadeiro desde que os sistemas estudados sejam bem comportados. Uma inferência baseada na abdução pode ser plausível mas deve carregar um fator de confiança para indicar a probabilidade de estar correta. 33 Sistema baseado em conhecimento (dedutivo) Raciocínio Automático Sensores Ambiente Efetuadores Ask Base de Conhecimento Especializada Tell Retract Máquina de Inferência Genérica Representação e Aquisição de Conhecimento 34 Como adquirir conhecimento? Aprender Várias técnicas ... Aprendizagem Simbólica Redes Neurais Algoritmos Genéticos Explicitar: engenharia de conhecimento Várias técnicas... Programação em lógica, sistemas de produção, ... 35 Ciclo de vida dos sistemas baseados em conhecimento Nível de Conhecimento Nível Lógico Nível de Implementação AQUISIÇÃO FORMALIZAÇÃO linguagem natural linguagem de representação de conhecimento linguagens de programação IMPLEMENTAÇÃO BC REFINAMENTO 36 Redes Semânticas e Sistemas Frames 37 Redes Semânticas Histórico 38 Redes Semânticas foram propostas em 1913 por Selz como uma explicação a fenômenos psicológicos. Em 1966, Quillian implementou essas redes e mostrou como o conhecimento semântico poderia ser representado como relacionamento entre dois objetos. Redes Semânticas Uma rede semântica é uma representação na qual 39 existem nós que representam entidades e links (predicados) que representam relacionamentos entre essas entidades; cada link conecta um nó origem até um nó destino; normalmente, os nós e links denotam entidades de domínio específico. Exemplo: Rede Semântica Pessoa Mobília Ako Cadeira é-um é-um Ana Tem-um Cadeira-27 Dono Cor Preto 40 Couro Estofamento Assento Redes Semânticas Forma mais flexível e intuitiva de representar conhecimento. Suportam herança de propriedades. Relações Ako (a-kind-of): relações entre classes é-um (is-a): relações entre classes e instâncias 41 uma entidade pertence a uma classe mais alta ou uma categoria de objetos. tem-um (has-a): identifica características ou atributos das entidades parte-de (part-of): identifica características ou atributos das entidades variados: identifica características gerais Sistemas de Redes Semânticas Base de conhecimento Máquina de inferência busca e casamento de padrões a busca se dá para frente e para trás através dos links. A busca pode ser usada de várias maneiras para se extrair informações 42 nós e links da rede. como uma ferramenta explicativa; para explorar exaustivamente um tópico; para encontrar o relacionamento entre dois objetos. Exemplo: Busca em redes semânticas faz Animal Ako Pássaro Comer Ako Mamífero tem Ako Cão 43 Pêlos Busca como Ferramenta Explicativa Para provar a declaração “Cães comem” 44 pode-se supor que cães comem, e usar busca sobre a rede para provar a hipótese. Buscando a partir do nó “Cão”, temos: “Cão é-um mamífero” “Mamífero é-um animal” “Animal faz comer” Isto é uma prova para “Cães comem” Explorar exaustivamente um tópico 45 Para derivar todo o conhecimento sobre “cães”, usa-se Busca em Largura a partir do nó “Cão” “Cães são Mamíferos” “Cães têm Pêlos” “Cães são Animais” “Cães Comem” Relacionando tópicos 46 Para verificar se “Cães” e “Pássaros” estão relacionados, pode-se executar, a partir de ambos os nós, uma Busca em Largura. A interseção entre os nós visitados nos dá uma pista sobre o relacionamento entre os nós iniciais. Isto é chamado ativação distribuída ou interseção de busca. Vantagens Representação visual fácil de entender. Flexibilidade na manipulação de nós e links Economia herança via relações “é-um” e “ako”. Capta “senso-comum” 47 adição, exclusão, modificação semelhante ao armazenamento de informações no cérebro. Limitações Busca em redes semânticas grandes pode ser muito ineficiente. Não há homogeneidade na definição de nós e links. Hereditariedade pode causar dificuldades no tratamento de exceções. Pode haver conflito entre características herdadas. É difícil representar conhecimento procedimental Menos expressiva que a Lógica de Primeira Ordem 48 seqüenciamento e tempo não estão explícitos. não há quantificadores. Frames (quadros) 49 Características Um frame é identificado por um nome e descreve um objeto complexo através de um conjunto de atributos Um Sistema de Frames é um conjunto de frames organizados hierarquicamente. São uma evolução das Redes Semânticas: nós são substituídos por frames arcos são substituídos por atributos (slots) procedimentos podem ser anexados a um frame Frames: atributos (slots) Frames Possuem pelo menos dois atributos: A fim de melhorar a estruturação (hierarquia), privilegiam dois tipos de relações: ako: relação entre classe e sub-classe is-a: relação entre classe e instância. Cada atributo 50 Nome Ako ou is-a aponta para um outro frame ou para um tipo primitivo, ex. string; consiste em um conjunto de facetas (atributos de atributos). Exemplo: Classes e Instâncias Animal Pássaro Babalu 51 Ako Comer é-um faz comer Mamífero Ako Comer tem pêlos Cão Ako Facetas Descrevem conhecimento ou algum procedimento relativo ao atributo. Propriedades Valor: especifica o único valor possível. Valor default: especifica o valor assumido pelo atributo caso não haja nenhuma informação a esse respeito. Tipo: indica o tipo de dado do valor. Domínio: descreve os valores possíveis para o atributo. Procedimentos Demons 52 como os triggers nos bancos de dados Uma Representação Abstrata de um Frame < Nome do Frame> < atributo1 > < faceta1 >: valor 53 < atributo2 > < atributo3 > < faceta1 >: valor < faceta2 >: valor < faceta3 >: valor < faceta1 >: valor < faceta2 >: valor < faceta3 >: valor Os frames integram conhecimento declarativo sobre objetos e eventos e conhecimento procedimental sobre como recuperar informações ou calcular valores. Procedimentos Demons Definição São procedimentos anexados aos frames, disparados por consultas ou atualizações. Podem inferir valores para atributos a partir de valores de outros atributos especificados anteriormente em qualquer frame do sistema. Procedimentos (Demons): when-requested when-read quando valor é lido when-written 54 quando o valor é pedido mas não existe ainda quando valor é modificado Exemplo: Procedimentos Demons Cômodo Atributo Ako: Lugar-coberto Default Tipo Se-necessário Nº de paredes 4 número Formato retangular símbolo Altura 3 número Área número Volume número Área * Altura Ako Sala Atributo Mobiliário Finalidade Área 55 Ako: Cômodo Default (sofá,mesa,cadeiras) convivência 25 Tipo lista de símbolos símbolo número Exemplo de Sistema de Frames Ana ... ... ... verde é-um: String Cadeira Ako: Mobília é-um: Pessoa Mobília ... ... Cadeira-27 dono: cor: tem-um: 56 é-um: Cadeira Assento estofamento: tamanho: ... couro é-um: Herança de Propriedades Três tipos de informações podem ser de herdadas Idéia: herdar das classes superiores valor (= POO) procedimento (= POO) valor default em caso de conflito, vale a informação mais específica Existem dois tipos de herança: Herança simples Herança múltipla 57 existe uma única super-classe para cada classe uma classe pode ter mais de uma super-classe, podendo herdar propriedades ao longo de diversos caminhos diferentes (= o caos) Scripts Especialização de frames projetados p/ manipular situações além de objetos Nós = eventos Link = causadores Um evento provoca o próximo – um Script é como um script cinematográfico Como num script de cinema precisamos considerar o número de elementos quando projetamos o script: 58 Quais são os papéis dos objetos/pessoas no script; Quais objetos de cena se relacionam ao script; Quais são as motivações ou entradas condicionais para execução do script; Quais cenas estão para ocorre; e Em qual ordem elas devem ocorrer; etc. Scripts 59 Antes de projetarmos o script, necessitamos de uma sequência básica inicial. Por exemplo, na ida a um restaurante há uma sequencia de eventos que podemos esperar: Scripts Colocando os eventos junto com aos demais elementos, poderíamos imaginar o script “Restaurante” assinalando apenas algumas coisas, tais como: SCRIPT RESTAURANTE 60 Papéis: Freguês, garçon, cozinha. Objetos de cena: Mesas, cadeiras, garfos, facas, pratos, copos, garrafas de vinho... Entradas Condicionais: Freguês está faminto; Freguês está vestido inapropriadamente; Freguês tem dinheiro. Scripts SCRIPT RESTAURANTE (Continuação) Cena 1: Entrar Estacionar o carro Entrar no Restaurante Esperar por uma Mesa ou 61 Ir até a Mesa Ler o Menu Cena 2: Pedir a Refeição. Scripts 62 Scripts podem ser usados para: Contar histórias sobre uma sequência de eventos Responder questões tais como: O que acontece se o bife do freguês estiver queimado? Pegadas dos eventos levem a alguma decisão. Scripts são muito similares a frames, são codificados da mesma forma e são, normalmente, considerados como uma subclasse de frames. Sistemas Frames: Funções (historicamente) Reconhecer que uma dada situação pertence a uma certa categoria (matching) Interpretar a situação e/ou prever o que surgirá em termos da categoria reconhecida (matching) ex. pessoa com revolver (revolver arma -> perigo) Capturar propriedades de senso comum sobre pessoas, eventos e ações 63 ex. reconhecimento visual de uma sala de aula foi a primeira tentativa de estruturar conhecimento declarativo sem usar regras. Deu origem ao que chamamos hoje de Ontologias! Ontologia 64 É a parte da filosofia que trata da natureza do ser, da realidade, da existência dos entes e das questões metafísicas em geral. A ontologia trata do ser enquanto ser, isto é, do ser concebido como tendo uma natureza comum que é inerente a todos e a cada um dos seres. Costuma ser confundida com metafísica. Conquanto tenham certa comunhão ou interseção em objeto de estudo, nenhuma das duas áreas é subconjunto lógico da outra, ainda que na identidade.