web semantica - simple html ontology extension shoe

34
Simple HTML Ontology Extension Tiago R. Sampaio www.trsampaio.com

Upload: tiago-r-sampaio

Post on 19-Jun-2015

163 views

Category:

Software


0 download

DESCRIPTION

Web Semantica - Simple HTML Ontology Extension

TRANSCRIPT

Page 1: Web Semantica - Simple HTML Ontology Extension SHOE

Simple HTML Ontology Extension

Tiago R. Sampaio

www.trsampaio.com

Page 2: Web Semantica - Simple HTML Ontology Extension SHOE

Conteúdo

O que é SHOE?

O que SHOE não é...

Especificações

Ontologias Base da SHOE

Criando uma Ontologia Basica

Anotação de um documento HTML com SHOE

Inferências em Ontologias SHOE

Referências

Page 3: Web Semantica - Simple HTML Ontology Extension SHOE

O que é SHOE?

O HTML não foi projetado para o 'consumo' do computador, sua função é apenas exibir dados para que os seres humanos possam ler. O "conhecimento" em uma página web é uma linguagem legível (normalmente inglês), definido com textos, tabelas e gráficos, para que nós humanos possamos compreender visualmente.

Infelizmente, os agentes inteligentes não são humanos. Mesmo com a tecnologia de linguagem natural 'state-of-the-art', obter em um computador recursos para ler e compreender documentos da web é muito complicado. Essa dificuldade faz com que a criação de um agente inteligente que pode percorrer a web por si próprio, ler e compreender as páginas seja muito difícil.

Então, o que pode ser feito?

Page 4: Web Semantica - Simple HTML Ontology Extension SHOE

O que é SHOE?

A resposta é simples: SHOE.

SHOE elimina esse problema, tornando possível para páginas da web a inclusão de conhecimento de uma forma que os agentes inteligentes realmente podem ler.

SHOE é uma pequena extensão de HTML, que permite que os autores das páginas web marcar seus documentos web com conhecimento de leitura de máquina. SHOE torna possível um agente inteligente real na web.

Page 5: Web Semantica - Simple HTML Ontology Extension SHOE

O que é SHOE?

SHOE é uma linguagem de representação do conhecimento baseado em HTML.

SHOE pode ser utilizado para incorporar os dados a partir de uma variedade de fontes e para uma variedade de propósitos. Não se destina a qualquer função particular.

No entanto, SHOE se destina principalmente para tornar a web possível para robôs e agentes inteligentes, e assim fazer a diferença, tornando a nossa vida um pouco mais fácil.

Page 6: Web Semantica - Simple HTML Ontology Extension SHOE

O que é SHOE?Desenvolvido por: Grupo de Sistemas de Entendimento Paralelo,

Prof. Jim Hendler

Departamento de Ciência da Computação

Universidade de Maryland

Resumindo...

Superconjunto de HTML;

Especifica ontologias para os Agentes da Internet;

Descreve semanticamente documentos web com máquinas de conhecimento legível;

Compatível com SGML e XML;

Mas agora o trabalho da Universidade de Maryland em ontologias da web continua no Projeto Agentes e Web Semântica, que utiliza as linguagens para ontologia Web OWL e DAML+OIL. Essas linguagens são resultados dos esforços de padronização e, em parte, são baseadas na SHOE;

Page 7: Web Semantica - Simple HTML Ontology Extension SHOE

O que SHOE não é... Não é apenas uma linguagem de meta-conteúdo. Permite que os designers da web incorporem documentos que não

contenham apenas informações sobre o “conteúdo” global desses documentos, mas qualquer informação arbitrária em tudo. SHOE também permite a interferência automática sobre os dados que eles aprendem, fornece um esquema de categorização hierárquica, e um mecanismo de ontologia sofisticado projetado especificamente para o que a web precisa.

Não é propositalmente um sistema detalhado de conhecimento-representação.

SHOE tenta fornecer uma rica expressividade quanto possível, enquanto mantém em mente que há uma enorme quantidade de dados fora.

Não há ontologias pré-definidas, categorias, relacionamentos ou inferências.SHOE é uma linguagem na qual categorias, relacionamentos, atributos, inferências, etc. podem ser definidas por ontologias, mas a própria SHOE não as define.

Page 8: Web Semantica - Simple HTML Ontology Extension SHOE

Especificações

Tudo é iniciado com a adição desta tag de inicialização na cabeça do documento HTML clássico.

<META HTTP-EQUIV="SHOE" CONTENT="VERSION=1.0">

Você pode usar este logotipo que representa que sua página web suporta SHOE..

Page 9: Web Semantica - Simple HTML Ontology Extension SHOE

