36
PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

Embed Size (px)

Citation preview

Page 1: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS

PETER ANTONY RAUSCHJOYCE MARTINS

Page 2: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

ROTEIRO

Introdução Objetivos Fundamentação Teórica Especificação Implementação Operacionalidade Resultados e discussão Conclusão Extensões

Page 3: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

INTRODUÇÃO

Internet X Linguagem Natural Web Semântica

Metadados Ontologia

Descrição e representação de uma área de conhecimento

Linguagens W3C: Resource Description Framework (RDF) Web Ontology Language (OWL) Simple Protocol And Rdf Query Language

(SPARQL)

Page 4: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

OBJETIVOS

Ferramenta para extrair informações de base de dados baseada em ontologias: Definir uma base de dados de domínio

específico baseado em ontologias, fazendo uso das linguagens RDF e OWL, adotadas como padrão pela W3C

Processar consultas em língua portuguesa, convertendo em consultas na linguagem SPARQL

Gerar como resultado links para informações obtidas como respostas às consultas

Page 5: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

LINGUAGENS DE DESCRIÇÃO E CONSULTA PARA WEB SEMÂNTICA

PROCESSAMENTO DE LINGUAGEM NATURAL

TRABALHOS CORRELATOS

FUNDAMENTAÇÃO TEÓRICA

Page 6: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

RDF – Resource Description Language

Padrão de uso do XML Grafo dirigido

Nós = recursos RECURSO: sobre o que se deseja falar OBJETO: valor dado para a propriedade

Aresta = propriedade PROPRIEDADE: relaciona RECURSO x OBJETO

Recurso = endereço web

Page 7: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

RDF – Resource Description Language

1. <?xml version="1.0"?>

2. <rdf:RDF

3. xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

4. xmlns:f="http://www.meudominio.com.br/vocabulario/#">

5. <rdf:RDF>

6. <rdf:Description about:"http://www.exemplo.com.br">

7. <f:criou>

8. Peter

9. </f:criou>

10. </rdf:Description>

11. </rdf:RDF>

Page 8: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

RDFs – RDF-Schema

Definição de vocabulários Orientação a objetos

1. [...]

2. <rdfs:Class rdf:ID="animal"/>

3. <rdfs:Class rdf:ID="cavalo">

4. <rdfs:subClassOf rdf:resource="#animal"/>

5. </rdfs:Class>

6. [...]

Page 9: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

OWL – Web Ontology Language

Ontologias Explicitação de fatos sobre determinado

domínio Namespaces Cabeçalhos Classes Indivíduos Propriedades Restrições

Page 10: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

OWL – Web Ontology Language

1. <?xml version="1.0"?>

2. <rdf:RDF

3. [...]

4. <owl:Ontology rdf:about="#animais">

5. <owl:Class rdf:ID="carnivoro">

6. <owl:Restriction>

7. <owl:onProperty rdf:resource="comer"/>

8. <owl:someValuesFrom rdf:resource="animal"/>

9. </owl:Restriction>

10. </owl:Class>

11. <owl:Class rdf:ID="leao">

12. <rdfs:subClassOf rdf:type="carnivoro"/>

13. </owl:Class>

14. </owl:Ontology>

15. </rdf:RDF>

Page 11: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

SPARQL – Simple Protocol And Rdf Query Language

RDF | RDFS | OWL Consultar Inserir Excluir Alterar

Page 12: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

SPARQL – Simple Protocol And Rdf Query Language

1. PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

2. PREFIX an: <http://www.exemplo.com.br/animais#>

3.  

4. SELECT ?a ?e

5. WHERE

6. {

7. ?a rdf:Class an:animal;

8. an:carnivoro ?e.

9. }

1. ASK

2. WHERE

3. {

4. ?a rdf:Class an:animal;

5. an:carnivoro ?e.

6. }

Page 13: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

PROCESSAMENTO DE LINGUAGEM NATURAL

Análise morfológica Identifica palavras

Análise sintática Estrutura do texto

Análise semântica Significado

Análise pragmática Contexto

Page 14: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

TRABALHOS CORRELATOS

Jena (APACHE SOFTWARE FOUNDATION, 2011) Framework Java

Geração automática de ontologias (BRAVO, 2010)

Semantic Lattes (COSTA; YAMATE, 2009) Domínio: Currículos acadêmicos

Page 15: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

REQUISITOS

PERGUNTAS SUPORTADAS

DIAGRAMA DE CASOS DE USO

DIAGRAMA DE CLASSES

ESPECIFICAÇÃO

Page 16: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

PRINCIPAIS REQUISITOS

Requisitos Funcionais permitir cadastrar ontologias no formato OWL; disponibilizar uma interface para entrada de

consultas em SPARQL; disponibilizar uma interface para entrada de

consultas em língua portuguesa; disponibilizar o resultado de consultas em língua

portuguesa; Requisitos Não-Funcionais

ter uma base de dados baseada em ontologias; ser implementada em C# e ASP.NET, utilizando o

ambiente de desenvolvimento Microsoft Visual Studio 2010;

Page 17: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

PERGUNTAS SUPORTADAS

Pergunta Exemplo

Quais RECURSOS cadastrados? Quais vulnerabilidades cadastradas?

O RECURSO é um OBJETO? O atacante externo é uma ameaça?

O RECURSO PROPRIEDADE OBJETO? A vulnerabilidade é explorada pelo concorrente?

Quais OBJETO PROPRIEDADE RECURSO? Quais vulnerabilidades estão contidas no software ERP?

Que OBJETO RECURSO PROPRIEDADE? Que vulnerabilidade o concorrente explora?

