• Nenhum resultado encontrado

Conhecimento / Modelo Ontológico

No documento Instituto Superior de Engenharia do Porto (páginas 104-107)

Capítulo 4. Arquitectura do sistema SelfRetail

4.4. Descrição arquitectura do SelfRetail

4.4.1. Visão geral da arquitectura

4.4.2.3. Componentes não genéricos – Fluxo 1

4.4.2.3.1. Conhecimento / Modelo Ontológico

No âmbito do sistema SelfRetail, as bases de conhecimento são um dos constituintes com mais relevância dada a sua relação directa com o comportamento de cada componente, que influencia o desempenho global do sistema.

Para se aplicar uma metodologia de representação de conhecimento utilizando uma ontologia, torna-se necessário ter em conta vários aspectos conforme descrito na secção 3.2 e na representação abordada descrita na secção 4.6. Um dos aspectos mais importantes passa pela definição da forma de estruturação do conhecimento, que deverá permitir a análise e a interpretação por parte dos mecanismos presentes no processo, para que sejam geradas as regras de negócio num formato apropriado. O conhecimento presente na ontologia deverá ser estruturado e distinto nos seguintes conjuntos:

Conhecimento primitivo

Propriedades (relações)

Valores

Conhecimento definível

Instâncias

Cada elemento nestes tipos de conhecimento pode ser exposto como uma classe ou objecto, devido ao facto da sua existência representar uma qualquer entidade pertencente a um ambiente dependendo do contexto ao qual a informação pertença, podendo essa classe definir ou não essa entidade.

O conhecimento primitivo diz respeito a todo o conjunto de classes que devem ser caracterizadas com base em outras classes de valor. Uma classe de valor corresponde a uma determinada característica presente numa entidade. Para se realizar essa caracterização deverão ser usadas propriedades que estabelecem uma relação entre a classe de valor e a classe primitiva. Uma classe primitiva é uma classe representativa de uma entidade num contexto, tendo como particularidade a sua incapacidade de definição dessa entidade devido às diferentes perspectivas de classificação que podem ser exercidas. As classes definíveis são classes que definem exactamente uma entidade devido à abstracção que é exercida sobre as propriedades no processo de classificação (Drummond, 2005).

Para além disto, é possível criar instâncias de cada um dos tipos de classe e propriedades. Este método permite validar uma determinada classe definível, verificando se uma determinada instância pode ou não ser classificada como pertencente a essa classe por inferência (o processo de inferência será descrito posteriormente na secção 4.6). Refere-se o exemplo descrito na Tabela 4-2:

Tabela 4-2: Caracterização de Primitivas

“O agente computacional é composto por um sensor e um actuador”

Ontologia

AgenteComputacional compostoPor some Sensor AgenteComputacional compostoPor only Sensor AgenteComputacional compostoPor some Actuador AgenteComputacional compostoPor only Actuador

No exemplo da Tabela 4-2, a classe “AgenteComputacional” é uma classe primitiva e representa o agente computacional. As classes “Sensor” e “Actuador” correspondem a classes de valor e estão a ser utilizadas para caracterização da classe “AgenteComputacional”. A propriedade usada para estabelecimento da relação entre as classes envolvidas é “compostoPor”. Para além desta informação perceptível no exemplo, estão também presentes dois operadores especiais que são sempre incluídos na caracterização de uma classe: “some” e “only”. O operador “some” indica que para qualquer instância poder ser classificada como um “AgenteComputacional”, deverá ser composta por um ou mais “Sensores” e um ou mais “Actuadores”. Quanto ao operador “only” indica que para uma instância ser classificada como um “AgenteComputacional”, esta deverá ser composta por um ou nenhum “Sensor” e por um ou nenhum “Actuador”. A aplicação dos dois operadores representa uma intercepção entre ambos, ou seja, para que uma instância possa ser classificada como um “AgenteComputacional”, esta deve ser composta por pelo menos um e apenas um “Sensor”

e pelo menos um e apenas um “Actuador”.

A distinção entre as várias classes primitivas de uma ontologia é realizada com base nas classes de valor que a caracterizam. Se duas classes tiverem as mesmas relações estabelecidas com classes de valor, é considerado por inferência que essas classes são equivalentes (Drummond, 2005).

Refere-se o seguinte exemplo:

Tabela 4-3: Equivalência entre classes

“O agente computacional é composto por apenas um sensor”

Ontologia

AgenteComputacionalA compostoPor some Sensor AgenteComputacionalA compostoPor only Sensor AgenteComputacionalB compostoPor some Sensor AgenteComputacionalB compostoPor only Sensor

No exemplo da Tabela 4-3, a classe “AgenteComputacionalA” é equivalente à classe

“AgenteComputacionalB” devido às relações com as classes de valor de cada uma delas ser igual.

No contexto da ontologia pretendida para estruturação do conhecimento do sistema SelfRetail, as regras de negócio serão representadas pelas classes primitivas e as classes de valor irão descrever as suas restrições. Relembrando o modelo formulado na fase de análise do sistema:

86

Um modelo para criação de regras constituídas por restrições, geradas a partir de conhecimento de negócio, para suporte na tomada de decisão

Como referido anteriormente, na formulação do modelo, pretende-se decompor cada regra desejada em múltiplos fragmentos que podem ser mapeados com as classes de valor. Através dessas classes e com o auxílio de propriedades, pretende-se estabelecer as relações necessárias entre as restrições que compõem uma regra principal. Refere-se o seguinte exemplo da constituição de uma regra para gestão da área de preço em retalho (Tabela 4-4) referem-se ao controlo de apresentada abaixo. A representação na ontologia poderia ser:

PromoPorDia temTipoEvento some EventoPromocional para isso ser interpretada e analisada a representação ontológica fornecida. O que a ontologia nos indica é que para classificar uma instância na classe primitiva “PromoPorDia”, esta deverá ter apenas um e apenas um tipo de evento promocional, deverá ser aplicada a um e apenas um produto, decorrerá em uma e apenas uma localidade e a sua frequência de acontecimento está restrita ao dia.

A descrição textual em termos de negócio para a regra seria:

PromoPorDia – Esta regra deverá restringir a criação de múltiplas promoções para um mesmo produto, localidade e dia.

Como se pode verificar pela análise do exemplo da Tabela 4-4, é possível definir formas bem estruturadas para representar informação pertencente a regras de negócio com ontologias. A parametrização da regra em função das suas classes de valor e propriedades ficará sempre a cargo do gestor de negócio, que deverá ter o cuidado de definir os critérios de forma correcta.

A possibilidade de aplicação de inferência referida anteriormente, será da responsabilidade de um componente distinto dedicado a essa actividade. Com a aplicação de um motor de inferência sobre a ontologia, será possível detectar inconsistência entre classes primitivas (regras), fazer categorizações relativamente a essas mesmas classes e até agrupar a informação definível de diferentes formas, mediante o tipo de visibilidade que o retalhista pretende ter acerca das suas decisões no momento.

No documento Instituto Superior de Engenharia do Porto (páginas 104-107)