Simple HTML Ontology 
Extension 
Tiago R. Sampaio 
www.trsampaio.com
Conteúdo 
 O que é SHOE? 
 O que SHOE não é... 
 Especificações 
 Ontologias Base da SHOE 
 Criando uma Ontologia Bas...
O que é SHOE? 
 O HTML não foi projetado para o 'consumo' do computador, sua função é 
apenas exibir dados para que os se...
O que é SHOE? 
 A resposta é simples: SHOE. 
 SHOE elimina esse problema, tornando possível para 
páginas da web a inclu...
O que é SHOE? 
 SHOE é uma linguagem de representação do 
conhecimento baseado em HTML. 
 SHOE pode ser utilizado para i...
O que é SHOE? 
Desenvolvido por: Grupo de Sistemas de Entendimento Paralelo, 
Prof. Jim Hendler 
Departamento de Ciência d...
O que SHOE não é... 
 Não é apenas uma linguagem de meta-conteúdo. 
 Permite que os designers da web incorporem document...
Especificações 
 Tudo é iniciado com a adição desta tag de 
inicialização na cabeça do documento HTML clássico. 
<META HT...
Especificações 
SHOE usa as seguintes tags adicionais como uma extensão do HTML: 
Para a definição de ontologias: 
ONTOLOG...
Criando uma ontologia 
<HTML> 
<HEAD> 
<!--Indication that this document is conformant with SHOE 1.0-> 
<META HTTP-EQUIV="...
Criando uma ontologia 
 <!– A definição da hierarquia--> 
<DEF-CATEGORY NAME="Organization" ISA="base.SHOEEntity"> 
<DEF-...
Base de uma ontologia SHOE 
1. Tipagem 
 STRING: Literais. 
 NUMBER: Ponto flutuante, inteiros e constantes. 
 DATE: Da...
Base de uma ontologia SHOE 
2. Hierarquia ISA 
Entity 
SHOEEntity 
Entity 
SHOEEntity 
Entity: O pai de todas as classific...
Esquema da ontologia criada 
anteriormente 
[base.Entity] 
[base.SHOEEntity] 
Person 
Worker 
Faculty 
Professor 
Assistan...
Base de uma ontologia SHOE 
3. Relacionamentos 
Relacionamentos são declarados entre um ou mais argumentos. 
Relação Argum...
Criando uma ontologia 
Agora vamos criar alguns relacionamentos. 
 Estudantes tem professors como orientadores. 
 Organi...
Criando uma ontologia 
<DEF-RELATION NAME="advisor"> 
<DEF-ARG POS="1" TYPE="Student"> 
<DEF-ARG POS="2" TYPE="Professor">...
Criando uma ontologia 
Também podemos utilizar as relações para criar uma 
regra. 
 Publicações são publicadas em uma dat...
Criando uma ontologia 
 <DEF-RELATION NAME="publicationDate"> 
<DEF-ARG POS="1" TYPE="Publication"> 
<DEF-ARG POS="2" TYP...
Descrevendo um documento HTML 
<HTML> 
<HEAD> 
<TITLE>My Page</TITLE> 
</HEAD> 
<BODY> 
<P> Hi, this is my web page. I am ...
Descrevendo um documento HTML 
Quais as informações que podemos 
obter desta página?
Descrevendo um documento HTML 
<HTML> 
<HEAD> 
<TITLE>My Page</TITLE> 
</HEAD> 
<BODY> 
<P> Hi, this is my web page. I am ...
Descrevendo um documento HTML 
 Agora nós temos que dizer as mesmas coisas para os agentes 
inteligentes. Para isso, temo...
Descrevendo um documento HTML 
Instâncias e Chaves 
Antes de adicionarmos informações semânticas a nossa página, temos que...
Descrevendo um documento HTML 
Então declare qual ontologia será usada... 
<USE-ONTOLOGY ID="cs-dept-ontology" 
URL="http:...
Descrevendo um documento HTML 
Categorização 
<CATEGORY NAME="cs.GraduateStudent"> 
<CATEGORY NAME="cs.ResearchAssistant">...
Descrevendo um documento HTML 
Declarando relações 
<RELATION NAME="cs.name"> 
<ARG POS=1 
VALUE="http://www.cs.umd.edu/us...
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 ...
Descrevendo um documento HTML 
<INSTANCE 
KEY="http://www.cs.umd.edu/users/george/#BRUNHILDA"> 
<CATEGORY NAME="cs.Lecture...
Descrevendo um documento HTML 
 Produto Final: 
<INSTANCE KEY="http://www.cs.umd.edu/users/george/"> 
<USE-ONTOLOGY ID="c...
Descrevendo um documento HTML 
<INSTANCE 
KEY="http://www.cs.umd.edu/users/george/#BRUNHILDA"> 
<CATEGORY NAME="cs.Lecture...
Inferências nas ontologias SHOE 
 Além de hierarquias e relações também é possível criar regras 
para inferências, que re...
Inferências nas ontologias SHOE 
<DEF-INFERENCE DESCRIPTION="member(?org2,?person) if member(?org1,?person) 
and subOrgani...
Referências 
 http://www.cs.umd.edu/projects/plus/SHOE 
 http://www-di.inf.puc-rio.br/~julio/Slct-pub/JAI.pdf 
 http://...
Próximos SlideShares
Carregando em…5
×

Web Semantica - Simple HTML Ontology Extension SHOE

440 visualizações

Publicada em

Web Semantica - Simple HTML Ontology Extension

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
440
No SlideShare
0
A partir de incorporações
0
Número de incorporações
33
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Web Semantica - Simple HTML Ontology Extension SHOE

  1. 1. Simple HTML Ontology Extension Tiago R. Sampaio www.trsampaio.com
  2. 2. 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
  3. 3. 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?
  4. 4. 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.
  5. 5. 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.
  6. 6. 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;
  7. 7. 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.
  8. 8. 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..
  9. 9. 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.
  10. 10. 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.
  11. 11. 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"> Herança Múltipla  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.
  12. 12. Base de uma ontologia SHOE 1. Tipagem  STRING: Literais.  NUMBER: Ponto flutuante, inteiros e constantes.  DATE: Data/Timestamps  TRUTH: “Boolean”, neste caso: YES | NO.
  13. 13. Base de uma ontologia SHOE 2. Hierarquia ISA Entity SHOEEntity 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.
  14. 14. 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
  15. 15. 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
  16. 16. Criando uma ontologia Agora vamos criar alguns relacionamentos.  Estudantes tem professors como orientadores.  Organizações tem membros.  Pessoas são autores de publicações.
  17. 17. 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>
  18. 18. 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.
  19. 19. 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.
  20. 20. 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>
  21. 21. Descrevendo um documento HTML Quais as informações que podemos obter desta página?
  22. 22. 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>
  23. 23. 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">
  24. 24. 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/">
  25. 25. 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/SHO E/onts/cs.html" VERSION="1.0" PREFIX="cs">
  26. 26. 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).
  27. 27. 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>
  28. 28. 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.
  29. 29. 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>
  30. 30. 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>
  31. 31. 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>
  32. 32. 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".
  33. 33. 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>
  34. 34. 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

×