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