You are on page 1of 79

2017

Module Code:
INTRODUCTION TO ARTIFICIAL
AAPP002-4-2-IAI INTELLIGENCE ASSIGNMENT

Group Member List

Name TP No.

Wong Chun Wai TP038678


Ooi Shu He TP037399
Kho Zhi Yuen TP038123

Intake Code: UCDF1505ICT(SE)

Lecturer’s Name: Vinothini Kasinathan

Hand Out Date: 16th January 2017

Hand In Date: 10th April 2017


Table of Contents 1

1. Table of Contents
1. Table of Contents ............................................................................................................... 1

2. Introduction ........................................................................................................................ 5

2.2 Aim / Abstract ............................................................................................................. 5

2.3 Problem Statement ...................................................................................................... 7

2.3.1 The Effect of Transportation on Tourism on a Worldwide Scale ........................ 7

2.3.2 The Effect of Travel and Tourism Industry on Malaysia’s Economics ............... 9

2.3.3 Air Asia Sdn. Bhd. Potential Enhancements ..................................................... 10

2.3.4 Flaws in Current Tourism Chatbots ................................................................... 12

2.3.5 Flaws in Services Provided by Current Chatterbots .......................................... 13

2.4 Proposed Solution ..................................................................................................... 14

3. Project Scope ................................................................................................................... 15

3.1 Functional Requirements........................................................................................... 15

3.1.1 Recommend travel places to customer .............................................................. 15

3.1.2 Provide customer with the Travel Information of The Travel Place ................. 15

3.1.3 Provide Customer with Airport Guide ............................................................... 15

3.1.4 Print Travel Documentation ............................................................................... 16

3.1.5 Extra Features .................................................................................................... 16

3.2 Non-Functional Requirements .................................................................................. 17

3.2.1 Ease of Use ........................................................................................................ 17

3.2.2 performance ....................................................................................................... 17

3.3 Project Objectives ..................................................................................................... 18

4. Knowledge Acquisition ................................................................................................... 19

AAPP002-4-2-IAI ASSIGNMENT 1
Table of Contents 2

4.1 Definition of Expert System ...................................................................................... 19

4.2 Characteristics of Expert Systems ............................................................................. 19

4.2.1 High Performance .............................................................................................. 19

4.2.2 Understandable .................................................................................................. 19

4.2.3 Reliable .............................................................................................................. 20

4.2.4 Highly Responsive ............................................................................................. 20

4.3 Capabilities of Expert Systems ................................................................................. 20

4.4 In-capabilities of Expert Systems .............................................................................. 20

4.5 Components of Expert Systems ................................................................................ 20

4.6 Types / Categories of Expert Systems....................................................................... 21

4.6.1 Classification Systems ....................................................................................... 21

4.6.2 Diagnosis Systems ............................................................................................. 21

4.6.3 Interpretation Systems ....................................................................................... 21

4.6.4 Process Control Systems .................................................................................... 21

4.6.5 Design Systems .................................................................................................. 22

4.6.6 Scheduling and Planning Systems ..................................................................... 22

4.6.7 Generation of Options Systems ......................................................................... 22

4.6.8 Monitoring Systems ........................................................................................... 22

4.6.9 Instruction Systems ............................................................................................ 22

4.6.10 Prediction Systems ............................................................................................. 22

4.6.11 Debugging and Repair Systems ......................................................................... 23

4.7 Categories of Expert System for Proposed System ................................................... 23

5. Literature Review on Chatterbot ...................................................................................... 24

5.1 AIML Based Voice Enabled Artificial Intelligent Chatterbot .................................. 24

AAPP002-4-2-IAI ASSIGNMENT 2
Table of Contents 3

5.2 Teen Chat: A Chatterbot System for Sensing and Releasing Adolescents’ Stress ... 25

6. Knowledge representation ............................................................................................... 26

7. Implementation ................................................................................................................ 27

7.2 test plan ..................................................................................................................... 27

7.2.1 start-up ............................................................................................................... 27

7.2.2 bored effect ........................................................................................................ 28

7.2.3 blank................................................................................................................... 29

7.2.4 file display.......................................................................................................... 30

7.2.5 display website ................................................................................................... 31

7.2.6 make decision..................................................................................................... 32

7.2.7 store Rules in Knowledge Base ......................................................................... 33

7.2.8 read data from csv .............................................................................................. 34

.............................................................................................................................................. 34

7.2.9 Replacement Profile ........................................................................................... 35

7.2.10 Change Agent..................................................................................................... 36

7.2.11 Virtual Children ................................................................................................. 37

7.2.12 Synonyms ........................................................................................................... 38

7.2.13 Save File............................................................................................................. 39

7.2.14 READ FILE ....................................................................................................... 40

7.2.15 Setting Variables ................................................................................................ 41

7.2.16 Avatar’s Emotions ............................................................................................. 42

7.2.17 Default Values for Empty Variable ................................................................... 43

7.2.18 Last Input ........................................................................................................... 44

7.2.19 C# Code Implementation ................................................................................... 45

AAPP002-4-2-IAI ASSIGNMENT 3
Table of Contents 4

7.2.20 Send Input .......................................................................................................... 45

8. User acceptance testing .................................................................................................... 46

8.2 Question reasoning and evaluation ........................................................................... 47

9. Conclusion ....................................................................................................................... 52

10. References .................................................................................................................... 53

11. Appendices ................................................................................................................... 55

11.1 Source Code ........................................................................................................... 55

11.3 work load matrix .................................................................................................... 74

11.3 approved proposal ........................................................................................................ 75

AAPP002-4-2-IAI ASSIGNMENT 4
Introduction 5

2. Introduction
2.2 Aim / Abstract
Human experts are able to perform at a successful level because of their knowledge
regarding the areas of expertise. However, with Artificial Intelligence, Expert Systems has been
introduced to the world. The use of the Expert Systems has been widely seen in this
technological area, it can be even considered as the norm. Based on the team’s research, it can
be considered as an intelligent computer software that portrays as an human expert in that
particular field, diagnosing and solving common problems for the general users.

The aim of this project is to use the learnings of Artificial Intelligence to create an
Expert System to use knowledge specific to a problem area to provide “Expert Quality”
performance in that application area. A knowledge based system that serves as an information
repository and consultant should be implemented with the equipment of an interactive means
to engage in a conversation with the user by utilizing a Expert System Shell, Verbot.

The team has decided to create an Expert System dedicated to aid customers of Air Asia
Sdn. Bhd. by providing the functionalities stated in section 3.1. Based on the team’s
assumptions, it should be able to dramatically increases the customer’s user experience and
therefore would lessen the staff’s workload and allow them to focus on more critical tasks.

In this project report, the company Air Asia Sdn. Bhd. has been chosen by the team and
an expert system will be solving a wide range of problems during their customers’ flight
registering and waiting stage. A problem specification has been proposed and clear statements
regarding the need for the proposed expert system has been mentioned with references given.
Next, a chapter of knowledge acquisition has been noted with the content of types of expert
system researched by the team and a short literature review on Chatterbot has been given as
well. Furthermore, a detailed semantic nets will be explain with the assistant of knowledge
representation. A documentation of the implementation with the test plans and special features
have been written as well. In the same section, user acceptance testing in questionnaire and its

AAPP002-4-2-IAI ASSIGNMENT 5
Introduction 6

results will be shown. A Further analysis and research on these data have been done by the
collaborated efforts of each and every group members.

AAPP002-4-2-IAI ASSIGNMENT 6
Introduction 7

2.3 Problem Statement


2.3.1 The Effect of Transportation on Tourism on a Worldwide
Scale
After a research and analysis done by our team, we have gathered an amount of
problems we would like to evaluate the problems or space of improvements found and use the
solutions we have proposed to further enhance the entire experience and system.

Figure 1:Why Tourism Matters? (admax, 2015)

Based on this article, it mentions that tourism sector is one of the main important sectors
of the economy. It also highlights that transportation has been an integral part of the tourism
industry. There is a general mutual agreement that tourism expands when there are better
transportation systems. This is because in tourism the customers come to that particular
destination where tourism services are provided. Therefore it is hard to imagine tourism with
transportations as its job is to carry the passengers where tourism is being performed.

AAPP002-4-2-IAI ASSIGNMENT 7
Introduction 8

Figure 2: UNWTO Tourism (Anon., 2017)

The development of transportation and its embedded services and technologies has been
shown to speed up the development as mentioned above. If we give concern to the statistics of
World Tourism Organization, we can clearly see the changes and increments performed
between 2005 and 2015, this statistic have shown that with the advancement and application
of technologies within the transportation sector, it has enable the tourists to reach many
destinations of the world.

