• No results found

5.2 Searching the WWW

6.1.4 Types of agents

As has been the focus of discussion so far, agents are used to perform some action or activity on behalf of a user of a computer system. It was also mentioned that the complexity of the task or actions to be performed by an agent requires some degree of intelligence to be embedded into the agent itself. Using this fact and the degree of autonomy an agent exhibits, it becomes possible to classify agents.

In his book, Bigus has given a graph which was done by IBM that maps intelligence compared to agency [49]. This graph is given in figure 6.1.

Agency

Figure 6.1: IBM intelligent agent graph [49, 50].

The graph of figure 6.1 is used to compare different intelligent systems. Intelligence is defined on the graph as an agent’s ability to capture and apply application-domain specific knowledge and processing techniques to solve problems. On the intelligence axis, it can be seen that agent intelligence can range from simply specifying user interfaces and preferences up to agents that have the capability to learn as they go through the environment.

Agencyis defined as the degree of autonomy an intelligent agent has in the representation of its user to other agents, applications and computer systems. As a bare minimum, an agent must be able to run independently or asynchronously on a system. An excellent example of this can be that of a computer virus. The virus has the ability to become resident in the memory of a

computer system and act autonomously without the intervention of its author (or user). At the next level of agency, an intelligent agent represents the user in its interactions with the operating system. Advancing further agents can also communicate with applications running on a system and, ultimately, represent its user in interactions with other agents.

There has been much development work done on agents over the last couple of years. Agents can be divided into categories based on their abilities or the task they are designed to do. Six major categories are identified by Seydim, namely [50]:

• Filtering agents.

• Information agents.

• User interface agents;

• Office or workflow agents.

• System agents.

• Brokering or commercial agents.

In the remainder of this section each of these major categories will be discussed.

Filtering agents

Presently, our society produces more information than it has ever before. This can lead to users feeling overloaded by information and the users may not have the time or the resources to be able to consider it all. As their name implies, information filtering agents act as a filter for information, only allowing information through to the user that is of interest or relevance to that particular user. Useless or irrelevant information is then filtered out.

Filtering agents may function in a variety of ways. The most common of these is where the user provides (or the agent learns) a range of topics that is of interest to him/her. The agent then creates a user profile from this information and when presented with a list of documents (or any

other filterable information) the agent scans these documents and then ranks them on how well their content matches the areas of interest indicated by the user. Filtering agents can also act as e-mail filters, automatically blocking spam e-mail and keeping only e-mails that are deemed relevant or useful by the agent according to its profile of its user. As mentioned earlier a filtering agent may also learn and/or automatically adapt its perception of the user through either using feedback from the user or by observing what type of documents or messages users view or read [50].

Information agents

Information agents can be seen as being related to filtering agents. Where filtering agents attempt to block unwanted information, information agents try to actively find new information for their users. Information agents are particularly useful in the context of the Internet and world wide web as they can automatically scan through web content in search of information that is deemed interesting to the user [50].

Interface agents

Interface agents are defined by Maes as follows [51]:

“Instead of user-initiated interaction via commands and/or direct manipulation, the user is engaged in a co-operative process in which human and computer agents both initiate communication, monitor events and perform tasks. The metaphor used is that of a personal assistant who is collaborating with the user in the same work environment”

From the quote above, we can deduce that the primary idea behind Maes’ interface agents is that of an agent assistant that users can delegate mundane or tedious tasks to. The ultimate goal of an interface agent is to reduce the workload of users by creating personalized agents to which personal work can be delegated to [46]. Maes also defines four primary ways in which an interface agent can learn about its user [51]. Firstly, the agent monitors the user’s behaviour

for regularities and recurring patterns and offers to mimic it. The second way an agent can learn about its user is to use direct or indirect feedback from the user. The user rates the agent on how well it performed a given action. Thirdly, the agent can be trained by examples given explicitly by the user and finally, the agent can learn through communication with other agents.

All four techniques are examples of supervised learning, as the user essentially controls the agent’s learning curve [50].

There are many other considerations, issues and challenges when designing interface agents. For a discussion on these and a survey of current interface agents and prototypes, refer to the work by Middleton [46].

Office or workflow agents

Office management agents attempts to automate daily, routine tasks that take up considerable time of employees in a business organization. These tasks can include, but are not limited to scheduling meetings, sending faxes, automatically updating or modifying corporate documents etc. Many agents can be considered to simplify the workflow in an organization as they deal with calendar management, meetings and document flow. Obviously, agents of this type could greatly improve the efficiency of common business functions and ultimately empower employees to get more done in less time [50].

System agents

Intelligent agent technology has also been applied to the management and operation of a comput-ing system or a data communications network. It is feasible to use intelligent agent technology for something like network management. Agents could monitor the network’s health and could aid in correcting and reporting faults.

On a systems level, intelligent agents could be used for a variety of tasks ranging from resource optimization to workload balancing across distributed computer systems [50].

Brokering or commercial agents

This class of agent acts in a similar fashion to a typical human broker. They take requests from willing buyers and then automatically search for willing sellers that match the buyer’s criteria for whatever item he/she wants to purchase. When a potential seller is found, there are one of two possibilities. The first is for the agent to report its findings to the user. The buyer then selects the desired seller and the transaction is completed manually [50].

The second case is where the agent automatically completes the transaction on behalf of the buyer. Obviously if this route is followed, buyers and sellers must trust their agents to protect their interests and meet their criteria [50].