AN EVENT DISTRIBUTION PLATFORM FOR
RECOMMENDING CULTURAL ACTIVITIES
Toon De Pessemier, Sam Coppens, Erik Mannens, Simon Dooms, Luc Martens
IBBT, Ghent University, Gaston Crommenlaan 8, Ghent, Belgium
Kristof Geebelen
IBBT, K.U. Leuven, Celestijnenlaan 200A, Leuven, Belgium
Keywords:
Event recommendation, Information filtering, Content-based recommendation, Service-oriented architecture.
Abstract:
Today, people have limited leisure time which they want to fill in according to their interests. At the same time,
cultural organisations offer an enormous amount of activities via their websites. This scarcity of time and the
abundance of cultural events reinforce the necessity of recommender systems that assist end-users in discov-
ering events which they are likely to enjoy. However, traditional recommender systems can not cope with
event-specific restrictions such as the availability, time and location of cultural activities. Moreover, aggre-
gating the events, collecting consistent metadata, and enriching these metadata with cross-domain knowledge
pose additional challenges for the conventional distribution and recommender systems. In this paper, we show
how personalised recommendation, content-based filtering, and distribution of events can be enabled by the
enrichment of events metadata via open linked data sets available on the web of data. For consistency across
several events providers, we propose an event model using an RDF/OWL representation of the EventsML-G2
standard. Integrating these various functionalities as an extendable bus architecture provides an open, user-
friendly event distribution platform that offers the end-user a tool to access useful event information that goes
beyond basic information retrieval.
1 INTRODUCTION
Nowadays, people tend to consult interactive and dy-
namic information from the Internet, rather than static
hard-copy press. This shift applies to the cultural
scene as well: cultural organisations provide detailed
websites which may help to decide how to spend
leisure time optimally. Furthermore, the role of these
cultural websites is evolving from merely information
provider to a guide that puts structure and emphasis
on the demand and supply of cultural events and their
accompanying assets. To deal with the vast and com-
plex structure of cultural events and leisure activities,
we believe that an event model should be used as the
fundamental basis in organizing and accessing cul-
tural event information. To handle the overload of in-
formation, a recommender system based on this event
model is essential to assist users in finding relevant
activities.
Our ideas are demonstrated in the context of the
end-to-end event distribution platform CUPID
1
which is implemented for the Flemish cultural scene.
Using multiple information sources, the events are
aggregated and enriched with additional knowledge
from large linked data sets. The metadata of these
events, described by the EventsML-G2 standard, to-
gether with the enriching multimedia assets enable
content-based filtering, recommendation and distribu-
tion of the events.
The remainder of this paper is organized as fol-
lows: Section 2 elaborates on aggregating the events
from various decentralized parties and the enrich-
ment based on available knowledge sources. Sec-
tion 3 describes the utilized EventsML-G2 (Inter-
national Press Telecommunications Council, 2009)
standard completed with its conceptualisation in an
OWL (McGuinness and van Harmelen, 2004) ontol-
ogy as a unifying (meta)data model. This event de-
1
https://projects.ibbt.be/cupid
231
De Pessemier T., Coppens S., Mannens E., Dooms S., Martens L. and Geebelen K..
AN EVENT DISTRIBUTION PLATFORM FOR RECOMMENDING CULTURAL ACTIVITIES.
DOI: 10.5220/0003193702310236
In Proceedings of the 7th International Conference on Web Information Systems and Technologies (WEBIST-2011), pages 231-236
ISBN: 978-989-8425-51-5
Copyright
c
2011 SCITEPRESS (Science and Technology Publications, Lda.)
scription is used in the recommender module, which
is discussed in Section 4, to generate personal sug-
gestions. In Section 5 we present the workflow-based
bus-infrastructure that is employed to integrate the
different functionalities to a continuous flow of cul-
tural events. Finally, we offer a brief conclusion on
our research work in Section 6.
2 AGGREGATION &
ENRICHMENT
In a first phase, event aggregation is performed; i.e.
the retrieval of primary information of cultural activi-
ties from different event organisers. This primary in-
formation is defined as the minimal information that
is necessary to identify and locate the event. In a next
phase, during content enrichment, primary informa-
tion on cultural activities can be extended with more
substantive and facilitating information. Examples of
facilitating information are ‘how the weather will be’
or ‘how to get to the event with public transport’. Sub-
stantive information may include background infor-
mation on the artist, press articles, images, etc.
A lot of event information is distributed by various
content providers all over the Internet. (The Flem-
ish content providers who cooperated in this project
are CultuurNet Vlaanderen and Vooruit). They pub-
lish their events on blogs, web sites, calendars, so-
cial networks, etc. using different formats like sim-
ple HTML
2
, iCalendar
3
or RSS
4
. As a result, the
main challenge of content aggregation in the context
of events is to provide a framework that supports the
aggregation of data from heterogeneous data sources
which use different standards to publish their events.
To deal with these different incoming data for-
mats, a transformation is required to convert the event
data from their original format to the internal event
ontology, discussed in Section 3. For this purpose
we use an XSL transformations engine. XSLT
5
is a
declarative, XML-based language used for the trans-
formation of XML documents into other XML docu-
ments. To support the aggregation of a new data for-
mat in the future, the XSL style sheet has to be ex-
tended with the mapping of this new format to the in-
ternal event ontology. A double detection mechanism
eliminates redundant data: events with same date and
the same location as existing events are considered as
duplicate and will not be inserted into the database.
2
http://tools.ietf.org/html/rfc2854
3
http://tools.ietf.org/html/rfc5545
4
http://www.rss-specifications.com
5
http://www.w3.org/TR/xsltis
Enriching the events is realized by first extract-
ing all the concepts out of the event description us-
ing linguistic processing. For this, we utilize Open-
Calais and i.Know’s Information Forensics
6
service.
Afterwards, the extracted named entities are used for
querying other data sets and incorporating the re-
trieved information. The extracted locations are em-
ployed for querying Toerisme Vlaanderen, GeoNames
and DBpedia
7
. Toerisme Vlaanderen is a Flemish
tourism information point with a lot of information
on Flemish cities and regions, restaurants, hotels, and
events. The extracted organisations and persons are
utilized for querying the DBpedia data set and Bib-
Nets data set. BibNet
8
is a network of Flemish public
libraries, which disseminates bibliographic informa-
tion. The retrieved links are stored and offered as
additional information sources to the end-user. By
enriching the event information, the end-users get a
lot of extra data to make an informed choice. To-
gether with the recommendations, this will help them
to evaluate and select the events which match with
their personal preferences. Another advantage of this
enrichment process is the semantic linking of event
information to other data sets which incorporates the
event information into the ‘Web of Data’.
3 EVENT MODEL
To acquire a standardised procedure for the dissem-
ination of events and to enable content-based rec-
ommendation techniques, a semantic metadata model
for storing and exchanging event information is re-
quired. To represent the events as structured data, var-
ious standards exist. The most commonly used stan-
dard for describing events is iCalendar. This standard,
which describes events for personal management pur-
poses, defines an event as anything with a scheduled
amount of time on a calendar. Although, the iCalen-
dar format is able to describe a socio-cultural event, it
can not express relations between the events. For in-
stance, a festival can consist of many smaller events,
i.e. concerts or music performances, which have to be
related.
In the Linked Open Data community, the most
used event model is the Music Ontology Events
Model (Centre for Digital Music - University of
London, 2007). AudioScrobbler (LinkingOpenData
(W3C SWEO Community Project) - Centre for Dig-
ital Music, 2007) of Last.FM utilizes this model to
6
http://www.opencalais.com, http://www.iknow.be
7
http://www.toerismevlaanderen.be,
http://www.geonames.org, http://dbpedia.org
8
http://www.bibnet.be
WEBIST 2011 - 7th International Conference on Web Information Systems and Technologies
232
describe events which are then linked to a user pro-
file, for which FOAF
9
is used. This way, an event is
modelled whenever a song is played. Originally, this
model was intended to describe musical events, but
due to its simplicity and usability, it has been proven
useful in a wide range of contexts. This model de-
scribes an event as anything that has a spatial and
temporal dimension. Such an event is described by
its participating agents, its passive factors influenc-
ing the event, its products as a consequence of the
event and a location in time as well as space. In addi-
tion, this model allows describing relations between
events. However, its simplicity is also a disadvantage
since the model lacks some advanced features, like
pricing information, more detailed relations between
events, minimum age for participation, etc., which are
essential for describing events in our context.
Finally, the format that we adopted for mod-
elling events is the EventsML-G2 (International Press
Telecommunications Council, 2009) standard. This
is a standard of the International Press Telecommuni-
cations Council
10
(IPTC) for conveying event infor-
mation in a news industry environment. EventsML-
G2 is intended for receiving, storing and exchang-
ing event information from organisers as well as pub-
lishing event information by news providers. This
model delivers the right context for our event descrip-
tions since it allows describing events in different lan-
guages, together with their relations, the pricing in-
formation, the minimum age, etc.
Currently, the EventsML-G2 standard is described
as an XML (Bray et al., 2006) schema. In order to ap-
ply semantic web techniques, we developed an OWL
(McGuinness and van Harmelen, 2004) ontology of
this standard. An alternative to make the EventsML-
G2 schema usable in the Semantic Web Stack, is de-
scribing the schema in RDFS (Brickley, 2004). How-
ever, since OWL is a richer language for develop-
ing models and permits to mix RDFS and OWL con-
structs, we opted for describing the EventsML-G2 se-
mantic ontology by using OWL. This OWL ontology
is published online on the website of the Multimedia
Lab research group of Ghent University
11
.
By describing all the aggregated events using this
ontology, a common format is created for exposing
the event information. This common format acts as
a unifying layer, relating all the information com-
ing from different data providers. By providing a
semantic ontology for these events, content-based
recommendation algorithms are able to analyse the
9
http://xmlns.com/foaf/spec/
10
http://www.iptc.org
11
http://multimedialab.elis.ugent.be/ontologies/
EventsML-G2/v1.0/
events in detail, and additionally, semantic web tech-
niques can be used. Moreover, this semantic ontol-
ogy allows complex queries for events by a SPARQL
(Prud’hommeaux and Seaborne, 2007) endpoint and
the enrichment of event descriptions with information
from other data providers as described in Section 2.
EventsML-G2 has two manners for conveying
event information: as a conceptItem or as a knowl-
edgeItem. A conceptItem is aimed at describing
an event solely. A knowledgeItem is intended for
bundling a set of events which are managed as a
whole. Given our context, i.e. publishing and recom-
mending events from event organisers, we utilize the
conceptItem to model the events. For interoperability
issues, we modelled agents involved in an event, e.g.
organisers or participants, using the FOAF ontology.
This allows us to incorporate more easily information
about the agents from other data sets afterwards. This
additional advantage is the main difference between
our developed ontology and the EventsML-G2 speci-
fication.
The descriptive metadata about the event is cap-
tured by the Concept class, which stores a description
of the event, the title of the event, the event details, re-
lations to other events, and the language of the event
description. The relations to other events can be de-
scribed by owl:sameAs for stipulating that this event
is the same as another event, and by skos:related,
skos:broader or skos:narrower for pinpointing the re-
lations to other events. The EventDetails class con-
tains a more complete event description and is linked
to ten other classes for storing detailed information
about the event, namely: Dates, Location, Contact-
Info, Agent, Language, Subject, OccurStatus, Regis-
tration, ParticipationRequrement, and Media.
4 EVENT RECOMMENDATION
To handle the overload of information, a recom-
mender system is necessary to assist users in find-
ing the most relevant events. Traditionally, recom-
mender systems have been categorized into two main
classes: collaborative filtering (CF) and content-based
(CB) methods. CF techniques are based on the hy-
pothesis that a good method to find interesting con-
tent is to search for other people who have similar
interests, and then recommend items that those sim-
ilar users like (Breese et al., 1998). Most existing
recommender applications utilize these CF techniques
in making predictions about which items an e-service
user is likely to be interested in (Linden et al., 2003).
Traditional CF techniques, however, can not cope at
all with time specific items, like events, which typ-
AN EVENT DISTRIBUTION PLATFORM FOR RECOMMENDING CULTURAL ACTIVITIES
233
ically receive their ratings only after they have fin-
ished (Cornelis et al., 2005). Content-based (CB)
algorithms, which consider the internal structure of
items and recommend items similar to those a user
liked in the past, or hybrid algorithms, which are a
combination of CF and CB techniques, can make up
for these timely characteristics of events.
Although the details of various systems differ,
CB recommender systems share in common a need
for a description of the items that may be recom-
mended (Pazzani and Billsus, 2007). Many CB rec-
ommender systems use relatively simple keyword ex-
traction techniques to obtain characteristic properties
from these descriptions. Subsequently, straightfor-
ward retrieval models, such as keyword matching, are
utilized to generated recommendations (Bogers and
van den Bosch, 2007). However, these techniques
are known to have been outperformed by newer tech-
niques that incorporate semantic knowledge struc-
tures, such as ontologies, to provide valuable domain
knowledge for CB recommender systems (Middleton
et al., 2003). Common-sense and domain-specific
knowledge may be useful to give some meaning to
the content of items, thus helping to generate more
informative features than ‘plain’ attributes.
Knowledge sources, such as structured semantic
information about events, can be brought to bear in
determining similarities among events. The integra-
tion of semantic similarities for items allows the sys-
tem to make inferences based on the underlying rea-
sons for which a user may or may not be interested
in a particular event (Mobasher et al., 2003). Ex-
perimental results in literature demonstrate that the
integration of these ontological knowledge sources
yields significant advantages in terms of learning user
profiles and recommendation accuracy in contrast to
the classical use of endogenous knowledge (extracted
from the items themselves) (Semeraro et al., 2009).
However, acquiring such knowledge sources or
semantically structured content is not a trivial task.
Moreover, content (and especially event information)
from various sources is mostly annotated using a mul-
titude of different metadata formats, leading to se-
rious comparison difficulties for the recommender.
By converting the aggregated events to our proposed
event model, we provide a uniform event structure
that can be utilized for semantic analysis. By enrich-
ing the event description based on a set of knowledge
sources, we generate a memory of semantic compe-
tencies that can be exploited to reason about the con-
tent as well as to support the user profiling and recom-
mendation process. Moreover, based on our service-
oriented bus-architecture as described in Section 5,
we can easily integrate any existing (ontology-based)
recommendation algorithm in our event distribution
system.
To efficiently calculate the personal suggestions
based on the adopted (ontology-based) algorithm for a
potentially high number of users, we designed the rec-
ommendation framework which is illustrated in Fig-
ure 1. To meet the high requirements of a large rec-
ommendation system, we opted for a highly scalable
approach to store and process user and event metadata
completed with online-generated user interaction be-
haviour (i.e. user feedback on the events). Moreover,
due to the computational burden of most recommen-
dation algorithms, the calculation of personal sugges-
tions has to be realized as a distributed computation
task.
The proposed recommender framework consists
of two webservices and three small, independent ap-
plications working together to collect user behaviour
and metadata content from participating web sites
and to generate high quality recommendations for
their visitors. The webservices act as a communica-
tion channel between the recommendation system and
the other parts of the event distribution platform (i.e.
client websites or other webservices). The Data In-
sertion webservice deals with the processing of new
users, events and feedback on events, which are fed
into the recommender. Based on these data, personal
event recommendations are generated which can be
queried through the Recommendation webservice.
Each of the three applications accomplishes a sin-
gle well-defined task. The first application, the Data
Inserter, inserts users, events and user feedback into
the storage system. Secondly, the Calculator pulls
these data from the storage system and generates per-
sonal suggestions based on the implemented recom-
mendation algorithm. Next, these suggestions are
stored in the Recommendation Cache, making them
immediately available for retrieval by the Recommen-
dation webservice. Depending on the work load, sev-
eral instances of this Data Inserter and Calculator
may be created. At regular intervals, the third appli-
cation, i.e. the Scheduler, generates a calculation task
which is split into disjunctive jobs for the Calcula-
tor instances. The results of these calculation jobs are
merged and inserted into the Recommendation Cache
as an update of the personal suggestions.
Because of performance reasons, the different ap-
plications are not in direct contact with each other,
but use a queue service for inter-process communica-
tion. Moreover, the storage system is optimized for
efficiently serving two commonly-used data requests:
on the one hand inserting singular user, event or feed-
back information originating from the Data Insertion
webservice, and on the other hand, querying massive
WEBIST 2011 - 7th International Conference on Web Information Systems and Technologies
234
Scalable Calculation Cloud
Storage
Clients
Webservices
Data Insertion Web Service
Recommendation Web Service
Data Inserter
Calculator
Scheduler
Recommendation
Cache
Client Website
Other Services
Recommendation
algorithm + filters
Figure 1: The recommendation framework.
feedback and event information to feed the instances
of the Calculator application.
Besides the storage and calculation functionality,
the recommendation framework consists of various
contextual post-filters which take into account the per-
sonal event selection criteria. These filters operate on
the list of personal event recommendations and can
eliminate the suggestions which do not conform to
the personal event selection criteria. The personal
event selection criteria, which can explicitly be spec-
ified by the end-user, are personal requirements re-
garding the price, language, location, participation re-
quirements or date of the event. E.g., events that are
located too far from the hometown of the user are re-
moved from the suggestions list, since they are mean-
ingless for the end-user. Accordingly, suggestions
which completely fulfil all the personal requirements
are favoured during the generation of the recommen-
dation list. Through the proposed event ontology, as
discussed in Section 3, and the enrichment process,
as explained in Section 2 event suggestions can eas-
ily be verified against the stated event requirements
before distribution.
5 ARCHITECTURE
Figure 2 gives a schematic overview of the infras-
tructure of the complete event distribution platform,
a loosely coupled bus-architecture consisting of 4
components: aggregation, enrichment, recommenda-
tion, and distribution. This architecture supports the
flow of personalized, enriched cultural activities and
connects the various functional components of our
system. An enterprise service bus (ESB) provides
an open, standards-based connectivity infrastructure
for this Service-Oriented Architecture (SOA)
12
. The
SOA enables flexible connectivity of applications or
resources by representing every application or re-
source as a service with a standardized interface. This
flexibility allows new and existing applications to
12
http://opengroup.org/projects/soa/
Figure 2: The service bus architecture.
be easily and quickly combined to address changing
business needs.
In the context of the event distribution system,
this means that the different components that com-
pose the general architecture are modelled as sepa-
rate services where the SOA allows them to exchange
data with one another as they participate in business
processes. The main advantage of this SOA is to ob-
tain a loose coupling between the different modules
of the system in which services can be very heteroge-
neous. The implementation of these services is lan-
guage and technology independent; only communi-
cations must be agreed on. The high flexibility sup-
ported by this technology allows an easy integration
of new sources (e.g. aggregation sources or distribu-
tion targets) and remove or modify existing sources
without interrupting the working system. In addition,
using a standardized technology provides also the ad-
vantage of reusable existing middleware services. Ex-
isting implementations contain many pre-built com-
ponents which can be reused with a minimal effort.
Existing components are available in the domain of
logic and orchestration, databases and data manipu-
lation, basic interfacing, security, logging, etc. Al-
though an advanced SOA setup requires some addi-
tional start-up costs and a slight increase of complex-
ity, it provides the freedom to expand and modify the
active setup at any time while requiring only a small
amount of effort.
The ESB technology we used for this project is
the Open Enterprise Service Bus
13
. OpenESB is an
open-source project with the aim of building an En-
terprise Service Bus that provides a flexible and ex-
tensible platform on which to build SOA and applica-
tion integration solutions. Pulling event information
from the web is triggered by a scheduler. On prede-
fined times, the scheduler sends a message to the input
services to check the input sources for new content.
Orchestration between services is handled by a work-
flow engine, which is integrated in the service bus ar-
chitecture and supports the execution of WS-BPEL
processes (Business Process Execution Language for
13
https://open-esb.dev.java.net/
AN EVENT DISTRIBUTION PLATFORM FOR RECOMMENDING CULTURAL ACTIVITIES
235
Web Services
14
). WS-BPEL is built on top of XML
specifications and provides a language for the spec-
ification of business processes and business interac-
tion protocols. An executable WS-BPEL process is
defined by a control flow that consists of a combi-
nation of basic and structured activities. WS-BPEL
(and SOA in general) supports the Simple Object Ac-
cess Protocol (SOAP), which is a specification for ex-
changing structured information between services.
6 CONCLUSIONS
Online event-data from various providers may emerge
as a dynamic mix of many different types of re-
sources and facilities. This multiplicity of technolo-
gies and metadata descriptions requires a uniform
event model and dynamic event distribution archi-
tecture. In this paper, we proposed an event model
based on the EventsML-G2 standard and a service-
oriented bus architecture for event recommender and
distribution systems. Aggregation, enrichment, rec-
ommendation and distribution are supported through
services, which can be created and modified dy-
namically to suit the current needs. This physical
loose-coupling provides scalability advantages such
as high-availability, fault-tolerance, and load balanc-
ing. The combination of the semantic event model
and service-oriented architecture allows the applica-
tion of an exchangeable content-based recommenda-
tion algorithm. Enriching the event metadata enables
the incorporation of semantic knowledge structures
into the recommendation algorithm.
ACKNOWLEDGEMENTS
The research activities that have been described in this
paper were funded by Ghent University, K.U. Leuven,
VUB, VRT-medialab, Interdisciplinary Institute for
Broadband Technology (IBBT) through the CUPID
project (50% co-funded by industrial partners), the In-
stitute for the Promotion of Innovation by Science and
Technology in Flanders (IWT), the Fund for Scien-
tific Research-Flanders (FWO-Flanders), and the Eu-
ropean Union.
14
http://docs.oasis-open.org/wsbpel/
REFERENCES
Bogers, T. and van den Bosch, A. (2007). Comparing and
evaluating information retrieval algorithms for news
recommendation. In RecSys ’07: Proceedings of
the 2007 ACM conference on Recommender systems,
pages 141–144, New York, NY, USA. ACM.
Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and
Yergeau, F., editors (2006). Extensible Markup Lan-
guage (XML) 1.0 (Fourth Edition). W3C Recommen-
dation. World Wide Web Consortium. Available at
http://www.w3.org/TR/2006/REC-xml-20060816/.
Breese, J., Heckerman, D., and Kadie, C. (1998). Empir-
ical Analysis of Predictive Algorithms for Collabora-
tive Filtering. In Proceedings of the 14th Conference
on Uncertainty in Artificial Intelligence, pages 43–52,
Madison, USA.
Brickley, D., editor (2004). RDF Vocabulary Descrip-
tion Language 1.0: RDF Schema. W3C Recommen-
dation. World Wide Web Consortium. Available at
http://www.w3.org/TR/rdf-schema/.
Centre for Digital Music - University of London
(2007). The Event Ontology. Available at
http://purl.org/NET/c4dm/event.owl.
Cornelis, C., Guo, X., Lu, J., and Zhang, G. (2005). A
Fuzzy Relational Approach to Event Recommenda-
tion. In Proceedings of the 1st Indian International
Conference on Artificial Intelligence, pages 2231–
2242, Pune, India.
International Press Telecommunications Council (2009).
EventsML-G2 Specification Version 1.1. Available
at http://www.iptc.com/std/EventsML-G2/EventsML-
G2 1.1.zip.
Linden, G., Smith, B., and York, J. (2003). Amazon.com
Recommendations: Item-to-item Collaborative Filter-
ing. IEEE Internet Computing, 7(1):76–80.
LinkingOpenData (W3C SWEO Community Project) -
Centre for Digital Music (2007). Audioscrobbler RDF
Service. Available at http://dbtune.org/last-fm/.
McGuinness, D. and van Harmelen, F., editors (2004). OWL
Web Ontology Language: Overview. W3C Recom-
mendation. World Wide Web Consortium. Available
at http://www.w3.org/TR/owl-features/.
Middleton, S. E., Shadbolt, N., and Roure, D. D. (2003).
Ontology-based recommender systems.
Mobasher, B., Jin, X., and Zhou, Y. (2003). Semanti-
cally enhanced collaborative filtering on the web. In
Proceedings of the 1st European Web Mining Forum
(EWMF2003), pages 57–76.
Pazzani, M. and Billsus, D. (2007). Content-Based Recom-
mendation Systems. Springer.
Prud’hommeaux, E. and Seaborne, A., editors (2007).
SPARQL Query Language for RDF. W3C Recom-
mendation. World Wide Web Consortium. Available
at http://www.w3.org/TR/rdf-sparql-query/.
Semeraro, G., Lops, P., Basile, P., and de Gemmis, M.
(2009). Knowledge infusion into content-based rec-
ommender systems. In RecSys ’09: Proceedings of
the third ACM conference on Recommender systems,
pages 301–304, New York, NY, USA. ACM.
WEBIST 2011 - 7th International Conference on Web Information Systems and Technologies
236