Sunteți pe pagina 1din 6

SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO BRASIL

11 E 12 de Julho
Universidade Federal Fluminense • Departamento de Ciência da Informação
Niterói • Rio de Janeiro • Brasil

Esta comunicação está sendo submetida sob o


[X] Tema 3 – Aplicações com enfoque em Ontologias

Aplicação de ontologias na extração de informações de modelos


hidrodinâmicos: Sistema baseado em conhecimento

Vitor Pinheiro de Almeida (PUC/Rio, vitor.vpa@gmail.com)


Geiza Hamazaki (PUC/Rio, hamazaki@inf.puc-rio.br )
Jonas Sossai Júnior (MSC1 , jsossai@morningstar.com.br)
Edward Hermann Haeusler (PUC/Rio, hermann@inf.puc-rio.br)

Resumo: Neste trabalho é relatado o uso de ontologias na formalização de modelos hidrodinâmicos.


Ontologias que são baseadas nos resultados de ensaios destes modelos. Uma aplicação que usando
conceitos de ontologia, é capaz de interpretar um texto em linguagem natural e conforme a modelagem
criada, identificar as informações desejadas. Estas informações identificadas são mostradas ao usuário em
forma de arvore, para que este possa ver que informações foram capturadas pelo programa.

Palavras-chave: Analisador Sintático. Modelos hidrodinâmicos. Ensaios. Texto. Interpretador.

1. Resumo

Este trabalho relata o uso de ontologias na formalização de modelos


hidrodinâmicos. O objetivo do programa é receber relatórios de resultados de ensaios que
são feitos em forma de texto, em linguagem natural, e extrair as informações desses
textos para popularem um banco de dados.
Foram selecionados diversos resultados de ensaios com estes modelos, e a partir
destes foi criado uma ontologia. A aplicação baseada nos conceitos da ontologia, e
conforme a modelagem criada, identifica as informações. Toda a informação identificada
é mostrada ao usuário antes de ser guardada na memória, para que o usuário possa decidir
se a identificação está correta ou não. O usuário tem a opção de aceitar ou ignorar a
identificação. Uma vez realizadas as identificações, as informações obtidas são mostradas
na tela, para que se possam ver quais informações foram capturadas pelo programa.
Finalmente, o usuário tem a opção de popular o banco de dados.
2. Introdução
A validação de um projeto, para assegurar que o produto atende os requisitos de
uma aplicação é fundamental para qualquer área. Em engenharia, são considerados
modelos matemáticos e em escala (físicos), e a validação se dá por meio da submissão do
modelo a certas condições de “funcionamento” e da verificação do comportamento
esperado. Este processo é denominado como “teste” ou “ensaio”. Os ensaios são
simulações do modelo em ambientes reais, por exemplo, em um reservatório de água
onde podem ser aplicadas várias condições de vento, corrente e ondas, resultando um
relatório que contêm diversas informações do comportamento da plataforma, de acordo
com as condições ambientais (ventos, correntes, dados do modelo, plataforma-quantidade
de linhas, escala, nome...) aplicadas em cada caso. Ao final, a validação é obtida através
de um conjunto de ensaios. Devido ao tamanho deste conjunto, com objetivo de não se
repetir validações ou antecipar falhas em projetos atuais a partir de erros de projetos
antigos, faz-se necessidade a criação de uma base de conhecimento.
Surgindo assim a idéia, apresentada neste trabalho, do desenvolvimento de um
Sistema Baseado em Conhecimento, utilizando ontologias na formalização de modelos
hidrodinâmicos, domínio especifico considerado nos testes/ensaios, o qual é gerado a
partir dos relatórios (texto) com auxílio de ferramentas desenvolvidas para este domínio
especifico. Esse sistema é capaz de interpretar um texto em linguagem natural e conforme
a modelagem criada, identificar as informações desejadas.

3. Apresentação do problema
Atualmente, os ensaios de plataforma realizados são todos relatados
detalhadamente em um relatório na forma de texto, em linguagem natural, e são
armazenados em um DVD.
Os relatórios de ensaios são fornecidos por empresas contratadas sendo
apresentada em um dos 5 formatos possíveis. Os ensaios que são apresentados em forma
de simulação numérica com parte textual especifica, tornando inviável a análise sintática
de todas estas informações para um banco de dados. Como conseguir capturar todas estas
informações nestes textos, que não possuem formato padrão nenhum de forma
automática? Como conseguir interpretar cada texto de forma com que se consiga capturar
estas informações por eles divulgadas e colocá-las em um banco de dados?

4. Implementação da aplicação
A aplicação foi implementada utilizando a linguagem C#, no ambiente de
programação Visual Studio 2005.
A modelagem do ensaio de plataforma foi realizada com o auxílio do software de
edição de ontologias –Protegè - e contém as informações necessárias que se deseja
capturar no texto. Através da modelagem o programa reconhece que conceitos são
importantes a serem encontrados nos textos, para que se possa capturar a informação a
ser armazenada na base de dados.

4.1. Funcionalidade da aplicação: Sistema baseado em conhecimento


