Engenharia do Conhecimento by 06mW5637

VIEWS: 4 PAGES: 43

									                                                              1


      Engenharia do Conhecimento


 Conceitos básicos

 Etapas de desenvolvimento de Sistemas Baseados em
  Conhecimento

 Aquisição de Conhecimento

 Exemplo de construção de base de conhecimento

 Ontologias e reuso de conhecimento

 Metodologias de aquisição de conhecimento e de
  construção de ontologias



                                                      CIn- UFPE
                                                                     2
      Desenvolver software inteligente

 Projeto:
   • Modelar tarefa em termos de ambiente, percepções, ações,
     objetivos e utilidade
   • Identificar o tipo (complexidade) de ambiente
   • Identificar a arquitetura de agente adequada ao ambiente e
     tarefa

 Implementação
   • Escolher um formalismo de representação do conhecimento
   • Implementar base de conhecimento do gerador e o simulador
     de ambientes
   • Implementar base de conhecimento de cada componente do
     agente (vários tipos de conhecimento)
   • Testar o desempenho com diferentes instâncias do ambiente




                                                             CIn- UFPE
                                                                  3
     Engenharia do Conhecimento
 Estuda como construir Sistemas Baseados em
  Conhecimento (SBC)
  • Base de Conhecimento
  • Máquina de Inferência

 Engenheiro de conhecimento
  • Guia a Aquisição do conhecimento sobre o domínio
    escolhido e determina quais conceitos são importantes
  • Cria a Base de Conhecimento
     – representações dos conceitos (fatos e regras) em alguma
       linguagem de Representação do Conhecimento
  • É responsável pela Implementação e pelo
    Refinamento do SBC



                                                          CIn- UFPE
       Engenharia do Conhecimento:                   4


       Etapas de Construção dos SBC

  Nível de
Conhecimento      AQUISIÇÃO      linguagem natural


                                 linguagem de
 Nível Lógico   FORMALIZAÇÃO     representação de
                                 conhecimento


Nível de                             linguagens de
                IMPLEMENTAÇÃO        programação
Implementação

                                BC
                 REFINAMENTO


                                            CIn- UFPE
      Engenharia do Conhecimento:                          5


      Etapas de Construção dos SBC

 Vimos um pouco de
   • Implementação: Regras de produção e Prolog
   • Formalização: Lógica de Primeira Ordem


 Resta-nos ver então as fases de
   • Aquisição e Organização do conhecimento do domínio
     escolhido




                                                   CIn- UFPE
                                                                   6

        Aquisição de Conhecimento

 Aquisição/Explicitação de conhecimento
   • Espécie de Engenharia de Requisitos mais complexa

 Principais fases da Aquisição:
   • identificar características do problema
   • isolar os conceitos principais e suas relações (ontologia)
   • identificar inferências sobre estes conceitos

 Conhecimento pode originar-se de várias fontes:
   • Entrevistas com especialistas, livros e documentos,
     filmes, etc.




                                                           CIn- UFPE
                                                                    7
                 Aquisição:
       Gargalo na construção de SBCs
 Dificuldade de introspecção
   • O especialista quase nunca está ciente de como usa o
     conhecimento e tem dificuldade de verbalizar sob pressão
   • Algumas soluções são intuitivas ou “compiladas”.
 Uso de vocabulário próprio (jargão)
 O conhecimento expresso pode ser irrelevante
   • quantidades enormes de informações supérfluas são
     coletadas, para em seguida serem organizadas.

 O conhecimento expresso pode ser incompleto,
  incorreto ou inconsistente

 Métodos de aquisição - 3 categorias:
   • Manual, Semi-automático e Automático

                                                            CIn- UFPE
                                                                     8
                  Aquisição Manual

 Entrevistas
   • estruturadas ou não estruturadas

 Tracking methods
   • Observação e análise do domínio, leitura de documentos, etc.




 especialista
                            Engenheiro de codificação   Base de
                            conhecimento              conhecimento
 documentação




                                                             CIn- UFPE
                                                              9
          Aquisição Semi-automática

 Ajuda ao engenheiro de conhecimento (editores,
  documentadores, etc.)
 Ajuda ao especialista (grid repertory analysis)




  especialista     Ferramentas interativas      Base de
                        de entrevista         conhecimento


                 Engenheiro de conhecimento




                                                      CIn- UFPE
                                                               10

            Aquisição Automática

 Aprendizagem de Máquina (Machine Learning)
  • Algoritmos de aprendizagem automática “induzem”as
    regras a partir de exemplos do domínio.
  • Aqui não há aquisição por parte do Engenheiro de
    Conhecimento.



   Casos e exemplos     Indução automática     Regras




                                                        CIn- UFPE
                                                             11

  Construindo Bases de Conhecimento

 Toda BC tem dois “consumidores”:
  • usuários
  • procedimentos de inferência

 Uma BC deve:
  • ser clara e correta
  • representar apenas objetos e relações relevantes
  • idealmente, ser codificada separada do procedimento
    de inferência (modularidade, reusabilidade)
  • melhorar a eficiência do processo de inferência

 O processo de inferência deve fornecer a mesma
  resposta, independente de como a base foi
  codificada

                                                      CIn- UFPE
                                                                           12
         Engenharia de Conhecimento
