Um Modelo Ontológico Probabilístico para Assistir Pessoas com Declínio Cognitivo Gabriel Machado Lunardi1 , Guilherme Medeiros Machado1 , Alencar Machado2 , José Palazzo M. de Oliveira1 1 Instituto de Informática – Universidade Federal do Rio Grande do Sul (UFRGS) Porto Alegre – RS – Brazil 2 Colégio Politécnico – Universidade Federal de Santa Maria (UFSM) Santa Maria – RS – Brazil {gmlunardi,guimmachado,palazzo}@inf.ufrgs.br, alencarcomp@gmail.com Abstract. Providing reminders to elderly people while performing their daily activities is a user-support activity in the area of Assisted Living Environments. Determining such reminders implies in decision making, since the flow of ac- tions (behavior) of an activity usually involves ramifications. An automated system needs to decide which of the next actions is best for the user in a given situation. Problems of this nature involve levels of uncertainty that need to be addressed. Many approaches to this problem exploit only statistical data, igno- ring important semantic technologies, such as the use of ontologies. Although important, ontologies do not natively support reasoning about uncertainty. The- refore, in this article is presented an ontological model, with a probabilistic extension, that allows to reason about the uncertainty without losing semantic information. This model is evaluated by means of a case study in which an insight with actual data is demonstrated. Resumo. Fornecer lembretes a um idoso, enquanto realiza suas atividades diá- rias, é uma atividade de suporte ao usuário e, portanto, um tópico relevante na área de Ambientes de Vivência Assistida. Determinar tais lembretes implica na tomada de decisões, uma vez que o fluxo das ações (comportamento) de uma atividade geralmente envolve ramificações. Um sistema automatizado precisa decidir qual das próximas ações é a melhor para o usuário em determinada situação. Problemas dessa natureza envolvem níveis de incerteza que precisam ser tratados. Muitas abordagens para esse problema exploram apenas dados es- tatísticos, ignorando tecnologias semânticas importantes, como, por exemplo, a utilização de ontologias. Apesar de importantes, as ontologias não suportam, de forma nativa, o raciocínio sobre a incerteza. Por isso, neste artigo é apre- sentado um modelo ontológico, com uma extensão probabilística, que permite raciocinar sobre a incerteza sem perder informação semântica. Esse modelo é avaliado por meio de um estudo de caso no qual demonstra-se uma instanciação com dados reais. 1. Introdução Com o avanço da idade surgem algumas doenças que afetam a independência das pessoas em suas residências, especialmente em relação às suas habilidades na realização de ativi- dades do cotidiano (Activities of Daily Living - ADLs) [Foti and Koketsu 2013]. Diante disso, surge a necessidade de encontrar soluções que melhorem as condições de vida das pessoas na velhice, particularmente em seus ambientes de vivência (lares). Nessa perspectiva, o tema deste trabalho refere-se a um modelo ontológico que dá suporte à recomendação de ações necessárias (componentes de uma ADL), através de conselhos ou lembretes, para que uma determinada atividade possa ser completada com sucesso. Essa proposta está ligada ao projeto HBMS (Human Behavior Monitoring and Support), o qual pretende, através de um sistema, acompanhar a vida de uma pessoa no ambiente de vivência enquanto ela está cognitivamente bem, mantendo assim o seu comportamento (fluxo de ações das ADLs) em um modelo conceitual denominado HCM (Modelo Cognitivo Humano). Então, quando nota-se um sinal de perda cognitiva, em algum ponto do fluxo de uma atividade, o sistema recupera as próximas etapas (ações) a fim de lembrar a pessoa como terminar aquela atividade. Esse processo é denominado, aqui, suporte ao usuário. O suporte ao usuário é derivado através do raciocínio sobre uma ontologia OWL- DL, pois foi o recurso adotado para implementar o modelo HCM. No entanto, a principal limitação em utilizar OWL-DL é que ela não oferece suporte nativo para o raciocínio sobre a incerteza. Isso se justifica porque a DL é um subconjunto da lógica de primeira ordem (FOL). Isso, por sua vez, é aplicado definindo um conjunto de axiomas ou senten- ças que fazem declarações sobre um domínio serem sempre verdadeiras [Laskey 2008]. Por essa razão, FOL não é adequada para domínios em que há incerteza nas relações entre conceitos, tal como ocorre neste trabalho. Neste artigo, é apresentada uma ontologia para modelar o comportamento do usuário e seu contexto, bem como uma extensão probabilística que permite o raciocínio sobre a incerteza para fornecer suporte ao usuário. Essa última, por sua vez, é a principal contribuição deste trabalho, pois permite não perder a informação semântica quando a predição é realizada. Outra contribuição refere-se à parte não probabilística do modelo semântico que pode ser usado por qualquer outra pesquisa que aborde a modelagem de comportamento e de contexto usando ontologias. A abordagem é demonstrada através de um estudo de caso em um cenário em que o suporte ao usuário é simulado em uma atividade. Mostra-se que o modelo semân- tico probabilístico suporta a geração automática de Redes Bayesianas em uma situação específica, dependendo da evidência disponível dentro do modelo semântico. Para isso, foi utilizado o protótipo de smart home, do projeto HBMS, onde dados foram coletados, através de sensores e execuções voluntárias, para estimar os valores de probabilidade. Este experimento forneceu resultados promissores, mas simultaneamente apontou limites e desafios a serem superados. O restante deste artigo está organizado da seguinte forma: a seção 2 apresenta os conceitos que constituem este trabalho. A seção 3 apresenta o modelo ontológico proposto e sua extensão probabilística. A seção 4 apresenta um cenário de utilização com intuito de demonstrar a utilização do modelo no suporte ao usuário. A seção 5 elenca, de forma comparativa, alguns dos principais trabalhos relacionados a este e, por fim, a seção 6 retoma as contribuições e traça ações futuras. 2. Fundamentação Conceitual Ambient Assisted Living (AAL) é um campo de pesquisa cujo foco é buscar soluções ino- vadoras que possam prover assistência a pessoas com algum declínio cognitivo ou outras limitações, tornando-as capazes de viver de maneira independente, segura e confortável em seus ambientes de vivência [Li et al. 2015]. Assim, o conceito de Smart Home (SH) surge como sendo um ambiente doméstico montado com uma série de sensores, atuadores e dispositivos. Essa estrutura pode ser usada para monitorar as atividades da vida diária de uma pessoa (ADLs) [Monekosso et al. 2015]. As ADLs se constituem como o elemento principal na compreensão do comportamento humano e, por isso, sua modelagem se torna um tema central. Essa modelagem geralmente se dá por meio de abordagens baseadas em dados, em conhecimento ou em uma combinação delas. Por meio de inferência, é possível fornecer suporte quando a pessoa não se lembra das etapas para concluir uma determinada atividade [Ni et al. 2015]. Informações de contexto também são cruciais para a modelagem e o monitora- mento de atividades, uma vez que caracterizam o estado do ambiente. Dentro de um ambiente de SH, existem vários tipos de informações contextuais, como localização, pes- soas, objetos, tempo, etc. [Ni et al. 2015]. Tais dimensões, portanto, requerem uma re- presentação computacional para que possam aprimorar o processo de raciocínio. Essa representação é abordada pela área de pesquisa conhecida como context-awareness. Entre as técnicas existentes para modelagem de contexto estão: Pares chave-valor, Esquemas de marcação, Gráficas, Orientadas a objetos, Baseadas em lógica e Ontologia [Moore et al. 2007]. Em geral, a técnica de modelagem baseada em ontologias é aquela que atinge maior satisfação entre as apresentadas [Yurur et al. 2016]. Este trabalho utiliza ontologias, mais especificamente a linguagem OWL-DL, para a representação e raciocínio sobre o contexto. No entanto, os modelos baseados nessa abordagem carecem de mecanismos para raciocinar sobre a incerteza. Essa característica é tipicamente encontrada em sistemas que se concentram em prever situações futuras. 2.1. Tratamento de Incerteza Incerteza, neste trabalho, pode ser entendida como a falta de informação adequada para tomar uma decisão. Exemplos de incerteza, em ambientes inteligentes, são informações contextuais derivadas de dados coletados por sensores que nem sempre são precisos. As- sim, um sistema sensível ao contexto deve ser sensível a essa imprecisão para tomar de- cisões corretas. Além disso, os modelos de contexto, comumente usados nesses sistemas, podem ser mal-interpretados pelo modelador, pois dependem de sua percepção do mundo. Portanto, a representação e o tratamento da incerteza aparecem como uma necessidade para um raciocínio satisfatório e lógico [Aloulou et al. 2015]. Entre as principais formas de raciocínio sobre a incerteza, destacam-se: lógica fuzzy, lógica probabilística, redes Bayesianas, modelo de Markov e teoria das evidências de Dempster-Shafer. Em geral, o raciocínio probabilístico permite o processamento da incerteza, pois trata hipóteses para identificar a probabilidade de ocorrência mesmo antes que o conjunto de informações que as evidencia seja conhecido. Com isso, é possível fazer previsões através de raciocínio incerto [Bettini et al. 2010]. Entretanto, a DL não oferece suporte nativo para o raciocínio sobre a incerteza. Nesse contexto, as Redes Bayesianas são comumente usadas para cobrir tal limitação, sendo o modelo ideal para o raciocínio probabilístico. Uma Rede Bayesiana modela um conjunto de variáveis aleatórias X = X1 , ..., Xn em que cada um é o nó de um Directed Acyclic Graph (DAG). Os nós são conectados por meio de arcos direcionados, representando a dependência entre eles. Por exemplo, Xi rightarrowXj representa que Xi é o pai de Xj. Cada nó do gráfico contém uma Tabela de Probabilidade Condicional (CPT) P (Xi|pais(Xi)) que representa a probabilidade de Xi condicionada a seus pais. 2.2. Ontologias Probabilísticas Ontologias probabilísticas são usadas para descrever o conhecimento sobre um domínio e a incerteza associada a ele de uma forma estruturada e compartilhável, idealmente em um formato processado por computador. Elas também expandem as possibilidades de ontolo- gias padrão, introduzindo a exigência de uma representação adequada das regularidades estatísticas do domínio da aplicação [Costa 2005]. Uma das maneiras de gerar essas ontologias é utilizando uma First-Order Proba- bilistic Language - FOPL, que combina aspectos da representação probabilística com a FOL. A Rede Bayesiana Multi-Entidade (MEBN) é uma representante de tais linguagens [Howard and Stumptner 2014]. Para combinar MEBN com OWL-DL, uma ontologia su- perior chamada Probabilistic Ontology Web Language (PR-OWL) foi criada por P. Costa [Costa 2005] cuja expressividade é poderosa o suficiente para representar até mesmo do- mínios mais complexos. Além dessa abordagem, pode-se citar, também, o trabalho de [de Oliveira et al. 2013]. Como a PR-OWL é baseado na MEBN, é necessário, para defini-lo: uma lógica Bayesiana de primeira ordem que integra a FOL com a teoria da probabilidade. O Teo- rema de Bayes fornece uma base matemática para aprendizado e inferência que é reduzida à lógica clássica no caso de certo conhecimento que é quando todas as probabilidades são zero ou um. Com isso, a FOL é estendida em relação à representação coerente da incer- teza sem perder a expressividade [Costa and Laskey 2006]. De maneira prática, a MEBN representa o mundo como um conjunto de entidades inter-relacionadas e seus respecti- vos atributos. O conhecimento sobre os atributos das entidades e seus relacionamentos é representado como uma coleção de fragmentos MEBN (MFrags) organizados em teorias MEBN (MTheories). Uma MTheory é definida como um conjunto de MFrags que, juntas, satisfazem restrições de consistência, garantindo a existência de uma única distribuição de probabilidade conjunta. Um MFrag isolado pode ser comparado a uma Rede Bayesiana padrão onde suas variáveis aleatórias são chamadas de nós, representando os atributos e as propriedades de um conjunto de entidades, e seus arcos são relações de dependência direta entre nós [Laskey 2008]. Também vale a pena dizer que a MEBN, por si só, não es- pecifica um padrão para CPTs, mas a ferramenta UnBBayes fornece uma maneira flexível de declará-las, passando a se chamarem de distribuição de probabilidade local (LPD). Um MFrag consiste em três tipos de nós: (i) os nós residentes são as variáveis aleatórias, o centro de um MFrag. As LPDs são definidas aqui de forma exclusiva e ex- plícita. Se elas não puderem ser explicitamente definidas, uma distribuição uniforme será assumida. Os valores possíveis de um nó residente podem ser uma entidade existente ou uma lista de valores mutuamente exclusivos. (ii) os nós de entrada podem influenciar a distribuição dos nós residentes, mas suas distribuições são definidas em seus próprios MFrags. Finalmente, (iii) os nós de contexto representam condições que devem ser sa- tisfeitas para as influências e distribuições locais de um MFrag [Matsumoto et al. 2011]. Finalmente, o processo de raciocínio e inferência da MEBN é realizado, primeiro, pela interposição de uma questão que implica a geração de uma Rede Bayesiana de Situação Específica (SSBN). Esta é uma Rede Bayeasiana comum que visa determinar as probabili- dades de uma situação no domínio. Instâncias e evidências (fatos conhecidos do domínio) tem um papel fundamental nesta etapa, pois são eles que compõem as questões a serem submetidas ao algoritmo de raciocínio [Carvalho et al. 2013]. 2.3. O projeto HBMS O Monitoramento e Suporte ao Comportamento Humano (HBMS) é um projeto que visa manter, tanto quanto possível, a autonomia pessoal de um indivíduo com deficiências cognitivas leves a moderadas no desempenhar de suas atividades diárias. Dentro dele, foi desenvolvida uma Linguagem de Modelagem de domínio específico (DSML) denominada HCM-L, criada para descrever o conhecimento episódico de uma pessoa (eventos auto- biográficos e informações contextuais) na forma de modelos conceituais [Michael 2016]. O desenvolvimento da linguagem foi guiado pela conceituação das atividades humanas diárias da vida privada de uma pessoa: usar dispositivos eletrônicos, se vestir, e assim por diante. Por essa razão, a HCM-L é baseada na teoria da atividade, proposta por Le- ontyev [Leontyev 1978], que descreve a natureza das atividades humanas em geral. Todos os conceitos da HCM-L e seus relacionamentos semânticos são expressos através de um meta-modelo desenvolvido a partir de várias iterações usando um diagrama de classes UML que pode ser encontrado no trabalho de Mayr [Mayr et al. 2017]. Entretanto, o fun- cionamento da linguagem é operacionalizado em OWL-DL, o que se propõe na seção a seguir. 3. Modelo Proposto Neste trabalho foi desenvolvida uma ontologia genérica, implementada em OWL-DL, para gerar modelos de comportamento e contexto. Como essa ontologia é baseada no meta-modelo da linguagem HCM-L, que por sua vez é descrito através de um diagrama de classes UML, adotou-se uma metodologia, proposta por [El Hajjamy et al. 2016], para o conversão de diagramas de classes UML em ontologias OWL 2. Assim, foi possível ga- rantir a equivalência semântica entre o meta-modelo HCM e a ontologia aqui proposta. O fundamento dessa ideia pode ser verificado em trabalhos como o de [Valaski et al. 2016]. A ontologia é sustentada por quatro classes principais: (i) Behavioral Unit é res- ponsável por encapsular as sequências de ações que uma pessoa realiza para atingir o (ii) Goal de uma atividade diária. Cada ação é mapeada para a classe (iii) Operation e conectada por (iv) Flow. Assim, é possível representar a direção do processo compor- tamental de um indivíduo que, na maioria das vezes, não é linear, dada a natureza das atividades humanas. Nesses casos, então, ramificações e junções ocorrem no processo, dando origem a sequências alternativas de operações (Operations). A modelagem de contexto está atrelada à classe Thing. Ela agrupa objetos con- cretos ou abstratos, características e pessoas, que possuam um propósito. A subclasse Person representa uma pessoa por várias informações sobre o estado psicológico e físico, modeladas como atributos e/ou partes dessa. A subclasse Location serve para a descrição de espaços físicos, facilitando a aquisição de dados (temperatura, umidade, som, etc.). Cada Operation se relaciona com algum objeto de Thing através de três associações: (i) Calling, objetos que iniciam operações; (ii) Participating, objetos que contribuem ou são manipulados por operações; e (iii) Executing, objetos que executam operações. Com isso em mente e, com o apoio do software Protégé, obteve-se a ontologia apresentada na Figura 1. Nela, é possível observar que as relações entre Thing (elementos de contexto) e Operation (ações) deram lugar a três pares de propriedades objeto inver- sas: (IsParticipating, IsPacticipatedBy); (isCalling, isCalledBy); e (isExecuting, isExe- cutedBy). Entre Behavioral Unit e Person existe o par (belongsTo, belongedTo) e entre Behavioral Unit e Goal, o par (has, isHadBy). A relação composicional entre Behavioral Unit e Operation foi convertida para o par (isComposedOf, isComponentOf ), mais os axi- omas que a compõem. Esse relacionamento permite que uma Behavioral Unit funcione como uma Operation. Isso possibilita modelar atividades de maneira hierárquica, ou seja, quando uma operação não é a única etapa, mas sim uma sub atividade dentro de outra atividade maior. Os atributos de Behavioral Unit hasPossibleBeginning (indica possíveis operações de início) e hasSuccessEnding (indica operações finais bem-sucedidas) foram convertidos em duas propriedades objeto com o mesmo nome. As especializações de Thing e de Operation foram implementadas como disjuntas completas. Além das conversões guiadas, apresentadas anteriormente, algumas simplifica- ções foram realizadas a fim de viabilizar a geração dos modelos de comportamento via editores de ontologia, tal como o software Protégé. A primeira delas diz respeito à classe UML Flow, que foi transformada para a propriedade-objeto hasFlow, com domínio e al- cance sendo Operation. Outra simplificação está relacionada às classes UML Connection e sua especialização Part-Of, as quais foram representadas por suas instâncias, na onto- logia, como as seguintes propriedades-objeto: isIn, isOn, isUnder, isNextTo, isInFrontOf, isBehind, isWith e isPartOf, respectivamente. Essas propriedades permitem relacionar os elementos de contexto como, por exemplo, a bolsa isOn (está sobre) a mesa. Ainda, a pro- performed/notPerformed true/false isParticipating isParticipatedBy isCalling Thing isCalledBy Operation isExecuting hasPossibleBeginning hasSuccessfulEnding isExecutedBy isComposedOf belongsTo Goal Location Person belongedTo Behavioral Unit isHadBy has Legenda Propriedade objeto Propriedade de dados Herança Classe Figura 1. Ontologia para a representação de comportamento humano e contexto priedade isPartOf é definida como transitiva para que seja possível descrever elementos de contexto compostos por outros, por exemplo, a porta isPartOf (é parte de) da cozinha. Os atributos de cada classe UML foram convertidos para propriedades de dados, porém foram suprimidas da Figura 1 para manter sua legibilidade. As duas propriedades de dados, hasHist e hasSimiliarityGain, e as duas propriedades-objeto, isAtOperation e mayBeNextOperationOf, compõem a parte probabilística da ontologia, servindo para fins de predição e inferência. Com base na metodologia exposta e, com o apoio do software UNBBayes, obteve- se a ontologia probabilística, cujo objetivo é responder a seguinte pergunta (consulta): Qual é a probabilidade do usuário executar uma dada operação? A resposta é provida pela MTheory1 da Figura 2, mais especificamente por intermédio do nó residente mayBeNex- tOperationOf(p, op) que, em bom português, quer dizer: “poderá ser próxima operação de”. Este nome foi escolhido para fazer menção ao nível de incerteza associado na relação entre Person e Operation. A MTheory é uma estrutura repetível (template) da qual SSBNs são geradas, de acordo com o comportamento do usuário. Em outras palavras, as SSBNs são geradas de acordo com as relações semânticas que estão vinculadas a instância de Person e de Ope- ration do meta-modelo semântico. Dessa forma, em tempo de execução, quando existir a necessidade de gerar uma SSBN para fazer a predição de uma próxima operação, ou seja, quando uma situação de declínio cognitivo for detectada, a estrutura da rede é gerada dinamicamente de acordo com a MTheory. Essa é composta pelos quatro fragmentos descritos abaixo, cujas variáveis aleatórias relacionadas aos nós contexto são: “p” para Person, “currentOp” (operação atual) e “op” (operação futura) para Operation. Os nós residentes serão apresentados como: = {estados}. • Person_MFrag: apresenta a probabilidade do usuário estar parado em uma dada “currentOp”, dentro da atividade. Tal fato é representado pelo nó residente isAtO- peration(p, currentOp) = {True, False}; • SimilarityGain_MFrag: representa a probabilidade de “op” ser executada de forma similar por diferentes usuários. Em outras palavras, é uma medida de si- 1 a nomenclatura dos conceitos foi mantida em língua inglesa para manter a consistência com a ontologia. NextOperation_MTheory Person_MFrag SimilarityGain_MFrag hasHist_MFrag isA(p,Person) isA(currentOp, Operation) isA(op, Operation) isA(op, Operation) isAtOperation(p, currentOp hasSimilarityGain(op) hasHist(op) NextOperation_MFrag isA(p,Person) isA(op, Operation) isA(currentOp, Operation) isAtOperation(p,currOp) hasHist(op) hasSimilarityGain(op) mayBeNextOpOf(p, op) Legenda Nó Contexto Nó Entrada Nó Residente Figura 2. MTheory para a predição de comportamento humano milaridade probabilística baseada na distribuição Gaussiana, cujos parâmetros são calculados usando o número de vezes que se escolhe uma operação específica por todos os usuários que realizaram a mesma atividade. O nó residente responsável é o seguinte: hasSimilarityGain(op) = {True, False}; • hasHist_MFrag: representa a probabilidade de “op” ser executada com base no histórico de execução do usuário. Pode ser entendida, também, como a importân- cia histórica, representada pelo nó residente hasHist(op) = {performed, notPerfor- med}; • NextOperation_MFrag: representa a probabilidade de uma próxima “op” ser re- comendada ao usuário através do nó residente mayBeNextOperationOf(p, op) = {True, False}. A distribuição de probabilidade desse nó é diretamente influenci- ada pelos dois MFrags anteriores, funcionando como medidas de prioridade. Outrossim, para que seja possível gerar a estrutura das SSBNs dinamicamente, de acordo com a MTheory, cada nó residente de um MFrag deve implementar, ainda, sua própria distribuição local de probabilidade, cujos valores podem ser informados por um especialista no domínio ou podem ser gerados através de algoritmos de aprendizado. Nessa perspectiva, optou-se por descrever cada distribuição na próxima seção, na qual o modelo acima é aplicado em um cenário. 4. Estudo de Caso A abordagem proposta pode ser utilizada em vários cenários de atividades diárias dentro de uma casa inteligente. Como exemplo, foi escolhida uma atividade específica para validação e entendimento do modelo proposto. 4.1. Cenário João vive sozinho em uma casa inteligente (equipada com o sistema HBMS). Pela tarde, ele costuma assistir a um filme usando o DVD player. Para isso, ele entra na sala de estar e decide em qual sofá irá sentar, no sofá A ou no sofá B. Nem sempre ele se recorda qual sofá fornece melhor distância e ângulo para visão e para audição, se o sofá A ou o sofá B. Ao detectar esta situação, o sistema HBMS entra em ação recomendando a melhor opção, com base em seu próprio conhecimento. Após encontrar o sofá mais adequado, João ativa o DVD e finalmente a TV. A atividade é encerrada quando a TV é desligada. Sabe-se que João tem limitação cognitiva leve. O ambiente descrito no cenário corresponde ao laboratório real do projeto HBMS. Nele, a atividade descrita no cenário foi executada por um ator que simulou possuir declí- nios cognitivos leves, tal como o do personagem João. Assim, dados reais foram coletados através de sensores que rastreiam, basicamente, as ações das atividades, por exemplo, sen- sores de presença, e de toque (interruptores, portas e chão). Esses dados foram utilizados para estimar as probabilidades do modelo preditivo (MTheory) que avalia a possibilidade de execução de uma próxima operação, conforme será detalhado mais adiante. 4.2. Aplicação do modelo A partir do cenário e do ambiente de testes, foi possível derivar o modelo de comporta- mento para a seguinte atividade: “Assistir um DVD”. A Figura 3 mostra a representação gráfica do modelo, que corresponde à instanciação dos conceitos, conforme cores, defini- dos na ontologia. Behavior Unit Model se refere ao modelo de comportamento, isolada- mente, o qual está diretamente relacionado ao modelo de contexto (Structural Context). Os relacionamentos de cada Operation com os elementos de contexto foram suprimidos da figura, além das deficiências de João, para fins de legibilidade. belongedTo has belongsTo Assistir um DVD Estar entretido Entrar na Sala hasFlow Sentar no Sofá A Desligar a TV Ligar DVD player Sentar no Sofá B isAtOperation Ligar a TV Behavior Unit Model João Sala de estar Estante TV DVD Sofá A Sofá B Structural Context Figura 3. Instanciação da parte não probabilística da ontologia O processo de apoio ao usuário é iniciado após a detecção de seus declínios cog- nitivos frente às operações da atividade, especialmente as que envolvem escolhas. Vale ressaltar que essa detecção não está no foco deste trabalho. No cenário da Figura 3, João está há um certo tempo parado na operação “Entrar na Sala”, o que leva a crer que houve um declínio cognitivo neste ponto. Com isso, as LPDs são informadas para o modelo semântico probabilístico que gera as SSBNs para cada próxima operação possível, “Sen- tar no Sofá A” e “Sentar no Sofá B”, conforme apresentadas na Figura 4, para estimar a chance de recomendar uma ou outra a João. Os valores de cada uma das LPDs foram obtidos a partir do dataset HBMS. Os valores da Figura 4 são explicados utilizando as LPDs da operação “Sentar no Sofá B”, sendo a mesma lógica aplicável à operação “Sentar no Sofá A”. Asism, a LPD para o nó residente hasHist(sentarNoSofaB) significa que a operação foi realizada 67% das vezes (performed) e não realizada 33% das vezes (notPerformed). Por outro lado, a LPD para o nó residente hasSimilarityGain(sentarNoSofaB) significa que a operação foi Sentar no Sofá A Sentar no Sofá B hasHist(op) hasSimilarityGain(op) hasHist(op) hasSimilarityGain(op) performed=.33, notPerformed=.67 true=.65, false=.35 performed=.67, notPerformed=.33 true=.808, false=.192 mayBeNextOpOf(p, op) mayBeNextOpOf(p, op) 01. if any op have (hasHist = performed)[ 01. if any op have (hasHist = performed)[ 02. if any op have (hasSimilarityGain = true) 02. if any op have (hasSimilarityGain = true) 03. [true =.51, false =.49] 03. [true =.739, false =.261] 04. else 04. else 05. [true =.34, false =.66] 05. [true =.431, false =.569] 06. ] else [ 06. ] else [ 07. if any op have (hasSimilarityGain = true) 07. if any op have (hasSimilarityGain = true) 08. [true =.34, false =.66] 08. [true =.431, false =.569] 09. else 09. else 10. [true =.49, false =.51] 10. [true =.261, false =.739] 11. ] 11. ] Figura 4. Distribuições Locais de Probabilidade (LPDs) de cada Operation similarmente realizada (True) em 80,8% dos casos e não similarmente realizada (False) em 19,2% dos casos (supondo que João viva com uma pessoa que compartilha a realiza- ção de algumas atividades). Por fim, a LPD para o nó residente mayBeNextOpOf(Joao, sentarNoSofaB) descreve como os valores de hasHist(sentarNoSofaB) e hasSimilarity- Gain(sentarNoSofaB) influenciam a inferência das probabilidades para a recomendação da operação “Sentar no Sofá B”. Dessa forma, se: • A operação for muito realizada e de forma similar, então essa terá 73,9% de chance de ser recomendada e 26,1% de não ser recomendada (linha 3). Caso ela seja muito realizada e de forma não similar, então a chance de recomendação cai para 43% e a de não recomendação sobe para 56,9% (linha 5); • A operação for pouco realizada e de forma similar, então essa terá 43,1% de chance de ser recomendada e 56,9% de não ser recomendada (linha 8). Caso ela seja pouco realizada e de forma não similar, então a chance de recomendação cai para 26,1% e a de não recomendação sobe para 73,9% (linha 10); Com isso e, a partir da evidência isAtOperation (Joao, EntrarNaSala) = true que determina a operação da atividade na qual João está parado, duas consultas, uma para cada possível operação seguinte, são realizadas: (A) Qual é a probabilidade de João sentar no sofá A? (B) Qual é a probabilidade de João sentar no sofá B? O resultado dessas consultas é expresso pelo nó mayBeNextOpOf, apresentado na Figura 5, nas SSBNs para a predição e, posterior recomendação, da operação mais adequada. A SSBN superior diz respeito à consulta (A), cuja probabilidade de recomendação é de 40,74%. Já a SSBN inferior faz referência à consulta (B), cuja probabilidade de recomendação é de 58,7%. Portanto, a operação recomendada à João seria “Sentar no Sofá B”, entregue ao dispositivo mais adequado sendo, por exemplo, um smartphone. 5. Trabalhos Relacionados A maioria das pesquisas relacionadas que buscam oferecer algum tipo de suporte a um usuário costumam utilizar apenas técnicas baseadas em dados sendo: Modelos Baye- sianos, Modelos de Markov, Árvore de Decisão, Redes Neurais Artificiais, dentre ou- tros. Isso foi identificado por meio de um amplo estudo realizado por Ranasinghe et al. [Ranasinghe et al. 2016] sobre métodos de reconhecimento de atividades. Em contraste com as técnicas baseadas em dados, há aquelas que usam o conhecimento fornecido por um especialista. Essas podem ser vistas como técnicas baseadas em conhecimento. Entre elas, é possível encontrar abordagens baseadas em ontologias, lógica ou teoria de evidên- cias. A questão é que as técnicas baseadas em conhecimento são usadas apenas e, quando usadas, para auxiliar técnicas baseadas em dados. Sendo assim, esse é o diferencial deste hasHist_sentarNoSofaA hasSimilarityGain_sentarNoSofaA performed 33% true 65% notPerformed 67% false 35% mayBeNextOpOf_Joao_sentarNoSofaA true 40,74% false 59,27% hasHist_sentarNoSofaB hasSimilarityGain_sentarNoSofaB performed 67% true 80,8% notPerformed 33% false 19,2% mayBeNextOpOf_Joao_sentarNoSofaB true 58,7% false 41,3% Evidências: isAtOperation(Joao(Person), EntrarNaSala(Operation))=true; Figura 5. SSBNs resultantes para cada umas das possíveis próximas operações trabalho, ou seja, o suporte é oferecido a um usuário através de uma ontologia. A seguir, serão apresentados alguns trabalhos relacionados. Rashidi et al. [Rashidi and Cook 2009], [Rashidi et al. 2011] apresentam CA- SAS, um conjunto integrado de componentes que visa aplicar técnicas de aprendizado de máquina e mineração de dados a um ambiente doméstico inteligente a fim de detectar padrões de atividade e se adaptar às mudanças nesses padrões. Por isso, cita-se esses tra- balhos como exemplos de abordagens puramente baseadas em dados. Aliado a isso, eles cobrem apenas o tópico de reconhecimento de atividades e nenhum suporte ao usuário é claramente definido como é proposto neste trabalho. Serral et al. [Serral et al. 2011], [Serral et al. 2015] apresentam uma abordagem baseada em conhecimento que usa modelos em tempo de execução. Em particular, os autores propõem um modelo de tarefa adaptativa ao contexto e um modelo de contexto que fornece uma expressividade rica para especificar padrões de comportamento. Eles também projetam e implementam uma infraestrutura de software para suportar a automa- ção desses padrões de comportamento. Por outro lado, o que propõem-se neste trabalho é diferente porque as atividades não são automatizadas, mas, sim, ajuda-se o usuário em cada ação quando necessário. Além disso, o raciocínio aplicado por eles é baseado em regras predefinidas. Chen et al. [Chen et al. 2014] introduzem uma abordagem híbrida baseada em ontologia, incorporando recursos de aprendizado baseados em dados. em uma aborda- gem baseada em conhecimento para a modelagem de ADLs e minimizando os seguintes problemas: (i) problema de coldstart; (ii) aplicabilidade e reutilização do modelo; e (iii) incompletude dos modelos de atividade. No entanto, os autores consideram apenas o tó- pico de recondicionamento de atividade sem qualquer aspecto de previsão relacionado às ações, tal como é proposto neste trabalho. Além disso, embora uma ontologia seja usada, nenhum raciocínio é aplicado sobre ela. Portanto, esse trabalho é um exemplo que usa apenas o conhecimento como um apoio e não como seu pilar central, diferente do que se propõe neste trabalho. Ceballos et al. [Ceballos et al. 2015] utilizam BPMN (Business Proccess Mode- ling Notation) para modelar o fluxo de atividades diárias e redes Bayesianas para prever ações a fim de auxiliar usuários. Embora essa abordagem pareça muito correlacionada a este trabalho, os autores usam uma linguagem de modelagem de propósito geral (BPMN), o que impõe ao modelador saber utilizá-la, o que pode ser um problema para um cuida- dor, um médico ou um parente. A previsão é baseada na conversão direta de um modelo BPMN para uma rede Bayesiana sem o uso de um modelo para isso, situação que pode trazer inconsistências no processo de inferência. Em outras palavras, a semântica do mo- delo é perdida quando convertida em uma rede Bayesiana. Neste trabalho, consegue-se a mesma coisa, porém sem perder a semântica do modelo. 6. Conclusão Neste trabalho foi proposto um modelo ontológico para a modelagem de comportamento humano e de contexto, bem como uma extensão probabilística que permite o raciocínio sobre a incerteza a fim de fornecer suporte ao usuário, lembretes. As principais contribui- ções são: (i) o modelo ontológico não probabilístico que pode ser utilizado por outras pes- quisas que necessitem modelar atividades. Mesmo possuindo poucos conceitos, o referido modelo é poderoso o suficiente para os mais variados tipos de atividade, especialmente porque é baseado na sólida teoria da atividade de Leontyev; e (ii) a extensão probabilís- tica que cobre a lacuna no raciocínio sobre a incerteza e permite auxiliar o usuário sem perder a semântica. Em trabalhos futuros, pretende-se refinar a extensão probabilística do modelo ontológico, a fim de aperfeiçoar ainda mais a previsão. Referências Aloulou, H., Mokhtari, M., Tiberghien, T., Endelin, R., and Biswas, J. (2015). Uncertainty handling in semantic reasoning for accurate context understanding. Knowledge-Based Systems, 77:16–28. Bettini, C., Brdiczka, O., Henricksen, K., Indulska, J., Nicklas, D., Ranganathan, A., and Riboni, D. (2010). A survey of context modelling and reasoning techniques. Pervasive and Mobile Computing, 6(2):161–180. Carvalho, R. N., Matsumoto, S., Laskey, K. B., Costa, P. C., Ladeira, M., and Santos, L. L. (2013). Probabilistic ontology and knowledge fusion for procurement fraud detection in Brazil. In Uncertainty Reasoning for the Semantic Web II, pages 19–40. Springer. Ceballos, H. G., Flores-Solorio, V., and Garcia, J. P. (2015). A Probabilistic BPMN Normal Form to Model and Advise Human Activities. In International Workshop on Engineering Multi-Agent Systems, pages 51–69. Springer. Chen, L., Nugent, C., and Okeyo, G. (2014). An ontology-based hybrid approach to activity modeling for smart homes. IEEE Transactions on human-machine systems, 44(1):92–105. Costa, P. C. and Laskey, K. B. (2006). PR-OWL: A framework for probabilistic ontolo- gies. Frontiers in Artificial Intelligence and Applications, 150:237. Costa, P. C. G. (2005). Bayesian semantics for the Semantic Web. George Mason Univer- sity. de Oliveira, M. A., Revoredo, K., Luna, J. E. O., and Cozman, F. G. (2013). Assertion role in a hybrid link prediction approach through probabilistic ontology. In Proceedings of the 6th Seminar on Ontology Research in Brazil, Belo Horizonte, Brazil, September 23, 2013, pages 106–117. El Hajjamy, O., Alaoui, K., Alaoui, L., and Bahaj, M. (2016). Mapping UML to OWL2 Ontology. Journal of Theoretical and Applied Information Technology. Foti, D. and Koketsu, J. S. (2013). Activities of daily living. Pedretti’s Occupational Therapy: Practical Skills for Physical Dysfunction, 7:157–232. Howard, C. and Stumptner, M. (2014). A survey of directed entity-relation–based first- order probabilistic languages. ACM Computing Surveys (CSUR), 47(1):4. Laskey, K. B. (2008). MEBN: A language for first-order Bayesian knowledge bases. Artificial intelligence, 172(2-3):140–178. Leontyev, A. N. (1978). Activity, consciousness, and personality. Prentice-Hall. Li, R., Lu, B., and McDonald-Maier, K. D. (2015). Cognitive assisted living ambient system: a survey. Digital Communications and Networks, 1(4):229–252. Matsumoto, S., Carvalho, R. N., Costa, P. C., Laskey, K. B., Dos Santos, L. L., and Ladeira, M. (2011). There’s No More Need to be a Night OWL: on the PR-OWL for a MEBN Tool Before Nightfall. Mayr, H. C., Michael, J., Ranasinghe, S., Shekhovtsov, V. A., and Steinberger, C. (2017). Model centered architecture. In Conceptual Modeling Perspectives, pages 85–104. Springer. Michael, J. (2016). Using cognitive models for behavioral assistance of humans. it- Information Technology, 58(1):44–48. Monekosso, D., Florez-Revuelta, F., and Remagnino, P. (2015). Ambient assisted living. IEEE Intelligent Systems, 30(4):2–6. Moore, P., Hu, B., Zhu, X., Campbell, W., and Ratcliffe, M. (2007). A Survey of Con- text Modeling for Pervasive Cooperative Learning. In 2007 First IEEE International Symposium on Information Technologies and Applications in Education. Ni, Q., García Hernando, A. B., and de la Cruz, I. P. (2015). The elderly’s independent living in smart homes: A characterization of activities and sensing infrastructure survey to facilitate services development. Sensors, 15(5):11312–11362. Ranasinghe, S., Al Machot, F., and Mayr, H. C. (2016). A review on applications of activity recognition systems with regard to performance and evaluation. International Journal of Distributed Sensor Networks, 12(8). Rashidi, P. and Cook, D. J. (2009). Keeping the resident in the loop: Adapting the smart home to the user. IEEE Transactions on systems, man, and cybernetics-part A: systems and humans, 39(5):949–959. Rashidi, P., Cook, D. J., Holder, L. B., and Schmitter-Edgecombe, M. (2011). Discove- ring activities to recognize and track in a smart environment. IEEE transactions on knowledge and data engineering, 23(4):527–539. Serral, E., Valderas, P., and Pelechano, V. (2011). Improving the cold-start problem in user task automation by using models at runtime. In Information Systems Development, pages 671–683. Springer. Serral, E., Valderas, P., and Pelechano, V. (2015). Addressing the evolution of automated user behaviour patterns by runtime model interpretation. Software & Systems Mode- ling, 14(4):1387–1420. Valaski, J., Reinehr, S. S., and Malucelli, A. (2016). Evaluating the expressiveness of a conceptual model represented in ontouml and UML. In Proceedings of the IX ON- TOBRAS Brazilian Ontology Research Seminar, Curitiba, Brazil, October 3rd, 2016., pages 35–46. Yurur, O., Liu, C. H., Sheng, Z., Leung, V. C. M., Moreno, W., and Leung, K. K. (2016). Context-awareness for mobile sensing: A survey and future directions. IEEE Commu- nications Surveys and Tutorials.