‘the user’s birthday is 09/05/1975’ or ‘the user has a hearing disabil-ity’ as well as context-dependent values like ‘the user rates program p with value 5in the evening’.. If the system
Trang 1Via the User Model Service (UMS) it is possible to set both context-independentvalues like e.g ‘the user’s birthday is 09/05/1975’ or ‘the user has a hearing disabil-ity’ as well as context-dependent values like ‘the user rates program p with value 5
in the evening’ However, all these statements must adhere to the user model schema(containing the semantics) which is publicly available In this way, the system ‘un-derstands’ the given information, and is thus able to exploit it properly If the systemfor example needs to filter out all adult content for users whose age is under 18 yearsold, the filter needs to know which value from the user profile it needs to parse inorder to find the user’s age Therefore, all the information added to the profile mustfit in the RDF schema of the user model However, since we are working with publicservices, it might be that an application wants to add information which does not fityet in the available schema In that case, this extra schema information should first
be added to the ontology pool maintained by the Ontology Service Once these extraschema triples are added there, the UMS can accept values for the new properties.Afterwards, the FS can accept rules which make use of these new schema properties
Context
Like previously mentioned, in order to discern between different situations in whichuser data was amassed we rely on the concept of context The context in which anew statement was added to the user profile tells us how to interpret it In broadersense, context can be seen as a description of the physical environment of the user
on a certain fixed point in time Some contextual aspects are particularly importantfor describing a user’s situation while dealing with television programs:
Time: When is a statement in the profile valid? It is important to know when aspecific statement holds A user can like a program in the evening but not in themorning
Platform/Location: Where was the statement elicited? It makes a difference toknow the location of the user (on vacation, on a business trip, etc.) as his interestscould vary with it Next to this we can also keep the platform, which tells uswhether the information was elicited via a website, the set-top box system oreven a mobile phone
Audience: Which users took part in this action at elicitation time? If a programwas rated while multiple users where watching, we can to some extent expectthat this rating is valid for all users present
Note that context can be interpreted very widely Potentially one could for examplealso take the user’s mood, devices, lighting, noise level or even an extended socialsituation into consideration Where this in theory indeed could potentially improvethe estimation of what the user might appreciate to watch, in our current practicemeasuring all these states is considered not very practical with current technologiesand sensor capabilities
Trang 2Working with context is always constrained by the ability to measure it TheUMS allows for client applications to enter a value for these three aspects (time,platform/location, audience) per new user fact added However, the clients them-selves remain responsible to capture this information Considering the impact ofcontext on personalization in this domain, it would be very beneficial for the clientapplications to try to catch this information as accurate as possible.
Events
Previously, we made the distinction between independent and dependent statements We will refer to the latter from now as ‘Events’ because theyrepresent feedback from the user on a specific concept which is only valid in a cer-tain context This means that for every action the user performs on any of the clients,the client can communicate this event to the UMS We defined a number of eventswhich can occur in the television domain like e.g adding programs to the user’s fa-vorites or to the recording list, setting reminders and/or alerts for certain programs,ranking channels, rating programs, etc All different events (modeled as the classSEN:Event) are defined in the event model as shown in Figure5 Each event has
context-a specific type (e.g ‘Wcontext-atchEvent’, ‘Rcontext-ateEvent’, ‘AddToFcontext-avoritesEvent’, FromFavoritesEvent’, etc.), one or more properties, and occurs in a specific context
‘Remove-as can be seen in the RDF schema Each event can have different specific ties For example, a ‘WatchEvent’ would have a property saying which program was
proper-Fig 5 Event model
Trang 3watched, when the user started watching and how long he watched it Since all theseevent properties are so different from each other, we modeled this in a generic way
by the class ‘SEN:EventProperty’ This class itself then has a property to model itsname, value and data type
The SEN:Context class has four properties modeling the contextual aspects asexplained above The SEN:onPlatform property contains the platform from whichthe event was sent, SEN:onPhysicalLocation refers to a concept in the Geonamesontology which will only be filled in once we are able to accurately pinpoint theuser’s location The SEN:hasTime property tells us the time of the event by referring
to the Time ontology and with the SEN:hasParticipant property we can maintain allthe persons which were involved in this event
All the information we aggregate from the various events, is materialized in theuser profile In the user profile this generates a list of assertions which are filteredfrom the events generated by the user and act on a certain resource like a program,person, genre, etc All incoming events are first kept in the short term history Whenthe session is closed, important events are written to the long term history and theshort term is discarded Sometimes an event is not relevant enough to influence theprofile (e.g a WatchEvent where the user watched a program for 10 seconds andthen zapped away) After a certain amount of time, events in the long term historyare finally materialized in the user profile However, it might for example be possiblethat multiple events are aggregated into one user profile update, like when detecting
a certain pattern of events that might be worth drawing conclusions from (e.g aWatchEvent on the same program every week) Whenever a user starts exhibitingperiodic behavior, e.g watching the same program at the same time of a certain day
in the week, the SenSee framework will notice this in the generated event list andcan optionally decide to materialize this behavior in the profile The aggregation ofassertions in the user profile can be seen as a filter over the events, and the events asthe history of all relevant user actions For this aggregation we have several differentstrategies depending on the type of event
Cold Start
Systems which rely heavily on user information in order to provide their key tionality, usually suffer from the so called cold start problem It basically describesthe situation in which the system cannot perform its main functionality because ofthe lack of well-filled user profiles This is not different in the SenSee framework Inorder to make a good recommendation the system has to know what the user mostlikely will be interested in When a new user subscribes to the system, the UMSrequires that besides the user’s name also his age, gender and education are given tohave a first indication what kind of person it is dealing with Afterwards, the UMStries to find, given these values, more user data in an unobtrusive way Our approachcan basically be split in two different methods:
Trang 4func- Via import: importing existing user data, by for example parsing an already isting profile of that user
ex- Via classification: by classifying the user in a group from which already someinformation is known
Both of these methods can potentially contribute to the retrieval of extra informationdescribing the current user In the following two sections we show how exactly weutilize these two methods to enrich the user profile
Import of known user profiles
Looking at the evolution and growth of Web 2.0 social networks like Hyves, book11, LinkedIn12, Netlog13, etc we must conclude that users put a lot of effortinto building an extensive online profile However, people do not like to repeat thisexercise multiple times As a consequence, some networks often grow within a sin-gle country to become dominant while remaining much less known abroad Hyvesfor example is a huge hit in the Netherlands, while almost not known outside.Looking at these online profiles, it is truly amazing how much information peoplegather on these networks about themselves Therefore it is no surprise that there hasbeen a lot of effort in trying to make benefit out of this huge amount of user data.Facebook started with the introduction of the Facebook platform (a set of APIs)
Face-in May 2007 which made it easy to develop software and new features makFace-inguse of this user data Afterwards, also others saw the benefit of making open APIaccess to user profiles, Google started (together with MySpace and some other socialnetworks) the OpenSocial initiative14which is basically a set of API’s which makesapplications interoperable with all social networks supporting the standard
In the SenSee framework we have built a proof of concept on top of the Hyvesnetwork The choice for this particular network was straightforward since it is byfar the biggest network in the Netherlands with over 7.5 million users (which makesalmost 50% of the population) What makes these social networks particularly inter-esting to consider, is the usually large amount of interests accumulated there by theusers People utter interest in television programs, movies, their favorite actors, di-rectors, locations and much more If we can find here that a user loves the Godfathertrilogy, it tells us a lot about the user’s general interests
In Figure6we see a part of an average Dutch person’s Hyves profile, in which
we specifically zoomed in on his defined interests Hyves defines a set of categories,among which we see (translated): movies, music, traveling, media, tv, books, sports,food, heroes, brands, etc Most of these are interesting for us to retrieve, as they ex-pose a great deal of information about this person’s interests Given the username
11 http://www.facebook.com/
12 http://www.linkedin.com/
13 http://www.netlog.com/
14 http://code.google.com/apis/opensocial/
Trang 5Fig 6 Example Hyves profile interests
and password of a Hyves account our crawler parses and filters the most interestingvalues of the user’s profile page However, the personalization layer’s algorithmswork with values and concept defined in the semantic graph Therefore, in order to
be able to exploit interests defined in the Hyves, first a match of those strings inthe available categories to concepts in our ontological graph must be made Afterall, the string ‘Al Pacino’ only becomes valuable if we are able to match this string
to the ontological concept (an instance of the Person class) representing Al Pacino.Once a match is made, an assertion can be added to the user profile indicating thatthis user has a positive interest in the concept ‘Al Pacino’ Depending on the cate-gory of interest a slightly different approach of matching is applied In the categories
‘movies’ and ‘tv’ we try to find matches within our set of TV programs and personspossibly involved in those programs As Hyves does not enforce any restrictions onwhat you enter in a certain category, there is no certainty on the percentage we canmatch correctly In the ‘media’ category people can put interests in all kinds of me-dia objects like newspapers, tv channels, magazines, etc The matching algorithmcompares all these strings to all objects representing channels and streams In this
Trang 6example, ‘MTV’, ‘Net 5’, ‘RTL 4’, etc are all matched to the respective televisionchannels The same tactics are applied on the other relevant categories, and thus wematch ‘traveling’ (e.g ‘afrika’, ‘amsterdam’, ‘cuba’, etc.) to geographical locations,
‘sport’ (e.g ‘tennis’) to our genre hierarchies and ‘heroes’ (e.g ‘Roger Federer’) toour list of persons
After the matching algorithm is finished, in the best case the user’s profile nowcontains a set of assertions over a number of concepts of different types These asser-tions then in turn will help the data retrieval algorithms in determining which otherprograms might be interesting as well Furthermore, we also exploit our RDF/OWLgraph to deduce even more assertions Knowing for example, that this user likes themovie ‘Scarface’ in combination with the fact that our graph tells us that this moviehas the genre ‘Action’ we can deduce that this user has a potential interest in thisgenre The same holds for an interest in a location like ‘New York’ Here the Geon-ames ontology tells us exactly which areas are neighboring or situated within ‘NewYork’ and that it is a place within the US All this information can prove useful whenguessing whether new programs will be liked too While making assertions from de-ductions, we could vary the value (and thus the strength) of the assertion becausethe certainty decreases the further we follow a path in the graph It is in such casesthat the choice of working with a semantic graph really pays off Since all conceptsare interrelated, propagation of potential user interest can be well controlled anddeliver some interesting unexpected results increasing the chance of serendipitousrecommendations in the future
Classification of users in groups
Besides the fact that users themselves accumulate a lot of information in their onlineprofiles, there also has been quite some effort in finding key parameters to predictuser interests Parameter like age, gender, education, social background, monthlyincome, status, place of residence, etc all can be used to predict pretty accuratelywhat users might appreciate However, to be able to benefit in terms of interests intelevision related concepts, we need large data sets listing, for thousands of persons,what their interests are next to their specific parameters Having such informationallows us to build user groups based on their similarity, to more accurately guess theinterests of a new user on a number of concepts After all, if is very likely that hewill share the same opinion on those concepts This approach is also known as col-laborative filtering, introduced in 1995 by Shardanand and Maes [22] and is alreadywidely accepted by commercial systems However, in order to be able to perform
a collaborative filtering algorithm, the system needs at least a reasonable group ofusers which all gave a reasonable amount of ratings Secondly, collaborative filter-ing is truly valuable when dealing with a more or less stable set of items like a list
of movies This is due to the ‘first rater’ problem When a new item arrives in theitem set, it takes some time before it receives a considerable amount of ratings, andthus it takes some time before it is known exactly how the group thinks about thisitem This is in particular a problem in the television world, where new programs
Trang 7(or new episodes of series) emerge constantly, making this a very quickly evolvingdata set However, in SenSee the current active user base is still reasonably smallfor being able to perform just any kind of collaborative filtering strategy Therefore,until the user base reaches a size that allows us to apply the collaborative filteringthat is desired, external groups are used to guess how a person might feel about acertain item As external data sets we among others use the IMDb ratings classified
by demographics
IMDb keeps besides a general rating over all of its items, also the ratings of allthese people spread over their demographics Besides gender, it also splits the ratingdata into four age groups By classifying the SenSee users in these eight specificgroups we can project the IMDb data on our users To show the difference betweenthe groups, let us take a look at the movie ‘Scarface’, which has a general IMDb rat-ing of 8.1/10 We see that on average, males under 18 years give a rating of 8.7/10while females over 45 years rate this movie 5.7/10 Like this example clearly shows,
it pays off to classify users based on their demographics Moreover, IMDb does notonly have ratings on movies, but also on television series and various other shows Ingeneral we can say that this classification method is very effective in the current sit-uation where our relevant user base selection remains limited (from the perspective
of collaborative filtering) Once more and more users rate more and more programs,
we can start applying collaborative filtering techniques ourselves exploiting ities between persons on one side and between groups and television programs onthe other side
similar-Personalized Content Search
This section describes the personalized content search functionality of the SenSeePersonalization component Personalization usually occurs upon request of the userlike when navigating through available content, when searching for something spe-cific by entering keywords, or when asking the system to make a recommendation
In all cases, we aim at supporting the user by filtering the information based on theuser’s own perspective The process affects the results found in the search in thefollowing aspects:
A smaller, more narrow result set is produced
Results contain the items ranked as most interesting for the user
Results contain the items most semantically related to any given keywords
Searching goes beyond word matching and considers semantic related concepts
Results are categorized with links to semantic concepts
Semantic links can be used to show the path from search query to results
We illustrate this by stepwise going through the content search process as it is picted in Figure7 Let us imagine the example that the user via the user applicationinterface enters the keywords “military 1940s” and asks the system to search Thisinitial query expression of keywords k ; : : : ; k / is analyzed in a query refinement
Trang 8de-Fig 7 Adaptation loop
process which aims at adding extra semantic knowledge By using the set of able ontologies, we first search for modeled concepts with the same name as thekeywords We can in this case get hits in the history and time ontologies, where re-spectively “military” and “1940s” are found and thereby now are known to belong
avail-to a hisavail-tory and time context Second, since it is not sure that content metadata willuse the exact same keywords, we add synonyms from the WordNet ontology, as well
as semantically close concepts from the domain ontologies In this case, apart fromdirect synonyms, a closely related concept such as “World War II” is found through
a semantic link of “military” to “war” and “1940s” to “1945” Furthermore it links it
to the geographical concept “Western Europe” which in turn links to “Great Britain”,
“Germany” etc However, this leads us to the requirement that the original keywordshould be valued higher than related concepts We solve this by adding a numericalvalue of semantic closeness, a In our initial algorithm, the original keywords andsynonyms receive an a value of 1.0, related ontology concepts within one node dis-tance receive a value of 0.75 and those two nodes away a value of 0.5, reducing withevery step further in the graph Third, we enrich the search query by adding every oc-currence we found together with a link to the corresponding ontology concept Thequery is in that process refined to a new query expression of keywords k1; : : : ; km/.m n/, with links from keywords to ontology concepts c1; : : : ; cm/, and corre-sponding semantic closeness values a1; : : : ; am/ Subsequently, the keywords inthe query are mapped to TV-Anytime metadata items, in order to make a searchrequest to the Metadata Service From this content retrieval process the result is acollection of CRID references to packages which has matching metadata
Trang 9The next step in the process is result filtering and ranking, which aims at ing rankings of the search result in order to present them in an ordered list with themost interesting one at the top Furthermore it performs the deletion of items in thelist which are unsuitable, for example content with a minimum 18 years age limit foryounger users The deletion is a straightforward task of retrieving data on the user’sparental guide limit or unwanted content types The rules defining this filtering areretrieved from the Filter Service The ranking consists of a number of techniqueswhich estimate rankings from different perspectives:
as average sum of matching keywords multiplied with the corresponding a value,
in order to adjust for semantic closeness Content-based filtering like explained byPazzani [21] is furthermore used to predict the ranking of items that the User Modeldoes not yet have any ranking of This technique compares the metadata of a par-ticular item and searches for similarities among the contents that already have aranking, i.e., that the user has already seen Collaborative filtering is used to predictthe ranking based on how other similar users ranked it Furthermore, context-basedfiltering can be used to calculate predictions based on the user’s context, as previ-ously mentioned If there is a group of users interacting with the system together,the result needs to be adapted for them as a group This can be done by for ex-ample combining the filtering of each individual person to create a group filtering[15] Finally, the ranking value from each technique is combined by summarizingthe products of each filter’s ranking value and a filter weight
Personalized Presentations
Presentation of content is the responsibility of the client applications working ontop of the SenSee framework However, in order to make the personalization moretransparent to the user, the path from original keyword(s) to resulting packages can
be requested from the server when the results are presented The synonyms andother semantically related terms can also be made explicit to the user as feedbackaiming to avoid confusion when presenting the recommendation (e.g., why suddenly
a movie is recommended without an obvious link to the original keyword(s) given
by the user) Since the links from keyword to related ontology concepts are kept,they can be presented in the user interface Furthermore, they could even be used togroup the result set, as well as in an earlier stage in the search process, when used
to consult the user to disambiguate and find the appropriate context
Trang 10SenSee Server
The basic service-based architecture chosen for the system is illustrated in Figure8
It shows how the different SenSee services and content services connect A type of the system described has been developed and implemented in cooperationwith Philips Applied Technologies The fundamental parts of the IP and systemservices, content retrieval, packaging and personalization are covered in this im-plementation Our initial focus has been on realizing the underlying TV-Anytimepackaging concepts and personalization, although not so much on the Blu-ray.Currently, geographical, time, person, content and synonym ontologies have beenincorporated in the prototype Currently, all connections to both the server as to any
proto-of the services must be made by either the SOAP or XML-RPC protocols
Various end-user applications have been developed over time On the left of theclient section in the figure we see the original stand-alone Java 5.0 SenSee appli-cation which focused mainly on searching and viewing packages This applicationincludes not only the client GUI interface but also administration views and puretesting interfaces Later the need of a Web-based client became clear to enable fast
Fig 8 SenSee Environment
Trang 11and easy access for external users The SenSee Web Client (on the right on the clientsection), was then implemented as an AJAX application This is enabling us to pro-vide a fluent Web experience without long waiting times The service was built asfirst complete proof of concept showing all main functionality of our SenSee server.This version of the client application was nominated as finalist for the Semantic WebChallenge 2007 [3] and ended runner-up The pages themselves are built with theGoogle Web Toolkit15 Our system currently allows a single user as well as multipleusers to log in, where the system adapts to make recommendations for a single and
a group of users correspondingly
The SenSee server is online available as a service, exposing an API to connect to.The User Model Service (USM), the Ontology Service (OS) and the Filter Service(FS) are sometimes referred to as ‘external’ services although initially they were
a part of the SenSee service However, we realized the benefit of having them as
a service because it might help people looking for similar functionality Moreover,while others make use of these services, the knowledge contained grows which inturn helps us as well In case of the USM, this enables more varied informationbeing added to the user profiles which helps the collaborative filtering algorithm,improves the performance of the process, and allows for doing an analysis of userbehaviors in the large Furthermore, the use of an external User Model Service givespossibilities for the user to access his profile via other systems or interfaces How-ever, it may be argued that it can lead to privacy or integrity problems if users areuncomfortable with the thought of having information about their behavior storedsomewhere outside their home system, no matter how encrypted or detached fromthe person’s identity it can be done These issues are currently outside the scope ofthe reported research
The devices that currently can be connected are a HDTV screen and set-top boxand a LIRC remote control which communicates through a JLIRC interface ContentServices can furthermore handle both local content as well as streaming contentvia IP The implementation has mainly been made in Java, where connections ofexternal services are realized by the Tomcat Web Server, Java Web Start, SOAP andXML-RPC The tools used for the application of semantic models are Sesame16andProt´eg´e17
Trang 12top of the SenSee framework iFanzy combines the power of three independentplatforms (a Web application, a set-top box + television combination and a mo-bile phone prototype) which are connected by the SenSee server framework Everyaction uttered by the user on any of those three client applications is elicited andpassed on to the server, which deals with it like described in previous chapters Ev-ery one of these interfaces is specifically tailored to provide the functionality which
is most expected by the user on the respective platform This makes all three forms very complementary and gives iFanzy the means of closely monitoring thebehavior of the user in most situations This in turn is very useful since it enhancesthe contextual understanding of this user, allowing the framework to provide theright content for a specific situation (e.g available devices, other people around,time of the day, etc.) Every action elicit on any device will have an influence ofevery other device later on E.g., rating a program online will have an immediateinfluence on the generation of recommendations on the set-top box
plat-iFanzy makes extensive use of the server’s context infrastructure because thetelevision domain is context-sensitive If for example a certain user likes moviesfrom the genre ‘action’ a lot and a recommendation is done for an action movie
at 8 am in the morning, there is a big chance that the user would interpret this
as a silly recommendation Solely based on the facts in the user profile it was astraightforward recommendation; it was just recommended in the wrong context.Therefore, in iFanzy, all contextual information from the user (e.g time, location,audience) is harnessed and sent to the SenSee server such that it can take the contextinto account when calculating recommendations All further information amassedfrom the user, is accompanied by this user’s current context to be able to draw morefine-grained conclusions afterwards
User feedback such as ratings, but also users setting reminders, alerts, favorites,etc are all associated with specific content or rather specific data objects: therefore,the user model (that includes the user profile) is closely related to the conceptualmodel Every data object in iFanzy is retrieved from the SenSee server and thuscontains the unique URI such that the server always knows to which object(s) thisuser feedback reflects
The iFanzy Web application became publicly available in the middle of 2008,delivering the first online personalized EPG Currently, iFanzy is also running ondifferent set-top boxes which are going to be tested extensively in the near future,before being put into family homes Furthermore, next to the Dutch market there isalready also a German version running and more are being planned Currently weare testing the iFanzy application and SenSee server in a user test involving around
50 participants The test, will last for about two weeks and tries to test the mendation quality and the iFanzy interface Participants are asked to at least use theiFanzy personalized EPG every day for about 5 to 10 minutes In this time, littleassignments are given like ‘rate 10 programs’, ‘mark some programs as favorites’,
recom-‘set reminders for programs you do not want to miss’, etc By doing so users aregenerating events, supplying valuable information about their behavior to the sys-tem At this moment in the test on average users generate about 20 useful events perday At the end of the test a questionnaire will be sent to all participants asking themsome concluding questions allowing us to draw conclusions
Trang 13In this paper we described an approach for a connected ambient home media agement system that exploits data from various heterogeneous data sources, whereusers can view and interact via multiple rendering devices like TV screens, PDA,mobile telephone or other personal devices The interaction, especially in contentsearch, is supported by a semantics-aware and context-aware process which aims toprovide a personalized user experience This is important since users have differentpreferences and capabilities and the goal is to prevent an information overflow Wehave presented a component architecture which covers content retrieval, contentmetadata, user modeling, recommendations, and an end-user environment Fur-thermore we have presented a semantically enriched content search process usingTV-Anytime content classification and metadata Our ultimate goal is to propose afoundational platform that can be used further by applications and personalizationservices First proof of this feasibility is the current implementation of the iFanzyapplication which runs on top of SenSee iFanzy is the general name of three clientapplications running on different devices and showing a first modest step towardsthe futuristic scenario sketched in the beginning of this paper
man-References
1 H Alshabib, O F Rana, and A S Ali Deriving ratings through social network structures In ARES ’06: Proceedings of the First International Conference on Availability, Reliability and Security, pages 779–787, Washington, DC, USA, 2006 IEEE Computer Society
2 L Ardissono, A Kobsa, M Maybury (ed) (2004) Personalized digital television: targeting programs to individual viewers Kluwer, Boston
3 P Bellekens, L Aroyo, G.J Houben, A Kaptein, K van der Sluijs, “Semantics-Based work for Personalized Access to TV Content: The iFanzy Use Case”, Proceedings of the 6th International Semantic Web Conference, pp 887–894, LNCS 4825, Springer, Busan, Korea (2007)
Frame-4 S.J Berman (2004) Media and entertainment 2010 Open on the inside, open on the outside: The open media company of the future Retrieved November 24, 2005, from http://www-03.ibm.com/industries/media/doc/content/bin/ME2010.pdf
5 T Berners-Lee, J Hendler, O Lassila (2001) The semantic web Scientific American, New York
6 J Bormans, K Hill (2002) MPEG-21 Overview v.5 Retrieved November 24, 2005, from http://www.chiariglione.org/mpeg/standards/mpeg-21/mpeg-21.htm
7 K Chorianopoulos (2004) What is wrong with the electronic program guide Retrieved November 24, 2005, from http://uitv.info/articles/2004/04chorianopoulos
8 N Earnshaw, S Aoki, A Ashley, W Kameyama (2005) The TV-anytime Content Reference Identifier (CRID) Retrieved November 24, 2005, from http://www.rfc- archive.org/getrfc.php?rfc=4078
9 B de Ruyter, E Aarts (2004) Ambient intelligence: visualizing the future In: Proceedings of the working conference on advanced visual interfaces ACM, New York, pp 203–208
10 D Goren-Bar, O Glinansky (2004) FIT-recommending TV programs to family members Comput Graph 28: 149–156 (Elsevier)
Trang 1411 J Hobbs, F Pan (2004) An ontology of time for the semantic web In: ACM Transactions on Asian Language Information Processing (TALIP), vol 3, Issue 1 ACM, New York
12 B Hong, J Lim (2005) Design and implementation of home media server using anytime for personalized broadcasting service In: O Gervasi, M.L Gavrilova, V Kumar,
TV-A Lagan`a, H.P Lee, Y Mun, D Taniar, C.J.K Tan (eds) Computational science and its applications—-ICCSA 2005: conference proceedings, part IV, vol 3483 LNCS Springer, Berlin Heidelberg New York, pp 138–147
13 A Kobsa (1990) User modeling in dialog systems: potentials and hazards AI Soc 4(3): 214–231 (Springer-Verlag London Ltd)
14 F Manola, E Miller (2004) RDF Resource Description Framework Retrieved November 24,
2008, http://www.w3.org/TR/rdf-primer/
15 J Masthoff (2004) Group modeling: selecting a sequence of television items to suit a group
of viewers User Model User-Adapt Interact 14: 37–85 (Kluwer)
16 D.L McGuinnes, F van Harmelen (2004) OWL Web Ontology Language Retrieved November 24, 2008, from http://www.w3.org/TR/owl-features
17 G.A Miller (1995) WordNet: a lexical database for english Commun ACM 38(11) (ACM)
18 S Murugesan, Y Deshpande (2001) Web engineering, software engineering and web tion development In: S Murugesan, Y Deshpande (eds) Web engineering, vol 2016 Lecture notes in computer science Springer, Berlin Heidelberg New York
applica-19 C.B Necib, J.-C Freytag (2005) Query processing using ontologies In: O Pastor, J.F Cunha (eds) Advanced information systems engineering: 17th international conference, CAiSE 2005, vol 3520 Lecture notes in computer science Springer, Berlin Heidelberg New York, pp 167–186
20 D O’ Sullivan, B Smith, D Wilson, K McDonald, A Smeaton (2004 Improving the quality
of personalized electronic program guide User Model User-Adapt Interact 14: 5–36 (Kluwer)
21 M.J Pazzani (1999) A framework for collaborative, content-based and demographic filtering Artif Intell Rev 13:393–408
22 U Shardanand, P Maes (1995) Social information filtering: algorithms for automating “Word
of Mouth” In: CHI ’95 Proceedings: conference on human factors in computing systems pp 210–217
23 G Stamou, J van Ossenbruggen, J.Z Pan, G Schreiber (2006) In: J.R Smith (ed) Multimedia annotations on the semantic Web IEEE Multimed 13(1):86–90
24 M van Setten (2005) Supporting people in finding information: hybrid recommender tems and goalbased structuring Telematica Instituut fundamental research Series, No 016 (TI/FRS/016) Universal, The Netherlands
sys-25 H.-W Tung and V.-W Soo A personalized restaurant recommender agent for mobile service In EEE ’04: Proceedings of the 2004 IEEE International Conference on e-Technology, e-Commerce and e-Service (EEE’04), pages 259-262, Washington, DC, USA, 2004 IEEE Computer Society
e-26 W Woerndl and G Groh Utilizing physical and social context to improve recommender tems In WI-IATW ’07: Proceedings of the 2007 IEEE/WIC/ACM International Conferences
sys-on Web Intelligence and Intelligent Agent Technology - Workshops, pages 123-128, ton, DC, USA, 2007 IEEE Computer Society
Washing-27 G.-E Yap, A.-H Tan, and H.-H Pang Dynamically-optimized context in recommender systems In MDM ’05: Proceedings of the 6th international conference on Mobile data management, pages 265-272, New York, NY, USA, 2005 ACM
28 Z Yu, X Zhou (2004) TV3P: an adaptive assistant for personalized TV IEEE Transactions
on Consumer Electronics 50 (1):393–399
Trang 15Personalization on a Peer-to-Peer Television
System
Jun Wang, Johan Pouwelse, Jenneke Fokker, Arjen P de Vries,
and Marcel J.T Reinders
Introduction
Television signals have been broadcast around the world for many decades Moreflexibility was introduced with the arrival of the VCR PVR (personal videorecorder) devices such as the TiVo further enhanced the television experience
A PVR enables people to watch television programs they like without the tions of broadcast schedules However, a PVR has limited recording capacity andcan only record programs that are available on the local cable system or satellitereceiver
restric-This paper presents a prototype system that goes beyond the existing VCR, PVR,and VoD (Video on Demand) solutions We believe that amongst others broadband,P2P, and recommendation technology will drastically change the television broad-
casting as it exists today Our operational prototype system called Tribler [Pouwelse
et al.,2006] gives people access to all television stations in the world By exploitingP2P technology, we have created a distribution system for live television as well assharing of programs recorded days or months ago
The Tribler system is illustrated in Fig.1The basic idea is that each user willhave a small low-cost set-top box attached to his/her TV to record the local programsfrom the local tuner This content is stored on a hard disk and shared with other users
(friends) through the Tribler P2P software Each user is then both a program sumer as well as a program provider Tribler implicitly learns the interests of users
con-J Wang ( ), J Pouwelse, and M.J.T Reinders
Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of nology, Delft, The Netherlands
Tech-e-mail: fjun.wang; j.a.pouwelse; m.j.t.reindersg@tudelft.nl
B Furht (ed.), Handbook of Multimedia for Digital Entertainment and Arts,
DOI 10.1007/978-0-387-89024-1 4, c Springer Science+Business Media, LLC 2009
91