Air transportation is one of the most important transportation modes in the tourism
industry compared to sea and automobile transportation. This is because air travel has made
significant changes in terms of the customer’s travel distance and time usage. In order to meet
requirements and create improvements it has been stated that the airline companies spent
billions of dollars and apply new technological innovations to match the constant developments
in this industry. At the report’s time of being, there are 1629 airlines, 27271 aircrafts, 3733
airports, 29.6 million scheduled departures a year and carries 2.7 billion of passengers per year.

(BA2.ITC.MBA.EMBA, 2016)

AAPP002-4-2-IAI ASSIGNMENT 8
Introduction 9

2.3.2 The Effect of Travel and Tourism indusTry on malaysia’s


Economics

Figure 3: Growth of Tourism in Asia Pacific (Skift, 2016)

Malaysia has an ancient history of tourism dated back in 1970s, where the Malaysia’s
tourism industry was considered underdeveloped till it meets the turning point in 1970s. With
the establishment of the Tourism Development Corporation of Malaysia (TDC) in 1972, the
country took a major step in the right direction to make TDC the official development authority
to promote tourism and travel. The country has since taken up interest in the development of
this industry shown by the creations of five year plans such as the National Tourism Policy
(NTP) enacted in 1992, the National Ecotourism Plan (NEP) in 1996 and the most recent being
Malaysia Tourism Transformation Programme (MTTP) in 2010. All these policies initiatives
are to tap into the unexploited and unexplored potentials of the home grown tourism, which
will potentially provide a boast to a greater and sustained economic growth in Malaysia.

The tourism in Malaysia does not just generate considerable foreign exchange revenues but
has also contributed the overall output and socio-economic development of the country. Within
the Asia and Pacific region, the data gathered for 2014 indicates that Malaysia was ranked very
highly at no. 26 out of the 184 countries in the world in terms of the relative contribution of the

AAPP002-4-2-IAI ASSIGNMENT 9
Introduction 10

travel and tourism industry to its national output. This journal paper has highlighted the factors
driving international tourist arrivals into Malaysia and identified the potential determinants of
the growth of the travel and tourism industry, which gathered results that suggest Malaysia’s
government expenditures on tourism promotion as well as infrastructure investments.

The results show that there exists a strong causal link between airport facilities and
international tourist arrivals, with airport facilities significantly driving the growth of
international tourist arrivals. This result highlights the prominent role that the quality of air
transportation facilities have on contributing to the growth of the T&T industry into Malaysia.
These findings have been concluded with the usage of a Geweke causality framework. Based
on the extract above, we can clearly see the need of further enhancing airport facilities to
dramatically improve Malaysia’s travel and tourism industry as well as its economy.

(Tan, et al., 2016)

2.3.3 Air Asia Sdn. Bhd. Potential Enhancements


As mentioned above, Malaysia’s Travel and Tourism industry has greatly contributed to its
home country’s growth and sustains of economics. Furthermore, it also has been shown and
proven that air transportation plays a great role of improvement of the Travel and Tourism
industry. Therefore, without any doubts the air transportation industry will be the main concern
and focus of the team and project. Based on research, the list of air transportation services
available within the country are Malaysia Airline, Air Asia, Berjaya Air, Firefly, Malindo Air
and MAS Wings.

After a clear requirement gathering and evaluation process, the team has decided to select
Air Asia Sdn. Bhd. as the targeted company. With its headquarter located near Kuala Lumpur,
Malaysia. It is the largest airline in Malaysia by fleet size and destinations, and Asia’s largest
low-cost airline by passengers carried and jet fleet. AirAsia Group operates scheduled domestic
and international flights to more than 165 destinations spanning over 25 countries. (Routes
Online, 2016)

1
AAPP002-4-2-IAI ASSIGNMENT 0
Introduction 11

No matter how excellent the service a company may deliver, there will always be space for
improvement, especially in this era where competitions are strong among the industry and
customers and prompted to be less loyal. This journal paper has shown the relationship between
service quality and price towards customer loyalty in the Air Asia services is very much
significant. (Amiruddin, 2013) The present studies show the analysis of the overall gap between
expectation and perception in terms of service quality. As regard to responsiveness, the highest
gap is about the responsiveness of Air Asia’s staffs in handling delays. When problem aroused,
the staffs are not able to give adequate amount of information in a timely manner to the
passengers regarding the current situation. Next, in terms of assurance, it shows that highest
gap is regarding the flight schedule. Customers are expecting their flight schedules to be
assured at all times but it shows that flights are always delayed and not precise, leading
customers to wander or linger around the airport with excessive time which leads to lower
down the productive level of the customers. Furthermore, in terms of empathy, the highest gap
is about the service personnel. Their expectations are always lowered as the company’s staffs
did not resolve the customers’ problems, it could be caused that there are not enough staffs
with the level of expertise and knowledge.

As service and quality has always been the fundamentals of sales profitability, this article
further explains the problems found in the prestigious company. Air Asia has a high traffic
operation which leads to high workload which in long term affects the employee’s physical,
mental health, performance and productivity including customer service. The stress has strain
the employee into illness leading to lack of motivation and therefore further degrades and
injures the customer service image of Air Asia.

Next, the main reason the company capitalizes on man, machine and equipment is to
improve productivity. Technology is expending at an exponential rate and workers take time
to learn and use technology which constraints their ability to focus on satisfying customer
services, letting the service quality drop.

Furthermore, research has also found language proficiency and competency as a


contributing factor to the decline in customer service. Non-English speaking staff’s find it

1
AAPP002-4-2-IAI ASSIGNMENT 1
Introduction 12

challenging to communicate with customers with fluent English as it is not their mother tongue
therefore it has taken more time to complete a conversation and lead to the poor performance
of customer service in the airline industry. (Universiti Teknologi Malaysia, 2015)

2.3.4 Flaws in Current Tourism Chatbots


Chatbots are advancing and revolutionizing the current travel industry and simplifying
the process for travellers and jet packers. As the T&T and aviation industry continues to
advance and provide easier means of transportation for its travellers, the IT industry catches up
the bandwagon by producing a large amount of applications, websites and services to assist
these travellers. In the T&T industry, where planning and organising process can be hectic for
both consumers and staffs’ conversational commerce offers a great opportunity.

Most of them are considered as virtual assistants to help consumers book flights,
locations and accommodations. There are a few notable ones such as Cheapflights, which is
Facebook messenger bot that adapts to the conversation style of each individual user and
respond in similar language. At the same lines, travel application HelloGbye assists travellers
in a way by accepting input of vacations the travellers desire and generates a list of potential
flights tailored to their requirements. Other than that, online platform such as HiJiffy and Exa
helps the travellers to find a range of hotels, tourist locations and airport transfer and even
translates and tailored its responses to the guest’s language. (Perry, 2016)

However, there are space of improvements that the team can proposed and wish the
revolutionizes which will be further elaborate in the section 3.1. For example, these chatbots
does not provide an incorporated line of services catered from the start to the end of the travel
planning process. This would create difficulties for the travellers as they have to download or
use different platforms for different usages. Next, these applications do not provide other
additional services to allow the users to plan their time within the airport while waiting for
boarding or check in.

1
AAPP002-4-2-IAI ASSIGNMENT 2
Introduction 13

2.3.5 Flaws in Services Provided by Current Chatterbots


Based on this literature, it defines that the current chatter bots are software programs that
engages in artificial conversations through a text-based input medium and are mostly seen in
customer service applications. It explains critical information such as how existing approaches
to artificial conversation generation emphasize grammatical and linguistic modelling
techniques. In return, these approaches perform poorly in conversational situations requiring
contextual continuity over a series of utterances. It presents an approach that combines
pragmatics with content semantics to generate artificial conversations in the customer service
domain. (Makar, 2015)

In this literature, it covers the patent of an invention which uniquely designed to interact
with web retailer’s customers with real agent reaction times as they give astute answers directly
concerning web retailer's products and goals. It explains how an artificial intelligence engine
uses the combination of Bayesian probability keyword selection, natural language parsing and
regular expression processing. This has clearly shown the possibilities of the improvement of
the current chatter bots. (Chakrabarti & Luger, 2015)

1
AAPP002-4-2-IAI ASSIGNMENT 3
Introduction 14

2.4 Proposed Solution


