Transcript
- Slide 1
- Sistemas Inteligentes Aula: Engenharia de Conhecimento e Ontologias 1
- Slide 2
- 2 Plano da aula Engenharia de Conhecimento Conceitos bsicos Etapas Ontologias Elementos de uma ontologia Tipos de Ontologias Usos das Ontologias Como projetar/desenvolver uma ontologia
- Slide 3
- 3 Um Pouco de Histria... No incio, a IA estava preocupada em desenvolver Formalismos para representar conhecimento Mecanismos de inferncia Formas de operacionalizar os SBCs Mas... Como garantir a escalabilidade desses sistemas?
- Slide 4
- 4 Engenharia do Conhecimento - EC
- Slide 5
- 5 rea de pesquisa preocupada com desenvolver Mtodos, Linguagens e Ferramentas adequados para o desenvolvimento de sistemas BC Foco principal: como adquirir e analisar conhecimento como validar e manter uma Base de Conhecimento Construo da Base de Conhecimento Processo de acumular, transferir e transformar alguma fonte de conhecimento para um computador
- Slide 6
- 6 EC - Definies Engenheiro de conhecimento Guia a aquisio, a criao da representao do conhecimento especializado, a implementao e o refinamento do SBC Expertise conhecimento especializado adquirido por longo treinamento, leitura e experincia Especialista (Expert ) Quem possui conhecimento especializado, experincia e mtodos, e a habilidade de aplic-los para dar conselhos e resolver problemas
- Slide 7
- 7 Desenvolvimento de SBCs
- Slide 8
- Etapas de desenvolvimento de SBCs Linguagens de representao do conhecimento Nvel de Conhecimento Nvel Lgico Nvel de Implementao BC AQUISIO FORMALIZAO IMPLEMENTAO REFINAMENTO Linguagem natural Linguagens de programao
- Slide 9
- 9 Etapas do desenvolvimento de SBCs 1. Aquisio (elicitao) do conhecimento Identificao do conhecimento a adquirir Registro do conhecimento em linguagem natural ou usando alguma notao grfica
- Slide 10
- 10 2. Formalizao da BC Nvel semi-formal via Notao textual estruturada padro (XML) Notao grfica padro (UML) Ontologias Objetivo: validao com especialista Nvel formal Via linguagens formais (e.g., LPO) Notao sem ambigidade com Objetivo: verificao de consistncia Etapas do desenvolvimento de SBCs
- Slide 11
- 11 3. Implementao da BC Uso (ou criao) de um sistema (mquina de inferncia) capaz de ler a BC e realizar deduo usando linguagens de programao Implementao da Interface Teste de prottipo 4. Validao e Refinamento Validao Refinamento Etapas do desenvolvimento de SBCs
- Slide 12
- 12 Etapas de desenvolvimento de SBCs Veremos a seguir Aquisio do conhecimento Formalizao do conhecimento Ontologias Nvel semi-formal
- Slide 13
- 13 Aquisio do Conhecimento O gargalo na construo dos SBCs
- Slide 14
- 14 Aquisio do Conhecimento Principais fases da aquisio Identificar caractersticas do problema Do domnio da aplicao Isolar e representar os conceitos principais e suas relaes atravs de uma Ontologia, por exemplo Identificar inferncias sobre estes conceitos (regras) O conhecimento pode originar-se de vrias fontes: especialistas, livros e documentos, filmes, etc.
- Slide 15
- 15 Gargalo na Aquisio do Conhecimento A maior parte do conhecimento est na cabea dos especialistas... Especialistas tm muito conhecimento emprico Difcil de ser capturado e representado formalmente so caros mas no sabem de tudo! tm dificuldade de verbalizar sob presso usam vocabulrio prprio (jargo) Podem expressar conhecimento incorreto e incompleto
- Slide 16
- 16 Como minimizar o gargalo da Aquisio? Mtodos de aquisio Trs categorias Manual Semi-automtico Automtico
- Slide 17
- 17 Mtodo de Aquisio Manual Entrevistas estruturadas ou no estruturadas Tracking methods anlise de protocolos e observao especialista Base de conhecimento Engenheiro de conhecimento documentao codificao Explicitao
- Slide 18
- 18 Mtodos de Aquisio Semi-automtica Baseado em ferramentas de ajuda ao especialista e ao engenheiro de conhecimento Repertory grid analysis especialistaFerramentas interativas de entrevista Base de conhecimento Engenheiro de conhecimento
- Slide 19
- 19 Mtodos de Aquisio Automtica Aprendizado de mquina Machine learning Casos e exemplosInduo automticaRegras
- Slide 20
- 20 Formalizao do conhecimento Ontologias
- Slide 21
- 21 Conhecimento H diferentes tipos de especialistas e de expertise e h vrios usos para conhecimentos semelhantes Reusabilidade a chave! A Base de Conhecimento a parte mais cara de um SBC Necessidade de reuso em domnios com grande nmero de conceitos e relaes ( ex: Medicina) Soluo: Ontologias!
- Slide 22
- Ontologias Em CC e IA Corpo de conhecimento declarativo sobre um dado domnio, assunto ou rea de conhecimento Na prtica, so hierarquias de conceitos (classes) com suas relaes, restries, axiomas e terminologia associada Servem para estruturar e compartilhar o conhecimento disponvel sobre um dado domnio 22
- Slide 23
- Ontologias Exemplo: publicaes e eventos cientficos 23
- Slide 24
- Relacionamentos na Ontologia sobre pesquisa cientfica 24
- Slide 25
- 25 Definies de Ontologia (cont.) Uma ontologia uma especificao explcita e formal de uma conceitualizao compartilhada [Studer et al 98] Especificao explcita: definies declarativas de conceitos, instncias, relaes, restries e axiomas Formal: declarativamente definida, sendo compreensvel e manipulvel para agentes e sistemas Conceitualizao: modelo abstrato de uma rea de conhecimento ou de um universo limitado de discurso Compartilhada: conhecimento consensual, seja uma terminologia comum da rea modelada, ou acordada entre os desenvolvedores dos agentes que se comunicam
- Slide 26
- Afinal, pra que servem as ontologias? Servem para estruturar e compartilhar o conhecimento disponvel sobre um dado domnio: Para compartilhar conhecimento comum conceitos e vocabulrio Entre pessoas Entre agentes de software
- Slide 27
- Onde Aplicar Ontologias? Recuperao de informaes, Sistemas de Integrao de Informao, Gesto de conhecimento, Processamento da linguagem natural, Comrcio eletrnico, Sistemas multiagentes...
- Slide 28
- Elementos de uma Ontologia 28
- Slide 29
- Elementos de uma Ontologia Conjunto de conceitos Entidades Relaes (que podem ser hierrquicas ou no) Instncias de Conceitos Restries Regras
- Slide 30
- Conjunto de Conceitos Entidades Cada entidade tem um nome associado Cada entidade definida por conjunto de pares atributo-valor E.g., Automvel (tem-motor=sim; num-rodas=4)
- Slide 31
- Conjunto de Conceitos Relaes Podem ser hierrquicas ou no E.g., is-a, part-of, mae-de, etc... Triciclo is-a Ciclo
- Slide 32
- Conjunto de Conceitos Instncias de Conceitos Definio de entidades e relaes especficas (indivduos) E.g., meu-triciclo (num-rodas=3, cor=rosa) Relao: meu-triciclo is-a triciclo Correspondem aos fatos de uma base de conhecimento
- Slide 33
- Restries Impem restries sobre valores possveis dos atributos dos conceitos E.g., num-rodas Valor numrico, entre 2 e 4.
- Slide 34
- Regras Permitem inferncia automtica (deduo) de instncias de conceitos a partir de outras instncias E.g., Se veculoTipo=ciclo E num-rodas=3 E motor=no Ento veculo=Triciclo Correspondem s regras da base de conhecimento
- Slide 35
- Tipos de Ontologias Ontologias de topo (upper ontologies) Ontologias centrais ou genricas de domnio (core ontologies) Ontologias de Aplicao (especficas) 35
- Slide 36
- Ontologias de topo (upper ontologies) Modelos dos objetos comuns que so geralmente aplicveis a uma grande variedade de ontologias de domnio. Tipicamente contm um glossrio central que permite descrever termos em vrios domnios. Ex.: todas as rvores so plantas Exemplos de upper ontologies padro so: Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO e DOLCE. Dublin CoreGFOOpenCycResearchCycSUMO DOLCE 36
- Slide 37
- Ontologias centrais ou genricas de domnio (core ontologies) Definem os ramos de estudo de uma rea e/ou conceitos mais genricos e abstratos desta rea Serve de base para a construo de ontologias de ramos mais especficos de um domnio 37
- Slide 38
- Ontologias centrais ou genricas de domnio (core ontologies) Ex: a ontologia central de direito [Valente & Breuker 96] Conhecimentos meta-legal, definicional, causal, normativo, de responsabilidade, reativos, criativo, de agncias legais, reao legal, comportamentos permitidos, etc Servir para criar ontologias de direito tributrio, de famlia e outras... 38
- Slide 39
- Ontologias de Aplicao Ontologias de ramos mais especficos de um domnio Procuram solucionar um problema especfico de um domnio Utilizam termos de uma ontologia de domnio Ex: Ontologia para identificar doenas do corao, a partir de uma ontologia de domnio de cardiologia 39
- Slide 40
- Como projetar uma ontologia Exemplos retirados do tutorial - Ontology Development 101: A Guide to Creating Your First Ontology (Noy and McGuinness) 40
- Slide 41
- Desenvolvimento de Ontologias [Noy &McGuiness 2001] 1. Determinar o Domnio e o Escopo da Ontologia 2. Reutilizar Ontologias Existentes 3. Levantar termos importantes 4. Definir classes e sua hierarquia 5. Definir propriedades das classes 6. Restries das Propriedades 7. Criao de instncias
- Slide 42
- 1. Determinar o Domnio e o Escopo da Ontologia Qual o domnio que ser coberto ? Representao de vinhos e comidas Onde a ontologia ser utilizada ? Que perguntas sero respondidas Sugerir boas combinaes de vinhos e comidas E.g., Cabernet Sauvignon adequado com frutos do mar ?
- Slide 43
- 2. Reutilizar Ontologias Existentes Verificar se algum j criou a ontologia possvel refinar ou estender ontologias existentes Muitas fontes disponveis na Internet vamos perguntar ao Google? Repositrios: TONES, DAML,... Linguagens para representao de ontologias: RDF, OWL,....
- Slide 44
- 3. Levantar termos importantes Quais so os termos que sero abordados na ontologia ? Quais propriedades esses termos possuem ? Enumerar todos esses termos: Vinho; Tipo de Uva; Fabricante; Regio de origem; Colorao (branco, tinto, ros) Tipo de comidas (peixes, grelhados, massas)
- Slide 45
- 4. Definir classes e sua hierarquia Termos do passo 03, selecionar somente aqueles que representam entidades (conceitos) Desconsiderar propriedades (por enquanto) Esboar hierarquia Abordagem Top-Down ou Bottom-up Classes disjuntas (Vinho Branco, Tinto, Ros)
- Slide 46
- 4. Definir classes e sua hierarquia Como detectar erros na hierarquia de classes (cont.): Classes com somente uma subclasse pode ser um problema Classes com muitas subclasses tambm
- Slide 47
- 4. Definir classes e sua hierarquia Quando introduzir uma nova classe ? Propriedades diferentes Restries diferentes Participa em relaes diferentes Nova classe ou nova propriedade ? i.e. Tipo de Vinho Instncia ou classe ? Depende da aplicao Tipo de vinho (Sterling Vineyards Merlot) pode ser instncia ou classe. Qual o escopo ? No especializar alm do que sua aplicao precisa
- Slide 48
- 4. Definir classes e sua hierarquia Como detectar erros na hierarquia de classes: Verificar incluso de classes singulares e coletivas (vinho como subclasse de vinhos) Distinguir entre classes e seu nomes (sinnimos representam a mesma classe) Ciclos (A subclasse de B e B subclasse de A) Classes irms devem estar no mesmo nvel (Chardonay e Vinhos Brancos no devem estar no mesmo nvel, pois no so irms)
- Slide 49
- 5. Definir as propriedades das classes tambm conhecidas por slots A partir da lista de termos do passo 03, selecionar aqueles que representam propriedades. Propriedades so adicionadas classe mais genrica
- Slide 50
- 6. Definir as restries das propriedades Tipo da propriedade String, nmero, boleano, instancias, etc... Domnio classes em que a propriedade est presente Valores permitidos classes permitidas na propriedade Cardinalidade
- Slide 51
- 7. Criar as instncias! necessrio escolher uma classe, criar uma instncia e preencher os valores das propriedades Enfim se tem a Base de Conhecimento
- Slide 52
- Cuidado com os nomes... Evitar erros e confuses Maisculas ou Minsculas ? Classes (maisculas) Propriedades (minsculas) Plural ou singular ? Padronizar prefixos e sufixos has- (has-maker) e -of (producer-of) Evitar abreviaes
- Slide 53
- Exercicio Definir domnio e construir uma ontologia Editor: Protege 53