This is an archive of an inactive wiki and cannot be modified.

Semantic-based Framework for Personalized TV Content Management in a cross-media environment: A Personalized Program Guide on the Web, TV and Mobile

Contact e-mail: P.A.E.Bellekens # tue.nl; l.m.aroyo # cs.vu.nl

Application

General purpose and services to the end user

The main goal of the application is to support the user with a personalized access to distributed TV content (e.g. on the Web, TV Broadcast, local storage collections, and mobile devices). The framework supports two main applications – a Web-based remote control and a home media server (e.g. PVR, set-top box, media center). Both are used in a complementary way. Additional mobile application is also considered. The user searches for and browses TV content, sets up personal preferences and interest level for various topics. The application can recommend TV content to the user according to his accumulated interests and current context (both stored in a user model). The results from the searching, browsing and recommending of content are represented in dynamically generated TV-Anytime packages.

We integrate content from IMDB, Wikipedia, Web-based TV Guides, Movie-list.com. The descriptions of these collections follow different metadata schemes and contain values from different controlled vocabularies for content indexing.

Functionality examples

Application architecture

(See figures on original description, RucPersonalizedTv)

A web server handles user queries from a web browser and contains an interface generator for web pages. A back-end server gets the content related to the user request and responds with an on-the-fly created content package. A User Modeling Server keeps track of all user profiles and the contexts there are used in. An Ontology Server maintains the mappings to the vocabularies. A Metadata service maintains content metadata according to the TV-Anytime specification. The CRID Authority maintains unique identifiers of content elements.

Within this overall architecture, a semantic-based framework has been defined for personalized access of TV content. It consists of four layers: Content Retrieval & Serving layer = retrieval, transformation and integration of content from distributed sources and in various formats. Package Handling layer = clustering content into packages and resolving them via the CRID Authority. Personalization layer = refines user queries and filters content according to user profiles, context and stereotypes. Application Server layer = identifying users and devices.

Special strategies involved in the processing of user actions

(See figures on original description, RucPersonalizedTv)

The hierarchies of the TVAnytime, GeoNet and Times, as well as the WordNet synsets are used for automatic refining of user queries. Once the result is presented to the user, the related sub-sets of those hierarchies are also presented to the user. The user then can browse terms in those hierarchies (see Fig. 3) and find the appropriate concepts he is interested in. In this way he filters only the relevant content (e.g. from sports content, he can choose only the ones on swimming in the news reports after 18:00).

Integration between vocabulary-linked functions and other application functions

(See figures on original description, RucPersonalizedTv)

There is a Google-like free-text search interface - for each user query the system will add matches, proposals and alternatives from the vocabularies and from the current context and user models. If the user tries to search with an empty text input field, the system will interpret this as a request for a recommendation and try to find content fitting the user’s current context.

Vocabulary 1

Title

TV-Anytime ContentCS

General characteristics (size, coverage) of the vocabulary

TVAnytime ContentCS contains a hierarchy of television genres. The RDF/OWL version developed for the project, which only contains ‘subclassOf’ relations, is a translation of an XML term hierarchy. Currently it contains 685 classes.

The main categories of the TVA hierarchy are:

3.1 NON-Fiction
3.1.1 News
                3.1.1.9 Sports
        ...
3.2 Sports
        3.2.1 Athletics
        3.2.2 Cycling
        ...
3.3 (deprecated does not exist anymore)
3.4 Fiction
3.5 Amusement
3.6 Music
3.7 Interactive Games
3.8 Leisure/Hobby/Lifestyle
3.9 Adult

Language(s) in which the vocabulary is provided

English.

Vocabulary extract

<owl:Class rdf:ID="3.1.1">
      <rdfs:subClassOf rdf:resource="3.1"/>
      <rdfs:label xml:lang="en">News</rdfs:label>
      <rdfs:comment xml:lang="en">Time-sensitive information</rdfs:comment>
</owl:Class>
<owl:Class rdf:ID="3.1.1.1">
      <rdfs:subClassOf>
         <owl:Class rdf:about="3.1.1"/>
      </rdfs:subClassOf>
      <rdfs:label xml:lang="en">Daily news</rdfs:label>
</owl:Class>
<owl:Class rdf:ID="3.1.1.2">
      <rdfs:subClassOf rdf:resource=" 3.1.1"/>
      <rdfs:label xml:lang="en">Special news/edition</rdfs:label>
      <rdfs:comment xml:lang="en">one off program to carry specific news events e.g. coverage of breaking news such as train crash</rdfs:comment>
</owl:Class>

represents:

3.1.1 News
        3.1.1.1 Daily News
        3.1.1.2 Special news/edition

Structure explanation

Originally there are only subclassOf relations in the TVA hierarchy. We can use OWL and SKOS constructs, which can introduce links between related concepts and express the semantics of the genres better:

