Transcript of Sistemas Inteligentes Aula: Engenharia de Conhecimento e Ontologias 1.
- 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