Utilizando Ontologias para Expansão Semântica de

Propaganda
Utilizando Ontologias para Expansão Semântica de Consultas
Danusa Ribeiro B. da Cunha
Universidade Federal do Ceará (UFC)
[email protected]
Bernadette Farias Lóscio
Universidade Federal do Ceará (UFC)
[email protected]
Resumo
expansão de consultas utiliza algoritmos que buscam
palavras com significados semelhantes aos termos da
consulta submetida e acrescentam tais palavras à consulta
original com o objetivo de melhorar o contexto da mesma.
Assim, a expansão de consultas visa modificar a consulta
com o intuito de torná-la mais eficaz e abrangente.
Uma abordagem clássica para expansão de consultas
baseia-se na co-ocorrência estatística de palavras-chave
em documentos do domínio considerado, adicionando à
consulta termos que freqüentemente ocorrem em conjunto
com os termos da consulta original, porém os sistemas que
seguem essa abordagem não consideram a semântica entre
os termos durante a verificação das ocorrências.
Diversos trabalhos têm utilizado ontologias como fonte
de informação semântica de domínio para expandir
consultas e obter resultado mais eficaz. Ontologias são
especificações dos conceitos de um determinado domínio
e suas relações. As ontologias têm sido usadas para tratar
as estruturas de organização da informação a partir de
seus relacionamentos e seus conceitos.
Os atuais mecanismos de busca da informação carecem
de flexibilidade, transparência e precisão, apesar de terem
boa cobertura. Com o uso de ontologias, além das
características inerentes dos mecanismos de busca, eles
terão maior flexibilidade na recuperação da informação.
Neste artigo, apresentamos uma visão geral sobre os
Sistemas de Recuperação de Informação e seus métodos
de recuperação de dados. Introduzimos conceitos sobre
ontologias e, além disso, mostramos algumas ferramentas
que utilizam ontologias no processo de expansão de
consultas.
Este artigo está organizado como se segue. Na seção 2,
discutimos conceitos relacionados a sistemas de
Recuperação de Informação e as técnicas utilizadas na
construção desses sistemas. Na seção 3, ilustramos o uso
de ontologias através de um exemplo e mostramos alguns
formalismos para representação de ontologias. Na seção
4, discutimos o problema de expansão semântica de
consultas e alguns sistemas que utilizam ontologias nesse
processo. Na seção 5, apresentamos nossas conclusões.
O crescimento rápido e contínuo do volume de dados
disponível na Web torna cada vez mais difícil o acesso às
informações. As máquinas de busca existentes retornam
listas de recursos recuperados, oferecendo pouca ou
nenhuma informação sobre as relações semânticas
existentes entre elas. Sendo assim, cabe ao usuário
acessar tais listas para descobrir quais se encaixam no
contexto do seu problema. As ontologias contribuem na
recuperação da informação, pois permitem a busca de
dados ou dos recursos desejados através de pesquisas em
bases de informações estruturadas, tornando o resultado
da recuperação mais preciso e baseado em estruturas
semânticas. Nesse artigo, são apresentados conceitos
sobre sistemas de recuperação de informações e
expansão semântica de consultas utilizando ontologias.
1. Introdução
No final da década de 80, surgiu a World Wide Web
ou Web, criada por Tim Berners-Lee. Desde então, uma
grande quantidade de dados tem sido disponibilizada na
Internet, incluindo textos, áudio, imagem e vídeo. Por
causa dessa grande quantidade de informação, a Web é
considerada como o maior repositório de dados existente
[7]. Contudo, esses dados são disseminados de forma
autônoma e heterogênea. Sendo assim, as consultas
realizadas na Web podem se tornar bastante imprecisas.
Diante disso, surge a necessidade de desenvolver
ferramentas e mecanismos que recuperem e extraiam
informações de forma mais precisa.
Um dos principais problemas encontrados por
projetistas de sistemas de recuperação de informação é o
fato das consultas submetidas pelos usuários serem
compostas de poucos termos, os quais passam pouca
informação sobre o que o usuário procura.
Uma das maneiras para contornar esse problema,
consiste
em
utilizar
métodos
para
expandir
automaticamente as consultas submetidas pelo usuário. A
2. Sistemas de Recuperação de Informação
Recuperação de informação é uma área da Ciência da
Computação que estuda o armazenamento automático e
recuperação automática de documentos. As ferramentas
para recuperação de informação provenientes da Web
podem ser classificadas em quatro categorias [7]:
•
•
•
•
Pesquisas em diretórios: pesquisam a
informação por assunto através de uma pesquisa
hierárquica, que começa a partir de um tópico
genérico,
ramificando
em
sub-tópicos
específicos. Enciclopédia Britânica1, Yahoo!2 são
bons exemplos de ferramentas nessa categoria;
Máquinas de busca: pesquisam a informação
pelo uso de palavras chave, fornecendo uma lista
de referências ou marcações como resultado.
Utilizam bancos de dados constituídos de
recursos provindos de diversos autores ou
através de informações oriundas de robôs (Web
Crawlers) que podem enviar títulos ou URLs de
cada página visitada, marcações HTML e textos
inteiros referentes a cada página. Alta Vista3,
Google4, dentre outros, são exemplos de
ferramentas nessa categoria;
Diretórios com máquinas de busca: utilizam
tanto a pesquisa por palavras-chaves quanto por
título de assunto. Na parte referente à pesquisa
em diretório, a pesquisa segue um percurso
hierárquico que vai de assuntos genéricos aos
mais específicos. Em cada parada ao longo do
caminho, uma opção de máquina de busca é
provida para permitir que o usuário efetue uma
pesquisa por palavra-chave. Yahoo! faz parte
dessa categoria.
Múltiplos mecanismos de busca (MetaSearchers): adotam os recursos de várias
máquinas de busca em paralelo. A pesquisa é
conduzida através de palavras-chaves. Uma lista
de informações é obtida de acordo com cada
mecanismo de busca envolvido ou de forma
integrada. Bibliotecas digitais são geralmente
construídas a partir dessas ferramentas.
Dentre os sistemas de busca mencionados
anteriormente, que utilizam uma dessas quatro categorias,
1
http://www.britannica.com
http://www.yahoo.com
3
http://br.altavista.com
4
http://www.google.com
2
não levam em consideração a semântica contida nos dados
pesquisados. O processo de recuperação consiste na
geração de uma lista de documentos recuperados para
responder à consulta formulada pelo usuário. Os índices
construídos para uma coleção de documentos são usados
para acelerar esta tarefa. Além disso, a lista de
documentos recuperados é classificada em ordem
decrescente de um grau de similaridade entre o
documento e a consulta.
2.1. Modelos utilizados para Recuperação de
Informação
Muitas são as técnicas utilizadas na construção de um
sistema de recuperação de informação que devem levar
em consideração: um esquema de representação dos
documentos, a formulação da consulta e a construção de
uma função de ranking (que indica a relevância dos
documentos em relação à consulta). Dentre estas técnicas,
destacamos os modelos booleano, vetorial e
probabilístico, os quais serão explicados a seguir.
2.1.1. Modelo Booleano
O modelo mais comum e mais simples, e largamente
utilizado nos sistemas atuais é o booleano. Esse modelo se
utiliza de álgebra booleana para realizar a busca sobre a
base de informação onde as consultas são especificadas
com o auxílio dos operadores lógicos AND, OR e NOT.
Esse modelo pode ser utilizado em buscas sobre arquivotexto ou ainda em bancos de dados relacionais. No caso
dos bancos de dados, a consulta é realizada através de
uma linguagem própria (SQL).
2.1.2. Modelo Vetorial
O modelo vetorial representa documentos e consultas
como vetores de termos. Termos são ocorrências únicas
nos documentos. Os documentos devolvidos como
resultados para uma consulta são representados
similarmente, ou seja, o vetor resultado para uma consulta
é montado através de um cálculo de similaridade. Aos
termos das consultas e documentos são atribuídos pesos
que especificam o tamanho e a direção de seu vetor de
representação. Ao ângulo formado por estes vetores dá-se
o nome de q. O cosseno de q determina a proximidade da
ocorrência. O cálculo da similaridade é baseado neste
ângulo entre os vetores que representam o documento e a
consulta.
2.1.3 Modelo Probabilístico
O modelo probabilístico descreve documentos
considerando pesos binários que representam à presença
ou ausência de termos. O vetor resultado gerado pelo
modelo tem como base o cálculo da probabilidade de que
um documento seja relevante para uma consulta. O
modelo probabilístico considera um processo iterativo de
estimativas da probabilidade de relevância.
Esses e outros modelos têm se mostrado bastante
eficazes na recuperação de informações. Entretanto, um
problema fundamental na recuperação de informação é
que há diferenças entre as palavras usadas pelos autores e
as usadas pelos usuários para descrever determinados
assuntos. Em muitas aplicações, as consultas podem
possuir uma pequena quantidade de termos. Essa
dificuldade tende a diminuir quando acrescentamos uma
quantidade razoável de termos à consulta. Tratando-se de
Web, as palavras submetidas em uma consulta geralmente
são constituídas por quantidades pequenas de palavras.
A expansão de consultas é o caminho para solucionar
esse problema. Para expandir uma consulta é preciso
buscar palavras com significados semelhantes aos termos
da consulta submetida e acrescentar tais palavras à
consulta original com o objetivo de melhorar o contexto
da mesma. Assim a expansão de consultas visa modificar
a consulta do usuário (consulta original) seja pela
alteração de suas condições ou pela adição de termos
relacionados com o intuito de torná-las mais eficazes e
abrangentes.
Algumas abordagens têm utilizado ontologias para
lidar com o problema da heteregoneidade semântica, ou
seja, quando diferentes significados são atribuídos a
conceitos semelhantes. Os mecanismos de inferência
sobre ontologias auxiliam o processo de expansão, pois
derivam informações que podem ser utilizadas para
recuperar respostas semanticamente relevante.
3. Ontologias
Na Filosofia, o termo ontologia refere-se a uma teoria
sobre a existência da natureza, sobre os conceitos
existentes ou o que se dizer sobre o mundo. Para os
pesquisadores da área da Ciência da Computação,
ontologia é o que “existe”, ou seja, tudo aquilo que existe
e pode ser representado formalmente.
Uma das definições mais difundidas para ontologia foi
dada por Gruber [4]:
“Uma ontologia é uma especificação explícita e formal
de uma conceitualização compartilhada”.
Os autores Uschold e Grüninger [8] explicam melhor
tal definição e o significado de seus termos:
•
Conceitualização: refere-se a um modelo
abstrato de dados de como as pessoas pensam
sobre coisas no mundo;
•
Especificação explícita: significa que definição
e nomes explícitos devem ser atribuídos aos
conceitos e relacionamentos do modelo abstrato;
•
Formal: indica que a especificação da
conceitualização é codificada em uma
linguagem cujas propriedades são bem
compreendidas. A formalização é importante
para remover ambigüidades;
•
Compartilhada: refere-se à utilização e à
reutilização em diferentes aplicações e
comunidades.
A maioria das ontologias é constituída por: i)
Conceitos ou classes: representam “coisas” que fazem
parte de um domínio, organizados em classes e
subclasses, ii) Atributos: descrevem características dos
conceitos, iii) Relacionamentos: expressam como os
conceitos estão interligados, iv) Axiomas: são restrições
sobre conceitos propriedades e v) Instâncias: representam
o conjunto de indivíduos ou objetos do mundo real que
estão de acordo com a conceitualização modelada pela
ontologia.
3.1. Representação de Ontologias
Em geral, ontologias são fundamentadas em teorias
formais a fim de que humanos e máquinas sejam capazes
de interpretar os conhecimentos de um domínio sem
ambigüidades.
Dentre os formalismos de representação existentes na
literatura, as lógicas de descrição são consideradas uma
das famílias mais importantes de representação formal do
conhecimento e constituem a base para linguagens de
representação de ontologias como a Web Ontology
Language (OWL). A OWL é uma das linguagens mais
difundidas por ser uma recomendação oficial do consórcio
World Wide Web Consortium (W3C) para a criação de
ontologias na Web Semântica.
A OWL divide-se em três sublinguagens que diferem
entre si quanto à expressividade e complexidade:
•
OWL Lite: provê os elementos básicos para a
representação de conceitos, relacionamentos e
restrições simples de propriedades, sendo a
menos expressiva e complexa;
•
•
OWL DL: é usada por usuários que queiram o
máximo de expressividade, com completude
(todas as conclusões são garantidas para serem
computáveis) e decidibilidade (todas as
computações terminarão em um tempo finito)
computacional. Ela inclui todas as construções
da linguagem OWL, mas estas construções
somente podem ser usadas sob certas restrições.
É uma das mais utilizadas para a criação de
ontologias na Web Semântica;
OWL Full: provê expressividade máxima sem
garantias computacionais.
As linguagens baseadas em lógicas de descrição são
adequadas para representar ontologias de forma
expressiva. Além de oferecerem suporte ao raciocínio
lógico através de máquinas de inferência, possibilitam a
verificação de consistência, a classificação correta das
instâncias e a obtenção de novas informações a partir das
especificações presentes nas ontologias.
As ontologias constituem uma ferramenta poderosa
para suportar a especificação e a implementação de
sistemas computacionais de qualquer complexidade.
Umas das principais aplicações das ontologias consistem
em prover semântica à Web visto que esta possui uma
grande quantidade de dados disponibilizados de forma
autônoma e heterogênea.
Recentemente, Tim Berners-Lee [1] vislumbrou o
desenvolvimento da Web Semântica que, a partir do uso
intensivo de metadados visa prover acesso automatizado
às informações através de agentes de software. Neste
contexto, metadados referem-se à estrutura descritiva da
informação sobre outro dado, o qual é usado para ajudar
na identificação, descrição, localização e gerenciamento
de recursos da Web.
Um dos principais objetivos da introdução de
semântica na Web é tornar a informação mais
“compreensível” para o computador. No âmbito da Web, a
utilização de ontologias permite que agentes de software
compreendam a semântica embutida nas definições e
vocabulário especificados com respeito a um domínio,
sem ambigüidades, viabilizando o intercâmbio de
informações através de consultas.
Tabela produto
Id
nome
preco
tipo
001
desktop
2050
eletronico
002
hard disk
225
componente
Tabela composto
idtodo
idparte
001
002
Tabela 1. Esquema do banco de dados.
Na Figura 2 [3], é apresentada uma visão da ontologia
correspondente ao banco de dados representado na Figura
1. A ontologia apresenta uma hierarquia de classes que é
formada a partir da classe produto e de suas subclasses
eletroeletrônico e alimentício.
Além disso, também são representados os
relacionamentos partOf, similarTo e hasPart. Os
relacionamentos hasPart e partOf, por exemplo,
correspondem a tabela composto que através de seus
atributos constituem chaves estrangeiras para a tabela
Produto.
Figura 2. Exemplo de Ontologia.
3.2. Exemplo de Ontologia
4. Expansão Semântica de Consultas usando
Ontologias
Para exemplificar o que foi apresentado, suponha um
esquema de um banco de dados relacional simples sobre
produtos de supermercados. O banco de dados contém
informações usuais sobre produtos, como nome, preço e
tipo (categoria do produto). Alguns produtos podem ser
compostos por outros produtos, fato representado pela
tabela de relacionamento Composto.
A expansão de consultas, como vimos, visa adicionar
termos ou modificar a consulta original com o objetivo de
torná-la mais eficaz e abrangente. Para lidar com
problemas relacionados a conflitos semânticos como
termos sinônimos e homônimos, alguns sistemas têm
adotado ontologias de domínio durante o processo de
expansão de consultas.
Para exemplificar como alguns sistemas expandem
consultas semanticamente vamos analisar como o sistema
FOQuE (Fuzzy Ontology-based Query Expansion) [3]
expande as consultas tratando de termos homônimos.
O primeiro passo é associar uma ontologia ao esquema
do banco de dados que se deseja consultar. Isso pode ser
feito de duas maneiras: i) extraindo uma ontologia que se
assemelha à estrutura do banco e contém definições que
estendem a semântica dos dados ou ii) reusando uma
ontologia que se assemelha com as características do
banco de dados utilizado. O segundo passo é fazer o
mapeamento, ou seja, descrever associações entre os
elementos da ontologia e do banco de dados para
possibilitar a reformulação de consultas contendo os
conceitos expandidos.
Considere, por exemplo, o banco de dados descrito na
seção 3.2, para fazer uma consulta SQL pelo produto
ventilador teríamos:
da
regra
de
mapeamento
(produto.tipo=‘componente’→ventilador_componente)
como mostrado a seguir:
SELECT produto.preco
FROM produto
WHERE ((produto. nome = ´ventilador´)
AND (produto.tipo = ´componente´));
Depois da expansão de homônimos, o FOQuE verifica
as demais expansões possíveis de acordo com o contexto
apropriado.
SELECT produto.preco
FROM produto
WHERE produto.nome = ´ventilador´;
Depois da consulta ser submetida ao sistema, este
analisará a ontologia e o conjunto de mapeamentos para
verificar quais expansões semânticas podem ser aplicadas
ao termo ventilador. A Figura 3 mostra que após a
verificação foram encontrados, na ontologia, dois
conceitos referentes ao termo ventilador: ventilador como
eletrodoméstico e ventilador como componente de
informática. Para tratar dessa ambigüidade, utiliza-se
algum atributo do banco que remova a ambigüidade dos
dados como, no exemplo, o atributo tipo da tabela
produto.
Por exemplo, para o tipo eletrônico existe um
mapeamento entre o banco de dados e a ontologia
referindo-se ao produto ventilador como eletrodoméstico
(tipo = eletrodoméstico), de forma análoga para
ventilador como componente (tipo = componente). Os
contextos identificados são exibidos ao usuário, que
decide qual deles é mais adequado para sua consulta.
Por exemplo, caso o usuário queira recuperar dados de
ventiladores que sejam eletrodomésticos, a condição da
consulta original deve ser alterada em função da regra de
mapeamento como mostrado a seguir. A nova consulta a
ser submetida ao banco de dados seria:
SELECT produto.preco
FROM produto
WHERE ((produto. nome = ´ventilador´)
AND
(produto.tipo = ´eletrodomestico´));
Suponha agora que o usuário deseje consultar pelo
produto ventilador como componente de informática. A
condição da consulta original deve ser alterada em função
Figura 3. Contextos diferentes para o termo
ventilador.
Uma das vantagens dessa abordagem consiste em
remover ambigüidades, obtendo dados mais precisos,
além disso, o próprio usuário pode decidir quais dados
são mais relevantes para a sua consulta.
5. Sistemas para Expandir
Baseados em Ontologias
Consultas
A expansão semântica de consultas baseada em
ontologias analisa conceitos e relacionamentos de um
domínio específico para adicionar termos à consulta
original ou alterar suas condições. Assim, a consulta é
modificada com base nos conceitos da ontologia que
estejam semanticamente associados aos termos
especificados pelo usuário. Alguns sistemas têm utilizado
ontologias para realizar a expansão de consultas, com o
objetivo de obter resultados mais eficazes. Dentre tais
sistemas podemos destacar:
•
ROSA+ [2]: é capaz de obter resultados
abrangentes para as consultas do usuário,
pois se baseia em mecanismos de
inferência sobre axiomas da ontologia
(transitividade, simetria, inversão e
igualdade) e relacionamentos específicos
de domínio.
•
Khan [5]: esta abordagem permite a
expansão de consultas com base em
sinônimos e especializações de conceitos
da ontologia. Quanto maior a semelhança
entre as palavras-chave e mais curto o
caminho entre os conceitos da ontologia,
maior a proximidade semântica entre os
conceitos.
Além desses sistemas, há alguns que incorporaram
conceitos da Lógica Fuzzy [9] para expandir consultas
como é o caso de:
•
•
MIEL [2]: é um sistema que utiliza taxonomias
difusas e similaridade entre conceitos que
representam o domínio dos atributos do banco
de dados, além de graus de pertinência que
expressam quanto um conceito é mais
generalizado que outro. O MIEL pode usar
ontologias para expandir consultas e para
recuperar os dados correspondentes mais
próximos da seleção de critérios definidos pelo
usuário. Ao final do processo, o conjunto
difuso de preferências contém, além dos
elementos especificados pelo usuário, os
conceitos generalizados e respectivos graus de
pertinência inferidos pelo próprio MIEL
FOQuE (Fuzzy Ontology-based Query
Expansion) [3]: utiliza ontologias difusas para
expandir consultas não somente por
especialização de conceitos e similaridade, mas
também por proximidade todo-parte e
transitividade difusa, além de tratar consultas
que contenham termos homônimos. O objetivo
do sistema FOQuE é obter resultados
aproximados que sejam semanticamente
relacionados aos termos especificados pelo
usuário, através da expansão de consultas com
base na análise de conceitos e relacionamentos
difusos em ontologias.
6. Conclusão
Neste artigo, foi apresentada uma visão geral sobre
sistemas de recuperação de informação, onde foram
descritos três modelos clássicos utilizado por tais
sistemas. Os modelos descritos têm se mostrado eficazes
para recuperar informações requeridas pelos usuários e
apresentam vantagens como simplicidade e facilidade de
implementação.
Contudo, tais modelos apresentam algumas
desvantagens, por exemplo, no modelo booleano as
respostas podem ser nulas ou muito grandes. No modelo
probabilístico, há a dependência da precisão das
estimativas de probabilidade, um cálculo não muito fácil
de realizar, além disso, o método não explora a freqüência
do termo no documento. Então, há a necessidade de
realizar pesquisas para desenvolver métodos mais eficazes
para recuperar informações.
Um desses métodos é a expansão semântica de
consultas utilizando ontologias, pois o uso de ontologias
possibilita analisar conceitos e relacionamentos de um
domínio específico para adicionar termos à consulta
original ou alterar suas condições. Dessa forma, a consulta
é modificada com base nos conceitos da ontologia que
estejam semanticamente associados aos termos
especificados pelo usuário.
Observamos, neste artigo, que alguns sistemas já
utilizam ontologias para expandir semanticamente
consultas. Em trabalhos futuros, temos por objetivo
projetar um sistema para expandir semanticamente
consultas no contexto de dados biológicos.
Referências
[1] BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The
Semantic Web. Scientific American, v. 284, n. 5, p. 34-43,
2001.
[2] BUCHE, P. et al. Fuzzy querying of incomplete, imprecise,
and heterogeneously structured data in the relational model
using ontologies and rules. IEEE Transactions on Fuzzy
Systems, v. 13, n. 3, p. 373-383, 2005.
[3] Cristiane A. Yaguinuma, Mauro Biajiz, Marilde Terezinha
Prado Santos: Sistema FOQuE para Expansão Semântica de
Consultas Baseada em Ontologias Difusas. SBBD 2007: 208222
[4] GRUBER, T. R. A Translation Approach to Portable
Ontology Specifications. Knowledge Acquisition, v. 5, n. 2, p.
199-220, 1993.
[5] KHAN, L.; MCLEOD, D.; HOVY, E. Retrieval
effectiveness of an ontology-based model for information
selection. The VLDB Journal, v. 13, n. 1, p. 71-85, 2004.
[6] MATTOS, D.; MOURA, A. M. D. C.; CAVALCANTI, M.
C. ROSA+: Um Repositório de Objetos de Aprendizagem com
Suporte a Inferência e Regras. In: SIMPÓSIO BRASILEIRO
DE BANCO DE DADOS, 2006, Florianópolis, SC. Anais...
Florianópolis: UFSC, 2006. p.295-309.
[7] MOURA, A. M. C., A Web Semântica: Fundamentos e
Tecnologias.
[2001].Disponível
por
WWW
em
http://www.udabol.edu.bo/biblioteca/congresos/cicc/cicc2001/d
atos/Tutoriales/Tutorial4/T4.pdf (julho 2003). Cybernetics
Society, 2004a. p. 582-587.
[8] USCHOLD, M.; GRÜNINGER, M. Ontologies and
Semantics for Seamless Connectivity. SIGMOD Record, v. 33,
n. 4, p. 58-64, 2004.
[9] ZADEH, L. A. Fuzzy Sets. In: Yager, R. R. et al. Fuzzy sets
and applications: Selected Papers by L.A. Zadeh. New York:
Wiley-Interscience, 1987a. p. 29-44
Download