Especificações

SHOE usa as seguintes tags adicionais como uma extensão do HTML:

Para a definição de ontologias:

ONTOLOGY, /ONTOLOGY, USE-ONTOLOGY, DEF-CATEGORY,DEF-RELATION, /DEF-RELATION, DEF-ARG, DEF-RENAME,DEF-CONSTANT, DEF-TYPE, DEF-INFERENCE, /DEF-INFERENCE,INF-IF, /INF-IF, INF-THEN, /INF-THEN, COMPARISON,/COMPARISON, CATEGORY, RELATION, /RELATION, ARG.

Para a averbação de páginas HTML, adicione:

INSTANCE, /INSTANCE.

Page 10: Web Semantica - Simple HTML Ontology Extension SHOE

Criando uma ontologia

<HTML><HEAD>

<!--Indication that this document is conformant with SHOE 1.0-><META HTTP-EQUIV="SHOE" CONTENT="VERSION=1.0“><TITLE> Our CS Ontology </TITLE></HEAD><BODY>

<!--Declaration of the ontology‘s name and version--><ONTOLOGY ID="cs-dept-ontology" VERSION="1.0“>

<!--Declaration to use another yet existing ontology--><USE-ONTOLOGY ID="base-ontology" VERSION="1.0" PREFIX="base”

URL="http://www.cs.umd.edu/projects/plus/SHOE/base.html">

O prefix base é utilizado para indicar que está sendo importado da ontologia base.

Page 11: Web Semantica - Simple HTML Ontology Extension SHOE

Criando uma ontologia <!– A definição da hierarquia-->

<DEF-CATEGORY NAME="Organization" ISA="base.SHOEEntity"> <DEF-CATEGORY NAME="Person" ISA="base.SHOEEntity"> <DEF-CATEGORY NAME="Publication" ISA="base.SHOEEntity"> <DEF-CATEGORY NAME="ResearchGroup" ISA="Organization"> <DEF-CATEGORY NAME="Department" ISA="Organization"> <DEF-CATEGORY NAME="Worker" ISA="Person"> <DEF-CATEGORY NAME="Faculty" ISA="Worker"> <DEF-CATEGORY NAME="Assistant" ISA="Worker"> <DEF-CATEGORY NAME="AdministrativeStaff" ISA="Worker"> <DEF-CATEGORY NAME="Student" ISA="Person"> <DEF-CATEGORY NAME="PostDoc" ISA="Faculty"><DEF-CATEGORY NAME="Lecturer" ISA="Faculty"> <DEF-CATEGORY NAME="Professor" ISA="Faculty"> <DEF-CATEGORY NAME="ResearchAssistant" ISA="Assistant"> <DEF-CATEGORY NAME="TeachingAssistant" ISA="Assistant"><DEF-CATEGORY NAME="GraduateStudent" ISA="Student"> <DEF-CATEGORY NAME="UndergraduateStudent" ISA="Student"><DEF-CATEGORY NAME="Secretary" ISA="AdministrativeStaff"> <DEF-CATEGORY NAME="Chair" ISA="AdministrativeStaff Professor">

Note-se que Organização, Publicação, e Pessoa subcategoriza a base.SHOEEntity, isto é, a categoria SHOEEntity declarou em base-ontology. SHOEEntity é a categoria aceita como "root" para todas as categorias que você vai declarar em uma ontologia.

Herança Múltipla

Page 12: Web Semantica - Simple HTML Ontology Extension SHOE

Base de uma ontologia SHOE

1. Tipagem

STRING: Literais.

NUMBER: Ponto flutuante, inteiros e constantes.

DATE: Data/Timestamps

TRUTH: “Boolean”, neste caso: YES | NO.

Page 13: Web Semantica - Simple HTML Ontology Extension SHOE

Base de uma ontologia SHOE

2. Hierarquia ISA

Entity SHOEEntity

Entity: O pai de todas as classificações SHOE. Não se deve criar uma subclasse de Entity, deve-se usar o SHOEEntity. Entity existe somente para trazer flexibilidade a versões anteriores do SHOE.

SHOEEntity: Agora sim, este deve ser o pai de todas as categorias SHOE.

Entity

SHOEEntity

Page 14: Web Semantica - Simple HTML Ontology Extension SHOE

Esquema da ontologia criada anteriormente

[base.Entity] [base.SHOEEntity] Person Worker Faculty Professor AssistantProfessor AssociateProfessor FullProfessor VisitingProfessor Lecturer PostDoc Assistant ResearchAssistant TeachingAssistant AdministrativeStaff Director

Chair {Professor} Dean {Professor}

