Using semantics and user particip...
Keyword(s): Abstract: �� Using semantics and user participation to customize personalization Davide Eynard HP Laboratories HPL-2008-197 customization, personalization, semantics, RDF, Web browser Personalization and customization are two techniques that allow systems to provide users an experience which is tailored to their preferences. Looking at the huge success many customization tools had, not just on a particular set of expert users but also on the wide Internet public, we decided to make personalization customizable, that is to allow users access their own personal profile and build custom applications that exploit it. To do this, we chose a specific use case: the information that users leave when they use their browsers, that is the history of the visited websites and the collection of their bookmarks. We then converted this information from the proprietary format used by Firefox 3 in an open, RDF-based format. We built tools to do the conversion offline or in realtime and a browser extension that uses these data to provide new, potentially interesting, information. The whole set of tools is built to be extensible, so it makes heavy use of configuration files that can be easily modified by users to provide additional features. As an example, we developed two plugins: one for the visualization of user history, using Google's MotionChart, and one for enhancing browsing with related information which are downloaded in realtime from Freebase. Finally, we evaluated our approach to enhanced browsing using both Freebase and Nielsen datasets. External Posting Date: December 5, 2008 [Fulltext] - External Approved for External Publication Internal Posting Date: November 21, 2008 [Fulltext] Copyright 2008 Hewlett-Packard Development Company, L.P.
Using semantics and user participation to customize personalization Davide Eynard��� Hewlett-Packard Palo Alto, CA, USA davide.eynard@hp.com Abstract. Personalization and customization are two techniques that allow systems to provide users an experience which is tailored to their preferences. Looking at the huge success many customization tools had, not just on a particular set of expert users but also on the wide Internet public, we decided to make personalization customizable, that is to al- low users access their own personal profile and build custom applications that exploit it. To do this, we chose a specific use case: the information that users leave when they use their browsers, that is the history of the visited websites and the collection of their bookmarks. We then con- verted this information from the proprietary format used by Firefox 3 in an open, RDF-based format. We built tools to do the conversion offline or in realtime and a browser extension that uses these data to provide new, potentially interesting, information. The whole set of tools is built to be extensible, so it makes heavy use of configuration files that can be easily modified by users to provide additional features. As an example, we developed two plugins: one for the visualization of user history, using Google���s MotionChart, and one for enhancing browsing with related in- formation which are downloaded in realtime from Freebase. Finally, we evaluated our approach to enhanced browsing using both Freebase and Nielsen datasets. 1 Introduction Personalization, under a general interpretation, means tailoring a product or a medium to a user, according to some personal details they provide. More specifically, on the Web it is the process of providing relevant content based on individual user preferences. These preferences can be provided to the system either implicitly or explicitly. Examples of explicit data collection include user ratings (i.e. stars on YouTube or diggs on Digg.com1), rankings, or wish lists (such as Amazon���s wish list2). Examples of implicit data collection include ob- serving which Web pages are viewed by users and the time they spend on them, ��� Written under the supervision of Craig Sayers (craig.sayers@hp.com) 1 http://www.youtube.com, http://www.diggg.com. 2 http://www.amazon.com.
keeping a record of the items that a user purchases online, reading playlists of multimedia contents, and analyzing users��� social networks. Once user preferences have been collected into what, from now on, we will call a user profile, personalization engines can access them to provide a tailored Web experience with personalized contents or interfaces. Of course, there always needs to be someone who provides material which can be tailored on each person���s profile. Fig. 1. Personalization and Customization. Customization takes place when users directly affect the behavior of the engine which provides the contents, by specifying (usually explicitly) different parameters inside a configuration. A schema of how both personalization and customization work is shown in Figure 1. Looking at the figure, it appears quite evident how much the two are similar, and it also explains why they are often confused with each other: basically, for the tailoring engine (which takes care of personalization, customization, or both) the profile and the configuration are nothing but input parameters that tell how it has to operate once it reads them, it can tailor contents to the user���s desire. However, from the user perspective personalization and customization work in very different ways: in the former case, the only knowledge users have to provide is about themselves (i.e. who they are, what they like, and so on) in the latter, as users have to provide information about how the engine has to operate they need to know something about the system itself. The fact that customization is so dependent on the knowledge of the sys- tem makes it much more complex for beginners: this is the reason why many
applications often have some settings enabled by default, so that unexperienced users will basically have to know nothing about the program to be able to run it. However, the more users get experienced the more they appreciate the possi- bility of customizing the behavior of their applications so that it better reflects their preferences. The result is that customization allows users to know what to expect from the programs they have configured: as an example, a media player can be configured not only to play the songs a user likes, but it can also play them following a particular order which is specified inside a playlist. Even from this example it might seem that customization is preferrable to personalization, as it allows users to have full control of their systems, this is also useful to understand why sometimes personalization could be much better than customization. After all, who does not ever get bored of always listening to the very same sequence of songs? Systems like Last.fm or Pandora3 have a great success lately as they provide personalization on radio streams: users can choose the bands or the genres they like most and, thanks to a system that learns their preferences, they listen not only to the songs they already know, but also to other unknown ones that they might like given their profile. In an interconnected world where the songs we know will always be much less than the ones we do not (and, by analogy, where all the Web pages we can read will be just a tiny part of the ones that are published), personalization has the advantage of providing us with new, interesting information which suits our taste. A huge limit of personalization, however, is that it highly relies on the user profile: on the one hand this affects the system precision, as profiles often have to be built from scratch and it takes time for the system to learn users��� preferences on the other hand, giving away their personal information is often a problem for users, who want to protect their privacy and security as much as they can. Summarizing, both customization and personalization have their pros and cons: ��� customization allows to have a finer grained control on the system, allowing users to know what to expect however, already knowing what to expect is sometimes boring and users might need to know too many technical details, which could make actual customization unfeasible for beginners. Also, as configurations usually show only the details of the system which are exposed to users, they might give them the false feeling of having control on something they can only see in part. ��� personalization is less predictable and shows potentially new and interesting information, requiring virtually no technical knowledge on the user���s side. However, it takes time to train and it works on a model of the user prefer- ences (the profile) which can be wrong, limited, or incomplete. Also, the way the profile is used to generate the final results, and often the profile itself, are usually hidden to users, so they can only take advantage of what they are given, hoping it is going to provide something useful for them. The impos- sibility of choosing how their own profiles are used, together with concerns 3 http:/www.last.fm, http://www.pandora.com.
about their privacy, often make users choose for the easiest choice, that is eliminate personalization4. Starting from these assumptions, we decided to give users the chance of cus- tomizing personalization, allowing them to access their own profiles with differ- ent layers of abstraction and providing them with an easy way to develop, share, and run applications which use their profiles to do something useful. Even if the number of users which are also programmers is small, both literature [1] and real-world examples (see Section 2.1) show that it is possible to exploit the different levels of user engagement to have different qualities of participation. For our experiments we chose a very specific context: user history and book- marks within the Firefox browser. We then developed an ontology to describe this knowledge and a set of tools that provide the following functionalities: ��� offline conversion of Firefox 3.0 history and bookmarks to RDF ��� a framework for the development of personalization plugins, in the form of a Firefox extension which updates the ontology in realtime (i.e. while the user is browsing the Web) and uses information taken from it to customize the Web experience. Finally, we developed some example personalization plugin which allow for information visualization, augmented browsing, and website customization. The report is organized as follows: in Section 2 we describe the technologies and the software we used and the related work in Section 3 we describe our approach and motivate our choices in Section 4 we describe the architecture of our project and show the most important details of our software in Section 6.1 we evaluate the project and in Section 7 we conclude and suggest future developments. 2 Prior work Semantics and personalization have already been studied from different point of views. As an example, [2] provides some papers collected for the Semantic Web Personalization Workshop that took place at the 3rd European Semantic Web Conference in Budva, Montenegro. Semantics can be used to provide better recommendations. [3] uses an on- tology do describe a domain and maps keywords extracted from Web pages to concepts inside the ontology. The ontology terms are used to annotate the Web content and users��� navigational patterns, and at the same time to do word sense disambiguation. The personalization framework built onto this ontology is then used to enhance the recommendation process with content semantics. [4, 5] use ontologies as a base to calculate similarity between items on a website (respectively, Web pages or documents in a bibliographic peer-to-peer 4 A very interesting real-world example of ���customization to disable per- sonalization��� is shown at http://googlesystem.blogspot.com/2007/04/ how-to-disable-google-personalized.html.