In order to combat all these problems and restrictions, the team has proposed to develop a
brand-new chatterbot program and named it “AIRA”. It would be designed as a stand-alone
application, with possible extended features provided by web connectivity. AIRA is a verbot
(Verbal-Robot) system that can interact with customer and generate automated responses to a
user’s input. She is able to answer some basic questions and provide customers with some latest
flight information. Each time a user enters an input, AIRA will select the closest
matching response by searching for the closest matching known statement that matches the
user’s input and then chooses a response from the selection of known responses to that
statement.

As the articles mentioned above, the relationship between customer services and
transportation are closely connected, so in order to improve the services among the customer,
lessen technical issues and ease of use is one of the important stage on it. In this era which most
information is overly generated in a great number of way, people will get confuse easily by the
various and different information and it will cause a lot of misunderstanding and
misconceptions. Therefore, AIRA will be playing an important role as an information gatherer,
gathers all the latest and correct information, provides the best services to customers.

Being one of the main income source of Malaysia, tourism plays a very important role.
Based on the graphs above shown, T&T industry has been greatly advanced for the past few
years, contributing to the growing pool of customers. To deal with thousands or million
customers every day, a perfect and complete customer services system is indispensable. Lack
of experience staffs is one of the major problem occurred in Air Asia Sdn. Bhd as human
resources are not enough to provide services to every customer. AIRA will be one of the
solution to these problems, with the support of artificial intelligent, she is able to perform some
basic services to customer and to solve the lack of human resources problem.

1
AAPP002-4-2-IAI ASSIGNMENT 4
Project Scope 15

3. Project Scope
3.1 Functional Requirements
The team has listed out some of the functional requirements that the system should met.
This describes and specifies the things that the system should be able to perform.

3.1.1 Recommend travel places to customer


AIRA provides a functionality whereby she will be recommending a place in Malaysia
to visit based on the user’s input regarding his/her likings, preferences and amount of travel
companions. For example, if the user loves a good city life, she will be more likely to
recommend places such as Johor, Kuala Lumpur and so forth. Once the user choose a location,
AIRA will then bring the user to a webpage whereby the user can book their respective flights
immediately.

3.1.2 Provide customer with the Travel Information of The


Travel Place
“When in Rome, do as Romans do”, the meaning of this proverb is when visiting a
foreign land, follow the rules and customs of those who live in it. Based on the user’s choice
of travel location, AIRA will recommend the user prestigious hotels, attractions and places to
get food. Besides that, AIRA will also notify the user their respective travel time and arrival
airport’s location.

3.1.3 Provide Customer with Airport Guide


With consideration to the fact that boarding/waiting time can be a dread for most users,
AIRA will recommend some good places based on the leisure category the user preferred.
AIRA will then prompt a website displaying information and floor plans for further exploration
to be done by the users.

1
AAPP002-4-2-IAI ASSIGNMENT 5
Project Scope 16

3.1.4 Print Travel Documentation


Once the user has selected their travel location and viewed the respective information
regarding the travel location, AIRA will then display a travel documentation/note/receipt based
on the user’s previous input. From there, the user can choose to either ignore or save the file
for further references.

3.1.5 Extra Features


Aimed to create a friendly environment during conversation with the user, AIRA has a few
notable extra features the users may play with:

1) Changing agent: the user may choose to change to another avatar if he/she does not like
AIRA’s look and have the changes reverted as well.
2) Minimizing screen: the user may choose to minimize the chatbot screen by typing in
respective queries.
3) Displaying website: the user may choose to open the webpage to book flight tickets,
view Air Asia Home Page or browser KLIA’s directory.
4) Displaying file: the user may choose to open or save a text file containing the
information regarding the recommendations made by AIRA.
5) Recording feedbacks: the user may activate and input feedback which will be stored
into the knowledge base and next time, when the user activates the same rule, the
respective output will be displayed.
6) Remembering names/travel destination: the user may ask AIRA his/her destination if
he/she forgets.
7) Remembering last input: the user may ask AIRA for the latest input created by the user.

1
AAPP002-4-2-IAI ASSIGNMENT 6
Project Scope 17

3.2 Non-Functional Requirements


The list below describes about the non-functional requirements of the system which
describes the quality attributes of the system.

3.2.1 Ease of Use


Ease of use can be known as user friendly and related to user interface. The meaning of
ease of use in computer term is a system that is easy to learn and easy to use. Some users might
not be familiar with computer technical operations, so in order to facilitate the user-friendliness
of the system, the user interface of the system should be designed intuitively, to be
understandable and manipulatable for non-IT users. Crucial yet simple elements such as the
incorporation of visual icons, understandable words and meanings, as well as good
arrangement of elements within the system can essentially create good workflow for the users.

3.2.2 performance
A reliable performance system greatly lessens the staff’s workload and allowing them
to put their focus on more important tasks. As mentioned above, lack of human resources has
become one of major problems in Air Asia Sdn. Bhd. Thus, a system with good performance
like fast response time and good utilization is needed in a huge company like Air Asia Sdn.Bhd.

1
AAPP002-4-2-IAI ASSIGNMENT 7
Project Scope 18

3.3 Project Objectives


The aim for this project is to create a system that provides a smooth and automated
workflow for the customers and to act as an assistant for providing a best service to customer
and creating interacting environment.

Objectives:

• to fulfil the requirements given to excel the project

• to provide a simple, easy to navigate GUI with high efficiency

• to provide a user-friendly system that requires less technical knowledge to operate

• to allow proper management of information transfer and flow in the system

1
AAPP002-4-2-IAI ASSIGNMENT 8
Knowledge Acquisition 19

4. Knowledge Acquisition
4.1 Definition of Expert System
Based on the research constructed by the team, it has come to the knowledge that expert
systems (ES) are one of the most prominent research domains of Artificial Intelligence. It is
first introduced by the researchers at Stanford University, Computer Science Department. The
common question is: What are Expert Systems? Expert Systems can be classified as computer
applications designed to diagnosed of solve complex problems that require extra-ordinary
human intelligence and expertise in a particular domain.

4.2 Characteristics of Expert Systems


4.2.1 High Performance
Unlike human beings, its productivity does not depends on a certain health, mood or
interest of its knowledge carrier. Since it is able to solve complex problems that may require
certain level of intelligence or expertise, it is considered to dramatically increases the
productivity of its users thus it is granted this particular characteristic.

4.2.2 Understandable
It is able to understand, diagnosed and solve the problem with the common language,
logic and knowledge of human. Human beings have the possibility of different logic and
sentence interpretation, languages barriers and knowledge and maturity level that might affect
the results of a complex problem’s solution. However, an Expert System would have the ability
to combat such flaws. Therefore it is classified as an understandable computer application.

1
AAPP002-4-2-IAI ASSIGNMENT 9
Knowledge Acquisition 20

4.2.3 Reliable
With consistencies, there comes reliabilities. Human beings cannot provide a consistent
output of information as it can be always affected by their decisions, biasness or their intentions.
However, an Expert System’s output would not be affected by the statements stated above and
it does not possess the humanly characteristic of judgement and thinking. Therefore, the
provided results will always be consistent, therefore created a reliable machine.

4.2.4 Highly Responsive


As mentioned above, an Expert System is unlikely to have the effect of its mood, health
and state of mind on its productivity level compared to a human being. It gives its responses as
it finished gathering and analysed. Therefore it can be given the characteristic of such.

4.3 Capabilities of Expert Systems


An expert system is able to interpret input, diagnose a problem and provide simple
advices to instruct and assist human in decision making upon the problem. It is able to derive
a solution, explain, demonstrate the predicted results and justify the conclusion. If the user does
not accept its solution, it can also suggest alternative options to a problem.

4.4 In-capabilities of Expert Systems


However an expert system is not able to substitute human decisions as it does not
possess human capabilities of refining their own knowledge and produce accurate output for
inadequate knowledge base.

4.5 Components of Expert Systems


There are three components of expert systems which are

1) User interface which contain all the facts and rules regarding the domain

2) Inference engine which carries out the reasoning based on the facts and rules in the
knowledge base and later on provides conclusion and explanations

2
AAPP002-4-2-IAI ASSIGNMENT 0
Knowledge Acquisition 21

3) Knowledge base which is what the user uses to communicate with the system.

4.6 Types / Categories of Expert Systems


As mentioned above, expert systems are considered the prized production of Artificial
Intelligence for its multiple uses and contribution to the society. In the following paragraphs,
the team have highlighted the generic areas of expert systems’ applications and its respective
explanations.

4.6.1 Classification Systems