ClericalStaff SystemsStaff Student UndergraduateStudent GraduateStudent Organization Department School

Page 15: Web Semantica - Simple HTML Ontology Extension SHOE

Base de uma ontologia SHOE

3. Relacionamentos

Relacionamentos são declarados entre um ou mais argumentos.

Relação Argumento 1 Argumento 2 ======================================= description Entity STRING name Entity STRING

Page 16: Web Semantica - Simple HTML Ontology Extension SHOE

Criando uma ontologia

Agora vamos criar alguns relacionamentos.

Estudantes tem professors como orientadores.

Organizações tem membros. Pessoas são autores de publicações.

Page 17: Web Semantica - Simple HTML Ontology Extension SHOE

Criando uma ontologia

<DEF-RELATION NAME="advisor"><DEF-ARG POS="1" TYPE="Student"> <DEF-ARG POS="2" TYPE="Professor">

</DEF-RELATION> <DEF-RELATION NAME="member">

<DEF-ARG POS="1" TYPE="Organization"><DEF-ARG POS="2" TYPE="Person">

</DEF-RELATION><DEF-RELATION NAME="publicationAuthor">

<DEF-ARG POS="1" TYPE="Publication"><DEF-ARG POS="2" TYPE="Person">

</DEF-RELATION>

Page 18: Web Semantica - Simple HTML Ontology Extension SHOE

Criando uma ontologia

Também podemos utilizar as relações para criar uma regra.

Publicações são publicadas em uma data. A idade do estudante é um número. Qualquer nome é uma string. Todo professor tem o campo docente como truth.

Page 19: Web Semantica - Simple HTML Ontology Extension SHOE

Criando uma ontologia

<DEF-RELATION NAME="publicationDate"><DEF-ARG POS="1" TYPE="Publication"><DEF-ARG POS="2" TYPE=".DATE">

</DEF-RELATION><DEF-RELATION NAME="age">

<DEF-ARG POS="1" TYPE="Person"><DEF-ARG POS="2" TYPE=".NUMBER">

</DEF-RELATION><DEF-RELATION NAME="name">

<DEF-ARG POS="1" TYPE="base.SHOEEntity"><DEF-ARG POS="2" TYPE=".STRING">

</DEF-RELATION><DEF-RELATION NAME="tenured">

<DEF-ARG POS="1" TYPE="Professor"><DEF-ARG POS="2" TYPE=".TRUTH">

</DEF-RELATION></ONTOLOGY> </BODY></HTML>

“.” é utilizado como atalho para acessar os elementos base da ontologia SHOE.

Page 20: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

<HTML><HEAD>

<TITLE>My Page</TITLE> </HEAD>

<BODY><P> Hi, this is my web page. I am a graduate student and a

research assistant. </P> <P> Also, I'm 52 years old. </P><P> My name is George Stephanopolous. </P><P> Here is a pointer to my <A HREF="http://www.cs.umd.edu/smith">

graduate advisor.</A></P> <P> And <A HREF="http://www.cs.umd.edu/papers/paper.ps"> is a

paper I recently wrote. <h3> Brun Hilda </h3> Brun Hilda is a visiting lecturer here from

Germany who doesn't have her own web page. However, because I am such a nice person, I have agreed to let part of my web page space belong to her. She is 23. </BODY></HTML>

Page 21: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

Quais as informações que podemos obter desta página?

Page 22: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

<HTML><HEAD>

<TITLE>My Page</TITLE> </HEAD>

<BODY><P> Hi, this is my web page. I am a graduate student and a

research assistant. </P> <P> Also, I'm 52 years old. </P><P> My name is George Stephanopolous. </P><P> Here is a pointer to my <A HREF="http://www.cs.umd.edu/smith">

graduate advisor.</A></P> <P> And <A HREF="http://www.cs.umd.edu/papers/paper.ps"> is a

paper I recently wrote. <h3> Brun Hilda </h3> Brun Hilda is a visiting lecturer here from

Germany who doesn't have her own web page. However, because I am such a nice person, I have agreed to let part of my web page space belong to her. She is 23. </BODY></HTML>

Page 23: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

Agora nós temos que dizer as mesmas coisas para os agentes inteligentes. Para isso, temos que informar ao robô que estaremos usando SHOE.

<META HTTP-EQUIV="SHOE" CONTENT="VERSION=1.0">

Page 24: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

Instâncias e Chaves

Antes de adicionarmos informações semânticas a nossa página, temos que definer uma ou mais instâncias, que são os objetos que vamos classificar ou relaciona-los com outros. SHOE associa cada instância a uma chave única, ou seja, duas pessoas não podem escrever instâncias com o mesmo nome.

