1. LECTURE 11:
Applications of MAS
at URV (I)
Artificial Intelligence II – Multi-Agent Systems
Introduction to Multi-Agent Systems
URV, Winter-Spring 2010
2. Outline of the talk
Some specific projects developed by the
members of ITAKA
Personalised access to touristic
information
Agent-based ontology construction
Agent-based distributed task execution
Next session: Applications in health care
http://deim.urv.cat/~itaka
4. Introduction
There exist many problems in the access
to touristic information:
Huge amount of unstructured data
Depends on different organisations
Different update speeds
Different formats (text, maps, …)
5.
6.
7.
8. Proposed solution
Use a multi-agent system that models each
entity that offers cultural activities
independently but allows a centralised
access point
Structured information search
Use information on the user’s preferences to
filter irrelevant information and make
proactive recommendations
9. Description of the MAS
Personal Agent: represents a tourist and
allows a transparent access to the MAS
Recommender Agent: recommends touristic
activities and keeps user profiles
Broker Agent: mediates the search of
information
Activity agents: each one represents an entity
that manages touristic activities
Monuments, Museums, Itineraries, Exhibitions,
Sports, Conferences, Concerts, Theatres,
Cinemas
10. Personal Personal Agent Personal
Agent 1 2 Agent 3
User
Profiles
Recommender Agent
Data Base
Broker Agent
Museums
Monuments Agent Itineraries Agent Exhibitions Agent
Coordinator
Museum Agent 1 Museum Agent 2
11. Personal Agent
Functionalities:
Eases the communication between the user and the agents
Initializes the user profile with a questionnaire
Allows structured information search
Talks with the Broker to get the activities
that fulfill the user constraints
Obtains the evaluations of the performed
activities and sends them to the
Recommender
12. Activity Agent
Each activity type has been modeled with a particular
agent (e.g. the Exhibition Agent has information on
all exhibitions in Tarragona)
Each museum has its own agent, as they are
managed autonomously
Functionalities:
Keeps a local database
Notifies the Broker and the
Recommender when there
are new activities
13. Broker Agent
It does not have any graphical interface
Eases the search of activities
Functionalities:
Keeps a list of activities with the most frequently
requested characteristics. This cache allows a fast
response to the most usual queries
Communicates with the Recommender to tell him
the requests made by users, so that the
Recommender may update the user profile
14. User profile
A user is represented with a vector of properties
Demographic information
Age, country, studies, arrival and departure date, physical
disabilities, spoken languages, accompanying persons and
maximum price to be paid for an activity
We keep preference values of the user with respect to some
characteristics of activities
Art, history, science, music, sport, cinema and theatre
The user profile is initialised with Linguistic value Numerical value
Nothing 0
the information given by the user Little
Medium
0.25
0.5
in a questionnaire Rather
A lot
0.75
1
15. Recommender Agent
It has a graphical interface that allows to
interact with it
Requests the evaluations of the activities
(a posteriori) and stores them in a
database
Manages and updates user profiles
Makes intelligent recommendation of
activities
16. User profile adaptation (I)
Explicit user profile changes
Using the score that the tourist has given to a visited
activity
if ai ≥ medium then ui = ui + ai * di
di = Horrible (-0.1), Bad (-0.05), Good (0), Very Good (+0.05), Excellent (+0.1)
Only the attributes relevant to the visited activity are modified
The modification depends on the relevance of the attribute and on the
score given by the tourist
17. User profile adaptation (II)
Implicit user profile changes
Observing the queries that the tourist makes to
the system
ai − u i
1+
ui = ui 2
The vector a is an activity obtained as a result of a query and
selected by the user
In a given attribute, the user profile may increase or decrease
18. Recommendation methods (I)
Content-based recommendation
Weighted matching between the
characteristics of the activities and the
values in the user profile
The items that have a higher similarity with
the user profile are recommended
Each user is treated independently
19. Recommendation methods (II)
Collaborative recommendation
Each user is compared with other users, to
detect people with similar interests
Users are grouped in classes with a clustering
algorithm
A user is recommended the items that have
been highly visited by other users in the same
group
20. Collaborative recommendation
Turist@ uses an unsupervised clustering
algorithm
It uses the demographic attributes of the
user profile to make the groups
Filters the activities made by users
belonging to the group of the present
tourist
Recommends the activities made by at
least 50% of the people of the group
21. Other aspects of the prototype (I)
Personal agent executing in
a mobile device (PDA,
mobile phone)
22. Other aspects of the prototype (II)
Locates and shows in a
map the position of the
activities
Tracks the tourist position
and proactively
recommends activities near
his position and adapted to
his preferences
23. Other aspects of the prototype (III)
Makes a personalised planning of the activities
recommended to the user, in a given time interval
25. Motivation
The Web is a huge repository of
information for many domains of
knowledge
Web search engines are useful, but they
present some limitations
Difficulty of setting the most appropriate
search query
Tedious evaluation of the huge amount of
potential resources obtained
Unstructured results (list)
26.
27. Main goal
Methodology for representing the Web
resources in a structured way depending on
the main topics of a desired domain
Main tasks:
Discover the most relevant knowledge related to
a desired domain from the Web
Represent that knowledge in an structured way
Use that representation to classify and
categorize related Web resources
28. Ontology learning
Ontologies are a good alternative for
representing the domain’s knowledge
structure efficiently
Manually created ontologies are usually
incomplete and easily outdated
Computer-based Ontology Learning can be a
useful approach when dealing with highly
dynamic domains
29. Approach
Processing huge repositories like the Web
is very time consuming
Multi-agent systems provide advantages such
as scalability, flexibility and autonomy
Suitable for the implementation of dynamic
and distributed systems
Expert’s supervision is recommended in
order to limit the search to the really
interesting knowledge areas
30. Taxonomy learning
Through a novel methodology developed
at ITAKA, we are able to obtain
automatically and in an unsupervised
way, taxonomies of terms and Web
resources that are relevant for a domain
31. Methodology bases
Evaluation of English linguistic patterns to
discover taxonomical relationships
Use the size and redundancy of information from
the Web to infer information relevance and
trustiness
Use exhaustively Web search engines to obtain
in an efficient and scalable way
Representative corpus of resources for the domain
Web-scale statistics about the suitability of the
discovered knowledge
32. Example
These figures indicate a very high relationship
between temperature and sensor; thus, temperature
sensor is likely a subclass of sensor
33. Results (I)
Hierarchical representation of terms that are
taxonomically related to an initial concept
Discovery of individualities (named-entities) that
are considered instances
Categorisation of relevant Web resources
Lists of simple sentences (text nuggets) which
involve the discovered concepts, from which it is
possible to extract new complex (non-taxonomic)
relationships
37. Text nuggets
Sentences expressing relationships between
concepts in a direct and unequivocal way
Concept Sentences
breast cancer [breast_cancer][receives][radiotherapy]
[the pill][protects][against][breast_cancer]
[most breast_cancers][are][ductal carcinomas]
colon cancer [colon_cancers][start][as][polyps]
colorectal cancer [most colorectal_cancers][begin][as][a polyp]
[all colorectal_cancer patients][require][a colostomy]
[most colorectal_cancers][start][in][the glandular cells]
lung cancer [lung_cancer][causes][paraneoplastic syndromes]
[spiral_scans][find][lung_cancer]
[lung_cancer][tend to develop][in][smokers]
[asbestos exposure][increases][lung_cancer risk]
[lung_cancer treatment][depends][on][tumor size]
38. Distributed ontology building process
From an initial domain, we are able to obtain
Initial taxonomy of terms
List of sentences that relate those terms with new ones
For each interesting related concept we can
perform recursive taxonomical analyses to widen
the search
A final complex semantic structure (ontology) of
terms and Web resources relevant for the
domain is obtained by aggregating the partial
results
39. Multi-agent system
The taxonomy learning process is very time
consuming
A centralised and sequential approach is unviable
A multi-agent based approach can be suitable
Several tasks can be performed concurrently
Agents performing those tasks can be dynamically
managed
A distributed approach can use the computational power
and Internet bandwidth of a computer network
Coordination between agents is required to obtain a final
result
40. Architecture
The learning process is decomposed in several
units modelled by different autonomous entities
(agents)
Inter-agent communication allows them to
coordinate their efforts and share results to
achieve the final goal
Three basic types of agents
User Agent
Internet Agent(s)
Coordinator Agent
41. User Agent
Allows the interaction of the human
expert with the system
Functions
Initialize a new search
Control the ontology construction process
Visualize partial results
Compose the final ontology
42. Internet Agent
Implements the taxonomy construction
methodology
For a specific query, returns a partial taxonomy
and a set of sentences to widen the search
Its initialisation/finalisation is controlled
dynamically depending on the learning
requirements
Several entities can be executed concurrently
through several nodes of the computer network
43. Coordinator agent
Coordinates the ontology construction process
Functions:
Receives expert’s orders
Creates, configures and finalises appropriate Internet
Agents to explore Web domains
Composes partial results returned by each Internet
Agent to obtain a final ontology
48. Case study (I)
Cancer domain
Concept Sentences
breast cancer [breast_cancer][receives][radiotherapy]
[the pill][protects][against][breast_cancer]
[most breast_cancers][are][ductal carcinomas]
colon cancer [colon_cancers][start][as][polyps]
colorectal cancer [most colorectal_cancers][begin][as][a polyp]
[all colorectal_cancer patients][require][a colostomy]
[most colorectal_cancers][start][in][the glandular cells]
lung cancer [lung_cancer][causes][paraneoplastic syndromes]
[spiral_scans][find][lung_cancer]
[lung_cancer][tend to develop][in][smokers]
[asbestos exposure][increases][lung_cancer risk]
[lung_cancer treatment][depends][on][tumor size]
cervical cancer [cervicography or
colposcopy][screening][for][cervical_cancer]
skin cancer [ozone depletion][increases][skin_cancer risk]
[fair-skinned people][develop][skin_cancers]
49. Case study (II)
Concept Sentences
cranial [cranial_radiotherapy]
radiotherapy
[causes][hair loss]
beam [external beam_radiotherapy]
radiotherapy
[include][x-ray therapy]
hyperplastic [hyperplastic_polyps][occur]
polyp
[in][gastric mucosa]
[colorectal hyperplastic_polyps]
[are][benign lesions]
52. Motivation (I)
Artificial Intelligence applications involve
quite usually the processing of large
amounts of data and the execution of
complex analytical processes
Grid Computing allows taking profit from
unused computers, obsolete equipment or
underused intranet nodes
This results in a reduction of the cost, implied
by parallel execution, configuring a highly
scalable approach
53. Motivation (II)
In the last years, agents and multi-agent
systems have appeared as a new
promising computer engineering paradigm
They provide a high level approach for
implementing complex systems
They provide an environment in which several
entities can be executed in a highly distributed
and flexible manner
They offer an added value thanks to features
such as elaborated communicative skills and
mobility capabilities
54. Goals of this work
To design and implement a novel, high
level, general purpose, flexible and robust
platform for the parallel execution of tasks
over a computer network using mobile
agents
The developed platform has been used
as a test-bed for a complex Web-based
knowledge acquisition system
56. Agent platform basic ideas
It provides an efficient framework in which
execution tasks can be easily modelled over
individual agents that are transparently
allocated over network nodes by a load
balancing policy
Tasks should be independent as
communication between concurrent tasks is
not supported
Agents are based on the FIPA specifications
and implemented with JADE
58. Platform components (I)
The server’s mission is to monitor the
available client nodes and to initiate,
distribute and finalize the agents that will
execute tasks
Client nodes can be incorporated
dynamically by registering into the server,
providing local information about their
hardware characteristics
They will host the agents that will execute the
tasks requested by the server at each moment
59. Platform components (II)
Grid Manager Agent (GMA): located in the server,
offers a registering service for client nodes and
manages tasks by creating mobile agents
Event Manager Agent (EMA): located on the
server, monitors agent events. It allows to
implement error recovery measures
Registry Agent (RA): in the client side, allows
registering a node into the server, by specifying the
client’s hardware configuration
60. Platform components (III)
Working Agent (WA): it is dynamically created by
the GMA and associated to the task to be
executed. It moves to a free client node
Node Manager: located in the server, it performs
the scheduling by means of a load balancing policy
ID Manager: located in the server, it works as a
name service for WAs
Request Server: located in the server, it provides a
service for receiving from the user new tasks to be
executed
61. Platform management (I)
JADE environment and the platform
components are initialised
A set of client nodes should be setup. This
can be performed dynamically at any
moment of the platform lifecycle
62. Platform management (II)
Once the server is aware of the
availability of a node, it will send tasks to
be executed on that computer
Each task is defined as an object that
encapsulates its characteristics, final results
and hardware requirements
They are assigned to client nodes using a
scheduling policy
63. Platform management (III)
WAs travel across the network, bringing the
task request, task characteristics, execution
state and source code
Only one copy of the task source code is needed
in the server side
When the task has been executed, the
result is returned to the server, that can
present it to the user
64. Event management
EMA is able to monitor the state of platform
component
It is able to detect whenever a particular node,
agent container or agent has failed
A fail recovery mechanism is implemented to
ensure the correct finalisation of tasks
65. Case study
Description
Task modelling
Performance
66. Domain ontology construction from the Web
It uses several
knowledge acquisition
techniques to extract
domain concepts and
relations from the
analysis of thousands
of Web resources
The learning process is
divided in several steps
that are iteratively
executed as new
knowledge is retrieved
67. Knowledge acquisition methodology
The learning process evolves in a tree-like
expansion, defining new and independent
tasks for each new term to explore
68. Computational cost
Due to the enormous size of the Web and the
unsupervised nature of the method, the degree of
computational effort required is huge
Not only CPU power but also Internet bandwidth
and RAM are required
In a sequential implementation with one computer, the
runtime needed to learn a domain ontology may take
several hours
Domain #Taxon. #No-taxo. #Web Runtime
ontology queries
insect 668 236 58286 10 hours
CPU 134 121 13934 6 hours
tea 236 1430 57148 17 hours
69. Task modelling
Each learning step has been modelled as a task,
with the appropriate input and output parameters
We have designed a scheduler that defines and
prioritizes free slots on available client nodes
according to the amount of available RAM
A Web-based interface has been designed
It allows specifying domains to explore, request the
execution of learning tasks (associated to discovered
concepts) and the visualization of partial results
70. Performance (I)
Domain 1 node 2 nodes 4 nodes
Breast cancer 1083 s. 1093 s. 1095 s.
Lung cancer 980 s. 992 s. 1029 s.
Colon cancer 627 s. 667 s. 705 s.
Ovarian 715 s. 812 s. 841 s.
cancer
Total 3405 s. 2085 s. 1095 s.
71. Performance (II)
Runtime vs Paralelism
4000
3500
3000
Runtime (seconds)
2500
2000
1500
1000
500
0
1 node 2 nodes 4 nodes
Degree of paralelism
72. Performance (III)
Cancer Gantt diagram
CPU 1
CPU 2
CPU 3
CPU 4
0 1000 2000 3000 4000 5000 6000
Seconds
73. Platform benefits
Flexibility: nodes can be added or removed at
runtime
Scalability: the performance scales linearly with
respect to the number of available nodes
Robustness: it implements fail-safe measures, by
constantly monitoring the platform state
High-level nature: the use of agents and object-
oriented programming provides a high level
environment that can be easily configured
Genericity: components have been designed in a
general-purpose manner
74. Extra material for this week
Presentation of Turist@ (in Catalan)
David Sánchez’s PhD thesis: Domain
ontology learning from the Web
Article General-purpose agent-based
parallel computing