In this particular expert system, it is able to identify an object based on stated
characteristics mentioned or inputted by users.

4.6.2 Diagnosis Systems


A diagnosis system is able to infer malfunction or disease from observable data, it does
so by comparing data from a continually observed system to prescribe behaviour. One of its
example is MYCIN, which is used to diagnose blood infection.

4.6.3 Interpretation Systems


This system is able to do analysis of data and with that output, determine their meaning.
For example, PROSPECTOR, which interprets geological data as potential evidence for
mineral deposits.

4.6.4 Process Control Systems


In this system, it is able to control a physical process based on monitoring. It governs
the behaviour of a system by anticipating problems, planning solutions and monitoring actions.
One of its most notable example is VENTILATOR MANAGEMENT ASSISTANT which
scrutinised the data from hospital breathing-support machines, and provided accounts of the
patients’ conditions.

2
AAPP002-4-2-IAI ASSIGNMENT 1
Knowledge Acquisition 22

4.6.5 Design Systems


Design systems are catered to configure a system according to specifications and
particular requirements. Its example is R1/XCON which configures VAX computer systems
on the basis of customers’ needs.

4.6.6 Scheduling and Planning Systems


This system develops or modifies the production of a sequence or plan of action to
achieve a certain goal. For example, MOLGEN, which plans chemical processes whose
purpose was to analyse and synthesise DNA.

4.6.7 Generation of Options Systems


This system can generate alternative solutions to a problem.

4.6.8 Monitoring Systems


The system continuous interprets of signals given, and a diagnosis or an alarm cane
given when it is required. For example, NAVEX, which monitors radar data and estimate the
velocity and position of the space shuttle.

4.6.9 Instruction Systems


Teaching a particular group of people certain knowledge, varying the teaching
according to assessments it makes of the student’s current knowledge. This type of expert
system is often called an intelligent tutoring system. For example, SOPHIE is able to instruct
its students on the repair of an electronic power-pack.

4.6.10 Prediction Systems


This type of system is able to forecast future events by using a model based on past
events. For example, PLANT predicts the damage to be expected when a corn crop was invaded
by black cutworm.

2
AAPP002-4-2-IAI ASSIGNMENT 2
Knowledge Acquisition 23

4.6.11 Debugging and Repair Systems


A debugging and repair expert system is able to generate and administer remedies for
system faults. For example, COOKER ADVISER provides repair advice with respect to canned
soup sterilising machines.

(Joshik, n.d.)

4.7 Categories of Expert System for Proposed


System
The proposed system can be categorised as a scheduling and planning system as it
develops a sequence or plan of action to achieve a certain goal. This is because AIRA
recommends travel destinations, KLIA’s directories, hotels, attractions and foods based on
users’ preferences and requirements. For example, at the beginning of the system AIRA will
ask the user whether have any ideas where to visit or not, if the user types “no”, a series of
questions will be asked by AIRA in order to recommend a suitable travel destination to the
user. Besides that, AIRA will guide the user if he/she has any doubts.

2
AAPP002-4-2-IAI ASSIGNMENT 3
Literature Review on Chatterbot 24

5. Literature Review on
Chatterbot
5.1 AIML Based Voice Enabled Artificial
Intelligent Chatterbot
The team review this piece of journal paper (Ahmed & Singh, 2015) and it has shown
the implementation of an artificial intelligent chatterbot with whom human can interact by
speaking to the chatterbot and it responses using its speech synthesizer. The paper has shown
application of chatterbot can be used in various fields such as education, healthcare, and route
assistance. It is proved to be a helpful contribution to any industry where one can seek
assistance without need of human.

The concept of a chatterbot is a sub field of Artificial Intelligence which is a branch of


computer science whose main focus is to develop and study intelligent programs and machine
which can be helpful to people in their daily work and make their life easy. Chatterbot was
introduced with “Alice” which is used to receive questions from user and give responses based
on pattern recognition.

The chatterbot mentioned in the journal is implemented by using XML (extensible


markup language). AIML is artificial intelligence markup language which is another type of
XML. AIML has been used in this model such that the parsing and declaration of different
kinds of sentences can be convenient.

For the purpose of natural language understanding, Microsoft speech recognition is


implemented to act as an assistance in speech recognition and synthesis for conversion of
speech and text. This function allows users whom are not capable of writing and reading to use
the system as well, thus making it more user friendly.

2
AAPP002-4-2-IAI ASSIGNMENT 4
Literature Review on Chatterbot 25

The result of reviewing this particular journal is that the team gathers an adequate
amount of information regarding the background of chatterbot, thus helping the team to get a
hold of what-can-be-done and what-can’t-be-done for AIRA in a more visual able manner.

5.2 Teen Chat: A Chatterbot System for Sensing


and releasing adolescenTs’ sTress
The team has reviewed this journal paper (Jing, et al., 2015) and the journal has
mentioned the problems that adolescents are suffering nowadays due to various adolescent
stress and the effect of it. Too much stress will bring a variety of physical and psychological
problems including anxiety, depression, and even suicide to the growing youths.

This paper has shown the team has implemented and built an adolescent-oriented
intelligent chatting system called TeenChat, which acts as a virtual friend to listen, understand,
comfort, encourage, and guide stressful adolescents to pour out their bad feelings, and thus
releasing the stress.

The chatterbot mentioned in the journal is implemented by using Q&A systems, it will
respond to users by matching questions and question-answer pairs in knowledge bases,
retrieving relevant documents and Web pages from local document collections and global
Internet or extracting answers from relevant documents or Web pages.

With respect to the information above, the result of reviewing this particular journal is
that the team gathers an adequate amount of ideas and concepts, considerations of inserting
certain related functions into AIRA are made to be planned.

2
AAPP002-4-2-IAI ASSIGNMENT 5
Knowledge representation 26

6. Knowledge representation

Semantic net 1: Recommend places

Semantic net 2: Activities in KLIA

2
AAPP002-4-2-IAI ASSIGNMENT 6
Implementation 27

7. Implementation
7.2 test plan
7.2.1 start-up

Test Plan 1: Start-Up

On start-up page, AIRA will greet the user by introducing herself and displaying the
current time, date and place which are real-time based and are created with the implementation
of special internal variables of Verbot. After a brief introduction about AIRA, users will be
asked for their name and AIRA will remember that from start to the end.

2
AAPP002-4-2-IAI ASSIGNMENT 7
Implementation 28

7.2.2 bored effect

Test Plan 2: Bored Effect

When the user does not type or key in any input within few minutes, AIRA will ask the
user to type or ask anything in order to continue run the chatterbot program.

2
AAPP002-4-2-IAI ASSIGNMENT 8
Implementation 29

7.2.3 blank

Test Plan 3: Blank

When the user types any null values, AIRA will response with the output as shown
above.

2
AAPP002-4-2-IAI ASSIGNMENT 9
Implementation 30

7.2.4 file display

Test Plan 4: Text file

If the user types “I need help”/ “HELP”, a text file containing some support and extra
features will be loaded. User can try to type some example features provided by the text file
to get some surprise and fun.

3
AAPP002-4-2-IAI ASSIGNMENT 0
Implementation 31

7.2.5 display website

Test Plan 5: Displaying a website

After asking a several questions to the user, AIRA will ask user whether want to book
the flight ticket or not, if the user types “yes”, Air Asia home page will be displayed and it
allows the user to book the flight ticket immediately.

3
AAPP002-4-2-IAI ASSIGNMENT 1
Implementation 32

7.2.6 make decision

Test Plan 6: Recommending places to user

If the user does not have any ideas where to visit or go, AIRA will suggest some
recommend places by getting some inputs from the user. In order to recommend places to the
user, several questions will be asked by AIRA like the amount of person traveling and
preferred tourist activities. After getting all the information, a place like Perak (shown in Test
Plan 6) will be provided by AIRA and she will describe the attractions about that state.

3
AAPP002-4-2-IAI ASSIGNMENT 2
Implementation 33

7.2.7 store Rules in Knowledge Base

Test Plan 7: Storing information

The user can store some information into system. For example, AIRA will ask the user
to provide some feedback so she can update it to her knowledgebase and can be retrieved in
the future.

3
AAPP002-4-2-IAI ASSIGNMENT 3
Implementation 34

7.2.8 read data from csv

Test Plan 8: Reading data from CSV file

If the user asks something regarding the activities in KLIA, AIRA will display some
information or map to guide the user. All data and information are retrieves from a CSV file.

3
AAPP002-4-2-IAI ASSIGNMENT 4
Implementation 35

