Interactive Robotics

Pervasive computing needs better situation-awareness

PDF version | Permalink

Juan Ye and Simon Dobson

23 January 2012

A context lattice is a hybrid knowledge- and data-driven approach to situation-awareness that supports semantic situation management.

Pervasive computing systems use sensing, computing and communication capabilities to observe and respond to environmental phenomena. Such systems will eventually enable computers to seamlessly integrate into everyday life. They have many potential applications in the office, home, healthcare, gaming, environmental monitoring and public transportation. Healthcare is one of the most exciting examples. Sensors deployed in a home setting for the elderly and disabled might provide an effective way to monitor and manage their personal health and well-being without intervening in their normal life or activities.

Situation-awareness is a core component of pervasive computing technology. Sensors capture information about users and their environment. This data can include a user's location and interaction with everyday objects, as well as information on the weather, ambient noise level and so forth. ‘Situations’, in this sense, are external semantic interpretations of sensor data.1 The power of using situations lies in their ability to provide a simple, human-understandable representation of sensor data to applications, while shielding applications from the complexities of sensor readings, noise and inference. For example, a health-monitoring application for the elderly might be interested in a situation in which the user has fallen or is unconscious, but should not be concerned with raw sensor data like acceleration data on the person's arms and legs, or readings of the person's heart rate.

Generally there are two types of approaches in recognizing situations: knowledge-driven and data-driven.1 Knowledge-driven approaches use expert knowledge to define situations with logic rules and apply reasoning engines to infer proper situations from sensor input.2–4 Data-driven approaches use machine learning and data-mining techniques to learn correlations between sensor data and situations from training data.5, 6 However, the complexity, heterogeneity and uncertainty of pervasive systems undermine the performance of these existing approaches. Developers of knowledge-driven approaches need to consider all of the relevant knowledge and then be able to provide precise definitions on situations; developers of data-driven approaches need good quality training data, which is extremely difficult and time-consuming to collect.

We propose a new data structure, the ‘context lattice’, which takes the advantages of both knowledge- and data-driven approaches and compensates for the deficiencies.7, 8 Built on lattice theory, a context lattice is a mathematical abstraction that supports the systematic study of the semantics of situations. Context lattices have a powerful ability to represent the semantics of sensor data and domain knowledge.

Part of a context lattice. Each node represents a single context predicate (e.g., ‘eleCurrentInLivingRoomOn’ meaning the electrical current in the living room is on) or a conjuncted context predicate (e.g., ‘eleCurrentInLivingRoomOn ∧ inLivingRoom’ meaning the user is detected in the living room and the electrical current in the living room is on). n⊤: a logical tautology TRUE; n⊥: a logical contradiction FALSE.

A context lattice is an ordered hierarchy that organizes different types of context predicates, which are defined as characterized sensor data. For example, elecCurrentInLivingRoomOn represents electric current being drawn in the living room (see Figure 1). Within a context lattice, each node is a tuple <l, S>, where l is a logical description of context predicates, and S is a set of situations indicating that when the logical description is satisfied by the current sensor data, a user is possibly in one or more of these associated situations. Nodes are organized in a hierarchy under the specialization relationship. A node is considered more specific than another node if, and only if, the logical description on the former entails the description on the latter. Figure 1 shows part of a context lattice that is used to study situations in a home environment.

A context lattice allows developers to represent three types of semantics of low-level knowledge, including different levels of abstraction, conflicting and overlapping. The low-level knowledge on single predicates will be propagated to the conjunct predicates along the hierarchy of the lattice. A learning process uses this knowledge to build correlations between predicates and correlations between predicates and situations. For example, the conjunction of the predicates elecCurrentInLivingRoomOn and inLivingRoom is correlated to a set of situations {‘‘watching TV’’, ‘‘reading a book’’}, implying that when the user is watching TV or reading a book, these two sensor events are often reported.

Comparison of precision of inference between the context lattice, J48 decision tree and Naïve Bayes. Precision is the ratio of the times that a situation is correctly inferred to the times that it is inferred.

