Ontologias e a
Web Semântica
Prof. Fred Freitas
Programa de Pós-graduação em Informática
Universidade Católica de Santos
Prof. Fred Freitas - [email protected]
1
Objetivo: Situar o contexto em que
surgiram as ontologias e a Web semântica
• Dentro da Informática
– A controvérsia declarativo-procedimental
– Porque as ontologias ganharam foco com a Web
– Web Semântica
• Dentro de Inteligência Artificial Simbólica
– Histórico do paradigma declarativo
– Formalismos de representação de conhecimento
– Motivações de reuso e compartilhamento de
conhecimento
– Integração de conhecimento escrito em formalismos de
representação diferentes
Prof. Fred Freitas - [email protected]
2
Objetivo: Estudar a parte técnica de
Ontologias e Web Semântica
• Tipos, exemplos e benefícios de Ontologias
• Ferramentas para as ontologias e a Web semântica
– Ontolingua, Protégé, OntoEdit e ODE
• Engenharia de Ontologias
• Aplicações de Ontologias
– PACT e MASTER-Web
• A Web Semântica e suas camadas
– XML, RDF e OWL
– Perspectivas
• Tópicos Abertos de Pesquisa
Prof. Fred Freitas - [email protected]
3
O que é uma ontologia?
Prof. Fred Freitas - [email protected]
4
Ontologias
• Corpo de conhecimento declarativo sobre um dado domínio,
assunto ou área de conhecimento
• Na prática, hierarquias de conceitos (classes) com suas
relações, restrições, axiomas e terminologia associada
• Termo às vezes mal-empregado. Ontologias não são:
– Simples hierarquias
– Conjuntos de conceitos associados a palavras-chave
– Esquemas de bancos de dados
Prof. Fred Freitas - [email protected]
5
Relacionamentos na Ontologia Ciência
Prof. Fred Freitas - [email protected]
6
Usos de ontologias
• Realizar inferência
• Servir como vocabulário compartilhado numa
comunicação entre agentes inteligentes
• Codificar conhecimento interoperável
– entre linguagens (F-logic, Prolog, Jess)
– entre formalismos de representação de conhecimento
(frames, redes semânticas, lógica de descrições)
• Definir páginas da Web semântica
Prof. Fred Freitas - [email protected]
7
Contexto das Ontologias
em Informática
Prof. Fred Freitas - [email protected]
8
Controvérsia Declarativo-Procedimental
• Abordagem procedimental
– Descreve o funcionamento de processos passo-a-passo
– Código compilado, mais rápido, simples, controlável e
popular
– Metáfora do “como”
• Abordagem declarativa
– Descreve um domínio com suas entidades e
características, através de “fatos” declarativos que não
estão dentro dos programas
– Motores de inferência deduzem novos fatos a partir
dos existentes
– Metáfora do “o quê”
Prof. Fred Freitas - [email protected]
9
Evolução = Elevação das abstrações
• códigos binários e
endereços: mnemônicos e
rótulos simbólicos,e
depois variáveis
• modificações nos
endereços: atribuições
• saltos:estruturas de
controle
• expressões:funções
• comandos:procedimentos
• estruturas
armazenamento :
estruturas de dados
• assembler: linguagens
• consultas a BDs: linguagens
de consulta
• modelos físicos : conceituais
• dados e operações: tipos
abstratos de dados ou
objetos
• tipos: polimorfismo
• compiladores: gramáticas
formais e geradores de
compiladores
• funções para relações
• código para conhecimento
explícito num formalismo
lógico de representação
Prof. Fred Freitas - [email protected]
10
Nova conjuntura para a
controvérsia: a Internet
• Grande volume de informações desestruturadas
• HTTP e HTML asseguram apenas navegação e
apresentação
• Solução procedimental: Engenhos de busca
– Análise apenas em nível léxico
– Falta de precisão e muitos resultados irrelevantes,
• Principais ausências
– Falta de contexto
– Falta de semântica na definição das páginas
Prof. Fred Freitas - [email protected]
11
Soluções possíveis para o
tratamento de informação na Web
• Dotar os sistemas de inteligência
– Agentes inteligentes
– Manipulação cooperativa de informação [Oates et al 94]:
distribuição, cooperação e comunicação sobre a semântica
das páginas
– Restrição de domínios
• Dotar a Internet de inteligência: a Web Semântica
– Linguagens e padrões para definir páginas com uma
semântica clara e definida formalmente
– Os agentes poderão raciocinar e “conversar” no contexto
desta semântica
=> Ontologias desempenham um papel fundamental em
ambas as soluções!
Prof. Fred Freitas - [email protected]
12
Adequação dos Sistemas
Multiagentes ao Problema
• A distribuição gera concorrência e paralelismo
• Vantagens da Representação de Conhecimento
–
–
–
–
Engajamento ontológico
Expressividade
Inferência
O conhecimento e contexto sobre determinados tipos de
páginas não se refere só a palavras-chaves como em RI
– Modelo de comunicação entre agentes muito expressivo,
baseado na comunicação humana
Prof. Fred Freitas - [email protected]
13
Contexto das Ontologias
em Inteligência Artificial Simbólica
Prof. Fred Freitas - [email protected]
14
Sistemas Baseados em
Conhecimento
• Criar sistemas diretamente a partir do conhecimento
• Separação entre o conhecimento e o processo dedutivo
ou inferência
• Conhecimento sobre o domínio e sobre processos são
dados (fatos), que podem ficar fora do programa
• A concepção passa por 3 especificações consecutivas:
– O nível de conhecimento ou epistemológico
– O nível lógico
– O nível de implementação
Prof. Fred Freitas - [email protected]
15
Formalismos de Representação
de Conhecimento
• Prover teorias - fundamentadas em lógica
matemática - e sistemas para expressar e manipular
conhecimento declarativo de forma tratável e
eficiente computacionalmente
• Um formalismo deve prover:
– Acesso aos fatos (conhecimento)
– Mecanismo de inferência (ou estratégia de resolução)
– Estratégias de controle e escalonamento da inferência
Prof. Fred Freitas - [email protected]
16
Tipos de formalismos em relação ao foco
• Formalismos orientados a predicados: regras e
programação em lógica
– Pioneiros
– Foco no processo, funcionamento
• Formalismos orientados a domínios: frames, redes
semânticas, lógica de descrições
– Classes, relações e restrições
– Facilitam a estruturação de conhecimento sobre um
domínio de aplicação
Prof. Fred Freitas - [email protected]
17
Formalismos orientados a predicados
Prof. Fred Freitas - [email protected]
18
Regras de Produção
• Formalismo mais simples, procedimental e popular
animal(x)^estimação(x)^pequeno(x) => doméstico(x)
premissas
conseqüente
• Base de fatos e base de regras
animal(Rex),estimação(Rex),pequeno(Rex)
• Mecanismo de inferência: São produzidos novos fatos
instanciando fatos existentes nas regras (encadeamento para
a frente)
• Estratégia de controle: resolução de conflito
Prof. Fred Freitas - [email protected]
19
O problema é simples...
[Friedman-Hill 98]
Facts
"Item #123 is expensive speakers"
"Gold cables are expensive"
"Bob is a customer"
"Bob is buying item #123"
List of
Actions to Take
Inference
Engine
"Recommend
that Bob buy gold
cables."
Rules
"Recommend appropriate cables
when customers buy speakers"
Prof. Fred Freitas - [email protected]
20
... Mas a solução é cara!
Facts
Inference Engine
For every customer,
for every item in their cart,
if it is speakers,
for every catalog item,
if the cart item is the catalog item,
if the catalog item is in some price category,
for every catalog item,
if it is a cable and it is in the same category,
recommend that cable to that customer.
Rules
List of
Actions to Take
"Recommend
that Bob buy gold
cables."
Por isso, existem estratégias de controle!
Prof. Fred Freitas - [email protected]
21
Regras de produção (cont.)
• Propostas enquanto formalismo por A. Post (1936)
• Usadas no 1o. sistema especialista (Dendral-1971)
• Motores de inferência plugáveis
– CLIPS [Riley 99] e Jess [Friedmann-Hill 97]
Prof. Fred Freitas - [email protected]
22
Formalismos orientados a predicados
Prof. Fred Freitas - [email protected]
23
Programação em Lógica
• Encadeamento para trás (backward-chaining)
avô(x,z) <= pai(x,y) ^ pai(y,z)
• Estratégia de resolução, que encontra a prova por
negação (ou refutação) [Robinson 65]
• Suponho que avô(x,z) é verdadeiro e vou tentar
encontrar uma contradição (ex: ~pai(x,y) )
• Exs: Prolog, LIFE
Prof. Fred Freitas - [email protected]
24
Formalismos orientados a domínios
Prof. Fred Freitas - [email protected]
25
Frames (Quadros)
• Base: modelos mentais de psicologia cognitiva
usados na resolução de problemas [Bartlett 32]
– Esquemas: estruturas de conhecimento (estereótipos)
armazenadas na memória duradoura, baseadas em
experiências passadas, a serem adaptadas
• Proposta por M. Minsky [75]
• Precursores declarativos dos objetos procedimentais
Prof. Fred Freitas - [email protected]
26
Animais
Frames
Vivo:
V
Voa:
F
[Figueira 98]
Pássaros
Mamíferos
Pernas:
2
Voa:
V
Subconjunto
Pernas:
Subconjunto
Canários
Gatos
Amigo:
Piu-piu
Humanos
Frajola
Nome:
2
Membro
Membro
Piu-piu
Nome:
Subconjunto
Pernas:
Amarelo
Membro
Cor:
4
Frajola
Amigo:
Prof. Fred Freitas - [email protected]
Fred
Nome:
Fred
27
Expressividade dos Frames
• Classes
– Herança múltipla
– Instâncias
• Atributos (slots)
– Slots podem ser instâncias de outras classes (relações)
– Slots inversos:
• Ex: Slot Orientados da classe Professor é inverso do slot
Orientador da classe Aluno
• Ao preencher um o outro é preenchido automaticamente
• Facetas
– Restrições sobre os slots
• Inferência por meio de herança e restrições
Prof. Fred Freitas - [email protected]
28
Definindo classes e instâncias
(defclass City "Cities are part of countries or states."
(is-a Location)
(multislot is-Part-Of
(type INSTANCE)
(allowed-classes Country State)
(inverse-slot has-Parts)
(cardinality 1 ?VARIABLE))
(single-slot name
(type STRING)
(cardinality 1 1)))
([Locations_00427] of City
(is-Part-Of [WA])
(name "Washington"))
Prof. Fred Freitas - [email protected]
29
Facetas mais comuns em
sistemas de Frames
• Valor default
• Valores permitidos (allowed-values)
• Domínio
– Ex: 1..100
• Cardinalidade máxima e mínima
• Tipo: inteiro, string, booleano, float, símbolo, instância
• Classes permitidas (allowed-classes): válida apenas para
slots do tipo instância
Prof. Fred Freitas - [email protected]
30
Frames x Objetos procedimentais
[Farquhar 97]
• Semelhança apenas aparente
• Frames modelam aspectos de um domínio real
• Objetos e suas classes visam modelar estruturas de
dados e reusar código
• Às vezes frames e objetos se parecem
• Às vezes objetos violam o engajamento ontológico
Class circulo
{int x,y; int altura}
Class elipse extends circulo
{int largura}
Prof. Fred Freitas - [email protected]
31
Frames x Objetos procedimentais (cont.)
• Também não é necessária em frames a inclusão de
detalhes de implementação, como tamanho de
strings, etc
• Frames não possuem métodos nem information
hiding, desnecessária para a declaratividade
• Objetos não possuem facetas
• Frames têm sua parte procedimental
– Daemons: procedimentos executados quando um valor
é lido, incluído ou modificado num slot
Prof. Fred Freitas - [email protected]
32
Regra e frames
• Frames e regras podem ser combinados
– CLIPS, para ganhar expressividade, inclui uma
linguagem interna (COOL – “C” Object-Oriented
Language) para definir e manipular frames
– Regras CLIPS referenciam estes frames
(defrule x
(object (is-a City) (is-Part-Of nil) (name ?a))
=>
(printout t “Specify a state for “ ?a crlf))
Prof. Fred Freitas - [email protected]
33
Axiomas
• Axiomas são sentenças sempre válidas
• Servem para inferência e restrições complexas sobre
os slots
• Ex: Todo empregado tem um ID único:
(forall ?person1
(forall ?person2
(=>
(and
(=>
(not
(not
(own-slot-not-null ID ?person1)
(own-slot-not-null ID ?person2))
(= ?person1 ?person2))
(= (ID ?person1) (ID ?person2))))))
Prof. Fred Freitas - [email protected]
34
Redes Semânticas
• Proposta por Quillian [68] a partir da modelagem da
memória semântica humana
• Nós (objetos) conectados por arcos (relações
binárias)
• Arcos típicos: é-um (is-a), é-parte
• Muito utilizadas em Processamento de Linguagem
Natural
– Ontologias linguísticas (Ex: WordNet)
Prof. Fred Freitas - [email protected]
35
Redes Semânticas
pessoa
nom e
cônjuge
id
prim eiro
últim o
string
string
últim o
nom e
pessoa
id
X: pessoa ( nome => id ( primeiro => string, último => Y: string ),
Cônjuge => pessoa ( nome => id ( último => Y),Cônjuge => X))
Prof. Fred Freitas - [email protected]
36
Lógica de Descrições
• Também chamada de Lógica Terminológica [Brachman &
Schmolze 85]
• Definição de conceitos por meio de descrições,
fornecendo nativamente atributos bastante expressivos:
– Herança Múltipla
• (PRIMITIVE (AND CAR EXPENSIVE-THING) sports-car)
• Instâncias do conceito carro esporte (sports-car)
herdam as descrições de CAR e EXPENSIVE-THING
– Papéis
• (FILLS thing-driven Corvette)
• Um Corvette desempenha o papel de algo dirigível
Prof. Fred Freitas - [email protected]
37
Lógica de Descrições (cont.)
– Restrição de valores
• (ALL thing-driven CAR),
• Tudo que é dirigível dentro deste domínio é da
classe CAR
– Restrição de limites
• (AT-LEAST 3 wheel)
• Descrevendo qualquer objeto relacionado a 3
outros objetos distintos que “desempenham o
papel” de roda (wheel)
– Co-referência
• (SAME-AS (driver) (insurance-payer))
• Todos os indivíduos que atuam como motoristas
(driver) o papel de segurados (insurance-payer)
Prof. Fred Freitas - [email protected]
38
Análise: Problemas de SBCs
Prof. Fred Freitas - [email protected]
39
Porque SBCs não se tornaram populares?
• Não muito usados por razoes técnicas “históricas”
• Programar procedimentalmente é mais fácil, rápido,
simples e controlável
– Eficiência : funcionamento diretamente no código
– Fácil funcionamento : despreocupação com contextos
– O programador mantém o fluxo de controle
Prof. Fred Freitas - [email protected]
40
Porque não colou de cara ??
• Explosão combinatorial: problemas com escalabilidade
– Ex: GPS, provadores de teorema(fins dos 60)
• Complexidade
(NP-completo,
etc)
ainda
não
formalizada (início dos 70) -> indústria estruturada
• Embevecimento, falta de objetividade e amadorismo
dos pesquisadores
• Falta de produtos no cotidiano, formando indústria
– Falta de trabalho “braçal” em Engenharia de Software e
testes de confiabilidade
• Falta de metodologias mais formalizadas sobre como
obter e codificar conhecimento declarativo
Prof. Fred Freitas - [email protected]
41
Problemas com Hardware
• O processo de inferência não “casou” bem com as
implementações de hardware e software básico,
projetados para programação procedimental
• A programação lógica deve tanto quanto possível
explorar concorrência e paralelismo (Ex: PIM, 64 MLIPS)
• Prolog embora criada em 1972, só popularizou-se em
1977, com as Warren Abstract Machines (WAMs)
• Compila num código intermediário e depois executa
• instruções usam registradores e pilhas auxiliares, que a
WAM cria, implementados em C
• Resultado : performance no nível de C (50 KLIPS)
Prof. Fred Freitas - [email protected]
42
Problema: Dificuldades de reuso
• Formalismos diferentes não facilitam o reuso
• Reuso é imperativo:
– BCs são a parte mais cara de um SBC
• Como ter reuso no nível de conhecimento?
• Como abstrair formalismos?
Prof. Fred Freitas - [email protected]
43
Problemas de reuso: foco funcional
• Para muitos pesquisadores até hoje, a especificação
de SBCs deve ter uma foco funcional
• Reuso dificultado: muitos conceitos e relações do
domínio estão:
– Implícitos
– Tratados como premissas
– Misturados com conhecimento estratégico (regras)
• Solução (parcial): KADS [Wielinga et al 92]
– Metodologia de desenvolvimento de SBCs
– Complexa, não se popularizou
Prof. Fred Freitas - [email protected]
44
Problemas de reuso:
Interoperabilidade
• Necessidade de reuso em domínios com grande
número de conceitos e relações (ex: medicina)
• Falta de interoperabilidade entre formalismos, mesmo
entre os orientados a domínio
• Formalismo diferentes, porém certa similaridade
expressiva
• Solução visando reuso em nível de conhecimento:
Ontologias!
Prof. Fred Freitas - [email protected]
45
Ontologias
Prof. Fred Freitas - [email protected]
46
Motivações de Ontologias
• Permitir reuso entre formalismos de representação
diferentes
• Servir como vocabulário compartilhado de comunicação
entre agentes
• Unidade básica de representação: Frames (sem daemons)
• Define um domínio, visando maximizar o reuso destas
definições
• Idealmente não deve refletir nenhum formalismo
• Materialização do nível de conhecimento
Prof. Fred Freitas - [email protected]
47
Ontologias
• Termo oriundo da filosofia
• Ramo da filosofia que lida com a natureza e
organização da realidade
• Categorias de Aristóteles: taxonomia para os objetos
do mundo
• Charles Sander Peirce (século XIX)
• Em informática e inteligência artificial, ganha um
senso mais prático
– Organização de conhecimento manipulável
Prof. Fred Freitas - [email protected]
48
Definições de ontologia
• Ontologia: Especificação de uma conceitualização
[Gruber 91]
• Hierarquia de conceitos (classes) com suas relações,
restrições, axiomas e terminologia associada
[é-um 777]
777
O nt. de M eios de T ransporte
T rem
M eu agente
A vião
T ransporte C arreira
B arc o
C aça
A gente da
C ia. A érea
A vião
[Huhns & Singh 97]
Prof. Fred Freitas - [email protected]
Id
M odelo
Xy
777
49
Definições de ontologia (cont.)
• “Uma ontologia é uma especificação explícita e formal de
uma conceitualização compartilhada” [Studer et al 98]
• Especificação explícita: definições declarativas de
conceitos, instâncias, relações, restrições e axiomas
• Formal: declarativamente definida, sendo compreensível e
manipulável para agentes e sistemas
• Conceitualização: 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
Prof. Fred Freitas - [email protected]
50
Tipos de ontologias
quanto ao grau de genericidade
adaptado de [Gómez-Perez 99]
Prof. Fred Freitas - [email protected]
51
Ontologias de Representação
• Definem as primitivas de representação - como
frames, axiomas, atributos e outros – de forma
declarativa
• Tenta abstrair os formalismos de representação
• Ex: Frame-Ontology da Ontolingua
– Classes: Relação, partição, argumento, axioma, etc
Prof. Fred Freitas - [email protected]
52
Definição de partição na Frame-Ontology
(defrelation Class-Partition
(?set-of-classes)
:=
(and
(=>
(and ([email protected]%Kif-Sets ?c1 ?set-of-classes)
([email protected]%Kif-Sets ?c2 ?set-of-classes)
(not (= ?c1 ?c2)))
([email protected]%Kif-Sets ?c1 ?c2))
(=> ([email protected]%Kif-Sets ?c ?set-of-classes)
([email protected] ?c))
([email protected]%Kif-Sets ?set-of-classes)))
Prof. Fred Freitas - [email protected]
53
Ontologias Gerais (ou de topo)
• Trazem definições abstratas necessárias para a
compreensão de aspectos do mundo, como tempo,
processos, papéis, espaço, seres, coisas, etc.
[Sowa 99]
Prof. Fred Freitas - [email protected]
54
Ontologias centrais ou genéricas de
domínio (core ontologies)
• Definem os ramos de estudo de uma área e/ou conceitos
mais genéricos e abstratos desta área
• Serve de base para a construção de ontologias de ramos
mais específicos de um domínio
• Ex: a ontologia central de direito [Valente & Breuker 96]
– Conhecimentos meta-legal, definicional, causal, normativo,
de responsabilidade, reativos, criativo, de agências legais,
reação legal, comportamentos permitidos, etc
– Servirá para criar ontologias de direito tributário, de família
e outras
Prof. Fred Freitas - [email protected]
55
Ontologias de domínio e de aplicação
• Ontologias de domínio tratam de um domínio mais
específico de uma área genérica de conhecimento,
como direito tributário, microbiologia, etc
• Ontologias de aplicação procuram solucionar um
problema específico de um domínio
– Referenciam termos de uma ontologia de domínio
– Ex: Ontologia para identificar doenças do coração, a
partir de uma ontologia de domínio de cardiologia
• Classificação quanto ao teor: ontologias de tarefas e
de domínio
Prof. Fred Freitas - [email protected]
56
Benefícios e Ferramentas
de Ontologias
Prof. Fred Freitas - [email protected]
57
Benefícios das Ontologias
• Reuso massivo de conhecimento
– Incorporação de conhecimento é facilitada, inclusive de
linguagem natural
• Facilidades de acesso a conhecimento
– Via browser
– Servidores
• Interoperabilidade entre formalismos
– Tradução
– Mapeamento
• Comunicação em nível de conhecimento
Prof. Fred Freitas - [email protected]
58
Knowledge Sharing Effort (KSE)
• O KSE produziu inicialmente quatro ferramentas :
– Ambiente de edição, manipulação e acesso de
ontologias: Ontolingua
– Tradução: Linguagem KIF
– Comunicação entre agentes: Linguagem KQML
– Conectividade/ Interoperabilidade: OKBC
Prof. Fred Freitas - [email protected]
59
Editor da Ontolingua
[Fikes 98]
Prof. Fred Freitas - [email protected]
60
Tradução na Ontolingua
• Tradução intermediária para a interlingua KIF
(Knowledge Interchange Format)
– No. de tradutores cai de (n-1)² para 2n
• KIF foi feita para ser usada com a Frame-Ontology
O n tolog ia s
“d e p rateleira ”
O n to lin g u a
LO O M
O ntol.
“T -b ox ”
E p ik it
A x iom as
E x p re ss
M od e lo
Inform .
Prof. Fred
P ro lo g
C L IP S
R eg ras
R eg ras
b a ckw ar
forw ard
ch ain ing
ch ain in g
Freitas
[email protected]
”
CO R BA
ID L
K IF
Lóg ica
p red ic .1 ª
ord e m 61
Usos da Ontolingua
Colaboradores remotos
Escritores
Servidor / Editor de Ontologias
Editor
HTT
P
Leitores
Aplicações remotas
NGF
P
Bibl
NGF
P
Aplic.
GUI
Servidor
DB
Tradutores:
LOOM,IDL,CLIPS...
Aplicações stand-alone
Aplic.
Transferência de arquivos (Batch)
Prof. Fred Freitas - [email protected]
KQ
ML
BC
62
Ontologias disponíveis na Ontolingua
• Normalmente mantidas por
grupos de pesquisa
• Metadados de imagens de
satélites
• Metadados para integração
de bases de dados de
genoma
• Catálogos de produtos
• Osciloscópios
• Robótica
•
•
•
•
•
•
•
Semicondutores
Modelagem de sólidos
Matemática
Engenharia
Drogas
Terminologia medica
Padrão IEEE para
interconexões entre
ferramentas
Prof. Fred Freitas - [email protected]
63
KQML: Comunicação entre
Agentes Cognitivos
• Introduziu o modelo de Comunicação em Nível de
Conhecimento ou peer-to-peer
• Modelo baseado na Teoria dos Atos de Fala [Austin 62],
que modela a comunicação humana
• Os atos de fala expressam as intenções dos agentes
– assertivos (informar)
– diretivos (pedir ou consultar)
– comissivos (prometer ou comprometer-se)
– proibitivos,
– declarativos (causar eventos para o próprio comunicador)
– expressivos (emoções)
Prof. Fred Freitas - [email protected]
64
KQML (Knowledge Query and
Manipulation Language)
• KQML dá suporte a agentes na identificação, conexão
e troca de informação com outros agentes.
• Mensagens KQML não enxergam o conteúdo das
mensagens que elas transportam
• É dividida em três camadas :
– camada de comunicação - parâmetros de baixo
nível da comunicação (sender, recipient, id,etc)
– camada de conteúdo - mensagem
– camada de mensagem - detalhes de interações da
comunicação ( ling. de conteúdo, ontologia , etc)
Prof. Fred Freitas - [email protected]
65
Exemplo de Comunicação em KQML
(ask-all
:sender CFP-Agent
:receiver PPR-Agent
:reply-with id1
:language JessTab
:ontology Science
:content (object (is-a Link) (URL ?u)
(anchor ?a&:(occurs [call-for-papers] ?a))))
Prof. Fred Freitas - [email protected]
66
Ex. de Comunicação em KQML (cont.)
(tell
:sender PPR-Agent
:receiver CFP-Agent
:in-reply-to id1
:reply-with id2
:language JessTab
:ontology Science
:content (object (is-a Link)
(URL “http://lcn2002.cs.bonn.edu”)
(anchor “ IEEE Conference on Local
Computer Networks (LCN 2002)”)))
Prof. Fred Freitas - [email protected]
67
OKBC (Open Knowledge Base Connectivity)
• API para garantir a interoperabilidade entre diferentes
linguagens e ferramentas de representação
• Mesmo princípio de ODBC para BCs
• Interfaces de métodos para:
– Bases de conhecimento (Ex: get-kbs)
– Classes (Ex: get-classe-supers)
– Atributos (Ex: get-slot-value)
– Facetas (Ex: get-facet-values)
– Instâncias (Ex: instance-of, retornando a classe da
instância)
• Cada nova linguagem / ferramenta precisa implementar
estes métodos
Prof. Fred Freitas - [email protected]
68
Problemas da Ontolingua
• As ontologias criadas na Ontolingua ficam complexas
porque devem referenciar a Frame-Ontology
• Falta um motor de inferência para KIF
– Falta de integração: nenhum teste com ontologias e
inferência pode ser rodado
• Falta à Ontolingua uma interface para estações de
trabalho que permita a manipulacao de ontologias,
sem estar acessando a Internet
• Extensibilidade: Como incluir novas funcionalidades?
– O gerador de gráficos não é configurável
Prof. Fred Freitas - [email protected]
69
Problemas com a tradução
[Valente et al 99]
• Diferenças de expressividade entre os formalismos
• Informações perdidas durante a tradução
– A linguagem para frames F-logic possui restrições para
facetas de cardinalidade máxima e mínima
• Os diferentes tipos de inferências e premissas das
ontologias de topo e de linguagens de representação
normalmente estão refletidas no conhecimento definido
• As ontologias de topo das linguagens deveriam ser
mapeadas entre si para minimizar os erros de tradução
Prof. Fred Freitas - [email protected]
70
Mapeamento entre Ontologias “de
Topo”
Prof. Fred Freitas - [email protected]
71
O Protégé
• Ferramenta desktop criada pelo Depto. de Informática
Médica da Univ. Stanford [Noy et al 2000]
– Milhares de usuários
• Flexibilidade:
– Editor de ontologias com interface gráfica
• Cria formulários para entrada de instâncias
– Integração de Componentes
• Ex: Componentes gráficos, como OntoViz, Jambalaya
– Plugin OKBC: acesso remoto à Ontolingua
– Modelo de conhecimento: classes primitivas
(metaclasses) podem ser redefinidas
• CLIPS, Jess, F-Logic, Prolog, RDF, OIL, XML, Topic Maps
Prof. Fred Freitas - [email protected]
72
Plugin OKBC acessando a Ontolingua
Prof. Fred Freitas - [email protected]
73
Importando BCs via OKBC
Prof. Fred Freitas - [email protected]
74
Ferramentas do KAON e da Ontoprise
• Desenvolvidas em Karlsruhe, Alemanha
• 1o. protótipo do que viria a ser a Web semântica, o
Ontobroker [Benjamins et al 98]
• O KAON (the KArlsruhe ONtology and semantic web
tool suite) engloba ferramentas para:
–
–
–
–
edição de ontologias (OntoEdit)
disponibilizar ontologias num servidor baseado em BDs
criação de ontologias a partir de texto (Text-to-Onto)
busca baseada em ontologias sobre bases de texto
(SemanticMiner)
– anotação semi-automática de referências a ontologias
em páginas para a Web
– agrupamento de textos baseados em ontologias
Prof. Fred Freitas - [email protected]
75
Requisitos para ferramentas de ontologias
•
•
•
•
•
•
•
•
•
•
•
•
facilidades de uso
entendimento intuitivo da interface
interface gráfica
visibilidade gradativa
conexão a repositórios
portabilidade
interoperabilidade
organização dos arquivos gerados
documentação de alterações
suporte a trabalho cooperativo
extensibilidade (capacidade de inclusão de componentes)
ferramentas de apoio
Prof. Fred Freitas - [email protected]
76
Requisitos para formalismos e
linguagens de representação
• Não apenas expressividade, como em [Corcho & GómezPerez 2000]
• Existência de um motor de inferência
• Acoplamento do motor a um editor de ontologias
• Traduzível:
– independência de uma linguagem ou formalismo específico
• Popularidade
• Ex: F-Logic
Prof. Fred Freitas - [email protected]
77
Engenharia de ontologias
Prof. Fred Freitas - [email protected]
78
Princípios de construção
•
•
•
•
•
•
Clareza
Legibilidade
Coerência
Extensibilidade
Mínima codificação
Mínimo compromisso ontológico
Prof. Fred Freitas - [email protected]
79
Ontologia Ciência
[Freitas 2001]
• Reusada a partir da ontologia
do projeto europeu (KA)2
[Benjamins et al 98] do
espelho da Ontolingua na
Universidade de Madri
• Refinada em granularidade e
engajamento ontológico
• Inclui ontologias auxiliares
de tempo, locais e turismo
Prof. Fred Freitas - [email protected]
80
Princípios usados
• Clareza e legibilidade – Jargão empregado
• Mínimo compromisso ontológico – na classe
Documento Científico, não há restrições
desnecessárias para o slot Autores (qualquer
subclasse da classe Pessoa inclusive a subclasse
Pesquisador)
• Extensibilidade - novas classes puderam ser definidas
a partir das já existentes
• Coerência - a relação parte-todo entre artigos de um
proceedings, ou entre capítulos de um livro, não
estava explicitada
Prof. Fred Freitas - [email protected]
81
Metodologias de desenvolvimento
[Gómez-Perez 99]
• Processo iterativo, com revisões constantes
• Nas metodologias propostas, são considerados
passos similares aos de engenharia de software:
– Especificação
– Conceitualização
– Implementação
• Atividades de suporte são executadas
concomitantemente com o desenvolvimento
–
–
–
–
Aquisição
Avaliação
Documentação
Integração com ontologias existentes
Prof. Fred Freitas - [email protected]
82
Metodologias de desenvolvimento (cont.)
D esenvolvim ento
E specificação
C onceitualização
Im plem entação
A quisição
S uporte
Av aliação
D ocum entação
Integração
Prof. Fred Freitas - [email protected]
83
Especificação
• Determina o propósito e escopo da ontologia
• Deve incluir uma análise para decidir se é possível,
necessário ou adequado o reuso de ontologias
• Sugere-se elaborar uma lista de questões de
competência [Uschold & Gruninger 96]
– Servirão para a avaliação da ontologia durante o
desenvolvimento
– Ex: “Jornais científicos são considerados eventos
científicos?”
Prof. Fred Freitas - [email protected]
84
Conceitualização
[Noy 97]
• Fase crítica, nela ocorrem a maior parte das atividades
de suporte de aquisição e avaliação
• Passos e dicas:
– Enumerar os termos do domínio
– Definir as classes - não confundir nomes de um conceito
com o próprio conceito
– Definir a hierarquia das classes - passo capcioso
– Definir os slots e facetas de cada classe, interagindo com
os dois passos anteriores
– Criar as instâncias - Se elas não possuem uma hierarquia
natural, é preciso revisar a hierarquia das classes
– Usar convenções de nomes e nomes facilmente
compreensíveis
Prof. Fred Freitas - [email protected]
85
Definir a hierarquia das classes
• Observar a clareza e consistência da hierarquia
• Evitar subclasses demais pelo uso de classes intermediárias
• Ver se não há poucas subclasses - a informação dos slots
pode tornar-se insuficiente para refletir diferenças entre as
instâncias.
• Abordagens para a definição de hierarquias [Uschold &
Gruninger 96]:
– top-down, classes mais gerais e depois as específicas
– bottom-up
– middle-out, que começa por classes intermediárias que vão
sendo especializadas (para baixo) e generalizadas (para cima)
Prof. Fred Freitas - [email protected]
86
Definir os slots e facetas
• Slots intrínsecos – ex: número de pernas
• Slots extrínsecos – ex: nome de uma pessoa
• Partes de uma classe – ex: partes do corpo: cabeça,
tronco e membros
• Relacionamentos - instâncias de outras classes.
– Especificar a classe mais geral possível
– EX: a faceta classes-permitidas do slot Participantes da
classe Projeto são instâncias da classe Pesquisadores
• Pesquisadores incluem estudantes de pós-graduação,
professores, etc
Prof. Fred Freitas - [email protected]
87
Implementação e Avaliação
• Objetivo: transformar a ontologia em algo
computável
• Na fase de implementação, a ontologia é escrita
numa linguagem de representação de conhecimento
• Na fase de avaliação, são executados testes para
verificar se a ontologia atende aos requisitos
especificados na fase de especificação
• Testes freqüentemente provocam mudanças na
implementação
Prof. Fred Freitas - [email protected]
88
Ferramentas para o processo de
definição e aquisicao
[Volz & Studer 2003]
Prof. Fred Freitas - [email protected]
89
Especificação
Prof. Fred Freitas - [email protected]
90
© York Sure
Fontes de Conhecimento
Prof. Fred Freitas - [email protected]
91
© York Sure
Questões de Competência
Prof. Fred Freitas - [email protected]
92
© York Sure
Rastreamento
Prof. Fred Freitas - [email protected]
93
© York Sure
Aplicações de Ontologias
Prof. Fred Freitas - [email protected]
94
Ramos de aplicação
•
•
•
•
•
Comércio eletrônico
Gestão de conhecimento
Workflow
Tratamento inteligente de informação
Web semântica
Prof. Fred Freitas - fred@unisantos.br
95
PACT (Palo Alto Collaboration Testbed )
[Cutovsky et al 93]
• Objetivo: resolução negociada de problemas de projeto de
manipuladores robóticos entre sistemas já existentes de
fábricas da HP e da Lockheed e de uma empresa de software
Prof. Fred Freitas - fred@unisantos.br
96
PACT (cont.)
• Ontologias
– Matemática para engenharia - quantidades, unidades, dimensões,
matrizes e funções
– Projeto e configurações - parâmetros, componentes, restrições
(monitor
:from consumer
:to producer
:ontology standard-units-and-dimensions
:language KIF
:content (= (q.magnitude (diameter shaft-a) inches) ?x))
Prof. Fred Freitas - fred@unisantos.br
97
MASTER-Web
[Freitas & Bittencourt 2003]
• Multi-Agent Sytem for Text Extraction, classeification
and Retrieval over the Web
• Manipulação integrada de informação usando
ontologias
• Objetivo: recuperar, classificar e extrair dados de
páginas pertencentes às classes a um grupo
• EX:o grupo científico, com classes como artigos
científicos, eventos, pesquisadores, etc
• Cada agente trata uma classe
• Os agentes cooperam sugerindo links entre as classe
– Beneficiam-se dos relacionamentos entre as classes
Prof. Fred Freitas - fred@unisantos.br
98
Arquitetura do MASTER-Web
N ovo A gente
O ntologias,
C ategorias &
D icionários
E xcite
W EB
...
.
M etaro b ô
URLs &
p áginas
U R L s, fato s
&
conhecim ento
Infoseek
S istem a M u ltiagen te
U suário s
M ediad o r
DB
A gentes
Prof. Fred Freitas - fred@unisantos.br
99
Experimentos do MASTER-Web
• Instanciado para o meio científico
– Ontologia de Ciência
– Agente CFP: eventos científicos
– Agente PPR: artigos científicos
• As páginas são classificadas em subclasses dentro da
ontologia
– Ex: o agente CFP as classifica em Conferência,
Workshop, Jornal, Revista, Evento-Genérico-ao-Vivo,
Evento-Genérico-de-Publicação e Edição-Especial-deJornal e de Revista
• Taxa de acerto no reconhecimento e classificação:
+80% em todos os testes
Prof. Fred Freitas - fred@unisantos.br
100
Uso de ontologias no MASTER-Web
• Generalidade da solução:
– Para tratar páginas de outro grupo, basta criar uma
ontologia de seu domínio
• Vocabulário de comunicação entre agentes
• Definição e organização do conhecimento
• A ontologia do domínio deve ser bastante detalhada
para garantir precisão no reconhecimento e
classificação
• Ganho de expressividade e flexibilidade
– O conhecimento sobre uma classe não se circunscreve
a termos e palavras-chaves, mas a qualquer fato que
diga respeito às páginas, como estrutura, regiões,
conceitos, etc
Prof. Fred Freitas - fred@unisantos.br
101
Informando conceitos de um caso...
(inform :sender cfp
:receiver ppr
:language JessTab
:ontology Science
:content
([ppr_00008] of Case
(Description "cfp suggestions")
(Concepts [Call-for-participation] [annual]
[conference] [Call-for-papers] [workshop]))))
Prof. Fred Freitas - fred@unisantos.br
102
Pedindo links com os conceitos...
(ask-all :sender cfp
:receiver ppr
:language JessTab
:ontology Science
:content (object (is-a Anchor) (Link-Text ?l))
(Result (Page-Status CLASSIFIED) (Class "Conference-Paper"))
(object (is-a Web-Page) (Contents ?co))
(test (and (if-occur ?l (begin-until "abstract" ?co))
(if-occur (slot-get [ppr_00008] Concepts) ?l))))
Prof. Fred Freitas - fred@unisantos.br
103
A Web Semântica
Prof. Fred Freitas - fred@unisantos.br
104
Trajetória da Internet
• 1a. Geração - troca de dados entre máquinas distintas
• 2a. Geração - a World Wide Web
• Disponibilizou uma vasta gama de aplicativos e informação
para as pessoas
• Comércio eletrônico entre clientes e empresas (b2c)
• Problema: software tem dificuldade de lidar com as
páginas, que só possuem informação léxica
Prof. Fred Freitas - fred@unisantos.br
105
3a. Geração - A Web Semântica
• Objetivo: prover contexto e semântica à informação
para o software
• Transformar os dados e aplicativos em elementos úteis,
legíveis e compreensíveis para o software
• Facilitar a comunicação dinâmica, a cooperação e a
inferência para os agentes inteligentes
• Possibilitar o comércio eletrônico entre empresas (b2b)
• A Web Semântica é uma aplicação direta de ontologias!
• Precursores:
– SHOE [Luke et al 96]
– Ontobroker [Fensel et al 97]
Prof. Fred Freitas - fred@unisantos.br
106
Camadas da Web Semântica (W3C)
[Koivunen & Miller 2001]
Prof. Fred Freitas - fred@unisantos.br
107
Limitações de HTML
• HTML não possui recursos para anotação semântica
• No máximo, tags opcionais como título, descrição,
sumário e palavras-chave
<html>
<body>
<h2>Being a Dog Is a Full-Time Job</h2>
<p> by Charles M. Schulz</p>
<p>ISBN: 0836217462</p>
</body>
</html>
adaptado de [van der Vilt 2000]
Prof. Fred Freitas - fred@unisantos.br
108
A camada XML
• HTML foi abstraída para XML (eXtensible Markup
Language)
• XML é uma meta-linguagem de editoração
• Dados descritos por elementos
• Dados ganham estrutura, mas não significado
<library>
<book>
<title>Being a Dog Is a Full-Time Job</title>
<author>Charles M. Schulz</author>
<isbn>0836217462</isbn>
</book>
</library>
Prof. Fred Freitas - fred@unisantos.br
109
Definições de Tipos de Documentos (DTDs)
• DTDs definem a estrutura e sintaxe de um
documento
• Classes, atributos, valores default e ordem de
aparecimento dos dados das instâncias
– Aninhamento léxico
<!DOCTYPE library [
<!ATTLIST book id ID #IMPLIED>
<!ATTLIST author id ID #IMPLIED>
<!ATTLIST ISBN id ID #IMPLIED>]>
Prof. Fred Freitas - fred@unisantos.br
110
Esquemas XML (XMLS)
• Semelhantes a DTDs, porém mais ricos
• Definem-se ainda tipo e formato exato dos atributos,
número exato de instâncias de um aninhamento
• Há mecanismos de inclusão e derivação de esquemas
que proporcionam reuso
• A camada XML descreve a estrutura do documento,
deixando para as que acima dela a definição do
conteúdo
Prof. Fred Freitas - fred@unisantos.br
111
A camada RDF
• Resource Description Framework
• Adiciona semântica a um documento, sem referir-se
à sua estrutura
• Usa XML como sintaxe
• Descreve “recursos” (URIs) da Web
– Partes específicas de documentos ou dados como
lugares, pessoas, etc
Prof. Fred Freitas - fred@unisantos.br
112
Descrição de recursos
• Recursos são descritos como trios objetos-atributosvalores
– Os objetos são recursos
– Valores são recursos ou strings
• Trios podem ser representados como grafos diretos
rotulados
• Trios equivalem em termos formais às redes
semânticas
Prof. Fred Freitas - fred@unisantos.br
113
n am o raC o m
w w w .q q r.co m /~ ze
nom e
Jo sé
so b re n om e
V irg u lin o
w w w .q q r.co m /~ m aria
nom e
M aria
so b re n om e
B o n ita
<rdf:Description about=http://www.qqr.com/~ze>
<nome>Jose</nome>
<sobrenome>Virgulino</sobrenome>
<namoraCom>
<rdf:Description about=http://www.qqr.com/~maria>
<nome>Maria</nome>
<sobrenome>Bonita</sobrenome>
</rdf:Description>
</namoraCom>
114
</rdf:Description> Prof. Fred Freitas - fred@unisantos.br
Esquemas RDF (RDFS)
• Para uma padronização de uso de RDF, foi criado
RDFS
• Fornecem tipos básicos para a criação de esquemas
voltados à aplicações
• Primitivas:
–
–
–
–
–
–
classe
subclasse (herança)
propriedade
sub-propriedade
instância
restrição
Prof. Fred Freitas - fred@unisantos.br
115
Exemplos de Esquemas RDF
<rdf:Description ID=”Pessoa”>
<rdf:type resource=”http://www.w3c.org/TR/1999/PR-rdf-schema19990303#Class”>
<rdfs:subClassOf rdf.resource=”http://www.w3c.org/TR/1999/PRrdf-schema-19990303#Resource”>
</rdf:Description>
<rdf:Description ID=”nome”>
<rdf:type resource=”http://www.w3c.org/TR/1999/PR-rdf-schema19990303#Property”>
<rdfs:domain rdf:resource=”#Pessoa”>
<rdfs:range rdf.resource=”http://www.w3c.org/TR/xmlschema2#string”>
</rdf:Description>
Prof. Fred Freitas - fred@unisantos.br
116
Capacidade Expressiva de RDF/RDFS
domain
Veiculo
pertenceA
subClassOf
range
Person
Carro
type
Jaguar S138
pertenceA
Prof. Fred Freitas - fred@unisantos.br
type
Fred
117
Avaliação de RDF / RDFS
• Vantagem sobre DTDs e XMLS: liberdade de ignorar
as imposições da estrutura do documento
• Existem ferramentas para edição e parsing sobre RDF
• RDF / RDFS ainda não têm a expressividade
necessária à modelagem de ontologias
– Slots inversos, axiomas, etc
• Existem outras linguagens candidatas: SHOE e XOL
– RDF / RDFS tornaram-se padrões de fato
Prof. Fred Freitas - fred@unisantos.br
118
Camada de ontologias
• Objetivo: Prover expressividade semântica
• Define restrições complexas e outros construtos para
frames e lógica de descrições
• OIL (Ontology Inference LayerI ou Ontology
Interchange Language)
• DAML (DARPA Agent Markup Language)
• DAML+OIL = OWL (Web Ontology Language)
• OWL foi padronizada pelo W3C
Prof. Fred Freitas - fred@unisantos.br
119
OIL
• Requisito: facilidade de adoção por parte dos
desenvolvedores
• Já nasceu para a Web semântica
• Menos expressiva que KIF da Ontolingua
• Motor de inferência consistente, completo e eficiente: FaCT
F ram e s :
O bedece ao,
O K B C -L ite
L ó g ic a d e D e s c riç ã o
O IL
L in g u a g e n s p a ra a W e b :
S in ta x e b a s e a d a e m X M L & R D F
Prof. Fred Freitas - fred@unisantos.br
120
Módulos de OIL
Prof. Fred Freitas - fred@unisantos.br
121
OWL
• Requisitos de internacionalização (Unicode) e de
apresentação e documentação (rótulos para axiomas,
URIs, etc)
• Três sublinguagens:
– OWL Lite
– OWL DL
– OWL Full
• As menos expressivas (OWL Lite e DL) estão contidas
nas mais expressivas
Prof. Fred Freitas - fred@unisantos.br
122
OWL Lite
• Expressa frames e lógica de descrições, com
restrições
– Ex: cardinalidade máxima ou mínima é 0 ou 1
• Ideal para usuários iniciantes e desenvolvedores que
referem frames a lógica de descrições
• Slots (aqui chamados de propriedades) podem ter:
– transitividade, simetria, slots inversos e papéis
– propriedades funcionais
• (se P(x,y) ^ P(y,x) => x=y)
– propriedades funcionais inversas
• (se P(x,y) ^ P(z,x) => x=z)
Prof. Fred Freitas - fred@unisantos.br
123
OWL DL
• Completa e decidível, expressa lógica de descrições
• Classes podem ser construídas por:
–
–
–
–
União
Interseção
Complemento
enumeração de instâncias
• Classes podem ter disjunções
• Tipos são mantidos cuidadosamente separados (por
exemplo, uma classe não pode ser instância e
propriedade ao mesmo tempo)
Prof. Fred Freitas - fred@unisantos.br
124
OWL Full
• Permite novas metaclasses
– Metaclasses são subclasses definidas em RDFS
• Aqui, não há restrições de separação de tipos
• É possível manipular e modificar metaclasses
• Não há garantia de computabilidade
Prof. Fred Freitas - fred@unisantos.br
125
Headers de OWL
• Dizem onde estão, na Web, as classes primitivas das
ontologias para que se possa definir novas classes
como subclasse destas
• Determina um namespace para a nova ontologia.
<rdf:RDF
xmlns="file:/G:/myclasses#"
xmlns:eyeglass="file:/G:/Glasses#"
xmlns:owl="http://www.w3.org/2003/02/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#“
xmlns:xsd="http://www.w3.org/2000/10/XMLSchema#">
Prof. Fred Freitas - fred@unisantos.br
126
Classes e atributos em OWL
<owl:Class rdf:ID="Flueve">
<rdfs:subClassOf rdf:resource="#River"/>
</owl:Class>
<rdf:Property rdf:ID="emptiesInto">
<rdfs:domain rdf:resource="#River"/>
<rdfs:range rdf:resource="#BodyOfWater"/>
</rdf:Property>
[Costello & Jacobs 2003]
Prof. Fred Freitas - fred@unisantos.br
127
Classes e atributos em OWL (cont.)
• Definindo uma classe é com o auxílio de uma
restrição:
<owl:Class rdf:ID="Flueve">
<rdfs:subClassOf rdf:resource="#River"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#emptiesInto"/>
<owl:allValuesFrom rdf:resource="#Sea"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Prof. Fred Freitas - fred@unisantos.br
128
Protégé 2.0 e as classes OWL
Prof. Fred Freitas - fred@unisantos.br
129
Restrições mais poderosas com OWL
Prof. Fred Freitas - fred@unisantos.br
130
As camadas de lógica, prova e confiança
• Estas camadas ainda estão sendo pesquisadas
• A camada lógica permite a especificação de regras
que atuam sobre instâncias e recursos
• A camada de prova as executa
• A camada de confiança avalia se a prova está correta
ou não
Prof. Fred Freitas - fred@unisantos.br
131
A camada de lógica
• Uso discutível:
– Regras podem violar o princípio de mínimo
compromisso ontológico
– Mas regras podem ser úteis para restringir atributos e
exprimir axiomas
• Protótipos de linguagens para a camada de lógica:
– DAML-L
– HornML
– RuleML [Boley et al 2001]
Prof. Fred Freitas - fred@unisantos.br
132
<imp>
Regra em RuleML
<_head>
<atom>
<rel>cooperatesWith</rel>
<var>person2</var>
<var>person1</var>
</atom>
</_head>
<_body>
<atom>
<rel>cooperatesWith</rel>
<var>person1</var>
<var>person2</var>
</atom>
</body>
</imp>
Prof. Fred Freitas - fred@unisantos.br
133
Uma aplicação da Web semântica: ITTalks
• http://ittalks.org/ [Cost et al 2002]
• Sítio da Web que dá acesso a um BD de palestras,
pessoas (professores, cientistas, convidados, etc) e
lugares (salas, instituições
• Cada instância destas classes foi anotada
semanticamente em DAML
• Ontologias:
–
–
–
–
–
tópicos de pesquisa
perfis pessoais
calendários
conversação
ontologia da ACM (Association for Computer
Machinery)
Prof. Fred Freitas - fred@unisantos.br
134
ITTalks (cont.)
• Os usuários se cadastram especificando que tópicos são
de seu interesse
• Agentes do sistema notificam-nos quando alguma palestra
que casa com o perfil de tópicos é incluída no BD
• A anotação de tópicos de pesquisa tanto em páginas
quanto nos perfis de usuários é executada por um
classificador baseado em aprendizado automático
• Com as páginas semanticamente anotadas, será fácil, no
futuro, preparar um mediador para o acesso ao BD
Prof. Fred Freitas - fred@unisantos.br
135
Prof. Fred Freitas - fred@unisantos.br
136
Prof. Fred Freitas - fred@unisantos.br
137
Avaliação e Perspectivas
da Web semântica e Ontologias
Prof. Fred Freitas - fred@unisantos.br
138
A Web semântica e o usuário leigo
• Misturar navegação, apresentação e semântica numa só
definição prejudica a legibilidade
• Com as tecnologias atuais, a Web semântica deve voltar-se
inicialmente a aplicações e não ao usuário comum
– Formular consultas que envolvam regras de lógica e
ontologias, especificar ontologias ou instanciá-las em páginas
não é fao fácil para o usuário leigo
– Padrões complexos (ex: lógica de descrições e as camadas
OWL-RDF-XML)
• As páginas possuem, às vezes, conteúdo ambíguo, vago, e
que exigem PLN
• Ontologias consensuais são um desiderato, mas raras na
prática
139
Prof. Fred Freitas - fred@unisantos.br
Perspectivas da Web semântica
• Adequada para as aplicações relacionadas a ontologias
– Comércio eletrônico, workflow, tratamento da informação
• Florescem aplicações e ferramentas
• Motores de inferência:
– Euler para OWL
– FaCT para OIL
• Outros motores também podem ser usados:
–
–
–
–
Jess
Prolog
Algernon
F-Logic
Prof. Fred Freitas - fred@unisantos.br
140
Cuidado com padrões complexos!
•
•
•
•
•
È preciso aprender com os erros da Ontolingua
OWL é bastante expressivo
Legibilidade e clareza?
Que usuários estão familiarizados com DL?
OWL Lite deve tornar-se popular antes
Prof. Fred Freitas - fred@unisantos.br
141
Tópicos de pesquisa corrente
• Web semântica
– Padrões, princípios, linguagens, limitações
• Concepção de ontologias
– Engenharia de ontologias
– Paradoxo: tensão entre aplicação e extensibilidade
– Aspectos a serem abordados
• funcional, intencional, social, físico, etc
– Relações parte-todo
Prof. Fred Freitas - fred@unisantos.br
142
Tópicos de pesquisa corrente (cont.)
• Aprendizado e ontologias
– Construção de ontologias a partir de texto (Text-to-Onto)
– Anotação semi-automática de páginas baseadas em
ontologias
– Extração, agrupamento [Hotho et al 2001] e classificação de
informação (mineração de textos)
• Integração inteligente de informação
– Diversidade de visões de ontologias sobre um mesmo
domínio, que o abordam sobre perspectivas distintas
– Soluções: mapeamento e integração semântica através de
contextos comuns [Wache & Stuckenschmidt 2001]
Prof. Fred Freitas - fred@unisantos.br
143
Ontologias x UML
• Interessante para a comunidade OO
• UML (Unified Modeling Language) é o padrão de
modelagem da OMG
• UML não é um formalismo de representação
– Não provê qualquer tipo de inferência
– Não possui uma semântica formal - sua semântica é
definida por um metamodelo
– É mais para modelagem estrutural e comportamental que favorecem à implementação de objetos - do que
conceitual, como as ontologias
– Apenas um tipo de relação parte-todo, a agregação
Prof. Fred Freitas - fred@unisantos.br
144
UML e OCL
• Porém, UML possui construtos abstratos o suficiente
para permitirem a representação de ontologias
• Classes e atributos
• Restrições, definidas na linguagem auxiliar OCL
(Object Constraint Language)
• OCL tem a expressividade da lógica de 1ª. ordem
• Relacionamentos são chamados em UML de
associações, e herança de generalização
Prof. Fred Freitas - fred@unisantos.br
145
Aproximando UML e ontologias
• È necessária definição de uma semântica formal de UML
• Pode-se ter inferência em UML
– Regras de transformação dedutivas podem provar que um
diagrama é conseqüência de outro [Evans 98]
• Proposta para acoplar UML à Web semântica
– Através de tradutores entre UML e a DAML [Lockheed 2000]
– A tradução DAML-UML é mais complexa, porque as palavraschaves de DAML podem ter várias traduções possíveis em UML
• Já existem aplicações com ontologias em UML
– Ex: Sistema de gestão de conhecimento para processos
legislativos da alfândega e receita federal holandesas, que
apressa a implementação de mudanças em leis [Engers &
Glassée 2001]
Prof. Fred Freitas - fred@unisantos.br
146
Tópicos de pesquisa: Ontologias x BDs
• Problemas para armazenar frames em BDs
relacionais:
– Eles ferem já a 1a. Forma normal, pois um
atributo pode ser multivalorado
– Os atributos podem ser instâncias de classes
– Atributos inversos
• Soluções sendo pesquisadas:
–
–
–
–
–
Modelagens específicas para BDs relacionais
Extensões de SQL
Bancos de dados dedutivos
Extensões de BDOOs
Data warehousing
Prof. Fred Freitas - fred@unisantos.br
147
Conclusões
• Ontologias revigoraram o paradigma declarativo
• Materialização do nível de conhecimento
• Possibilitaram um modelo de comunicação expressivo
e intencional para agentes cognitivos
• Área promissora, de pesquisa ativa
• Aplicável principalmente em:
– Gestão de Conhecimento
– Web semântica
– e-commerce: muitas soluções com comunicação
baseadas em ontologias
Prof. Fred Freitas - fred@unisantos.br
148
Conclusões (cont.)
• Ontologias são o elemento estruturador da Web
semântica
• Padrões ainda em processo de maturação
• A Web semântica promete oferecer um tratamento
melhor da informação
• As ontologias já começam a desempenhar o papel de
conhecimento estruturado disponível em larga escala,
reusável por sistemas e programas
Prof. Fred Freitas - fred@unisantos.br
149
Descargar

Slides completos de Fred sobre Ontologia