<INSTANCE KEY="http://www.cs.umd.edu/users/george/">

Page 25: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

Então declare qual ontologia será usada...

<USE-ONTOLOGY ID="cs-dept-ontology" URL="http://www.cs.umd.edu/projects/plus/SHOE/onts/cs.html" VERSION="1.0" PREFIX="cs">

Page 26: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

Categorização

<CATEGORY NAME="cs.GraduateStudent"><CATEGORY NAME="cs.ResearchAssistant">

"GraduateStudent" e "ResearchAssistant" foram definidas na ontologia de prefixo "cs." (i.e., cs-dept-ontology).

Page 27: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

Declarando relações

<RELATION NAME="cs.name"> <ARG POS=1 VALUE="http://www.cs.umd.edu/users/george/"> <ARG POS=2 VALUE="George Stephanopolous"> </RELATION>

<RELATION NAME="cs.age"> <ARG POS=1 VALUE="http://www.cs.umd.edu/users/george/"> <ARG POS=2 VALUE="52"> </RELATION>

Page 28: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

Instância aninhada

E a Brun Hilda? Ela também divide espaço na página de George, então a sua instância precisa ser diferente, porém também baseada na URL da página.

Page 29: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

<INSTANCE KEY="http://www.cs.umd.edu/users/george/#BRUNHILDA">

<CATEGORY NAME="cs.Lecturer">

<RELATION NAME= "cs.name“><ARG POS=TO VALUE="Brun Hilda“>

</RELATION><RELATION NAME="cs.age">

<ARG POS=TO VALUE="23“></RELATION></INSTANCE>

Page 30: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

Produto Final:<INSTANCE KEY="http://www.cs.umd.edu/users/george/"> <USE-ONTOLOGY ID="cs-dept-ontology" URL="http://www.cs.umd.edu/projects/plus/SHOE/onts/cs.html" VERSION="1.0" PREFIX="cs">

<CATEGORY NAME="cs.GraduateStudent"><CATEGORY NAME="cs.ResearchAssistant">

<RELATION NAME="cs.name">

<ARG POS=TO VALUE="George Stephanopolous"> </RELATION><RELATION NAME="cs.age">

<ARG POS=TO VALUE="52"></RELATION><RELATION NAME="cs.advisor">

<ARG POS=TO VALUE="http://www.cs.umd.edu/users/smith"> </RELATION>

Page 31: Web Semantica - Simple HTML Ontology Extension SHOE

Descrevendo um documento HTML

<INSTANCE KEY="http://www.cs.umd.edu/users/george/#BRUNHILDA">

<CATEGORY NAME="cs.Lecturer“><RELATION NAME= "cs.name">

<ARG POS=TO VALUE="Brun Hilda"></RELATION><RELATION NAME="cs.age“>

<ARG POS=TO VALUE="23“></RELATION></INSTANCE>

</INSTANCE>

</BODY> </HTML>

Page 32: Web Semantica - Simple HTML Ontology Extension SHOE

Inferências nas ontologias SHOE

Além de hierarquias e relações também é possível criar regras para inferências, que relembram um pouco o estilo de Prolog.

member(?org2,?person) :- member(?org1,?person) ^ subOrganizationOf(?org1,?org2)

Traduzindo: "?person é um membro de ?org2 SE ?person é um membro de ?org1 E ?org1 é uma sub-organização de ?org2".

Page 33: Web Semantica - Simple HTML Ontology Extension SHOE

Inferências nas ontologias SHOE

<DEF-INFERENCE DESCRIPTION="member(?org2,?person) if member(?org1,?person) and subOrganizationOf(?org1,?org2)">

<INF-IF><RELATION NAME="member">

<ARG POS=1 VALUE="org1" USAGE=VAR><ARG POS=2 VALUE="per" USAGE=VAR>

</RELATION> <RELATION NAME="subOrganizationOf">

<ARG POS=1 VALUE="org1" USAGE=VAR> <ARG POS=2 VALUE="org2" USAGE=VAR>

</RELATION> </INF-IF> <INF-THEN>

<RELATION NAME="member"><ARG POS=1 VALUE="org2" USAGE=VAR><ARG POS=2 VALUE="per" USAGE=VAR>

</RELATION></INF-THEN></DEF-INFERENCE>

Page 34: Web Semantica - Simple HTML Ontology Extension SHOE

Referências

http://www.cs.umd.edu/projects/plus/SHOE

http://www-di.inf.puc-rio.br/~julio/Slct-pub/JAI.pdf

http://swat.cse.lehigh.edu/

http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0024134_02_cap_05.pdf