Machine-readable representation of the vocabulary

http://wwwis.win.tue.nl/~ppartout/Blu-IS/Ontologies/TV-Anytime/PhaseI/Classifications/ContentCS.owl

Structure of the database used to currently manage the vocabulary

The vocabulary is stored in a Sesame RDF triple database.

Standards and guidelines considered during the design and construction of the vocabulary

Guideline 1 in http://www.cs.vu.nl/~mark/papers/Assem04a.pdf (converting thesauri to RDF/OWL ontologies) was followed.

Management of changes

Changes are made through direct editing. We do not divert from the original TV-Anytime specification and stay backward compatible with it.

Vocabulary 2

Title

Time ontology, Based on http://www.isi.edu/~pan/damltime/time.owl

General characteristics (size, coverage) of the vocabulary

The original Time ontology provided the means to construct time-specifications. We extended it with the instances needed for our application.

Vocabulary extract

A instance to exemplify the concept “morning” (mind some abbreviations to preserve outline):

<ProperInterval rdf:ID="morning">
        <rdfs:label>morning</rdfs:label>
        <begins rdf:resource="#instant_MorningStart"/>
        <ends rdf:resource="#instant_MorningEnd"/>
        <before rdf:resource="#noon"/>
</ProperInterval>

<Instant rdf:ID="instant_MorningStart">
        <inCalendarClock>
                <CalendarClockDescription rdf:ID="cCD_MorningStart">
                        <second rdf:datatype="XMLSchema#decimal">00</second>
                        <minute rdf:datatype="XMLSchema#nonNegInt">00</minute>
                        <hour rdf:datatype="XMLSchema#nonNegInt">06</hour>
                </CalendarClockDescription>
        </inCalendarClock>
</Instant>

<Instant rdf:ID="instant_MorningEnd">
        <inCalendarClock>
                <CalendarClockDescription rdf:ID="cCD_MorningEnd">
                        <hour rdf:datatype="XMLSchema#nonNegInt">10</hour>
                        <minute rdf:datatype="XMLSchema#nonNegInt">59</minute>
                        <second rdf:datatype="XMLSchema#decimal">59</second>
                </CalendarClockDescription>
        </inCalendarClock>
</Instant>

Structure explanation

For the structure of the Time ontology refer to: http://www.cs.rochester.edu/~ferguson/daml/

Machine-readable representation of the vocabulary

http://wwwis.win.tue.nl/~ppartout/Blu-IS/Ontologies/Time/time.owl

Structure of the database used to currently manage the vocabulary

The vocabulary is stored in a Sesame RDF triple database.

Management of changes

Changes are made through direct editing.

Vocabulary 3

Title

Geo ontology

General characteristics (size, coverage) of the vocabulary

The Geo ontology gives a simple structure where geographical locations are divided in country-province-city relations. The ontology is far from complete. It contains data for the following countries: the Netherlands, Denmark, the United Kingdom, Belgium, Spain, Greece and France. For every country all the provinces are present, but for every province only the main cities were added.

Vocabulary extract

<Country rdf:ID="TheNetherlands">
    <hasProvince>
      <Province rdf:ID="ZeelandProvince">
        <hasCity rdf:resource="#Sluis"/>
        <rdfs:label rdf:datatype="XMLSchema#string">Zeeland</rdfs:label>
      </Province>
    </hasProvince>
</Country>
<City rdf:ID="Sluis"/>

Machine-readable representation of the vocabulary

http://wwwis.win.tue.nl/~ppartout/Blu-IS/Ontologies/Geo/Europe.owl

Structure of the database used to currently manage the vocabulary

The vocabulary is stored in a Sesame RDF triple database.

Management of changes

Changes are made through Protégé.

Vocabulary 4

WordNet:

http://www.w3.org/2006/03/wn/wn20/rdf/wordnet-synset.rdf

http://www.w3.org/2006/03/wn/wn20/rdf/wordnet-glossary.rdf

http://www.w3.org/2006/03/wn/wn20/rdf/basic/wordnet-senselabels.rdf

Vocabulary mappings

Mapped vocabularies

In the picture presented in the attached document (RucPersonalizedTv, section 3), one can see all the links from a certain content item described in TVA to other vocabularies like WordNet, Time, Geo and the content classification hierarchy: the ranges of the different properties whose domain is TVA:ContentItem have as range the classes whose instances compose the different vocabularies of the application. title and keywords have Wn:synset as range, while productionDate and genre have respectively time:Instant and TVA:ContentCS as their range.

What the picture does not show is the interrelation between WordNet and all the other vocabularies at the value level, which allows for example to check every location of the Geo and every genre in the ContentCS hierarchy in WordNet to find synonyms.