Prof. Fred Freitas - fred@unisantos.br1 Ontologias e a Web Semântica Prof. Fred Freitas Programa de...

Post on 19-Apr-2015

115 views 3 download

Transcript of Prof. Fred Freitas - fred@unisantos.br1 Ontologias e a Web Semântica Prof. Fred Freitas Programa de...

Prof. Fred Freitas - fred@unisantos.br

1

Ontologias e a Web Semântica

Prof. Fred FreitasPrograma de Pós-graduação em

InformáticaUniversidade Católica de Santos

Prof. Fred Freitas - fred@unisantos.br2

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 - fred@unisantos.br3

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 - fred@unisantos.br4

O que é uma ontologia?

Prof. Fred Freitas - fred@unisantos.br5

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 - fred@unisantos.br6

Relacionamentos na Ontologia Ciência

Prof. Fred Freitas - fred@unisantos.br7

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 - fred@unisantos.br

8

Contexto das Ontologias em Informática

Prof. Fred Freitas - fred@unisantos.br9

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 - fred@unisantos.br10

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:procediment

os• 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 - fred@unisantos.br11

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 - fred@unisantos.br12

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 - fred@unisantos.br13

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 - fred@unisantos.br

14

Contexto das Ontologias em Inteligência Artificial

Simbólica

Prof. Fred Freitas - fred@unisantos.br15

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 - fred@unisantos.br16

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 - fred@unisantos.br17

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 - fred@unisantos.br

18

Formalismos orientados a predicados

Prof. Fred Freitas - fred@unisantos.br19

Regras de Produção

• Formalismo mais simples, procedimental e popularanimal(x)^estimação(x)^pequeno(x) => doméstico(x)

premissas conseqüente

• Base de fatos e base de regrasanimal(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 - fred@unisantos.br20

O problema é simples...

Facts"Item #123 is expensive speakers""Gold cables are expensive""Bob is a customer""Bob is buying item #123"

Rules"Recommend appropriate cableswhen customers buy speakers"

InferenceEngine

List ofActions to Take

"Recommendthat Bob buy gold

cables."

[Friedman-Hill 98]

Prof. Fred Freitas - fred@unisantos.br21

... Mas a solução é cara!

Facts

Rules

Inference EngineFor 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.

List ofActions to Take

"Recommendthat Bob buy gold

cables."

Por isso, existem estratégias de controle!

Prof. Fred Freitas - fred@unisantos.br22

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 - fred@unisantos.br

23

Formalismos orientados a predicados

Prof. Fred Freitas - fred@unisantos.br24

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 - fred@unisantos.br

25

Formalismos orientados a domínios

Prof. Fred Freitas - fred@unisantos.br26

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 - fred@unisantos.br27

FramesAnimaisAnimaisAnimaisAnimais

Vivo:Vivo: V VVivo:Vivo: V V

Voa:Voa: F FVoa:Voa: F F

PássarosPássarosPássarosPássaros MamíferosMamíferosMamíferosMamíferos

Subconju

nto

Subconju

nto

Subconju

nto

Subconju

nto Subconjunto

Subconjunto

Subconjunto

Subconjunto

SubconjuntoSubconjuntoSubconjuntoSubconjunto SubconjuntoSubconjuntoSubconjuntoSubconjunto SubconjuntoSubconjuntoSubconjuntoSubconjunto

Mem

bro

Mem

bro

Mem

bro

Mem

bro

Mem

bro

Mem

bro

Mem

bro

Mem

bro

Mem

bro

Mem

bro

Mem

bro

Mem

bro

CanáriosCanáriosCanáriosCanários GatosGatosGatosGatos HumanosHumanosHumanosHumanos

Piu-piuPiu-piuPiu-piuPiu-piu FrajolaFrajolaFrajolaFrajola FredFredFredFred

Pernas:Pernas: 2 2Pernas:Pernas: 2 2

Voa:Voa: V VVoa:Voa: V VPernas:Pernas: 4 4Pernas:Pernas: 4 4

Cor:Cor: Amarelo AmareloCor:Cor: Amarelo Amarelo Pernas:Pernas: 2 2Pernas:Pernas: 2 2

Nome:Nome: Piu-piu Piu-piuNome:Nome: Piu-piu Piu-piu

Amigo:Amigo:Amigo:Amigo:Nome:Nome: Frajola FrajolaNome:Nome: Frajola Frajola

Amigo:Amigo:Amigo:Amigo:Nome:Nome: Fred FredNome:Nome: Fred Fred

[Figueira 98]

Prof. Fred Freitas - fred@unisantos.br28

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 - fred@unisantos.br29

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 - fred@unisantos.br30

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 - fred@unisantos.br31

Frames x Objetos procedimentais

• 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}

