Keywords

Introduction

Since the beginning of Internet the quantity of information presented in Web grows exponentially. The problem now is how to find and to retrieve information that users are really seeking. Today anyone generates new information in Web by simply taking a picture, recording a video with your phone or electronic tablet and shares it via Facebook, Twitter, YouTube, blogs, etc. as well as writes notes anywhere and anytime. The diversity of content and the fact that each user connected to network have their own preferences and objectives have motivated to develop mechanisms for access and adapting information to user’s needs.

To achieve adaptation of required information it is important to have appropriate infrastructures and systems to handle user-oriented preferences for fast processing and recovery only the most relevant data to user. Nowadays, there are some available approaches that use intelligent agents design methodologies such GAIA, ROADMAP, Tropos, ADELFE and others. They may be used for development of multi-agent systems however, previously a standard reusable scalable infrastructure must be proposed in order to incorporate particular user model to information search and retrieval system providing in this way adapting that information to user profile, operational patterns and preferences.

The paper is organized as follows. Section “Intelligent Agent Architecture” presents taxonomy of intelligent agents as well as description of methodologies used for agent development. Section “Information Retrieval Approaches” describes analysis of existing approaches for development of user-adaptive information retrieval systems. Section “Existing Adaptive Systems and Proposed Generalized Multi-agent Architecture” discusses known efficient multi-agent infrastructures and their comparison with the proposed architecture. Finally, the evaluation of multi-agent architecture and contributions of the paper are presented in conclusions.

Intelligent Agent Architecture

According to Russel and Norving [1] an agent is anything that can be considered as something that perceives its environment through sensors and acts on through actions (see Fig. 1).

Fig. 1
figure 1

Representation of agent concept by sensor-act interaction in particular environment

Currently, there are various definitions regarding what an intelligent agent is and which environment is appropriate for specific agent. According to Gunga an intelligent agent is: an autonomous system that shows a certain degree of independence in its environment [2]. In other words, intelligent agents are physical or virtual entities that take decisions autonomously. In our case we are only interesting in virtual intelligent agents. These types of agents can represent real-world objects such as atoms, processes, people, animals, wizards, etc. The environment is the virtual space, where intelligent agents interact. A distributed virtual environment has its resources (processing time, memory space), its objectives (maximize production, reduce risks) and its decisions based on pre-established rules, reacting and adapting itself to situations or environmental conditions.

There are different types of intelligent agent architectures that determine items, which agent may use reacting to stimuli, act and communicate with each other. These architectures define a structure of interacted modules to achieve their required functionality. However, there is not unique standard methodology that allows construction of intelligent agents.

Agents may be classified considering the type of employed information processing particularly, grouping them as reactive, deliberative and hybrid agents. They also differ by the knowledge obtained through interaction of their very basic actions. Some other classifications are resumed in Table 1.

Table 1 Taxonomy of intelligent agents

During interaction of agents in a heterogeneous environment many problems arise due to complexity of their management and coordination as well as increasing unexpected situations, security holes, etc. Therefore, to propose a solution it is necessary to adhere to the methodologies of agent-oriented design. In Fig. 2 some well-known methodologies are presented.

Fig. 2
figure 2

Well-known agent-oriented methodologies

In many cases, a single agent cannot solve whole problem of information access and retrieval therefore, several agents need to interact with each other making too complex their management. These types of systems need other methodologies such as MaSe and ADELFE, which are designed to create multi-agent systems.

In order to manage two or more agents the appropriate communication between them must be established defining a used protocol on both the syntactic and semantic levels.

In our proposal the used protocols are based on some standards of Foundation for Intelligent Physical Agents (FIPA) [3]. These protocols are defined by the FIPA as it is described in Table 2.

Table 2 FIPA communication protocols

Information Retrieval Approaches

Originally, the information retrieval systems have been developed to help manage large amounts of scientific literature. Currently, many universities, companies and public libraries utilize these systems to provide access to books, journals and other documents. Many of these systems are based on techniques that provide efficient textual and visual information retrieval using approaches such as Boolean model, probabilistic model, vector model, fuzzy logic, neural networks, Bayesian networks, structured text, etc.

For example, the Boolean model uses logical operators such as AND, OR, NOT and XOR to combine multiple queries (terms to be found) and relevant documents during searching process. In Table 3 the example of information retrieval is shown for case, where queried terms are found in some documents using AND operator. The term T1 indicates that it appears in the documents 1, 3 and 6, whereas the term T5 only appears in the document 1.

Table 3 Sample terms and document identifiers

Some tests were made on 20,000 records with information about press, radio and television news using on-line Blazquez’s simulator [4] that provides retrieving information with Boolean method. The obtained results are shown in Table 4.

Table 4 Information retrieval results using Boolean model

