mas course - lect11 - urv applications
DESCRIPTION
MAS course at URV, lecture 11, applications developed at URVTRANSCRIPT
LECTURE 11: Applications of MAS at URV (I)
Artificial Intelligence II – Multi-Agent Systems
Introduction to Multi-Agent Systems
URV, Winter-Spring 2010
Outline of the talkSome specific projects developed by the members of ITAKA
Personalised access to touristicinformationAgent-based ontology constructionAgent-based distributed task executionNext session: Applications in health care
http://deim.urv.cat/~itaka
TURIST@ Personalised recommendation of touristic activities
Introduction
There exist many problems in the access to touristic information:Huge amount of unstructured dataDepends on different organisationsDifferent update speedsDifferent formats (text, maps, …)
Proposed solutionUse a multi-agent system that models each entity that offers cultural activities independently but allows a centralised access point
Structured information searchUse information on the user’s preferences to filter irrelevant information and makeproactive recommendations
Description of the MASPersonal Agent: represents a tourist and allows a transparent access to the MAS Recommender Agent: recommends touristic activities and keeps user profilesBroker 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
Personal Agent 1
Personal Agent 2
Personal Agent 3
Broker Agent
Recommender Agent
Itineraries Agent Exhibitions AgentMonuments Agent Museums Coordinator
Museum Agent 1 Museum Agent 2
User Profiles
Data Base
Personal AgentFunctionalities:
Eases the communication between the user and the agentsInitializes the user profile with a questionnaireAllows structured information searchTalks with the Broker to get the activitiesthat fulfill the user constraintsObtains the evaluations of the performedactivities and sends them to theRecommender
Activity AgentEach 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 autonomouslyFunctionalities:
Keeps a local databaseNotifies the Broker and the Recommender when thereare new activities
Broker Agent
It does not have any graphical interfaceEases the search of activitiesFunctionalities:
Keeps a list of activities with the most frequently requested characteristics. This cache allows a fast response to the most usual queriesCommunicates with the Recommender to tell him the requests made by users, so that the Recommender may update the user profile
User profileA user is represented with a vector of properties
Demographic informationAge, 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 withthe information given by the userin a questionnaire
Linguistic value Numerical value Nothing 0
Little 0.25 Medium 0.5 Rather 0.75 A lot 1
Recommender Agent
It has a graphical interface that allows to interact with itRequests the evaluations of the activities (a posteriori) and stores them in a databaseManages and updates user profilesMakes intelligent recommendation of activities
User profile adaptation (I)
Explicit user profile changesUsing 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
User profile adaptation (II)
Implicit user profile changes
Observing the queries that the tourist makes to the system
21 ii ua
ii uu−
+=
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
Recommendation methods (I)
Content-based recommendationWeighted matching between the characteristics of the activities and the values in the user profileThe items that have a higher similarity with the user profile are recommendedEach user is treated independently
Recommendation methods (II)
Collaborative recommendationEach user is compared with other users, to detect people with similar interestsUsers are grouped in classes with a clustering algorithmA user is recommended the items that have been highly visited by other users in the same group
Collaborative recommendation
Turist@ uses an unsupervised clustering algorithmIt uses the demographic attributes of the user profile to make the groupsFilters the activities made by users belonging to the group of the present touristRecommends the activities made by at least 50% of the people of the group
Other aspects of the prototype (I)
Personal agent executing in a mobile device (PDA, mobile phone)
Other aspects of the prototype (II)
Locates and shows in a map the position of the activities
Tracks the tourist positionand proactivelyrecommends activities near his position and adapted to his preferences
Other aspects
of the prototype (III)Makes a personalised planning of the activities recommended to the user, in a given time interval
Agent-Based Ontology Construction
MotivationThe 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 queryTedious evaluation of the huge amount of potential resources obtainedUnstructured results (list)
Main goalMethodology 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
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
ApproachProcessing huge repositories like the Webis very time consuming
Multi-agent systems provide advantages such as scalability, flexibility and autonomy
Suitable for the implementation of dynamicand distributed systems
Expert’s supervision is recommended in order to limit the search to the really interesting knowledge areas
Taxonomy learning
Through a novel methodology developed at ITAKA, we are able to obtain automatically and in an unsupervisedway, taxonomies of terms and Web resources that are relevant for a domain
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
Example
These figures indicate a very high relationship between temperature and sensor; thus, temperature sensor is likely a subclass of sensor
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
Results (II)
Taxonomy for the Taxonomy for the cancer domaincancer domain
Results (III)
Results (IV)
Text nuggets
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]
Sentences expressing relationships between concepts in a direct and unequivocal way
Distributed ontology building processFrom an initial domain, we are able to obtain
Initial taxonomy of termsList 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
Multi-agent systemThe taxonomy learning process is very time consuming
A centralised and sequential approach is unviable
A multi-agent based approach can be suitableSeveral tasks can be performed concurrentlyAgents performing those tasks can be dynamically managedA distributed approach can use the computational power and Internet bandwidth of a computer networkCoordination between agents is required to obtain a final result
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 agentsUser AgentInternet Agent(s)Coordinator Agent
User AgentAllows the interaction of the human expert with the system
FunctionsInitialize a new searchControl the ontology construction processVisualize partial resultsCompose the final ontology
Internet Agent
Implements the taxonomy constructionmethodology
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
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
Interaction steps (I)
Parameters: initial concept, number of web pages, max. depth
Interaction steps (II)
Interaction steps (III)
Interaction steps (IV)
Case study (I)
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]
Cancer domain
Case study (II)
Concept Sentencescranial radiotherapy
[cranial_radiotherapy][causes][hair loss]
beam radiotherapy
[external beam_radiotherapy][include][x-ray therapy]
hyperplastic polyp
[hyperplastic_polyps][occur][in][gastric mucosa]
[colorectal hyperplastic_polyps][are][benign lesions]
Case study (III)
Agent-based parallel execution of complex tasks
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
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 systemsThey provide an environment in which several entities can be executed in a highly distributed and flexible mannerThey offer an added value thanks to features such as elaborated communicative skills and mobility capabilities
Goals of this work
To design and implement a novel, high level, general purpose, flexible and robust platform for the parallel execution of tasksover a computer network using mobile agents
The developed platform has been used as a test-bed for a complex Web-based knowledge acquisition system
Distributed agent platform
General description
Physical Topology
Platform Components
Platform Management
Event Management
Agent platform basic ideasIt 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 policyTasks should be independent as communication between concurrent tasks is not supportedAgents are based on the FIPA specifications and implemented with JADE
Physical topology
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 tasksClient 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
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
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 nodeNode 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 WAsRequest Server: located in the server, it provides a service for receiving from the user new tasks to be executed
Platform management (I)
JADE environment and the platform components are initialisedA set of client nodes should be setup. This can be performed dynamically at any moment of the platform lifecycle
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 requirementsThey are assigned to client nodes using a scheduling policy
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
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 failedA fail recovery mechanism is implemented to ensure the correct finalisation of tasks
Case study
Description
Task modelling
Performance
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 resourcesThe learning process is divided in several stepsthat are iteratively executed as new knowledge is retrieved
Knowledge acquisition methodology
The learning process evolves in a tree-like expansion, defining new and independent tasks for each new term to explore
Computational costDue to the enormous size of the Web and the unsupervised nature of the method, the degree of computational effort required is hugeNot only CPU power but also Internet bandwidthand RAM are required
In a sequential implementation with one computer, the runtime needed to learn a domain ontology may take several hours
Domainontology
#Taxon. #No-taxo. #Web queries
Runtime
insect 668 236 58286 10 hours
CPU 134 121 13934 6 hours
tea 236 1430 57148 17 hours
Task modellingEach learning step has been modelled as a task, with the appropriate input and output parametersWe have designed a scheduler that defines and prioritizes free slots on available client nodes according to the amount of available RAMA 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
Performance (I)
Domain 1 node 2 nodes 4 nodesBreast cancer 1083 s. 1093 s. 1095 s.Lung cancer 980 s. 992 s. 1029 s.Colon cancer 627 s. 667 s. 705 s.Ovarian
cancer715 s. 812 s. 841 s.
Total 3405 s. 2085 s. 1095 s.
Performance (II)
Runtime vs Paralelism
0
500
1000
1500
2000
2500
3000
3500
4000
1 node 2 nodes 4 nodes
Degree of paralelism
Run
time
(sec
onds
)
Performance (III)Cancer Gantt diagram
0 1000 2000 3000 4000 5000 6000
CPU 4
CPU 3
CPU 2
CPU 1
Seconds
Platform benefitsFlexibility: nodes can be added or removed at runtimeScalability: the performance scales linearly with respect to the number of available nodesRobustness: it implements fail-safe measures, by constantly monitoring the platform stateHigh-level nature: the use of agents and object-oriented programming provides a high level environment that can be easily configuredGenericity: components have been designed in a general-purpose manner
Extra material for this week
Presentation of Turist@ (in Catalan)David Sánchez’s PhD thesis: Domain ontology learning from the WebArticle General-purpose agent-based parallel computing