• Nenhum resultado encontrado

Usage (6)  Class: Activity

5.5 Módulo de Raciocínio

Toda informação manipulada pela arquitetura AvanTV relevante para a personalização de conteúdo é mantida como instância das fontes de metadados bem como das ontologias. Um elemento fundamental para o processamento de inferências e correspondência entre os modelos é o componente de Raciocínio delineado na Figura 5.9. Ele foi desenvolvido como um subsistema remoto por questões de reuso e de extensibilidade. Os serviços compreendidos pelo mesmo são: criação e recuperação dos modelos ontológicos sobre esquemas e instâncias de dados, vinculação de reasoners a diferentes conjuntos, gerência de recursos e declarações, assim como de regras de inferência.

Figura 5.9: Classes do Módulo de Raciocínio

A classe OntologyManager é responsável pela criação e recuperação do modelo base que contém sentenças definindo classes e relações das ontologias de adaptação contextual e SPTC Semantics (tBox Model), e afirmações sobre indivíduos no domínio (aBox Model). O modelo tBox padrão é vinculado às instâncias por meio da especificação para modelos OWL do Jena e utiliza mecanismo de inferências por regras OWLMicro para implicações adicionais sobre a base de conhecimento. Pela extensão da mesma, é possível integrar outros esquemas com respectivos reasoners.

Configurações de informações contextuais e métodos de reação a elas são estabelecidas pela RuleManager. Responsáveis por adicionar regras que indiquem condições e ações ativadas de acordo com o contexto, os serviços fornecidos por

esta e por outras classes acessórias produzem declarações que constituem tanto a base de conhecimento quanto mecanismos de inferência.

Informações contextuais mantidas pela ontologia integram dados do usuário e de itens de conteúdo a ser adaptado. Terminologias e elementos que caracterizam interesses e contexto dos telespectadores constituem indivíduos do perfil do usuário. Quando uma aplicação é registrada, seu conteúdo é mapeado em termos definidos pelo MD. Deste modo, as operações de adaptação e regras de inferência consideram a semântica dos dados de entrada referentes ao contexto, ao conteúdo, aos usuários assim como seus relacionamentos.

Estas questões e a gerência dos componentes descritos anteriormente são responsabilidade do principal elemento deste módulo: o ReasonEngine. O processo de manipulação das informações presentes nas ontologias acontece da seguinte forma:

 Criação/Atualização das ontologias: instâncias de OntologyManager e do gerenciador de regras são obtidas durante a inicialização deste componente para construção do modelo base do tipo OntModel17 e inclusão de regras

predefinidas que auxiliem a derivar fatos adicionais. Através do componente de comunicação, fontes contextuais inscritas no módulo de aquisição e conceitos mapeados constituem indivíduos a serem atualizados na ontologia sempre que necessário.

 Mapeamento de conceitos dos modelos: para identificar termos referentes ao perfil dos telespectadores (preferências, histórico de uso ou sensores) ou dos conteúdos de aplicações, são oferecidos métodos para construção de listas de conceitos (ConceptList) disponibilizadas ao módulo de gerenciamento.

 Controle de Requisições: as requisições de cada aplicação são atendidas por objetos definidos pela interface ReasonAppHandler, conforme diagrama

17

OntModel é uma classe da API Jena que permite acesso aos statements da coleção de classes, propriedades e indivíduos das ontologias.

da Figura 5.10. Regras específicas, relacionamentos semânticos considerados nas operações de adaptação e estado das informações de contexto que satisfazem as condições de interesse das aplicações são controlados por estes objetos.

 Operações de adaptação contextual: comportamento sensível ao contexto pode ser tratado diretamente pelas aplicações, porém, opcionalmente, podem utilizar operações baseadas nas técnicas de HA para filtragem, ordenação e mapeamento de itens do conteúdo que considerem ainda terminologias do modelo contextual.

Figura 5.10: Diagrama de classes dos objetos de controle de requisições

Para evitar que alguma requisição não seja atendida por causa da ausência de informação na ontologia, um conjunto de regras e relacionamentos genéricos são pré-definidos e tratados pelo AvanTVServiceHandler. Outras classes de controle devem ser definidas quando dados de outras ontologias são integrados.

Com o objetivo de reduzir a carga no processamento de inferências, a parte das regras relativa a particularidades das aplicações é abordada de forma diferente em relação às outras regras de contexto predefinidas. Depois que a regra é obtida da descrição do documento SPTC (por meio do elemento sports-serviceType), é validada e adicionada pelo objeto RuleManager com um vínculo ao handler apropriado. Ao invés de compor a base de conhecimento, as declarações derivadas desse tipo de regras são retornadas ao controlador.

Devido a um artifício do próprio modelo de adaptação contextual proposto na seção 4.4, as aplicações que possuem requisições atendidas também são

mapeadas como indivíduos da classe Application, subclasse de ContextualEntity. Através do predicado próprio interest, apresentado na Figura 5.11, é possível monitorar toda informação de contexto representada pela classe ContextThing, como fontes de contexto (ContextSource) e elementos contextuais (ContextualElement).

Figura 5.11: Ontologia da classe Application

A propriedade interest tem como sujeito das declarações a classe Application e como objeto a classe ContextThing e suas subclasses. Através de sentenças deste tipo, é possível determinar o que deve ser considerado como relevante no contexto de uma atividade. Portanto, o processamento do subconjunto de instâncias relevantes ao foco de interesse das aplicações é dado justamente pelas regras que ativam comportamentos contextuais pré-definidos. Por exemplo, para a filtragem do conteúdo da aplicação NewsApp, segundo os elementos contextuais de presença (Presence) e preferências (Preference) da entidade usuário (User), é indicado o interesse nas mudanças das mesmas pela inclusão dos

statements (NewsApp, interest, Presence) e (NewsApp, interest,

Preference) na ontologia. Quando condições definidas pela regra que aciona a filtragem do conteúdo são atendidas, a lista de conceitos mapeada para itens do conteúdo de NewsApp é submetida à respectiva operação da ReasonEngine. Todos os parâmetros específicos à aplicação são gerenciados pelo objeto de controle (handler) vinculado.

Documentos relacionados