A aplicação recebe uma seqüência de caracteres de entrada (o texto), na qual é
realizada a busca por números, quando este é encontrado, identifica-se a unidade
relacionada. Com base nesta identificação, o numero é composto pelo seu valor e pela sua
unidade. Em seguida, verifica-se a existência de palavras que são conceitos na ontologia
ao redor deste número. Com essas informações cada conceito é relacionado com um
número, verificando uma possível associação entre eles.
As possíveis associações são identificadas da seguinte forma: comparar se a
unidade de medida do número com a unidade esperado pelo conceito. Se ambas
estiverem de acordo, verificar se foi capturada toda a informação esperada para este
conceito, tendo como base a quantidade de informação obtida com quantidade de
informação esperada. Com estes requisitos aprovados, é possível a existência de uma
associação entre conceito e valor.
Para cada possibilidade encontrada, o usuário será questionado através de
perguntas que serão apresentadas na tela, as resposta dadas se limitam a verdadeiro ou
falso. Desta forma, informação é associada de acordo com a pergunta selecionada. Este
processo é repetido até a análise de todo texto de entrada. Ao termino, as informações
capturadas em memória serão exibidas ao usuário na tela, e serão visualizadas em modo
de árvore (TreeListView).
5. Estudo de casos
É apresentado abaixo o sistema baseado em conhecimento utilizando ontologias
na formalização de modelos hidrodinâmicos através dos estudos de caso, realizados a
partir de relatórios de ensaios reais de modelos hidrodinâmicos. Exemplo:

Figura 3: Texto de entrada Figura 9: Saída do programa


Ao executar a aplicação com este texto de entrada, temos os seguintes resultados:

Figura 4: Pergunta 1 Figura 5: Pergunta 2

Figura 6: Pergunta 3 Figura 7: Pergunta 4 Figura 8: Pergunta 5

Análise das perguntas:

Na Pergunta 1, Referente ao número “1:75”, Pergunta 2, Referente ao número


“13”, e na Pergunta 3, Referente ao número “0.8 m/s”, foi gerada no total uma pergunta
para cada valor. A pergunta 4 é referente a pergunta 3, pois o conceito relacionado nesta
pode possuir uma quantidade maior do que um. Por esta razão, antes de ser armazenado o
seu valor, perguntam-se quantos objetos do conceito em questão existem. A quantidade
definida significa o número de “currents” que existem naquele ensaio. A pergunta 5
refere-se à associação do valor 8 m/s com o conceito “current velocity”, inferida pelo
sistema. Sabendo agora quantos objetos “current” existem, especificado pela pergunta 4,
é necessário saber a que objeto associar o valor adquirido. A pergunta é feita, só para
saber a que objeto do conceito current se deseja relacionar o valor de velocity capturado.
A saída é colocada em forma de tree (TreeListView: classe do c#) e mostra todas
as informações capturadas pela aplicação.
Além desse, outros testes foram executados e os seguintes resultados observados:
A) As perguntas geradas referente a algum número encontrado no texto, são 95%
das vezes uma. Todas as perguntas que estão nas imagens, são as únicas perguntas que
foram geradas na análise do número.
B) Toda a pergunta gerada contém coerência em relação ao que está sendo
perguntado. Se existem dois conceitos de mesma unidade perto de um número que possui
a unidade requerida por estes conceitos, o programa realmente precisa perguntar ao
usuário a que conceito pertence aquele número. Sendo essa a razão do programa gerar
mais de uma pergunta algumas vezes.
Com estes resultados concluímos que o programa praticamente acerta todas as
associações que faz.

6. Conclusão e Trabalhos Futuros


Nesse trabalho apresentamos uma utilização diferenciada de ontologias, a qual foi
utilizada no auxílio do entendimento dos modelos hidrodinâmicos e como seus diferentes
formatos podem ser unificados.
Como resultado desta experiência, a base de dados possui armazenados os dados
referentes a um ensaio, uma simulação e modelos de diferentes plataformas, todas
classificadas e caracterizadas pela ontologia de modelos hidrodinâmicos.
Por razões de sigilo industrial o modelo e sua respectiva ontologia não podem ser
divulgados, sendo possível apenas a ilustração com exemplos de baixa complexidade e
detalhamento.
No processo de evolução gradual da aplicação o objetivo é melhorar a aquisição
de informação, limitando o número de perguntas a serem realizadas, bem como inserindo
mais informações nos conceitos da ontologia, como por exemplo, definindo um limite
máximo e mínimo para velocidade de um modelo hidrodinâmico, evitando que números
absurdos sejam automaticamente não serão tratados.
Além disso, utilizar raciocinadores sobre a ontologia de forma a auxiliar na
identificação da informação seria uma solução para minimizar as perguntas ao usuário na
verificação se a associação esta correta ou não.

7. Referencias Bibliográficas
[1] – Protege; http://protege.stanford.edu/
[2] – BAADER, F. et alli. The Description Logic Handbook, Cambridge University
Press, 2003.
[3] – Projeto Preliminar DMH. Convenio PUC-Rio, Petrobras, 2007
[4] – Main Report_draft.pdf; Relatório de ensaio feito pela Marintek cujo conteúdo por
razões de sigilo industrial não pode ser divulgado.

S-ar putea să vă placă și