3 ARQUITETURA PROPOSTA
3.2 MODELO E BASE DE CONHECIMENTO
O Modelo e Base de Conhecimento é o núcleo essencial para o correto funcionamento dos módulos e processos da arquitetura. Sua má construção implica em falhas em praticamente todos os processos e por conseqüência, pode produzir análises imprecisas e tomadas de decisão erradas. Esse elemento ou módulo da arquitetura é um repositório de recursos de representação de conhecimento na qual é composto por: a) Ontologia de Domínio – utilizada por todos os trabalhos
relacionados a esta pesquisa, é a principal forma de representação do contexto do negócio da organização. A ontologia de domínio, que neste trabalho é codificada na linguagem OWL, modela os principais conceitos e os relacionamentos necessários para a condução das análises e posterior navegação sobre as fontes de dados da organização. Essa ontologia deve descrever os possíveis sinônimos, hierarquias ou taxonomias, propriedades e os relacionamentos das classes para a construção de instâncias dos conceitos do domínio. Tais instâncias são criadas a partir do conteúdo dos repositórios de dados (DW) através de alguns módulos detalhados adiante e são mantidas na base de conhecimento da arquitetura. Os conceitos dessa ontologia servem também para a criação de regras de inferência, nas quais são descritas logo adiante.
b) Ontologia BI – utilizada no trabalho de Sell (2006; et. al., 2008) e Silva (2006), é responsável por dar suporte ao mapeamento entre os conceitos estabelecidos na ontologia de domínio e a estrutura das fontes de dados. Essa ontologia trata a correspondência de cada
classe ou propriedade modelada na ontologia de domínio com as tabelas de fato, as dimensões e seus atributos presentes no DW. Por meio desse mapeamento é possível que as instâncias da ontologia de domínio sejam criadas de forma automática na base de conhecimento, já que os valores das propriedades das classes necessários para instanciação podem ser extraídos das fontes de dados. Além disso, esse mapeamento permite que a exploração sobre as fontes de dados sejam conduzidas por meio da ontologia de domínio. Sell (et. al., 2008) divide essa ontologia em duas partes: 1) uma parte com conceitos analíticos utilizados para auxiliar a navegação da ferramenta OLAP (classes como Theme, AnalysisUnit, Measure, Dimension, dentre outras) e; 2) parte relacionada aos conceitos que modelam a estrutura das fontes de dados e sua relação com os conceitos da ontologia de domínio (como Collection, Attribute, CollectionJoin, etc.). Apenas a segunda parte da Ontologia BI citada é utilizada neste trabalho. Todas as instâncias dessa parte do modelo da ontologia possuem construtores para associar: a) classes da ontologia de domínio às dimensões (ou às tabelas de fato) do DW; b) propriedades de classes aos atributos de dimensão; c) relacionamento entre classes às junções entre dimensões e tabelas. No contexto desta pesquisa, essa ontologia é estendida para que determinadas propriedades de classes sejam definidas como padrão para a criação da consulta. Conforme é explanado na seção 3.6 adiante, é necessário identificar as medidas, agrupamentos e filtros para a construção da consulta OLAP. Dessa forma, a Ontologia BI mapeia também as propriedades padrão de cada classe de domínio que devem ser utilizadas na identificação desses elementos da consulta. Além disso, essa ontologia indica os métodos de quantificação para as medidas (similar às funções SQL), como somatório, contagem, média, valor máximo ou mínimo. Para mais informações sobre a Ontologia BI, vide Sell (2006; et. al., 2008) e Silva (2006).
c) Base de Conhecimento – possui o conjunto de instâncias da Ontologia de Domínio e da Ontologia BI deste trabalho. As instâncias de ambas as ontologias podem ser armazenadas em locais ou formatos distintos do modelo OWL. Assim, a Base de Conhecimento pode ser construída fisicamente, por exemplo, em bases de dados relacionais, o que é útil quando há uma grande quantidade de instâncias. Mesmo com todas as instâncias mantidas em locais diversos, elas devem ainda obedecer ao modelo de ontologia a qual estão associadas. A Base de Conhecimento é
utilizada principalmente nos processos de inferências, em que um conjunto de regras de inferência sobre as instâncias de classes são aplicados para apoiar às análises.
d) Regras de inferência - são as regras de negócio da organização definidas com base na ontologia de domínio. As regras de inferência visam à explicitação de novos relacionamentos ou conceitos a partir da ontologia de domínio como proposto nos trabalhos de Labvic, Vasilecas, Rupnik (2010), Sell (2006; et. al., 2008) e Silva (2006). A arquitetura não limita quanto ao uso de uma linguagem específica para a formalização de regras. O Apêndice A expõe alguns exemplos da linguagem adotada para a definição de regras de negócio com base no mecanismo de inferência do framework Jena (MCBRIDGE, 2002). As regras de inferência são utilizadas neste trabalho para apoio ao processo de raciocínio conforme as duas abordagens on-the-fly e também in-batch discutidas na seção 0. e) Funções – consistem em bibliotecas de funções ou cálculos que são
diretamente associados a alguns termos específicos da linguagem utilizada pelo tomador de decisão e também a um conceito do modelo da ontologia de domínio. Como na definição matemática, as funções destinam-se a produzir um resultado a partir de uma entrada (um termo da pergunta). Por exemplo, as palavras Hoje, Amanhã, Ontem podem ser vinculadas a funções relativas à classe Tempo. Essas funções podem ser calculadas com base no dia atual para que o seu valor resultante seja usado na pergunta. Neste caso, o resultado da função seria uma data (dia, mês ou ano) que representaria uma instância ou valor de uma propriedade de classe (e.g. Tempo). Outro exemplo, o termo Aqui pode ser relacionado a uma função para obter as informações da localização ou endereço da máquina do usuário (no exemplo, esta função poderia ser associada à classe Geografia). Neste trabalho as funções são definidas segundo uma sintaxe própria a fim de demonstrar a viabilidade dessa prática. Todas as funções são aplicadas pelo módulo funcional Tradutor OLAP apresentado na seção 3.6.
f) Heurísticas e Padrões – representam as expressões regulares, padrões léxico-sintáticos, heurísticas determinadas por um especialista conforme o idioma e distância entre temos da pergunta e stop-words. Esses recursos devem ser definidos e codificados no Modelo e Base de Conhecimento para que o módulo Tradutor OLAP possa reconhecer quais são as medidas, agrupamentos e filtros a partir da pergunta. Tal como adotado por Lopez (et. al., 2007) no desenvolvimento dos módulos de análise lingüística, neste
trabalho os padrões sintáticos e as stop-words identificadas na pergunta são úteis para reconhecer os elementos da consulta (medidas, filtros, projeções, etc.). Vide a seção 4.3.4 adiante para compreender como tais padrões e heurísticas são aplicadas no protótipo da arquitetura.
Nesta pesquisa, a primeira etapa, responsável pela criação do Modelo e Base de Conhecimento, caracteriza-se por ser um processo semi-automático. Isto porque ela requer trabalhos manuais, como a modelagem de ontologias, definição de regras de inferência, funções e heurísticas para reconhecimento de medidas, filtros e agrupamentos nas consultas OLAP. Contudo, também há possibilidade de trabalhos automáticos, como a criação de instâncias da base de conhecimento a partir do conteúdo das fontes de dados. Não é escopo desta pesquisa desenvolver mecanismos para a criação ou manutenção automática da ontologia de domínio e de bases de conhecimento. Assim, ela necessita de intervenção por parte do engenheiro do conhecimento para que seja constituída e evoluída ao longo de tempo. Para mais detalhes sobre trabalhos que lidam com a manutenção automática ou semi-automática de bases de conhecimento vide Ceci (et. al., 2010) e Ghisi (2008).
Uma vez construído o Modelo e Base de Conhecimento, o gestor já pode utilizar os processos e demais módulos da arquitetura para conduzir as análises sobre o repositório de dados a partir da ferramenta OLAP. A ferramenta OLAP funciona como componente externo à arquitetura e, portanto, este trabalho apenas aponta as características e as funcionalidades que ela deve contemplar para que o processamento analítico seja feito por meio de linguagem natural. Basicamente, a ferramenta OLAP participa de três momentos no fluxo do processo decisório: no início como interface para consulta, com a particularidade de permitir a entrada de uma pergunta; na interação com o usuário em alguns processos, como a desambiguação de conceitos e de relacionamentos do domínio e; por fim, na exibição do cubo OLAP, na qual já é sua função inerente. A seção posterior descreve o módulo de análise lingüística que atua após a entrada da pergunta na ferramenta OLAP.