The model has some disadvantages. For example, it does not take into account the frequency with which terms appear in documents as well as it does not provide information if a document is relevant or irrelevant.

This problem may be solved in systems that use semantic analysis of document content or, for example, in adaptive intelligent systems, where automatically detected user patterns, habits or previously defined preferences are taken into account in searching and retrieving processes.

This problem may be solved in systems that use semantic analysis of document content. Additionally, in adaptive intelligent systems automatically detected user patterns, operational habits or previously defined preferences are taken into account in searching and retrieving processes.

As usual, adaptive system includes a user model that consists of explicit representation of certain user features. Each model is created for particular user and it is constantly updated to keep available the current state of corresponding user.

There are a lot of approaches of Artificial Intelligence that have been used for development of adaptive systems, since they have to perform various tasks in the process of adaptation and take relevant decisions that must minimize user effort during information seeking and must maximize user degree of satisfaction.

As it has been mentioned earlier, development of software agents is important way used in adaptive systems because they are able to react immediately to events in distributed environment. One of implementation techniques used for this proposal is dynamic programming, i.e. using programming languages that may be able to update the application while it is running. Additionally, it is important to apply some approaches based on decision theory that provides a combination of utility theory (description of user preferences) and the theory of probabilities (representation of uncertainties), as well as techniques such as learning by reinforcements and probabilistic networks also known as Bayesian networks and decision networks.

There are many applications that currently are used, for example, in analysis of crime and detection of fraud, in shopping support systems, in manufacturing, in demand video systems, image processing, education (Adaptive Hypermedia Systems), and others.

Existing Adaptive Systems and Proposed Generalized Multi-agent Architecture

There are a lot of scientific reports about agent-oriented infrastructures that adopt different approaches for generation of adaptive systems. Some more relevant systems and architectures are described below.

  1. (A)

    The Dynamically Adapting BDI Agent Architecture based on High-level User Specification is based on framework of Personal Assistance Software and it handles a high level of adaptation of application using predefined set of rules and actions [5]. This research is the most similar to our proposal; however, it is based on client-server application, while our proposal is multiplatform Web service guaranteeing its implementation in different environments.

  2. (B)

    The Agent Based Information Retrieval System Using Information Scent is implemented on architecture that allows design of personalized user information retrieval systems using clues or traces, which recommend other sites that are similar to user query. However, it is not clear how this information fits to user profile, i.e., the system recommends similar sites only at a time, when user performs a search without taking into account the searching history [6].

  3. (C)

    The Intelligent System: Recommendation for Learning Objects represents implemented recommender based on intelligent agents. The main function of this prototype is to retrieve documents on base of user profile [7]. The limitation of this project is that, the framework does not work with other Web applications and it has no structured scalable layered architecture. This architecture serves only to develop information systems for recommendations without detection of preferences and needs of particular user.

  4. (D)

    The reported U-Learning within a Context-Aware Multiagent Environment is based on multi-agent architecture and context sensitive learning scenarios. Implementations of this architecture will serve for exchange of information and knowledge of public interests. The project itself looks like a social network, where groups of people share their knowledge. The architecture does not show records of history of each user [8].

  5. (E)

    Described in [9] an E-Commerce Applications Based on the Multi-Agent System implements a distributed computing architecture for business, where a group of agents work as mediators for purchase of products. The used multi-agent architectural elements are: Resource, User Interface Agent, Resource Agent, Host Agent, and Mobile Agent. The architecture does not handle search adapted to needs of users, where they can at least have recommendations for product.

  6. (F)

    Proposed in [10] Architecture of Multi-agent Systems for the Health Sector is implemented on JADE and provides FIPA standard definitions. Although these elements are part of our proposal, this project is focused on the health sector and therefore lacks necessary elements for architecture that can be used for adapting information.

  7. (G)

    A System for Semantic information management of graduated is based on architecture of multiple agents: interface, semantic and crawler wrapper agents. The interesting point of the proposed system is its ability to support ontologies and management of stored information about each user. However, this architecture is far from having elements that allow adaptation of information [11].

  8. (H)

    The project called Cognitive Multi-agent Systems for Integrated Information Retrieval and Extraction over the Web presents very interesting proposal based on a multi-agent architecture consisting in extracting information from Web pages with similar content and structure [12]. The use of ontologies to recognize pages provides extraction of all the possible information. A main feature of this architecture is reduction of nonsensical information considered as a trash. It is clear, that this project presents search engine and does not consider user preferences.

  9. (I)

    The Similarity-Based Resource Retrieval in Multi-agent Systems by Using Locality-Sensitive Hash Functions presented in [13] uses encryption algorithms such as SHA-1 based on hash functions and cryptographic message digest algorithms as MD4 or MD5 to authenticate if documents are original. The used architecture consists of three layers: LS-Agents, Agents and resources. The project is focused on verifying the integrity of information and based on a multi-agent architecture, however, it does not consider requirements for adaptation of information to user.

  10. (J)

    Finally, Real-Time Agent Architecture is presented in [14], where agents as actors interact together to achieve goals under time constraints. The architecture provides layered structure of the CORBA standard, which allows different programs written in different programming languages run on any computer. The used layers are: Real-Time Agent Communication Layer, Real-Time CORBA Services, Real-Time ORB and Real-Time Operating System. In conclusion, this architecture serves as basis for deploying applications, where multiple agents may interact and perform tasks in real time.