[Farquhar 97]

Prof. Fred Freitas - fred@unisantos.br32

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 - fred@unisantos.br33

Regra e frames

(defrule x (object (is-a City) (is-Part-Of nil) (name ?a))

=>(printout t “Specify a state for “ ?a crlf))

• 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

Prof. Fred Freitas - fred@unisantos.br34

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 (own-slot-not-null ID ?person1)(own-slot-not-null ID ?person2))

(=> (not (= ?person1 ?person2))(not (= (ID ?person1) (ID ?person2))))))

Prof. Fred Freitas - fred@unisantos.br35

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 - fred@unisantos.br36

Redes Semânticas

pessoa id

string string

pessoa id

nome

cônjuge primeiro último

nome último

pessoa id

string string

pessoa id

nome

cônjuge primeiro último

nome último

X: pessoa ( nome => id ( primeiro => string, último => Y: string ), Cônjuge => pessoa ( nome => id ( último => Y),Cônjuge => X))

Prof. Fred Freitas - fred@unisantos.br37

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 - fred@unisantos.br38

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 - fred@unisantos.br

39

Análise: Problemas de SBCs

Prof. Fred Freitas - fred@unisantos.br40

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 - fred@unisantos.br41

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 - fred@unisantos.br42

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 - fred@unisantos.br43

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 - fred@unisantos.br44

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 - fred@unisantos.br45

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 - fred@unisantos.br

46

Ontologias

Prof. Fred Freitas - fred@unisantos.br47

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 - fred@unisantos.br48

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 - fred@unisantos.br49

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

[Huhns & Singh 97] Id Modelo

Xy 777

Agente da Cia. Aérea

Ont. de Meios de Transporte

Trem Avião Barco

Transporte Carreira Caça

Avião

Meu agente

777[é-um 777]

Id Modelo

Xy 777

Agente da Cia. Aérea

Ont. de Meios de Transporte

Trem Avião Barco

Transporte Carreira Caça

Avião

Meu agente

777[é-um 777]

Prof. Fred Freitas - fred@unisantos.br50

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 - fred@unisantos.br

51

Tipos de ontologias quanto ao grau de genericidade

adaptado de [Gómez-Perez 99]

Prof. Fred Freitas - fred@unisantos.br52

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 - fred@unisantos.br53

Definição de partição na Frame-Ontology

(defrelation Class-Partition (?set-of-classes) := (and (=> (and (Member@Hpkb%Kif-Sets ?c1 ?set-of-classes) (Member@Hpkb%Kif-Sets ?c2 ?set-of-classes)

(not (= ?c1 ?c2))) (Disjoint@Hpkb%Kif-Sets ?c1 ?c2)) (=> (Member@Hpkb%Kif-Sets ?c ?set-of-classes) (Class@Okbc-Ontology ?c)) (Set@Hpkb%Kif-Sets ?set-of-classes)))

Prof. Fred Freitas - fred@unisantos.br54

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 - fred@unisantos.br55

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 - fred@unisantos.br56

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 - fred@unisantos.br

57

Benefícios e Ferramentas de Ontologias

Prof. Fred Freitas - fred@unisantos.br58

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 - fred@unisantos.br59

Knowledge Sharing Effort (KSE)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 - fred@unisantos.br60

Editor da Ontolingua

[Fikes 98]

