
Profile Updating. User profiles are incrementally 
updated from the contents of the pages which the 
user has seen and found interesting. 
Explicit Feedback. The system collects explicit 
feedback on the user’s opinion, for the web pages 
that have been already recommended to them. Such 
information, again typically in the form of a web 
page will be extracted and stored as positive rating 
example and these examples will be also be placed 
in the example pool until retrieved by the learning 
manager.  
 
HTTP is the main protocol of the WWW. In essence, 
it defines a set of rules describing how data should 
be formatted and exchanged between servers and 
browsers. Being an intermediate between the http 
server and the client side, it is the system’s 
responsibility to recognize the different types of 
HTTP request the client may send, as well as the 
various HTTP responses that may be returned by the 
server. In essence, in order to generate a positive 
learning example. The system is versatile enough to 
cope with a wide variety of HTTP headers. It is able 
to parse the HTTP headers sent between the client 
and server and extract the relevant information such 
as url’s of the pages of interest and extract the 
contents of the page which the url is pointing to. 
Graphical User Interface. The GUI plays an 
important role in displaying recommended pages to 
the user.  The user interface is split into two parts: 
The headline panel and the abstraction panel (see 
Figure 2). 
 
Figure 2: The User Interface. 
The headline panel is the component related 
directly to the underlying behaviour of the system, 
displaying the recommendations made by the 
recommending part.  The titles of the pages are 
displayed in the headline panel. To promote 
interactivity, each recommended item has to respond 
to certain selection events. On double clicking the 
page title, the system should start a browser, 
displaying the content of the selected page.  The 
possibility to refresh the page so that up-to-date 
recommendations, is possible. 
  The abstraction panel serves to give more 
details of the page recommended by the system and 
also allows a user to give explicit feedback, i.e rate 
the selected page as interesting, based on the title of 
the page, the abstraction of the page or even full 
content of the page.  It has been designed that on 
selection of a recommended item in headline panel, 
should also correspondingly display the abstraction 
of the selected page. On clicking of the button “an 
interesting page?” a window pops up informing the 
user that his/her opinion has been taken into 
consideration.  
  Two other tabs at the top left hand corner of the 
main page “Menu” and “Help” On clicking Menu 
the following options can be selected: Settings, save, 
exit.  
  The following options may be selected from the 
settings menu. Profile path allow the user to define 
the location of his/her profile is located. 
Configuration path, allows the user to define the port 
the application should listen to, in performing as a 
proxy server. Browser allows the user to choose the 
browser they would like to use to browse the 
recommendations. Information source, allows the 
user to specify the information source of 
recommendations.  
The Recommendation Process 
System recommends web pages upon user’s request, 
a simple outline of recommendation process is seen 
below: 
1.  Query  user’s profile 
2.  Pick up a profile record, extract the top N 
words form the user’s profile and send these 
words to Google. 
3.  Extract the top M results returned by Google, 
put them in a collection of web pages denoted 
by as C. 
4.  Generate a TF-IDF for every single page 
within C. 
5.  Calculate  cosine similarity between every 
vector gained in step 4 and the profile, return 
the top K recommended objects to GUI. K is 
chosen based on the priority of current profile 
record. 
6.  Repeat step 2 to 5 for every single profile 
record in user’s main profile. 
A SOFTWARE AGENT FOR CONTENT BASED RECOMMENDATIONS FOR THE WWW
181