Sistemas Inteligentes Aula Engenharia de Conhecimento e Ontologias

  • Slides: 67
Download presentation
Sistemas Inteligentes Aula: Engenharia de Conhecimento e Ontologias 1

Sistemas Inteligentes Aula: Engenharia de Conhecimento e Ontologias 1

Plano da aula Engenharia de Conhecimento n n Conceitos básicos Etapas Ontologias n n

Plano da aula Engenharia de Conhecimento n n Conceitos básicos Etapas Ontologias n n Elementos de uma ontologia Tipos de Ontologias Usos das Ontologias Como projetar/desenvolver uma ontologia 2

Sistemas Baseados em Conhecimento SBCs são sistemas que usam n n conhecimento de domínios

Sistemas Baseados em Conhecimento SBCs são sistemas que usam n n conhecimento de domínios específicos representado explicitamente w Base de conhecimento! n para resolver problemas complexos São sistemas capazes de. . . n n Questionar o usuário Raciocinar com base no conhecimento disponível Explicar seu raciocínio ao usuário “Lidar” com seus erros 3

A Grande Escolha Aprendizagem de máquina n n Se existe conhecimento em extensão (exemplos)

A Grande Escolha Aprendizagem de máquina n n Se existe conhecimento em extensão (exemplos) disponível, é mais rápido e simples “aprender” Várias técnicas w Redes neurais, Aprendizagem simbólica, . . . Engenharia do Conhecimento n n Se o conhecimento pode ser facilmente explicitado através de regras declarativas, ou Quando não se tem escolha w i. e. , não há exemplos disponíveis n Mais trabalhoso, embora muito preciso e extensível 4

Engenharia do Conhecimento - EC 5

Engenharia do Conhecimento - EC 5

Um Pouco de História. . . No início, a IA estava preocupada em desenvolver

Um Pouco de História. . . No início, a IA estava preocupada em desenvolver n n n Formalismos para representar conhecimento Mecanismos de inferência Formas de operacionalizar os SBCs Mas. . . n Como garantir a escalabilidade desses sistemas? 6

Engenharia do Conhecimento - EC Área de pesquisa preocupada com n desenvolver Métodos, Linguagens

Engenharia do Conhecimento - EC Área de pesquisa preocupada com n desenvolver Métodos, Linguagens e Ferramentas adequados para o desenvolvimento de sistemas BC Foco principal: n n como adquirir e analisar conhecimento como validar e manter uma Base de Conhecimento Construção da Base de Conhecimento n Processo de acumular, transferir e transformar alguma fonte de conhecimento para um computador 7

EC - Definições Engenheiro de conhecimento n Guia a aquisição, a criação da representação

EC - Definições Engenheiro de conhecimento n Guia a aquisição, a criação da representação do conhecimento especializado, a implementação e o refinamento do SBC Expertise n conhecimento especializado adquirido por longo treinamento, leitura e experiência Especialista (Expert ) n Quem possui conhecimento especializado , experiência e métodos, e a habilidade de aplicá-los para dar “conselhos” e resolver problemas 8

Desenvolvimento de SBCs 9

Desenvolvimento de SBCs 9

Etapas do desenvolvimento de SBCs 1. Aquisição (elicitação) do conhecimento n n Identificação do

Etapas do desenvolvimento de SBCs 1. Aquisição (elicitação) do conhecimento n n Identificação do conhecimento a adquirir Registro do conhecimento em linguagem natural ou usando alguma notação gráfica 10

Etapas do desenvolvimento de SBCs 2. Formalização da BC n Nível semi-formal via w

Etapas do desenvolvimento de SBCs 2. Formalização da BC n Nível semi-formal via w w n Notação textual estruturada padrão (XML) Notação gráfica padrão (UML) Ontologias Objetivo: validação com especialista Nível formal w w w Via linguagens formais (e. g. , LPO) Notação sem ambigüidade com Objetivo: verificação de consistência 11

