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