The Design of a Virtual Community Library
The Agent based Digital Library Infrastructure Project
The aim of this project is to create a Virtual Community Library where
each user has a personal library and, at the same time, is part of a larger
community consisting of the other users' personal libraries and, through
intermediators, other digital libraries. Being a part of a community means
that each user can benefit from the work put into the other libraries.E.g
by obtaining documents through search queries or recommendations using
social filtering and also by getting help to organize the personal library.
An Overview of a Virtual Community Library
The base of a virtual community library (VCL ) is a multiagent system consisting
of personal library agents (PLAs) for each user and there are adapter
agents (AA) that connect the VCL to other digital libraries and other
places with important information, such as searchable databases. For organizations
to be able to be present themselves outside the VCL, there are also organization
library agents (OLAs) to which personal library agents in the organization
are connected. An OLA organizes the documents in a way that suits the organization.
A well known expression among programmers is 'garbage in garbage out',
which means that if you give a program bad input, you will get bad output.
This is the case for libraries too, but for ordinary libraries, the librarians
have the skill and knowledge to select what information to put into the
library. In a VCL, every participating user is a librarian and if the users
put garbage into the VCL, other users will get garbage out of it. Therefore,
a VCL must have a mechanism to just let wanted information reach a user.
Such a mechanism is usually called information filtering and we have chosen
to have an agent called personal recommender agent (PRA) that collaborates
with other users' PRAs to recommend and find interesting documents
through content-based and social filtering.
In figure 1, a part of a connection net of a VCL is shown. It consists
of three PLAs with corresponding PRAs and one OLA representing the organization
that the three PLAs belong to. There are also two adapter agents, which
are directly accessed from one of the PLAs, interfacing two different library
databases. The PRAs are connected via a social filtering infrastructure
consisting of other PRAs or via direct connections.
 |
| Figure 1: A part of a virtual community library. An arrow shows
that an agent accesses another agent directly for information (e.g. subscribing
for new added documents) and a cloud shows indirect accesses. |
The Agents of a Virtual Community Library
In the previous section, the different interacting agents was described,
in the following sections their interactions with other agents and the
users are described. [The inner working of each agent is not specified
(yet)].
The Personal Library Agent
The personal library agent helps a user to create its own library based
on its own preferences. A personal library agent's interactions can be
divided into two components, its interaction with a user and
its interaction with a VCL (other agents).
The Interaction with a User
The interaction with a user consist of a number of different aspects:
-
A function to add new documents.
-
Organizational possibilities:
-
A possibility to add personal annotations to the documents.
-
A possibility to attach user-defined tags to the documents (e. g. from
a predefined tree-like structure).
-
A possibility to change tags attached to the documents.
-
Searchabilities in the personal library:
-
A possibility to visualize the personal library.
-
A possibility to brows the library.
-
A possibility to form search queries and query the personal library.
-
Searchabilities in the VCL (closely connected to the interaction with
a VCL):
-
A possibility to form search queries and query the VCL.
-
Abilities to help the user:
-
A possibility to automatically recommend documents to the user.
-
A possibility to help the user to give documents tags.
-
The graphical user interface.
NOTE: The ability to add new documents means that a PLA should work
as a repository for documents too. Its working as a repository is closely
related to how an ordinary web server works, but the aim is to be a reliable
information source. When a document is stored, the document gets a unique
identifier which can be used to retrieve this document from outside the
PLA by, for example, another PLA. To make the PLA to a reliable information
source, the identifier is not changeable and therefore, this identifier
should not correspond to the actual file system as for URLs to documents
at ordinary web servers.
The Interaction with a VCL
This specifies how a PLA can interact with other agents in a VCL to provide
the services described in the previous section. The other agents work as
interfaces to the different services.
To be able to help a user, it can query
-
Its user's PRA for recommendations of documents based on interests
-
Its user's PRA for suggestion of information to attach to a certain document.
To be able to let a user search in the VCL, it can query
-
Other PLAs and search their databases (and repository) directly
-
Special adapter agents and search their different databases through them
-
Its user's PRA and perform searches which are constrained by the same information
the PRA uses to recommend documents.
This makes it necessary for a PLA to be able to answer queries from other
PLAs.
The Organization Library Agent
A special case of the personal library agent is the organization library
agent that represents a whole organization which means that its should
query all PLAs of the organization for new added documents.
The Adapter Agent
An adapter agent works for a personal library agent as another personal
library agent. The information source an adapter agent represents, for
example a database, should as much as possible be used to mimic another
user.
The Personal Recommender Agent
The personal recommender agent (PRA) helps a PLA to automatically find
interesting documents for its user and to help the agent to search for
documents contained in unknown PLAs. It should also help the PLA to suggest
information to attach to a document based on what the PLA previously attached
and what other PLAs have attached, that is indirectly what the users have
attached, to documents.
The Interaction with a VCL
A PRA must be able to answer queries from its PLA. The queries might be:
-
Specific search queries, for example, search for "documents to which
I would attach the tag 'pet' and in which the word 'dog' is contained".
There is a distinction between documents relevant to the query and documents
irrelevant to the query.
-
For recommendations of documents, that is, search for: "documents
similar to the interest description I". There is no clear distinction between
documents relevant to the query and documents irrelevant to the query.
The word 'similar' means that it is not necessary that there is a direct
match between a document and the interest, but it is a gradual decline
of the similarity.
-
For suggestions of information to attach to specific documents,
for example, ask for tags that should be associated to a certain document.
To be able to recommend documents or to search for documents, a PRA can
query:
-
Another PRA for documents according to an interest (Note: an interest is
received from its PLA in form of a query or inferred from the knowledge
about its PLA). The queries are the same as the first two from above, specific
search and recommendations of documents.
To help other PRAs to recommend or search for documents, a PRA is committed
to:
-
Answer queries from other PRAs if it is able to do it.
-
Route queries from PRAs to other PRAs that it thinks might be able to answer
them.
Note: For the social filtering infrastructure (figure 1) to work
well, most of the PRAs in it should be able to answer and to route queries
as the querying PRA expects, otherwise the social filtering will not work.