Etapas do desenvolvimento de SBCs 3. Implementação da BC n n n Uso (ou

Etapas do desenvolvimento de SBCs 3. Implementação da BC n n n Uso (ou criação) de um sistema (máquina de inferência) capaz de ler a BC e realizar dedução usando linguagens de programação Implementação da Interface Teste de protótipo 4. Validação e Refinamento n n Validação Refinamento 12

Etapas do desenvolvimento de SBCs exemplos Conhecimento em linguagem natural n A ponte Princesa

Etapas do desenvolvimento de SBCs exemplos Conhecimento em linguagem natural n A ponte Princesa Isabel liga a Rua da Imperatriz à Rua Nova Formalização em LPO n liga(Ponte-PI, RN) Implementação n estruturas de dados representando as sentenças do nível formal w e. g. , listas, tabelas, objetos, etc. 13

Etapas de desenvolvimento de SBCs Nível de Conhecimento Nível Lógico Nível de Implementação AQUISIÇÃO

Etapas de desenvolvimento de SBCs Nível de Conhecimento Nível Lógico Nível de Implementação AQUISIÇÃO FORMALIZAÇÃO IMPLEMENTAÇÃO REFINAMENTO Linguagem natural Linguagens de representação do conhecimento Linguagens de programação BC

Etapas de desenvolvimento de SBCs Veremos a seguir n n Aquisição do conhecimento Formalização

Etapas de desenvolvimento de SBCs Veremos a seguir n n Aquisição do conhecimento Formalização do conhecimento w Ontologias n Nível “semi”-formal 15

Aquisição do Conhecimento O gargalo na construção dos SBCs 16

Aquisição do Conhecimento O gargalo na construção dos SBCs 16

Aquisição do Conhecimento Principais fases da aquisição n Identificar características do problema w Do

Aquisição do Conhecimento Principais fases da aquisição n Identificar características do problema w Do domínio da aplicação n Isolar e representar os conceitos principais e suas relações w através de uma Ontologia, por exemplo n Identificar inferências sobre estes conceitos (regras) O conhecimento pode originar-se de várias fontes: n especialistas, livros e documentos, filmes, etc. 17

Gargalo na Aquisição do Conhecimento A maior parte do conhecimento está na cabeça dos

Gargalo na Aquisição do Conhecimento A maior parte do conhecimento está na cabeça dos especialistas. . . Especialistas n têm muito conhecimento empírico w Difícil de ser capturado e representado formalmente n n são “caros” não sabem de tudo! têm dificuldade de verbalizar sob pressão usam vocabulário próprio (jargão) 18

Gargalo na Aquisição do Conhecimento Dificuldade de introspecção n O especialista quase nunca está

Gargalo na Aquisição do Conhecimento Dificuldade de introspecção n O especialista quase nunca está ciente de como usa o conhecimento que possui w Pode não saber porque escolheu uma estratégia n Algumas soluções são intuitivas ou “compiladas” O conhecimento expresso pode ser incompleto n n O especialista pode não lembrar em detalhes qual o conhecimento utilizado para resolver um problema O especialista pode pular pontos importantes 19

Gargalo na Aquisição de conhecimento O conhecimento expresso pode ser incorreto ou inconsistente n

Gargalo na Aquisição de conhecimento O conhecimento expresso pode ser incorreto ou inconsistente n Afinal, quem garante a qualidade da solução, já que ela é “coisa de especialista”? O conhecimento expresso pode ser irrelevante n n quantidades enormes de informações são coletadas, para serem organizadas ou desprezadas. . . desafio: w evitar informação irrelevante sem bloquear a descoberta de conceitos importantes 20

Como minimizar o gargalo da Aquisição? Métodos de aquisição n Três categorias w Manual

Como minimizar o gargalo da Aquisição? Métodos de aquisição n Três categorias w Manual w Semi-automático w Automático 21

Método de Aquisição Manual Entrevistas n estruturadas ou não estruturadas Tracking methods n análise

Método de Aquisição Manual Entrevistas n estruturadas ou não estruturadas Tracking methods n análise de protocolos e observação especialista documentação exp licit açã o Engenheiro de conhecimento codificação Base de conhecimento 22

Aquisição Manual Problemas: n n n Toma muito tempo Requer a presença do especialista

Aquisição Manual Problemas: n n n Toma muito tempo Requer a presença do especialista Difícil de gerenciar Quando usar? n identificação inicial do conhecimento: brainstorming, entrevistas não estruturadas 23

Métodos de Aquisição Semi-automática Baseado em ferramentas de ajuda ao especialista e ao engenheiro

Métodos de Aquisição Semi-automática Baseado em ferramentas de ajuda ao especialista e ao engenheiro de conhecimento n Repertory grid analysis especialista Ferramentas interativas de entrevista Base de conhecimento Engenheiro de conhecimento 24

Métodos de Aquisição Automática Aprendizado de máquina n Machine learning Casos e exemplos Indução

Métodos de Aquisição Automática Aprendizado de máquina n Machine learning Casos e exemplos Indução automática Regras 25

Formalização do conhecimento Ontologias 26

Formalização do conhecimento Ontologias 26

Conhecimento Há diferentes “tipos” de conhecimento n Que devem ser representados separadamente! w Conhecimento

Conhecimento Há diferentes “tipos” de conhecimento n Que devem ser representados separadamente! w Conhecimento geral, conhecimento do domínio, . . . n Qual a forma de representação adequada? w Ontologias, bases de regras, . . . n Como formalizar os diferentes “conhecimentos”? Há diferentes tipos de especialistas e de expertise e há vários usos para conhecimentos semelhantes n Reusabilidade é a chave! 27

Reuso de conhecimento é imperativo: n A Base de Conhecimento é a parte mais

Reuso de conhecimento é imperativo: n A Base de Conhecimento é a parte mais cara de um SBC w O resto já está “semi-pronto”. . . Necessidade de reuso em domínios com grande número de conceitos e relações n ex: Medicina 28

Dificuldades com Reuso Utilização de formalismos diferentes dificulta o reuso n Falta de interoperabilidade

Dificuldades com Reuso Utilização de formalismos diferentes dificulta o reuso n Falta de interoperabilidade entre formalismos Contudo, formalismos diferentes apresentam certa similaridade expressiva n n Como ter reuso no nível de conhecimento? Como abstrair formalismos? Solução visando reuso no nível do conhecimento: Ontologias! 29

Ontologias Termo oriundo da filosofia n Ramo da filosofia que lida com a natureza

Ontologias Termo oriundo da filosofia n Ramo da filosofia que lida com a natureza e organização da realidade Categorias de Aristóteles n taxonomia para os objetos do mundo Em Ciência da computação e Inteligência artificial, ganha um senso mais prático n Organização do conhecimento manipulável 30

Ontologias Em CC e IA n Corpo de conhecimento declarativo sobre um dado domínio,

Ontologias Em CC e IA n Corpo de conhecimento declarativo sobre um dado domínio, assunto ou área de conhecimento Na prática, são n n hierarquias de conceitos (classes) com suas relações, restrições, axiomas e terminologia associada Servem para estruturar e compartilhar o conhecimento disponível sobre um dado domínio 31

Ontologias Exemplo: publicações e eventos científicos 32

Ontologias Exemplo: publicações e eventos científicos 32

Relacionamentos na Ontologia sobre pesquisa científica 33

Relacionamentos na Ontologia sobre pesquisa científica 33

Definições de Ontologia (cont. ) “Uma ontologia é uma especificação explícita e formal de

Definições de Ontologia (cont. ) “Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada” [Studer et al 98] n Especificação explícita: definições declarativas de conceitos, instâncias, relações, restrições e axiomas n n Formal: declarativamente definida, sendo compreensível e manipulável para agentes e sistemas Conceitualização: modelo abstrato de uma área de conhecimento ou de um universo limitado de discurso n Compartilhada: conhecimento consensual, seja uma terminologia comum da área modelada, ou acordada entre os desenvolvedores dos agentes que se comunicam 34

Afinal, pra que servem as ontologias? Servem para estruturar e compartilhar o conhecimento disponível

Afinal, pra que servem as ontologias? Servem para estruturar e compartilhar o conhecimento disponível sobre um dado domínio: n Para compartilhar conhecimento comum – conceitos e vocabulário w Entre pessoas w Entre agentes de software n Para permitir a reutilização do conhecimento w Evitando a “reinvenção da roda” w Introduzindo padrões que permitam a interoperabilidade entre aplicações

Afinal, pra que servem as ontologias? Servir como vocabulário compartilhado numa comunicação entre sistemas

Afinal, pra que servem as ontologias? Servir como vocabulário compartilhado numa comunicação entre sistemas inteligentes Codificar conhecimento interoperável n n entre linguagens (Prolog, Jess) entre formalismos de representação de conhecimento (frames, redes semânticas) 36

Onde Aplicar Ontologias? Recuperação de informações, Sistemas de Integração de Informação, Gestão de conhecimento,

Onde Aplicar Ontologias? Recuperação de informações, Sistemas de Integração de Informação, Gestão de conhecimento, Processamento da linguagem natural, Comércio eletrônico, Sistemas multiagentes. . .

Elementos de uma Ontologia 38

Elementos de uma Ontologia 38

Elementos de uma Ontologia Conjunto de conceitos n n n Entidades Relações (que podem

Elementos de uma Ontologia Conjunto de conceitos n n n Entidades Relações (que podem ser hierárquicas ou não) Instâncias de Conceitos Restrições Regras

Conjunto de Conceitos Entidades n n Cada entidade tem um nome associado Cada entidade

Conjunto de Conceitos Entidades n n Cada entidade tem um nome associado Cada entidade é definida por conjunto de pares atributo-valor w E. g. , Automóvel (tem-motor=sim; num-rodas=4)

Conjunto de Conceitos Relações n Podem ser hierárquicas ou não w E. g. ,

Conjunto de Conceitos Relações n Podem ser hierárquicas ou não w E. g. , is-a, part-of, mae-de, etc. . . n Triciclo is-a Ciclo

Conjunto de Conceitos Instâncias de Conceitos n Definição de entidades e relações específicas (indivíduos)

Conjunto de Conceitos Instâncias de Conceitos n Definição de entidades e relações específicas (indivíduos) w E. g. , meu-triciclo (num-rodas=3, cor=rosa) n n Relação: meu-triciclo is-a triciclo Correspondem aos fatos de uma base de conhecimento

Restrições Impõem restrições sobre valores possíveis dos atributos dos conceitos n E. g. ,

Restrições Impõem restrições sobre valores possíveis dos atributos dos conceitos n E. g. , num-rodas w Valor numérico, entre 2 e 4.

Regras Permitem inferência automática (dedução) de instâncias de conceitos a partir de outras instâncias

Regras Permitem inferência automática (dedução) de instâncias de conceitos a partir de outras instâncias n E. g. , Se veículo. Tipo=ciclo E num-rodas=3 E motor=não Então veículo=Triciclo Correspondem às regras da base de conhecimento

Tipos de Ontologias de topo (upper ontologies) Ontologias centrais ou genéricas de domínio (core

Tipos de Ontologias de topo (upper ontologies) Ontologias centrais ou genéricas de domínio (core ontologies) Ontologias de Aplicação (específicas) 45

Ontologias de topo (upper ontologies) Modelos dos objetos comuns que são geralmente aplicáveis a

Ontologias de topo (upper ontologies) Modelos dos objetos comuns que são geralmente aplicáveis a uma grande variedade de ontologias de domínio. Tipicamente contém um glossário central que permite descrever termos em vários domínios. n Ex. : “todas as árvores são plantas” Exemplos de upper ontologies padrão são: n Dublin Core, GFO, Open. Cyc/Research. Cyc, SUMO e DOLCE. 46

Ontologias centrais ou genéricas de domínio (core ontologies) Definem os ramos de estudo de

Ontologias centrais ou genéricas de domínio (core ontologies) Definem os ramos de estudo de uma área e/ou conceitos mais genéricos e abstratos desta área Serve de base para a construção de ontologias de ramos mais específicos de um domínio 47

Ontologias centrais ou genéricas de domínio (core ontologies) Ex: a ontologia central de direito

Ontologias centrais ou genéricas de domínio (core ontologies) Ex: a ontologia central de direito n n n [Valente & Breuker 96] Conhecimentos meta-legal, definicional, causal, normativo, de responsabilidade, reativos, criativo, de agências legais, reação legal, comportamentos permitidos, etc Servirá para criar ontologias de direito tributário, de família e outras. . . 48

Ontologias de Aplicação Ontologias de ramos mais específicos de um domínio Procuram solucionar um

Ontologias de Aplicação Ontologias de ramos mais específicos de um domínio Procuram solucionar um problema específico de um domínio n n Utilizam termos de uma ontologia de domínio Ex: Ontologia para identificar doenças do coração, a partir de uma ontologia de domínio de cardiologia 49

Como projetar uma ontologia Exemplos retirados do tutorial - Ontology Development 101: A Guide

Como projetar uma ontologia Exemplos retirados do tutorial - Ontology Development 101: A Guide to Creating Your First Ontology (Noy and Mc. Guinness) 50

Mas, como projetar a minha ontologia? Processo iterativo Não existe uma única maneira correta

Mas, como projetar a minha ontologia? Processo iterativo Não existe uma única maneira correta de modelar um domínio n depende da aplicação Sugestão: n Sempre discutir a estrutura com o especialista Classes = nomes-substantivos n devem estar próximos ao conceito de um objeto físico ou lógico Relações = verbos

Desenvolvimento de Ontologias [Noy &Mc. Guiness 2001] 1. 2. 3. 4. 5. 6. 7.

Desenvolvimento de Ontologias [Noy &Mc. Guiness 2001] 1. 2. 3. 4. 5. 6. 7. Determinar o Domínio e o Escopo da Ontologia Reutilizar Ontologias Existentes Levantar termos importantes Definir classes e sua hierarquia Definir propriedades das classes Restrições das Propriedades Criação de instâncias

Determinar o Domínio e o Escopo da Ontologia Qual o domínio que será coberto

Determinar o Domínio e o Escopo da Ontologia Qual o domínio que será coberto ? n Representação de vinhos e comidas Onde a ontologia será utilizada ? n Sugerir boas combinações de vinhos e comidas

Determinar o Domínio e o Escopo da Ontologia A ontologia deverá dar suporte para

Determinar o Domínio e o Escopo da Ontologia A ontologia deverá dar suporte para responder a que perguntas ? n n “Cabernet Sauvignon” é adequado com frutos do mar ? Qual a melhor opção para acompanhar carnes grelhadas ? Que características de um vinho devem ser analisadas para associá-lo com determinados pratos. Etc. . .

Reutilizar Ontologias Existentes Verificar se alguém já criou a ontologia É possível refinar ou

Reutilizar Ontologias Existentes Verificar se alguém já criou a ontologia É possível refinar ou estender ontologias existentes Muitas fontes disponíveis na Internet – vamos perguntar ao Google? n n Repositórios: TONES, DAML, . . . Linguagens para representação de ontologias: RDF, OWL, . .

Levantar termos importantes Quais são os termos que serão abordados na ontologia ? Quais

Levantar termos importantes Quais são os termos que serão abordados na ontologia ? Quais propriedades esses termos possuem ? Enumerar todos esses termos: n n n Vinho; Tipo de Uva Fabricante Região de origem Coloração (branco, tinto, rosé) Tipo de comidas (peixes, grelhados, massas)

Definir classes e sua hierarquia Abordagem “Top-Down”, “Bottom-up” ou combinadas. Termos do passo 03,

Definir classes e sua hierarquia Abordagem “Top-Down”, “Bottom-up” ou combinadas. Termos do passo 03, selecionar somente aqueles que representam objetos. Desconsiderar propriedades Esboçar hierarquia Classes disjuntas (Vinho Branco, Tinto, Rosé)

Definir classes e sua hierarquia Como detectar erros na hierarquia de classes: n n

Definir classes e sua hierarquia Como detectar erros na hierarquia de classes: n n n Relação “is-a” (se A é subclasse de B, então uma instância de A também será uma instância de B) Verificar inclusão de classes singulares e coletivas (“vinho” como subclasse de “vinhos”) Transitividade (A subclasse de B subclasse de C, então A subclasse de C)

Definir classes e sua hierarquia Como detectar erros na hierarquia de classes (cont. ):

Definir classes e sua hierarquia Como detectar erros na hierarquia de classes (cont. ): n n n Distinguir entre classes e seu nomes (sinônimos representam a mesma classe) Ciclos (A subclasse de B subclasse de A) Classes irmãs devem estar no mesmo nível (Chardonay e Vinhos Brancos não devem estar no mesmo nível, pois não são irmãs)

Definir classes e sua hierarquia Como detectar erros na hierarquia de classes (cont. ):

Definir classes e sua hierarquia Como detectar erros na hierarquia de classes (cont. ): n n Classes com somente uma subclasse pode ser um problema Classes com muitas subclasses também

Definir classes e sua hierarquia Quando introduzir uma nova classe ? n Propriedades diferentes

Definir classes e sua hierarquia Quando introduzir uma nova classe ? n Propriedades diferentes n Restrições diferentes n Participa em relações diferentes Nova classe ou nova propriedade ? n i. e. Tipo de Vinho Instância ou classe ? n Depende da aplicação n Tipo de vinho (“Sterling Vineyards Merlot”) pode ser instância ou classe. Qual o escopo ? n Não especializar além do que sua aplicação precisa

Definir as propriedades das classes – também conhecidas por “slots” A partir da lista

Definir as propriedades das classes – também conhecidas por “slots” A partir da lista de termos do passo 03, selecionar aqueles que representam propriedades. Propriedades (intrínsecas, extrínsecas, partes e relações com outros indivíduos) Propriedades são adicionadas à classe mais genérica

Definir as restrições das propriedades Tipo da propriedade n String, número, boleano, instancias, etc.

Definir as restrições das propriedades Tipo da propriedade n String, número, boleano, instancias, etc. . . Domínio n classes em que a propriedade está presente Valores permitidos n classes permitidas na propriedade Cardinalidade

Ufaaaa. . . Só falta agora criar as instâncias! É necessário n n escolher

Ufaaaa. . . Só falta agora criar as instâncias! É necessário n n escolher uma classe, criar uma instância e preencher os valores das propriedades Base de Conhecimento

Cuidado com os nomes. . . Evitar erros e confusões Maiúsculas ou Minúsculas ?

Cuidado com os nomes. . . Evitar erros e confusões Maiúsculas ou Minúsculas ? n n Classes (maiúsculas) Propriedades (minúsculas) Plural ou singular ? Padronizar prefixos e sufixos n “has-” (has-maker) e “-of” (producer-of) Evitar abreviações

Usos e Benefícios das Ontologias Incorporação de conhecimento é facilitada, inclusive de linguagem natural

Usos e Benefícios das Ontologias Incorporação de conhecimento é facilitada, inclusive de linguagem natural Permitir reuso massivo de conhecimento (de representações) entre formalismos de representação diferentes Codificar conhecimento interoperável entre linguagens e formalismos 66

Ferramentas Editor de Ontologias Protege n Próxima aula 67

Ferramentas Editor de Ontologias Protege n Próxima aula 67