3 Descrição do domínio da Petrografia Sedimentar
5.5 Metodologia Common KADS
5.5.2 Modelo do conhecimento
A estrutura de Common KADS para o modelo do conhecimento separa o conhecimento da aplicação e o conhecimento para solução de problemas (ou metaconhecimento da aplicação). São definidos utilizando-se das mesmas primitivas, porém enquanto o conhecimento da aplicação se refere aos objetos do mundo sobre o qual se deseja raciocinar, o conhecimento para solução de problemas tem por objeto o próprio conhecimento da aplicação. O modelo do conhecimento é descrito em três categorias epistemológicas:
• Conhecimento do domínio, que descreve o conhecimento declarativo e inferencial do domínio da aplicação;
• conhecimento de inferência, que descreve os passos básicos de raciocínio que o sistema deve realizar para resolver o problema;
• conhecimento da tarefa, que descreve quais os objetivos que devem ser alcançados, que informações ou conhecimentos devem ser obtidos para alcançá- los e quais inferências devem ser feitas para atingir esse objetivo.
5.5.2.1 Conhecimento do domínio
Descreve as informações estáticas do domínio e os objetos do conhecimento para uma determinada aplicação. O domínio do conhecimento é construído por dois componentes:
as estruturas do domínio e as bases de conhecimento (SCHREIBER et al., 1999). As estruturas do domínios descrevem de forma esquemática os tipos abstratos do domínio e como eles se organizam através de hierarquias e relacionamentos. As bases de conhecimento contém as instâncias do conhecimento desses tipos abstratos.
Diferentemente de modelos de dados, que representam unicamente tipos abstratos que serão instanciados unicamente pelo usuário, um modelo de conhecimento necessita representar determinadas porções do conhecimento que realmente correspondem a instâncias do modelo. Essas instâncias não são instâncias do usuário do sistema, mas instâncias do especialista.
O conhecimento do domínio refere-se ao conhecimento estático do domínio, ou conhecimento declarativo (como definido no Capítulo de Introdução deste trabalho).
Descreve os objetos, suas propriedades, e os relacionamentos que compõem a base sobre a qual uma tarefa raciocina.
As estruturas do domínio são definidas através de três construtos: conceito, relação e tipo-regra.
• Os conceitos descrevem os objetos ou entidades do domínio da aplicação. São definidos através de seus atributos e valores, sendo que os valores de um atributos são definidos em termos de tipos e de domínio de valores.
• As relações definem a forma como os conceitos se associam, se agrupam, de dividem ou influenciam uns aos outros. As relações de especialização e
generalização são utilizadas para construir a taxonomia do domínio. Em Common KADS, as relações têm cardinalidade e podem ter atributos associados.
• O tipo-regra descreve um tipo especial de relação: aquela que descreve as dependências entre instâncias de conceitos com determinados atributos e valores, definindo os caminhos possíveis de inferência do modelo.
As instâncias dos conceitos do domínio, devidamente valoradas são descritas como expressões do domínio. São também expressões de domínio, as combinações dessas instâncias através de operadores lógicos (E, OU, NÃO) ou aritméticos (<, >, =, +, etc.).
Neste trabalho, o tipo-regra definido em Common KADS foi substituído por dois outros tipos de domínio que também definem as dependências entre instâncias do domínio e dirigem a inferência: são os tipos grafo e triângulo, descritos em detalhe na Seção 8.2.- Conhecimento de Inferência da Aplicação.
Uma forma usual de descrever esquemas de domínios é através de ontologias de domínio. Ontologias foram definidas por (STUDER, BENJAMINS e FENSEL, 1998) como (i) um vocabulário de conceitos, que são os termos do domínio; (ii) os tipos que esses conceitos podem ser e que valores podem assumir, ou a tipologia do domínio; (iii) a estrutura de relacionamento entre os termos, especialmente as relações de classe ou partes, ou seja, a taxonomia ou partonomia do domínio. A ontologia do domínio permite definir formalmente um universo compartilhado, sobre o qual todas as operações vão acontecer.
Ontologias de domínio e métodos de solução de problemas parecem ser as ferramentas adequadas para introduzir funções de inferências em sistemas de gerência de bancos de dados. A representação de ontologias em bancos de dados e a definição de métodos de solução de problemas como primitivas associadas por papéis a essa representação pode permitir a definição de inferências abstratas e independentes de domínio, implementáveis como bibliotecas nos sistemas de bancos de dados. Essas possibilidades vêm sendo discutidas por (GÓMEZ-PÉREZ e BENJAMINS, 1999).
As bases de conhecimento contém as instâncias dos tipos do conhecimento de uma determinada aplicação, ou seja, dos conceitos, das relações e das regras. Ao contrário dos bancos de dados, as instâncias do conhecimento do domínio, não são instâncias do usuário do sistema, mas instâncias do próprio domínio, como nome de peças, de componentes, regras de diagnóstico, etc. As bases de conhecimento são construídas a partir das expressões do domínio, que descrevem o modelo de domínio, de uma forma potencialmente útil de ser aplicada pelos métodos de solução de problemas. São construídas com o vocabulário do domínio e respeitando as restrições definidas pela conhecimento do domínio. As expressões do domínio podem definir propriedades de objetos, relacionamentos, ou relações entre outras expressões.
5.5.2.2 Conhecimento de inferência
Enquanto o conhecimento do domínio é descrito como uma estrutura de informação ou conhecimento estático da aplicação, o conhecimento de inferência descreve como essas estruturas estáticas podem ser utilizadas para suportar o processo de raciocínio. O conhecimento de inferência é descrito através da primitivas de inferência, papéis do conhecimento e funções de transferência (SCHREIBER et al., 1999).
Uma primitiva de inferência corresponde a um passo atômico (no sentido de indivisível) de raciocínio, aplicado para derivar uma nova informação a partir das instâncias do
conhecimento contidas na base de conhecimento e também das instâncias entradas pelo usuário. De acordo com a metodologia Common KADS, utilizada para descrever o conhecimento, "uma inferência é completamente descrita através de uma especificação declarativa de suas entradas e saídas. O processo interno de como essa inferência transforma aquela entrada na respectiva saída não é relevante no nível do conhecimento". (SCHREIBER et al., 1999)
TABELA 5.2 – Significado das primitivas de inferência utilizadas nesse trabalho (SCHREIBER et al., 1999) e (GARDNER et al., 1998) .
Inferências de Common KADS
Inferência
Significado
Abstrai A entrada é um conjunto de dados e a saída é um modelo abstrato daqueles dados.
Avalia A entrada é um conjunto de dados e uma norma e a saída é um valor-verdade indicando se os dados se adeqúam a norma.
Calcula Processa o cálculo de um novo valor para um atributo, fornecido como saída.
Combina A entrada é um conjunto de dados e a saída é uma organização coerente destes dados.
Compara A entrada são dois valores e a saída é se eles são iguais, ou se um é maior que o outros.
Confronta A entrada são dois conjuntos de dados e a saída é uma medida de similaridade entre os dois conjuntos de dados.
Decompõe A entrada é um conceito único e a saída é o conjunto das partes que o compõe.
Especifica A entrada é um objeto e a saída é um novo objeto associado de alguma maneira com o objeto da entrada.
Seleciona A entrada é um conjunto de dados e a saída é um elemento ou subconjunto desses dados.
Uma inferência em Common KADS pode ser pensada como um mini- sistema baseado em conhecimento com uma finalidade bastante limitada e específica. Recebe uma porção do conhecimento do domínio ou do problema como entrada e gera uma saída, que é uma transformação desse conhecimento. As entradas e saídas das inferências são conhecidas como papéis, que são associados dinamicamente ao conhecimento do domínio. A Tabela 5.2 apresenta algumas da inferências da biblioteca de inferências de Common KADS (SCHREIBER et al., 1999), com os respectivos significados, que são utilizadas neste trabalho. A forma como as operações serão executadas será somente definida no nível simbólico.
Os papéis do conhecimento são nomes de conceitos abstratos que indicam o seu papel no processo de raciocínio. Um determinado conhecimento pode exercer o papel de uma hipótese em uma determinada seqüência de raciocínio, ou de uma solução em outra seqüência, dependendo que qual forma de solução de problemas é utilizada. Os papéis do conhecimento podem ser estáticos ou dinâmicos.
Os papéis dinâmicos do conhecimento referem-se às entradas e saídas das inferências, instanciadas no momento da execução, normalmente com os dados do usuário. Os papéis estáticos são mais estáveis ao longo do tempo. Definem quais as expressões de conhecimento do domínio aplicadas para realizar a inferência. Referem-se as regras ou taxonomias de domínio representadas no modelo e instanciadas de acordo com as necessidades da inferência.
Juntas, as inferências formam os blocos construtores do raciocínio de uma sistema. O conjunto das inferências pode ser representado graficamente, de forma a explicitar as relações de dependência entre os passos de inferência. As estruturas de inferência assim construídas, quando definem métodos de solução abstratos e reusáveis em outros domínios, constituem-se em métodos de solução de problemas ou PSM.
A Figura 5.6 (extraída de (CLANCEY, 1985)) descreve o método de solução de classificação heurística, que especifica o processo de levantar uma hipótese e confrontá-la com os dados até alcançar uma conclusão. As elipses indicam as inferências primitivas. O diagrama pode ser percorrido usando uma estratégia de busca regressiva (as hipóteses definem a aquisição dos dados) ou progressiva, onde os dados definem a seleção das hipóteses. Os papéis do conhecimento, definidos genericamente no PSM e representados como retângulos no diagrama, são associados dinamicamente às expressões do conhecimento do domínio e aos dados do usuário durante o processo de inferência. Essa forma de utilização garante a reusabilidade do método para outros domínios que possuam a mesma classe de problemas.
FIGURA 5.6 - Estrutura de inferência que descreve o método de Classificação Heurística.
Abstração de
Dados Hipóteses
Solução Comparação
Heurística
Especializar
Dados Abstrair
Métodos de solução de problemas têm atraído o foco da pesquisa em Engenharia de Conhecimento, por se mostrar um componente fundamental para o desenvolvimento de sistemas baseados em conhecimento eficientes e com componentes reusáveis (FENSEL et al., 1997; BENJAMINS e FENSEL, 1998; MUSEN, 1998; GÓMEZ-PÉREZ e BENJAMINS, 1999).
A idéia básica da utilização de métodos de solução de problemas como componentes abstratos se opõem a abordagem tradicional, onde a inferência sobre os dados era pré-definida e impleme ntada no mecanismo de inferência do sistema. A possibilidade de reuso era condicionada a definição de mecanismos genéricos que não contemplavam as particularidades do problema para o qual foram originalmente desenvolvidos.
O uso de métodos de solução de problemas associados a modelos declarativos, dos quais ontologias tem se mostrado o mais adequado, permite definir módulos de solução para diferentes problemas que utilizam conhecimento do mesmo domínio. O sistema pode ser desenvolvido de modo incremental e os métodos de solução podem migrar entre diferentes domínios.
Assim, uma base de conhecimento que suporte diagnóstico de falhas em equipamentos utilizando um método de solução de problemas (de diagnóstico) pode também ser utilizada para projeto, com outro método de solução de problemas. Da mesma forma, métodos de diagnóstico, projeto ou planejamento podem ser aplicados a diferentes domínios, cujas ontologias baseiam-se nas mesmas primitivas.
Os princípios que norteiam essa forma de desenvolvimento:
• base de conhecimento que contenha toda a informação do domínio, mesmo aquela não imediatamente necessária à inferência e
• métodos de solução propostos de forma abstrata e independente para diferentes problemas
vêm de encontro às necessidades de bancos de dados inteligentes, de manter a independência entre o conhecimento e métodos de inferência, e a modularidade dos componentes de inferência.
5.5.2.3 Conhecimento de Tarefa
Definem como serão executadas as tarefas no domínio, de acordo com os objetivos da tarefa e às atividades necessárias para atingir esses objetivos. A definição das tarefas é feita através de um componente declarativo, que define os papéis e pré-requisitos da tarefa, e outro procedural, que descreve como os objetivos serão alcançados.
Em Common KADS, uma tarefa é definida pelos seus objetivos, papéis de entrada e saída, especificação e corpo da tarefa. Os papéis de entrada e saída, definem quais porções do conhecimento do domínio serão utilizados para resolver a tarefa e como essas porções serão modificadas para gerar as saídas. A especificação da tarefa descreve as dependências entre os papéis envolvidos (o que fica invariante, o que deve ser verdadeiro após a execução da tarefa, etc.). O corpo da tarefa é definido com base em subobjetivos e estrutura de controle das subtarefas, ou seja, em que ordem e em que condições os subobjetivos devem ser alcançados.