After analysis of recent reports about existing adaptive systems, the proposed layered architecture based on intelligent multi-agents may be introduced as it is shown in Fig. 3. The principal goal is to propose standard reusable infrastructure based on intelligent multi-agents that run within distributed environment incorporating particular user model. These agents must interact with each other for the sole objective to provide relevant information to user taking into account his profile, operational patterns and preferences.

Fig. 3
figure 3

The proposed architecture for adaptive information retrieval system based on intelligent multi-agents

The Application Layer provides the graphical user interface that allows access to services of other layers reducing in this way the complexity of system.

The Middleware based on JADE template engine is widely used platform to implement the agent paradigm. Another important complementary middleware that has been proposed to use is JADEX reasoning engine as agent-oriented framework on XML and Java.

To achieve interoperability of used technologies or applications, the project is implemented as XML Web Service. It allows heterogeneous systems work together helping to bridge the differences between them on the levels of incompatible operating systems and programming languages.

The Register Layer is responsible for recording user information and activities, among which there are most visited sites, browsing time at each site, topics of interest, etc. At the same time the layer is assessed whether the recommended information for user is appropriate to his profile and is of his interest updating dynamically the preferences if necessary.

The Adaptation Layer is responsible for managing the input data flow by information filtering according to established preferences relevant to user. This layer works as intermediary agent between the Register and Browse layers. It provides application of selected User Model (structured data) analyzing and preparing those data to be sent to the Browse layer. At the same time layer receives the searching results from Browse layer and applies semantic filtering to deliver only relevant user-oriented information to the Application layer. The block diagram of Adaptation Layer is presented in Fig. 4.

Fig. 4
figure 4

Block diagram and main functions of the Adaptation Layer

User Model stores relevant information about user. It includes description of user personal data, preferences, habits, goals, track records, socio-cultural aspects, possible disabilities, experiences, operational abilities, etc. One example of User Model structure is presented in Fig. 5.

Fig. 5
figure 5

Structure of User Model

Browse Layer receives information from Adaptation layer and generates structured queries taking into account user profile and preferences. It sends either all necessary parameters to search engines or runs information retrieval algorithms returning results to the Adaptation layer.

Finally, Data store is the collection of data that may be classified according to certain fields (enterprise, organization, universities, manufacturing, etc.) or oriented to particular user needs such as specific understandable structures, textual or visual documents or perhaps, content of Web pages, etc.

Evaluation of Proposal and Discussion

In order to evaluate the proposed architecture, the comparison of principal features of existing approaches for development of multi-agent adaptive systems has been done as it is presented in Table 5. In the table some relevant criteria have been taken into account such as used communication standards for information exchange between agents, user profiles, personal data and preferences, available scalable layered structure, ability of adapting information or services and system implementation as Web service. The reviewed in section “Existing Adaptive Systems and Proposed Generalized Multi-agent Architecture” approaches are labeled in Table 5 with the same letters (A, B, … J).

Table 5 Reviewed architectures for adaptive multi-agent systems

According to Table 5, the existing approaches and systems lack many elements that we propose in our architecture, particularly: scalable layered structure, independent management of information on each layers, implementation as Web service and ability of adaptation to user requirements. This does not mean that mentioned projects are not efficient, just they were designed for specific tasks [15].

The proposed architecture is designed as generalized structure for multi-tasks and implemented as multi-agent system with ability to manage user-oriented information and services.

Conclusion

After analysis of well-known approaches for development of information retrieval systems it has been detected that existing architectures based on multi-agents usually lack the ability to adaption to user-oriented requirements. The proposed generalized architecture supports FIPE standard as compatible reusable scalable infrastructure based on intelligent multi-agents that run within distributed environment incorporating particular user model that takes into account user learning software patterns, operational habits and preferences.

This approach has sufficient merit to be used as a reference for development of applications for user-oriented and adaptive information retrieval systems based on intelligent multi-agents. The proposed architecture may serve to exchange data and information by software agents based on XML Web services transparent to user, establishing adaptation layer as additional benefit in efficient information searching engines, which operates without nonsensical results.