1) Decida sobre o que falar

2) Escolha o vocabulário de predicados, funções
   e constantes (Ontologia do Domínio)

3) Codifique o conhecimento genérico sobre o
   domínio (axiomas)
   " x,y,z Americano(x) Arma(y) Nação(z) Hostil(z) Vende(x,z,y)
        Criminoso(x)

4) Codifique uma descrição de uma instância
   específica do problema
   Nação(Cuba), Nação(USA)

5) Proponha questões para o procedimento de
   inferência e obtenha respostas
   West é criminoso?
                                                                    CIn- UFPE
                                                                 13
                  Um Exemplo:
                Circuitos Digitais




 Objetivo:
   • determinar se o circuito está de acordo com sua
     especificação (o circuito acima é um somador)
   • responder a perguntas sobre o valor da corrente em
     qualquer ponto do circuito

                                                          CIn- UFPE
                                                                    14

           Decida sobre o que falar
 Para alcançar o objetivo, é relevante falar sobre
   • circuitos, terminais, sinais nos terminais, conexões entre
     terminais

 Para determinar quais serão esses sinais,
  precisamos saber sobre:
   • portas e tipos de portas: AND, OR, XOR e NOT

 Não é relevante falar sobre:
   • fios, caminhos dos fios, cor e tamanho dos fios, etc.




                                                             CIn- UFPE
                                                              15


     Decida qual vocabulário usar

 Nomear os objetos e relações do domínio com
  funções, predicados e constantes
  • constantes
     – distinguir as portas : X1, X2...
     – distinguir os tipos de porta: AND, OR, XOR...
  • funções e predicados
     – tipo de uma porta:
             Tipo(X1) = XOR, Tipo(X1, XOR), XOR(X1)
     – indicar entradas e saídas:
             Out(1, X1), In(1, X2)
     – indicar conectividade entre portas:
             Conectado(Out(1, X1), In(1, X2))


                                                       CIn- UFPE
                                                                      16
        Codifique regras genéricas

(1) Dois terminais conectados têm o mesmo sinal:
       "t1, t2 Conectado(t1, t2)  Sinal(t1) = Sinal(t2)

(2) O sinal de um terminal é On ou Off (nunca ambos)
       " t Sinal(t) = On Sinal(t) = Off, On  Off

(3) Conectado é um predicado comutativo
       " t1,t 2 Conectado(t1, t2)  Conectado(t2, t1)

(4) Uma porta OR está On sse qualquer das suas
   entradas está On:
      " g Tipo(g) = OR Sinal(Out(1,g)) = On 
      $n Sinal(In(n,g))=On

(5) etc...
                                                              CIn- UFPE
                                               17


     Codifique a instância específica

 Portas:
  Tipo(X1) = XOR Tipo(X2) = XOR
  Tipo(A1) = AND Tipo(A2) = AND
  Tipo(O1) = OR


 Conexões:
  Conectado(Out(1,X1),In(1,X2))
  Conectado(Out(1,X1),In(2,A2))
  Conectado(Out(1,A2),In(1,O1)) . . .




                                        CIn- UFPE
                                                           18

