
cooperate upon well-specified business models, 
which may efficiently carry out diverse processes.  
This paper focuses on the features and 
functionalities of a new module integrated in the 
above system, namely the recommendation module, 
which aims at enhancing the quality of the 
associated decisions. Recommender systems have 
been described as systems that produce 
individualized recommendations as output or have 
the effect of guiding the user in a personalized way, 
in environments where the amount of on-line 
information vastly outstrips any individual’s 
capability to survey it (Burke, 2002). Alternative 
techniques have been also proposed in the literature 
in order to handle the above issues. Having 
thoroughly considered their pros and cons, our 
approach follows a hybrid recommendation 
technique.  
The remainder of this paper is structured as 
follows. Section 2 discusses approaches and related 
work from the area of recommender systems. 
Section 3 describes the basic aspects of our 
approach, namely transportation plan selection, 
alternative solution evaluation and recommendation 
methodology. Section 4 deals with the evaluation of 
a transaction and the exploitation of agent 
technologies. Finally, Section 5 concludes the paper. 
2 RECOMMENDER SYSTEMS 
Recommender systems apply data analysis 
techniques to assist users finding the items they need 
by producing a predicted likeness score or a list of 
top-N recommended items. Two of the most widely 
adopted recommendation techniques are 
Collaborative Filtering (CF) and Knowledge Based 
Recommendation (KBR), each one possessing its 
own strengths and weaknesses. Collaborative 
Filtering (CF) (Resnick et al., 1994) is the most 
commonly used recommendation technique to date. 
The basic idea of CF-based algorithms is to provide 
item recommendations or predictions, based on the 
opinion of other like-minded users. In a typical CF 
scenario, there is a list of m users U = {u
1
,u
2
,…,u
m
} 
and a list of n items I = {i
1
,i
2
,…,i
n
}. Each user u
i
 is 
associated with a list of items I
Ui
, for which the user 
has expressed his/her opinion. Opinions can be 
explicitly given by the user as a rating score, 
generally within a certain numerical scale, or can be 
implicitly derived from transaction records, by 
analyzing timing logs, mining web hyperlinks and so 
on. For a particular user U
a
, the task of a 
collaborative filtering algorithm is to find an item 
likeness that can be of two forms: 
•  Prediction: this is a numerical value, P
a,j
, 
expressing the predicted likeness of item i
j
 
(i
j
 does not belong in I
Ua
) for the user. The 
predicted value is within the same scale 
(e.g. 1 to 5) as the opinion values provided 
by U
a
. 
•  Recommendation: this is a list of N items I
r 
 
(I
r 
is a subset of  I) that the user will like 
most (the recommended list must contain 
items not already selected by the user). This 
outcome of CF algorithms is also known as 
Top-N recommendation.  (Sarwar et al., 
2000).  
 
On the other hand, Knowledge-Based 
Recommendation attempts  to suggest objects based 
on inferences about a user’s needs and preferences. 
In some sense, all recommendation techniques could 
be described as doing some kind of inference. 
Knowledge-based approaches are distinguished in 
that they utilize functional knowledge: that is, they 
have knowledge about how a particular item meets a 
particular user need, and can therefore reason about 
the relationship between a need and a possible 
recommendation. The user profile can be any 
knowledge structure that supports this inference. In 
the simplest case, as in Google (www.google.com), 
it may simply be the query that the user has 
formulated. The Entrée system and several other 
recent systems (for an overview, see (Schmitt & 
Bergmann, 1999)) employ techniques from case-
based reasoning for knowledge-based 
recommendations.  
The knowledge used by a knowledge-based 
recommender system can also take many forms. 
Google uses information about the links between 
web pages to infer popularity and authoritative value 
(Brin & Page, 1998). Entrée uses knowledge of 
cuisines to infer similarity between restaurants. 
Utility-based approaches calculate a utility value for 
objects to be recommended; in principle, such 
calculations could be based on functional 
knowledge. However, existing systems do not use 
such inference mechanisms, thus requiring users to 
do their own mapping between their needs and the 
features of products, either in the form of preference 
functions for each feature, as in the case of Tête-à-
Tête, or answers to a detailed questionnaire, as in the 
case of PersonaLogic (Burke, 2002). Knowledge-
based recommender systems are prone to the 
drawback of all knowledge-based systems: the need 
for knowledge acquisition. More specifically, there 
ICEIS 2006 - SOFTWARE AGENTS AND INTERNET COMPUTING
88