Prof. Fred Freitas - fred@unisantos.br61

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

Ontologias“de prateleira”

Ontolingua

LOOMOntol.

“T-box”

EpikitAxiomas

ExpressModeloInform.

PrologRegras backwarchaining”

CLIPSRegrasforward chaining

CORBAIDL

KIFLógica

predic.1ª

ordem

Ontologias“de prateleira”

Ontolingua

LOOMOntol.

“T-box”

EpikitAxiomas

ExpressModeloInform.

PrologRegras backwarchaining”

CLIPSRegrasforward chaining

CORBAIDL

KIFLógica

predic.1ª

ordem

Prof. Fred Freitas - fred@unisantos.br62

Usos da Ontolingua Colaboradores remotos

Escritores

Leitores

Aplicações remotas

DB

Aplic. GUI

Aplicações stand-alone

Aplic.

BC

KQML

NGFP

Servidor / Editor de Ontologias

Editor

Servidor

HTTP

NGFP

Tradutores:LOOM,IDL,CLIPS...

Bibl

Transferência de arquivos (Batch)

Prof. Fred Freitas - fred@unisantos.br63

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 - fred@unisantos.br64

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 - fred@unisantos.br65

KQML (Knowledge Query and Manipulation Language)

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 - fred@unisantos.br66

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 - fred@unisantos.br67

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 - fred@unisantos.br68

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 - fred@unisantos.br69

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 - fred@unisantos.br70

Problemas com a tradução

• 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

[Valente et al 99]

Prof. Fred Freitas - fred@unisantos.br71

Mapeamento entre Ontologias “de Topo”

Prof. Fred Freitas - fred@unisantos.br72

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 - fred@unisantos.br73

Plugin OKBC acessando a Ontolingua

Prof. Fred Freitas - fred@unisantos.br74

Importando BCs via OKBC

Prof. Fred Freitas - fred@unisantos.br75

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 - fred@unisantos.br76

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 - fred@unisantos.br77

Requisitos para formalismos e linguagens de representação