7.2.9 Replacement Profile

Test Plan 9: State replacement

If the user types KL, AIRA will automatically replace it to “Kuala Lumpur”.

3
AAPP002-4-2-IAI ASSIGNMENT 5
Implementation 36

7.2.10 Change Agent

Test Plan 10: Changing agent

If the user does not like the current agent or avatar, he/she can require AIRA to
change it. In addition, the user can also request AIRA to revert it back.

3
AAPP002-4-2-IAI ASSIGNMENT 6
Implementation 37

7.2.11 Virtual Children

Test Plan 11: Virtual children

The virtual children will keep firing the respective rule until it activates or gets
particular user’s input. For example, the system will fire the rule “else” until the user enters a
“yes” or “no”.

3
AAPP002-4-2-IAI ASSIGNMENT 7
Implementation 38

7.2.12 Synonyms

Test Plan 12: Synonyms

The synonyms file allows the user types the similar word to get same output. For
example, if the user types “Yes, I do” or “yeah”, he/she also will get the same output.

3
AAPP002-4-2-IAI ASSIGNMENT 8
Implementation 39

7.2.13 Save File

Test Plan 13: Saving file

After getting some inputs from the user, AIRA will save the user’s input into a text file,
at the end of chatbot, AIRA will ask the user whether want to open the text file or not. It
contains the place recommended by AIRA and its attractions, food and hotels will be displayed
as well.

3
AAPP002-4-2-IAI ASSIGNMENT 9
Implementation 40

7.2.14 READ FILE

When the user enters “Who are you?”, AIRA will read out a text file containing respective
information.

4
AAPP002-4-2-IAI ASSIGNMENT 0
Implementation 41

7.2.15 Setting Variables

The system will stores user’s input regarding the choice from the CSV files using <mem.set
variablename value>.

4
AAPP002-4-2-IAI ASSIGNMENT 1
Implementation 42

7.2.16 Avatar’s Emotions

When the user types “smile”, the avatar will response with a smiling face. This applies to during
normal conversations as well, the avatar would display different emotions depending on the
situations. This is done by using MS Agent named <agent.play smile>.

4
AAPP002-4-2-IAI ASSIGNMENT 2
Implementation 43

7.2.17 Default Values for Empty Variable

When the user wants to look for their respective AirAsia’s account username but have not
entered beforehand, it would mention that the username is not recorded, however the real data
will be displayed when the user had previously entered their username.

4
AAPP002-4-2-IAI ASSIGNMENT 3
Implementation 44

7.2.18 Last Input

When the user asked “what did I say?”, AIRA will mention and repeat the previous input of
the user.

4
AAPP002-4-2-IAI ASSIGNMENT 4
Implementation 45

7.2.19 C# Code Implementation

Several C# code has been implemented to calculate queries and present data and information.

7.2.20 Send Input

In this particular feature, the output is formatted in a way whereby it delivers the input of
another rule, therefore activating certain rules in the knowledgebase.

4
AAPP002-4-2-IAI ASSIGNMENT 5
User acceptance testing 46

8. User acceptance testing


After the completion of the system, the team has prepared a questionnaire that
contains five questions to collect customer’s feedback and responses towards AIRA. The
system was given to 20 people to use and asked them to answer the questionnaire based
on their experience of the system.

4
AAPP002-4-2-IAI ASSIGNMENT 6
User acceptance testing 47

8.2 Question reasoning and evaluation

Reason:

To identify which age group most Air Asia frequent customers belong to so the
language and tone can be adjusted based on customer’s age categories.

Evaluation:

Based on the graph shown above, the majority age group of Air Asia customers are
between 21 and 40 years old. It becomes the majority by obtaining 45% out of the total pie
chart, granting a significant contrast compared to other age groups.

Discussion:

In the process of developing AIRA, the team had chosen a language or tone that is much
more trendy and casual to create a friendly environment for conversations to take place, which
is considered suitable for chatterbots catered for public. Therefore, the aim and requirement set
by the team has been met.

4
AAPP002-4-2-IAI ASSIGNMENT 7
User acceptance testing 48

Reason:

To identify the level of system acceptability and credibility of AIRA by the users and
public to justify whether the development of the system is useful and needed to the catered
users.

Evaluation:

Based on the results, it can be assumed that most of the respondents are willing to try
out the suggestions and places provided by AIRA as the results displayed “YES” has took up
70% of the pie chart. However, 30% of the crowd felt that further improvements can be made
to the system to extend its functionalities.

Discussion:

Since the responses regarding this question has a big contrast, the team has come to
the conclusion whereby the system was deemed useful and needed by the catered users. The
team would further extend AIRA’s functionalities and knowledgebases to provide better for
the catered users.

4
AAPP002-4-2-IAI ASSIGNMENT 8
User acceptance testing 49

Reason:

To determine the system’s knowledgebases’ completeness by levelling whether the


system was able to answer all questions regarding the flights information given by the catered
users.

Evaluation:

The graph shown that AIRA is able to answer most of the questions asked by
respondents. This is shown with option “YES” granting 65% of the entire pie chart. However,
35% of the crowd felt that AIRA failed to answer some of their questions.

Discussion:

As the Beta version of the complete system, AIRA was designed to answer frequently
asked and general questions. The team felt that in order to develop a successful expert
system, the system has to answer all potential questions, including questions that are
considered more niche to the public.

4
AAPP002-4-2-IAI ASSIGNMENT 9
User acceptance testing 50

Reason:

To allow the catered users of the system to rate AIRA from 1-5 to determine the user
friendliness/ease-of-use of the system.

Evaluation:

As the graph shown above, rating “three” and “four” dominated the graph with each
containing 35% of the entire graph. The option “one” received 0% rating while option “5”
received a 15% rating.

Discussion:
Although it shows that the system is not deemed perfect, it indicates that AIRA is
suitable for anyone and it does not require an IT user to operate it based on the user
acceptance results. However, the team conclude that there is space for improvements.

5
AAPP002-4-2-IAI ASSIGNMENT 0
User acceptance testing 51

Reason:

To find out customers’ responses and feedbacks toward the implementation of AIRA
on mobile applications.

Evaluation:

70% of the respondents agree that the system should be integrated and implemented
on mobile application rather than stand-alone application. In addition, only a small amount of
30% disagree.

Discussion:

With references to the graph above, most of the respondents agreed and this
contributes to the thoughts of the team of having the system as a mobile applications as it
further ease the use of the catered users as they do not have to the respective terminal or
system to operate.

5
AAPP002-4-2-IAI ASSIGNMENT 1
Conclusion 52

9. Conclusion
Although the team was under the circumstances of given constraints such as the
unavailability to expand and bring additional features into Verbot 5 as well as limited time, the
team had try their best to make uses of all obtainable resources to push AIRA into its extends.

In the coming future, the team will proceed to enhance AIRA in terms of allowing AIRA
to interact with the users using speech recognition, inserting adequate and relevant C# code to
further expand the functionalities of AIRA and allowing AIRA to make decisions based on
personality tests.

5
AAPP002-4-2-IAI ASSIGNMENT 2
References 53

10. References
admax, 2015. Why Tourism Matters (2016). [Online]
Available at: http://media.unwto.org/content/why-tourism-matters-2016
[Accessed 22 3 2017].

Ahmed, I. & Singh, S., 2015. AIML Based Voice Enabled Artificial Intelligent Chatterbot.
International Journal of u- and e- Service, Science and Technology, 8(2), p. 10.

Amiruddin, N. H., 2013. Price, Service Quality and Customer Loyalty: A Case of Air Asia.
South East Asia Journal of Contemporary Business, Economics and Law, 2(1), p. 7.

Anon., 2017. MONACO ATTENDED IN SPAIN THE LAUNCH OF THE INTERNATIONAL


YEAR OF SUSTAINABLE TOURISM FOR DEVELOPMENT. [Online]
Available at: http://www.montecarlotimes.com/2017/02/25/monaco-attended-spain-launch-
international-year-sustainable-tourism-development/
[Accessed 22 3 2017].

BA2.ITC.MBA.EMBA, P. M. M.-I., 2016. The importance of transportation to tourism


development. [Online]
Available at: https://www.linkedin.com/pulse/importance-transportation-tourism-
development-fda-ba-itc-mba-emba
[Accessed 24 2 2017].

Chakrabarti, C. & Luger, G. F., 2015. Artificial conversations for customer service chatter bots:
Architecture,. Expert Systems with Applications, 1(1), p. 3.

