A Case-Based Engine to Create Dynamic Content Adapting Users’ and Context Profiles
Total Page:16
File Type:pdf, Size:1020Kb
School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI A Case-Based Engine to Create Dynamic Content Adapting Users’ and Context Profiles Daniel Almirón Fuentes Didac Gil de la Iglesia June MSI 2004 Växjö University SE-351 95 VÄXJÖ Abstract Nowadays, we can find many interactive applications and mobile services accessible everywhere. Usually, these services have been designed to serve a unique target population, independent for instance; of the kind of devices the users have or the particular situation the users are encountered. In many cases, these services do not provide exactly the type of information people are expecting and looking for. Another related problem in this particular domain concerns the way information is presented, both from a content and a presentation perspective. Many times, although the content may fit our expectations, the way this information is presented does not fit the proper device, neither for our actual situation. Those are the particular problems we want to tackle in this work, the development of more flexible applications and services that could adapt to a particular user in different environments. The scope of this thesis relates to the field of adaptive hypermedia. Our main goal is to explore, develop and implement an approach that will let adapt a number of mobile services to new situations, depending both on the user’s and context’s profiles. In this report we present the ideas and results of the work we have been conducting during the last four months. Keywords: Adaptive Hypermedia, Case-Based Reasoning, Artificial Intelligence, Context Awareness, CC/PP, UAProf, Mobility, Apache Cocoon, XML, Information Retrieval, Human Computer Interaction. 2 Index 1 Introduction ................................................................................................................ 5 1.1 Motivation .............................................................................................................. 5 1.2 Identifying the problem .......................................................................................... 5 1.3 Technical background ............................................................................................. 5 1.4 Adaptation .............................................................................................................. 7 1.5 Disposition .............................................................................................................. 8 2 State of the art ........................................................................................................... 9 2.1 Adaptive Hypermedia ............................................................................................. 9 2.1.1 Where can adaptive hypermedia be used ...................................................... 10 2.1.2 What can be adapted? ................................................................................... 13 2.2 Gathering information: The user .......................................................................... 15 2.3 Gathering information: The environment ............................................................. 17 2.4 Gathering information: The devices ..................................................................... 18 2.5 Mobility ................................................................................................................ 19 2.6 Enabling techniques: AI–XML–Java-Cocoon ...................................................... 21 2.7 Summary ............................................................................................................... 24 3 Software engineering approach .......................................................................... 26 3.1 Service description ............................................................................................... 26 3.2 Viability and utility ............................................................................................... 26 3.3 Analysis of requirements ...................................................................................... 27 3.4 Sequence diagrams ............................................................................................... 27 3.5 Interface Design .................................................................................................... 30 3.6 Scenarios ............................................................................................................... 30 3.6.1 Scenario “group scheduling” ........................................................................ 30 3.6.2 Scenario “mobile tourist information” ......................................................... 31 4 Analyzing the application .................................................................................... 32 4.1 Architecture .......................................................................................................... 32 4.2 The reasoning machine ......................................................................................... 33 4.3 The intelligence in the system .............................................................................. 34 5 Implementation in use ........................................................................................... 36 5.1 The Data Base ....................................................................................................... 36 5.2 Interaction with the user ....................................................................................... 39 5.3 Processing the information ................................................................................... 47 5.4 Presenting the service ........................................................................................... 48 5.5 Running the application ........................................................................................ 49 6 Tests ........................................................................................................................... 53 7 Conclusions ................................................................................................................. 57 8 The Future ................................................................................................................ 59 8.1 Nearer development .............................................................................................. 59 8.2 Further development ............................................................................................. 61 9 References ................................................................................................................ 63 10 Index of images .................................................................................................... 69 11 Glossary of terms ................................................................................................. 71 12 Appendix ................................................................................................................ 76 12.a Source code to plan a new day ............................................................................ 76 12.b Source code to create a dynamic presentation .................................................... 83 3 12.c Selection Engine ................................................................................................. 91 4 1 Introduction 1.1 Motivation The authors of this thesis are Daniel Almirón Fuentes and Didac Gil de la Iglesia, both students in the last year of Computer Science Engineering at the Universitat Autònoma of Barcelona (UAB) in Spain. We are taking part of the Erasmus program in the Växjö University, in Sweden. The reason to work within the field of adaptive hypermedia is because we believe that actual technology has developed in a way that allow us as to explore new ways to support users in their daily tasks. Our vision is that the user has to be always in the first place, and products and services should be designed having in mind this viewpoint. On the other hand, we would like to explore ways in which artificial intelligence techniques can be used in order to see how the user’s vision of the world could be stored and represented inside the computer, and how could be possible to use this information in order to bring a better solution to him/her. 1.2 Identifying the problem The aim of our work is to explore new ways in which techniques and knowledge within the fields of artificial intelligence, information retrieval and adaptive hypermedia can be combined in order to allow us to develop an approach that will customize a service to the user, considering his/her preferences, his/her characteristics and also the environment’s and device’s characteristics. Moreover, we will illustrate this approach by implementing a demonstrator; these aspects will be described later in this document. Here we pose three questions which are the basis for our research: 1. "Can we obtain good results using a case based reasoning in order to adapt the service to the user, from the feedback gathered by the system in previous situations?" 2. “Which are suitable technologies to support the task of adapting the way to present the services to the users?” 3. “Which formalisms will be used in order to get a better understanding of the user and his/her environment?” Through this report we are going to expose several techniques related to these topics, and in the conclusions’ section we will discuss the results we have achieved. 1.3 Technical background Due to the fast growing of