Information and Software Technology 45 (2003) 691–698 www.elsevier.com/locate/infsof
MAPBOT: a Web based map information retrieval system M. Lia,*, M. Qib a
Department of Electronic and Computer Engineering, Brunel University, Uxbridge, Middlesex UB8 3PH, UK b Department of Computer Science, University of Bath, Bath BA2 7AY, UK Received 2 August 2002; revised 9 April 2003; accepted 10 April 2003
Abstract Many types of information are geographically referenced and interactive maps provide a natural user interface to such data. However, map presentation in geographical information systems and on the Web is closed related to traditional cartography and provides a very limited interactive experience. In this paper, we present MAPBOT, an interactive Web based map information retrieval system in which Web users can easily and efficiently search geographical information with the assistance of a user interface agent (UIA). Each kind of map feature such as a building or a motorway works as an agent called a Maplet. Each Maplet has a user interface level to assist the user to find information of interest and a graphic display level that controls the presence and the appearance of the feature on the map. The semantic relationships of Maplets are defined in an Ontology Repository provided by the system which is used by the UIA to assist a user to semantically and efficiently search map information interested. An Ontology Editor with a graphic user interface has been implemented to update the Ontology Repository. Visualization on the client is based on Scalable Vector Graphics which provides a high quality Web map. q 2003 Elsevier B.V. All rights reserved. Keywords: User interface agent; Agent interaction; Scalable vector graphics visualization; Information retrieval; Interactive systems
1. Introduction Maps are being used increasingly in local, networked and mobile information systems for communicating geographically referenced information. This has become possible because of the now relatively widespread availability of digital map data and developments in geographical information system (GIS) technology. The applications are wide ranging including local government planning, environmental monitoring, market analysis, navigation and public access to information. Interaction with a digital map is typically based on a cycle of elicitation of user input via menu and dialog boxes, selection of a map areas or features, and return of information, which may in turn induce modification to the map content. The maps themselves are often close replicas of traditional paper map cartography. The approach is to be found in many commercial GIS and is now being reflected in mapping applications on the Internet. Developments in human computer interaction with regard to information retrieval and data visualization raise the question of whether * Corresponding author. E-mail address:
[email protected] (M. Li). 0950-5849/03/$ - see front matter q 2003 Elsevier B.V. All rights reserved. doi:10.1016/S0950-5849(03)00082-X
the conventional approach can be improved. Certainly there is a motivation to investigate new approaches, since the current map interface, particularly on the internet, often suffers from poor legibility of symbols and text, unnecessary user actions and inadequate adaptation to user interests. Recent years have seen a marked interest in agentoriented technology [3,4] spanning applications as diverse as information retrieval, user interface design, network management and complex system simulations [5,8]. An agent is a computational entity which acts on behalf of other entities in an autonomous fashion, performs its actions with some level of pro-activity and/or reactiveness, exhibits some level of the key attributes of learning, cooperation and mobility [1,7]. The next generation of GIS may be expected to provide user interfaces with intelligent agents to assist users to search, query and operate the system [2,6]. The use of agents to represent map features is a characteristic of the EU-funded project AGENT [9], which addresses the problem of map generalization, but is not directly concerned with information retrieval or interactivity issues. We present MAPBOT, a multi-agent system for active maps which makes use of software agent technology for Web based map information retrieval. An active map has the following features.
692
M. Li, M. Qi / Information and Software Technology 45 (2003) 691–698
† responds helpfully to direct manipulation of the displayed map symbols. † exhibits intelligence with regard to knowledge of concepts and context of individual map features and classes of feature. † guides the user to relevant related information within the map space and within the information space. † modifies its map symbols, icons and text dynamically to assist in focusing on particular type of information and particular geographical locations.
agents are adopted for finding contextually useful information appropriate to interactive tasks for users. A user interface agent (UIA) is in charge of interacting with the user and of making the other agents transparent to it. The UIA is able to understand the user’s requests and translate them for the other agents. It is also in charge of coordinating the work of the other agents [10,11].The interface agent performs a number of tasks that are crucial for the correct operation of an intelligent semantic matching system:
This active map will be associated with different agents—representing geographical phenomena, capable of communicating with the map user, visualized by symbolic or iconic representations that adapt to the scale and purpose of the map, and knowledgeable of their ontology, their spatial context and the application specific procedures that might be applied to them. The remainder of this paper is organized as follows. Section 2 compares MAPBOT with related work. Section 3 presents the software architecture of MAPBOT specifying the agent properties, functionalities and interactions of the Maplets that represent individual map features. Section 4 describes the implementation of the MAPBOT prototype system which uses a Java Servlet for Web communications, the Scalable Vector Graphics (SVG) standard for visualization and a simple ontology in combination with a GUIbased ontology editor, to encode the user concepts associated with Maplets. Section 5 gives future work and concludes the paper.
† assisting a user in performing requests and compiling his profile; † deducing a user’s information needs by both communicating with them and observing their ‘behaviors’; † translating the requests of a user and selecting the agent(s) able to solve their problem(s); † presenting and storing the retrieved data.
2. Related work A major problem in developing query interfaces is how to guide users in what queries they can ask. Users need knowledge of what it is possible to ask in a particular domain. Having to recall the nature of the data within a repository, as well as the query language itself, means that querying and exploration of data will be difficult. Bechhofer [15] describes a mechanism that defines the relationships between concepts in a domain ontology, allowing a user interface to be generated offers a user the ability to ask or say about a concept. In this way, rich, complex, but only meaningful questions can be formed. Bullock [12] identifies a need for lucidity in information systems. A system should supply the user with an idea as to what is available, and the next steps that can be taken. Bates [21] suggests that when searching, users begin by asking broad questions which are then gradually refined. Grice [22] similarly states that user interfaces should provide relevant contributions. Finding the right piece of information at the right time can be quite a complicated task. Conventional information retrieval techniques can help users find relevant information, but interacting with these systems is often an awkward experience, especially for novices. User interface
A great deal of work has been carried out into the use of interface agents in recent years [17 –20,23]. A number of prototype information retrieval systems have been developed that incorporate intelligent interface agents. Some notable examples are Ontoseek [26], InfoSleuth [27], RETSINA [28] and WebMate [29]. Many of the systems are based on ontology technology [26,27,30], and they all rely on centralized ontology databases that are stored in relational database systems. The emergence of XML, OML and RDF allows the ontology metadata to be embedded in the encoded Web document, facilitating semantic matching by retrieval agents. Although the encoding agents may still refer to centralized ontology databases during the encoding process, the databases can now also be encoded in XML because of its openness. Like these systems, the UIA in MAPLOT makes use of ontology to valid user queries and captures user interactive intentions, but the ontology in MAPLOT is organized in XML like OSCA [31]. In addition, the UIA in MAPBOT runs in a Web browser providing a user friendly interface for Web map information retrieval.
3. The software architecture of MAPBOT 3.1. Agent attributes in MAPBOT According to Maes [14], an agent is a system that tries to fulfil a set of goals in a complex, dynamic environment: It can sense the environment through its sensors and act upon it using its actuators. The agent paradigm has been the subject of Artificial Intelligence (AI) Research and it is beginning to spread into information technology and commercial markets. The attributes of agents used in MAPBOT are given below.
M. Li, M. Qi / Information and Software Technology 45 (2003) 691–698
† Autonomous: exercises control over its own actions. † Reactive: responds in a timely fashion to changes in the environment. † Proactive: acts based on goals, purposes. † Interactive: communicates with other agents, perhaps including people. † Deductive: deduces the user’s interactive intention from their actions. 3.2. The software architecture of MAPBOT There are many agents in MAPBOT. Based on their functionalities, the agents in MAPBOT can be classified into UIA, Server Agent Broker (SAB) and Maplets. Each kind of map features such as buildings or motorways can be a Maplet. Fig. 1 shows the software architecture of MAPBOT. † UIA is implemented as a Java Applet. It receives inputs from a user and assists the user to search, query and manipulate the map in an efficient and user friendly way. The UIA tries to understand the area interested to the user and send the message to the server to ask for more information or modify the map to change the content and levels of detail. The UIA will make use of an Ontology Repository which will be transferred from the server side to the client side during system initialization to match a user query and form a valid query. The query can be a query by category or a query by name. If it is a query by category, all the Maplets related to the category will respond. If it is a query by name, only the named Maplets will respond to provide more information on MAPBOT. † SAB is implemented as a Java Servlet and receives user requests from the UIA. It broadcasts a user’s requests to Maplets. In addition, the SAB receives SVG [13] messages created by Maplets and through the communi-
693
cation with the UIA to display these Maplets on MAPBOT. † Each kind of map features such as buildings or motorways is an agent called a Maplet and implemented as a Java object. Each Maplet has a name and a category it belongs to. Each Maplet has its own control flow and can respond to its environment change. Each Maplet has sensors to perceive its environment and actuators or effectors to act on it (Fig. 2). The environment can be the system initialization, SAB communication or other Maplets communication. Based on its reasoning rules, the effector can be ‘Display itself’, ‘Disappear’, ‘MoreAboutMe’ or ‘MoveLocation’. Once receiving a message from the UIA through the SAB, each Maplet can decide to display itself or disappear from MAPBOT. The Maplets to display will create a SVG message and send the message to the SAB and through which to the UIA. 3.3. Agent interactions In the following, a scenario of interactions among MAPBOT agents in the context of a simple query execution is described. During the system start-up, the SAB initializes itself and commences listening for user requests from the UIA and advertisement information from Maplets. Each Maplet registers itself with the SAB and retrieves related data from the Spatial Database. A user starts interactions with MAPBOT by means of a Web Browser, currently through Microsoft Internet Explorer. The user poses a query by means of pointing to a map feature of interest, or typing the query in a search field, or selecting a query category from a category list presented in the Applet. Then the UIA search the Ontology Repository to check if the user has performed a valid query. If the query is not valid, the UIA will inform the user to perform another
Fig. 1. The software architecture of MAPBOT.
694
M. Li, M. Qi / Information and Software Technology 45 (2003) 691–698
message and send the message to the SAB. The SAB will send SVG messages from Maplets to the UIA to display the messages on MAPBOT. 4. The implementation of the MAPBOT prototype
Fig. 2. The control flow in a Maplet.
query. If the query is valid, the UIA will send the user query to the SAB to ask for more information. If the query keyword is mapped to a leaf node in the Ontology Repository, the UIA will form a query by name asking for more information about the Maplets. If the query keyword is mapped to a parent node in the Ontology Repository, the UIA will form a query by category. In addition, map features will be highlighted when the user moves his/her mouse on MAPBOT. On receiving a request, the SAB will broadcast the user query request to all the Maplets registered with it. Each Maplet will check if it relates to the user request and decide to display or provide more information. For those Maplets that will display for a user query, they will create a SVG
A MAPBOT prototype has been implemented in Java. The source dataset used in the prototype is derived from Ordnance Survey Land-Form PANORAMA map sheets. The UIA is implemented as a Java Applet and runs on the client side to interact with a Web user. The SAB is implemented as a Java Servlet using Tomcat 3.2.4 as Servlet engine. The Ontology Repository is implemented as a serialized Java object and sent from the Serlvet to the Applet during system initialization. Each Maplet is implemented as a threaded Java object and has its own control flow. The visualization on the client side is based on SVG. SVG has the following advantages. † Plain text format—SVG files can be read and modified by a range of tools, and are usually smaller and more compressible than comparable JPEG or GIF images. † Scalable—Unlike bitmapped GIF and JPEG formats, SVG is a vector format, which means SVG images can be printed with high quality at any resolution. † Zoomable—Any portion of an SVG image can be zoomed in without any degradation.
Fig. 3. A snapshot of the MAPBOT prototype.
M. Li, M. Qi / Information and Software Technology 45 (2003) 691–698
Fig. 4. A snapshot of searching ‘transportation’ on MAPBOT.
Fig. 5. A snapshot of searching ‘railway’ on MAPBOT.
695
696
M. Li, M. Qi / Information and Software Technology 45 (2003) 691–698
† Interactive—SVG images can be made interactive through the assignment of event handlers, such as ‘onclick’ and ‘onmouseover’, to image elements. These can be used to highlight a selected map feature, show attribute information or display a map tip. † Open Standard—SVG is an open recommendation developed by a cross-industry consortium. Unlike some other graphics formats, SVG is not proprietary. † True XML—As an XML grammar, SVG offers all the benefits of XML. Fig. 7. An instance of the Ontology Repository.
To view the MAPBOT prototype, Web users need to download a SVG Viewer plugin from Adobe [16] and use Internet Explorer. Fig. 3 shows a snapshot of the prototype. When a user searches ‘transportation’ on MAPBOT, all the Maplets related to the category will display. Maplets unrelated to the category will disappear from the map. Fig. 4 shows a snapshot of searching ‘transportation’ on MAPBOT. When a user searches ‘railway’ on MAPBOT, only ‘railway’ Maplets will display on MAPBOT as shown in Fig. 5. Then the user can perform further queries on each railway station on MAPBOT. Using an Ontology Repository, MAPBOT can dynamically and semantically adapt to a user query request.
a parent node and each Maplet is a leaf node in the Ontology Repository. A query message from the user can be mapped to a parent node or a leaf node in the Ontology Repository. All the Maplets belonging to a category will respond to a query by category sent from a user. For example, if a user searches ‘transportation’ on MAPBOT, all the Maplets related to the category such as motorways, railwaystations, railways will display. Based on the Ontology Repository definition, the UIA allows a user
4.1. The Ontology Repository in the MAPBOT prototype An ontology for a body of knowledge concerning a particular task or domain describes a taxonomy of concepts for that task or domain that define the semantic interpretation of the knowledge [24]. Ontology in the MAPBOT prototype defines the semantic relationships of Maplets. The Ontology Repository is organized in a tree structure and described in XML. The DTD definition is shown in Fig. 6. The Ontology Repository has one or more nodes in it. Each node has a name, a parent node, one or more synonyms and related keywords. , map . , /map . tag is the ontology tree root, it should have one or more children which are defined by the , node . , /node . tag. The , node . tag has four children: name, parent, synonym and related. Each of the four children is an atomic element. Each node can have synonym words or related words. Fig. 7 shows an instance of the Ontology Repository and the XML definition is shown in Fig. 8. Each Maplet has a unique name and belongs to a category in the Ontology Repository. Each category is
Fig. 6. The DTD definition for the Ontology Repository.
Fig. 8. The XML definition for the instance.
M. Li, M. Qi / Information and Software Technology 45 (2003) 691–698
697
Fig. 9. An Ontology Editor.
to perform fuzzy search and capture the user’s interactive intention in a semantical and efficient way. An Ontology Editor has been implemented to easily update the Ontology Repository through its graphical user interface (Fig. 9).
Repository definition, the system can dynamically and semantically adapt to a user query request. The visualization using SVG shows a high quality Web map. The prototype has shown some good results for the final goal of the MAPBOT system. However, there is still some work that needs to be done to improve it.
4.2. An ontology weighting algorithm Each node in the Ontology Repository has a corresponding weight associated with its direct parent node. The semantic distances within the ontology is defined as the path length through links in the Ontology Repository hierarchy, in which case there might be different weights according to depth in the hierarchy. A search keyword from the user may be associated with several nodes in the Ontology Repository. Based on the weights of keyword associated to different nodes and the statistical appearing rate calculated from the user’s action profile, the UIA could capture correctly the semantic meaning in the Ontology Repository and then submit an valid query to the SAB.
† Add more functionalities to the UIA. Currently it only supports keyword search. A sentence recognition should be supported in the future based on natural language processing. † Integrate the Ontology Editor with an existing lexical system like WordNet [25] to allow the system developer to construct a more comprehensive Ontology Repository for the system. † Allow Maplets to communicate with information agents outside the system to retrieve more information for the user. † Perform usability testing with the system. References
5. Conclusions Most Web based map interfaces suffer from poor legibility of symbols and text, unnecessary user actions and inadequate adaptation to user interests. MAPBOT, an active map system using software agent technology is presented to solve these problems. A system prototype has been implemented in Java to test the efficiency and effectiveness of the active map. Based on the Ontology
[1] B.A. Nardi, J.R. Miller, D.J. Wright, Collaborative, programmable intelligent agents, Communications of the ACM 41 (3) (1998) 96–104. [2] E. Kandogan, B. Shneiderman, Elastic Windows: a Hierarchical Multi-window World Wide Web Browser, In Proceedings of the CHI’97 Conference—Human Factors in Computing Systems, ACM, New York, 1997, pp. 250–257. [3] S. Franklin, A. Graesser, Is it an agent, or just a program? A taxonomy for autonomous agents, In Third International Workshop on Agent Theories, Architectures and Languages, Springer-Verlag, 1996.
698
M. Li, M. Qi / Information and Software Technology 45 (2003) 691–698
[4] H. Nwana, Software agent: an overview, Knowledge Engineering Review 11 (3) (1996) 1 –40. [5] M. Batty, B. Jiang, Multi-Agent Simulation: New Approaches to Exploring Space–Time Dynamics Within GIS in GISRUK’99, 1999. [6] M.-H. Tsou, B.P. Buttenfield, A direct manipulation interface for geographical information processing, Proceedings of the Sixth International Symposium on Spatial Data Handling, Delft, The Netherlands August (1996) 13B.37–13B.47. [7] N.R. Jennings, K. Sycara, M. Wooldridge. A roadmap of agent research and development, Journal of Autonomous Agents and MultiAgent Systems 1 (1) (1998) 7–36. [8] C. Langton, M. Netson, B. Roger, The Swarm Simulation Systems: A Tool for Studying Complex Systems, Santa Fe Institute, NM, at http:// www.swarm.org [9] http://agent.ign.fr. [10] D. D’Aloisi, V. Giannini, The Info Agent: an interface for supporting users in intelligent retrieval, Fondazione Ugo Bordoni, Rome November (1995). [11] J.I. Hong, J.A. Landay, A context/communication information agent, In Personal and Ubiquitous Computing: Special Issue on Situated Interaction and Context-Aware Computing 5 (1) (2001) 78–81. [12] J. Bullock, Informed Navigation: Description Logic Based Hypermedia Linking, Phd Thesis, University of Manchester, 1999 [13] http://www.w3.org/TR/SVG. [14] P. Maes, Modeling adaptive autonomous agents, Artificial Life 1 (1994) 135–162. [15] S. Bechhofer, R. Stevens, G. Ng, A. Jacoby, C. Goble, Guiding the user: an ontology driven interface, in: N.W. Paton, T. Griffiths (Eds.), Proceedings of the User Interfaces to Data Intensive Systems (UIDIS99), September, IEEE Press, 1999, pp. 158 –161. [16] http://www.adobe.com/svg. [17] C. Knoblock, Y. Arens, C. Hsu, Cooperating Agents for Information Retrieval, Proceedings of the Second International
[18] [19]
[20]
[21]
[22] [23]
[24] [25] [26]
[27] [28] [29]
[30]
[31]
Conference on Cooperative Information Systems, University of Toronto Press, 1994. H. Lieberman, From human– computer interface to human– computer collaboration, CHI Research Symposium (1995). M. Balabanovic, Y. Shoham, Learning information retrieval agents: experiments with automated Web browsing, AAAI Spring Symposium on Information Gathering, Stanford, CA (1995). P. Resnick, R. Zeckhauser, C. Avery, Electronic brokers: examples and policy implications, Twenty-Second Annual Telecommunications Policy Research Conference (1994). M. Bates, Indexing and access for digital libraries and the Internet: human database and domain factors, Journal of the American Society for Information Science 49 (13) (1998) 1185–1205. H.P. Grice, Logic and conversation, in: P. Cole (Ed.), Syntax and Semantics 9: Pragmatics, Academic Press, 1978. C. Rich, C. Sidner, Adding a collaborative agent to graphical user interfaces, ACM Symposium on User Interface Software Technology (1996). L.K. Alberts, YMIR: an Ontology for Engineering Design, University of Twente, 1993. http://www.cogsci.princeton.edu/wn. N. Guarino, C. Masolo, G. Vetere, OntoSeek: Using Large Linguistic Ontologies for Accessing On-Line Yellow Pages and Product Catalogs, LABSED-CNR Technical Report 01/99, Padova, Italy. The InfoSleuth Agent System. See http://www.mcc.com/projects/ infosleuth/architecture/index.html. RETSINA, Robotics Institute, Carnegie Mellon University, 1998 L. Chen, K. Sycara, WebMate: a personal agent for browsing and searching, Proceedings of the Second International Conference on Autonomous Agents and Multi-agent Systems, Minneapolis (1998). S. Borgo, N. Guarino, An ontology theory of physical objects, Proceedings of 1997 Workshop on Qualitative Reasoning (QR 97), Cortona, Italy (1997). P. O’Brien, OSCA: An Ontology Based Sales Consultant’s Assistant, Proceedings of ACIS’99, 1999.