Jing, H. et al., 2015. Teen Chat: A Chatterbot System for sensing and Releasing Adolescents'
Stress. Health Information Science: 4th International Conference, HIS 2015, XIII(9085), pp.
133-145.

5
AAPP002-4-2-IAI ASSIGNMENT 3
References 54

Joshik, n.d. Expert Systems and Applied Artificial Intelligence. [Online]


Available at: http://www.umsl.edu/~joshik/msis480/chapt11.htm
[Accessed 20 2 2017].

Makar, M. G., 2015. Management System for a Conversational System. [Online]


Available at:
https://docs.google.com/viewer?url=patentimages.storage.googleapis.com/pdfs/US8949377.p
df
[Accessed 22 2 2017].

Perry, J., 2016. Chatbot Tourism. [Online]


Available at: https://www.jwtintelligence.com/2016/08/chatbot-tourism/
[Accessed 22 2 2017].

Routes Online, 2016. Air Asia X. [Online]


Available at: http://www.routesonline.com/airlines/8165/airasia-x/about/
[Accessed 20 2 2017].

Skift, D. . P., 2016. 5 Charts Showing the Rise in International Arrivals to Asia-Pacific
Destinations. [Online]
Available at: https://skift.com/2016/01/29/5-charts-showing-the-rise-in-international-arrivals-
to-asia-pacific-destinations/
[Accessed 22 3 2017].

Tan, K. G., Ye, Y. & Gopalan, S., 2016. Drivers of Growth in the Travel and Tourism Industry
In Malaysia: A Geweke Causality Analysis. economies, 1(1), p. 15.

Universiti Teknologi Malaysia, 2015. Improving Customer Service and People Skills in Air
Asia. Report of Case Study Boeing - Dreamliner, 1(1), p. 13.

5
AAPP002-4-2-IAI ASSIGNMENT 4
Appendices 55

11. Appendices
11.1 Source Code
KnowledgeBase Name: C:\Users\Jack\Documents\Verbots\AIRA.vkb
KnowledgeBase Version: 1.0
KnowledgeBase Build: 264

KnowledgeBase Info:
Author:
Author's Website:
Copyright:
License:
Creation Date: 2/13/2009 2:23:46 AM
Last Update Date: 4/10/2017 3:08:44 PM
Rating: Unknown
Rating Description:

Category: Other
Language: English
Comment: This is AIRA, a travel scheduling and planning chatterbot.

ResourceFiles:
Emotions.vrp
Default.vsn
location.csv
Shop.csv
mycodes.vcm
State Replacements.vrp
Default.vrp

Rules:
Rule Name: _startup
Input Text: _startup
Output Text: <?csharp Console.Write(mycodes.greeting());?>
Information is updated as of [_time] on [_date].
We are now in Kuala Lumpur International Airport.
I am AIRA. I am an artificial intelligence system and chatterbot program. I am here to assist you
through out the whole journey. What's yours?
Rule Name: name
Input Text: [name]
Input Text: my name is [name]

5
AAPP002-4-2-IAI ASSIGNMENT 5
Appendices 56

Input Text: it is [name]


Output Text: Hi [name], nice to meet you!
Do you have any idea where to visit?
Rule Name: else
Input Text: *
Output Text: I am sorry, I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Well, let me help you! How long are you going to stay?
Rule Name: Staying
Input Text: around [period]
Input Text: [period]
Output Text: Okay, noted. [period] it is. How many of you are travelling?
Rule Name: Travellers
Input Text: I am going with [amount] of people
Input Text: [amount]
Input Text: there are [amount] people
Output Text: <?csharp Console.Write(mycodes.amount_people(vars["amount"])); ?> Alright, do you
prefer the countryside, city or island?
Rule Name: Places
Input Text: [places]
Input Text: I prefer [places]
Input Text: the [places] suits me more
Output Text: I see! [places] is a wonderful place to visit! <?csharp
Console.Write(mycodes.travel_place(vars["places"])); ?> So, what type of tourist activities would like
to do? Exploring nature, touring historical landmarks, souvenirs shopping, museums/art galleries
hopping or just simply love to travel around?
Rule Name: Attractions
Input Text: [attractions]
Input Text: I love [attractions]
Output Text: <?csharp Console.Write(mycodes.attraction_type(vars["attractions"])); ?> so let me get
this right, You are travelling for [period], with [amount] of people/person, prefer [places] and love to
visit [attractions], am I right?
Rule Name: Yes
Input Text: (yes)
Output Text: <?csharp
Console.Write(mycodes.decision(vars["amount"],vars["places"],vars["attractions"]));?> Alright, so
where do you want to go?
Rule Name: State
Input Text: #state
Output Text: #state is a great place! You can try visiting #attraction1, it is magnificent! Now, do you
have any question regarding #state 's recommended attractions, places to get food or hotels?
<mem.set state #state>
Rule Name: No
Input Text: (no)

5
AAPP002-4-2-IAI ASSIGNMENT 6
Appendices 57

Output Text: Alright, well have you booked your flight ticket?
Rule Name: No
Input Text: (no)
Output Text: Alright, let's get you booked! <run
http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB>
Rule Name: Else
Input Text: *
Output Text: I'm sorry, I really need a "Yes" or "No"!
Rule Name: Yes
Input Text: state
Input Text: (yes)
Output Text: Alright, which one then? You may ask me about the [state]'s attractions, hotels or
famous places to get food.
Rule Name: Hotel
Input Text: Hotel
Input Text: hotel
Input Text: hotels
Input Text: How about the hotel?
Input Text: recommend me hotel
Output Text: Okay, #state 's famous hotels are #hotel1 and #hotel2. Anything else? <mem.set
rechotel #hotel1>
Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to <mem.get state> is #ttime and the airport you are
landing in is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will
show you around! <mem.set ttime #ttime> <mem.set airport #airport> <run
http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB>
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].

5
AAPP002-4-2-IAI ASSIGNMENT 7
Appendices 58

<printtext It's available at c:documents>


<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: Attraction
Input Text: Attractions
Input Text: attraction
Input Text: attractions
Input Text: How about the attractions?
Input Text: recommend me attractions
Output Text: Okay, #state 's famous attractions are #attraction1 and #attraction2. Anything else?
<mem.set recattraction #attraction1>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
|Cmd: <send end>
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to <mem.get state> is #ttime and the airport you are
landing in is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will
show you around! <mem.set ttime #ttime> <mem.set airport #airport>
<run
http://www.airasia.com/my/en/home.page?gclid=Cj0KEQjwt6fHBRDtm9O8xPPHq4gBEiQAdxotvH6L
zP0Rc1j3B-Vid4P12J9Ms1UVOjIHfQIrhbrz330aAgF98P8HAQ>
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?

5
AAPP002-4-2-IAI ASSIGNMENT 8
Appendices 59

Rule Name: else


Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: Food
Input Text: food
Input Text: Food
Input Text: How about the food?
Input Text: places to get food
Input Text: recommend me food
Output Text: Okay, #state 's famous food are #food1 and #food2. Anything else? <mem.set recfood
#food1>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to <mem.get state> is #ttime and the airport you are
landing in is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will
show you around! <mem.set ttime #ttime> <mem.set airport #airport> <run
http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB>
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)

5
AAPP002-4-2-IAI ASSIGNMENT 9
Appendices 60

Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
|Cmd: <send end>
Rule Name: Else
Input Text: *
Output Text: I am sorry, I really need a "Yes" or "No".
Rule Name: No
Input Text: (no)
Output Text: Alright, let's start over again then!
|Cmd: <send _startup>
Rule Name: yes
Input Text: (yes)
Output Text: Oh really, where to go? :-o
Rule Name: State
Input Text: #state
Output Text: #state is a great place! You can try visiting #attraction1, it is magnificent! Now, do you
have any question regarding #state 's recommended attractions, places to get food or hotels?
<mem.set state #state>
Rule Name: No
Input Text: (no)
Output Text: Alright, well have you booked your flight ticket?
Rule Name: No
Input Text: (no)
Output Text: Alright, let's get you booked!
Rule Name: Else
Input Text: *
Output Text: I'm sorry, I really need a "Yes" or "No"!
Rule Name: Yes
Input Text: state
Input Text: (yes)
Output Text: Alright, which one then? You may ask me about the #state 's attractions, hotels or
famous places to get food.
Rule Name: Hotel
Input Text: Hotel
Input Text: hotel
Input Text: hotels
Input Text: How about the hotel?

6
AAPP002-4-2-IAI ASSIGNMENT 0
Appendices 61

