INFERÊNCIAS SEMÂNTICAS NA RECUPERAÇÃO DE INFORMAÇÕES PARA APLICAÇÕES HIPERMÍDIA - Leitura de Dissertação II
Continuação
Referência DOI: https://doi.org/10.17771/PUCRio.acad.4043
Mapeamento de Pesos
O algoritmo de propagação de ativação possui como entrada principal um grafo ou uma rede conceitual relativa a um domínio.
Cada aresta do grafo de instâncias passa a ter não só um rótulo simbólico como também um peso numérico associado. A idéia é transformar o grafo de instâncias numa rede híbrida onde as arestas são ao mesmo tempo simbólicas e sub-simbólicas.
Mapeamento de Pesos é o nome utilizado nesta dissertação para o processo de se obter um peso numérico (um número real) para uma aresta de um grafo simbólico. Isso torna possível transformar um grafo simbólico num grafo sub-simbólico, ou até mesmo num grafo híbrido.
A idéia por trás do mapeamento de pesos é tentar inferir essa força dos relacionamentos entre duas instâncias de conceitos através da análise do grafo simbólico das instâncias.
As três medidas utilizadas foram: Agrupamento, Especificidade e Combinação.
Medida Agrupamento
A primeira medida proposta é uma especialização da função de clusterdefinida em (Chen & Lynch, 1992). No trabalho original a função de cluster foi utilizada para medir o grau de co-ocorrência entre duas palavras-chave num conjunto de documentos. Aqui a função foi especializada para o caso de conceitos que se relacionam.
A idéia por trás da medida é que conceitos que se relacionam com muitos outros conceitos em comum (ou seja, o módulo do conjunto de conceitos com os quais ambos os conceitos se relacionam é grande) possuem uma similaridade grande. Outro ponto importante desta medida é que o cálculo da similaridade é assimétrico. As limitações referentes à utilização de coeficientes de similaridade simétricos por co-ocorrência como cosseno, Jaccard e Dice já foram mostradas em (Peat & Willet, 1991). (Chen & Lynch, 1992) provou que a utilização da função acima superou a utilização da função de cosseno (que é simétrica) na geração automática de thesaurus.
Medida Especificidade
Outra medida que foi levantada como útil no processo de mapeamento de pesos é similar à função idf (inverse domain frequency) (Yates & Neto, 1999), .... Essa função é útil quando se deseja dar a semântica de especificidade ou diferenciação na relação, como em alguns dos exemplos anteriores.
... a freqüência com que um item aparece numa distribuição tende a ser inversamente proporcional ao seu ranking ou sua importância. A idéia por trás dessa medida é olhar para todas as instâncias existentes de um determinado relacionamento e ver qual o percentual delas possui o conceito em questão como destino da relação.
Medida Combinada
Uma terceira abordagem proposta foi a composição entre as duas medidas anteriores num único valor que determina o peso da aresta. Essa abordagem é semelhante à utilizada com grande sucesso em Recuperação de Informação para o cálculo do peso da relação entre uma palavra-chave e um documento. Essa estratégia é denominada de tf-idf
Primeiramente ele é importado e transformado para um formato padrão interno que é denominado de grafo de instâncias simbólico. O grafo de instâncias híbrido será gerado a partir do grafo de instâncias simbólico utilizando as medidas de mapeamento de peso descritas anteriormente.
Um nó possui diversas propriedades além dos seus relacionamentos. Essas propriedades não estão sendo consideradas diretamente no grafo híbrido proposto (tendo em vista que até agora só os relacionamentos foram considerados). Essas propriedades possuem tipicamente valores textuais que podem ser muito úteis. No caso do exemplo referente ao modelo do domínio de pesquisa, uma publicação contém um atributo resumo, que contém um texto a respeito daquela publicação. Um nó do tipo área possui um atributo descrição, que contém um texto geral a respeito da área. Essas informações textuais podem ser úteis para prover funcionalidades que estejam diretamente ligadas a palavras.
O grafo híbrido aumentado possui um novo tipo de nó, o nó do tipo Keyword. Esse tipo de nó se relaciona com todos os outros tipos de nós do grafo. As instâncias dos nós do tipo Keyword também se relacionam entre si. As instâncias desse novo tipo de nó são todas as palavras que ocorrem nos atributos (considerando-se todas as instâncias de nós do modelo). Será criada uma aresta no grafo entre cada palavra e os respectivos nós onde ela aparece. Será criada também uma aresta na direção contrária, ou seja, do nó para a palavra
Propagação de Ativação Híbrida
O algoritmo de propagação de ativação funciona como um explorador do grafo de conceitos. Ele permite que, dado um conjunto de conceitos iniciais, o usuário possa obter outros conceitos no grafo que estão próximos dos conceitos iniciais. A propagação permite uma navegação pelos conceitos do grafo. As inferências ocorrem naturalmente no processo de propagação de ativação, uma vez que, é possível atingir nós que não estão, necessariamente, diretamente relacionados aos nós iniciais.
Para que a exploração desse grafo de conceitos seja feita de maneira que as inferências realmente façam sentido, é necessário que exista uma configuração do algoritmo para o domínio da aplicação em questão.
O valor da ativação do conjunto inicial de nós é dado como parâmetro para o algoritmo. Ou seja, apesar de um conjunto de nós ser dado como entrada, podem-se atribuir pesos diferentes aos nós iniciais de acordo com a sua importância. Esse peso será o valor da ativação inicial. Se nenhum valor inicial for atribuído, o algoritmo considera que todos os nós possuem o mesmo peso e seus valores de ativação inicial serão iguais a um.
O grafo onde a ativação se propaga é um grafo híbrido conforme descrito anteriormente, onde as arestas possuem tanto rótulos como números reais associados. Os algoritmos clássicos de propagação de ativação tipicamente utilizam um ou outro tipo de aresta. Para realizar uma propagação híbrida foi necessário combinar esses dois tipos distintos de informação. A combinação escolhida e implementada no sistema foi a de se mapear todas as arestas simbólicas para arestas sub-simbólicas.
Uma maneira de garantir que a propagação ocorra de uma maneira controlada é através da utilização de restrições. ...
Restrição de tipo de nó (se o nó for de um tipo ao qual uma restrição dessa está associada, esse nó é descartado); Restrição de tamanho do caminho (limitar a distância máxima permitida entre um nó inicial e um nó que participa da propagação); Restrição de Fan-Out (evitar que a ativação se propague por nós que se liguem a muitos outros nós. Nós que se conectam a um número de nós acima desse limite, são descartados); Restrição de valor de ativação (caminhos com uma ativação muito fraca sejam podados, tornando a execução do algoritmo mais rápida); Restrição de tamanho saída (finalizar a propagação quando o número de nós na lista de resultados ultrapassar um limite mínimo); Restrição de tipo de nó na saída (filtrar os tipos de nós permitidos como resultado da propagação); Restrição de nós não triviais (aqueles que não possuem uma relação direta com pelo menos um dos nós iniciais da propagação); Restrição de nós triviais (nós que estejam diretamente ligados por arestas aos nós que deram origem à propagação)
A função de ativação é responsável por calcular o quanto de ativação um nó propaga para seus vizinhos em função da ativação que entra no nó.
O algoritmo de propagação de ativação funciona como uma busca no grafo de instâncias. Cada nó é processado no máximo uma vez, assim como cada aresta só pode ser percorrida uma vez.
Arquitetura de Implementação do Sistema
A abordagem adotada no processo de importação dos modelos semânticos é construir adaptadores que transformem um determinado modelo semântico e suas instâncias para um formato padrão que é utilizado pelo sistema. Esse formato é denominado de grafo de instâncias. Dessa maneira é possível deixar a representação interna completamente desacoplada do modelo de representação externo. Para cada novo formato que se deseje importar, basta criar um novo adaptador que converta desse formato para o formato padrão do sistema.
Outro fator que faz com que o sistema tenha de ser extremamente flexível é o fato de que o algoritmo de propagação de ativação deve poder funcionar de maneira diferente de acordo com o domínio da aplicação. É importante observar que, mesmo num domínio de aplicação específico, é possível que tenha que se configurar o modelo semântico diferentemente de acordo com a tarefa que se deseja dar suporte na aplicação. Portanto, a configuração do algoritmo de propagação de ativação é não só dependente de aplicação, como também dependente da tarefa a ser realizada na aplicação. Tipicamente, cada funcionalidade que utiliza o sistema possuirá uma configuração diferente.
O objetivo deste trabalho é utilizar o sistema proposto para dar suporte a aplicações que possuam um modelo semântico. Dessa maneira o sistema estaria sendo utilizado pelas aplicações com o intuito de prover novas funcionalidades.
Novas Funcionalidades e Análises
As novas funcionalidades são: 1-Busca semântica 2-Sugestão de Relacionamentos 3-Ordenação dos Elementos Relacionados 4-Expansão de consultas
Uma primeira proposta de busca semântica possível é a realização de consultas de proximidade. Nessas consultas procura-se por objetos que estejam “perto” de outros considerados relevantes. (Goldman et al., 1998) apresenta um trabalho muito interessante a respeito de buscas de proximidade em banco de dados. Muitas vezes essas consultas são denominadas de “Find / Near”.
Numa busca tradicional para que um documento seja recuperado, pelo menos uma das palavras presentes na consulta deve ocorrer dentro do mesmo. A abordagem proposta aqui deseja obter como resultado nós que estejam relacionados às palavras-chave expressas na consulta, independente do fato de elas ocorrerem dentro do mesmo.
Nessa nova busca proposta, as duas primeiras etapas acontecem exatamente como numa busca tradicional. Ou seja, o usuário expressa sua consulta em termo de palavras-chave que são fornecidas a uma máquina de busca tradicional. Nessa máquina estão armazenados todos os nós existentes na base de conhecimento. Para cada nó, é criado um documento que consiste da concatenação de todos os atributos do nó. O resultado fornecido pela máquina de busca é um conjunto de documentos (nós da base de conhecimento) ordenados de acordo com sua similaridade com a consulta.
Esse conjunto de nós é então fornecido como o conjunto inicial de nós da propagação de ativação. Além disso, a informação de ordenação dada pela máquina de busca também é utilizada. Para cada nó, a máquina de busca gera um número real que mede a importância daquele nó para a consulta. Esse valor numérico é utilizado pela propagação de ativação como o valor inicial de ativação do nó. Dessa maneira, os nós que ficaram na frente no ranking gerado pela máquina de busca tradicional terão prioridade na propagação de ativação, uma vez que a exploração se dá a partir dos nós com maior valor de ativação.
Se por exemplo, o usuário solicitasse que apenas nós do tipo Professor fossem mostrados como resultado da consulta, o conjunto apresentado como resultado da mesma seria vazio (uma vez que no grafo de instâncias não existe nenhum relacionamento direto entre o nó “Keyword Ontologia” e algum nó do tipo Professor). Se, no entanto, analisar-se a semântica do domínio de pesquisa, parece intuitivo que se um professor possui diversas publicações que contêm uma determinada palavra, é bastante provável que esse professor esteja relacionado à palavra em questão, apesar desse relacionamento não estar explicitado diretamente no grafo. Portanto, utilizando-se a busca proposta, a mesma poderia retornar o nó “Professor Schwabe” como resultado para a consulta em questão.
Como o grafo de instâncias híbrido aumentado é utilizado, pode-se obter como resultado da busca, nós do tipo Keyword. Isso significa que ao expressar uma consulta através de palavras-chave, o usuário pode obter outras palavras que estão relacionadas à consulta como resultado. Isso facilita a navegação do usuário pela base de conhecimento e diminui ainda mais a demanda cognitiva sobre o mesmo, uma vez que outros termos presentes na base vão sendo sugeridos.
Um fato interessante aconteceu em alguns testes. Algumas vezes, o usuário da aplicação achava que uma instância tinha sido recuperada incorretamente. No entanto, na maioria das vezes, ao analisar a razão daquele resultado (uma vez que a propagação provê também o caminho pelo qual um nó foi atingido), o usuário se convencia de que o mesmo estava correto. Essa é uma das principais virtudes do sistema, visto que ele consegue justificar a razão pela qual cada instância resultante foi obtida.
A idéia por trás da funcionalidade de sugestão de relacionamentos é identificar, para o usuário do sistema, possíveis relacionamentos que não estão explicitados na base de conhecimento, mas que o sistema detectou que possuem uma boa possibilidade de existirem. Ou seja, o sistema infere novos relacionamentos que não existem diretamente na base. Obviamente, nem todo relacionamento inferido provém de alguma inconsistência ou mau preenchimento da base. Muitas vezes, o relacionamento pode realmente não existir num momento inicial, mas, ao longo do tempo, ele se torna latente com as novas modificações que vão acontecendo na base.
... calcular os pesos das relações através da análise do grafo de instâncias. Isso permite gerar automaticamente uma ordenação de acordo com a proximidade ou força do relacionamento entre dois nós. .... A idéia é utilizar os valores gerados pelo mapeamento de pesos para propor uma ordenação automática.
Normalmente, as buscas na Web são realizadas utilizando-se palavras-chave. Isso faz com que muitas vezes o usuário receba uma grande quantidade de páginas que nada tem a ver com a sua necessidade. Uma das maiores causas para esse problema é que tipicamente as consultas submetidas às máquinas de busca possuem poucas palavras. Um estudo (Silverstein et al., 1999) mostrou que as consultas na Web possuem em média 2,3 palavras, sendo que, apenas 12,6% das consultas utilizam mais do que três palavras. A idéia por trás dessa nova funcionalidade é tentar montar consultas (query strings) que definam melhor o conceito sendo procurando. O objetivo é tentar obter palavras que estejam fortemente relacionadas a um determinado nó da base de conhecimento. Essas palavras serão utilizadas para formular uma consulta aumentada a respeito do nó em um outro sistema de recuperação de informação. Esse processo é conhecido na comunidade de Recuperação de Informação como Expansão de Consultas ou Query Expansion (Yates & Neto, 1999). A propagação de ativação obtém nós do tipo Keyword que estejam fortemente relacionados com um determinado nó (que se deseja pesquisar). Essas palavras podem ser utilizadas junto com o nome do nó na formação da consulta em um sistema de recuperação de informação tradicional (máquina de busca Web, por exemplo), tornando-a mais precisa.
Conclusões e Trabalhos Futuros
Essa dissertação propõe uma estratégia de mapeamento de pesos que possibilita mapear um modelo semântico (ontologia, taxonomia, modelo conceitual) e suas instâncias para uma rede híbrida onde as arestas, além dos rótulos originais, passam a conter um peso associado a cada uma delas. Esse peso representa a força da relação entre os conceitos de acordo com alguma medida de força ou intensidade. Foram propostas três medidas diferentes de intensidade. A medida de agrupamento tenta medir a força entre dois conceitos a partir do grau de co-ocorrência entre os dois. A medida de especificidade expressa essa força através da análise do quão específicos são os conceitos na base em questão. Já a medida combinada expressa a força através de uma composição das duas medidas anteriores.
O sistema desenvolvido permitiu que as aplicações que possuem um modelo semântico passem a dispor de uma máquina de inferência que permite a introdução de diversas novas funcionalidades. Esse trabalho propõe essas novas funcionalidades assim como as configurações necessárias para que as mesmas sejam providas pelo sistema de propagação de ativação.
Uma das funcionalidades proposta foi a busca semântica. Essa busca é uma mistura dos mecanismos de busca tradicionais com técnicas de propagação de ativação. Ela utiliza-se de informação semântica a respeito do domínio para a realização de inferências no processo de busca. Essa busca permite obter todos os nós da base de conhecimento que estão fortemente ligados às palavras-chave contidas na consulta. Sua principal diferença para os mecanismos de busca tradicionais é que uma palavra não tem de necessariamente ocorrer numa página para que a mesma seja recuperada.
Uma outra funcionalidade interessante proposta pela dissertação é a ordenação dos elementos relacionados. Essa funcionalidade calcula automaticamente através da análise do grafo de instâncias, pesos numéricos para todas as relações existentes na base de conhecimento. Isso permite mostrar uma lista ordenada dos nós que se relacionam a um determinado nó de acordo com uma medida de força da relação entre os nós. Essa funcionalidade foi desenvolvida utilizando-se a técnica de mapeamento de pesos.
Esse trabalho propôs também uma funcionalidade de expansão de consultas. Essa funcionalidade tem por objetivo auxiliar o usuário de uma aplicação a realizar consultas mais precisas a respeito de um determinado nó da aplicação num outro sistema de recuperação de informação baseado em palavras-chave (como por exemplo, uma ferramenta de buscas na Web). Essa funcionalidade sugere palavras que estejam fortemente relacionadas ao nó em questão.
Na minha dissertação de mestrado não usei pesos mas usei expansão de consulta com apoio de uma ontologia de domínio. A ordenação dos resultados se dava por parâmetros de qualidade da fonte de dados que estavam registrados no repositório de metadados.
ResponderExcluir