O que PROPRIEDADE RECURSO? O que está localizado no servidor de arquivos?

Em que OBJETO PROPRIEDADE RECURSO? Em que posição joga o Messi?

Como PROPRIEDADE RECURSO? Como é explorada a vulnerabilidade?

Quem PROPRIEDADE RECURSO? Quem mitiga uma vulnerabilidade física?

Onde PROPRIEDADE RECURSO? Onde está localizada a folha de pagamento?

Page 18: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

DIAGRAMA DE CASOS DE USO

uc Primary Use Cases

Busca

Cadastros e Manutenção

UC01 - Cadastrar Ontologia

Usuário

UC02 - Cadastrar Substantiv o

UC06 - Buscar com Linguagem SPARQL

UC07 - Buscar com Linguagem Natural

UC03 - Manter Ontologia

UC05 - Manter Substantiv o

UC04 - Recuperar Arquiv o OWL

«include»

«extend»

Page 19: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

DIAGRAMA DE CLASSES

Page 20: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

DIAGRAMA DE CLASSES

Page 21: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

DIAGRAMA DE CLASSES

Page 22: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

TÉCNICAS E FERRAMENTAS

ONTOLOGIAS

GRAMÁTICA

ESTUDO DE CASO

IMPLEMENTAÇÃO

Page 23: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

TÉCNICAS E FERRAMENTAS

GALS NeOn Toolkit Visual Studio 2010 SQL Server

SQL Managment Studio

C# ASP.NET MVC Entity Framework Razor dotNetRDF

JavaScript JQUERY

HTML5

Page 24: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

ONTOLOGIAS

Gestão de Segurança da Informação

Ativo de informação Ambiente Físico Software Hardware

Vulnerabilidade Vulnerabilidade Lógica Vulnerabilidade Física

Controle Controle Lógico Controle Físico

Ameaça Malware Atacante Interno Atacante Externo

Alimentos Bebida

Suco Ingrediente Prato

Doce Salgado

Futebol País Posição Time Campeona

to Copa Liga

Jogador Continente

Page 25: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

GRAMÁTICA

1. <frase> ::= <sujeito> <negacao> <verbo> <objeto> pontuacao

2. | <sujeito_> <ligacao> <objeto_> <negacao> <verbo___> pontuacao

3.  

4. <sujeito> ::= <pre_sujeito> <nucleo> <pos_sujeito>

5. | adverbio #5

6.

7. <pre_sujeito> ::= | pronome #1 <pre_sujeito_> | artigo

8. <pre_sujeito_> ::= | artigo

9. <nucleo> ::= substantivo #2

10. <pos_sujeito> ::=

11. | preposicao #3 <nucleo> <pos_sujeito>

12. | artigo_preposicionado #4 <nucleo> <pos_sujeito>

13. | artigo <nucleo> <pos_sujeito>

14. | <nucleo> <pos_sujeito>

Page 26: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

ESTUDO DE CASOQuais ingredientes contém a batata recheada?

Page 27: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

ESTUDO DE CASOQuais ingredientes contém a batata recheada?

SUJEITO X RECURSO

SUPERIORES

rdf:type

rdfs:subClassOf

2

OBJETO X RECURSO

INFERIORES

3

OBJETOS X PROPRIEDADES4

(RECURSOS PASSO 4)

-

!(RECURSOS 2)

5

VERBO X PROPRIEDADE

owl:InverseOf

1

Page 28: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

CÓDIGO SPARQL

1. SELECT ?ehDoTipo

2. WHERE {

3. {

4. recurso a ?ehDoTipo

5. }

6. FILTER(!isBlank(?ehDoTipo)

7. }

1. SELECT ?filho

2. WHERE {

3. ?filho rdfs:subClassOf recurso.

4. FILTER(!isBlank(?filho)

5. }

Page 29: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

OPERACIONALIDADE

Page 30: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

OPERACIONALIDADE DA IMPLEMENTAÇÃO

Page 31: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

OPERACIONALIDADE

Page 32: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

OPERACIONALIDADE

Page 33: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

RESULTADOS E DISCUSSÃO

Funcionalidade OnTo Busca Semantic Lattes

Plataforma Web Web

Domínios de ontologia suportados Diversos Específico

Reconhecimento de linguagem natural

Sim, as perguntas podem ser elaboradas conforme a gramática

especificada

Não, as perguntas são fixas (no protótipo)

Possibilidade de realizar consultas em

linguagem natural

Sim, as perguntas são traduzidas para

consultas SPARQL durante a execução

Sim, mas como as perguntas são fixas, as

consultas SPARQL também são

Possibilidade de realizar consultas em

SPARQLSim Não

Capacidade de agregar

conhecimento à ontologia existente

Não Sim

Page 34: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

CONCLUSÃO

Dificuldade em formalizar linguagem natural Limitou Gramática Criação de ontologias

Singular Propriedades = verbos

Ontologias de domínios distintos GALS Entity Framework dotNetRDF

Page 35: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

EXTENSÕES

Aperfeiçoar a gramática, não restringindo o tipo das perguntas elaboradas

Utilizar técnicas de Inteligência Artificial (IA) no reconhecimento das perguntas

Permitir a agregação de conhecimento em linguagem SPARQL e em linguagem natural

Implementar cadastros de verbos e de sinônimos para substantivos e verbos para melhorar exatidão das consultas

Permitir que as consultas em linguagem natural sejam realizadas sem a necessidade de escolha de ontologia

Page 36: PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

APRESENTAÇÃO DO APLICATIVO