The Digital Library as Community of Information Agents
Michael P. Wellman,
Edmund H. Durfee,
William P. Birmingham
Artificial Intelligence Laboratory
University of Michigan
Ann Arbor, MI 48109-2110
{wellman, durfee,
wpb} @ umich.edu
A position statement, to appear in IEEE
Expert (Trends
& Controversies Section on the Role of AI in Digital Libraries),
June 1996.
The advent of digital libraries presents a plethora of challenges and opportunities
for artificial intelligence technology. Extracting relevant information
from large multimedia digital collections stresses technologies for information
retrieval, text and image understanding, translation, and
so on. Satisfying diverse user communities calls for advanced interfaces,
user modeling, speech/gesture recognition, and other emerging mechanisms.
Between users and collections is a gulf filled with a large, diverse, and
evolving network of services that must be selectively marshaled to accomplish
particular tasks.
We argue that a fundamental role for AI in digital libraries is to perform
the underlying monitoring, management, and allocation of services and resources
that bring together users and information. While user-interface or retrieval
technologies are also important, it is obvious that such technologies will
undergo ongoing and dramatic change, which in turn can lead to the restructuring
of "how things are done" in the library. In a very real sense,
therefore, the underlying architecture of a digital library must continually
search through a growing, shifting, and complex space of content and capabilities
for combinations that best serve needs arising at a given moment.
For this reason, we view the critical role of AI in a digital library as
providing an infrastructure that accommodates extreme heterogeneity of content
and function, and supports continual extension and evolution in both categories
as well. To us, this means that:
- Specialized information processing functions must combine flexibly,
keeping function and format orthogonal as far as possible.
- Combinations of functional units and resources to be deployed for
any particular task cannot be hardwired, but must be dynamic choices of
the system based upon continually changing factors in the library.
- The capabilities and requirements of any functional unit must be explicitly
described, in order for the system or these units themselves to evaluate
their applicability and suitability of combinations.
The University of Michigan Digital
Library (UMDL) project aims to satisfy these criteria with an architecture
based on distributed information agents. The agents in this system represent
specialized information-processing functions, with additional abilities
to reason about their effectiveness and requirements, communicate with other
agents, negotiate about terms and resources, and perform other generic agent
functions. We call them "agents" because we assign these modules
autonomy of action (they choose what services to perform for whom with what
resources under what terms), under the general constraints imposed by their
situations and their relations with other agents. Typical digital library
tasks require teaming among numerous specialized agents, but each agent
can choose whether to join a team depending on what it expects to get out
of participation.
Our description so far has been very generic, mainly because the scope of
what constitutes an "information-processing task" relevant to
the digital library is so broad. To make our conception more concrete,
types of agents that we have built for UMDL thus far include:
- User-interface agents (UIAs): manage the presentation of information
and elicit input from the user, maintain user models, and in general represent
the end user's interests in the system.
- Query planners: generate plans to satisfy user queries and to form
temporary agent teams that combine capabilities to accomplish the plans.
- Collection-interface agents (CIAs): run local search on collection
databases, and represent the interests of publishers and other owners of
library materials.
- Information service providers: perform specific services such as thesaurus
(providing synonyms) and taxonomy servers (to broaden/narrow topics), and
notification agents that monitor features of the digital library for relevant
events of interest to other agents.
- System facilitators: support the location of relevant agents (e.g.,
the registry serves as a directory of agent capabilities) and mediate the
establishment of terms for collective performance (e.g., auctions identify
prices that providers and consumers can agree upon).
Each agent we (or third-party developers) build can present interesting
problems for AI. Some correspond to classic AI problems (e.g., language
processing tasks, planning tasks), others may correspond to newer types
of AI problems (e.g., negotiation). Agent development can benefit from
AI techniques in knowledge representation, for example, or machine learning.
But, note that as far as the system architecture is concerned, how an agent
performs its information processing task--and in particular whether any
"AI technique" is employed--is irrelevant. What is essential
for the architecture is that the agent be able to describe its capabilities
precisely and accurately to other agents. Since there is no fixed set or
small number of information library services, this means we must provide
an expressive language to construct these descriptions, mutually understood
by the library agents, at least some of whom are able (most likely using
AI planning techniques but not necessarily) to conduct the search for ways
of teaming agents up to accomplish tasks while still satisfying the individual
agents' preferences.
We therefore believe that language and protocol design for agent communication
is a key area where AI can contribute to digital library development. We
have found structured description languages useful for representing agent
capabilities, since they directly support construction of descriptions from
parts of others, and reasoning about the relationship between descriptions
based on the structure of their parts. Using these facilities, for example,
agents can negotiate about provision of complex services, as long as they
have a common understanding of the primitives making up those services.
For example, in our current prototype, the query planner uses knowledge
about the relationship between the index terms of the registry and the taxonomy
server to enlist both of these agents for an iterative search for collections
"near" the user's query.
We have also found agent communication languages based on speech act categories
(as in KQML) quite useful for describing protocols and agent communication
strategies. In particular, we have been able to identify a number of speech
acts (and appropriate semantics) that cover a broad range of information
services. In addition, we are introducing speech acts to cover negotiation:
the process by which a set of agents comes to terms on provision of information
services and allocation of resources to the various service activities.
Our protocols support a general negotiation model, based on agents tendering
offers to buy or sell services, basic resources, and other information goods
for specified prices. Market facilitator agents help resolve these offers
into deals among agents. The specific protocols employed depend on the
agent interaction. For example, where the information services are easily
parametrized and interchangeable, a competitive auction process involving
many agents will be effective. For more individualized services, the negotiation
facilitator may need to account for strategic reasoning on the part of participating
agents.
As all the hype surrounding software agents attests, digital libraries are
just one arena for a new generation of automated information services.
AI has a large role to play in improving the generality, robustness, and
overall competence of these services. We believe that the field of AI has
an equally important role to play in architectural infrastructure (in concert
with other technologies, of course). In a digital library, our typical
problem is an abundance of available information and information services.
Efficiently bringing together the right agents with the right resources
for the right tasks is the measure of the library's effectiveness.
For more information on the UMDL
project, see
Building
the University of Michigan Digital Library: Interacting Software Agents
in Support of Inquiry-Based Education (DE Atkins, et al.). IEEE
Computer, May 1996.