User Profiles in Location-based Services: Make Humans More Nomadic and Personalized Shijun Yu1, Stefano Spaccapietra1, Nadine Cullot2, Marie-Aude Aufaure3 1
Database Laboratory, Swiss Federal Institute of Technology, CH-1015 Lausanne, Switzerland {Shijun.Yu, Stefano.Spaccapietra}@epfl.ch 2 LE2I Laboratory, University of Burgundy, BP 47870, 21078 Dijon Cedex, France
[email protected] 3 Supélec, Plateau du Moulon, Service Informatique, F-91 192 Gif-sur Yvette Cedex, France
[email protected]
characteristics of their interactions with the users to provide the most appropriate service based on the local environment. Their location-centric approach distinguishes them from the traditional research on web information retrieval and personal navigation [5][6]. Some typical LBS ’s application scenarios have been investigated and identified, e.g. tourist guiding, traffic monitoring and mobile office.
Keywords: User profile, location-based services, ontologies, spatial-temporal databases, query processing, information filtering and browsing. Abstract: In this paper, we propose a user-profile based approach to improve the efficiency and precision of querying the spatio-temporal information in the location-based services. We put forward the domain & context-dependent ontologies to alleviate the semantic heterogeneity issues in information filtering and the personalized profile describing and suggest the multi-layered abstractions method to organize and present the data. We further explain how to refine and match the queries considering user preferences using a tourism scenario.
A key point of improving LBS is how to tailor the contents and representation to individual’s specific spatio-temporal context. In the literature, some research [6][7][8] has been using user profiles in information filtering. In this paper1, we attempt to retrieve the data from some local webpages and databases available, and organize them in multi-layered database or XML documents with the help of domain & context– dependent ontologies. Additionally, we are prone to make users flexibly specify their profiles in XML Schema in some sense, and then apply them to refine the queries considering the particular space and time constraints, finally make the mapping between the pre-processed query and data. Simply stated, the user profile serves as a bridge between the generic queries from the diverse users and the heterogeneous data.
1. Introduction The rapid expansion of WWW has unobtrusively influenced humans’ socio-economical life patterns in the last decade. With the development of portable phones, PDAs and laptops, Humans cannot be satisfied anymore simply by rich and exact access to the information. They look today for the more dynamic and personalized services on the move. Thus, the ubiquitous computing approach [1] is becoming emergent and popular. As one of its significant components, especially due to its dynamical characteristics of the space, time and contexts, location-based services (LBS) [2][3][4] emphasize the ability to take into account the spatial, temporal and contextual
2. Architecture Figure1 illustrates the architecture that describes the approach we propose.
1
The work is part of Project MICS funded by NCCR in Switzerland, under grant number 5005-67322.
1
Query
Current Location
Leading server Neighbouring Server 1
…
Local data sources of Server 1
Neighbouring Server N
Local data sources of Leading Server
Special event notification
Local data sources of Server N
Query Results Profile Manager ID User preferences History
Figure 1. User Profile-based framework for the Location-based services and weather) are notified by some local database to the leading server.
We assume the mobile user inputs the query with a PDA, and that the current location can be encoded in both the geographic coordinates (x, y) and real address (e.g. street, NPA, city), thanks to transformations implemented by some encoding services [9]. The PDA on the move is in the adhoc networking environment. The leading server is the nearest one to the mobile user and able to identify its activity scale and understand its questions. Then this server will check user’s preferences acquired from the Profile Manager and further refine the query, and then deliver the processed one to the local query-processing server. If the local server could locate the right information for the user, the results will be computed and returned to the user. Otherwise, the leading server will broadcast the refined query to its geographically neighbouring servers (But the neighbouring server can become the leading server as the user moves). These servers will do the similar operation until they find the relevant information. However, when the optional results cannot be obtained, the system will prompt users to modify the queries or provide the available information as relevant as possible. On the other hand, considering network bandwidth and mobile device diversity, users are subject to specify the waiting-time constraints and the abstraction level of information in the profiles, which will be explained later in the example. Special events that may influence user’s current activities (e.g. traffic
Generally, the local servers only keep the local information available and possible links with other neighbouring servers. We assume the information is mainly retrieved from local webpages and databases, and the system is capable of making data maintenance and extracting information in suitable abstraction levels according to users requirements. To reduce the noise in the data collection, the data is categorized into hierarchies using ontologies [3] and can be indexed by timeframe, as illustrated in the example shown in Figure 2. In the figure 2.a shows an entity ’Restaurant’, which can be described and indexed by the temporal attributes (e.g. opening hour and seat available), spatial attributes like location and other general ones like class (e.g. four star) or style (e.g. café house, fast food or formal restaurant). The Figure 2.c illustrates the temporal characteristic (i.e. opening hours in grey) of the different restaurants. The Figure 2.b suggests the relative locations and topological relationships of entities and the arms between the nodes represent the spatial distance. Furthermore, the server can predict the busy hours from statistical data which will partly suggest users choices. In literature, the approaches of extracting the semistructured data have been discussed in [11][12].
2
Restaurant: Name, Opening hour, Style, Class, Menu & price, Popularity rate, Location …
the spatial-temporal information is not explicitly specified. It makes the facts that crawling data and processing them are rather efficient in the LBS context. Here we propose the localwebpages based approach to construct the specific location & domain ontology by extracting keywords and relationships from the local homepage http://www.lausanne.ch/ to relevant links in the scenario. Then the available data is annotated and stored by the help of the ontology in order to conveniently be accessed from spatial-temporal perspectives. We will explain our approach by comparing two scenarios as follows:
Address (street, nearby bus, postcode…) Topological relationships
Figure 2.a. The entity Restaurant Museum Hotel Restaurant …
Scenario 1: The tourist Shirley will reserve the hotels for a three-day visit in city Lausanne. For She is a history amateur and a gastronome, she prefers to visiting some museums and exhibitions and savouring the traditional Vaudois food.
Figure 2.b. The relevant classes with their spatial attributes
Scenario 2: A local student Michael will make a survey about the influence of restaurants’ locations and prices on the popularity rates in Lausanne.
Restaurant1 Restaurant2
It is evident that both users have different tendencies on details and inter-relationship among attributes even though they have the same query target - Lausanne restaurants.
…… Figure 2.c. Temporal attribute of Restaurant 3. Scenario using an ontology
In first scenario, Shirley will pay more attention to the menu and location where is near her hotel or interesting museums. As she is unfamiliar with the city, she needs some particulars, e.g. transport routes, opening hours and distance between her hotel, restaurants and museums, described as follows: Restaurant - (name, menu [special], location [street, nearby bus, topological information]).
… http://www.t-l.ch/(public transports)
… http://www.swisshotels.ch/ (hotels) .
http://www.lausanne.ch/
Comparing with Scenario 1, in Scenario 2, for Michael is native to the city, generally he does not need the geographical details like Shirley, his preferred information can be expressed by: Restaurant – (name, menu [price], location [postcode], popularity rate).
. .
http://www.lausanne.ch/musees (museums and exhibitions)
From the investigation above, it is significant to present the particular attributes and abstractions of different levels for diverse contexts. To the spatial information expression, it is possible for users to have different requirements. In the scenarios, Shirley may intend to view the visual topological illustrations labelled with routes to
Figure 3. Retrieval of terms and relationships for ontology construction Since the data from webpages or databases is essentially in diverse details and formats (e.g. text, map, or table etc). Especially, more often
3
main museums or chosen restaurants. However, probably Michael only needs the distribution of restaurants partitioned by postcode zones.
…… ……
However, since the data is in essence dynamic. It is natural to involve to some operations such as addition, deletion, merging and updating. Additionally, these changes should keep consistent with topological and timeframe expressions.
…… ……
Here we emphasize that the entities and attributes are organized and extracted on the basis of the domain & location context, and take examples to illustrate how to apply user profiles to recognize what aspects of information is user needs. In next section, we will describe how to specify user profile and help users get more suitable information in the more intuitive way. 4. User profiles In literature, there exist several approaches [13] for creating user profiles as follows: - Users create their own profiles on the basis of their interests; - Systems are in charge of profiles construction, some intelligent agents can extract information and make relevant inferences without users awareness; - The mixed approach of above, which means system will provide several templates, users are prone to extend or modify; - Profiles are extracted and modified from users’ feedback and tracking (bookmarks, email, queries…). [14] All approaches above seldom consider the spatial and temporal context, which makes it not wellsuited for the location-based services, the system will provide several templates of user profiles, users are able to revise or extend to construct his/her personalized profiles with the help of the ontology built for the tourism domain in Lausanne. It is subject to change as the time, space and context. Then the modified profile will be identified and formalized by the XML profile schema of the Profile Manager.
… …… …… …… …… …… …… ……
The user profile is uniquely identified by an ID. Its content is composed of two parts: user’s preferences and history activities (tracks). They can be stored either in the PDA (client) or in the Profile Manager (server). The user can update the preferences according to his/her specific contexts.
Table 1. An instance of user profile template
4
The leading server checks all restaurants and ranks them by locations and flavors. Finally, the server list ‘Great Wall’ Chinese restaurant as the top. Then the second is the ‘Old Chalet’ Swiss restaurant due to its typical Swiss style and so on. The results are rather close to users preferences and habits.
Table 1 below is a part of a user profile template instance, which can simply describes a traveller’s preferences. The history is ordered by time-space and theme (e.g. conference). Furthermore, each history record is described by some annotations to distinguish itself from others, which is beneficial for the statistical computation of pattern expectation and future queries. These terms in the annotation should be mostly identified by the ontology mentioned above. It records the activities in long term (e.g. one month or week) or in short term (e.g. one afternoon), as episodes and events, as defined in [10].
5. Conclusion and future work In this paper we propose a profile-based approach to improve the LBS ’s efficiency. The profile specification is distinguished from the traditional information filtering methods for it is composed of static and dynamic parts and takes into account the users’ history activities and alleviate the queries matching in XML format. In the future work, we will investigate the different standards for user profiles and improve the user profiles’ specification in the context of LBS. ● To make the mapping between the user profiles and the ontology. ● To extract and analyze history to track users’ preferences and activity patterns in specific contexts.
When the user sends a query, firstly the system will integrate the user’s current location into the query. As shown in Figure 4, the constraint of city ’Lausanne’ is added. In fact, when the results collection is huge, the system will turn to the reference to a specific spatial information tool so that the server can provide the precise location and circumscribe the user’s query targets into a district nearby. Here the matching is done in content level and semantic level. Firstly, the system will identify the input keywords using WordNet and ontology, then find the detailed information or URL links associated with the keywords using ontology. At last, the server will match the query with data available and rank the results according to the priorities of the preferences in his/her profile. For example, the list of ‘the nearest restaurants’, transports routes and relevant timetables are provided to guide users finding ways, as shown in Figure 4. When the user asks for the nearest restaurant, the server will check out her user profile. It does not explicitly specify the user’s preference on restaurants but provide clear intention to foods. Through the ontology, we can make the semantic mapping between the food and restaurant and find out her flavour (e.g. Chinese food) and the distance-limit (e.g. no more than 20 minutes). Then this refinement is delivered to the leading data sources. We assume the server has relevant information about restaurant as the following Table 2. Name 1 Old Chalet
Cuisine Swiss
Address Rue du Lac, 5
2 Great Wall 3 Chat Noir
Chinese French
4 Myo
Japanese
Rue du Jura, 42 Chemine de la Verseuse, 3 Avenue du Grey, 110
5 Chez Bernard
Swiss
Rue des Alpes, 47
…… For $r in doc (‘restaurants.xml’) // restaurants_tuple WHERE $r/city=’Lausanne’ Return { $r/ Name} { $r/ Address} … ……
…… For $r in doc (‘restaurants.xml’) // restaurants_tuple WHERE $r/city=’Lausanne’ And $r/flavour=’Chinese food’ And $r/distancelimit=”20 minutes” And $r/mode=’seat available’ Return { $r/ Name} { $r/ Address} … ……
>
Figure 4. Query modification using the ontology and user profile
Table 2. A possible list of restaurants in Lausanne.
5
agenda (poster session)”. Proceedings of the 23rd annual international ACM SIGIR conference on Research and development in information retrieval, p.313-315, July 24-28, 2000, Athens, Greece. [14]S. Ku, B. Lee, E. Ha. Extracting User Profiles from E-mails Using Set-Oriented Classifier . PRICAI 2002, LNAI 2417, pp.463471, 2002
Reference [1] Michael J. Franklin, Challenges in Ubiquitous Data Management, Informatics 2001: 24-33. [2] C. S. Jensen, A. F-Christensen, T. B. Pedersen, D. Pfoser, S. Saltenis, N. Tryfona, Location-Based Services – A Database Perspective. In Proceedings of the 8th Scandinavian Research Conference on Geographical Information Science, ScanGIS2001 Norway, 2001 [3] S. Yu, M.-A. Aufaure, N. Cullot, S. Spaccapietra, Location-Based spatial Modelling Using Ontology. In Proceedings of the 6th AGILE on Geographic Information Science "The Science behind the Infrastructure", April 24th26th, 2003, Lyon, France. [4] Eija Kaasinen, User Needs for Locationaware Mobile Services, in Personal and Ubiquitous Computing, Issue: Volume 7, Number 1/May 2003, published by SpringerVerlag London Ltd. [5] Raymond Kosala, Hendrik Blockeel, Web Mining Research: A Survey. In ACM SIGKDD, July 2000, Volume 2, Issue 1. [6] David Abrams, Ron Baecker, Mark Chignell, Information Archiving with Bookmarks: Personal Web Space Construction and Organization. In Proceedings ACM SIGCHI ’98, 41-48. [7] Danny Poo, Brian Chng, Jie-Mein Goh, A Hybrid Approach for User Profiling. In Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS’03). [8] Czeslaw Danilowicz and Huy Cuong Nguyen, Using User Profiles in Intelligent Information Retrieval. In Proceedings of ISMIS 2002, LNAI 2366, pp.223-231, 2002. [9] Open GIS Consortium, Inc. http://www.opengis.org, 2002. [10] M. Thériault, C. Claramunt, A.–M. Séguin, P. Villeneuve, Temporal GIS and Statistical Modelling of Personal Lifelines. In Symposium on GeoSpatial Theory, Proceeding and Applications, Ottawa 2002. [11] Roy Goldman, Jenifer Widom, DataGuides: Enabling Query Formulation and optimisation in Semistructured Databases. In Proceedings of the 23rd VLDB Conference, Athens, Greece, 1997. [12] M. Barg and R. Wong, A Fast and Versatile Path Index for Querying Semi-Structured Data. In Proceedings of the 8th International Conference on DASFAA2003, Kyoto, Japan. [13] Kuflik T., Shoval P. “Generation of user profiles for information filtering - research
6