• Não apenas expressividade, como em [Corcho & Gómez-Perez 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 - fred@unisantos.br

78

Engenharia de ontologias

Prof. Fred Freitas - fred@unisantos.br79

Princípios de construção

• Clareza• Legibilidade• Coerência• Extensibilidade• Mínima codificação• Mínimo compromisso ontológico

Prof. Fred Freitas - fred@unisantos.br80

Ontologia Ciência

• 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

[Freitas 2001]

Prof. Fred Freitas - fred@unisantos.br81

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 - fred@unisantos.br82

Metodologias de desenvolvimento

• 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

[Gómez-Perez 99]

Prof. Fred Freitas - fred@unisantos.br83

Metodologias de desenvolvimento (cont.)

Desenvolvimento Especificação Conceitualização Implementação

Documentação

Avaliação

Integração

Aquisição

Suporte

Desenvolvimento Especificação Conceitualização Implementação

Documentação

Avaliação

Integração

Aquisição

Suporte

Especificação Conceitualização Implementação

Documentação

Avaliação

Integração

Aquisição

Especificação Conceitualização Implementação

Documentação

Avaliação

Integração

Aquisição

Suporte

Prof. Fred Freitas - fred@unisantos.br84

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 - fred@unisantos.br85

Conceitualização

• 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

[Noy 97]

Prof. Fred Freitas - fred@unisantos.br86

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 - fred@unisantos.br87

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 - fred@unisantos.br88

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 - fred@unisantos.br

89

Ferramentas para o processo de definição e aquisicao

[Volz & Studer 2003]

Prof. Fred Freitas - fred@unisantos.br90

Especificação

© York Sure

Prof. Fred Freitas - fred@unisantos.br91

Fontes de Conhecimento

© York Sure

Prof. Fred Freitas - fred@unisantos.br92

Questões de Competência

© York Sure

Prof. Fred Freitas - fred@unisantos.br93

Rastreamento

© York Sure

Prof. Fred Freitas - fred@unisantos.br

94

Aplicações de Ontologias

Prof. Fred Freitas - fred@unisantos.br95

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.br96

PACT (Palo Alto Collaboration Testbed )

• 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

[Cutovsky et al 93]

Prof. Fred Freitas - fred@unisantos.br97

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.br98

MASTER-Web

• 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

[Freitas & Bittencourt 2003]

Prof. Fred Freitas - fred@unisantos.br99

Arquitetura do MASTER-Web

URLs, fatos &

conhecimento

Sistema Multiagente

WEB

Infoseek

Excite

...

.

Meta-robô

Ontologias, Categorias & Dicionários

Novo Agente

DB

URLs & páginas

Mediador

Usuários

Agentes

Prof. Fred Freitas - fred@unisantos.br100

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-de-Jornal e de Revista

• Taxa de acerto no reconhecimento e classificação: +80% em todos os testes

Prof. Fred Freitas - fred@unisantos.br101

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.br102

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.br103

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

104

A Web Semântica

Prof. Fred Freitas - fred@unisantos.br105

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.br106

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.br107

Camadas da Web Semântica (W3C)

[Koivunen & Miller 2001]

Prof. Fred Freitas - fred@unisantos.br108

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.br109

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.br110

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.br111

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.br112

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.br113

Descrição de recursos

• Recursos são descritos como trios objetos-atributos-valores– 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.br114

www.qqr.com/~ze www.qqr.com/~marianamoraCom

José Virgulino BonitaMaria

nome sobrenome nome sobrenome

www.qqr.com/~ze www.qqr.com/~marianamoraCom

José Virgulino BonitaMaria

nome sobrenome nome sobrenome

<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>

</rdf:Description>

Prof. Fred Freitas - fred@unisantos.br115

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.br116

Exemplos de Esquemas RDF

<rdf:Description ID=”Pessoa”><rdf:type resource=”http://www.w3c.org/TR/1999/PR-rdf-schema-

19990303#Class”><rdfs:subClassOf rdf.resource=”http://www.w3c.org/TR/1999/PR-

rdf-schema-19990303#Resource”></rdf:Description><rdf:Description ID=”nome”>

<rdf:type resource=”http://www.w3c.org/TR/1999/PR-rdf-schema-19990303#Property”>

<rdfs:domain rdf:resource=”#Pessoa”><rdfs:range rdf.resource=”http://www.w3c.org/TR/xmlschema-

2#string”></rdf:Description>

Prof. Fred Freitas - fred@unisantos.br117

Capacidade Expressiva de RDF/RDFS

FredJaguar S138

Carro

PersonsubClassOf

type

pertenceA

domainrange

type

pertenceA

Veiculo

Prof. Fred Freitas - fred@unisantos.br118

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.br119

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.br120

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

Frames: Obedece ao,

OKBC-Lite

Lógica de Descrição

Linguagens para a Web :Sintaxe baseada em XML & RDF

OIL

Frames: Obedece ao,

OKBC-Lite

Lógica de Descrição

Linguagens para a Web :Sintaxe baseada em XML & RDF

OIL

Prof. Fred Freitas - fred@unisantos.br121

Módulos de OIL

Prof. Fred Freitas - fred@unisantos.br122

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.br123

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.br124

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.br125

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.br126

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.br127

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.br128

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.br129

Protégé 2.0 e as classes OWL

Prof. Fred Freitas - fred@unisantos.br130

Restrições mais poderosas com OWL

Prof. Fred Freitas - fred@unisantos.br131

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.br132

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.br133

Regra em RuleML<imp>

<_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.br134

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.br135

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.br136

Prof. Fred Freitas - fred@unisantos.br137

Prof. Fred Freitas - fred@unisantos.br

138

Avaliação e Perspectivas da Web semântica e Ontologias

Prof. Fred Freitas - fred@unisantos.br139

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

Prof. Fred Freitas - fred@unisantos.br140

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.br141

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.br142

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.br143

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.br144

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.br145

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.br146

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

palavras-chaves 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.br147

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.br148

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.br149

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