Input Text: recommend me hotel


Output Text: Okay, [state]'s famous hotels are #hotel1 and #hotel2. Anything else? <mem.set
rechotel #hotel1> <mem.set state #state>
Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to #state is #ttime and the airport you are landing in
is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will show you
around! <mem.set ttime #ttime> <mem.set airport #airport> <mem.get state><run
http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB>
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright.
|Cmd: <send end>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: Attraction
Input Text: Attractions
Input Text: attraction
Input Text: attractions
Input Text: How about the attractions?
Input Text: recommend me attractions

6
AAPP002-4-2-IAI ASSIGNMENT 1
Appendices 62

Output Text: Okay, [state]'s famous attractions are #attraction1 and #attraction2. Anything else?
<mem.set recattraction #attraction1>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to #state is #ttime and the airport you are landing in
is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will show you
around! <mem.set ttime #ttime> <mem.set airport #airport> <mem.get state><run
http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB>
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
|Cmd: <send end>
Rule Name: Food
Input Text: food
Input Text: Food
Input Text: How about the food?
Input Text: places to get food
Input Text: recommend me food

6
AAPP002-4-2-IAI ASSIGNMENT 2
Appendices 63

Output Text: Okay, [state]'s famous food are #food1 and #food2. Anything else? <mem.set recfood
#food1> <mem.set state #state>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to #state is #ttime and the airport you are landing in
is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will show you
around! <mem.set ttime #ttime> <mem.set airport #airport> <mem.get state><run
http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB>
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
|Cmd: <send end>

Rule Name: _blank


Input Text: _blank
Output Text: Did you mean to type nothing?

Rule Name: _bored


Input Text: _bored

6
AAPP002-4-2-IAI ASSIGNMENT 3
Appendices 64

Output Text: Hey, i'm bored! Talk to me.

Rule Name: Tour Types


Input Text: #Type
Output Text: You can try to go #Shop1, #Shop2 or #Shop3. I'm sure you will get what you want there.
Anything else?
Rule Name: Yes
Input Text: (yes)
Output Text: Alright. <send choice>
Rule Name: No
Input Text: (no)
Output Text: Alright, an airport directory is on its way!
If there is nothing else, I hope you enjoy your flight! <run
http://www.malaysiaairports.com.my/?m=shop_dine_relax>
Rule Name: Else
Input Text: *
Output Text: I'm sorry, but I really need a yes or no.

Rule Name: KLIA Tour


Input Text: KLIA Tour
Input Text: choice
Output Text: I can offer you recommendations regarding dine, relax and shop categories, choose
one!

Rule Name: End


Input Text: end
Output Text: Alright, have a great day. Goodbye. <exit>

Rule Name: Travel


Input Text: Travel
Output Text: Well, let me help you! How long are you going to stay?
Rule Name: Staying
Input Text: around [period]
Input Text: [period]
Output Text: Okay, noted. [period] it is. How many of you are travelling?
Rule Name: Travellers
Input Text: I am going with [amount] of people
Input Text: [amount]
Input Text: there are [amount] people
Output Text: <?csharp Console.Write(mycodes.amount_people(vars["amount"])); ?> Alright, do you
prefer the countryside, city or island?
Rule Name: Places
Input Text: [places]
Input Text: I prefer [places]
Input Text: the [places] suits me more

6
AAPP002-4-2-IAI ASSIGNMENT 4
Appendices 65

Output Text: I see! [places] is a wonderful place to visit! <?csharp


Console.Write(mycodes.travel_place(vars["places"])); ?> So, what type of tourist activities would like
to do? Exploring nature, touring historical landmarks, souvenirs shopping, museums/art galleries
hopping or just simply love to travel around?
Rule Name: Attractions
Input Text: [attractions]
Input Text: I love [attractions]
Output Text: <?csharp Console.Write(mycodes.attraction_type(vars["attractions"])); ?> so let me get
this right, You are travelling for [period], with [amount] of people/person, prefer [places] and love to
visit [attractions], am I right?
Rule Name: Yes
Input Text: (yes)
Output Text: <?csharp
Console.Write(mycodes.decision(vars["amount"],vars["places"],vars["attractions"]));?> Alright, so
where do you want to go?
Rule Name: State
Input Text: #state
Output Text: #state is a great place! You can try visiting #attraction1, it is magnificent! Now, do you
have any question regarding #state 's recommended attractions, places to get food or hotels?
<mem.set state #state>
Rule Name: No
Input Text: (no)
Output Text: Alright, well have you booked your flight ticket?
Rule Name: No
Input Text: (no)
Output Text: Alright, let's get you booked! <run
http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB>
Rule Name: Else
Input Text: *
Output Text: I'm sorry, I really need a "Yes" or "No"!
Rule Name: Yes
Input Text: state
Input Text: (yes)
Output Text: Alright, which one then? You may ask me about the #state 's attractions, hotels or
famous places to get food.
Rule Name: Hotel
Input Text: Hotel
Input Text: hotel
Input Text: hotels
Input Text: How about the hotel?
Input Text: recommend me hotel
Output Text: Okay, #state 's famous hotels are #hotel1 and #hotel2. Anything else? <mem.set
rechotel #hotel1>
Rule Name: No

6
AAPP002-4-2-IAI ASSIGNMENT 5
Appendices 66

Input Text: (no)


Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to <mem.get state> is #ttime and the airport you are
landing in is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will
show you around! <mem.set ttime #ttime> <mem.set airport #airport>
|Cmd: http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright.
|Cmd: <send end>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: Attraction
Input Text: Attractions
Input Text: attraction
Input Text: attractions
Input Text: How about the attractions?
Input Text: recommend me attractions
Output Text: Okay, #state 's famous attractions are #attraction1 and #attraction2. Anything else?
<mem.set recattraction #attraction1>
Rule Name: Yes
Input Text: (yes)

6
AAPP002-4-2-IAI ASSIGNMENT 6
Appendices 67

Output Text: <send state>


Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to <mem.get state> is #ttime and the airport you are
landing in is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will
show you around! <mem.set ttime #ttime> <mem.set airport #airport>
|Cmd: http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
|Cmd: <send end>
Rule Name: Food
Input Text: food
Input Text: Food
Input Text: How about the food?
Input Text: places to get food
Input Text: recommend me food
Output Text: Okay, #state 's famous food are #food1 and #food2. Anything else? <mem.set recfood
#food1>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>

6
AAPP002-4-2-IAI ASSIGNMENT 7
Appendices 68

Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to <mem.get state> is #ttime and the airport you are
landing in is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will
show you around! <mem.set ttime #ttime> <mem.set airport #airport> <run
http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB>
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
|Cmd: <send end>
Rule Name: Else
Input Text: *
Output Text: I am sorry, I really need a "Yes" or "No".
Rule Name: No
Input Text: (no)
Output Text: Alright, let's start over again then!
|Cmd: <send _startup>

Rule Name: State's Details


Input Text: state
Output Text: Alright, which one then? You may ask me about the #state 's attractions, hotels or
famous places to get food.

6
AAPP002-4-2-IAI ASSIGNMENT 8
Appendices 69

Rule Name: Hotel


Input Text: Hotel
Input Text: hotel
Input Text: hotels
Input Text: How about the hotel?
Input Text: recommend me hotel
Output Text: Okay, #state 's famous hotels are #hotel1 and #hotel2. Anything else? <mem.set
rechotel #hotel1>
Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to <mem.get state> is #ttime and the airport you are
landing in is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will
show you around! <mem.set ttime #ttime> <mem.set airport #airport> <mem.get state>
|Cmd: http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: Attraction
Input Text: Attractions

6
AAPP002-4-2-IAI ASSIGNMENT 9
Appendices 70

Input Text: attraction


Input Text: attractions
Input Text: How about the attractions?
Input Text: recommend me attractions
Output Text: Okay, #state 's famous attractions are #attraction1 and #attraction2. Anything else?
<mem.set recattraction #attraction1>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to <mem.get state> is #ttime and the airport you are
landing in is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will
show you around! <mem.set ttime #ttime> <mem.set airport #airport>
|Cmd: http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
|Cmd: <send end>
Rule Name: Food
Input Text: food
Input Text: Food

7
AAPP002-4-2-IAI ASSIGNMENT 0
Appendices 71

Input Text: How about the food?


