ArticlePDF Available

COReS: Context-aware, Ontology-based Recommender system for Service recommendation

Authors:

Abstract and Figures

Advances in telecommunications and information technology have allowed the proliferation of mobile and multifunctional devices and their incorporation more and more into physical objects, making new in- formation and services available. A consequent problem of this new sce- nario is information overload, i.e. users face vast and distributed informa- tion sources, and have difficulty in selecting those that satisfy their needs and interests. To help users, recommender systems can be applied. More- over, context-aware systems may collaborate with recommender system, improving recommendations, thus benefiting users with more personali- zed and contextual results. This work explores the synergy between re- commender systems and context-aware computing, describing the devel- opment of COReS (Context-aware, Ontology-based Recommender sys- tem for Service recommendation). This recommender system broadens the capabilities of the Infraware context-aware platform, by making ser- vice offer more efficient, personalized and proactive.
Content may be subject to copyright.
COReS: Context-aware, Ontology-based
Recommender system for Service
recommendation
Andr´e C. M. Costa1, Renata S. S. Guizzardi2Giancarlo Guizzardi1,3, and Jos´e
Gon¸calves P. Filho1
1Department of Computer Science, UFES, Vit´oria-ES, Brazil
2ITC-irst, Trento-Povo, Italy
3Laboratory of Applied Ontologies (ISTC-CNR), Trento, Italy
Abstract. Advances in telecommunications and information technology
have allowed the proliferation of mobile and multifunctional devices and
their incorporation more and more into physical objects, making new in-
formation and services available. A consequent problem of this new sce-
nario is information overload, i.e. users face vast and distributed informa-
tion sources, and have difficulty in selecting those that satisfy their needs
and interests. To help users, recommender systems can be applied. More-
over, context-aware systems may collaborate with recommender system,
improving recommendations, thus benefiting users with more personali-
zed and contextual results. This work explores the synergy between re-
commender systems and context-aware computing, describing the devel-
opment of COReS (Context-aware, Ontology-based Recommender sys-
tem for Service recommendation). This recommender system broadens
the capabilities of the Infraware context-aware platform, by making ser-
vice offer more efficient, personalized and proactive.
1 Introduction
Advances in telecommunications and information technology have transformed
the use and the shape of computers, coming from the traditional static work-
stations to the proliferation of mobile and multifunctional devices [1], [2], [3].
Moreover, the computer tends to incorporate more and more into physical ob-
jects, such as electronics, furniture and other artifacts of general use, providing
more functionality to these artifacts and becoming transparent to the user [3].
This context inaugurates new ways of accessing and providing information and
services.
A problem inhering in this new setting is information overload. Users are left
with the difficult task of selecting from a growing and distributed information
repository, those that satisfy their immediate interests and needs. To alleviate
this overload, one can apply recommender systems, which are generally defined
as systems that assist users in selecting items of their interest or need from a
big set of items, helping users to overcome the overwhelming feeling when facing
a vast information source, such as the web, an organizational repository or the
like [4], [5], [6].
Besides recommender systems, research on context-aware computing seems
promising. Context-awareness allows software applications to use information
beyond those directly provided as input by users [7]. Examples of such informa-
tion are location, date and time [1], [2]. This information becomes important in
an environment where applications are accessed through mobile and ubiquitous
devices that communicate with each other. More specifically, automatic sensing
of context information facilitates the use of these applications by minimizing user
intervention, besides increasing their independency in gathering and processing
relevant information.
This work has a general goal of facilitating services selection, exploring the
synergy between these two research areas: recommender systems and context-
aware computing. As basis for this initiative, we aim at using the results of a
previous work [8] on a particular recommender system. In addition to that, this
project will benefit from the use of a context-aware services platform named In-
fraware [2]. More specifically, this paper describes the development of a recom-
mender system called COReS (Context-aware, Ontology-based Recommender
system for Service recommendation), which uses the capabilities of the Infraware
platform to support services selection, satisfying the needs of the user in a par-
ticular context. This way, COReS broadens Infraware’s capabilities, making ser-
vice offer by this platform more efficient, personalized and proactive.
The remaining of this paper is organized as follows: section 2 provides some
background information along with the main motivations behind our work; sec-
tion 3 proposes COReS, clarifying the gains it brings to the Infraware platform;
section 4 describes COReS architecture and how its components interoperate
with the other Infraware’s components; section 5 focuses on COReS’s recom-
mendation techniques; section 6 describes related work; and at last, section 7
concludes this paper.
2 Background and Motivation
This section provides background information on the two main focus areas in
our research, namely recommender systems (2.1) and context-aware computing
(2.2). Moreover, section 2.3 presents our motivations to integrate results of these
two areas, and justifies the application of domain ontologies to support context-
aware service recommendation.
2.1 Main Recommendation Techniques
A recommender system produces customized recommendations as output or has
the effect of guiding the user in a personalized way to interesting or useful objects
in a large space of possible options [4]. So, one of the goals of a recommender
system is to help the user in finding interesting objects, based on interests,
preferences and personal characteristics.
Such systems perform some similarity measure between object-object, object-
user and user-user, with the purpose to determine a set of objects to be recom-
mended to a specific user. The result can a prediction, i. e., a numeric value
given to each object that expresses likeliness of an ob ject for the user; or a
recommendation, i. e., a top-N list of objects [9].
Recommendations may be based on similar items to those a given user has
liked in the past (content-based recommendation); or on items owned by users
whose taste is similar to those of the given user (collaborative recommendation).
Combining content-based and collaborative recommendations originate hybrid
approaches, which are commonly used, considering that both types of recom-
mendations may complement each other [10], [6].
Besides the difference given by the aforementioned recommendation approa-
ches, recommender systems are also differentiated by [5]: the items they recom-
mend (systems have been developed to recommend web pages [10], movies [11],
etc.); the nature of the user profile they use to guide the recommendations (e.g.
history of items accessed by the user, topics indicating user interest, etc.); the
recommendation techniques (mainly, how the user model is represented, what
kinds of relevance mechanisms are used to update the user model, and which
algorithm is used to generate recommendations); and the recommendation trig-
ger, i.e. whether the recommendation is started by the user or by the proactive
behavior of the system.
2.2 Context-awareness
According to [7], context is any information that can be used to characterize
the situation of entities (person, place or object) that are considered relevant for
the interaction between a user and an application, including the user and the
application themselves. Context is typically the location, identity and state of
people, groups and computational and physical objects.
Ubiquitous Computing [3] suggest the development of new context-aware ap-
plications, context-aware, created to use contextual information to dynamically
select or execute action that better assist the user in his needs. Interaction among
user and application is minimized with the perception and use of contextual in-
formation. Different from traditional applications, context-aware applications
consider, in it’s decision taking and processing, not only the inputs provided
explicitly by the user, but also implicit inputs, related to computational and
physical context of users and environments.
2.3 Context-aware recommender systems supported by domain
ontologies
Collaborative filtering recommender systems usually use the whole user profiles
(the whole set of rated objects) to calculate similarities among them. In situation
where the recommender system should recommend objects in various domains,
this may lead to mistakes, once the system assume that if two users have the
same preferences in a certain domain, so in others domains their preferences will
also resemble. But, in many cases, this is not true. For example, suppose that two
people like the same kind of sports, music and movies, but differentiate their taste
for food. While one likes Arabian food, the other prefers Italian. In traditional
collaborative recommender systems, while the latter intends to go out to dinner,
he may be surprised with a suggestion to go to an Arabian restaurant. This
happens because all the information in the user profile is considered to calculate
similarities between users, independent of domain and context. Such mistake
could be avoided if the recommender system became aware of the user context,
going out to dinner in this case, and connected this with a specific domain, i.e.
culinary.
This benefit is not unilateral. Context-aware platforms may be also benefited
by the use of recommender systems, mainly to support recommendation of the
services offered by the platforms. In this case, the user would not need to manu-
ally request the platform for the services in which he is interested. These services
would be automatically recommended based on the user’s context and profile.
It is important to realize that the central goal of context-aware systems and
recommender systems is the same, i.e. providing users with relevant information
and/or services selected from a potentially overwhelming set of choices [12]. The
difference is that in the former one, the selection is based on the user’s context
while in the latter, it relies on the user’s interest. This suggest that these kinds
of systems are rather complementary than competing, hence motivating their
integration.
Going back to the previous example, while the contextual information (i.e.
going out to dinner) can be provided to the recommender system by a context-
aware platform, the domain information (i.e. culinary) may come from domain
ontologies. An ontology is a conceptual model that can be applied to describe a
domain of discourse, modeling it as a set of concepts and relations [13]. Ontologies
are generally used to provide a uniform conceptualization of terms. Concerning
recommender system, it can be applied in support to both collaborative and
content-based recommendations. For collaborative recommendations, as in the
example we have just saw, it is used in the description of user profiles, repre-
senting their interests, needs and personal characteristics. Profiles built under the
same domain ontology avoid problems of synonym and homonym. Analogously,
domain ontologies may also be useful to establish a common conceptualization
to describe or classify recommended objects in content-based recommender sys-
tems. In such systems, if the words used to describe objects are syntactically
different, but semantically equivalent, some of these objects will not be recom-
mended. And on the other hand, unwanted objects are likely to be recommended
in case the words are syntactically the same, however semantically different. We
may say that domain ontologies enable semantic matching of objects and profiles,
instead of a simple keyword-based matching.
The use of domain ontologies can augment and enrich the description of
contextual information, besides supporting the use of suitable reasoning mech-
anisms. An example of the use of ontologies in context-awreness may be found
in theInfraware system [14], [2].As an illustration, take for instance the diagno-
sis service prototyped in the platform. After consulting with a doctor, the user
needs to do a computed tomography to understand the reason behind a back-
ache. Holding his PDA, he submits his request to Infraware. The user would also
like that the clinic is located in a 5 km radius from his present location, and that
it has private parking. And finally, the user must inform his health insurance of
how he intends to pay for the exam. The system, through the healthcare domain
ontology, infers that computed tomography is a sort of image diagnosis. Then
the system looks through all clinics that perform images diagnosis, and selects
those which comply with the user’s distance and parking preference, supported
by the contextual information ontology. At last, the payment ontology supports
the user in choosing the type of payment.
3 COReS (Context-aware, Ontology-based Recommender
system for Service recommendation)
Our purpose is to develop a service recommender system to function in integra-
tion with the Service Manager component of the Infraware context-aware service
platform [14], [2]. Infraware is a middleware based on Web Service technology
with architectural support for the construction and execution of context-aware
mobile applications. The platform conceptual architecture is an extension of
WASP platform [15] and is being developed at LPRM (Multimedia and Net-
work Research Laboratory) in the Computer Science Department of the Federal
University of Espirito Santo, Brazil.
Figure 1 illustrates Infraware’s general architecture.
Fig. 1. The Infraware platform’s general architecture
The Infraware’s architecture uses Semantic Web technologies, like OWL and
RDF markup languages [16], [17], and introduces a new approach based on task
and domain ontologies to discover, select and compose services. Figure 2 shows
a piece of the healthcare domain ontology used by Infraware. Besides, Infraware
has a specific layer that receives and treats subscriptions coming from the appli-
cations, and a component specially concerned about privacy and access control.
Additionally, Infraware solves the problem of heterogeneous data access and in-
tegration via a dedicated infrastructure, and infers new information through
context interpreter.
The Service Manager is the component responsible for publication, discover,
selection and composition of services, carried out by the Secure Context-aware
Service Discovery Protocol (SCaSDP) [18] which implements the Service Match-
ing Algorithm [19]. At present, every time a user wants to use a service offered
by Infraware, he must submit a request to the platform. In other words, the
Service Manager function in a reactive way, i.e., it only attempt to find and
offer a service when the user makes a request. In some situations, it would be
desirable to let the system proactively assist the user, anticipating his needs
and offering services alternatives related to the user’s context, instead of waiting
for a service requisition. This functionality may be handled by a recommender
system coupled with the Service Manager, thus providing this component with
proactiveness. In service repository of Infraware may exist a great number of
services advertisement, so depending on the user’s request, he could receive, as
a result, a large list of services, once all services that match the request are se-
lected. So another advantage of including a recommender system in the Service
Manager is to help the user in the choice of the adequate service, showing him
only interesting services, according to his profile and other users’ profiles, instead
of the whole list.
Many recommender systems have been developed for specific domains, like
movies [11], music [20], books [21], news [22] and others. However, those systems
do not consider context in their recommendation process, which makes the use of
such systems in Infraware unfeasible. Another strong requirement of our system,
is the use of domain ontologies to enable efficient services recommendations, as
highlighted in section 2.3.
These reasons led to the proposal of COReS (Context-aware, Ontology-based,
Recommender system for Service recommendation). COReS is a hybrid system
that besides combining content-based and collaborative recommendations, apply
some other techniques, such as stereotypes and knowledge-based approaches.
This combination has the main purpose of eliminating some problems existing
in each individual technique and improving the quality of the recommendation.
Another novelty of COReS is the adoption of compartmentalize the user
profile according to different domains, selected in time of prediction, based on
the user’s context. Section 2.3 explains this idea in detail and presents the pro-
blems that happen as a consequence of a unified view of the profile, as adopted
in many content and collaborative-based recommender systems. Our proposal
applies some results of the work on foundational ontologies [23], [24]. The full
description of this feature is out of the scope of the present paper and should
thus come forward in future publications.
Fig. 2. The healthcare domain ontology used by Infraware
Domain ontologies are used in COReS to assist in the recommendation pro-
cess and in the comparison of user profiles. In the former, they are used to infer
services that may be recommended according to the user’s context. In the latter,
they provide additional information to the recommender when the user does not
have information related to the service in his profile.
User profile is composed of a set of domain ontologies that express user’s
interests and include his preferences and documents related to each concept.
Figure 3 shows the profile of two users.
Fig. 3. User Profile
4 Interoperating CORe-S and the Infraware Platform
COReS’s recommendations result from mapping user profile and context into ser-
vices. Since the system is being developed to integrate Infraware, this platform re-
mains responsible for gathering user context, besides inferring the user’s implicit
needs and wants of the moment. To gather input information and provide its
functionalities, COReS mainly interacts with the Service Manager. Hence, Figure
4 presents interactions of COReS with the Service Manager’s sub-components.
For purposes of simplification, this figure disregards the interactions of the Ser-
vice Manager with other Infraware components.
Fig. 4. Service Manager Components
The Service Manager originally had six sub-components: the Coordinator, the
Discoverer, the Composer, the Contextual Information Gatherer, the Publisher,
the Deliverer. COReS is now added as a new sub-component.
The Coordinator is responsible for receiving all inputs (requests, events,
tasks, etc.) coming from other Infraware modules, later delivering these inputs
to the adequate component. If an input can not be immediately attended, it can
be stored in the Coordinator to be handled in the future. The Coordinator also
notifies the Deliverer about a new input, or sends a task to be executed by that
component.
The Discoverer manages to whole process of service discovery, including
searching for services in the providers and the service repository, requesting
for contextual information and handling requests from the Composer.
The Composer is responsible for the semantic composition of services. If the
Discoverer does not find a service that fulfills a request, this component sends to
it to the Composer. Upon receiving the request, the Composer first analyzes the
request, breaking it into many tasks (small services) necessary to orchestrate the
whole service, then asks the Discoverer to find these tasks, and finally composes
the service.
The Contextual Information Gatherer connects to the Data Access and In-
tegration module and collects some contextual information that the Discoverer
needs to accomplish the service discovery.
The Publisher carries out the publication and update of service descriptions,
either requested by the Service Providers or by the Discoverer. In the former,
Service Providers send the description directly to the Publisher, while in the
latter, the Discoverer requests the publication of the description of a service just
composed by the Composer. In both cases, the Publisher validates the description
being published.
The Deliverer is responsible for getting in contact with client applications to
send them the result of a discovery or to execute a task coming from the Con-
text Interpreter, for example. Note that the Context Interpreter is an Infraware
component which is external to the Service Manager.
Finally, COReS is added to aggregate more functionalities to the Service
Manager. In order to accomplish that, this recommender system interacts with
three other components: the Coordinator, the Discoverer and the Deliverer. To
enable a clear understanding of their interactions, consider the following scenario:
a patient is leaving the doctor who has just prescribed him with some x-rays and
magnetic resonances. Aware of that, COReS can recommend some radiological
clinics with some free schedules, even before the user requests that service. Figure
5 shows how COReS and the remaining Service Manager components deal with
this situation.
Fig. 5. COReS interacting with Service Manager components to provide recommenda-
tions to the user
The Coordinator receives an input (1) and recognizes that this input is an
event caused by a change in the context of the user, thus forwarding this event
to COReS and notifying the Deliverer about a new input (2).
In order to identify the nature of this event, COReS interacts with the Con-
text Interpreter, which provides it with the present context of the user (in this
example, leaving the doctor), and with any other information derived from this
context and from the domain ontology (Fig 2) (for instance, a medical prescrip-
tion) (3). The healthcare domain ontology describes that a consult provides a
prescription.
After that, COReS interacts with the Privacy and Access Control compo-
nent of the platform to gain the authorization to access the prescription (4).
Services that satisfy a prescription can be infered from the diagnosis provided
by the consultation, and they are those that belong to the service type prescribes
by the prescription, that are performed in a healthcare unit or by professional
specialized in this kind of service, and that attend by the user’s health insurance.
So, in the next step, COReS creates a service request and sends it to the
Discoverer (5) to find the suitable services (6) (in this case, radiological clinics).
The result of the discovery is sent back to COReS (7) and the system then inter-
acts again with the Privacy and Access Control component to get users profiles
(8). The comparison of user profiles takes into account the interests, preferences
and documents related to a specific domain (in this case healthcare domain),
and tries to find a correlation between the concepts described. Considering the
Figure 3, users A and B profiles are similar in the healthcare domain, but they
are different in the music domain. COReS uses user profiles and evaluation of
other users, and some contextual information like his location and agenda, to
rank the results with the purpose of helping the user in his choice.
The system then submits the recommendation results to the Deliverer (9),
which finally delivers them to the user (10). Next to this, the Deliverer also
notifies the Coordinator about the accomplishment of the recommendation.
5 Recommendation Technique
The recommendation technique implemented in COReS is based on a previous
work on a recommender system named KARe (Knowledgeable Agent for Re-
commendations) [8]. KARe has been originally proposed for knowledge sharing,
through the exchange of textual information items. The system architecture and
algorithm may however be adjusted for services recommendation. What makes
this adjustment viable are the advances of the past few years in Web Services
research. Web Services are represented and described using metadata (i.e. textual
information) [25], thus allowing the use of the same techniques applied for the
recommendation of textual information items in general.
Characteristics of the system which motivate the extension of its capabilities
for service recommendation are the following:
Having a distributed architecture, based on software agents and the peer-to-
peer model;
Using taxonomies to enrich with semantic information the description of
recommended items. Taxonomies in KARe are important not only for the
organization and visualization of items but especially for providing flexibility
in the recommendation of these items;
Working both reactively and proactively. Reactively by satisfying the user’s
request for items of his interest, and proactively by anticipating user needs
for certain items, considering even contextual information (location of the
user);
Having been prototyped for mobile devices.
The experiment developed to validate KARe’s recommendation algorithm shows
that it presents considerable benefits when compared with traditional recommen-
dation algorithms, besides providing us with some directions of improvement [8].
While COReS’s architecture is quite well understood (please refer to section
4), most of our current and future work relies on adjusting KARe’s algorithm
for the use in COReS. Our effort starts by understanding how the user profile
should be represented and how it relates to contextual information. Both profile
and context refer to information about a particular user, the latter being more
dynamic than the former (i.e. contextual information such as time and location
are more likely to change in time than personal interest and taste). Our sec-
ond concern regards the definition of what characterizes a service. To address
this, service description languages (such as WSDL, SOAP, etc. [25]) must be
investigated. And finally, we aim at verifying how the applied recommendation
algorithm may be used to match profile and service description, thus generating
service recommendations to the user in need. As appointed in section 2, this
present initiative bets on the power of domain ontologies to generate a semantic
match. It is thus our intention to understand how these domain ontologies may
substitute the previously applied taxonomies in KARe. At a first glimpse, it ap-
pears that domain ontologies may enrich the semantic information provided by
the system. This deservers a thorough investigation to realize the possible gains
this might bring to the generation of recommendations.
6 Related Work
In this section we briefly present some of the research literature related to service
recommender systems and context-aware recommender systems.
The situation-aware task-based service recommender system [26] is an exten-
sion of the initial task-oriented service navigation system. This service navigation
system supports the user in finding appropriate services, including services the
user might not have been aware of before. This is possible through the use of
a rich task ontology. The user, to use the basic task navigator must specify an
activity query and send to the system. After that, a list of tasks that match that
query is sent back to the mobile device of the user. Now the most appropriate
task can be selected and in turn the corresponding detailed task-model is shown
to the user. In a final step, associated services can be invoked by establishing an
Internet connection to invoke actual i-mode services. The extension of the system
takes the users situation into account and thereby avoids the necessity to input
an initial task query. Ontology-based logical reasoning makes use of context data
such as time, location and people in proximity to compute concrete individual
situations. Tasks are categorized according to the high-level context concepts
given by the ontologies to be able to recommend an appropriate task-list cor-
responding to the user’s actual situation. On request the task engine returns a
filtered task list that results from matching the inferred user situation with the
task-specific categories.
Other attempt to integrate context awareness with mobile recommender sys-
tems is the COMPASS application [12]. COMPASS, which means Context-aware
Mobile Personal ASSistant, is a context-aware mobile tourist application that
serves a tourist with information and services based on his interests and current
context. The application consists of a map showing the user location. Depending
on his profile and goal, the system selects nearby buildings, buddies and other
objects and shows (recommend) them on the map and in a list. The application
is built upon the WASP platform [15] that provides generic supporting services,
such as a context manager and service registry. The COMPASS, to show objects
on the map, first queries the service registry for search services that are bound
to deliver objects related to the user’s context. The WASP retrieves services
matching the user’s context and goal. After that, the relevant search services
are queried to retrieve the objects matching the context’s criteria, e.g. being in
a certain distance from the user. The retrieved objects are then sent to the re-
commendation engine which scores each object based on the user’s interests and
contextual factors. The resulting objects and scores are displayed on the map
and in the list of objects.
A third approach is the system UbiMate that [27] cite in their work. Ubi-
Mate is a mobile recommender system proposed by Annie Chen. Chen proposed
a context-aware collaborative filtering system that can predict a user’s preference
in different context situations based on past user-experiences. The system uses
what other like-minded users have done in similar context to predict a user’s
preference towards an item in the current context [Chen, 2005]. The context
information that UbiMate include are: user information (profile and rating his-
tory), social environment (alone, friends, family, etc.), tasks (activity), location
(coordinates), weather (derived from coordinates) and time (time of interac-
tion). The composition of different context information establishes a snapshot
of context. The information may be available or unavailable, so they are stored
independently. The collaborative filtering algorithm the user’s profile and a snap-
shot of the current context along with the rating, and use statistical methods to
predict the items the user will most prefer.
7 Conclusion
This paper proposed an approach to facilitate service selection, exploring pos-
sibly synergy among recommender systems and context-aware computing. It
described the development of COReS (Context-aware, Ontology-based Recom-
mender system for Service recommendation) which uses the capabilities of the
Infraware platform to support services selection, making service offer by this plat-
form more efficient, personalized and proactive, and thus satisfying the needs of
the user in a particular context.
The motivation behind the creation of COReS comes from the fact that most
of recommender systems have been developed for specific domains. Furthermore,
they do not consider context in their recommendations and they perform simple
keyword-based matching instead of semantic matching, enabled by ontologies,
which can cause inconsistent recommendations. And, an innovation of COReS
is the adoption of compartmentalized the user profiles according to different
domains. The suitable profile part for a given recommedation is selected in time
of prediction, based on the user’s context.
COReS is a hybrid system implementing recommendation technics based on
an existing system named KARe. Integrating the Infraware platform, COReS
is being developed as a Service Manager’s new component. This way, we aim
at aggregating more functionalities to this module, like anticipating user needs
for certain services, helping him in the choice of a service and assisting him on
accomplishing his goals.
References
1. Chen, G., Kotz, D.: A Survey of Context-Aware Mobile Computing Research. Tech-
nical Report TR2000-381, Dept. of Computer Science, Dartmouth College, USA,
2000.
2. Pereira Filho, J.G., Pessoa, R.M., Calvi, C.Z.: INFRAWARE: A Support Middle-
ware to Context-Aware Mobile Applications (in portuguese). In Proceedings of the
24th Simpsio Brasileiro de Redes de Computadores, Curitiba-PR, 2006.
3. Weiser, M.: The Computer for the Twenty-First Century. Scientific American, pages
94–10, September, 1991.
4. Burke, R.: Hybrid recommender systems: Survey and experiments. User Modeling
and User-Adapted Interaction, 12(4):331–370, 2002.
5. Montaner, M., Lpez, B., De la Rosa, J.L.: A Taxonomy of Recommender Agents on
the Internet. In Artificial Intelligence Review, 19(4):285–330, 2003.
6. van Setten, M.: Supporting People in Finding Information. Number 016 in Telem-
atica Instituut Fundamental Research Series. Universal Press, 2005.
7. Dey, A. K., Abowd, G. D., Salber, D.: A Conceptual Framework and a Toolkit
for Supporting the Rapid Prototyping of Context-aware Applications. Human-
Computer Interaction Journal, Volume 16, pages 97–166, 2001.
8. Guizzardi, R. S. S.: Agent-oriented Constructivist Knowledge Management. PhD.
thesis, University of Twente, The Netherlands, 2006.
9. Karta, K.: An investigation on personalized collaborative filtering for web service
selection. MSc. thesis, The University of Western Australia, 2005.
10. Balabanovic, M., Sholam, Y.: Combining Content-Based and Collaborative Rec-
ommendation. Communications of the ACM, 40(3), 1997.
11. Basu, C., Hirsh, H., Cohen, W.,: Recommendation as classification: using social and
content-based information in recommendation. In Proceedings of the 15th National
Conference on Artificial Intelligence (AAAI-1998), pages 714–720, 1998.
12. van Stetten, M., Pokraev, S., Koolwaaji, J.: Context-Aware Recommendations in
the Mobile Tourist Application COMPASS. In Adaptive Hypermedia, vol. 3137 of
LNCS, Springer-Verlag, pages 235-244, 2004.
13. Guizzardi, G.: On Ontology, ontologies, Conceptualizations, Modeling Languages,
and (Meta)Models. Frontiers in Artificial Intelligence and Applications, Databases
and Information Systems IV, Olegas Vasilecas, Johan Edler, Albertas Caplinskas
(Editors), ISBN 978-1-58603-640-8, IOS Press, Amsterdam, 2007 (forthcoming).
14. Pereira Filho, J.G., Barbosa, A.C.P., Pessoa, R.M., Calvi, C.Z., Carmo, R.R.M.,
Oliveira, N.Q., Castro, L.R.A. INFRAWARE’s Platform Architecture (in por-
tuguese). Technical Report RT-02, Federal University of Esprito Santo, 2005.
15. Costa, P.D.: Towards a Services Platform for Context-Aware Applications. MSc.
thesis, University of Twente, The Netherlands, 2003.
16. Web Ontology Language (OWL). http://www.w3.org/2004/OWL/, 2007.
17. Resource Description Framework (RDF). http://www.w3.org/RDF/, 2007.
18. Carmo, R. R. M.: A Service Discovery Protocol for Context-aware Systems (in
portuguese) MSc. thesis, Federal University of Esprito Santo, Brazil.
19. Costa, A. C. M.: AlComp: A Context-aware, Ontology-based, Semantic Match-
ing Algorithm for Service Discovery (in portuguese). Graduation project, Federal
University of Esprito Santo, Brazil, 2006.
20. U. Shardanand, Maes, P.: Social information filtering: Algorithms for automating
word of mouth. In Proceedings of ACM Conference on Human Factors in Computing
Systems (CHI 95), pages 210-217, 1995.
21. Mooney, R. J. and Roy, L.: Content-based book recommending using learning
for text categorization. In Proceedings of the Fifth ACM Conference in Digital
Libraries, pages 195204, 2000.
22. Resnick, P., Iacovou, N., Suchak, M., Bergstorm, P., Riedl, J.: Grouplens: An
open architecture for collaborative filtering of netnews. In Proceedings of the ACM
Conference on Computer Supported Cooperative Work, pages 175186, 1994.
23. Guizzardi, G.: Agent Roles, Qua Individuals and the Counting Problem. In: P.
Giorgini; A.Garcia; C. Lucena; R. Choren. (Org.). Software Engineering of Multi-
Agent Systems. Berlin: Springer-Verlag, 2006, v. , p. -, 2006
24. Masolo, C., Guizzardi, G., Vieu, L., Botazzi, E., Ferrario, R.: Relational Roles and
Qua Individuals. In: American Association for Artificial Intelligence (AAAI), Fall
Symposium on Roles: an Interdisciplinary Perspective, 2005, Arlington. Proceedings
of the 2005 AAAI Fall Symposium on Roles, an interdisciplinary perspective, 2005.
25. Graham, S., Simeonov, S., Boubez, T., Davis, D., Daniels, G., Nakamura Y.,
Neyama, R.: Building Web Services with JavaTM: Making Sence of XML, SOAP,
WSDL and UDDI. Sams Publishing, 2002.
26. Fukazawa, Y., Luther, M., Wagner, M., Tomioka, A., Naganuma, T., Fujii, K.,
Kurakake S.: Situation-aware, task-based service recommendation. In Proceedings
of the 4th International Semantic Web Conference, 2005.
27. Helfenstein, S., Beutler, E.: Context-awareness. Seminar of Context-aware Com-
puting, University of Zurich, 2006.
... To effectively capture the context semantics, researchers (Costa et al. 2007;Liu et al. 2008Liu et al. , 2010Liu et al. , 2011 have adopted ontology to model context information. ...
... Authors in Costa et al. (2007) developed COReS: a context-aware, ontology-based recommender system for service recommendation. This approach broadens the capabilities of a context-aware plateform called Infraware. ...
... Few others (Hu et al. 2012;Kuang et al. 2012;Costa et al. 2007) take into account user profile and interests. ...
Article
Full-text available
Over the last years, recommendation techniques have emerged to cope with the challenging task of optimal service selection, and to help consumers satisfy their needs and preferences. However, most existing models on service recommendation only consider the traditional user-service relation, while in the real world, the perception and popularity of Web services may depend on several conditions including temporal, spatial and social constraints. Such additional factors in recommender systems influence users’ preferences to a large extent. In this paper, we propose a context-aware Web service recommendation approach with a specific focus on time dimension. First, K-means clustering method is hybridized with a multi-population variant of the well-known Particle Swarm Optimization (PSO) in order to exclude the less similar users which share few common Web services with the active user in specific contexts. Slope One method is, then, applied to predict the missing ratings in the current context of user. Finally, a recommendation algorithm is proposed in order to return the top-rated services. Experimental studies confirmed the accuracy of our recommendation approach when compared to three existing solutions.
... Other 120 approaches, that belong to the category of contextual model- 121 ing, have adopted Tensor Factorization (an extension of 122 Matrix Factorization) [18] as a solution to the high number of 123 entities in context-aware recommender systems. 124 To correctly capture the semantics of users' and services' 125 contextual information, some researchers have adopted 126 ontology to model and reason about context information 127 [19], [20], [21], [22]. Others have applied clustering methods 128 (e.g., k-means algorithm) and Bayesian inference to group 129 similar users and predict QoS information [2], [23], [24], 130 [25], [26]. ...
... 135 Most of the above approaches lack a rich representation 136 and semantics of context information, as they only focus on 137 spatio-temporal dimensions. Other context information 138 (e.g., user profile and interests, security) were focused on by 139 few researchers [19], [23], [24]. We also noticed that most 140 researches realize service recommendations based on con-141 textual implicit feedback, to cope with the absence of histor-142 ical context information. ...
Article
Over two decades, context awareness has been incorporated into recommender systems in order to provide, not only the top-rated items to consumers but also the ones that are suitable to the user context. As a class of context-aware systems, context-aware service recommendation (CASR) aims to bind high-quality services to users, while taking into account their context requirements, including invocation time, location, social profiles, connectivity, and so on. However, current CASR approaches are not scalable with the huge amount of service data (QoS and context information, users reviews and feedbacks). In addition, they lack a rich representation of contextual information, as they adopt a simple matrix view. Moreover, current CASR approaches adopt the traditional user-service relation and they do not allow for multi-relational interactions between users and services in different contexts. To offer a scalable and context-sensitive service recommendation with great analysis and learning capabilities, we provide a rich and multi-relational representation of the CASR knowledge, based on the concept of knowledge graph. The constructed context-aware service knowledge graph (C-SKG) is, then, transformed into a low-dimensional vector space to facilitate its processing. For this purpose, we adopt Dilated Recurrent Neural Networks to propose a context-aware knowledge graph embedding, based on the principles of first-order and subgraph-aware proximity. Finally, a recommendation algorithm is defined to deliver the top-rated services according to the target user's context. Experiments have proved the accuracy and scalability of our solution, compared to state-of-the-art CASR approaches.
... The ontology-based recommender system is a formal representation of a knowledge domain, whose semantics is defined by its composing concepts and relationships. Ontologies can be used to express things unambiguously [19]. An ontology is a conceptual model that can be applied to describe a domain of discourse, modelling it as a set of concepts and relations. ...
... Christian Räck et al., [18] suggested AMAYA recommender system that could deliver convenient news articles for each user. Giancarlo et al., [19] developed a recommender system named: COReS (context-aware. Ontology-based recommender system for service recommendation), which used the abilities of the Infraware platform to support service selection by making services offered by this program more efficient, personalized, and proactive and then it will also satisfy the needs of a user in its context. ...
Article
Full-text available
In our work, we have presented two widely used recommendation systems. We have presented a context-aware recommender system to filter the items associated with user’s interests coupled with a context-based recommender system to prescribe those items. In this study, context-aware recommender systems perceive the user’s location, time, and company. The context-based recommender system retrieves patterns from World Wide Web-based on the user’s past interactions and provides future news recommendations. We have presented different techniques to support media recommendations for smartphones, to create a framework for context-aware, to filter E-learning content, and to deliver convenient news to the user. To achieve this goal, we have used content-based, collaborative filtering, a hybrid recommender system, and implemented a Web ontology language (OWL). We have also used the Resource Description Framework (RDF), JAVA, machine learning, semantic mapping rules, and natural ontology languages that suggest user items related to the search. In our work, we have used E-paper to provide users with the required news. After applying the semantic reasoning approach, we have concluded that by some means, this approach works similarly as a content-based recommender system since by taking the gain of a semantic approach, we can also recommend items according to the user’s interests. In a content-based recommender system, the system provides additional options or results that rely on the user’s ratings, appraisals, and interests.
... In our proposal, the main role of ontologies is to provide a description of the context used by the recommender system, enabling also the use of reasoning functionalities [46]. Indeed, ontologies are often used in recommender systems [47]. ...
... In this case, they are particularly useful, since the recommender system should deal with different domains, such as KPIs, goals, organizational aspects and collaborative types and features that should be considered simultaneously. Indeed, without the use of domain ontologies, the system might return nonaccurate suggestions [46]. ...
Conference Paper
Much of the research on Performance Management (PM) for collaborative enterprises (CE) is based on qualitative considerations and does not consider the impact of modern Information Systems both on the collaborative/competitive dimension of firms and on the PM process. The peculiarities of the different types of CEs are not clearly addressed and managed in literature, and the performance measurements are often oriented to specific aspects rather than to assess the overall quality of business. Moreover, in several proposals, the skills and the time required to the managers of CEs are far from those available in the largest part of existing SMEs. In this scenario the objective of the paper is to discuss how conceptual modeling techniques, and namely ontologies and performance modeling, can contribute to better manage collaborative enterprises.
... Ontologies have been used to improve recommender systems in e-learning [23], service recommendation [7], POI recommendation [18] and travel sequence recommendation [2,12]. A hierarchical contextual POI sequence recommender that formulates user preferences as hierarchical structure and exploits contextual trend to generate personalized POI sequences is proposed in [5]. ...
Conference Paper
Context-aware Recommender Systems (CARS) are becoming an integral part of the everyday life by providing users the ability to retrieve relevant information based on their contextual situation. To increase the predictive power considering many parameters, such as mood, hunger level and user preferences, information from heterogeneous sources should be leveraged. However, these data sources are typically isolated and unexplored and the efforts for integrating them are exacerbated by variety of data structures used for their modelling and costly pre-processing operations. We propose a Knowledge Graph-based approach to allow integration of data according to abstract semantic models for Points-of-Interests (POI)s recommendation scenarios. By enriching data with information about attributes, relationships and their meaning, additional knowledge can be derived from what already exists. We demonstrate the applicability of the proposed approach with a concrete example showing benefits of the retrieving the dispersed data with a unified access mechanism.
Chapter
Web services are gradually elevating as a fundamental aspect of Web applications in the era of Web 3.0. A Web service can be termed as a strategic model curated for reinforcing concordant machine-to-machine interactivity over a network. As there is a gradual transfer toward service-oriented architecture, the importance of service-based computing has turned out to be exceptionally popular. It has become a major asset in an aspect of communication within the Internet. This paper proposes an ontology-based Web service recommendation system that uses ontology matching and collective crowdsourced ontology along with a genetic algorithm for optimization. The dataset is used for training followed with classification and computing semantic similarity using the genetic algorithm which recommends the services in increasing order of similarity. The proposed approach is superior in terms of performance and recorded precision and accuracy of 96.79 and 95.39% which is found to be better than existing approaches.KeywordsGenetic algorithmOntologySemantic similaritySemantic Web text summarization
Article
Full-text available
The magnitude of the daily explosion of high volumes of data has led to the emergence of the Big Data paradigm. The ever-increasing amount of information available on the Internet makes it increasingly difficult for individuals to find what they need quickly and easily. Recommendation systems have appeared as a solution to overcome this problem. Collaborative filtering is widely used in this type of systems, but high dimensions and data sparsity are always a main problem. With the idea of deep learning gaining more importance, several works have emerged to improve this type of filtering. In this article, a product recommendation system is proposed where an autoencoder based on a collaborative filtering method is employed. A comparison of this model with the Singular Value Decomposition is made and presented in the results section. Our experiment shows a very low Root Mean Squared Error (RMSE) value, considering that the recommendations presented to the users are in line with their interests and are not affected by the data sparsity problem as the datasets are very sparse, 0.996. The results are quite promising achieving an RMSE value of 0.029 in the first dataset and 0.010 in the second one.
Conference Paper
The Internet of Things (IoT) is being hailed as the next industrial revolution and promises billion of IoT devices connected to the Internet in the near future. Emerging back-end support technologies not only have to anticipate this dramatic increase in connected devices, but also the heterogeneity of devices. This paper proposes a comprehensive approach for efficiently and rapidly integrating heterogeneous devices during runtime, in order to collect data. The proposed approach identifies both known and unknown devices’ specifications and Application Programming Interfaces (APIs), classifies the specifications and illustrates the APIs into ontologies, while the latter are being mapped in combination with the classification’s results to match the known with the unknown devices’ APIs. All of these steps are being performed as preliminary steps for the proposed Dynamic Data Acquisition API, which is the final outcome of the mechanism that is responsible for translating the devices’ APIs into a common format.
Conference Paper
Context modelling and context reasoning are widely used topics in Context-Aware Recommender Systems research. Based on our research, the development of context models in context-aware recommender systems is problematic in that many domain specific and application specific context models are developed with limited or no reuse and sharing capabilities. Furthermore, context-aware recommender systems that follow the representational view of context, design and model the fully observable context that is known at recommendation time but do not consider partially observable context with unknown values at recommendation time, that can nevertheless enhance the recommendation outcome. In this paper we deal with the above two issues by proposing a CARS design system that enables developers: (i) to easily and effectively design context models by defining, sharing and reusing context parameters and (ii) to utilize partially observable context at recommendation time by using an interactional approach that incorporates user feedback by applying a utility based algorithm on context models.
Chapter
Full-text available
Context-aware recommender systems (CARS) use context data to enhance their recommendation outcomes by providing more personalized recommendations. Context modelling is a basic procedure towards this direction since it models the contextual parameters to be used during the recommendation process. Most literature works however build domain specific contextual models that only represent information of a particular domain, excluding the possibility of model sharing and reuse among other CARS. In this paper we focus on this issue and study whether a more generic modelling approach can be applied for CARS. We discuss a possible solution and show through literature review on relevant systems that the proposed solution has not yet been applied. Next, we present a novel generic contextual modelling framework for CARS, discuss its advantages and evaluate it.
Article
Full-text available
Recommender systems represent user preferences for the purpose of suggesting items to purchase or examine. They have become fundamental applications in electronic commerce and information access, providing suggestions that effectively prune large information spaces so that users are directed toward those items that best meet their needs and preferences. A variety of techniques have been proposed for performing recommendation, including content-based, collaborative, knowledge-based and other techniques. To improve performance, these methods have sometimes been combined in hybrid recommenders. This paper surveys the landscape of actual and possible hybrid recommenders, and introduces a novel hybrid, EntreeC, a system that combines knowledge-based recommendation and collaborative filtering to recommend restaurants. Further, we show that semantic ratings obtained from the knowledge-based part of the system enhance the effectiveness of collaborative filtering.
Conference Paper
Full-text available
In philosophy, the term ontology has been used sin ce the 17 th century to refer both to a philosophical discipline (Ontology with a capital " O"), and as a domain-independent system of categori es that can be used in the conceptualization of domain -specific scientific theories. In the past decades there has been a growing interest in the subject of ontology in computer and information sciences. In the last f ew years, this interest has expanded considerably in t he context of the Semantic Web and MDA (Model-Driven Architecture) research efforts, and due to the role ontologies are perceived to play in these initiati ves. In this paper, we explore the relations between Ontology an d ontologies in the philosophical sense with domain ontologies in computer science. Moreover, we elaborate on formal characterizations for the notions of ontology, conceptualization and metamodel, as well as on the relations between these notions. Addition ally, we discuss a set of criteria that a modeling langua ge should meet in order to be considered a suitable language to model phenomena in a given domain, and present a systematic framework for language evaluation and design. Furthermore, we argue for th e importance of ontology in both philosophical sens es aforementioned for designing and evaluating a suita ble general ontology representation language, and w e address the question whether the so-called Ontology Web languages can be considered as suitable genera l ontology representation languages. Finally, we moti vate the need for two complementary classes of modeling languages in Ontology Engineering addressing two separate sets of concerns.
Conference Paper
Full-text available
This paper describes the context- aware mobile tourist application COMPASS that adapts its services to the user's needs based on both the user's interests and his current context. In order to provide context-aware recommendations, a recommender system has been integrated with a context- aware application platform. We describe how this integration has been accomplished and how users feel about such an adaptive tourist application.
Article
Full-text available
Recently, Artificial Intelligence techniques have proved useful in helping users to handle the large amount of information on the Internet. The idea of personalized search engines, intelligent software agents, and recommender systems has been widely accepted among users who require assistance in searching, sorting, classifying, filtering and sharing this vast quantity of information. In this paper, we present a state-of-the-art taxonomy of intelligent recommender agents on the Internet. We have analyzed 37 different systems and their references and have sorted them into a list of 8 basic dimensions. These dimensions are then used to establish a taxonomy under which the systems analyzed are classified. Finally, we conclude this paper with a cross-dimensional analysis with the aim of providing a starting point for researchers to construct their own recommender system.
Article
Full-text available
Online readers are in need of tools to help them cope with the mass of content available to the World-Wide Web. In traditional media, readers are provided assistance in making selections. This includes both implicit assistance in the form of editorial oversight and explicit assistance in the form of recommendation services such as movie reviews and restaurant guides. The electronic medium offers new opportunities to create recommendation services, ones that adapt over time to track their evolving interest. Fab is such a recommendation system. This article explains how a hybrid system can incorporate the advantages of both methods while inheriting the disadvantages. The authors describes the two approaches for content-based and collaborative recommendation, explain how a hybrid system can be created, and then describe Fab, an implementation of such a system. Fab is a distributed implementation of a hybrid system, and is part of the Stanford University digital library project.