Proponha questões ao Procedimento
          de Inferência

 Que entradas causam Out(1,C1) = Off e
  Out(2, C1) = On?
    $i1, i2, i3 Sinal(In(1,C1)) = i1 
    Sinal(In(2,C1)) = i2  Sinal(In(3,C1)) = i3 
    Sinal(Out(1,C1)) = Off  Sinal(Out(2,C1) = On



 Resposta:
    (i1 = On  i2 = On  i3 = Off) 
    (i1 = On  i2 = Off  i3 = On) 
    (i1 = Off  i2 = On  i3 = On)


                                                    CIn- UFPE
                                                               19
              O que é uma ontologia?

 Definição: especificação (semi-)formal explícita de uma
  concepção compartilhada
   • Concepção: modelo das entidades, relações, axiomas e
     regras de algum domínio
   • Formal:
      – processável por máquina
      – permitindo raciocínio automático
      – com semântica lógica formal
   • Compartilhada: por uma comunidade, permitindo
     entendimento



 Conceitos de computação relacionados:
   • Base de conhecimento reutilizável
   • Esquema de banco de dados
                                                        CIn- UFPE
                                                                                 20
         Elementos de uma ontologia

 Hierarquia de conceitos:
   • entidades
       – cada entidade definida por conjunto de pares atributo-valor
       – correspondem:
           – as classes dos modelos orientado a objetos
           – as entidades do modelo relacional
           – aos termos do modelo lógico
       – atributos propriedades x atributos relações
           – preenchidos por valores atômicas (tipos primitivos) x por outros
              conceitos
       – Status epistemológico do valor
           – Exatamente conhecida, default, probabilista
   • relações
       – sem hierarquia x em hierarquia paralela a hierarquia de
         entidades
       – correspondem:
           – associações, agregações e atributos dos modelos OO cujos valores
              são objetos
           – as relações do modelo relacional
           – aos predicados do modelo lógico
                                                                          CIn- UFPE
                                                                         21
         Elementos de uma ontologia

 Restrições:
   • sobre valores possíveis dos atributos do conceitos
   • correspondem:
       – as assinaturas de classes em modelos OO
       – as axiomas universalmente quantificados em modelos lógicos
       – as restrições de integridade nos esquema de BD

 Regras dedutivas:
   • sobre atributos de (conjunto de) conceitos
   • permitem inferência automática da existência de instâncias de
     conceitos a partir da existência de outras instâncias
   • correspondem:
       – as regras dos sistemas especialistas e programação em lógica
       – aos métodos dos modelos OO
       – as visões em BD



                                                                  CIn- UFPE
                                                                          22
           Elementos de uma ontologia

 Instâncias de conceitos:
   • definição de entidade e relações específicos (indivíduos)
   • correspondem:
       – aos fatos de sistemas especialistas e programação em lógica
       – aos objetos dos modelos OO
       – aos dados dos BD

 Estratégias de resolução de problemas (PSM)
   • Métodos abstratos para resolver determinadas classes de
     problemas
   • correspondem:
       –   abstrações de rotinas de máquina de inferência
       –   design patterns para raciocínio automático
       –   meta-dados descrevendo classes de procedimentos
       –   ex, generate and test,



                                                                   CIn- UFPE
              Exemplo de                                     23


 Estratégia de Resolução de Problema

 Estratégia de classificação heurística



     abstrações de     casamento      abstrações de
      observações       heurístico      soluções




        abstrair                            refinar




     observações                           soluções

                                                      CIn- UFPE
       Serviços suportados por uma                                          24


                 ontologia
 Consultas e manipulação:
   • correspondem:
       – métodos de acesso a valor e de reflexão em linguagens OO
       – consultas de interrogação e manipulação em BD
       – ask, tell e retract das bases de conhecimento
   • sobre conceitos:
       – Quais são as entidades E relacionadas a entidade e0 via
         relações r1, r2?
       – Quais são as relações R mais gerais que r1?
       – Definição d de entidade E é consistente com o resto da
         ontologia?
   • sobre instâncias
       – um indivíduo I com propriedades P1, ..., Pn é instância de quais
         conceitos?

 Raciocínio automático
   • geralmente dedutivo



                                                                     CIn- UFPE
       Origem e motivação para ontologias                                            25




                                          Gerenciamento
                        Sistemas
                                         do Conhecimento
                      Especialistas
                                         em Organizações
                        desde 80
                                             desde 90

             Psicologia                                Integração
             Cognitiva                                  de Dados
             desde 60                                   desde 95

                                                                   Engenharia
   Filosofia                                                      de Software:
                                 Ontologias
desde 350 A.C.                                                  requisitos e reuso
                                                                    desde 90

                                                      Sistemas
            Lingüística
                                                     Multi-agentes
             desde 60
                                                      desde 95

                     Processamento         Recuperação
                      de Linguagem        de Informação
                         Natural              na Web
                        desde 80             desde 00
                                                                           CIn- UFPE
                                                                  26
            Tipologia das ontologias

 Especialista: modela um domínio particular restrito

 Geral:
   • modela o conhecimento de senso comum compartilhado por
     todos os seres humanos
   • parte de mais alto nível, reutilizável em vários domínios

 Conceitual: fundamentada na capacidade de raciocinar

 Lingüística: fundamenta no vocabulário de uma(s) língua(s)

 De meta-dados: “especializada” na descrição de recursos
  on-line, no entanto sobre qualquer domínio

 De tarefas e métodos: modela procedimentos e
  comportamentos abstratos no lugar de entidades ou
  relações


                                                           CIn- UFPE
 Sub-problemas de modelagem de uma     27


           ontologia geral
 Categorias e conjuntos

 Medidas

 Objetos compostos

 Tempo

 Espaço

 Mudanças

 Eventos e processos

 Objetos físicos

 Substâncias

 Objetos mentais e crênças
                                CIn- UFPE
                                                                                                                                28
                                                  Anything




             AbstractObjects
                                                                                        Events




              Numbers          RepresentationalObjects                                        PhysicalObjects     Processes
  Sets                                                       Intervals         Places




Categories                                                                                                      Stuff
                                                                                    Things
                Sentences                Measurements        Moments




                                                                     Animals                 Agents     Solid   Liquid    Gas




                                                                                  Humans
                                                                                                                    CIn- UFPE
                                                                     29
    Ontologias Genéricas: Categorias
 Também chamadas de classes, relações, tipos ...
   • conjuntos de objetos com propriedades comuns
   • organiza e simplifica a base de conhecimento.

 Exemplos de simplificação:
   • comprar(Maçã123) x comprar(Maçã) - classe-instância
   • Todo mamífero bebe leite - herança

 Taxonomia:
   • tipo particular de ontologia:
      – relações hierárquicas entre classe e sub-classes em
        forma de árvores
   • propriedades discriminantes
      – ex. biologia sistemática



                                                              CIn- UFPE
                                                                30
             Relações entre Categorias
 Disjunção: não há interseção entre as categorias
   "s Disjunção(s) 
     ("c1,c2 c1 s  c2  s  c1  c2  c1  c2 = f)
      ex. Disjunção({Animais, Vegetais})

 Decomposição exaustiva
   "s,c DecomposiçãoExaustiva(s,c) 
     ("i. i c  $c2 c2  s  i  c2)
      ex. DecomposiçãoExaustiva({Americano, Canadense,
        Mexicano}, Norte-Americano)

 Partição: decomposição exaustiva disjunta
   "s,c Partição(s,c)  Disjunção(s)
     DecomposiçãoExaustiva(s,c)
      ex.. Partição(({macho, fêmea}), animal)

                                                         CIn- UFPE
                                                               31
           Ontologias Genéricas:
         também podem representar
 Medidas
  • Valores atribuídos às propriedades dos objetos do
    mundo real: peso, comprimento, altura, etc...

 Objetos compostos
  • formados por partes que também são objetos: relação
    “parte-de”.

 Mudanças com eventos
  • Cálculo de eventos: um fato é verdade em um intervalo
    de tempo.




                                                        CIn- UFPE
                                                                     32
                            Medidas

 Valores atribuídos aos objetos do mundo real:
  servem para descrever objetos
   • ex. peso, comprimento, altura, diâmetro, ...

 Medidas quantitativas são fáceis de representar
   • ex. Tamanho(L1) = Polegadas(1,5) = Centímetros (3,81)

 Medidas qualitativas são mais complicadas
   • ex. beleza de um poema, dificuldade de um exercício
   • O importante é ordenar
      "e1, e2 e1  Exercícios  e2  Exercícios  Elabora(João,e1)
         Elabora(Pedro,e2)  Dificuldade(e1) < Dificuldade(e2)




                                                             CIn- UFPE
                                                                     33
              Objetos Compostos
 Objetos formados por partes que também são
  objetos
   • São caracterizados pela estrutura dos objetos que os
     compõem
   • ex. massa de um carro é a soma das massas de suas
     partes(carroceria, motor, pneu, ...)

 Para representá-los, usamos a relação ParteDe
   • e.g., ParteDe(motor, Carro), ParteDe(pneu, Carro)

 Exemplo:
     "a Bipede(a) 
       $ l1, l2, b Perna(l1)  Perna(l2)  Corpo(b) 
       ParteDe(l1,a)  ParteDe(l2,a)ParteDe(b,a) 
       Ligado(l1,b)  Ligado(l2,b)  l1  l2 
       " l3 Perna(l3)  ParteDe(l3,a)  (l3 = l1  l3 = l2)
                                                              CIn- UFPE
                                                          34
               Objetos Compostos

 ParteDe também serve para descrever estrutura de
  eventos: Script ou Schema
  • ex. comer no restaurante

 Quando se está interessado apenas nas
  características do conjunto: BunchOf
  • ex. peso do saco de Maçãs
  • BunchOf(Maçãs) define um objeto composto formado
    pelas Maçãs do saco.




                                                   CIn- UFPE
                                                                35
 Representando Mudanças com Eventos
 Cálculo de situações:
   • adequado quando temos um único agente realizando ações
     discretas e instantâneas (uma ação por situação).
   • inadequado quando:
      – existem vários agentes no mundo.
      – o mundo pode mudar espontaneamente.
      – mudanças ocorrem continuamente.

 Cálculo de eventos: versão contínua do calculo de
  situações
   • No cálculo de situações, um fato é verdade em uma
     situação
   • No cálculo de eventos, uma coisa é verdade num intervalo
     de tempo
      – ex. SubEvento(BatalhaDaNormandia,SegundaGuerraMundial)
           SubEvento(SegundaGuerraMundial, SéculoXX)


                                                       CIn- UFPE
Representando Mudanças com          36


          Eventos




                             CIn- UFPE
                                              37
      Tempos, Intervalos e Ações

               i
Meet(i,j)                      j

               i
Before(i,j)                        j
After(j,i)
                       i
During(i,j)                j

                   i
Overlap(i,j)                   j




                                       CIn- UFPE
                                                         38
      Cálculo de Eventos: Exemplos

 Se duas pessoas ficaram noivas, então em algum
  intervalo no futuro elas irão se casar ou acabar o
  noivado:
     "x,y,i0 T(Noivado(x,y),i0) 
      $i1 (Encontra(i0,i1)  Depois(i1,i0)) 
      T(Casamento(x,y)  FimNoivado(x,y), i1)

 A segunda guerra de Canudos ocorreu na Bahia
  no século XIX
   $g g  Guerras  SubEvento(g,SéculoXIX) 
     ParteDe(Localização(g),Bahia)



                                                  CIn- UFPE
       Problemática geral e questões                               39


             sobre ontologias
 Divisão:
   • como delimito as classes e os atributos?
   • quais são as distinções que trazem valor agregado?

 Escopo:
   • qual conhecimento incluir?
   • qual a fronteira do meu domínio?

 Granularidade:
   • até que nível de detalhe modelar os domínio?
   • problema da ramificação?

 Validação:
   • como avalio a qualidade do modelo?
   • como escolho entre várias modelagem alternativas (as vezes
     propostas por pessoas diferentes)?]
   • como identificar aspectos importantes que estão faltando?


                                                            CIn- UFPE
       Problemática geral e questões                         40


             sobre ontologias
 Muito difícil responder a essas perguntas porque:
   • Almejados reuso e relativa independência de aplicação
     impedem ser guiado completamente pelos requisitos de
     uma aplicação restrita
   • Para ontologias gerais de senso comum pior devido a
     imensidão em largura e profundidade do conhecimento
     a modelar

 Metodologias ainda incipientes
   • Methontology:
   • Sensus: http://www.isi.edu/natural-
     language/resources/sensus.html

 No entanto, já existe tentativa de padronização:
  http://suo.ieee.org/


                                                      CIn- UFPE
                                                        41
                  CommonKADS
 Pesquisa colaborativa na União Européia (+15 anos)

 Utiliza fórmulas e ontologias para representar o
  conhecimento

 Utiliza diagramas baseados em UML
   • Diagrama de classes
   • Diagrama de estados
   • Diagrama de atividades

 Possui seis modelos
   •   Modelo organizacional
   •   Modelo de tarefas
   •   Modelo de agentes
   •   Modelos de “expertises”
   •   Modelos de comunicação
   •   Modelo de projeto
                                                 CIn- UFPE
                             42
CommonKADS: Modelos




                      CIn- UFPE
                                                                      43
                  CommonKADS
 Modelo organizacional: Analisar a organização

 Modelo de tarefas
   • Descreve as tarefas a serem executadas
   • Distribui as mesmas entre os agentes

 Modelo de agentes
   • É o executor do modelo de tarefas
   • Descreve as capacidades e características dos agentes

 Modelo de Comunicação: Troca de mensagens

 Modelo de expertise: É o foco da metodologia
   • 3 sub-níveis
       – Conhecimento do domínio: Conceitos, Propriedades, Relações
       – Conhecimento da inferência
       – Conhecimento da tarefa

 Modelo de projeto de base de conhecimento
   • Descreve a arquitetura e o projeto

                                                               CIn- UFPE

								
To top