city trip information about the monuments or nice restaurants in the neighbourhood. .... to watch videos, although looking at pictures is perfectly possible). ..... Pervasive Systems & Computing (part of the 2006 World Congress in. Computer ...
Context Based Selection of User Generated Content Matthias Strobbe, Olivier Van Laere, Bruno Volckaert, Filip De Turck, Bart Dhoedt, Piet Demeester Ghent University - IBBT - IMEC Department of Information Technology Gaston Crommenlaan 8 bus 201, 9050 Gent, Belgium
Abstract— Nowadays, there is a lot of interest in contextaware services, especially those services taking user interests into account. An important example is the automated filtering of the overwhelming amount of information available on the Internet. There is a clear need for services taking the context of the user into account to provide him with the information he needs in a particular situation. In this paper such a personalized content service is presented. The presence state of the user and personal interests are used to automatically fetch content from the Internet that might interest the user in his current situation. The service is implemented on top of a context aware service platform using ontologies and rule based reasoning for gathering and representing the context of the user and inferring his presence state. Furthermore some performance results for the context platform are presented.
I. I NTRODUCTION As broadband Internet access becomes available to the greater audience, almost any user can seamlessly upload homemade pictures, audio, amateur videos, etc. to the Internet. The past few years, the amount of user generated content has rised enormously. Many websites targeting these types of content spring to mind: Flickr [1], Google Video [2], YouTube [3], Picasa [4], etc. Also, community websites gain lots of popularity as millions of users feel the need to interact with these sites. Think of communities like Facebook [5] or MySpace [6]. The downside of this overwhelming amount of content is that users are experiencing more and more difficulties searching and identifying the content they need in a specific situation. At work this might be the latest stock exchange quotes, on the way home the timetables of public transportation and during a city trip information about the monuments or nice restaurants in the neighbourhood. So, some automated filtering should be performed on the available content before these are presented to the user. Moreover, intelligent services taking the context of the user and his/her personal interests into account can provide an efficient way of filtering and ranking the content in such a manner that the user easily gets what is of interest to him. Promising technologies to overcome these problems can be found in the Semantic Web, the vision on the web where all information is understandable by computers, so that they can find, share and combine information on the Web. For example ontologies provide a formal description of concepts, terms, and relationships within a given knowledge domain. These formal descriptions make it possible for computers to analyze and process the data on the Web.
In this paper we present a personalized content service (III). This service uses the presence state of the user along with his personal interests to fetch content from the Internet that might interest him in his current situation. The service automatically fetches content from sites as Flickr, YouTube and Last.FM [7] by using their available APIs. This service was implemented on top of a context platform for retrieving and interpreting the context of the user (IV). The platform uses ontologies for structuring the gathered context information in a knowledge base and rules for interrelating the different context aspects of a user and deriving new high-level context information like the specific status of the user. For example by combining the location of a user and his home address stored in his profile the status ’atHome’ can be derived. In section V we give some implementation details about both the context platform and the personalized content service. Some performance results are presented in section VI. Finally in section VII future work is stated and our conclusions are presented in section VIII. II. R ELATED W ORK A. Semantic Web The original vision on the Semantic Web was expressed by Tim Berners Lee [8]: I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web, the content, links, and transactions between people and computers. A Semantic Web, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The intelligent agents people have touted for ages will finally materialize. An important aspect of the Semantic Web is the formal description of concepts, terms, and relationships within a given knowledge domain. In this way, a machine can process knowledge itself, using processes similar to human deductive reasoning and inference, thereby obtaining more meaningful results and facilitating automated information gathering and research by computers. Several descriptive languages were developed for this purpose. Well known examples are Resource Description Framework (RDF [9]) and Web Ontology Language (OWL [10]). The Semantic Web is still far from being realized, but recent specifications and data formats as RDFa [11], eRDF [12] and
microformats [13] allow semantic data to be embedded in HTML pages. Furthermore the GRDDL (Gleaning Resource Descriptions from Dialects of Language [14]) mechanism allows existing material (including microformats) to be automatically interpreted as RDF, bringing the realization of the Semantic Web a step closer. More and more websites, especially community sites like Flickr, YouTube, etc. also publish APIs allowing developers to access the data of the site by just calling the appropriate web service. B. Context Awareness Context, by definition [15] is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and application themselves. This means context involves relevant information about real world entities that needs to be described in a structured model, one way or another, to facilitate the sharing of the collected information. In the past, several context modeling approaches have been proposed, such as simple key-value pairs or markup language based models like CC/PP [16]. Nowadays ontologies are widely used. They are used to structure an established vocabulary of terms and concepts within a specific domain of interest. This is done in a way similar to multiple inheritance hierarchies: expressing knowledge about concepts (classes of subjects) and their attributes, as well as their interrelationships. Concepts can be distinguished by axioms and definitions stated in a formal language, such as description logics. Ontologies enable knowledge acquisition, sharing, reasoning and reuse by formally specifying the concepts in some area of interest and the relationships among them. As such, ontologies provide semantic uniformity and interchangeability of context information in a heterogeneous setting such as pervasive computing environments. Recently, several architectures were developed with formal context models based on ontologies. Examples are ACAI [17], CoBrA [18], the architecture of the AMIGO IST project [19], SOCAM [20] and our Context Aware Service Platform ( [21], [22]). In [23] an analysis of several existing ubiquitous computing systems is made with respect to the context model. III. P ERSONALIZED C ONTENT S ERVICE The goal of the Personalized Content Service is to provide users with content that might interest them in their current situation. So at work this might be RSS news feeds and at home funny movies from YouTube. Moreover the suggested content should be well suited for the device of the user. For example on a mobile phone, no movies are shown as this might require too much processing capabilities. Instead pictures could be shown. To select content from a certain source (e.g. Flickr) the personal interests of the user are used. We implemented the Personalized Content Service as a web application. Figure 1 gives an example. It shows content for user olivier@achterberg who is logged in on his desktop pc.
Fig. 1.
Screenshot of the Personalized Content Service
As one of the interests of Olivier is scuba diving, some pictures related to diving are shown. A. Context Model For the Personalized Content Service an ontology has been designed. This ontology is shown in figure 2. Central in the ontology is the concept of a User. This User has one or more Devices with certain device capabilities. He has also a certain Location and a Profile containing static information like Home Address or Work Address but also more dynamic information such as personal Interests and ContentSources the user is interested in. The current situation of a User (his presenceStatus) is derived by rules just like the ContentSource to be used in a certain situation. This will be further explained in section III-C. B. Context Retrieval For this service several context aspects are needed: the location of the user, his personal interests, the characteristics of the device he is using, etc. We simulated a number of these aspects, like the location of the user, while implementing the service, but due to the modular design of the context platform (see section IV) it is easy to replace the simulated information with real context data. Real location information could for example be retrieved using GPS which becomes widely integrated on handheld devices. For cellular phones the network operator has an idea of the location of the user by looking at the base station the user is connected to (cell ID). Also more advanced techniques like trilateration or triangulation could be used. As WiFi access points are widespread, localization techniques based on WiFi could also be used [24], [25]. Inside a company one
ContextAspect
latitude (int)
Location
Address
longitude (int)
has Work Address
has Home Address
has Location
User
street (string) number (string) zipcode (string) city (string) country (string)
category (string) hasProfile
Profile
hasInterest
Interest
name (string) levelOfInterest (string)
userID (int)
hasContentSource
usesDevice
hasDevice
presenceStatus (string)
firstName (string) surName (string) address (string) telephone (string) age (int) gender (string)
E.g. like, neutral, dislike
name (string)
Device ContentSource deviceID (String) type (String) memory (int) cpu (int) screenWidth (int) screenHeight (int)
extraKeyword (string) importantKeyword (string)
Fig. 2.
Context Model of the Personalized Content Service
could use SNMP to query the switches and determine which devices are plugged in at which locations [22]. To obtain the device properties of mobile devices UAProf profiles [26] and WURFL [27] can be used. C. Rule Based Reasoning Our context platform gathers all context information in a knowledge base (see section IV) according to an ontology. By reasoning on this information, new information can be derived. For this service we used a rule based reasoner to derive the specific situation of a user and the preferred content source in that situation. To infer the presence state of the user, the rules compare the current location of the user with locations in his profile like a work address or home address. This results in states as ’atWork’ and ’atHome’. Rules can also compare the location of the user with some predefined coordinates of locations important for that user. For example the house of friends, the location of a sportsclub, etc. By using rules it’s very easy to add new locations. As an illustration, the following rule adapts the presence state of a user to ’atHome’ when his location matches with his home address. [presenceUserAtHome: (?x rdf:type casp:User) noValue(?x casp:presenceStatus ’atHome’) (?x casp:hasProfile ?p)
(?p casp:hasHomeAddress ?h) (?h casp:latitude ?la1) (?h casp:longitude ?lo1) (?x casp:hasLocation ?loc) (?loc casp:latitude ?la2) (?loc casp:longitude ?lo2) equal(?la1 ?la2) equal(?lo1 ?lo2) (?x casp:userID ?uID) -> fireRuleEvent(’presence’ ?uID ’atHome’)]
The rules determining the preferred content source of the user can take several kinds of context information into account, such as his presence state (a user will consume other content ’atHome’ than ’atWork’) or the device capabilities of the device he is using (on a smartphone it might be difficult to watch videos, although looking at pictures is perfectly possible). Together with the actual content source (e.g. Flickr), some extra parameters can be set, such as extra keywords to be used when searching for actual content (apart from the interests in the personal profile) or some important keywords to be exclusively used for the content search. For example when you are at the diving club you only want to see pictures about diving. This is illustrated by the rule below. Once again it’s easy to add new situations or cope with changing user preferences. [contentOlivierAtDivingClub:
(?x rdf:type casp:User) (?x casp:userID ’olivier@achterberg’) (?x casp:hasProfile ?y) (?y casp:hasContentSource ?z) noValue(?z casp:name ’flickr’) (?x casp:presenceStatus ’atDivingClub’) -> fireRuleEvent(’contentsource’ ’olivier@achterberg’ ’flickr?important keyword=diving’)]
As part of the personalized content service a user friendly graphical user interface could be provided allowing end users to easily add, remove and adapt the rules of the service. IV. A RCHITECTURE For the retrieval and interpretation of the context of the user we used our Context Aware Service Platform ( [21], [22]). This platform takes care of the aggregation and abstraction of context information. Context information is gathered in a knowledge base where it is structured based on ontologies. A rule based reasoner makes it possible to analyze and validate the context information and to infer new information. The information in the knowledge base is offered to services and third parties. Figure 3 gives an overview of the architecture of our platform. The different layers with their main components are discussed in detail below. A. Persistence Layer The persistence layer ensures persistence of context information. This comprises static context information about users, devices, the environment, etc., but can also be dynamic information, like positions of users, together with a timestamp. In this way, the history of information can be exploited and trends or habits can be derived.
D. Context Framework Layer The context framework layer is responsible for the aggregation of the context information according to a formal context model and the derivation of implicit information by reasoning. Context information coming from the context gathering layer is translated to OWL by the context providers and gathered in a knowledge base. All context providers implement a common interface making them easily pluggable into the platform. As this knowledge base contains all context information, it’s the single contact point for services that are in need of context information. Derivation of extra knowledge is done by providing rules. These are executed by a reasoner using a rule engine providing a forward chaining, a backward chaining and a hybrid execution model. Rules can also be used for validation purposes. For example, if several context providers deliver the same kind of information, there will probably be inconsistencies from time to time. Based on reliability and accuracy parameters, a decision can be made on the correctness of the information. The query services enable and facilitate the retrieval of context information. They translate OWL constructs to objects and expose an application interface towards the services. This relieves application developers from writing error-prone queries and translating the results to objects themselves. E. Application Layer The application layer uses the context information. When a service needs information related to several kinds of context information, a complex query has to be executed on the knowledge base. At that moment, the query services are no longer sufficient. But for a certain application domain, a complex query service can be provided with some frequent occuring queries that can be used by other services, relieving the latter once again from implementing these queries themselves. Communication with other platforms can easily be implemented by providing web services that export the results of the (complex) query services using SOAP.
B. Device Layer The device layer includes all devices and software on those devices that deliver context information. For example, a WiFi client on a PDA that measures the signal strengths of access points in the neighbourhood and sends this information to a location system. C. Context Gathering Layer The context gathering layer takes care of the acquisition of specific context information. For instance location info or presence info. To improve the modularity of the platform, context gathering interfaces are defined between the context gathering layer and the context framework layer for some important types of context information such as location, presence, time, etc. Implementing such an interface is sufficient for a context gathering component to be pluggable into the platform. Components implementing the same interface can be easily interchanged.
F. Modularity and scalability Each layer, and therefore the entire platform, is designed in a modular way with a limited number of dependencies. If a context gathering component is stopped or removed from the context gathering layer, the context provider in the context framework layer will detect this removal and the context information in the knowledge base will be updated. On the other hand, if a context provider is removed from the context framework layer, the context gathering components will notice that there is no suitable context provider available and no information will be exchanged. This way, components can be added, started, updated, removed or stopped while the rest of the platform keeps running, the so called white board model [28]. The modular design allows a deployment in a distributed manner. If the load increases, the databases can be deployed on several servers, the context gathering components can be spread in the network and also the knowledge base can be
Context Aware Platform Application Layer
Persistence Layer
Complex Query Service
Web Service
Service
Web Interface
...
APPLICATION INTERFACES Context Framework Layer Query Services Location
Data Presence
Time
Environment
...
Context Interpreter Reasoner
Knowledge Base
Context Model
Rules
Context Providers Location
Presence
Time
Environment
...
Data
CONTEXT GATHERING INTERFACES Context Gathering Layer Location System
Presence Information System
... Data
Device Layer RFID Client
WiFi Client
Fig. 3.
Overall CASP Architecture
deployed in a distributed manner. This implies tools for automatic duplication of information, information synchronization and distributed queries. V. I MPLEMENTATION In this section we give some implementation details for our Context Aware Service Platform and for the Personalized Content Service. A. Context Aware Service Platform 1) OSGi: The Context Aware Service Platform is currently implemented on an OSGi (Open Services Gateway initiative [29]) service platform, a component-based Java environment which offers standardized ways to manage the software components lifecycles. It’s an open platform intended for the delivery and management of services to all types of networked devices in home, vehicle, mobile or other environments. Software components can be installed, updated, or removed on the fly from anywhere in the network. This allows us to add, update or remove context gathering components, context providers or services at any moment. In addition, the OSGi specifications define a number of standard component interfaces for common functions such as HTTP servers, configuration, logging, security, user administration, XML and UPnP, simplifying development. 2) OWL: Our context models are written in OWL (Web Ontology Language), an ontology language proposed by W3C. This is a vocabulary extension of RDF. OWL allows automated
processing of terms and the relationships between terms in vocabularies, by representing the meaning of those terms. Domain knowledge can be accurately described by means of classification, modeling dependencies and restrictions on these dependencies. Other ontologies can be imported, encouraging reuse and improving scalability. 3) Jena2: For the implementation of the knowledge base and reasoner the Jena2 Semantic Web Toolkit [30] was used. This Java library offers an OWL API and a rule-based inference engine. 4) SPARQL: Queries performed on the knowledge base by the query services are written in SPARQL, a protocol and query language for RDF. It consists of the syntax and semantics for asking and answering queries against RDF graphs. Both the query language [31] and protocol [32] are recently standardized. SPARQL contains capabilities for querying by triple patterns, conjunctions, disjunctions and optional patterns. It also supports constraining queries by source RDF graph and extensible value testing. Results of SPARQL queries can be ordered, limited and offset in number, and presented in several different forms. B. Personalized Content Service For the implementation of the Personalized Content Service we used the public APIs of Flickr [33], Last.FM [34] and YouTube [35]. Furthermore we used the ROME library [36] to fetch RSS feeds from news sites.
In this section some performance tests on the context aware service platform are presented. The platform runs on a rack mount PC with an AMD Athlon 3000+ 64-bit processor (2 GHz) with 2 GB RAM. A. Reasoning performance As mentioned in section III-C an important aspect of our architecture is the reasoning on the context information by using rules. Of course, to be useful for applications, the performance of the reasoning process has to be good. Especially when the knowledge base contains lots of users and devices it may take a while to evaluate the rules when a context aspect is updated. 8000
B. Querying performance 7000
6000
Averrage Resp ponse tim me (ms)
VI. E VALUATION
5000
4000
3000
2000
1000
0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000
Averaage Proce essing Tim me (ms)
7000
Number of Users
6000
Fig. 5. Response times of the web services for different sizes of the knowledge base.
5000
4000
3000
2000
1000
0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000
Number of Users
Fig. 4. Processing times of the rule-based reasoning for different sizes of the knowledge base.
To test the performance of our rule system we populated the knowledge base with dummy users, each having three devices. Then we changed the location of one of the users, for example from his home to his office. This has as effect that two rules fire. One for adapting the presence status of the user and one for updating the content source. We measured the processing time from the location update until the personalized content service is notified that the content source of the user has changed. We performed these measurements for several sizes of the knowledge base and repeated each experiment 100 times for each size. Figure 4 shows the average processing times for the different number of users (and corresponding devices) in the knowledge base. Reasoning time is very low for small knowledge bases with only a few hundred users, but goes up fast for larger knowledge bases, following a quadratic function. It takes more than 7 seconds for a knowledge base containing 1000 users. With these 1000 users, there will probably be very frequent location and other context changes so that the system running on one server won’t be performant enough. To solve this problem the system could be distributed over several servers.
The Personalized Content Service retrieves context data from the knowledge base by querying several query services. These query services are at the same time also web services and together they form an API allowing other services or third parties, possibly running at the other side of the planet, to request the context information they need. The performance of these web services was measured by calling different functions offered by the web services and measuring the response times. The measurements were again executed for different sizes of the knowledge base and repeated 100 times for each size. Figure 5 shows the results. These are very similar to the results of figure 4. Response times are low for small knowledge bases but increase rapidly for larger knowledge bases, again following a quadratic function. Caching techniques and distribution of the system over several servers could make the system more performant for larger sets of users. VII. F UTURE W ORK At the moment the user interests are statically defined by the user. It might be interesting if the profile of the user could be determined dynamically by for example analyzing the browsing behaviour of the user or analyzing the tags a user creates in social community sites like del.icio.us [37], Flickr, etc. Moreover user feedback could be used to keep the profile up to date. Possible examples of user feedback are clicking on suggested content to see it in more detail, recommending suggested content to other users, etc. We already performed some research on a dynamic user profile based on a keyword tree [38], [39] and we will combine that research with the research presented in this paper. VIII. C ONCLUSION In this paper we presented a personalized content service that uses the context of the user and his personal interests
to automatically provide him with content that might interest him in his current situation. The service was built on top of a context aware service platform using ontologies and rule based reasoning for inferring the presence state of the user and the content source to be used. By using rules the service is very flexible. Different context aspects can be combined in numerous ways. This way the service can be personalized at will. To conclude the paper, the reasoning and querying performance of the context platform was tested for different numbers of users. ACKNOWLEDGMENT The research presented in this paper is partially funded by the IBBT Croslocis project. Matthias Strobbe is a research assistant of the Fund for Scientific Research - Flanders (F.W.O.-Vlaanderen). Filip De Turck is a postdoctoral Fellow of the Fund for Scientific Research - Flanders (F.W.O.-Vlaanderen). R EFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]
[17]
[18]
[19] [20]
[21]
“Flickr.” [Online]. Available: http://www.flickr.com/ “Google video.” [Online]. Available: http://video.google.com/ “Youtube.” [Online]. Available: http://www.youtube.com “Picasa.” [Online]. Available: http://picasa.google.com/ “Facebook.” [Online]. Available: http://www.facebook.com/ “Myspace.” [Online]. Available: http://www.myspace.com “Last.fm.” [Online]. Available: http://www.last.fm M. Berners-Lee, Tim; Fischetti, Weaving the Web. Harper San Francisco, 1999. Dave Beckett, “Rdf/xml syntax specification (revised).” http://www.w3.org/TR/rdf-syntax-grammar/, 2003. W3C, “OWL Web Ontology Language Overview,” [online]. [Online]. Available: http://www.w3.org/TR/owl-features “Rdfa in html overview.” [Online]. Available: http://www.w3.org/2006/ 07/SWD/RDFa/ “Embedded rdf: Rdf in html.” [Online]. Available: http://research.talis. com/2005/erdf/wiki/Main/RdfInHtml “microformats,” http://microformats.org/. [Online]. Available: http: //microformats.org/ “Gleaning resource descriptions from dialects of languages (grddl).” [Online]. Available: http://www.w3.org/TR/grddl/ Dey, A. K., “Providing architectural support for building context-aware applications.” Ph.D. dissertation, Georgia Institute of Technology, 2000. Graham Klyne, Franklin Reynolds, Chris Woodrow, Hidetaka Ohto, Johan Hjelm, Mark H. Butler and Luu Tran, “Composite capability/preference profiles (cc/pp): Structure and vocabularies 1.0,” http://www.w3.org/TR/2004/REC-CCPP-struct-vocab-2040115/, 2004. M. Khedr and A. Karmouch, “Acai: agent-based context-aware infrastructure for spontaneous applications,” Journal of Network and Computer Applications, vol. 28, no. 1, pp. 19 – 44, January 2005. Harry Chen, “An Intelligent Broker Architecture for Pervasive ContextAware Systems,” Ph.D. dissertation, University of Maryland, Baltimore County, December 2004. AMIGO IST Project, http://www.hitechprojects.com/euprojects/amigo/index.htm. Gu, T., Pung, H.K., Zhang, D.Q., “A service-oriented middleware for building context-aware services,” Journal of Network and Computer Applications (JNCA), vol. 28(1), pp. 1–18, 2005. M. Strobbe, G. De Jans, J. Hollez, N. Goeminne, B. Dhoedt, F. De Turck, P. Demeester, T. Pollet, and N. Janssens, “Design of an open contextaware platform enabling desk sharing office services,” in Proceedings (on CD-ROM) of PSC2006, the 2006 International Conference on Pervasive Systems & Computing (part of the 2006 World Congress in Computer Science), June 2006.
[22] Matthias Strobbe, Jan Hollez, Gregory De Jans, Olivier Van Laere, Jelle Nelis, Filip De Turck, Bart Dhoedt, Piet Demeester, Nico Janssens, Thierry Pollet, “Design of CASP: an Open Enabling Platform for Context Aware Office and City Services,” in Proceedings of MUCS 2007, 4th International Workshop on Managing Ubiquitous Communications and Services, May 2007. [23] Michael Blackstock, Rodger Lea and Charles Krasic, “Toward wide area interaction with ubiquitous computing environments,” in Proceedings of EuroSSC 2006, October 2006. [24] Y. Cheng, Y. Chawathe, A. LaMarca, and J. Krumn, “Accuracy characterization for metropolitan-scale wi-fi localization,” in Proceedings of Mobisys 2005, 2005. [25] “Skyhook wireless.” [Online]. Available: http://www.skyhookwireless. com/howitworks/ [26] “Uaprof profile repository.” [Online]. Available: http://w3development. de/rdf/uaprof repository/ [27] “Wurfl, the wireless universal resource file.” [Online]. Available: http://wurfl.sourceforge.net/ [28] OSGI Alliance, “Listeners considered harmful: The ”whiteboard” model,” Technical Whitepaper. [29] The Open Services Gateway Initiative (OSGi), [online], http://www.osgi.org. [30] Jena 2 Semantic Web Toolkit, [online], http://jena.sourceforge.net/. [31] W3C, “SPARQL Query Language for RDF,” [online], 2006, http://www.w3.org/TR/rdf-sparql-query. [32] W3C, “SPARQL Protocol for RDF,” [online], 2006, http://www.w3.org/TR/rdf-sparql-protocol. [33] “Flickr api.” [Online]. Available: http://www.flickr.com/services/api/ [34] “Last.fm api.” [Online]. Available: http://www.audioscrobbler.net/data/ webservices/ [35] “Youtube data api.” [Online]. Available: http://code.google.com/apis/ youtube/overview.html [36] “Rome: Rss/atom syndication and publishing tools.” [Online]. Available: https://rome.dev.java.net/ [37] “del.icio.us.” [Online]. Available: http://del.icio.us [38] Olivier Van Laere, Matthias Strobbe, Samuel Dauwe, Bart Dhoedt, Filip De Turck, Piet Demeester, “Interest Based Selection of User Generated Content for Rich Multimedia Services,” in Accepted for WIAMIS 2008, the 9th International Workshop on Image Analysis for Multimedia Interactive Services, May 2008. [39] Matthias Strobbe, Olivier Van Laere, Samuel Dauwe, Filip De Turck, Bart Dhoedt, Piet Demeester, “Efficient Management of User Interests for Personalized Communication Services,” in Accepted for MUCS 2008, the 5th International IEEE Workshop on Management of Ubiquitous Communications and Services, April 2008.