Input Text: places to get food
Input Text: recommend me food
Output Text: Okay, #state 's famous food are #food1 and #food2. Anything else? <mem.set recfood
#food1>
Rule Name: Yes
Input Text: (yes)
Output Text: <send state>
Rule Name: No
Input Text: (no)
Output Text: Do you want to book your flight ticket now?
Rule Name: Yes
Input Text: (yes)
Output Text: Okay, by the way, your travel time to <mem.get state> is #ttime and the airport you are
landing in is #airport. If you wanted to walk around, let me guide you! Type "KLIA Tour" and I will
show you around! <mem.set ttime #ttime> <mem.set airport #airport> <mem.get state>
|Cmd: http://www.airasia.com/my/en/home.page?gclid=CjwKEAjwlKLHBRDztKr6wMnRthMSJAALcT-
sPjnVNgsUVRs78me3hmEb5pMOtGGTWkB_wMSVE6PRDRoCzxzw_wcB
Rule Name: No
Input Text: (no)
Output Text: Alright, hope you enjoy your flight. Here is a text file of your travel details! Your file
name is : <?csharp vars["myFile"] =
mycodes.save(vars["name"],vars["amount"],vars["state"],vars["recattraction"],vars["recfood"],vars["
rechotel"],vars["ttime"],vars["airport"]);?>[myFile].
Do you want to open the file?
Rule Name: else
Input Text: *
Output Text: I'm sorry but I really need a yes or no.
Rule Name: no
Input Text: (no)
Output Text: Okay. You can open it later. Just remember it is named [myFile].
<printtext It's available at c:documents>
<send exit>
Rule Name: open_file
Input Text: (yes)
Output Text: <send exit>
|Cmd: [myFile]
Rule Name: No
Input Text: (no)
Output Text: Alright. <send end>
|Cmd: <send end>

Rule Name: Last Input


Input Text: What did I say just now?
Input Text: Where are we again?

7
AAPP002-4-2-IAI ASSIGNMENT 1
Appendices 72

Input Text: Where am I?


Input Text: What did I say?
Input Text: What was my last input?
Output Text: You said [_lastinput].

Rule Name: Introduction


Input Text: Who are you?
Input Text: What is this for?
Input Text: Who am I (talking) to?
Output Text: I am going to read out a text file containing my details. <read introduction.txt>

Rule Name: Support File


Input Text: Help
Input Text: I need Help
Output Text: This is some of the other functions I have! <run C:.txt>

Rule Name: Minimize Screen


Input Text: The screen is too big
Input Text: Minimize screen
Output Text: Minimized Screen! <agent.load slyvie2004.acs>

Rule Name: Name Inquiry


Input Text: What is my name?
Input Text: Who am I?
Input Text: Do you who am I?
Output Text: I know you, [name].

Rule Name: Feedback


Input Text: Do you have any [feedback]?
Output Text: I have yet to have any feedback, but do inform me so I can update my knowledge base!
Tell me yours!
Rule Name: learn_response
Input Text: [learn_response]
Output Text: <learn
#input:[feedback]
#output:[learn_response]
>
I've just added a new rule to the LearnedKnowledge.vkb file.
Thanks for recording your
[feedback]
I'll remember:
[learn_response]

Rule Name: Change Agent


Input Text: I don't like you

7
AAPP002-4-2-IAI ASSIGNMENT 2
73

Input Text: can I change agent


Input Text: I want a new look!
Input Text: I want a new face
Input Text: change agent
Output Text: Alright, here comes Slyvie! <agent.load sylvie.ccs>

Rule Name: Anything Else (*)


Input Text: *
Output Text: I am sorry I don't understand what you are typing. Maybe I can help you get into shape!

Type in any of these to start a conversation!


KLIA Tour - Got some extra time? Let us help you find a place to spend it!
State's Details - Get some knowledge about the place you're going to!
Travel - Let us help you find a place to travel in Malaysia depending on your personality and likings!

"HELP" for a friendly support documentation!

Rule Name: Change Agent 2


Input Text: I want AIRA back
Input Text: Change back my agent
Input Text: AIRA agent
Output Text: Alright, here comes AIRA! <agent.load julia.ccs>

Rule Name: Smile


Input Text: Smile
Input Text: Smile for me!
Input Text: Please smile
Output Text: <agent.play smile>

Rule Name: My AirAsia Username


Input Text: What is my account's username?
Input Text: Air Asia's username
Output Text: [username:You have not told me yet, type "Set AirAsia account's username" to begin!]

Rule Name: Set AirAsia Username


Input Text: Set AirAsia's account username
Output Text: Okay tell me now.
Rule Name: set
Input Text: [username]
Output Text: [username] is recorded.

7
AAPP002-4-2-IAI ASSIGNMENT 3
74

11.3 work load matrix


No Assignment Component Wong Chun Wai Kho Zhi Yuen Ooi Shu He
(TP038678) (TP038123) (TP037399)
1 Problem Specification
Aim/abstract 30% 30% 40%
Problem Statement and 30% 50% 20%
need for the propose
expert system
2 Knowledge Acquisition
Types/Categories of 40% 20% 40%
expert System with
reference
Literature Review on 30% 30% 40%
Chatterbot
3. Knowledge
Representation
Semantic Nets 50% 30% 20%
4. Implementation
Test plan/Screenshots of 40% 30% 30%
special features
User Acceptance Testing 30% 30% 40%
in questionnaire
Results of user acceptance 30% 40% 30%
testing in graphs format
5. Conclusion 20% 50% 30%
Total marks and 100%
contribution
Signature

7
AAPP002-4-2-IAI ASSIGNMENT 4
75

11.3 approved proposal

Introduction to Artificial Intelligence


Project Proposal – Cover Page

Project Title: Intake: UCDF1505

Name Designation/Role Signature

G. Leader Wong Chun Wai Team Leader

Knowledge
Member Kho Zhi Yuen
Engineer

Member Ooi Shu He Programmer

7
AAPP002-4-2-IAI ASSIGNMENT 5
76

Project Environment & Scope


(Please provide a detailed breakdown of areas to be implemented)

1) This project is implemented for: (Provide brief explanation)

This project is specifically developed for Air Asia Sdn. Bhd., a renowned local
business in travel/airline industry. Founded in 20 December 1993, Air Asia Sdn.
Bhd. has been consistently named as the world’s best low cost carrier for 8
consecutive years in international travel and airline awards. Recently, Air Asia
Sdn. Bhd. has mentioned few problem areas that would like to receive
suggestions for improvements. Thus, the team has come up with possible
solutions to combat real world problems in order to train and further sharpen the
overall abilities of the team for upcoming challenges.

2) Is an expert system suitable for the problem area?

It is extremely suitable and very much needed. In artificial intelligence, an


expert system is a computer system that emulates the decision-making
process of a human expert. As expert systems are designed to solve
complex problems through reasoning of knowledge, multiple redundant
and tedious human activities related to the problem area mentioned by Air
Asia Sdn. Bhd. can be performed, substituted and assisted by expert
systems. For an example, by using emotion and text mining, expert systems
can gather data from users’ social medias to perform various algorithms
and calculations and generate critical information that could greatly aid the
business and decision-making process of the management.

3) Is there a need for such a system? Justify.

Yes, there is a need for such system as Air Asia Sdn. Bhd. has mentioned
it. Furthermore, as students who are studying Artificial Intelligence,
besides learning the necessary technologies and knowledges for the
particular module, we should also understand problems or needs faced by
real world companies in order to prepare ourselves for the industry. Air
Asia Sdn. Bhd. has mentioned a few of the things needed to be targeted,
such as:
1. Reduce waiting time at the airport, from check-in to boarding.

7
AAPP002-4-2-IAI ASSIGNMENT 6
77

2. Recommend AirAsia customer with places, hotels and foods based


on customer preferences and requirements
With these problems mentioned and clearly defined, the team is aiming to
create an Artificial Intelligence tool to help improve the company’s
performance, quality and credibility.

User Level
(Please indicate if user level is novice, intermediate or expert)

4) This is a system for novice (novice/intermediate/expert) level users.

This is because the system is designed the customers or staffs of Air Asia Sdn.
Bhd. Usually, customers and staffs do not possess computing knowledge, they
are not computer literate. Hence, they might not be able to operate the system to
its fullest functionalities if the system is not specifically crafted in a user-friendly
manner. The developers of the system will emphasize their work on the general
users user-friendliness of the system, strive to allow users to monitor and control
the system with ease.

Agreement/Approval

________________________
(Signature of Approval - Lecturer)
7
AAPP002-4-2-IAI ASSIGNMENT 7
78

(Date)

7
AAPP002-4-2-IAI ASSIGNMENT 8

You might also like