Assim como nos trabalhos de Lopez (et. al., 2007) e Wang (et. al., 2007) o modelo da ontologia de domínio oferece a estrutura entre os conceitos do negócio usada neste trabalho para a interpretação semântica da pergunta. Os elementos textuais usados na pergunta reformulada são confrontados com o modelo da ontologia para saber se estão em conformidade com o contexto do domínio tratado. O intuito dessa comparação é descobrir qual o melhor caminho (ou o conjunto de relações entre os conceitos) que pode resolver a pergunta. Dessa forma, com base na pergunta de saída do Reformulador, o Motor de Busca por Similaridade realiza uma pesquisa sobre o modelo da ontologia de domínio para descobrir qual o caminho que mais se aproxima ao contexto da pergunta. Portanto, a semântica descrita no modelo da ontologia, juntamente com os sinônimos e hierarquia de classes auxiliam na compreensão da pergunta.
Similar ao significado empregado na teoria dos grafos, chama-se de caminho o trajeto único formado pela seqüência de conceitos ou classes (vértices) interligados pelos seus relacionamentos (arestas). A fim de esclarecer essa definição, considere a ilustração apresentada na Figura 8.
Figura 8 - Ilustração das possibilidades de caminhos para uma ontologia. A Figura 8 mostra alguns possíveis caminhos para um dado modelo de ontologia. Considere que as classes são as elipses numeradas de C1 a C4 e que as setas indicam a direção de cada relacionamento entre as classes (de quem possui o relacionamento para quem o recebe). Este exemplo apenas preocupa-se em evidenciar as combinações dos caminhos da estrutura da ontologia sem descrever a semântica das relações e conceitos envolvidos. No lado esquerdo da Figura 8, apresenta-se o modelo da ontologia sob a forma de um grafo. Nesse modelo, C1 possui um relacionamento com C2 e C3, C2 possui um auto-relacionamento e C3 relaciona-se com C4 por meio de um relacionamento bidirecional. Já no lado direito têm-se 13 possíveis caminhos que se pode obter a partir desse grafo.
Diferentemente de uma estrutura hierárquica ou em árvore, o modelo da ontologia não possui um conceito ou nodo raiz. Isto é, qualquer classe pode iniciar ou terminar um caminho, respeitando a direção dos relacionamentos do modelo. O menor caminho possível sempre é aquele formado por apenas uma das classes da ontologia isoladamente, que no exemplo é visualizado à direita na Figura 8 pelas elipses C1, C2, C3 ou C4 sem a presença de ligações. Nesse caso, o próprio conceito ou classe forma um caminho em que o vértice inicial é
também o vértice final. Além disso, observe à direita da Figura 8 que os auto-relacionamentos e os relacionamentos bidirecionais foram desmembrados para perceber melhor os novos caminhos formados por esses tipos de relações. Devido ao auto-relacionamento presente na classe C2, há uma recursividade que deve ser tratada como um novo caminho. O mesmo ocorre com C3 e C4, que possuem um relacionamento bidirecional. Na prática, esses tipos de relacionamentos devem ser considerados como se houvesse uma nova ligação com um novo conceito. Ou seja, pode existir um caminho formado apenas por dois vértices com a presença de dois conceitos C1 C2, ou ainda um diferente caminho formado por três vértices e por dois conceitos C1 C2 C2’. Esse tipo de estrutura assemelha-se ao de um autômato finito e é bastante encontrado nos modelos OWL.
Os diferentes caminhos possíveis da ontologia de domínio representam todas as possibilidades de interpretações e consultas para um determinado contexto de pergunta. Cada caminho estabelece toda a semântica de relacionamentos entre um ou mais conceitos que deve ser usado como guia para a formalização das consultas. A semântica ou o que o tomador de decisão quer dizer com uma pergunta é na prática associado a um único caminho. Cabe ao Motor de Busca por Similaridade definir o melhor caminho que representa o significado da pergunta considerando toda a terminologia empregada na pergunta. Nesta pesquisa, semelhante como é adotado por Lopez (et. al., 2007), o melhor caminho é caracterizado por ser aquele que apresenta a maior quantidade de conceitos e relacionamentos relevantes identificados a partir da pergunta. Ou seja, todos os conceitos da pergunta, após serem identificados, devem ser considerados para determinação do caminho, na qual o mais completo em comparação ao modelo da ontologia deve ser o utilizado. Logo, aqueles que, quando comparados, possuírem um maior número de conceitos e relacionamentos afins ou semelhantes são avaliados como candidatos mais favoráveis a atender a pergunta do que aqueles com menor quantidade de elementos relacionados. Visto que o resultado da reformulação desconsidera as instâncias de classes em substituição pelas próprias classes diretas, apenas o modelo de classes e relacionamentos é usado pelo Motor de Busca por Similaridade.
Na descoberta do melhor caminho é provável que o Motor de Busca por Similaridade encontre mais de um caminho possível relacionado à pergunta. Quando isto ocorre, tem-se uma ambigüidade entre os caminhos que podem atender a uma dada pergunta. Assim, além das ambigüidades anteriormente identificadas pelo Analisador
Lingüístico, o Motor de Busca por Similaridade é responsável também pela resolução das ambigüidades entre caminhos candidatos. Por isso, dois tipos de desambiguação são possíveis de serem efetuados pelo Motor de Busca de Similaridade: desambiguação de conceitos (classes, propriedades) e desambiguação de caminhos (ou relacionamentos). Esses dois tipos são detalhados a seguir:
1) A primeira etapa da desambiguação ocorre quando o Analisador Lingüístico reconhece mais de uma classificação para as entidades textuais da pergunta. Mesmo com a presença de ambigüidades já identificadas pelo Analisador Lingüístico, o Motor de Busca por Similaridade executa uma busca para localizar o melhor caminho no modelo da ontologia de domínio. Isto porque o contexto da ontologia pode auxiliar a resolver a ambigüidade caso o resultado da busca retorne um único caminho, ou ainda, auxiliar a diminuir a ambigüidade considerando que o resultado da busca retorne poucos caminhos candidatos. Como mencionado antes, o Reformulador pode produzir uma ou mais perguntas como saída de seu processo. Para cada pergunta gerada na reformulação deve ser feita uma busca para localizar a existência do caminho na ontologia. Caso o somatório das buscas retorne mais de um caminho candidato, o tomador de decisão deve interagir iterativamente com o Motor de Busca por Similaridade até identificar um único caminho que atenda à pergunta.
2) Mesmo que não exista ambigüidade nas entidades classificadas pelo Analisador Lingüístico ou ainda que apenas uma pergunta resultante da tarefa de reformulação seja gerada, o Motor de Busca por Similaridade pode retornar mais de um caminho. A ambigüidade entre caminhos sempre ocorre quando nenhum termo informado na pergunta contribui para a descoberta de um único relacionamento entre os conceitos. Dessa forma, caso haja dois ou mais caminhos retornados na comparação do modelo da ontologia, deve ocorrer o processo de desambiguação desses caminhos candidatos. Novamente o tomador de decisão participa diretamente da escolha do melhor caminho para resolver a ambigüidade e atender à pergunta. Portanto, ambos os processos de desambiguação podem necessitar da presença do usuário para serem concluídos. Conforme a escolha do usuário nesse processo, os elementos textuais da pergunta são identificados e a pergunta é iterativamente refinada até que não haja dúvidas sobre qual é o melhor caminho e o significado dos elementos.
O Motor de Busca por Similaridade, como o próprio nome indica, efetua buscas sobre o modelo da ontologia. O termo Similaridade desse módulo refere-se ao fato que sinônimos, hierarquia de classes, dentre outros tipos de relações são usadas para a localização das terminologias no modelo da ontologia. Como fonte de busca, pode-se estruturar a ontologia para que os sinônimos e hierarquias de classes sejam armazenados, por exemplo, em índices textuais para facilitar a recuperação do caminho, tal como é construído no protótipo da arquitetura no capítulo 4.
Após o melhor caminho ser identificado bem como a semântica dos termos da pergunta, a consulta sobre as fontes de dados pode ser construída. O trabalho de traduzir o melhor caminho em uma requisição para explorar o DW é executado pelo Tradutor OLAP descrito na próxima seção.