53
Sistemas Inteligentes Aula: Engenharia de Conhecimento e Ontologias 1

Sistemas Inteligentes Aula: Engenharia de Conhecimento e Ontologias 1

Embed Size (px)

Citation preview

  • 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