Intelligent traveling agent system for air lines reservation.
Dewangan, Arvind ; Kumar, Rajiv ; Kumar, Vinod 等
Introduction
Artificial Neural Networks (ANN) [1-4] have been applied for large
number of applications including engineering, science & technology,
biomedical, financial forecasting etc. [5-7] Due to their properties of
inherent massive parallelism capability to solve non linear problems,
classifications, regressions and fault tolerance. ANN is being applied
to various areas. This paper applied it to design a software agent in
terms of an intelligent Travel Agent [8-10].
Artificial Intelligence tries to overcome the criticisms that
computers are not intelligent and they can do exactly what they are
programmed for. Expert Systems have emerged as a result and have been
applied successfully in various areas.
ANN works very similar to the biological neurons of human brain and
its charters tics is also similar to biological neurons. In most of the
application of ANN have been applied to predict the events based on
their past history. ANN based systems are first trained for a given set
of data training set and then tested for unknown pattern. In a manual
reservation the operator (Clerk) receives information from all
passengers and clients then it forwards to the concerning section for
appropriate action. There are always chances that the operator may
ignore, forgot, or misunderstand a certain email. The proposed work in
the paper develops an intelligent agent based on the principles of ANN.
The paper is organized as follows. Section 2 outlines software agents.
Section 3 gives a basic and brief understanding of ANN. Section 4
defines the problem. Proposed scheme has been explained in Section 5.
Computer simulation of the proposed scheme has been carried out in
Section 6 and testing with results has been shown in Section 7. Some
conclusions, limitations are mentioned in Section 8.
Software Agent
Software agents are the agents, which are programmed to react
judiciously with preprogrammed intelligence. Software Agents, which
learns users' interests and can, act autonomously on their behalf
to contribute in solving the problems.
Definitions
"The term agent is used to represent two orthogonal concepts.
The first is the agent's ability for autonomous execution. The
second is the agent's ability to perform domain oriented
reasoning." [11]
"An agent is anything that can be viewed as perceiving its
environment through sensors and acting upon that environment through
effectors." [12]
"Autonomous agents are computational systems that inhabit some
complex dynamic environment, sense and act autonomously in this
environment, and by doing so realize a set of goals or tasks for which
they are designed." [13]
"Let us define an agent as a persistent software entity
dedicated to a specific purpose. 'Persistent' distinguishes
agents from subroutines; agents have their own ideas about how to
accomplish tasks, their own agendas. 'Special purpose'
distinguishes them from entire multifunction applications; agents are
typically much smaller. II [14]
"Intelligent agents are software entities that carry out some
set of operations on behalf of a user or another program with some
degree of independence or autonomy, and in so doing, employ some
knowledge or representation of the user's goals or desires".
[15]
"Hardware or (more usually) software-based computer system
that carries the following properties:
* Autonomy: agents operate without the direct intervention of
humans or others, and have some kind of control over their actions and
internal state;
* Social ability: agents interact with other agents (and possibly
humans) via some kind of agent-communication language;
* Reactivity: agents perceive their environment, (which may be the
physical world, a user via a graphical user interface, a collection of
other agents, the INTERNET, or perhaps all of these combined), and
respond in a timely fashion to changes that occur in it;
* Pro-activeness: agents do not simply act in response to their
environment; they are able to exhibit goal-directed behavior by taking
the initiative. (16)
"Autonomous agents are systems capable of autonomous,
purposeful action in the real world. II (17)
Agent Classifications
The various definitions discussed above involve a host of
properties of an agent. Having settled on a much less restrictive
definition of an autonomous agent, these properties may help us further
classifies agents in useful ways. The table that follows lists several
of the properties mentioned above.
Property Other Names Meaning
Reactive (Sensing and Responds a timely fashion to changes
acting) in the Environment
Autonomous Pro-active Exercise control its own actions
Goal-oriented purposeful Does not act in response to the
environment
Temporally Is a continously running process
continuous
Communicative Socially able Communicates with other agents, perhaps
including people
Learning Adaptive Changes behavior based on its
previouse experience
Mobile Able to itself from one machine
to another
Flexible Actions not scripted
Character Believable "personality" and emotional
state.
Brustoloni's taxonomy of software agents [1991] begins with a
three-way classification into regulation agents, planning agents, or
adaptive agents. A regulation agent, probably named with regulation of
temperature by a thermostat or similar regulation of bodily homeostasis,
reacts to each sensory input as it comes in, and always knows what to
do. It neither plans nor learns. Planning agents plan, either in the
usual AI sense (problem solving agent), or using the case-based paradigm
(case-based agents), or using operations research based methods (OR
agents), or using various randomizing algorithms (randomizing agent).
Brustoloni's adaptive agents not only plan, but also learn. Thus
there are adaptive problem solving agents, and so on, yielding a
two-layer taxonomy.
Agents may be usefully classified according to the subset of these
properties that they enjoy. Every agent, by our definition, satisfies
the first four properties. Adding other properties produces potentially
useful classes of agents, for example, mobile, learning agents. Thus a
hierarchical classification based on set inclusion occurs naturally.
Mobile, learning agents are then a subclass of mobile agents.
There are, of course, other possible classifying schemes. For
example, we might classify software agents according to the tasks they
perform, for example, information gathering agents or email filtering
agents or, we might classify them according to their control
architecture. Sumpy, then, would be a fuzzy sub sumption agent, while
Etzioni and Weld's Softbot would be a planning agent [1994]. Agents
may also be classified by the range and sensitivity of their senses, or
by the range and effectiveness of their actions, or by how much internal
state they possess.
Yet another possible classification scheme might involve the
environment in which the agent finds itself, for example software agents
as opposed to artificial life agents. And, there must be many, many more
such possibilities. Which one, or ones, shall we choose?
[FIGURE 1 OMITTED]
Artificial Neural Network ANN
ANN [1..4] are interconnected collections of simple, independent
processors. While loosely modeled after the brain, the details of neural
network design are not guided by biology. Instead, for over 20 years
researchers have been experimenting with different types of nodes,
different patterns of interconnection and different algorithms for
adjusting connections. Neural networks are called Machine-Learning
algorithms because changing these connections (training) causes the
network to learn the solution to a problem. This differs from other
artificial intelligence technologies, such as expert systems, fuzzy
logic or constraint-based reasoning which must be programmed to solve a
problem. Many different neural network models have been explored. These
models are described as either unsupervised or supervised. Unsupervised
neural networks, such as self-organizing feature maps, find
relationships between input examples by examining the similarities and
differences between the examples. Supervised neural networks, such as
back propagation [1-4], are used for pattern recognition or prediction.
For supervised neural networks, the input examples must be accompanied
by the desired output. Typically a network consist of a Input layer and
Output layer then it is called Single layer perceptron (SLP) (Fig 2) .If
a network consist of a set of sensory units (Source nodes) that
constitutes the 'Input Layer', one or more 'hidden
layers' in computation nodes and an 'Output Layer' of
computation nodes the input signal propagates through in a forward
direction, on a layer - by - layer basis, These neural networks commonly
referred as multilayer preceptron (MLP)(Fig 3).
[FIGURE 2 OMITTED]
[FIGURE 3 OMITTED]
Problem Definition
The main objective of this paper is to design an agent which can
replace a manual travel computer operator. The problem can be divided
into following steps
(1) Collection of emails from web server.
(2) Reading the contents of each individual.
(3) Trained a Neural Network to understand the contents read in
order to classify into one of the three categories.
(4) Forward the email to the concern section dealing with one of
the three categories.
Due to varieties in style and language to be used in various
countries, it is fare to admit the success cannot be guaranteed 100% .
Proposed Scheme
Figure 4 shows the adopted to design the agent. Below mentioned
algorithm is used to design the agent.
(a) Collect all the emails from mailbox. It is assumed that one
mail one purpose.
(b) Check each email one by one.
(c) If agent found a new word then it will direct to user to
specify the category.
(d) Agent is trained by pre available patterns. if it get any email
then it will categorize it according to its training.
[FIGURE 4 OMITTED]
Simulation of proposed scheme
The proposed scheme is stimulated through computer. Emails were
received and read using Visual Basic. Every email is composed of
sentences separated by period and words are separated by space. Here
normal convention has been used. There are three categories of active
words. These are Reservation. Confirmation and Cancellation. Thus there
will be four databases in all. Three for active category and the last
for 'Neutral category'. Each word of the sentence is marked as
a active or inactive by their occurrence in database .If any word is
active then the whole sentence will be treated as active sentence. One
active sentence in email will make it active email. An email with no
active sentences is treated as neutral and consequently any email having
no active sentence will be categorized as a neutral category. Every word
of a database has given a numeric constant value for a clear distinction
among the weight values of the words in database. Words in one database
are given values with a good margin with those in the other databases.
This will have two advantage:; first there will be space for marking new
word
in the same database, second training become easier due to discrete
wide range of numbers. The databases with their weights and words are
shown.
The input to a neural network is a pattern consisting of the weight
values of the words in an active sentence. The size of input layers has
been fixed to 10 because a normal sentence does not have more than ten
words. The output of the neural network is the category, which this
active sentence refers. There are three nodes in output layer. Each
representing one of the active categories. For the active input the
corresponding output node will be set to 1 and remaining with 0.In case
of Multi Layer Perceptron (MLP) there are three neurons in hidden layer.
If an active sentence has less then ten words then extra nodes of neural
network are given value of the inactive words that is -1 .
(i) 100 Reservation
(ii) 010 Confirmation
(iii) 001 Cancellation
If a new word is encountered and this word is not found in any of
the four databases then the Agent will direct this word to the user for
classification, which will be added to one of the four databases.
It is the front face of Agent. This interface is divided into four
parts. These are (i) This part will take the email address and password
of the travel agent including the mail server name (which supports the
POP3 protocol).
(ii) It is a grid, which will show the incoming emails from
clients. This grid has four columns. They are
"FROM","SUBJECT","DA TE","SIZE and
"ID".
(iii) This part will show the current email contents, which is on
the processing. It is just like a monitoring tool.
(iv) The fourth and final part are consist of four boxes. These are
the result boxes. After processing Agent will get the category of email
than it will put the email address on the corresponding box.
Three command buttons are also part of the interface. These are
Check Email -It will check the mailbox and fill the grid with
appropriate details. Categorize - It will direct the active sentences to
ANN (Artificial Neural Networks)
Exit - It is used to close the Agent system.
[FIGURE 6 OMITTED]
Curve shown in fig 6 is produced by MATLAB. This graphs show that
the performance goal is achieved.
New York
RESERVATION
CONFIRMATION
CANCELLATION
GARBAGE
It is the third interface, which will appear when a new word will
found. As it, shows four options for user to categorize the world.
Testing and Results
The proposed agent program used 500 emails for training and 50
emails for used for testing. Some Tasting results shown below. From this
table it is clear that the agent design using proposed scheme is capable
to recognize 94 % of the emails correctly with an error rate of 6 %
Conclusions
ANN which has been extensively used in different areas have been
applied to design an intelligent agent. This paper proposed application
of neural network to design an intelligent travel agent. This agent is
supposed to receive emails from clients spread out over the country and
direct to concerning section of travel centre. The sentences of email
are categorized as an active or inactive on the basis of words in it.
The active sentence is used as an input to neural network where as the
inactive sentences are stored in neutral category .The ANN is trained to
predict the category of active sentence. In this scheme there are also
provision to include a new unknown word into of the database by the user
directive. For training of ANN SLP and MLP have been used and the
performance of the each is satisfactory. The training has been carried
out on a large number of emails to include as many sample patterns as
possible. Tasting has also been done with fair results. It is to admit
here that the variation in style and language may affect the results
minutely or majority. This limitation opens the scope for researchers.
References
[1] B.Kosko Neural Networks and Fuzzy systems, Englewood
Cliffs,NJ:Prentice Hall 1991
[2] Wasserman,P (1989) "Neural Computing Theory and
practice",Van no strand Remhold ,New York
[3] L.A.Zadeh, "Fuzzy Logic, Neural Networks and Soft
Computing ", Communications of the ACM vol. 37,pp 77-84,1994.
[4] S.K.Pal ,Neuro- Fuzzy Pattern Recognition: Methods in soft
computing, JohnWiley@sons 1999.
[5] Maes, Pattie (1995), "Intelligent-Agents: programa that ca
act independent will ease the burdens that computers put on
people," Scientific American vol 273,no 3,pp 66-68
[6] Etzioni, Gren, and Daniel Weld (1994), A Softbot-Based
Interface to the Internet.Communications of the ACM, 37, 7, 72p; 79.
[7] www.NeuroXL.com [NeuroSolutions Excel]
[8] www.NeuroXL.com [NeuroXL Predictor to Predict Stock Prices]
[9] Stefan Wermter, Garen Arevian and Christo Panchev
[10] "Recurrent Neural Network Learning for Text Routing"
[11] The MuBot Agent
(http://www.crystaliz.com/logicware/mubot.html]
[12] The AlMA Agent [Russell and Norvig 1995, page 33]
[13] The Maes Agent [Maes 1995, page 108]
[14] The KidSim Agent [Smith, Cypher and Spohrer 1994]
[15] The IBM Agent
fhtto://activist.gpl.ibm.com:81/WhitePaper/ptc2.htm]
[16] The Wooldridgep;Jennings Agent [Wooldridge and Jennings 1995,
page2]
[17] The Brustoloni Agent [Brustoloni 1991, Franklin 1995, p. 265]
(1) Arvind Dewangan, (2) Rajiv Kumar, (3) Vinod Kumar and (4)
Maninder Singh
(1) Lecturer-Civil Engineering, Haryana College of Technology &
Mgt., Kaithal
[email protected]
(2)Lecturer-Electrical & Electronics Engineering, Haryana
College of Technology & Mgt., Kaithal.
[email protected]
(3) M.Tech.in Electronics & Communication Engineering,Student
Of MMU,mullana
[email protected]
(4) M.Tech.in Electronics & Communication Engineering,Student
Of MMU,mullana
[email protected]
Table 1: Different options for maintaining Dictionary.
REERVATION CONFIRMATION CANCELLATION NEUTRAL
1 RESERVE 30 CONFIRM 50 CANCEL I
2 BOOK 31 CHECK 51 UNABLE . AM
3 GET 32 AVAILABILITY 52 POSTPONE PLZ
4 TAKE 33 FINAL 53 DROP WANT
5 RESERVATION 34 STATUS 54 WITHDRAW A
6 ARRANGE 55 BACK SEAT
56 CANCELLATION NEED
57 RETURN THE ME
TRIP
TO
LONDON
Table 2: Sample data obtained after applying Back Propagation
Algorithm through
MATLAB.
S.N. Email (Active Word only) Desired Neural Proposed
Category
1 PLEASE RESERVE A Reservation 1.00 0.856 0.523
SEAT
2 PLEASE GET A SEAT Reservation 0.99 0.822 0.500
FOR ME.
3 PLEASE GET A TICKET Reservation 0.992 0.556 0.723
FOR ME.
4 PLEASE TAKE A TICKET. Reservation 0.975 0.856 0.443
5 PLEASE TAKE A SEAT Reservation 0.905 0.656 0.263
FOR MUMBAI.
6 I WANT TO RESERVE A Reservation 0.903 0.576 0.583
SEAT.
7 I WANT TO BOOK A Reservation 0.992 0.899 0.565
SEAT.
8 I NEED A Reservation 0.900 0.89 0.523
RESERVATION.
PLEASE CONFIRM MY Confirmation 0.75 0.99 0.23
RESERVATION.
10 PLEASE CONFIRM MY Confirmation 0.57 0.992 0.35
B OOKING.
11 PLEASE CHECK THE Confirmation 0.55 0.963 0.60
AVAILABILTY OF
SEAT.
12 PLEASE CONFIRM THE Confirmation 0.78 0.912 0.35
TICKET.
13 PLEASE CONFIRM A Confirmation 0.75 0.915 0.23
SEAT.
WHAT IS THE
14 AVAILABILITY Confirmation 0.66 0.81 0.44
AGAINST
THE RESERVATION?
15 WHAT IS THE STATUS Confirmation 0.36 0.906 0.56
OF MY TICKET?
16 PLEASE CANCEL THE Cancellation 0.45 0.56 0.77
RESERVE SEAT.
17 PLEASE CANCEL THE Cancellation 0.40 0.33 0.89
BOOKING.
18 PLEASE POSTPONE THE Cancellation 0.65 0.20 0.89
Reservation.
19 PLEASE CANCEL THE Cancellation 0.66 0.52 0.929
TICKET.
20 PLEASE BACK THE Cancellation 0.78 0.565 0.95
TICKET.
21 I AM UNABLE TO GO. Cancellation 0.40 0.56 0.855
22 PLEASE DROP MY Cancellation 0.11 0.25 0.945
BOOKING.
23 I NEED TO CANCEL THE Cancellation 0.22 0.52 0.991
SEAT.
24 PLEASE RETURN MY Cancellation 0.20 0.63 0.902
TICKET.
25 PLEASE BOOK A TO Reservation 0.99 0.265 0.635
MUMBAI. .
26 PLEASE BOOK A Reservation -9.00 0.456 0.523
RETURN TICKET.
S.N. Email (Active Word only) Error
1 PLEASE RESERVE A No
SEAT
2 PLEASE GET A SEAT No
FOR ME.
3 PLEASE GET A TICKET No
FOR ME.
4 PLEASE TAKE A TICKET. No
5 PLEASE TAKE A SEAT No
FOR MUMBAI.
6 I WANT TO RESERVE A No
SEAT.
7 I WANT TO BOOK A No
SEAT.
8 I NEED A No
RESERVATION.
PLEASE CONFIRM MY No
RESERVATION.
10 PLEASE CONFIRM MY No
B OOKING.
11 PLEASE CHECK THE No
AVAILABILTY OF
SEAT.
12 PLEASE CONFIRM THE No
TICKET.
13 PLEASE CONFIRM A No
SEAT.
WHAT IS THE
14 AVAILABILITY No
AGAINST
THE RESERVATION?
15 WHAT IS THE STATUS No
OF MY TICKET?
16 PLEASE CANCEL THE No
RESERVE SEAT.
17 PLEASE CANCEL THE No
BOOKING.
18 PLEASE POSTPONE THE No
Reservation.
19 PLEASE CANCEL THE No
TICKET.
20 PLEASE BACK THE No
TICKET.
21 I AM UNABLE TO GO. No
22 PLEASE DROP MY No
BOOKING.
23 I NEED TO CANCEL THE No
SEAT.
24 PLEASE RETURN MY No
TICKET.
25 PLEASE BOOK A TO No
MUMBAI.
26 PLEASE BOOK A Yes
RETURN TICKET.
Figure 5: An Interface design by VB application For Reservation.
Simple Mail Reader
Remote Host User Namr Password Check
mailbox
Mail.softhome.net Travel Agent **********
Messages
FROM SUBJECT SENDDATE SIZE
[email protected] REGARDING 12 DEC 2005 1K
RESERVATION
[email protected] REGARDING 12 DEC 2005 1K
CONFIRMATION
[email protected] PLEASE CANCEL 12 DEC 2005 1K
Remote Host Category
Mail.softhome.net
Messages
FROM ID
[email protected] 125456
[email protected] 521452
[email protected] 256325
Please reserve me a ticket for GOA on Monday
RESERVATION CANCELLATION CONFIRMA GARBAGE
TION BOX