Comparison of recall of inference between the context lattice, J48 decision tree and Naïve Bayes. Recall is the ratio of the times that a situation is correctly inferred to the times that it occurs.

We have evaluated the performance of a context lattice on a third-party smart home data set, PlaceLab. Figures 2 and 3 show the comparison of precision and recall of inference between our context lattice, a J48 decision tree and a Naïve Bayes construct. The latter two techniques are off-the-shelf machine learning techniques and have achieved good classification results in situation recognition. Figure 2 shows that the context lattice can predict some situations such as 'using computer' quite well, but other situations such as 'grooming' poorly. The main reason behind this difference is that the situations like ‘‘grooming’’ have an unidentifiable pattern from the point of view of current sensors. This pattern makes it difficult for the context lattice to precisely identify them. However, the context lattice typically performs better than the other techniques while supporting the representation of domain knowledge.8 Figure 4 presents the relationship between the averaged accuracy on all the situations and the amount of training data. The curve in this figure rises asymptotically, which means that the context lattice is insensitive to the amount of training data. More detailed analysis on the inference result can be found in our publications.8

Relationship of averaged accuracy of all the situations and the amount of training data.

Situation-awareness offers seamlessly-integrated services for users with little explicit direction. It provides a way to aggregate and abstract raw, disparate, heterogeneous, noisy sensor data into more meaningful and accurate information. A context lattice is a knowledge- and data-driven hybrid approach to situation-awareness that integrates domain knowledge within a learning process. It results in less bias and subjectivity from utilizing expert knowledge, while benefiting from such knowledge so as to be less reliant on training data. However, a context lattice still has only a limited capability to resolve sensor noise. To address this issue, our next step will be to extend a context lattice with more sophisticated uncertainty-resolving techniques, such as fuzzy logic or Bayesian networks.


Juan Ye
University of Dublin (UCD)

Juan Ye currently holds a postdoctoral research position in CLARITY, a Science Foundation Ireland Centre for Science, Engineering and Technology at UCD programme. She holds a bachelor and master degree in computer science from Wuhan University, China. She received her PhD from UCD in 2009. Her research covers formal context modelling, ontology, location modelling, uncertainty resolution and situation identification.

Simon Dobson
School of Computer Science University of St Andrews

Simon Dobson is a professor at the School of Computer Science. He also co-founded the Systems Research Group at UCD, Ireland's largest university. His research centres around adaptive pervasive computing and novel programming techniques.

  1. J. Ye, S. Dobson and S. McKeever, Situation identification techniques in pervasive computing: a review, Pervasive Mob. Comput. in press, 2011.

  2. J. Ye, L. Coyle, S. Dobson and P. Nixon, Ontology-based models in pervasive computing systems, Knowledge Engineer. Rev. 22, pp. 315-347, 2007.

  3. L. Chen, C. D. Nugent and H. Wang, A knowledge-driven approach to activity recognition in smart homes, IEEE Trans. Knowl. Data Eng. PP, pp. 1, 2011.

  4. J. Ye, G. Stevenson and S. Dobson, A top-level ontology for smart environments, Pervasive Mob. Comput. 7, pp. 359-378, 2011.

  5. A. Aztiria, A. Izaguirre and J. C. Augusto, Learning patterns in ambient intelligence environments: a survey, Artif. Intell. Rev. 34, pp. 35-51, 2011.

  6. J. Ye, L. Coyle, S. Dobson and P. Nixon, Using situation lattices in sensor analysis, Proc. IEEE Int'l. Conf. Pervasive Comput. Commun., pp. 1-11, 2009.

  7. J. Ye and S. Dobson, Exploring semantics in activity recognition using context lattices, J. Ambient Intell. Smart Environ. 2, pp. 389-407, 2010.

  8. B. Logan, J. Healey, M. Philipose, E. Munguia Tapia and S. Intille, A long-term evaluation of sensing modalities for activity recognition, Proc. Intl. Conf. Ubiquitous Comput., pp. 483-500, 2007.

DOI:  10.2417/3201201.003943