DEVELOPMENT OF PRE-PROGRAMMED OPERATING COURSEBOT (PO‘C’DON) FOR

advertisement
DEVELOPMENT OF PRE-PROGRAMMED OPERATING COURSEBOT
(PO‘C’DON)
FOR
UCTI
(UNIVERSITY COLLEGE OF TECHNOLOGY & INNOVATION)
VINOTHINI KASINATHAN
A project report submitted in partial fulfilment of the
requirements for the award of the degree of
Master of Computer Science (Real Time Software Engineering)
Centre for Advanced Software Engineering
Faculty of Computer Science and Information System
Universiti Teknologi Malaysia
APRIL 2008
3
This thesis is dedicated to my parents, my dad for always the pillar of necessities.
My mom for her driving force and support all this years.
4
ACKNOWLEDGEMENTS
I would like to express gratitude to Mr Othman, my dearest supervisor for all
his help and guidance for the entire master course. Not forgetting Mr Azri with his
enthusiasm. Without both of these dedicated lecturers, I would not able to graduate
this course. Not forgetting the other lecturers of CASE and UTM Skudai for their
encouragement and stimulation.
I thank all the staffs of APIIT@UCTI for their assistance during these 5
months without them the system could not be completed. Especially my new friends
and my part in crime at APIIT, Ms Bridget.
Not forgetting my brilliant course mates of Part Time 07, who have helped
me cope this course from day one. Particularly to Mrs Azila, Mr Sadesh, Mrs
Nafizah and Mr Duan.
Finally I would like to thank the either department of CASE, it was a pleasant
and knowledgeable journey for the last 2 years.
5
ABSTRACT
Expert systems are problem-solving programs that mimic the way human
expert’s reason. Expert systems have been developed by larger firms and businesses
for a variety of applications. While only a few systems can be purchased, packages
are available to enable those interested in developing their own. Expert systems are
computer programs that use captured human knowledge to solve problems that
ordinarily require human experts. They can be used by no experts as well as experts
to improve problem solving capability and to provide assistance in areas such as
auditing, tax, financial planning, as well as professional education. A chatterbot is a
program, designed for the computer that is supposed to come off like it is a real
person in a conversation. The idea of these programs is to give the user an
assumption that the chatterbox is a real person, not a computer program. Current
method used by UCTI is the manual way of employing marketing staff. There is no
current system for this task. A new software called PO‘C’DON will be developed.
PO‘C’DON is an expert system that is equipped with a knowledge base which
specialises in the domain problem of courses provided by UCTI. The objective of
PO‘C’DON is to solve UCTI’s problems in course information distribution. This
report documents the development of the PO‘C’DON (Pre-programmed Operating
Coursebot Developed Only for Novices) expert system and is based on the Expert
System Life Cycle (ESLC) methodology. Outcome of this report is to produce all the
required software engineering technical documentation with the prototype of the
system which has been implemented in UCTI.
6
ABSTRAK
Sistem pintar merupakan program penyelesai masalah yang dibangunkan
mengikut ciri-ciri kepintaran manusia.
Ia dibangunkan untuk pelbagai aplikasi.
Memandangkan kurangnya sistem yang terdapat di pasaran, pakej diperkenalkan
untuk mereka yang berminat membangunkan aplikasi mereka sendiri. Sistem pintar
dibangunkan untuk menyelesaikan masalah yang selalunya memerlukan kepakaran
manusia.
Ianya boleh digunakan oleh semua pengguna
tanpa mengira tahap
kepakaran mereka bagi mempertingkatkan kebolehan penyelesaian masalah dan
membantu dalam bidang audit, cukai, perancang kewangan dan juga pendidikan
professional.
Chatterbot merupakan program yang dibina untuk komputer yang
meyerupai perbualan manusia.
Matlamat program-program ini adalah supaya
pengguna menganggap bahawa chatterbot ialah manusia sebenar, dan bukannya
program komputer. Laporan ini merupakan keseluruhan pembangunan sistem pakar
PO’C’DON (Pre-programmed Operating Coursebot Developed Only for Novices)
yang dibina mengikut kaedah Expert System Life Cycle (ESLC). Pada ketika ini
UCTI menggunakan kaedah yang lama iaitu mengambil orang untuk membuat
pemasaran kursus-kursus yang ditawarkan. Perisian baru yang memenuhi semua
informasi tentang UCTI akan di bina dan dinamakan PO‘C’DON. Hasil laporan ini
akan meliputi semua “software engineering technical documentation” dan system
perisian PO‘C’DON yang telah di implementasi di UCTI.
7
TABLE OF CONTENTS
CHAPTER
TITLE
DECLARATION
TITLE PAGE
DEDICATION
ACKNOWLEDGEMENTS
ABSTRACT
ABSTRAK
TABLE OF CONTENTS
LIST OF TABLES
LIST OF FIGURES
PAGE
i
ii
iii
iv
v
vi
vii
viii
ix
1
PROJECT OVERVIEW
1.1 Introduction
1.1.1 Company Background
1.1.2 Company Origins
1.1.3 Company Mission
1.1.4 Vision and Aims
1.2 Technology and Innovation
1.2.1 Introduction to Artificial Intelligence
1.2.2 Areas of Artificial
1.2.3 Definition of Chatterbot
1.3 Project Background
1.4 Project Scope
1.5 Project Benefits
1.6 Project Deliverables
1
1
1
4
6
7
7
7
8
10
12
13
13
14
2
LITEREATURE REVIEW
2.1 Background Study on Expert System
2.1.1 History of Expert System
2.1.2 Introduction to Expert System
2.1.3 Current Application of Expert Systems
2.2 Background Study on Chatterbots
2.3 Chatterbot Product Specification
2.4 Chatterbot Technical Requirement
14
15
15
15
20
22
29
39
8
2.4.1 Client/End User Requirements
2.5 Expert System Development Life-Cycle Methodology
2.6 Comparison Study
2.7 PO‘C’DON Development Process
2.8 Introduction to PO‘C’DON Requirements
2.9 Inspection of the Current System/Method Used
2.10 Advantages of the Current Method Used
2.11 Disadvantages of the Current Method Used
2.12 Proposed New System PO‘C’DON
2.13 PO‘C’DON’s Knowledge Base
2.14 PO‘C’DON’s Inference Engine
2.15 Resource Requirement of PO‘C’DON
2.16 Domain Experts
2.17 Users
2.18 Project Team
2.19 Platform
2.20 Advantages of Using PO‘C’DON
2.21 Disadvantages of PO‘C’DON
39
40
42
45
47
47
48
49
50
51
52
52
52
54
54
54
54
55
3
METHODOLOGY
3.1 Feasibility Studies
3.1.1 UCTI Perspective
3.1.2 Author Perspective
3.2 Feasibility Studies of PO‘C’DON
3.2.1 Operational Feasibility
3.2.2 PIECES Framework Summary
3.2.3 Technical Feasibility
3.2.4 Software
3.2.5 Schedule Feasibility
3.2.6 Gantt Chart
3.2.7 Economic Feasibility
3.3 Knowledge Acquisition (System Analysis)
3.3.1Information Gathering Techniques
3.4 Evaluation on Information Gathering Techniques
3.5 Comparison and Analysis of Techniques
3.6 Conclusion and selected methods to be used
57
57
57
58
58
58
62
64
65
66
67
67
69
69
71
75
76
4
FINDINGS
4.1 Conceptual Design
4.1.1 Design Flowchart & Use Case Diagrams
4.1.2 Main System Flowchart & Use Case Diagram
4.1.3 Course Information Use Case Diagram
4.1.4 Entry Requirement Use Case Diagram
4.1.5 Fees Module Use Case Diagram
4.1.6 Career Option Use Case Diagram
79
79
81
82
84
86
87
88
9
4.1.7 CSCI PO‘C’DON Package Diagram
4.1.8 PO‘C’DON main CSC package
4.1.9 User Roles and User Requirements
4.1.10 Roles of External Parties
4.1.11 Expectations
4.1.12 Roles of Internal Parties
4.1.13 Expectations
4.1.14 Guide for Users to effectively use PO‘C’DON
4.1.15 User Task Model
4.1.16 User Manual
4.2 Detailed Design
4.2.1 Basic Interface Design of PO‘C’DON
4.2.2 An 800 by 600 pixel sized window pane
4.2.3 Graphics
4.2.4 User Guidance
4.2.5 Larger output screen
4.2.6 Clear type fonts
4.2.7 Audio output
4.2.8 Advanced Features of PO‘C’DON Interface
4.2.9 Menu Driven Interface
4.2.10 Output Text Super Template
4.2.11 Reduction of Repetitive Task
4.2.12 Maximum of User Freedom
4.2.13 Error Management
4.2.14 Links to External Sources
4.3 System Flow Chart
4.4 Software Development of PO‘C’DON
4.4.1 Knowledge base and source code
4.5 Testing and Evaluation
4.5.1 Internal Testing
4.5.2 External Testing
4.6 Maintenance and training of PO‘C’DON
4.7 Limitations of PO‘C’DON
4.7.1 The Present Limitation of PO‘C’DON
4.8 Constraints faced by the author
4.8.1 Lack of Knowledge in C# programming
4.8.2 Limitation of the Expert System Shell used
4.8.3 External Factors
4.9 Future Enhancements
4.9.1 Migration into different Expert System Shell
4.9.2 Other algorithms to improve performance
4.9.3 Improvement to PO‘C’DON knowledgebase
4.9.4 Cross-Platform Support
4.10 Maintenance
4.10.1 Solved Bug List via Pilot Testing
90
90
91
92
92
93
93
93
94
95
95
96
97
97
98
98
99
99
100
100
101
103
104
106
108
109
110
110
110
111
111
113
113
113
114
114
114
121
122
122
123
123
123
124
124
10
5
DISCUSSION AND CONCLUSION
5.1 Achievement/ Lesson Learnt
5.2 Constraints
5.3 Aspirations
5.3.1 What is AI
5.4 Building an AI Chatbot using Verbot
5.4.1 Introduction
5.4.2 Background of Verbot
5.4.3 How does Verbot work
5.4.4 Testing the application
5.4.5 Using the code
5.4.6 Creating knowledge
5.5 Discussion
5.6 Constraints of Chatterbots
5.7 Conclusion
REFERENCES
127
127
128
128
129
132
132
132
133
134
134
135
137
138
139
143
11
LIST OF TABLES
TABLE NO
TITLE
PAGE
Table 2.1 Distinguish expert systems from conventional systems.
19
Table 2.2 Software Name or Expert System Tools/Shell in the market
25
Table 2.3 Main features of a chatterbot
38
Table 2.4 Client/User Requirement and Features
40
Table 2.5 Conventional and Expert System Life Cycle Stages
41
Table 3.1 The Summarised Results of the PIECES Framework Analysis
62
Table 3.2 Information Gathering Techniques Comparison Table
75
Table 4.1 The Super Template Used for Output Texts Generated by PO‘C’DON 102
Table 4.2 Select Colours
117
Table 4.3 Resolved Bug List
124
12
LIST OF FIGURES
FIGURE NO
TITLE
PAGE
Figure 1.1SAPURA’S Holdings Hierarchy Chart
Figure 1.2 Hierarch chart the Education & Training Group
Figure 1.3 Show the Areas of Artificial Intelligence
Figure 2.1 Artificial Intelligence Applications
Figure 2.3 Stages-based approach to system development
Figure 2.4 Expert System Development Process
Figure 2.5 Expert System Life Cycle
Figure 2.6 Shows the PO‘C’DON Expert System development process.
Figure 2.7 Mr Koh Shen Weng - Student Services Executive
Figure 2.8 Mr. Alvin Chow - Student Services Executive
Figure 4.1 System Flowchart for PO ‘C’ DON
Figure 4.4 Flowchart for Course Information Module
Figure 4.5 Uses case diagram for Course Information Module
Figure 4.6 Flowchart for Entry Requirement Module
Figure 4.7 Use case diagram for Entry Requirement Module
Figure 4.8 Flowchart for Fees Structure Module
Figure 4.9 Use Case Diagram for Fees Structure Module
Figure 4.10 Flowchart for Career Options Module
Figure 4.11 Use Case for Career Option Module
Figure 4.12 CSCI PO‘C’DON Package Diagram
Figure 4.13 User Interface and Environment of PO‘C’DON main CSC package
Figure 4.14 The Graphical User Interface of PO‘C’DON
Figure 4.15 The “Type Here” Instruction
Figure 4.16 An instance of user input and Coursebot output
Figure 4.17 An Instance of the Menu Driven Interface Used by PO‘C’DON
Figure 4.18 Multi Linking allows user to move from one topic to another
Figure 4.19 PO ‘C’DON accepts conversational inputs
Figure 4.20 Error Handler Wildcard Output to solve redundant input
Figure 4.21 Bottom menu provides external links to outside sources
Figure 4.22 Outside Links provided by PO‘C’DON
Figure 4.23 Virtual Child on Rule 4
Figure 4.24 Virtual Child on Rule 4 on Script Tester
Figure 4.25 adding a *wildcard with CSV contents as child
Figure 4.26 Virtual Child Reconfirmation
Figure 4.27 Virtual Child is Gone
2
3
8
16
42
43
45
46
53
53
82
84
85
86
86
87
88
88
89
90
90
96
98
99
101
104
105
107
108
108
118
118
119
120
120
CHAPTER 1
PROJECT OVERVIEW
This chapter is concerned with similar concerns to the abstract and provides
an overview of the project with more details. It sets the scene by describing the
company profile is explained in order to understand the purpose of the project builds.
The methods used are explained and an overview is given on the fundamentals
knowledge on Artificial Intelligence upon which the project is based.
1.1 Introduction
This sub chapter describes the introduction about the owners of UCTI and
how did it form.
1.1.1
Company Background (Group Overview)
For over three decades, the Sapura Group has taken the lead in the
acquisition and development of strategic technologies. Established in 1975, the
Sapura Group is a 100% Malaysian-owned technology-based organisation. From a
humble beginning as a telecommunications infrastructure & service provider, the
2
Group has expanded and diversified its businesses across four major business areas,
namely: Secured Communications, Oil & Gas, Industrial & Automotive,
Knowledge & Education and Premium Automotive Retail. Sapura Group listed
entities are SapuraCrest Petroleum Bhd, Sapura Industrial Berhad, Sapura
Resources Berhad.
SAPURA HOLDING
SAPURACREST
PETROLEUM BHD
SAPURA RESOURCE
BHD
SAPURA INDUSTRY
BHD
AUTO DEALERSHIP
PROPERTY
INVESTMENT
EDUCATION &
TRAINING
Figure 1.1 SAPURA’S Holdings Hierarchy Chart
Over the years, Sapura's business is backed by a fundamental belief in
integrating People with Technology. Sapura's persistent efforts in capabilitybuilding of home-grown talents and aggressive investment in R&D have positioned
the Group to be globally competitive, producing highly-specialised and multiskilled pool of technology experts. The Sapura Group today has capabilities and
competencies that cover the full lifecycle of systems and products.
Sapura’s globalisations effort has taken them to countries such as Australia,
Singapore, Brunei, Thailand, Sri Lanka, Philippines, Pakistan and China. Sapura is a
strong technology advocate. This is evident in their efforts to continuously invest and
nurture human capital and intellectual growth. With Technology as a key
determinant in the development process to move the economy up the value chain,
3
Sapura through our subsidiary Sapura Resources Berhad [SAPRES] has evolved to
become a strategic investor in human capital development through providing
education and training services.
Human capital and innovation capabilities are critical resources that fuel the
development of economies. The Asia Pacific University College of Technology and
Innovation (UCTI) is a level institution for technology education in Malaysia, while
the Asia Pacific Institute of Information Technology (APIIT) offers innovative
programmes in a number of IT specialisations to address the national need for
technology professionals at all levels, and to equip them with skills required for the
fast growing multi billion ringgit IT industry in Malaysia. Both Institutions are
recognised for the quality of education provided, and have developed a reputation for
producing
graduates
who
are
highly
sought
after
by
employers.
EDUCATION
&
TRAINING GROUP
SMART SCHOOL
HIGHER EDUCATION
APIIT
(Asia Pacific Institute of
Information Technology)
UCTI
(Asia Pacific University
College of Technology and
Innovation)
Figure 1.2 Hierarch chart for the Education & Training Group
Together, both UCTI and APIIT aim to ensure a continuous supply of skilled
Technology professionals in Malaysia and to raise the level of Research,
Development and Commercialisation in the country. APIIT is also a major regional
4
player with activities and overseas centres in Karachi [Pakistan], Colombo [Sri
Lanka], and Delhi [India].
In addition, UCTI and APIIT in Malaysia provide high-quality education to
an
international community of students from more than 50 countries, and therefore play
integral roles in supporting the Nation’s mission to establish Malaysia as an
international hub of education excellence.
Recognising the need to contribute to the development of young Malaysians
at an even younger age, the Group has also set up the APIIT Smart School with the
objective of providing innovative, multidisciplinary and holistic education at Primary
and Secondary levels. Developed with a clear vision of producing students who are
thinking, learning and caring, the Smart School is benchmarked against international
standards, and the use of technology to support teaching/learning activities is indeed
an integral feature.
1.1.2
Company Origins
Initiated by the Malaysian Government to address the critical shortage of IT
professionals at all levels in Malaysia and the region, APIIT was tasked with
producing IT professionals equipped with necessary skills required by the fastgrowing multibillion-ringgit IT industry in Malaysia. APIIT works toward the vision
and strategy of the Malaysian Government for 2020 by filling the national need for
technology professionals at all levels, particularly those with specialist skills.
Since 1994, the Institute has now grown from being a successful local player
in Malaysia to establishing itself as a major regional player, with activities and
overseas centres in Karachi and Lahore, Pakistan; Colombo, Sri Lanka; Panipat,
India; and Perth, Australia.
5
Supported by the Ministry of Science, Technology and Environment,
approved by the Ministry of Education and funded by the Sapura Group of
companies, APIIT has built solid reputation for excellence in IT education.
UCTI, the Asia Pacific University College of Technology and Innovation, is a
premier private university in Malaysia. Since its inception in 1993 as the Asia Pacific
Institute of Information Technology (APIIT), the University has produced more than
14,000 graduates.
Together
with
APIIT,
UCTI
offers
internationally
benchmarked
undergraduate and postgraduate programmes in various areas of Computing,
Information Technology, Media, Technopreneurship, and Business & Computer
Games which focus on developing students into well-rounded professionals with the
right blend of knowledge, skills and attitudes to succeed in their careers. Having
established operations in Malaysia, India, Sri Lanka and Pakistan, employability is a
major focus at UCTI and APIIT at all its sites.
Asia Pacific University College of Technology & Innovation (UCTI) has just
been awarded the “Education Excellence Award 2007 (University Category)” by
NAPEI (National Association of Private Education Institutions). The prestigious
award was presented by Y.B. Ong Tee Keat, Deputy Minister of Higher Education,
Malaysia on 29th November 2007 at the NAPEI Awards Ceremony. Award for
Education Excellence 2007 is recognition of UCTI standing as among the top private
university in Malaysia.
APIIT and UCTI together offer more than 50 programmes at Foundation
degree, Diploma, Bachelor's degree and Master's degree. All programmes share
common themes of creativity and innovation, and the notion of technology as a key
enabler. UCTI offers a wide range of specialist degree programmes, all of which are
quality assured and awarded in association with Staffordshire University. This
arrangement means that students will get degrees which are awarded in association
with Staffordshire University.
6
UCTI and APIIT will continue to expand the portfolio of Technology
programmes offered to include areas such as Engineering, Media, Entertainment
Technology, Bioinformatics and Biotechnology, Tourism Technology, Film
Technology and Sports Technology.
1.1.3
Company Mission
Our mission is to ensure a continuous supply of skilled IT professionals to
meet the shortage in Malaysia and the region, to raise the level of IT development in
the country, and to meet the IT goals of the Multimedia Super Corridor as well as the
region.
1.1.4
Vision and Aims
Their vision and aims are as below
•
To tighten the relationship between industry and university to fulfil the needs
of the industry
•
To practice education democracy through giving opportunities to public to
increase professionalism
•
To prepare curricula and standards for educational and training programs
•
To develop creative and innovation student processing a high technical skills
and sense
7
1.2 Technology and Innovation
This sub chapter describe how the idea of the chatterbot concept begin.
1.2.1
Introduction to Artificial Intelligence
“Works by Herb Simon (1995) have shown that Artificial Intelligent can have
two purposes. One is to use the power of computers to augment human thinking, just
as we use motors to augment human or horse power. Robotics and expert systems are
major branches of that. The other is to use a computer's artificial intelligence to
understand how humans think. In a humanoid way. If you test your programs not
merely by what they can accomplish, but how they accomplish it, they you're really
doing cognitive science; you're using AI to understand the human mind.”
Artificial Intelligence (AI) can be generally defined as intelligence exhibit by
anything created by humans or other sentient beings. Our perceptions of AI tend to
be clouded by science fiction movies in which machines act like humans. However,
there is some value in the fact that we instantly compare the intelligence of a
machine to the intelligence of a human because this is precisely the approach which
is taken in the scientific community.
Here are a few definitions of Artificial Intelligence
•
The study of how to build and/or program computers to enable them to do the
sorts of things that minds can do
•
Making computers do thing that would require intelligence if done by people
•
The development of computers whose observable performance has features
which in humans we would attribute to mental processes
•
The science of intelligence in general
•
The intellectual core of cognitive sciences
8
1.2.2
Areas of Artificial Intelligence
Expert System
Vision System
Robotics
Natural Language
Processing
Simulation
Figure 1.3 Show the Areas of Artificial Intelligence
i
Expert System is the most mature and widely used commercial application
coming out of artificial intelligence. In an expert system, the computer applies
heuristics and rules in a knowledge-specific domain to render advice or make
recommendations, much like a human expert would. Expert systems have
managed to achieve fairly high levels of performance in task areas which require
a good deal of specialized knowledge and training. Often they perform tasks
which are physically difficult, tedious s, or expensive to have a human perform.
ii Natural language processing (NLP) is a subfield of artificial intelligence and
computational linguistics. It studies the problems of automated generation and
understanding of natural human languages. Natural-language-generation systems
convert information from computer databases into normal-sounding human
language. Natural-language-understanding systems convert samples of human
language into more formal representations that are easier for computer programs
to manipulate.
9
iii Simulation
of
human
memory
capabilities.
Interactive
simulation
environments constitute one of today’s promising emerging technologies, with
applications in areas such as education, manufacturing, entertainment and
training. These environments are also rich domains for building and investigating
intelligent automated agents, with requirements for the integration of a variety of
agent capabilities, but without the costs and demands of low-level perceptual
processing or robotic control.
iv Robotics deals with the practical application of many artificial intelligence
techniques to solving real-world problems. This combines problems of sensing
and modelling the world, planning and performing tasks, and interacting with
human beings and other robots. Plus we get to play with some pretty neat toys,
and call it research.
v
Vision Systems is to make useful decisions about real physical objects and
scenes based on sensed images. It uses statistical methods to extract data using
models based on geometry, physics and learning theory. Vision applications
range from mobile robotics, industrial inspection and satellite image
understanding, to human computer interaction, image retrieval from digital
libraries, medical image analysis, proteomic image analysis and realistic
rendering of synthetic scenes in computer graphics
1.2.3
Definition of Chatterbot
A chatterbot is defined as a bot program which attempts to maintain a
conversation with a person. Among its many implementations, the majority
successful chatterbots must be able to process natural language, and craft meaningful
and coherent responses based on user input. Many chatterbots also attempt to
implement artificial intelligence by including methods that learn form conversations
and progressively expand its knowledge with each session
10
The famous Alan Turning proposed in 1950 a test to determine program’s
capability to act human-like. His test required that a human judge engage in a
conversation with both the program being testes and another human. If the judge,
deliberately trying to determine the true nature of both chats, believes that the
program would pass the Turing test. However, no programs have passes the Turing
test yet.
1.2.3.1 Early of Chatterbot
Early chatterbots faced the limitations of computer systems at the time and
could not command large processing power and storage space. However, in the
1960s and early 1970s, a few chatterbots emerged that solidly establishes a foothold
for future chatterbots: Eliza, Parry and SHRDLU.
i
Eliza.
In 1966, the Eliza bot was written by Joseph Weizenbaum. This program, which
parodied a therapist, was highly successful in producing human-like responses.
Despite its fairly simple pattern recognition and its limits word associations and
responses, Eliza was very convincing because it used the concept of
psychotherapy, as Weizenbaum explained to sidestep the problem of giving the
program a database of real-world knowledge.
Therefore in operation, Eliza
would take user input, maths certain keywords, and construct a response that
used parts of the input through pattern matching. Most of the time, the response
is in the form of a question. By doing this, Eliza was able to have users continue
talking by answering questions while not knowing a single thing about the
conversation. In a sense, the user is talking to him or her.
ii Parry.
Parry was written in 1972 by psychiatrist Kenneth Colby, then at Stanford
University. Parry’s personality as a paranoid schizophrenic was a complete
opposite of Eliza’s personality was a psychotherapist. Parry was a step up from
Eliza because it tried to add more personality through beliefs and emotional
11
classification (simply accept, reject, neural). Instead of just matching trigger
words with responses, Parry has a conversation strategy built in for better
dialoguing
iii SHRDLU.
Written by Terry Winograd at the M.I.T. Artificial Intelligence Laboratory in the
late 1960s, SHRDLU focused on understanding natural language and artificial
intelligence rather than respond in a humanlike fashion. SHRDLU operated in a
virtual world containing objects. By knowing very little at first, SHRDLU could
learn about the objects in the world and retain that knowledge (i.e. one can stack
rectangular blocks on top of each other but not pyramids). Since SHRDLU has a
memory bank, it could process input in context, deduce what a user meant by
past inputs and contain a record of the current state of the world. SHRDLU was a
good demonstration of artificial intelligence in programs
1.2.3.2 Modern Chatterbots
Modern chatterbots have evolved from their classic predecessors by utilizing
better natural language processing and by implementing learning algorithms that
adapt to use input. While there are many chatterbots today, two stand out for their
new approaches in generating human response: Alice and Jabberwacky.
i
Alice.
Alice, a chatterbot created in the late 1990s by Richard Wallace and many
contributors, uses heuristics in pattern matching to process input and respond
accordingly. It was successful in winning the Loebner prize for 2000 and 2001. A
unique feature of this bot is that it uses an XML DTD called AIML (Artificial
Intelligence Markup Language). Rules for pattern matching can be specified in
AIML making it possible to quickly change the behaviour of the chatterbot.
ii
Jabberwacky. Most chatterbots function by processing input and then applying
a set of rules to craft an output that is hopefully as human-like as possible. They
do not actually attempt to understand the conversation. However, a very recent
12
chatterbot, Jabberwacky, seeks to understand the conversation for more relevant
responses by contextual pattern matching techniques. Jabberwacky incorporates
artificial intelligence b learning and storing all user input. In future responses,
Jabberwacky uses the learnt material. “Works by Jabberwacky (2006) have
shown if you speak in a foreign language it will learn it, and respond
appropriately if it has enough to go on. It can be taught slang English, word
games, jokes and any other form of identifiable language trait.” Today,
Jabberwacky represent some of the latest technologies that chatterbots are
implementing.
1.3 Project Background
This report documents the development of the Pre-programmed Operating
Coursebot Developed Only for Novices (PO‘C’DON) using the Expert System
Development Life Cycle.
PO‘C’DON is an expert system that is equipped with a knowledge base
which specialises in the domain problem of courses provided by UCTI. The objective
of PO‘C’DON is to solve UCTI’s problems in course information distribution.
1.4 Project Scope
In this scenario, the systems of running things at UCTI are looked into. After
some consideration, the author to focus on the courses provided by UCTI and some
crucial components related to them. The following is the domain problem
specification drawn up by the author
13
The distribution of Course Information, Course Fee Structures, Academic
Entry Requirements to study at UCTI and the Career/job Opportunities available to
students upon graduation from UCTI
This statement becomes the main direction/heading for the author, that is, to
develop a system that can address the above mentioned domain satisfactorily.
1.5 Project Benefits
The descriptions of the main deliverables are:
•
Cost effective software
•
100% delivery on client requirement
•
An user friendly interface
•
Revenues increased
•
62% of visitors converted to registrations
•
An increase in usability
1.6 Project Deliverables
The deliverables for the activities during the event of the Industrial Attachment is
• SRS documentation
•
SDD documentation
•
STR documentation
•
STD documentation
•
Software Prototype
14
CHAPTER 2
LITERATURE REVIEW
This chapter is concerned with presenting few survey of background relevant
to the area of investigation, leading to an evaluation of pre-existing implementation
on design and of author reusable components. In this chapter a number of literature
studies have been prepared by the author. The first literature study is on the Expert
System Software vs. Conventional Software. The second study is about the types of
Expert System Shell and types of chatterbot in the market. Continued with the
PO‘C’DON system. They are also a necessary basis for inference on the expert
system tools and etc.
15
2.1 Background Study on Expert System
This section covers the basic concepts of expert system and characteristics.
Then distinguishing expert systems from conventional software.
2.1.1
History of Expert System
Medical software tools began to emerge during the 1980's, some became
known as expert systems. In contrast to conventional software which process data,
expert systems process knowledge. For this reason, expert systems are also called
Knowledge Based Systems (KBS). The most well known medical example is
MYCIN. This expert system was developed at Stanford University in 1976 to aid
physicians in diagnosing and treating patients with infectious blood diseases caused
by bacteria in the blood and meningitis. These diseases can be fatal if not recognised
and treated quickly. Many other medical expert systems have followed the success
of MYCIN
2.1.2
Introduction to Expert System
An expert system is a program, which attempts to mimic human expertise by
applying inference methods to a specific body of knowledge called the domain.
Knowledge is different from data or information in that data is passive. Knowledge
on the other hand is active in that it can be used to infer new information from what
is already known about a problem. As will be seen later, this domain knowledge is
frequently represented as rules.
Artificial Intelligence Expert systems owe their origin to the field of Artificial
Intelligence (AI). “Work by Dr Marvin Minsky (1950), one of the pioneers of AI,
16
defined AI as The field of study which is attempting to build systems which if
attempted by people would be considered intelligent.” AI is a broad field, with some
of the application areas shown in the diagram below
Figure 2.1 Artificial Intelligence Applications
i.
Heuristics
Expert systems are considered as a branch of AI because the method of
problem solving is predominantly based on heuristics. This contrasts very much with
the conventional programming paradigm that uses algorithms to solve problems. An
algorithm is a step by step procedure that solves a category of problems. For
example, algorithms may be used to process a company payroll. A typical algorithm
would use a step by step procedure on the input data such as employee hours worked,
overtime rate and so on, to generate output in the form of pay slips for employees.
The steps in this procedure involve direct manipulation of numeric data to produce
information.
Heuristics, on the other hand, solve a problem by trial and error guided by
some reference to a predetermined goal. There are many examples that we may
encounter in our daily lives. For example, a motorist searching a multi storey car
park for a parking space would not use an algorithm to find a space. There is no
guarantee that whatever procedure is adopted a parking space will be found. The
17
motorist may for instance, drive to the top-level first rather than searching each level
in turn. Whilst this strategy may sound attractive there is no guarantee it will work:
there may be no more spaces on the top-level available. The motorist then may have
to try a lower level.
ii.
Representing Knowledge Using Rules
Expert systems differ from conventional programming in that they process
knowledge rather than data or information. This knowledge is frequently represented
in a computer in the form of rules; they store the rules of thumb that guide the human
expert. For example, a typical rule used by the MYCIN expert system is
IF the stain of the organism is gram negative
AND the morphology of the organism is rod
AND the aerobicity of the organism is anaerobic
THEN there is strongly suggestive evidence (0.8) that the class of the
organism is Enterobacter iaceae.
iii.
The Inference Engine
The real forte of expert systems is their capacity to make inferences or the
drawing of conclusions from premises. This is precisely what makes an expert
system intelligent. Even when it is possible to represent domain knowledge as rules,
a human expert would not only have to know how to apply these rules but in which
order they should be applied to solve a particular problem. Similarly, a computer
expert system would need to decide which, and in what order, the rules should be
selected for evaluation. To do this, an expert system uses an inference engine. This
is a program that interprets the rules in the knowledge base in order to draw
conclusions. Two alternative strategies are available: backward chaining and
forward chaining. A particular inference engine may adopt either or both.
18
A backward chaining inference engine is 'goal-orientated' in the sense that it
tries to prove a goal or rule conclusion by confirming the truth of all of its premises.
Thus, to prove the conclusion of the rule above, MYCIN works backward by
attempting to prove each premise., These premises may themselves be conclusions of
other rules, in which case MYCIN would then try to confirm the premises of
whatever rule it is the conclusion of, or the values of these premises may be data
supplied by the user from clinical observations. In this way, a chain of inference
steps will lead to a value for the goal being found. By contrast, a forward chaining
inference engine starts from the other end. It examines the current state of the
knowledge base and, finds those rules whose premises can be satisfied from known
given data, and adds the conclusions of those rules to the knowledge base. It then reexamines the complete knowledge base and repeats the process, which can now
progress further since new information has been added. Both the backward and
forward inference process will consist of a chain of steps that can be traced by the
expert system. This enables expert systems to explain their reasoning processes
iv.
Explanation facilities
The ability to explain their reasoning processes are another key feature of
expert systems. Such explanation facilities provide the user with a means of
understanding the system behavior. This is important because a consultation with a
human expert will often require some explanation. Many people would not always
accept the answers of an expert without some form of justification. For example, a
medical expert providing a diagnosis and treatment of a patient would be expected to
explain the reasoning behind his/her conclusions: the uncertain nature of this type of
decision may demand a detailed explanation so that the patient concerned is aware of
any risks, alternative treatments, and so on. The table below outlines the differences
between the development of Conventional System and Expert System
19
Table 2.1 The characteristics that distinguish expert systems from conventional
systems.
Characteristic
Underlying
Paradigm
Method of
Operation
Processing Unit
Control
Mechanism
Fundamental
components
Explanation
capability
Expert System
Heuristic. Usually
implemented using state
space search. Solution steps
implicit. Solution is found,
not always guaranteed
correct. Usually declarative
problem solving paradigm
Reasons with symbols. For
example, infers conclusions
from know premises in order
to diagnose a patient illness.
Inference engine is used to
decide the order in which
premises are evaluated
Knowledge. This may be
represented in the form of
rules. Knowledge is active
with knowledge to infer new
knowledge from given data
Inference engine usually
separate from domain
knowledge
Expert system = Inference +
Knowledge
Yes. An explicit trace of the
chain of steps underlying the
reasoning processors. Would
typically enable a user to
find out how the system
arrived at its conclusions or
perhaps why the system is
asking for an answer to a
particular question
Conventional System
Algorithmic. Solution steps
explicitly written by
programmer. Correct answers
given. Procedural problem
solving paradigm.
Predominantly manipulates
numeric data. For example,
sorting, calculating and
information such as pay slips for
a company payroll system
Data. Typically represented in
the form of Arrays or Records in
language like C or COBOL. Data
is passive in that it does not give
rise to further generations of data
Date or information can control
usually integrated together
Conventional System =
Algorithm + Data
No
20
2.1.3
Current application of expert systems
“Works by DurkinWaterman (1986) have shown a survey conducted that the
majority of applications of expert systems that were built in the 1980's were in the
field of medicine., Durkin suggested that expert systems in medicine still account for
about 12% of those under current developments”. However, other useful problem
areas are emerging which lend themselves well to expert systems. These include:
help desk systems, knowledge publishing, configuration and intelligent front-ends
i.
Knowledge Publishing
Knowledge Publishing is a growing application area of expert systems. The
idea of knowledge publishing is encapsulated in the concept of a book. A book is a
passive object in that it awaits us to read the part of interest. Knowledge Publishing
delivers knowledge to the user actively, by providing what the user specifically
requests. There are examples in common use that are disguised; that is, working
within other systems. An example is GRAM@TIK the very popular grammar
checker sold with WordPerfect software.
ii.
Help desk applications
Help desk systems are likely to be a key growth area in the future. Most help
desk programs are expert system based and growth in this market is predicted at 20%
- 30% per annum. Large savings in time and costs can be achieved because people
increasingly turn to the telephone when they have a problem rather than read
manuals. The Compaq computer company now includes an online printer help desk
21
program with all printers sold. The Quicksource program includes 5000 cases of
printer problems to help diagnose the printer fault and it is estimated that 20% fewer
customers are telephoning the company for support. This has resulted in substantial
savings for the company as well as a better service for its customers.
iii.
Configuration
The configuration system XCON is one of the most well known expert
systems in use today. It was built by DEC Corporation for turning customer orders
into feasible VAX computer configurations. The system was completed in the early
1980's. It has been an enormously successful application and was followed by other
large computer companies. Another new wave of configuration applications is
beginning to emerge suited to mass customisation applications.
iv.
Intelligent front-end processors
An Intelligent Front-End (IFE) is software which sits between a user and a
conventional software program. An IFE uses KBS or AI techniques to make more
effective use of software packages. Classical examples are found in database
software. An IFE would provide an easier to use interface with the database for
example, by permitting more flexible user dialogue. The IFE would do this by
gaining an understanding of the user's requirements, and then using this specification
to generate instructions for running the software package. The dialogue with the user
will often be interactive. The IFE may also use a variety of techniques, particularly
when carrying out the dialogue with the user to produce the specification of the user's
problem. This idea has already been exploited in some commercial databases, such
as Superbase
22
2.2 Background Study on Chatterbots
This sub chapter is a study on the Chatterbot Concept.
i.
Introduction to Chatterbots History
According to the volume of e-mail messages and forum postings originating
from people trying to build programs that understand plain English - or another
natural language - public fascination with chatterbots and similar products continues
to grow. The program that started it all is Eliza (now more than thirty years old),
Weizenbaum's famous 240-line program simulating an interview with a Rogerian
psychotherapist. Seems that now is the right time for Natural Language
Understanding (NLU) technology to go mainstream, along with related fields like
Speech Recognition that already showed a significant commercial success.
Any usual, everyday conversation between two people is really a very
complex process that cannot be simulated by simple, reactive, Eliza-like dialogs.
Programmers are often asking for a source code for a simple chatterbot in an effort to
create intelligent computer interfaces. “Works by Simon Laven Chatterbot Central,
have shown one of the best resources related to this topic features. ALICE, for
example, is an advanced, distributed solution, featuring a collection of autonomous
clients and servers communicating via TCP/IP. It relies on the Artificial Intelligence
Markup Language (AIML), along with the Artificial Intelligence Transfer Protocol
(AITP). ALICE represents a cutting edge in chatterbot development, but still requires
significant background knowledge”.
ii.
Chatterbots of the future
It may come as surprise, but such tools are quite often these days. The author
has already described a few of them, so please refer to previous chapter for more
info. The main trend is to offer more-or-less user-friendly development environments
23
and easily understood scripting languages, including customizable animated
characters or avatars that make chatterbot more emotionally intelligent and
believable. It is still unclear if this is the right approach: advanced animation
techniques still consume a great portion of your bandwidth, so the author has limited
to static pictures, making simple movements on (rare) occasions.
iii.
Types of Expert System Shell
Developers are striving to make a step forward from the usual pattern
matching and word spotting algorithms using case-based reasonless, knowledge
bases and advanced semantic techniques. For example, Verbot rule system (from
Virtual Personalities, Inc.) is very simple to work with - it looks for a pattern and
when he finds it he gives the response you've programmed in the scripting .net files.
Once a rule fires, it will remain dormant for a random period of time. During that
time, if the same pattern is detected again he will not respond with the same rule. If
the author programmed a different rule with the same patterns, she will fire that one
next. When author’s Verbot runs out of rules, she refers to her inner mind rules, over
which author have no control and author don't really know what she is going to do.
Pattern activation level controls the order in which she fires rules with the same
pattern.
Other expert system shell approach NLU problems differently: Klone Server
from Big Science can solve in-depth problems in narrow domains by using an
integral proprietary decision support system based on a case based reasoned,
claiming it has significant advantages over traditional rule-based systems. Bots made
by Artificial Life, Inc. automate business-related Internet functions such as Web
navigation, direct marketing and user profiling, information gathering, messaging,
knowledge management, sales response and call centre automation. Kiwilogic offers
their Lingubot Creator 1.0 for visual development of efficient natural language
systems (English and German). Extensive general knowledge bases, design wizards
and automatic abstraction functions for recognition of different wordings of the same
meaning are available as a part of the basic package. Developing a knowledge base
should become a fully automated task, without messing around with scripting
24
languages and other low-level jobs. As this is one of the freshest products of this
type.
iv.
Expert System Shell developers
Neuromedia was one of the first companies making commercial tools for
development of NLU applications. Their flagship product, Neuro Server, includes
script authoring and example-based learning system. NeuroScript is the scripting
language that configures the vRep (virtual representative). It is generated in two
ways: by explicit script program or by the Topic Wizard. NeuroScript is easy to use,
even for non-programmers. A great deal of knowledge, such as the generic forms of
common questions and commands, is provided in script libraries that are included in
every vRep.
Another class of products modelled after Microsoft Agent is closely related to
classic chatterbots. They usually have only rudimentary pattern matching and other
NLU-related capabilities, but are usually tightly integrated to your operating system
and speech-enabled, making them more suitable for virtual assistants, secretaries and
other kind of helper applications. Ultra Hal from Zabaware, Inc. is expandable,
customizable, and upgradable via plug-in and VBScript/JavaScript programs. Similar
products are offered by 3D Planet (includes 3D Create, full featured 3D character
creator), Mindmaker (includes Natural Language Processing Software Development
Kits) and Extempo.
Other, more powerful related products include ThoughtTreasure, Inquizit and
even the most famous among them, Cyc. Breakthroughs in processing power are
enabling such computationally intensive technologies to come closer to real-life
applications, enabling users to easily command and control electronic devices, and,
ultimately, to communicate seamlessly with people who speak other languages.
The table bellows show the Software Name or Expert System Tools/Shell that
are in the market and a short description about the shells
25
Table 2.2 Software Name or Expert System Tools/Shell in the market
No
Categories
Software
Name
ActiveWorlds
1
Agent
Software
2
Agent
Software
Agent
Construction
Tools.
3
Agent
Software
AgentLand
4
Agent
Software
AgentLink
5
Agent
Software
Bots and
Intelligent
Agents
Software
Description
More than 300
worlds inhabited
with lifelike
animated figures
(avatars),
including Active
Worlds SDK for
developers.
This page
provides an
excellent survey
of agent
construction tools,
categorized as
either
commercially
available products
or academic and
research projects
To put it simply,
this is one of the
best agent-related
sites you'll find on
the Web
This excellent site
provides a number
of useful WWW
resources,
including people
finder, database of
agent-related
events and
activities, news
magazine, etc.
a CompInfo
Directory
Links to basic
information
related to
intelligent agents
Website
http://www.activeworlds.com
http://www.agentbuilder.com/
AgentTools/index.html
http://www.agentland.com/
http://www.agentlink.org/
http://www.compinfocenter.com/tpagnt-t.htm
26
6
Agent
Software
CIA and
AgentX
7
Agent
Software
DigOut4U
8
Agent
Software
Intelligent
Software
Agents
9
Agent
Software
Internet
Softbot
Research
10
Agent
Software
Mata Hari.
11
Agent
Software
SmartSpider
12
Expert System
Jess
Tools for
developing
intelligent
applications,
including CIA
server and
ActiveAgentX.
DigOut4U
automatically
downloads
documents whose
contents match a
natural language
query made by the
user
Projects address
the infrastructure
issues of multiagent systems,
including agent
communication.
From IA group at
CMU.
The homepage for
research in
intelligent
software agents
for the Internet at
the University of
Washington's
Department of
Computer
Science.
Desktop search
software that
combines the best
features of
metasearchers,
offline browsers,
filters, indexers
and document
managers
Family of Internet
Spiders, including
Keyword and Full
TextSearch
Engine, URL
checker,
FetchRover...
Jess is a clone of
http://www.haley.com/index.
html
http://www.arisem.com/fr/
http://www.cs.cmu.edu/~softa
gents/
http://www.cs.washington.ed
u/research/projects/WebWare
1/www/softbots/softbots.html
http://thewebtools.com/
http://www.smart-spider.com/
http://herzberg.ca.sandia.gov/j
27
Shell
13
Expert System
Shell
Scientio
14
Expert System
Shell
ROG-OMATIC: A
Belligerent
Expert System
15
Intelligent
Interfaces
3D Assistant
16
Intelligent
Interfaces
CodeBaby
17
Intelligent
Interfaces
Hal
18
Intelligent
Interfaces
Verbot
the core of the
CLIPS expert
system shell,
written entirely in
Java
The meta-data
mining company",
offering XML
Miner data mining
package and XML
Rule fuzzy expert
system package.
A belligerent
expert system that
plays the
computer game
Rogue
Your intelligent
Web agent floats
directly over the
Windows desktop,
and communicates
using realistic
human speech and
motion.
CodeBaby is
developing an
interface that is
designed from the
ground up... one
that users will
easily learn once
and continue to reuse regardless of
the type of media
they are
experiencing
Highly interactive
environment that
uses embedded
computation to
observe and
participate in the
normal, everyday
events occurring
in the world
around it
A Verbot is a
Verbal Software
Robot, a virtual
ess/
http://www.scientio.com/prod
ucts/xmlminer/Pages/default.a
spx
http://www.cs.princeton.edu/
~appel/papers/rogomatic.html
http://www.3dplanet.com/pro
ducts/index.html
http://www.codebaby.com/
http://aire.csail.mit.edu/
http://www.verbots.com/
28
19
Intelligent
Interfaces
Virtual PAT
20
Intelligent
Interfaces
Virtual
Secretary
Project
character in a
computerized
world with an
artificial
personality
This system
creates a
personalized
aerobics session
for the user and
displays the
resulting
interactive virtual
instruction on a
TV screen
Constructing a
secure
environment for
software agents
for secretarial
tasks in a global
network. From
University of
Tromso
http://www.media.mit.edu/
http://www.vise.cs.uit.no/vise
/
29
2.3 Chatterbot Product Specification
i.
Chatterbots and Virtual Assistants
A chatterbot is computer programme that is able to conduct a conversation
with a visitor to a web site. It uses typed text to take questions from the user, and
either displays text, or uses spoken audio, or both, to reply to the user. By using
images the sense of talking to a real person can be enhanced.
A chatterbot, virtual assistant or virtual agent can fulfilled a number of roles
on UCTI website. It can just provide a welcome and some initial information, it can
provide users with the information they need without having to hunt through the site,
or it can even be used to collect information and carry out surveys. The chatterbot
can be developed to personify brand.
Chatterbots have been proven to increase web site performance. For instance
companies using chatterbots have reported:
•
Revenues increased by 10% a month
•
Sales increased by 35%
•
Click through rates increased by 250%
•
62% of visitors converted to registrants
•
Site traffic lifted and sustained by 200%
•
An increase in trust
•
An increase in usability
30
ii.
Chatterbots Architecture
All chatterbots are built on the four element architecture shown above. The elements
are:
•
A human interface that covers how the chatterbot looks, and how it
communicates with users.
•
Cases which contain the chatterbot's knowledge, which may be client and
product specific knowledge, general knowledge, or any other type of
knowledge.
•
Modules which provide the chatterbot with additional functionality, from
reading mail or news feeds, to interfacing with own systems.
•
A management interface which allows author to know what the chatterbot is
doing, who it is talking to, what it can say, and what people are saying to it.
iii.
The Human Interface
Four options are available in terms of how the chatterbot visually presents itself to
users. These are:
•
Text Only - The chatterbot is presented as a simple 2 line text interface - one
for you users to type in to, the other for the chatterbots reply.
•
Text and Static Image - As above, but a static image is also used to give the
chatterbot some visual identity. This could be a cartoon figure, a photo of a
real customer service agent, or a more abstract object.
•
Text and Dynamic Image - As above, but the image is designed to change
based on what the user is typing in. For instance a cartoon character could
have happy, sad, angry and thoughtful expressions.
•
Text and Avatar - An Avatar is a fully dynamic representation of a character.
31
•
The face will move the whole time it is on the screen, and the lips will sync
with any reply it makes. A wide variety of avatars can be designed
iv.
Speech
In addition to these visual options, there is also the option to have the VA
actually speak its replies, rather than just presenting them as text on the screen. A
range of male and female voices are available. For optimum performance users
should be accessing the site over broadband connections. Due to its unique design
the software does work through most corporate firewalls without difficulty.
v.
The Cases
Cases is the term for how the Chatterbot replies to user input. Chatterbots can be
loaded with a variety of cases, either singly or in combination.
•
Smalltalk - Every chatterbot comes preloaded with our Smalltalk set of cases
which allows the chatterbot to handle the small talk typically found in any
conversation (e.g. how are you, talk to me, what do you like to talk about
etc). Smalltalk can be closed - where the Chattertbot won't be detracted from
the main topic, or open where it will try and talk about whatever the user
says.
•
Personality - to create a set of cases which reflect the personality of the
chatterbot. These will include details such as the chatterbots name, age,
location, job, likes, dislikes etc. This has a standard preformed which allows
developers to rapidly build this set of cases.
•
Client Knowledge - load the chatterbot with the information it needs to know
to represent about company and products. Again a standard template makes
loading this information a relatively simple exercise. If developers have
information available in a simply formatted electronic format (e.g. a database
or spreadsheet) then loading can be even simpler.
32
•
General Knowledge - chatterbot has a reasonable level of general knowledge
then developers have a set of predefined cases which can achieve this. The
base set of a thousand cases lets the chatterbot know key common facts about
films, books, music, geography, politics and history. Fuller databases can be
created covering bespoke areas
vi.
The Modules
Developer use modules to provide the chatterbot with functionality over and
above that provided by the cases. The modules are what make our chatterbots
different from most other commercially available. Modules available or under
development include:
•
Survey - The Chatterbot can ask visitors a number of questions and collect
the answers. These can then be imported into any standard analysis tool.
•
Quiz – The Chatterbot can ask the visitor a series of questions, scoring them
as they go. At the end they can be given their score and an appropriate
message including access to prize codes or numbers.
•
RSS - The Chatterbot can read a Rich Site Summary (RSS) XML feed to
gather data from other web sites and provide that to the user through the
conversation.
•
FAQ Harvester - The Chatterbot can read the FAQ page(s) on a web site and
use that to help answer questions.
•
Page Grab - The Chatterbot can grab a page from the web, and extract a
section to be read out – meaning you don't have to duplicate material already
published.
•
Application Interface – The Chatterbot can interface via web services to
developer own applications, e.g. Using SOAP, RPC or a similar web service.
•
Mail Reader - The Chatterbot can read emails from a nominated mail
account.
33
•
Mail/SMS Alert - The Chatterbot can provide email or SMS alerts on certain
conditions (e.g. session or keyword triggers), or to provide confirmation or
follow up information to visitors.
•
Games - Lets the Chatterbot play simple games with visitors.
•
Jokes - The chatterbot can be loaded with a Chatterbo treaty of jokes to suit
audience.
•
User Memory - Lets the Chatterbot remember visitors from one session to
the next.
vii.
•
Time, News and Weather - Lets the Chatterbot remember provide real time
news, time and weather information.
•
Message Taking - Lets the Chatterbot store messages from users for later
retry Chatterbot by other users.
•
Fortune Teller - Lets the Chatterbot read a visitor's fortune.
•
Survey - The Chatterbot can ask the visitors a number of questions and
collect the answers. These can then be imported into any standard analysis
tool
•
Gossip - Lets the Chatterbot remember what visitor say, and repeat it to other
visitors.
•
Wikipedia - Lets the Chatterbot access the Wikipedia in order to look up
facts that the Chatterbot doesn't know.
Management System
Two management options are available. Either developer can control the
chatterbot for developers, loading new information at customer request, or developer
can provide a simple web interface to allow customer to update the cases
dynamically. With both options developer provide customer with a web management
panel which lets customer see how often people are talking to the bot, and what they
are saying.
34
viii.
Pre-Configured Chatterbot
The author has done a literature study on the following pre-built chatterbots
which just need populating with developer data. In each case developers can change
the visual look of the chatterbot to suit developer’s needs - it is only the functionality
which is pre-built.
a. FAQBot
The FAQBot is an entry level product. A dynamic avatar provides spoken
answers to a list of pre-prepared questions, with an engaging visual interface to
accompany the voice. A talking-FAQ if user like. To keep things simple the
FAQBot is not able to engage user or visitors in a two-way conversation.
Features include:
•
Choice of faces, by gender, age and race
•
Choice of voices, by gender and nationality
•
One statement for each FAQ question.
•
Text to speech based voice for easy editing. Recorded speech a coated option.
•
Hosted by developers, so no code to load on user server.
•
HTML code provided to embed on your site.
•
Self managed, so developers can change responses and add questions
whenever they need to.
•
Usage logs available through the web
35
b. PageBot
The Pagebot provides users with a simple audio guide to each web page. The
bot is not able to chat to users and only has one response for each page. Even
this basic level of functionality though adds significantly to the user experience.
Features include:
•
Choice of faces, by gender, age and race
•
Choice of voices, by gender and nationality
•
Page specific statements
•
Hosted by developer, so no code to load on user server.
•
HTML code provided to embed on user site
•
Self managed, so developers can change responses and add pages whenever
they need to.
•
Usage logs available through the web
•
V1.0 3 Chatterbot Product Specification
c. TextBot
The Textbot provides developer with a simple 2 line text interface, one for
what the user types, and one for the chatterbot's reply. A static image gives the
chatterbot a sense of character. This could be a realistic image, a cartoon
character, an animal or even an abstract image.
36
Features include:
•
Knowledge universe limited to developer specific products
•
Basic "catch-all" responses
•
20 personality statements as standard
•
100 product statements as standard
•
Hosted by developer, so no code to load on user server.
•
HTML code provided to embed on user site
•
Four knowledge updates per year
•
Session logs available through the web
d. SpeechBot
The Speaking Animated Speechbot provides developer with a dynamic
graphical face, and a chatterbot which actually speaks.
Features include:
•
Knowledge universe limited to developer specific products
37
•
Basic "catch-all" responses
•
20 personality statements as standard
•
100 product statements as standard
•
Hosted by developer, so no code to load on user server.
•
HTML code provided to embed on user site
•
Four knowledge updates per year
•
Session logs available through the web
e. AIBot
The Advanced AI Bot provides developer with a dynamic graphical face and
a chatterbot which actually speaks. In addition the Chatterbot was a wide range
of general knowledge and support advanced features such as real-time news and
weather feeds.
Features include:
•
Choice of faces, by gender, age and race
•
Choice of voices, by gender and nationality
•
Wide general knowledge
•
Product specific knowledge
•
Wide "Smalltalk" capability
•
Hosted on developer site
•
HTML code provided to embed on developer site
•
Four knowledge updates per year
•
Session logs available through the web
38
ix.
Features Summary
The principal features of each type of standard chatterbot are shown in the
table below.
Table 2.3 Main features of a chatterbot
39
x.
Installation
In order to develop the chatterbots on author UCTI web site author will need
to embed a few lines of HTML and JavaScript code into web pages. This code can be
inserted using any standard web editor or content management system. The live code
for web site will be made available to developer during the installation process. More
details on the technical requirements of our chatterbots are at 2.3 Chatterbot
Technical Requirement
The simplest way of incorporating the chatterbot is either to have it launching
in a new window, or placed in a frame. If author require to embed it in the page then
author will need to work with UCTI webmaster ensure that the interface works
correctly with UCTI web site.
2.4 Chatterbot Technical Requirement
Chatterbots operate on a fully-hosted ASP, .net frame work and etc. That
means that the software runs on developer servers, so user don’t need to buy their
own servers, or go through the hassle of setting up our software on their systems.
A simple web interface allows developer to remotely manage the chatterbot
where applicable. If developer need to interface to developer own systems to extract
data for an interface then chatterbot accept any standard XML or HTML interface,
including RPC-XML and SOAP web services.
2.4.1
Client/End User Requirements
To interact with the chatterbot the end user does not require any special
software other than that normally used to surf the web, i.e. a browser with a Flash
plug-in. Specific details are as the below diagram.
40
Table 2.4 Client/User Requirement and Features
Developer has tested all their chatterbots on the most popular browsers, and most
popular versions, particularly IE5, IE6, Mozilla, Firefox, Safari and Opera. Although
developer do make use of JavaScript, and don’t use any Java downloads. Since
developer use Flash rather than streaming audio or video formats (such as Real
Audio) their chatterbots can be used through most corporate and personal firewalls.
2.5 The Expert System Development Life-Cycle Methodology
In this section, we will look into the Expert System Development Life Cycle
which is the methodology used in this project of developing the PO‘C’DON. Also
covered in this section is the comparison and contrast of the conventional system
life-cycle with the expert system life cycle. The stages undertaken during a typical
expert system development. The predominance of prototyping in expert system
development.
i.
Introduction to Expert System Development Life-Cycle
Conventional software development is often viewed in terms of applicable
life-cycle paradigms. This is because software development goes through a number
of stages from initial conception to the finished product. For example, a commercial
software company that is considering writing an accounts package would probably
undertake a feasibility stage initially to see if the project is likely to be commercially
viable. If the feasibility study has given the project a green light then the next stage
may involve a detailed analysis of the problem the stage following problem analysis
might be the design of the new system and so on.
41
Expert systems have been developing for research purposes since the mid of
1960’s. They became a commercially viable solution to real life problems since the
beginning of the 1980’s. Some major activities and challenges within any expert
system development project are the
1. Domain experts’ detection and persuasion for collaboration.
2. Knowledge acquisition.
3. Knowledge representation.
4. Prototype development and programming.
5. Development of the entire expert system and determination of its
architecture.
6. Validation and verification.
As it happens, the approach in developing expert system software has some
similarities with a conventional system. There are, however some differences as
indicated in Table 2.5. This table depicts a typical breakdown of the stages fro both
the conventional and knowledge-based systems.
Despite many stages that appear to be similar, differences do emerge,
particularly in the second phase. A number of methodologies have been adopted for
expert system development. A methodology borrowed from conventional system
development techniques is the stages-based approach.
Table 2.5 Conventional and Expert System Life Cycle Stages
Conventional System
1. Feasibility study
2. System analysis
3. Design
4. Implementation
5. Testing
6. Maintenance
Knowledge-based system
1. Feasibility study
2. Knowledge engineering
3. Design
4. Implementation
5. Testing
6. Maintenance
42
2.6 The comparison study
As already stated, the essential difference between this and the conventional
approach is in the knowledge engineering phase. System design, implementation and
testing follow this phase. Thus, the stage-based approach treats development as a
sequential process of completed stages as shown in Figure 2.2
Expert System Life Cycle
Methodology
System Life Cycle Methodology
Distinguish Sources of Domain Expertise
Feasibility Study
Knowledge Acquisition
System Analysis
Prototype Expert System Development
System Design
Development of the Entire Expert System
Testing
Validation & Verification of the Entire Expert
System
Implementation
Evolution of the Knowledge Base
Maintenance
Figure 2.2 Stages-based approach to system development
i
During knowledge acquisition process and specifically during the meetings
among knowledge engineer and domain experts, questions were asked to
domain experts
ii
The knowledge that was acquired during knowledge acquisition process was
used also in the data design stage to define implementable data structures.
iii
During design stage, Objects were defined and used analogously at the entire
expert system development process.
iv
Changes that were made during the entire expert system development process
forced changes to architecture design and vice versa.
43
v
During the validation and verification process of the expert system the
identification of some problems by the domain experts forced improving
changes
vi
The expert system knowledge base expanding and evolution process revealed
crucial information and inputs
PO‘C’DON Expert System application developing process is displayed in Figure 4 to
help perceive the corresponding workflow process
Figure 2.3 Expert System Development Process
44
Conventional systems analysis is a well defines activity in the sense that the
details and duration of each task can be documented, monitors, managed and
sustained if the project has been schedule with adequate resources.
i.
Knowledge engineering is very different, for one thing, it is frequently difficult
to specify with clarity, the requirements in an expert system because of the
abstract nature of knowledge. In expert systems, the end goals are typically not
clearly defined. The goals are said to be soft. This reflects the general difference
between an expert system and a conventional system in that the former concerned
with the encapsulation, representation and manipulation of knowledge, which is
often abstract in nature, while the latter focuses on the processing of data, which
is clearly abstract in nature, while the latter focuses on the processing of data,
which s clearly defined.
Also, even if the requirements are specified completely, experts frequently
have difficulty articulating their knowledge, so modifications to the knowledge
base. This iterative approach of development is by for the most successful
paradigm used for expert system development, it is called prototyping. Note that
the feedback loop, that is the number of stages, could very between the
knowledge engineering and the testing stage.
In practice the prototyping stage will often involve the building of an expert
system. The idea is to provide a rapid springboard for discussion with users and
experts and to demonstrate the system at an early stage to managers who may be
sceptical about the use of expert system technology.
ii.
Prototyping has been described as a “Works by Naumann and Jenkins (1992)
shown that the Revolutionary change in the development process which is used
because it departs from the conventional software engineering approach”. This
prototype may be refined an unlimited number of times as a result of feedback
and evaluation from users or experts.
The first prototype gives an indication of the likely look and fell of the end
product. It may well serve as a satisfactory basis for future development, in
which case further refinements can proceed. Further refinement may involve
45
adding manageable chunks to the existing prototype. This type of prototyping is
called incremental prototyping since the remainder of the development will
proceed with incremental advances on the first prototype. Expert System life
cycle has the combination of the conventional life cycle and the prototyping
approach. Figure below combines the both of these approaches which makes or
also know as an Expert System Life Cycle methodology
Initial analysis and
definition of
problem domain
KE and system development
Select and analyse
subset of domain
and build initial
prototype
Test System
Expand domain,
carry out further KA
and extend system
Solution to problem
domain satisfies?
Deliver system to user
Figure 2.4 Expert System Life Cycle
2.7 PO‘C’DON Development process
PO‘C’DON knowledge based system final architecture has been a step by
step process and reached its final form after a significant number of feedback
between the subprojects mentioned above. The figure below show the stages in using
the expert system life cycle
46
PO‘C’DON Expert System Life
Distinguish Sources of Domain Expertise
Requirement & Specifications
1. Identify the users
2. Collect their requirement
3. Analyse the entire system requirement (e.g. Functional – Non functional
requirements, personalisation requirement. Etc
4. Identify the specifications
Knowledge Acquisition
Design
1. Describe the notions that users are interested for (see the user requirements)
2. Analyse them and identify important sub notions
3. Identify how the notions and sub notions can be classified and connected. Find
the hierarchy and their relations
4. Identify which set of data is expected to change often (consider to use database to
store it)
5. Identify the hardware and software that must be used
6. Identify how these components must be connected in order to deliver the system
taking into considerations the specification and any constraints
Prototype Expert System Development
1.
2.
3.
4.
Understand the requirement
Design the interface (e.g., select colour, scheme, fonts, image, voice , etc
Identify which set of specification for which country
See data design and the notations
Development of the Entire Expert System
Implementation
Combine all the above into a real physical system and make it work
Validation & Verification of the Entire ES
Test and Evaluation
1. Evaluate to which degree the requirements has been fulfilled
2. Find any problems and make the necessary corrections or adjustments
3. Identify points that can be improved and can be evolved
Evolution of the Knowledge Base
Maintain and evolve the application
Figure 2.5 Shows the PO‘C’DON Expert System development process.
47
2.8 Introduction to PO‘C’DON Requirements
This section, documents the development of the Pre-programmed Operating
Coursebot Developed Only for Novices (PO‘C’DON) using the Expert System
Development Life Cycle.
PO‘C’DON is an expert system that is equipped with a knowledge base
which specializes in the domain problem of courses provided by UCTI. The purpose
of PO‘C’DON is to solve UCTI’s problems in course information distribution
In this scenario, the systems of running things at UCTI1 are looked into. After
some consideration, it was decided by the author to focus on the courses provided by
UCTI and some crucial components related to them.
The following is the domain problem specification drawn up by the author
PO‘C’DON was developed for novice users only and is divided into five (5) sections.
i
ii
iii
iv
v
Main Structure
Course Information
Course Fee Structures
Academic Entry Requirements
Career/Job Opportunities
2.9 Inspection of the Current System/ Method Used
Preliminary analysis and observations have led the author to conclude that
UCTI uses the following methods to distribute information about courses they
provide:
i
Course Brochures (A Physical Reference)
ii
UCTI Website (An Online Media Reference)
48
iii
APIIT/UCTI Road show – Is an event held in educational fairs to promote the
courses and its institution to external parties
iv
Student Services Department (A physical entity that is a department of UCTI
which deals with the management of student and external party affairs, thus
inclusive of information giving on courses provided by UCTI, course fee
structures, entry requirements and career opportunities)
Course Information is given out via Word of mouth (encompasses domain
experts in the Student Services department, lecturers, admin staff, students and/or
any intelligent entity that owns sufficient information about UCTI)
2.10
Advantages of the Current Methods Used
Below is a list of identified advantages that is deemed present in the current
methods used by UCTI to provide information about their courses:
i
Possibly has a wide coverage base due to the presence of more than one
transmission method for information (EG – both online website (virtual
medium) and course brochures (physical medium) are used to distribute
information)
ii
Non-reliance on one sole method for information distribution (diversity in
information giving methods)
iii
External parties feel more confident when meeting with an actual human
domain expert instead of a computerized system
iv
Human domain experts can attempt to access new situations/questions via
inference based on the knowledge they have. Computerised systems may not
be able to reply a question which is not within its knowledge base
49
v
Human domain experts can provide more qualitative data to external parties.
Computerized system may only provide quantitative data in a cold, noninteractive manner.
vi
Physical information mediums can be distributed to external parties without
computer access and also those with no computer literacy whatsoever.
vii
Website provides global coverage
viii
Generally, a human expert can be more convincing than an expert system
2.11
Disadvantages of the Current Methods Used
Below is a list of identified disadvantages that is deemed present in the current
methods used by UCTI to provide information about their courses
i.
No centralization of information – No centralized location for information
repository and consultation thus leading to the following problems:
a.
Inconsistencies in the information given out – information given out
in one method may be inconsistent with another (EG – what is said by
word of mouth and what is displayed on online website)
b.
Outdated Information - Course brochures may get outdated over
time as courses and their attributed structures change
ii.
Methods which are non-automated/computerised cause the following issues:
a.
A lot of Human Interaction required – The student services
department, APIIT/UCTI road show and also the word of mouth
methods of information giving require direct human interaction with
external parties for effective information giving. There are little or no
automated methods or kiosks to assist in information giving in these
methods.
50
b.
Methods reliant on human domain experts can only provide a
finite service time – human domain experts in this area may retire,
become redundant or ambiguous over time. Thus reliance on human
domain experts requires constant training of new domain experts to
replace old ones.
c.
Resource intensive – a product of disadvantage of the two points
above. Wherever human experts are required, it is logically assumed
that a lot of resources will have to be put in to maintain and make
available these experts. Such factors that incur high resource usage
include
•
Training a new domain expert – Money, Time
•
Domain expert updates himself on knowledge – Time
•
Domain expert must be on site for information giving –
Money, Time
iii.
Localized domain expert – Human domain experts can only be at one place at
one time and can only attend to a finite number of people. He or she cannot serve
many different people at many different locations at the same time.
2.12
The Proposed New System to be implemented PO‘C’DON
After conducting some research on the problems faced by UCTI in course
information distribution, the development team has come up with a new solution or
system that is capable of taking over UCTI’s old methods of course information
distribution.
This solution is an expert system. In essence, an expert system can be defined as:
“Works by Central Laboratory for Agricultural Expert System (2003) have shown ,
an expert system is:
51
Also called a Knowledge Based System (KBS), is a computer program designed to
simulate the problem-solving behaviour of an expert in a narrow do main or
discipline
The expert system to be developed for this purpose is PO‘C’DON.
PO‘C’DON stands for Pre-programmed Operating Coursebot Developed Only for
Novices. It was named such by the author due to the level of depth in the knowledge
it provides (Refer to Limitations and Extensions for an explanation on why
PO‘C’DON is a novice level expert system).
2.13
PO‘C’DON’s Knowledge Base
The knowledge base that PO‘C’DON has will provide focus on the following
modules
i.
Course Information Module – The main focus of PO‘C’DON. This module of
the knowledge base can provide details about courses provided by UCTI. Course
details include; course descriptions, learning objectives, etc.
ii.
Course Fee Structures Module – Provides the pricings of courses available for
study at UCTI. This module caters to both local and foreign students.
iii.
Academic Entry Requirements to Study at UCTI Module – This module
provides information on the minimal entry requirements that a potential UCTI
student needs to have to be able to study at UCTI. This module also caters to both
local and foreign students.
iv.
Career/Job Opportunities Module – This module gives information about
52
2.14
PO‘C’DON’s Inference Engine
Due to several factors (explained more elaborately in the limitations of
PO‘C’DON), the inference engine of PO‘C’DON is somewhat non-existent. Instead,
a more input to output rule matching algorithm is used to provide users of
PO‘C’DON the answers they need.
2.15
Resource Requirement for the Development of PO‘C’DON
To develop the PO‘C’DON expert system to improve UCTI’s methods of
distributing information about courses, the following elements/people had to be
obtained.
2.16
Domain Experts
Domain experts are individuals who have expert knowledge on a particular
domain or subject matter. Domain experts are important for the proper development
of PO‘C’DON ’s knowledge base. The domain experts selected for the development
of PO‘C’DON ’s knowledge base are
53
Figure 2.6 Mr Koh Shen Weng - Student Services Executive
Figure 2.7 Mr. Alvin Chow - Student Services Executive
These 2 individuals were selected for the following reasons:
i
They have expert knowledge on the courses provided by UCTI, course fee
structures, entry requirements and also the career/job opportunities for
courses provided by UCTI
ii
They are familiar with the process of giving out the information in (a) to
people who approach them (have intimate acquaintance with the methods of
information giving)
iii
Able to shed more light on the current information distribution methods used
by UCTI to provide course information
54
2.17
Users
A system cannot be developed if there won’t be any users to use it.
(For a more detailed explanation on the intended/targeted users of PO‘C’DON,
please refer to the Targeted Users of PO‘C’DON in the Conceptual Design section.)
2.18
Project Team
The project/development team for PO‘C’DON is the author only who was
involved in the direct planning, programming, implementation and maintenance of
PO‘C’DON.
2.19
Platform
The platform to be used to develop PO‘C’DON will be Windows based PC’s.
This is because the author have surveyed that most users in Malaysia are most
familiar with Windows Operating System. However, this decision involves
acceptability to the limitations of Windows (refer limitations section).
2.20
Advantages of Using PO ‘C’ DON
Below is a list of foreseen advantages that UCTI will benefit from the usage of
P“C”DON
55
i.
PO‘C’DON is 24/7 online domain expert – It is virtually always online and
available at any time of the day
ii.
Can cater to hundreds of people at the same time
iii.
If uploaded to the internet, global coverage is possible also with the added
benefits of an expert system shell
iv.
Information retains 100% consistency with original sources (no alteration)
v.
No redundancy, ambiguity, or finite service time for expert system (as long as
system is updated periodically and is kept active)
vi.
Save resources (Time and money)
vii.
No need to train human domain experts
viii.
No need to have more than 1 expert system to act as a domain expert
ix.
Expert system can be present in many places for different purposes at the same
time
x.
The only human interaction required is that between external parties and the
expert systems interface itself
2.21
Disadvantages of Using PO‘C’DON
Regrettably, no system is perfect, including PO‘C’DON. Below is a list of
foreseen disadvantages should PO‘C’DON be implemented by UCTI for course
information distribution. For a more technical explanation on the limitations of
PO‘C’DON, please refer to the limitations section.
i.
Can only provide quantitative data forms to external parties
56
ii.
Limited to the extent of its knowledge base
iii.
Unable to infer or make conclusions about unknown issues
iv.
Cannot be entirely convincing to some external parties
v.
Still requires the presence of domain experts to update its knowledge base
vi.
May not be able to fully emulate a human domain expert (reduced
effectiveness)
57
CHAPTER 3
METHODOLOGY
In this chapter the methodology used in the project is explained. The use of
expert system life cycle which is similar in many ways with the traditional system
life cycle. This chapter also covers the feasibility study, PIECES framework and the
whole expert system cycle.
3.1 Feasibility Studies
A feasibility study is a way of determining whether PO‘C’DON is worth
being implemented or not. Before any programming and/or prototyping of the
PO‘C’DON system can be done, a feasibility study has to be conducted to ensure that
the final product will not be a total waste.
3.1.1
From UCTI’s perspective
The feasibility study is conducted to see if it will
i.
Benefit UCTI by providing it with a better system of giving out course
information
ii.
Prove as a more cost effective solution that can save UCTI on a lot of
money
58
iii.
3.1.2
Become a powerful marketing tool for UCTI to use in marketing their
courses
From the author perspective
The feasibility study is conducted to see if
i.
There is enough time to develop PO‘C’DON
ii.
There is enough resources (manpower, money and other crucial
resources) to develop PO‘C’DON without any stoppages in between the
timeframe
iii.
There is enough skills within the 5 months Industrial Attachment 2 to
develop PO‘C’DON
3.2 Feasibility Studies
This feasibility study will focus on 4 main aspects
i.
Operational Feasibility
ii.
Technical Feasibility
iii.
Schedule Feasibility
iv.
Economic Feasibility
3.2.1
Operational Feasibility
59
Operational feasibility can be defined as the study of the characteristic of a
particular system. Operational feasibility allows system developers to identify the
weaknesses of an existing system. It also studies the possibilities of how a new
system can be developed to enhance the existing system and at the same time address
the issues that it faces. The following is an analysis of UCTI’s current method on
distributing information about courses. The PIECES framework is used to elaborate
this section.
i.
Performance
The following can be surmised of the performance of UCTI’s current system for
information giving on UCTI courses:
IF there is an overflow of external parties2 with requests;
THEN, UCTI might lack the consultants3 to satisfy their demands.
As a consequence, UCITI might lose out on potential customers. This is due
to the lack of consultants to provide timely service to many people at the same time.
People may get bored or impatient when they have to wait for long periods of time to
get the information they want.
The new system4 however, is able to address and rectify this issue by
reducing the amount of human consultants it takes to provide timely service to
people.
As the new system is automated, it will not require much manpower to operate it.
IF a human domain expert is unavailable for consultation,
THEN, external parties will not be able to get the information they want.
2
External parties refer to; potential students, outside people interested in knowing more about courses
provided by UCTI, newly enrolled students and people who wish to refer to UCTI course information
for various purposes.
3
Consultation refers to the process of information giving on courses provided by UCTI from a domain
expert to a person or persons requesting such information.
4
The new system referred to here is an Expert System that contains a comprehensive knowledge base
on courses provided by UCTI. This knowledge base also includes other forms of information such as
course fee structures for each UCTI course, entry requirements to study at UCTI and also career
opportunities upon graduation from UCTI.
60
It has been noted that human domain experts can only provide a finite amount of
service time due to the following factors:
a. Service time – A human domain expert can only work for n number of years
before retirement
b. On-site Consultation – A human domain expert can only provide consultation to
n number of people at one point of time. Thus if there is a limitation in the
number of consultants available, then only a limited number of people can be
attended to at one point of time.
c. Location – a human domain expert can only be present at one place at one time
to provide consultation. As such, they are limited via geographical factors
d. Time factor – Human domain experts can only be available for a certain number
of hours a day. They have only a certain number of working hours in a day in
which they can provide consultation.
The new system to be developed will address these factors by providing
indefinite, 24/7 consultation services to external parties no matter where they are.
The new system can be uploaded onto the internet where it can be not just locally but
also globally accessed by many where there are. Indirectly, the high level of
performance in this new system will reflect on the service level of UCTI itself.
ii.
Information
It can be surmised that the current system’s methods of information giving
may be inconsistent with one another.
Different human domain experts may provide different volumes of
information. Perhaps also, they may focus on different topics. All these factors and
more cause inconsistencies in the information given out.
However, the information provided by the new system will be consistent at
all times. There will always be synchronization in all access terminals or information
kiosks linked to the knowledge base and information given out will retain 100%
consistency wherever it is accessed.
61
The new system will also provide links to human domain experts in the event
that further clarification is needed for the information given out by the knowledge
base itself. This is a necessary feature for the system as it is unable to infer
conclusions to questions beyond the limits of its knowledge base. It also acts as a
precaution to prevent unverified information from being given out by the system.
iii.
Economy
IF in every quarter of a year, the amount of external parties increase;
THEN the size of UCTI’s consultant workforce for providing course information
also must increase to provide timely service.
The statement above describes the situation faced by the current system of
course information giving at UCTI. This situation is not very economical as more
people have to be employed into the workforce regularly to compliment the rise of
potential customers.
The new system addresses this situation simply by the fact that it is computer
automated and can be used to serve many people through information kiosk
terminals. Information kiosk terminals are much more cost effective than the actual
hiring of new people to work in UCTI itself.
As such, the outcome of the “if” statement above can be avoided and the
current consultant workforce for course information distribution can be maintained
for further clarification in areas in which the new system does not cover.
iv.
Control
As the control factor of the PIECES framework is not applicable in
PO‘C’DON, it has been omitted.
v.
Efficiency
Please refer to chapter 2 for a complete list of the efficiency expectations for
the new system. These efficiency expectations are a direct response of the new
system to the disadvantages of the old systems/methods used.
62
vi.
Security
As the control factor of the PIECES framework is not applicable in
PO‘C’DON, it has been omitted.
3.2.2
PIECES Framework Summary
The table below outlines the differences in efficiency levels in both the current
system and proposed new system for information giving on courses provided by
UCTI.
Table 3.1 The Summarised Results of the PIECES Framework Analysis
CURRENT SYSTEM
NEW SYSTEM
Performance
Consultant workforce may not
be sufficient to handle people
seeking information in a timely
manner
Vast deployment of the
knowledge base via information
kiosk terminals is used to
overcome
insufficient
manpower issues
Information
No Guaranteed Consistency
Consistent (but only to the
limits of its knowledge base)
Economy
Increase of consultant workforce Maintains consultant workforce
as a result of an increase in the size despite increases in the
number of external parties
number of external parties via
increasing the number of
information kiosks lined to the
new systems knowledge base
Efficiency
Only able to entertain a limited With vast deployment, many
number of people within a people from different locations
period of time
can
be
entertained
simultaneously.
Control
N/A
N/A
63
Security
N/A
N/A
64
3.2.3
Technical Feasibility
Technical Feasibility can be defined as the process of determining the type of
resources (and their respective attributes) needed to develop, purchase, install and
operate the new system.
i.
Technical Expertise
The technical expertise to develop the new system can be contract based for
an un-biased creation of the new system. The author had to play several roles on the
development of the system, which was the main goal of the author to complete
Industrial Attachment 2.
Therefore the author had to play the role of the programming leader is the
main person in charge of the programming development of PO‘C’DON. She will be
the most directly involved in the entire project in the usage of the application
software chosen to develop Verbot. She is responsible for defining the logical flow
of data through the system and explaining them via UML and flowchart (Refer
Appendix)
Another role the author played was the knowledge engineer. Knowledge
engineer is responsible for requirements gathering and knowledge acquisition. The
author will decide on the best method for data collection to use. She will execute any
necessary measures to ensure that the information needed from domain experts or
other sources are acquired within the given time frame. The author is also the most
directly involved person in the documentation of the system.
The next task undertaken by the author as a knowledge engineer is
responsible for collecting results and generating statistics on test plans conducted
before and after the development of the system. She will be in charge of generating
the survey questions to be used to collect people’s opinion on the new system. The
65
author was the most directly involved person in the development of the system’s test
plan.
ii.
Hardware
The only hardware(s) required for the development of PO‘C’DON are laptops
and/or personal computers running on a Windows platform.
3.2.4
Software
This section lists the software’s to be used by the author to develop this
project called PO ‘C’DON.
i.
The Expert System Shell 4
The software to be used to develop PO‘C’DON is Conversive’s Verbots
(Virtually Enhanced Software Robots). This program includes two components
which are
a. Verbot 4 Standard Edition Script Editor Ver. 4.1.3.2
This Script Editor functions as the main development tool that the author
used to create PO‘C’DON. All programming of input and output statements
(along with controllers such as _startup and also variables such as [name: friend])
is to be developed with this component of Verbot 4. The development of
PO‘C’DON ’s Graphical User Interface (GUI) is also to be done using the Skin
Editor found in the tools section of the Script Editor. To enable PO‘C’DON to
pronounce new words/terms/names properly, the Replacement Profiles tool will
be used. The Replacement Profiles allows the author to dictate how PO‘C’DON
should pronounce certain words it has to read via speech.
66
b. Verbot 4 Standard Edition Player ver. 4.1.3.2
This component of Verbot 4 is to be mainly used by the author to test out
compiled Verbot Knowledge Base’s (.VKB) files. Compiled .VKB files appear
as a Comma Delimited Values (.CSV) file that can be directly read by the player.
The Player can also be used to test out the appearance of PO‘C’DON. The
Graphical User Interface (GUI) of PO‘C’DON is to be developed in the Script
Editor and will be saved as a Verbot Skin File (.VSK). The .VSK file is read by
the player every time it loads PO‘C’DON, thus giving it the GUI designed by the
author.
ii.
Multimedia Tools (Paint.net, Adobe Photoshop, Flash)
These tools were used in the creation of PO‘C’DON ’s main GUI, editing and
alteration of images used by PO‘C’DON and the development of other features such
as PO‘C’DON ’s installation disc CD covers and CD labels.
iii.
MS Word, MS Visio, MS Project
These Microsoft Office tools are used for:
a. The writing of PO‘C’DON ’s documentation
b. The creation of flow charts, PERT charts and Gantt charts
c. Any other relevant charts that are used as statistics in PO‘C’DON ’s
documentation
3.2.5
Schedule Feasibility
System design process is divided into several phases, from a planning phase
to presentation phase of the system. Each phase will be allocated a certain amount of
time frame.
67
3.2.6
Gantt Chart
A schedule that is used to determine the due date of each module in each phase
(Refer Appendix B for the Gantt chart)
3.2.7
Economic Feasibility
The software used to develop PO‘C’DON is already licensed to UCTI and the
module leader for the Artificial Intelligence program. In addition to that, the system
itself makes use of existing hardware available in UCTI. Therefore, there are no
direct costs applicable to the system.
i.
Intangible Benefits
“Work by Choi (2003) have shown, intangible benefits, also called soft benefits,
are the gains attributable to your improvement project that are not reportable for
formal accounting purposes. These benefits are not included in the financial
calculations because they are non-monetary or are difficult to measure”
The following points list the tangible benefits that PO‘C’DON is projected to give to
UCTI upon implementation.
ii.
Customer Satisfaction
With the implementation of the PO‘C’DON
expert system, customer
satisfaction levels will be increased as they are not required to wait in long queues to
wait for their turns to obtain information about courses provided by UCTI.
68
A lot of time can be saved by using PO‘C’DON as a marketing tool at road
shows, student services, education fairs etc. People will not have to wait a long time
to see human domain experts as they can simply use the PO‘C’DON system to get
the information they want. 24/7 service times allow users to be constantly entertained
by PO‘C’DON at any time of the day. This is a great advantage over human domain
experts as they only have finite service times.
As a result, there will be no unwanted biases among potential customers
where each of wrongly assume that they’re not given sufficient priority/attention.
iii.
Promoting UCTI Capabilities
By implementing PO‘C’DON, UCTI is able to promote its development
capabilities in the IT field. The PO‘C’DON system itself is a product of UCTI’s
educations standards that allow its students to develop interactive expert systems that
can provide specific information about courses provided by UCTI.
PO‘C’DON can also be a testimonial to UCTI’s successful achievement of its 5 It’s
goal
a. Innovation; the process that converts knowledge into economic growth and
social well-being, is for curriculum design, module content and learning
approaches.
b. Integration
of
individual
capabilities
to
interrelate
knowledge
and
multidisciplinary team work.
c. Information; is for knowledge development and effective and persuasive
communication ability.
d. Interactivity means interactions through group work for teamwork skills
development and technology implementation to accomplish interactivity between
people and devices.
e. Imagination is related to new products, ideas, applications and solutions.
69
iv.
Display of Quality Facilities
Through the implementation of PO‘C’DON, UCTI can promote the quality of
its computer facilities to external sources (EG – the computer labs, application
software at UCTI)
v.
Increase Referral
As PO‘C’DON is estimated to be an effective system that enables quick and
effective distribution of course information, much positive comments about the
system is expected.
3.3 Knowledge Acquisition (System Analysis)
This phase of the ESLC methodology is conducted to ensure that a properly
functioning system that meets UCTI’s requirements is developed. This is to ensure
that no costly errors are made, ethical issues
3.3.1
Information Gathering Techniques for Generating System Requirements
In this section, there are a few information gathering techniques chosen to be
studied before implementing into this project, they are observation, questionnaire,
interview, focus group, and document review. Information gathering technique
70
chosen will affect the overall vitality and efficiency of the expert system. Therefore,
judgment on these methods will be clearly defined in the paragraphs below.
i.
Observation
Basically observation is an inspection over human behaviours to get an idea
of how a process is done, or how data is translated into useful information
(Professional Teachers Council 2005). In this project, the author had used the
observation technique, to observe how the interaction takes place between parents or
potential UCTI students and the Staff from Student Services Department. With this
information the author can develop the expert system to mimic the knowledge of the
staff and provide explanation to the potential students via computer interface.
ii.
Questionnaires
Basically, questionnaire is a form containing list of predefined questions,
categorized into open ended and close ended questions, to be filled in by
respondents, therefore information, opinion or factual data, can be administered and
the author has generate a statistical aggregated format information (Garrud P. 2004).
For this project, the author can use questionnaires to collect opinion or facts to
understand the potential user’s expectation over the expert system model. Also,
questionnaires can be distributed to staffs to know what system characteristics5 are
suitable for the staffs.
iii.
Interviews
In a recent publication (Professional Teachers Council 2005), interview is
defined as a question and answer session conducted between two or more interviewer
and interviewee, to obtain qualitative6 research information. Like questionnaires,
5
These system characteristics can be decomposed into those belong to User Interface, Explanation
System, Knowledge Base and the Expert System itself.
6
Statistics which contains non-discrete information; more on opinion, behaviour and characteristics.
Represents level of a subject; good, bad or neutral
71
interview can have open ended and close ended questions. The author had an
interview session with staffs or selected users to get their opinion and constructive
comments to build a good system.
iv.
Focus Group
A focus group is consists of 3 to 8 person, having an in-depth discussion on a
certain topic to gain rich understanding on the issue in the session (Professional
Teachers Council 2005). The author uses the focus group as a research tool in this
project to get better understanding of the process on how to promote UCTI courses to
potential students and parents. This was achieved by having a meeting and a
discussion with the staffs from Student Services Department.
v.
Document Reviews
In general, document review is to collect information from physical or
electronic secondary research sources using desk research techniques7 (S J Anderson,
T Dewhirst, and P M Ling 2006). The author studied the course brochures to get an
overall idea of courses provided by UCTI, which helped in determining the scope of
the system at the early stage of the project. This information will be used as the
knowledge base in the expert system later.
3.4 Evaluation on Information Gathering Techniques
Below is the elaboration on each research method and justification given to
support the decision making of the author in choosing the research method, including
the types of information which was obtained using these methods.
7
Opposite of field research technique; secondary research; studying reports, journals, or
documentation of previous researcher’s works
72
i.
Observation
By conducting observation, the team will understand many answering
techniques used by the staffs to attract students or parents to choose UCTI; therefore
these techniques can be employed into the system to make it livelier. A digital
camera or video recorder can be used to improve the accuracy of the research as it
can be kept as future references when developing the system. Observation has to be
conducted carefully and secretively8 to avoid Hawthorne effect9; therefore passive
and non-participative observation is encouraged.
Observed behaviors are bias-proof, because it is the original action taken after
rational reasoning and safety measurements and precautions considered. However,
observation may take time. It can be successful; only if there lays the opportunity to
watch new students come to the Student Services desk to apply for studying in UCTI.
Also, observation consumes a lot of time; behaviours of people cannot be observed
and captured in a single day. Also, it may irritate the staffs from Student Services
Department if they are observed without informing them beforehand.
ii.
Questionnaires
By issuing questionnaires to the users, the author was aware of the users’
computer literacy, and also their expectations on the coming system, therefore the
team can develop a system which gives users a rich experience. “Works by Colorado
State University (2008) have shown that, questionnaires have to be designed
cautiously to avoid biasness as in double-barreled, misleading, ambiguity and publicinterest questions. Bad design of questionnaires will affect the authenticity of the
8
9
Preserve the anonymity and privacy of the individual observed.
People tend to act differently when they know they are observed.
73
research outcome. Questionnaires must have attractive design and simple grammar to
make sure majority of the respondents answer properly”.
In the other hand, questionnaires are very economical, thus can be conducted
to large samples of respondents, the result has higher significance as a representative
of the population (Colorado State University 2008). Also, immediate response and
statistics compilation can be done if the survey is quickly conducted, because
questionnaires are easily quantified. Questionnaires require lesser effort than
interview and observation because the respondent read the questions themselves and
answer then accordingly.
iii.
Interviews
“Works by Valenzuela D. and Shrivastava P. (2003) have shown that,
interview is a versatile research tool because it can obtain information in regards of
behaviours, opinions, knowledge, and feelings. From the interview, the author gains
the opinion of student service staffs. Upon interviewing the staffs, the author also
knew the specifications of the systems and also the frequently asked questions when
promoting UCTI to the new students. Advantages of interview are instant response,
minimizing confusion by clarification on-the-spot, a sense of trust, and relationship
between interviewer and interviewee (Office of the Auditor General of Canada
2007). The interviewee felt that their opinions were appreciated, rather than
answering the questions to the paper”.
The major disadvantages of interview would be time-consuming, and very
prone to uncertainties in punctuality, such as traffic jams and other environmental
factors. Interviewees are reluctant to give their true personal opinion because they
afraid that it will hurt the interviewers, therefore distorted the final result of the
interview, in other words, biasness occurred.
74
iv.
Focus Group
Focus group was more effective than interview because several people are
discussing about an issue at a pace, excitedly. “Works by Iowa State University
(2004), shows that a focus group gives researchers surprise from the information
gathered, because it is beyond expectation; it gives insight focusing on a topic yet
delivering flexible discussion, by a group of people potentially representing the voice
of the society”. The author had to get the maximum amount of opinion and
suggestion from the staffs on how the system can be developed at best.
The disadvantage of focus group falls after its strength; if there are many
staffs to be called, it would be impossible because the staffs are always busy, it is too
time wasting to have a focus group, therefore they will be reluctant to have it. Also,
the author had to be competent in taking control the flow of the discussion; allowing
ample space for elaboration, yet doesn’t let the participants own the session, nor too
little space which ends up with silence.
v.
Document Reviews
The author used the document review technique to obtain raw data and
original materials which the staffs from Student Services Department use to
introduce UCTI to potential new students and parents. Therefore the advantage of
document review is to let the author recognise the complete information needed to let
the users understand the courses available in UCTI. Also, the information is in its
original form, not altered nor tampered; therefore the author can develop a thorough
understanding over the knowledge domain compared to other research methods.
The main drawbacks of document review are it consumes a lot of time due to
information overloading of the source. Another factor which makes it consume time
is transferring the information into computer readable format. In this process, the
author had to summarise the information because the author wants the expert system
to have vitality, speaks like a human, not just reading it out loud. Document review
doesn’t tell how the information will be interpreted to be attractive and meaningful.
75
3.5 Comparison and Analysis of Techniques
A critical analysis of this information gathering techniques will be
demonstrated below as a justification on each acceptance, or discarding of each
technique.
Table 3.2 Information Gathering Techniques Comparison Table
RESEARCH
METHOD
STRENGTHS
WEAKNESSES
REMARKS
Observation
Study behaviour
Takes time
Privacy issue Hawthorne
effect
Understand activities
done by domain expert
Hard to study
behaviours
Very cheap
Waiting activity to
happen
Biasness
Questionnaire
Covers large sample
Interview
Easy quantification of
statistics
Get personal opinion
Clear doubts/further
elaboration instantly
Focus group
Share experience
Discussion on the pace
Opinions of many
people at one go
Document
Review
Obtain original data
Time critical
Statistics can be
compiled easily using
Microsoft Excel
Interview the Domain
Experts
Dishonesty
Time exhausting
Hard to control
flow of
conversation
Takes time
Develop understanding Information
of domain knowledge
overloading
Author would cause
disturbance to the staffs
Course brochures are the
domain knowledge
source
76
3.6 Conclusion and selected methods to be used
In conclusion, questionnaire, interview, and document review will be
implemented in this project, after considering its practicality, cost, time, and quality.
i.
Please refer to Appendix C for the sample questionnaires used by the author
and also the results of these questionnaires). The summary of the
questionnaire results can be viewed in section 3.6.1.
ii.
A summary of the Human Domain Expert Interviews can be found in section
3.6.2
iii.
Please refer to UCTI_COURSE_BROCHURES FOLDER in the softcopy
version of this documentation of this system (The course brochures are not
included as an appendix in this report because they are actually direct scans
of the UCTI course brochures found at the Student Services department
which are free for circulation)
i.
Summary of Questionnaire Results
The Virtual Reality Personnel (VRP) is referring to PO‘C’DON
From the questionnaire handed out to staffs and students (newcomers),
majority of the students have not seen or met a VRP before. However, for the staffs;
50% have seen a VRP where else the balance of 50% have not.
Staffs and students have both good opinions on the VRP. For those who have
not seen it, their response was good (some like it and some think that it is great). For
77
those who have seen a VRP, they think the VRP was fairly satisfying. All staffs and
students think that the VRP will be of help to them in the future.
Besides that, most of their concerns and expectations on the VRP is that it can
provide simple and clear explanation(s), fast and convenient service(s) and express a
user friendly with interactive interface/design. Other factors that staffs and students
are expecting from the VRP are the ability of the VRP to understand and interpret
question(s) asked by them and satisfaction of service(s) that the VRP can provide.
ii.
Summary of Human Domain Expert Interview
The following is a brief summary of the interview results collected from Mr Shen
and Mr Alvin (Human Domain Experts on from Mr Shen and Mr Alvin)
In the interview conducted with Mr. Shen and Mr. Alvin, the author had obtained:
The main points that people ask for when they want information about courses
provided by UCTI
i.
•
Course Information – What each course is about?
•
Fees – How much must I pay for the course I want?
•
Entry Requirements – What kind of exam results or qualifications
I must have to study at UCTI?
•
Career Options – What kind of jobs or careers will be open to me
once I graduate from UCTI?
The procedure in which information is given out
a.
First an introduction about the courses provided by UCTI is given
b.
The benefits and aims of the course are provided
c.
Q&A session with person asking for information
78
ii.
Main points that are highlighted to people
a.
Benefits of the courses
b.
Fees
c.
Career opportunities
d.
Quality of education
79
CHAPTER 4
FINDINGS
EXPERT SYSTEM DESIGN
This chapter explains about the system design based on the user
requirements. Chapter also covers the detail design, conceptual design and the
physical design. In this chapter also the internal testing and external testing plans are
discussed
4.1 Conceptual Design
“Works by conceptual design (2001) shows that in order the explicit construction of
the ideas or concepts that a user needs to learn about what a product is, what it can
do, and how it is intended to be used. It may also address what a product is not, what
it can't do, and how it is not intended to be used. Conceptual design is done from the
user's point of view.”
The conceptual design of the new system is mainly aimed at translating the
user requirements into a user interface design Conceptual Design 2001 that is
80
suitable for simple and effective usage. As such, the organisation of the systems
functionalities is also done based on a user’s point of view.
i.
Central Concept
A central concept can be defined as:
A concise statement of what the application is and what it is not. It clearly
defines the boundaries of the application and characterizes the overall users'
view of the application.
The statement below defines the name and function of the new system:
The Pre-programmed Operating Coursebot Developed Only for Novice users
(PO‘C’DON) is an expert system capable of providing users with concise yet
sufficient information about all courses provided by the University College of
Technology and Innovation (UCTI) as of February 2008 by addressing four (4) main
areas of general interest such as Basic Course Information, Course Fee Structures,
Minimum Academic Entry Requirements to Study at UCTI and Job/Career
Opportunities upon graduation from UCTI.
The next statement states the type of operation that the new system provides. It also
defines the boundaries of the new system:
PO‘C’DON is to serve as a basic information kiosk for people who are interested in
knowing more about courses provided by UCTI and for newly enrolled students who
wish to get more information about the course they are enrolled in. It will serve also
as an automated/computerized domain expert to support UCTI’s course marketing
activities. However, PO‘C’DON is an expert system that is programmed only to
operate within the limits of its knowledge base. It will not be able to provide and/or
infer information or conclusions about topics/questions beyond its knowledge base.
81
4.1.1
Conceptual design flowchart and uses case diagrams
This section 4.1.1 provides an expansion of the conceptual design of the system
via the presentation of flow charts that explain the flow of data within the system and
uses case diagrams. Based on the programming structure of PO‘C’DON (refer to the
PO‘C’DON program structure in the Verbot Script Editor), PO‘C’DON can be
broken down into 5 main modules which are:
i.
Main Structure
Contains all the start-up, invalid and exit rules to give the system a starting
and ending point. Also contains rules to get a user’s name to enhance
conversations
ii.
Course Information Module
This section contains all the rules containing information about the courses
provided by UCTI. Due to the complexity of this section (mainly due to the
consideration of providing more information to the users of the system),
another section of flow charts will be included to explain the flow of data in
this module (course in-depth-info)
iii.
Fees Module
This section contains all rules containing information about course fee
structures.
iv.
Career Options Module
This section contains all the rules pertaining to job opportunities for courses
provided by UCTI upon graduation
v.
Entry Requirements Module
This section contains all the rules containing information about the academic
entry requirements to study at UCTI.
82
As such, the flow charts and uses case diagrams will be listed based on these
sections.
System Flow Charts
This white paper contains a list of all the flow charts used to explain the flow of data
in PO‘C’DON.
“Works by Kimbler (1995) have shown that in a flow chart is defined as a pictorial
representation describing a process being studied or even used to plan stages of a
project. Flow charts tend to provide people with a common language or reference
point when dealing with a project or process.”
4.1.2
Main System flowchart and Use Case Diagram
1.0 Main System Flowchart
Figure 4.1 System Flowchart for PO ‘C’ DON
83
1.1 Main System Use Case Diagram
Figure 4.2 Uses case diagram for PO ‘C’ DON Knowledgebase
84
4.1.3
Course Information Module flowchart and Use Case Diagram
2.0 Course Information Module Flowchart
Figure 4.2 Flowchart for Course Information Module
85
2.1 Course Information Module Use Case Diagram
Figure 4.3 Uses case diagram for Course Information Module
86
4.1.4
Entry Requirements Module flowchart and Use Case Diagram
3.0 Entry Requirements Module Flowchart
Figure 4.4 Flowchart for Entry Requirement Module
3.1 Entry Requirements Use Case Diagram
Figure 4.5 Use case diagram for Entry Requirement Module
87
4.1.5
Fees Module flowchart and Use Case Diagram
4.0 Fees Module Flowchart
FeesModule
Miscellaneous
Fees
Course Fees
Foreign
Students
Course
Fees
English
Programme
for
Foreigners
Miscellaneous
Fees for
Foreign
Students
Engineering
Courses for
Foreigners
NonEngineering
Programmes
for Foreigners
Local Students
English
Programme
for Locals
Engineering
Courses for
Locals
NonEngineering
Programmes
for Locals
Figure 4.6 Flowchart for Fees Structure Module
Miscellaneous
Fees for Local
Students
Payment
Methods
88
4.1 Fees Module Use Case Diagram
Figure 4.7 Use Case Diagram for Fees Structure Module
4.1.6
Career Options Module flowchart and Use Case Diagram
5.0 Career Options Module Flowchart
Figure 4.8 Flowchart for Career Options Module
89
5.1 Career Options Module Use Case Diagram
Figure 4.9 Use Case for Career Option Module
90
4.1.7
CSCI PO‘C’DON Package Diagram
Figure 4.10 CSCI PO‘C’DON Package Diagram
4.1.8
User Interface and Environment of PO‘C’DON main CSC package
CSCI PO‘C’DON
CourseInformationModule
FeesStructureModule
CareerOptionModule
EntryRequirementModule
Figure 4.11 User Interface and Environment of PO‘C’DON main CSC package
91
4.1.9
User Roles and User Requirements
The process of defining the user roles and user requirements can be explained via the
following statement:
“Works by Conceptual design (2001) have shown that A list of which the target users
are, what their roles are in their use of the application, and what is important to them-such as getting work done quickly, being in charge, and feeling successful.”
After conducting a preliminary analysis, the following were listed as the targeted
users for the new system
External parties (people outside of UCTI)
i.
People interested in knowing more about courses provided by UCTI
ii.
Companies, organizations and groups of people who wish to know more
details about courses provided by UCTI
iii.
New students looking for basic information about courses provided by
UCTI
iv.
Internal parties (people within UCTI)
v.
Enrolled students who wish to know more information about course they
are enrolled in
vi.
Students who wish to check out other details related to their course (EG –
course fees)
vii.
UCTI staff who wish to use the information provided by PO‘C’DON as a
reference in their work
In addition to identifying the targeted users for the new system, the roles and
expectations of these targeted users are also identified.
92
4.1.10 Roles of External Parties
Novice users who are seeking details about courses provided by UCTI
4.1.11 Expectations
i.
An easy to use interface with maximum guidance so as to allow them to quickly
find the information they need.
ii.
Simple but sufficiently detailed information to give them a clear idea about
courses provided by UCTI
iii.
Up-to-date information
iv.
Links and contact numbers to people or places at UCTI for them to get more
detailed information
v.
Freedom to navigate around the new system (EG – able to go back to a previous
screen if a wrong key is accidentally pressed)
vi.
Satisfied with the information they have obtained from the system after using it
93
4.1.12 Roles of Internal Parties
i.
Students of hired staff of UCTI seeking information about courses provided by
UCTI
ii.
Must expect only novice level information
4.1.13 Expectations
i.
Up-to-date information
ii.
Easy-to-understand interface for quick navigation to the information they want
iii.
Links and contact numbers to people or places at UCTI for them to get more
detailed information
iv.
Freedom to navigate around the new system (EG – able to go back to a previous
screen if a wrong key is accidentally pressed)
94
4.1.14 Guide for Users to Effectively Use PO‘C’DON
This section provides a brief guide to users on how to effectively use PO‘C’DON to
effectively get the information they want.
4.1.15 The user task model
Things that a user should remember when using PO‘C’DON
i.
The system is meant for novice users. Information will be concise but necessarily
in-depth and extremely detailed.
ii.
PO‘C’DON is developed exclusively to answer question about courses provided
by UCTI. Attempts to engage PO‘C’DON into talking about other subject
matters will only result in errors.
iii.
Although PO‘C’DON is capable of accepting grammatical and spelling errors in
input texts, it is limited to the extent of its synonym base. Therefore, for effective
usage, users are encouraged to refrain from using short forms, alternative spelling
and or ambiguous sentences. Users are however encouraged to use the keywords
displayed by PO‘C’DON for maximum effectiveness. The usage of numbers
listed beside options in menu’s are also encouraged for improved accuracy.
iv.
Although PO‘C’DON is developed as expert system that supports conversations
with users, it cannot talk to a user as a human does. Typing in long input texts
with many nouns and verbs in it can cause PO‘C’DON to accidentally fire an
unwanted output text.
v.
Using PO‘C’DON is easy! PO‘C’DON has been designed to be as user friendly
as possible. As such, users are always guided with instructions when they use the
system. Simply follow the instructions listed and PO‘C’DON can be very
effective and easy to use.
95
4.1.16 User Manual
The following is a summarised User Guide. This summarised user guide can be
included with the PO‘C’DON installation CD jewel case so as to enable users to
quickly learn how to use the system.
i.
Run Setup.exe
or Verbot4Standard.msi
to install the Verbot player from
the installation disc
ii.
When the Setup has completed, run the Verbot 4 Standard Player and insert the
registration key (if asked) found in RegKey.txt
iii.
Navigate to FILE, LOAD_KNOWLEDGE_BASE on the top left of the Player.
iv.
Navigate to the folder “PO‘C’DON ” found in the installation disc and select the
pocdon icon from the list
v.
Once selected, click OPEN. The PO‘C’DON knowledge base should now be
loaded
vi.
To load PO‘C’DON ’s interface skin, navigate to EDIT, OPTIONS
vii.
In the dialog box that appears, click AVATAR and click BROWSE at the Verbot
Skin column
viii.
Navigate to the PO‘C’DON folder in the installation disc and load
and click open
ix.
You are now ready to use PO‘C’DON
ucti_skin
96
4.2 Detailed Design
This sub chapter discusses about the detailed design for the software.
4.2.1
The Basic Interface Design of PO‘C’DON
In order to develop a system that is simple and effective to use, the following criteria
are adopted in the new system’s design:
i.
Reduction of repetitive tasks
ii.
Maximizing user’s feel of control when using the system
iii.
Output of correct and accurate information as requested by the user
The Graphical User Interface (GUI) between the user and the PO‘C’DON’s
knowledge base is as shown below
Figure 4.12 The Graphical User Interface of PO‘C’DON
97
The interface runs on the Verbot 4.01 Standard Player application software. This
application software is bundled in with every installation disk of the new system. The
GUI of PO‘C’DON features
4.2.2
An 800 by 600 pixel sized window pane
The size of the GUI window pane gives a more spacious feel to the new
system. The large window size also allows more information to be displayed within
the output screen at a go.
4.2.3
Graphics
The GUI features the UCTI building as its background image. This image is
used as a graphical cue to indirectly inform a user that he/she is about to interact with
an expert system that is will relay information about UCTI.
In addition to that, the UCTI logo is placed on the upper right side of the
window pane so as to inform the user that the expert system and the image behind it
are about UCTI. It also attempts to introduce the name of UCTI, both in its
abbreviated and full form to the user as supplementary information.
98
4.2.4
User Guidance
Figure 4.13 The “Type Here” Instruction
To make things clearer to the user, a type here instruction is placed over the
input dialog box so as to show the user clearly the dialog box that he/she should use
for typing in questions.
4.2.5
Larger output screen
On some occasions, the user may type in a question that may cause the
system to generate a long answer. To accommodate this, the output dialog box
(bottom of the window pane) is made larger than the input dialog box so as to be able
to support more words.
99
4.2.6
Clear type fonts
Figure 4.14 An instance of user input and Coursebot output
The following are the formats for the texts used in the GUI. The goals of the
text formatting are to enable users to easily read the texts displayed within the GUI.
i.
Input Text (Text typed in by the user)
a. Font Family – Georgia
b. Font Size - 9pt
c. Font Colour – Blue
ii.
Output Text (Text displayed by PO‘C’DON )
a. Font Family - Verdana
b. Font Size – 9pt
c. Font Colour – Black
100
4.2.7
Audio output
In consideration for physically disabled users (blind users), the GUI supports
Natural Language Processing. As such, PO‘C’DON is capable of reading out via
speech the output it produces. This allows blind users to be able to use the Coursebot
to get the information they want easily. The speech voice chosen for PO‘C’DON is a
female voice that aims to give a more subtle impression to the user.
4.2.8
Advanced Features of PO‘C’DON Interface
In consideration for the ease of usage and consistency of information
provided by PO‘C’DON, several features are integrated into PO‘C’DON to enhance
its functionality as an expert system that caters to novice users.
The list of features implemented in PO‘C’DON’s interface is as follows:
i.
The Menu Driven Interface
ii.
The Output Text Super Template
iii.
Reduction of Repetitive Tasks
iv.
Maximization of User Freedom
v.
Error Management
vi.
Links to External Sources
101
4.2.9
The Menu Driven Interface
One of the key features of PO‘C’DON is its ability to display direct links to
information that a user may want to access when using the system. As such, the
system developers decided to use a menu driven interface design to allow users to
i.
Easily view the options available to them via a list of options
ii.
Type in numbers or keywords that can quickly lead them to the information
they want
iii.
From the author’s point of view, the menu driven interface allowed the author
to maintain the consistency of all the output statements in the system via the
usage of numbered selection menu and keywords.
Figure 4.15 An Instance of the Menu Driven Interface Used by PO‘C’DON
102
4.2.10 The Output Text Super Template
Other than the menu driven
interface, an output text super template was
developed to be used in all the output texts of PO‘C’DON. The key goal of the
output super template is to
i.
Maintain output text consistency throughout the system
ii.
Allow author to develop quickly add/change/delete information easily (this is
because the template divides the output text into various sections. Each
section will only contain one set of related information to it.)
iii.
Keep information organized and neat (Reduce confusion)
iv.
The table on the next page displays the format of the super template used in
all the output texts of PO‘C’DON
Table 4.1 The Super Template Used for Output Texts Generated by PO‘C’DON
Reply line/ Conversational line –
This portion of output text will contain the replies to input typed in by the user. It
may also contain conversational lines that PO‘C’DON uses to talk to the user.
Each section of information text in this section is separated using paragraphs.
< 1 space break >
Menu –
This section of the output text will contain a menu with a list of selections (where
applicable) to allow the user to see the list of options available to him/her to choose
from.
103
The menu displayed will have the following:
a) Numbering beside each selectable option (EG – 1, 2 and so on)
b) Capitalized keywords that can lead a user to another part of the system (EG –
COURSES, FEES and so on)
< 2 space breaks >
“BACK”, “RETURN” and “PREVIOUS” functions –
This section contains the following keywords as listed above. These keywords allow
a user to retrace his/her steps when he/she wants to go back to the previous message
shown by PO‘C’DON.
Keywords in this section are also capitalized.
< 1 space break >
External Links –
In this section of the output text, output information, links and references to sources
of information outside the system are listed (where applicable). (EG – Contact
Mr.Shen at XXX-XXX-XXXX)
4.2.11 Reduction of Repetitive Task
To reduce the amount of repetitive tasks that a user has to undergo when
using the system, multi-linking is used. This multi-linking technique is implemented
104
by providing the user with the choice of switching from one topic to another in the
system by just typing in an option. This allows the user to quickly move from one
section of the system to another without having to restart the system right from the
beginning over and over again.
Figure 4.16 Multi Linking allows user to move from one topic to another
4.2.12 Maximum of User Freedom
To maximize the user’s feel of freedom when using the system, the BACK
command is used throughout the output texts in the system. With the BACK
command, the user can easily return to the previous message displayed by
PO‘C’DON should he/she change his/her mind about something.
105
In addition to that, a user is also given additional freedom in inputting
questions or requests. As seen in figure 4.17, the user is informed that he/she can
make select an option from the menu displayed by keying in the number listed beside
the desired option. However, should the user decide to type in his/her desired option,
the new system will still be able to recognize the user’s input as a valid choice and
will subsequently lead him/her to the appropriate menu.
To minimize the stereotype feel of the system, PO‘C’DON has been
programmed to read and accept full sentences as acceptable input. This allows the
user to have more freedom when typing in questions or requests. It also makes the
entire system feel more conversational. Figure 4.16 shows an instance of a
conversational like user input that PO‘C’DON accepts as a valid input.
Figure 4.17 PO ‘C’DON accepts conversational inputs
Using a number synonym bases, some degree of error handling can also be
managed by PO‘C’DON. For an example, in Figure 4.18, the user is prompted to
type in either MORE or INFO to proceed to the next menu. If however the user
accidentally keyed in MOR or INF, PO‘C’DON will still be able to recognize it as a
106
valid input and will continue to lead the user to the next menu despite the erroneous
spelling. This precaution gives the user added freedom in typing in input10.
4.2.13 Error Management
Undeniably, there will definitely be some instances where a user will enter an
input which is unrecognized by PO‘C’DON. Some of the instances that can trigger
this event are:
a. Request or question typed in by the user is beyond the limits of POC’DON’s
knowledge base.
b. Incomprehensible or non-meaningful text is typed in as input.
c. Non-existent selection numbers or keywords are typed in by the user when he/she
has to make a choice from a menu displayed in the output text.
In such events, the error even handler wildcard is used to resolve the issue. Figure 6
shows the standard output that is displayed whenever an unrecognized term or
questions is typed in by the user.
10
Although PO“C”DON is capable of supporting mistakes and errors made by a user when typing in
input, there is a certain degree of acceptability to the errors made. If the error made by the user has not
been for-seen by the development team and has not been included in the synonym base, the user will
be lead to an error message and will be prompted to retype in his/her request once again.
107
Figure 4.18 Error Handler Wildcard Output to solve redundant input
The error management rule in PO‘C’DON’s programming is designed specially to
handle:
a. Unknown terms/questions, Terms/questions beyond PO‘C’DON ’s knowledge
base, and incomprehensible inputs (EG – xysdyna)
b. Blank inputs (EG – pressing enter before typing anything in the input dialog box)
108
4.2.14 Links to External Sources
Figure 4.19 Bottom menu provides external links to outside sources
Due to the limitations in PO‘C’DON’s knowledge base, not all questions put
in by the user can be answered. PO‘C’DON is not able to infer conclusions on
questions or requests that is not within its knowledge base.
As such, the author of the system has implemented linking to outside sources
into the output texts of the system (most notably in the Error Handler Wildcard
Output Text). This outside link allows a user to access the UCTI website (if he/she
has an internet connection) in order to get more information from the UCTI website
itself.
Figure 4.20 Outside Links provided by PO‘C’DON
109
As can be seen in figure 4.21, as soon as the user types in a or A, PO‘C’DON will
execute a command that opens up the user’s default internet browser and loads the
UCTI website.
In addition to the web link provided by PO‘C’DON , the contact numbers of 2
human domain experts are provided also so as to allow the user to get in contact with
them should they wish to know advanced information that PO‘C’DON cannot give.
4.3 System Flow Chart
Due to the extensive elaboration provided on the flow of data in PO‘C’DON,
the flow charts in this section have been moved to softcopy in the CD – Flow Charts.
110
4.4 Software development of PO‘C’DON
The development of PO‘C’DON was fully done in the Verbot Script Editor.
4.4.1
Knowledge base and source code
To view the knowledge base source code of PO‘C’DON, please refer to the softcopy
in the CD
4.5 Testing and Evaluation
To ensure that the system works as desired, test plans are carried out to ensure
that the pre-programmed output results put into PO‘C’DON’s knowledge base
(Expected Result) is the very same output results provided by PO‘C’DON during
actual testing.
111
4.5.1
Internal Testing
Internal testing is done test out the accuracy of PO‘C’DON’s programming.
Internal testing is done by the author.
4.5.2
External Testing
External testing is carried out by the author to gather views on what people
think about the system. These results are then compiled into statistical formats to
display the data in a systematic form. These results can be used in the future by the
development to conduct maintenance to improve PO‘C’DON. These results can also
be used to see if the system has achieved its goals.
i.
Post System Survey
This questionnaire form is distributed to people around UCTI to gather their
opinions on what they think about PO‘C’DON. The groups of people tested in this
questionnaire are:
a. Students
b. Staff
(Please refer to Appendix C for the post system questionnaires and their results)
ii.
Summary of Post System Survey
112
The post-system questionnaire has served to obtain feedback from external
users; both staffs and students. From the results gathered, the system has gained quite
a satisfying response from external users who have tested/tried using the system.
Around 70% of the staffs and 60% of the students strongly agree that the
system provides sufficient answer. 80% of staffs and students strongly agree that the
system is able to deliver simple and clear explanation to them when in use. Besides
that, the percentage of staffs and students that strongly agree with the system’s
ability to provide fast and convenient services to users is 70%. 80% of students who
have tested the system strongly agree that the system is user friendly and has an
interactive interface/design, while only 60% of the staffs strongly agree to it. In the
system’s ability to express communication in a well-mannered way, 100% of staffs
and 90% of staffs strongly agree to it. Some of the staffs and students do think that
the system is slightly boring. But as overall, the external users strongly agree that the
system provides satisfaction is services. In conclusion, the system has fulfilled its
requirements and purpose, however, there’s more to improve in future time.
Please refer to the Software Test Requirement document. Appendix A
113
4.6 Maintenance and training of PO‘C’DON
This section outlines the up-keeping of the PO‘C’DON expert system as an upto-date and effective Coursebot.
4.7 Limitations of PO‘C’DON
This section of the report will list down the limitations found in PO‘C’DON.
The limitations explained here will be separated according to:
Before looking at the limitations of PO‘C’DON , it is advised that the reader
read an explanation on the application software or expert system shell used to
develop it11.
4.7.1
The Present Limitations of PO‘C’DON
PO‘C’DON has a number of limitations due to the constraints present in both
the author, the expert system shell used and also other external factors.
11
One reason why the application software used to develop PO“C”DON is explained here is because
the application software itself is one of the causes of limitations in PO“C”DON’s programming.
114
4.8 Constraints faced by the author
This sub chapter explain the constraints faced by the author.
4.8.1
Lack of knowledge in C# programming
After several days of working with the Verbot Script Editor, the author
discovered that the usage of C# codes could greatly enhance the feel of PO‘C’DON.
Unfortunately, the author has no knowledge of C# codes and was unable to
effectively manipulate and develop codes in C# to be implemented within
PO‘C’DON’s knowledge base. Limitation of PO‘C’DON due to this factor:
PO‘C’DON could not be developed to include the enhancements possible via
the usage of C# codes. As such, many possibilities of making PO‘C’DON a more
competent expert system were diminished.
4.8.2
Constraints due to the Limitation of the Expert System Shell used
This sub chapter explain the limitation of the expert system shell.
115
i.
Stereotype development due to the software architecture of Verbot 4
The design perspective of the Verbot 4 Script Editor places a lot of emphasis
on input/output statements and rule organization. Other layouts providing different
perspectives were unavailable to the developers while using the Script Editor (EG –
AIML or Prolog coding screens).
Limitation of PO‘C’DON due to this factor
PO‘C’DON could only be developed as a system that simply matches an input
text to an appropriate output text based on rule searching. PO‘C’DON does not have
any decision making algorithms embedded into it. It cannot generate conclusions
about any topic or question beyond its knowledge base.
ii.
The “Condition” and “Command” dialog boxes in the input and output
windows
The Verbot 4 Script Editor attempts to decrease the stereotype feel of systems
developed using it via the usage of conditions and commands that can be added to an
input or output statement. Unfortunately, these 2 command boxes only support C#
coding. As such, adding conditions and/or commands to input/output statements is
extremely tedious and difficult.
Limitation of PO‘C’DON due to this factor:
PO‘C’DON was developed without any implementation of conditions and
commands in its input and output statements due to the complexity of the language.
As such, PO‘C’DON will not have the added functionalities of a system that embeds
C# coding within its knowledge base (EG – algorithms to support decision making
processes [if-else statements]).
iii.
The Skin Editor in the Verbot 4 Script Editor supports only limited
functions
It was originally intended by the author to use different colours for keywords,
links and important points within PO‘C’DON’s output text. The intent of using
116
different colours was to alert a user to the significance or importance of these words
within an output text produced by PO‘C’DON. Unfortunately, the Skin Editor only
supported 1 colour for an entire output text.
Limitation of PO‘C’DON due to this factor:
The usage of different colours for significant words within PO‘C’DON’s output text
could not be implemented. Instead the development team capitalized significant
words to alert a user to their importance (EG – “BACK”, “PREVIOUS” etc)
iv.
Agents Speech and Pronunciation Issues
The pronunciation for a lot of new words had to be programmed into
PO‘C’DON for it to pronounce them correctly (EG – UCTI, POCDON etc).
However, not all word pronunciations could be programmed into Verbot as the
author had no knowledge of what words a user will type in when talking to
PO‘C’DON .
Limitation of PO‘C’DON due to this factor
PO‘C’DON may have pronunciation issues for words not programmed into it
(EG – people’s names).
v.
Monotonous or repetitive replies
Although one of the conceptual design goals of PO‘C’DON is to reduce
monotonic speech patterns and repetitive replies, PO‘C’DON is not entirely free of
these elements due to the limitations in the Verbot Script Editor. The author cannot
predict all the ways in which a user can communicate with PO‘C’DON, standard
replies are used for certain situations (EG – when the user types in an unrecognized
term or question, PO‘C’DON will automatically fire a rule containing a standardized
output text for handling unrecognized terms or questions.)
Limitation of PO‘C’DON due to this factor:
PO‘C’DON will not have much conversing diversity when it is repetitively
used by users over and over again.
117
vi.
Conflict between Virtual Child Rules and Comma Separated Values
(CSV) file
It was originally intended by the author of the system to use CSV files to
attach database content to PO‘C’DON. However, after some experimentations, it was
discovered that the inclusion of CSV files into PO‘C’DON”s .CKB files causes
conflicts in the virtual child rules added to the PO‘C’DON.
The following scenario depicts the experiment conducted by the author to display the
conflict in Virtual Child Rules caused by the addition of a CSV file into a demo
programme:
Virtual Child only
Select colours below:
1. Red
2. Orange
3. Yellow
4. Green
5. Blue
6. Indigo
7. Violet
Table 4.2 Select Colours
_startup:
There is no virtual child except 4;
Grass, leafs, algae. This has a virtual child
link to 1.
4:
118
Figure 4.21 Virtual Child on Rule 4
Figure 4.22 Virtual Child on Rule 4 on Script Tester
119
After implementing CSV
Figure 4.23 adding a *wildcard with CSV contents as child
120
:
Figure 4.24 Virtual Child Reconfirmation
Figure 4.25 Virtual Child is Gone!!
121
4.8.3
i.
Constraints due to External Factors
Time Factors
The author of PO‘C’DON was given a timeframe of about 4 months to
completely finish the programming and documentation of PO‘C’DON. As such,
many elements of proper system design had to be either done simultaneously or
omitted altogether.
Limitation of PO‘C’DON due to this factor:
Due to the short time frame given, only general information about courses in UCTI
could be collected. This in turn prompted the developers of PO‘C’DON to label it a
novice level expert system as it could not be developed to answer complex questions
which require advanced information.
ii.
External Knowledge Sources
As the knowledge contained in PO‘C’DON’s knowledge base if from
external sources, the accuracy of the information provided by PO‘C’DON is
dependent on these sources. Due to the fact that PO‘C’DON cannot automatically
retrieve new information about courses provided by UCTI and update its knowledge
base without any human intervention, information provided by PO‘C’DON may
become outdated over time.
Limitation of PO‘C’DON due to this factor:
IF the courses provided by UCTI are revised, updated or modified in any way,
AND if new courses are started out by UCTI,
THEN PO‘C’DON’s knowledge base will be outdated.
122
iii.
Limited Cross Platform Capability
As the application software used to develop PO‘C’DON is only limited to
proper functioning in Windows based platforms, there may be undesired results or
crashes in PO‘C’DON when it is used on other platforms such as Mac and Linux.
Limitation of PO‘C’DON due to this factor:
People who wish to use PO‘C’DON on their own personal PC’s may encounter
errors or crashes if they’re not using a Windows operating system. As such, the
amount of users using PO‘C’DON is somewhat limited.
4.9 Future Enhancements
Based on the limitations mentioned in the section above, the author has come
up with a list of future enhancements that can be implemented when new tools and/or
resources become available.
4.9.1
Migration of entire knowledge base into different expert system shell
Should the author come across a more powerful expert system shell in the
future, the entire knowledge base of PO‘C’DON can be migrated into this new
expert system shell. Using the new expert system shell, it is highly probable that
many issues currently faced by PO‘C’DON can be resolved (EG – development
perspective issues, limitation on tools in Script Editor, Speech and Pronunciation
Issues etc).
123
4.9.2
Inclusion of inference engines and other algorithms to improve
PO‘C’DON’s performance
It is also possible that in the near future, the author will become acquainted
with C# coding methods and practices. Should that come to pass, the author cum
developer may endeavour to create an inference engine for PO‘C’DON to make
conclusions about unknown data. In addition to that, C# codes can also be used to
create algorithms (EG – combining variables, manipulating variable values etc) to
enhance the PO‘C’DON’s performance. These enhancements can be carried out even
if PO‘C’DON’s knowledge base is not migrated into a more powerful expert system
shell.
4.9.3
Improvement to PO‘C’DON’s knowledge base
With more time and research, the author is confident that PO‘C’DON’s
knowledge base can be significantly upgraded to support much more information on
more topics. Thus, PO‘C’DON can be upgraded into an “intermediate “or “advance”
level system that can cater to a wider scope of people and support much more levels
of interactivity.
4.9.4
Cross-Platform Support
In the future, when more advanced expert system shells or expert system
development tools become available, experiments can be conducted to enhance
PO‘C’DON
so as to allow it to have cross-platform capability. With the
implementation of cross-platform capability, PO‘C’DON can be used in multiple
platforms and OS’s such as Mac and Linux.
124
4.10 Maintenance
This section provides contacts for users of PO‘C’DON to contact author should
the need to do so arise. Maintenance ensures that the system is can constantly be
updated over time to remain up-to-date and effective.
4.10.1 Solved Bug List via Pilot Testing
Pilot testing was done with the final version of PO‘C’DON shortly before its
release to public. The pilot testing yielded a number of unsolved errors (bugs) which
were not noticed before by the author. As such, the author conducted maintenance on
PO‘C’DON shortly before its release to solve these problems. The table below lists
down the bugs found and also their solutions.
Table 4.3 Resolved Bug List
NO Location/Rule
Problem/Symptom
Solution
1
CourseInformationModule -> _yes ->
1_BusinessCourses -> CourseList ->
2_InternationalBusinessManagement ->
More_Info -> back
back has no response
add virtual
child
2
CourseInformationModule -> _yes ->
1_BusinessCourses -> CourseList ->
3_MarketingManagement
CourseInformationModule -> _yes ->
1_BusinessCourses -> CourseList ->
4_HumanResourceManagement -> * >back
CourseInformationModule -> _yes ->
1_BusinessCourses -> CourseList ->
“a)Technopreneurship
(this course)”
Change to
Marketing
Management
add virtual
child
3
4
back not functioning
back not functioning
add virtual
child
125
5
6
7
8
9
10
11
12
13
14
15
4_HumanResourceManagement -> back
CourseInformationModule -> _yes ->
1_BusinessCourses -> CourseList ->
5_AccountingFinance -> b
CourseInformationModule -> _yes ->
2_ComputerGamesDevelopment
&WebMediaCourses -> CourseList ->
1_ComputerGamesDevelopment ->
More_Info -> * -> back
CourseInformationModule -> _yes ->
2_ComputerGamesDevelopment
&WebMediaCourses -> CourseList ->
2_WebMediaTechnology -> More_Info
-> * -> back
CourseInformationModule -> _yes ->
3_EngineeringCourses -> CourseList ->
1_Electrical&Electronic -> More_Info
CourseInformationModule -> _yes ->
3_EngineeringCourses -> CourseList ->
1_Electrical&Electronic -> More_Info > * -> back
CourseInformationModule -> _yes ->
3_EngineeringCourses -> CourseList ->
2_ElectronicIT -> More_Info -> * ->
back
CourseInformationModule -> _yes ->
3_EngineeringCourses -> CourseList ->
3_Telecommunication -> More_Info ->
* -> back
CourseInformationModule -> _yes ->
3_EngineeringCourses -> CourseList ->
1_Electrical&Electronic -> b
CourseInformationModule -> _yes ->
3_EngineeringCourses -> CourseList ->
2_ElectronicIT -> More_Info -> back
CourseInformationModule -> _yes ->
5_MediaProgrammes -> CourseList ->
1_MediaMarketing -> b
CareerOptionsModule
no linkage to B (other
branches of Biz School)
add virtual
child
back not functioning
add virtual
child and
<send> tag
corrected
back not functioning
add virtual
child and
<send> tag
corrected
“a” is not working
add input
back linkage problem
<send> tag
corrected add
virtual child
back linkage problem
<send> tag
corrected add
virtual child
back linkage problem
add virtual
child
B not working
add virtual
child
back crashed
add virtual
child,
<send> tag
corrected
add virtual
child
b not working
PO‘C’DON giving
random response errors
16
CareerOptionsModule ->
1_BusinessCourses ->
5_Accounting&Finance -> _accounting
blank response
17
CareerOptionsModule
RETURN for all
programmes are not
Cancel
virtual child
to Main
Modules
change
<send
_accouting>
to <send
_accounting>
add virtual
child to
126
18
CareerOptionsModule
19
CareerOptionsModule -> _Career3
working
Ambiguity for Career for
each subject and Course
Information
Ambiguity occurred
Welcome
set specific
input for
Career
Subjects
instead for 1
to 6
Discarded
input are
back and
previous.
127
CHAPTER 5
DISCUSSION AND CONCLUSION
This section describe about the conclusion of the whole project development.
It includes comments and the contribution from software engineering and project life
cycle aspects. During the project execution here are the three main areas focused
i
ii
iii
iv
Achievement / Lesson learnt
Constraints and challenges
Aspirations
Limitation of Expert System
5.1 Achievement / Lesson Learnt
The author has learned a lot about the real would software engineering
especially on the DOD standards, Artificial Intelligence and build an Expert System
in a new form called Chatterbot
The author has a difficult time deciding which methodology to use; this is due
to the environment of the project which was to build an expert system. As ESLC has
many similarity with the traditional SDLVC was referred to use Software
Engineering techniques.
The requirement capturing process has to be done and presented simple to the
organisation. In building an ES, gathering information from the domain area is the
most important part as it is in the knowledge acquisition phase
128
Although there are a lot of standards available to follow, but it does not mean
that all criteria of the standard are to be followed in order to make the technical
documents complete. The standards are merely a guide to follow it should be
customised against the need of the company or the project specification
Hence any developers can customise the project idea of documentation based on the
project nature and resources available
5.2 Constraints
Among the constraints that the author identify during the software process
development are
i.
no clarity on software requirement
ii.
lack of software and computer competency
iii.
time constraints
iv.
cross functional project
5.3 Aspirations
Conclusion of the thesis, it has gave a desire for the author to study the area
of Artificial Intelligence. In Malaysia this technology is still moving very slow. The
system that the author build, would the first chatterbot system build by a Malaysian
and running on a local private university
129
5.3.1
What is Artificial Intelligence?
Definition. Artificial Intelligence (AI) is a branch of Science which deals
with helping machines finds solutions to complex problems in a more human-like
fashion. This generally involves borrowing characteristics from human intelligence,
and applying them as algorithms in a computer friendly way. A more or less flexible
or efficient approach can be taken depending on the requirements established, which
influences how artificial the intelligent behaviour appears.
AI is generally associated with Computer Science, but it has many important
links with other fields such as Maths, Psychology, Cognition, Biology and
Philosophy, among many others. Our ability to combine knowledge from all these
fields will ultimately benefit our progress in the quest of creating an intelligent
artificial being.
i.
Why Artificial Intelligence?
Motivation. Computers are fundamentally well suited to performing
mechanical computations, using fixed programmed rules. This allows artificial
machines to perform simple monotonous tasks efficiently and reliably, which
humans are ill-suited to. For more complex problems, things get more difficult.
Unlike humans, computers have trouble understanding specific situations, and
adapting to new situations. Artificial Intelligence aims to improve machine behaviour
in tackling such complex tasks.
Together with this, much of AI research is allowing us to understand our
intelligent behaviour. Humans have an interesting approach to problem-solving,
based on abstract thought, high-level deliberative reasoning and pattern recognition.
Artificial Intelligence can help us understand this process by recreating it, then
potentially enabling us to enhance it beyond our current capabilities.
130
ii.
When will Computer become truly intelligent?
Limitations To date, all the traits of human intelligence have not been
captured and applied together to spawn an intelligent artificial creature. Currently,
Artificial Intelligence rather seems to focus on lucrative domain specific
applications, which do not necessarily require the full extent of AI capabilities. This
limit of machine intelligence is known to researchers as narrow intelligence.
There is little doubt among the community that artificial machines will be
capable of intelligent thought in the near future. It's just a question of what and when.
The machines may be pure silicon, quantum computers or hybrid combinations of
manufactured components and neural tissue. As for the date, expect great things to
happen within this century.
iii.
How does Artificial Intelligence work?
Technology. There are many different approaches to Artificial Intelligence,
none of which are either completely right or wrong. Some are obviously more suited
than others in some cases, but any working alternative can be defended. Over the
years, trends have emerged based on the state of mind of influential researchers,
funding opportunities as well as available computer hardware.
Over the past five decades, AI research has mostly been focusing on solving
specific problems. Numerous solutions have been devised and improved to do so
efficiently and reliably. This explains why the field of Artificial Intelligence is split
into many branches, ranging from Pattern Recognition to Artificial Life, including
Evolutionary Computation and Planning.
131
iv.
Who uses Artificial Intelligence work?
Applications. The potential applications of Artificial Intelligence are
abundant. They stretch from the military for autonomous control and target
identification, to the entertainment industry for computer games and robotic pets.
Also not forgot big establishments dealing with huge amounts of information such as
hospitals, banks and insurances, which can use AI to predict customer behaviour and
detect trends.
As you may expect, the business of Artificial Intelligence is becoming one of
the major driving forces for research. With an ever growing market to satisfy, there's
plenty of room for more personnel. So if you know what you're doing, there's plenty
of money to be made from interested big companies.
v.
Where can I find out about Artificial Intelligence?
Information. If you're interested in AI, there is a lot of website online to read
and learn about AI.
Getting a good book on the subject is probably one of the smartest moves to
make if you are really serious about Artificial Intelligence. A good starting point is
the book called Artificial Intelligence: A Modern Approach, which covers important
material from the ground upwards.
132
5.4 Building an AI Chatbot using Verbot
This section describes how to build an Artificial Intelligence (AI) Chatterbot
using an open source Regular Expression based natural language processing engine
called Verbot. Chatterbot technology is not new
5.4.1
Introduction
This section describes how to build an Artificial Intelligence (AI) Chatterbot
using an open source, Regular Expression-based natural language processing engine
called Verbot. Chatterbot technology is not new, but has been growing in popularity
and usage as people experiment with new ways of interacting with computers.
Chatterbots, Animated Characters, Speech Recognition and Voice Synthesis are
being used to facilitate new human–computer interaction (HCI) channels.
5.4.2
Background of Verbot
The original chatterbot, ELIZA was developed by Joseph Weizenbaum in
1966. ELIZA was a virtual psychotherapist that would attempt to engage the user by
staying on topic and sounding concerned with his/her problems. In 1994, Michael
Mauldin -- the creator of the first Verbot, Sylvie -- coined the term "ChatterBot."
Since then, Verbots have evolved and matured into the current Verbot 4.1 version
created by Conversive. In 2006, Conversive released the Verbot SDK as open source
to allow people to easily create their own 'bots and embed them in their own
applications. This article describes some of the basics behind the Verbot Engine SDK
and how the SDK can be integrated into another application.
133
5.4.3
How does Verbot work
Before delving into code, the author would thought it would be useful to
explain at a high level how the Verbot SDK works. All chatterbots have an idea of a
"Knowledgebase" or script, which tells the 'bot what keywords or phrases to
recognize. The corresponding output is then sent to the user when a match is found.
Verbot Knowledgebase’s are made up of a collection of rules that are the
fundamental building blocks of Verbot conversations. Rules must have one or more
Inputs, which recognize what the user says. They must also have one or more
Outputs, which are what the 'bot responds when an input in the rule is matched.
When the Verbot Engine loads a Knowledgebase file, it turns the simple text inputs
found in the script into regular expressions that can then be used as the basis for
matching.
For example, let's say we have an input which is:
What is your name?
The resulting regular expression generated by the engine looks like this:
^(|.*?\b|.*?\s)What\b.+?\bis\b.+?\byour\b.+?\bname(|\b.*?|\s.*?)$
This may be a bit daunting if users are unfamiliar with Regular Expression
syntax. Even if users are familiar, it may still seem a bit cryptic. Basically, the engine
has put wildcards between words, as well as at the start and end of the phrase. This
regular expression will match to, "So, what the heck is your name?" but not to,
"What's your name?" To match to this, we could use the Synonym feature in
Verbots, which user can learn more about at their website along with other, more
advanced scripting topics. Also, there is a good Regular Expression syntax reference
over at dotnetcoders if you'd like to learn more about rage.
Verbot Knowledgebase’s (.vkb extension) are XML files that define the rules,
inputs and outputs of the Knowledgebase. They may also reference other Verbot 4
file types such as Synonyms, Replacement Profiles and Code Modules. Verbots
allows user to compile your VKB files into a more compact binary Compiled
Knowledgebase (.ckb extension) file format.
134
5.4.4
Testing the application
Execute the VerbotWindowsApplicationSample.exe file found within the
VerbotWindowsApplicationSample\bin\Release folder. Once the application is
running,
choose
the
File
->
Load...
menu
item
and
browse
to
the
VerbotWindowsApplicationSample\Resources\sample.ckb file to open the sample
Knowledgebase. Once the file is loaded into the engine, user may interact with the
'bot. Try typing notepad to test out one of the rules included in the sample
Knowledgebase.
Notice how the program has started Windows Notepad. This is behaviour
coded into the Sample application to parse commands in the script. Author will talk
more about this later.
5.4.5
Using the code
To use the Verbot Engine SDK inside user own application, simply include
the Verbot4Library reference in users project, create an instance of the
Verbot4Engine and call either AddCompiledKnowledgeBase or AddKnowledgeBase
to load user 'bot's knowledge. To interact with the 'bot when user input comes in,
create a State object to uniquely identify your user. Add the paths to the
Knowledgebase’s user wants developers
user to interact with. Then call the
GetReply method on the Verbot4Engine object to find a match in the loaded
script(s).
Let's look at the getReply() function in our VerbotWinApp.cs file:
private void getReply()
{
string stInput = this.inputTextBox.Text.Trim();
135
this.inputTextBox.Text = "";
Reply reply = this.verbot.GetReply(stInput, this.state);
if(reply != null)
{
this.outputTextBox.Text = reply.Text;
this.parseEmbeddedOutputCommands(reply.AgentText);
this.runProgram(reply.Cmd);
}
else
this.outputTextBox.Text = "No reply found.";
}
This method takes the text in the input text box and sends it to the engine's
GetReply method. It gets a Reply object back, which we can then process. The Reply
object has a member "Text" that we will just put in the output box. It also has an
AgentText member, which is a version of the Text meant to be sent to a Text-ToSpeech (TTS) engine. It has a Cmd (Command) member, too, that we can use for
special processing as necessary.
Finally,
take
a
look
at
the
parseEmbeddedOutputCommands
and
runEmbeddedOutputCommand methods. These methods do custom processing based
on our requirements. This is where the "run" command opens Notepad, as I
mentioned above.
Depending on how users own application works, user can make
customizations to how the Reply object is handled. For example, in an online bot
engine user may want to process URLs by opening a popup window, etc.
5.4.6
Creating knowledge
There are some freely available tools to help you create a Verbot
Knowledgebase. Verbot GPL Editor and VCompiler is a couple of options to get you
started. User can also use the Verbot Editor, which costs $10 to unlock with a
registration code. If you'd like to create your own Knowledgebase creation tool, the
code is pretty straightforward. User may also want to look at the source code for the
Verbot GPL Editor, the author mentioned above as a good reference. Here is a
summary of the steps required to create a Knowledgebase in code
136
First, create an instance of the Knowledgebase class:
KnowledgeBase kb = new KnowledgeBase();
Then we'll want to create a rule to add to our KB:
Rule r = kb.AddRule();
Finally, for each rule you create you'll want to have at least one input and one
output. We could manually create and add inputs and outputs or we could simply call
the AddInput and AddOutput methods in the rule class:
r.AddInput("Input Text", "");
r.AddOutput("Output Text", "", "");
Now we've got a KnowledgeBase object with one rule that has one input and one
output. Of course, in a real application we wouldn't want to hard-code the Input Text
and Output Text fields and would probably want to allow the user to add these them,
but you get the idea. Next, we probably want to save our KB to a file. To do this, we
need an instance of the XMLToolbox class. Then we simply call the SaveXML
method to save the file:
XMLToolbox xmlToolbox = new XMLToolbox(typeof(KnowledgeBase));
xmlToolbox.SaveXML(kb, @"C:\mykbpath.vkb");
Then we want to be able to load our KnowledgeBase into the Verbot Engine and be
able to interact with it. Here is the code to do that:
Verbot4Engine engine = new Verbot4Engine();
KnowledgeBaseItem kbi = new KnowledgeBaseItem();
kbi.Fullpath = @"C:\";
kbi.Filename = "mykbpath.vkb";
engine.AddKnowledgeBase(kb, kbi);
State state = new State();
state.CurrentKBs.Add(@"C:\mykbpath.vkb");
Finally, to interact with the loaded knowledge bases just call the GetReply method
on the Engine, as discussed above
137
5.5 Discussion
Testing chatterbots is an occupation as old as chatterbots themselves. There
are different chatterbot contests in existence
i.
The Turing Test is based upon a game devised by Alan Turing in the 1950s.
In its basic common form, a person is connected via a terminal to a human
and a machine: by asking questions, the person tries to determine who is
responding - the computer or the real person. If they cannot tell the difference
after five minutes, the computer is deemed to have won. Turing predicted that
machines would be capable of being as human as humans by the end of the
twentieth century but it seems as if it will be some years yet before this dream
becomes reality.
ii.
Loebner prize. Since 1991, an annual Turing Test has been sponsored by
Hugh Loebner. The Loebner Prize offers $100 000 to the author of the first
program which passes the test. In 2001, the previous year's winner, Alice,
actually managed to persuade one judge that it was a human being. But
overall, no chatterbot came close to convincing all the judges that they were
really a human. Some people say that the rules of the Loebner Prize create a
situation where some consider that in order to win, a chatterbot needs to be
able to trick the judges, rather than showing true intelligence.
iii.
Chatterbox Challenge. A fun contest, where the public is invited to vote and
rank chatterbots according to their own criteria. Open to all botmasters and
chatterbot creators, it seeks to familiarize the public with this exciting new
technology. A panel of expert judges and the public vote will decide the best
bot among the contestants. AgentLand is sponsoring the prizes for the 2002
edition of the Chatterbox Challenge.
138
5.6 Constraints of Chatterbots due to Constraints of Expert System
Current deficiencies include
i.
Difficulty in capturing deep knowledge of the problem domain. MYCIN,
for example, lacks any real knowledge of human physiology. It does not
know what blood does or the function of the spinal cord. Folklore has it that
once, when selecting a drug for treatment of meningitis, MYCIN asked
whether the patient was pregnant, even though it had been told that the
patient was male. Whether this actually occurred or not, it does illustrate the
potential narrowness of knowledge in expert systems.
ii.
Lack of robustness and flexibility. If humans are presented with a problem
instance that they cannot solve immediately, they can generally return to an
examination of first principles and come up with some strategy for attacking
the problem. Expert systems generally lack this ability.
iii.
Inability to provide deep explanations. Because expert systems lack deep
knowledge of their problem domains, their explanations are generally
restricted to a description of the steps they took in finding a solution. For
example, they often cannot tell "why" a certain approach was taken.
iv.
Difficulties in verification. Though the correctness of any large computer
system is difficult to prove, expert systems are particularly difficult to verify.
This is a serious problem, as expert systems technology is being applied to
critical applications such as air traffic control, nuclear reactor operations, and
weapons systems.
139
v.
Little learning from experience. Current expert systems are handcrafted;
once the system is completed, its performance will not improve without
further attention from its programmers. This leads to severe doubts about the
intelligence of such systems.
In spite of these limitations, expert systems have proved their value in a
number of important applications. It is hoped that these limitations will only
encourage the student to pursue this important branch of computer science.
5.7 Conclusion
There is an extensive body of work on Chatterbots in computer environments
for education, teaching and training that adapt to the needs of the individual learner.
Work on personalisation and adaptively has included research into allowing the user
to enhance the systems adaptively by improving the accuracy.
This technology, if successful, could have widespread application in schools,
universities and other training scenarios
i.
Isaac Asimov in the three laws of robotic.
a. A robot may not injure a human being, or, through inaction, allow a human
being to come to harm.
b. A robot must obey the orders given it by human beings, except where such
orders would conflict with the First Law.
c. A robot must protect its own existence, except where such protection would
conflict with the First or Second Law.
d. From Handbook of Robotics, 56th Edition, 2058 A.D., as quoted in I, Robot,
Asimov, 1950.
140
The process of developing virtual humans is underway and sooner than we
expect we will have virtual companions (Badler, 2001). Nevertheless, we do not
seem ready for virtual peers. The traditional idea of a machine as a tool for functional
purposes conflicts with and moderates the human-metaphor driving the design and
the perception of social agents.
History has taught us that stereotypes and attitudes towards minorities are
difficult to modify. This being the case, for a long time to come, social agents must
be ready to cope with their subordinate role, without losing their believability, or
their capability for engagement and amusement.
This requires social intelligence and emotional sensibility. Alas, the importance
of social adeptness has been often under-evaluated and most of the effort has been
devoted to the reproduction of cognitive capabilities and attractive bodies.
We claim that social agents do not only have to look good: they also have to
behave well. Effective agents(chatterbots) should set up lasting and meaningful
relationships with users while satisfying functional needs and aesthetic experiences.
The development of effective social agents(chatterbots) will be an extremely
difficult task for future HCI research. According to the involvement framework (De
Angeli et al., in press, De Angeli et al., 2001), many different factors will affect the
strength and the quality of a relationship between human and virtual
agents(chatterbots). Among them, the most important are the task to be carried out in
the interaction, the familiarity between the agents (i.e., their common grounds) the
agents themselves, the context of the interaction and of course the users. Agents who
take part in a joint activity have specific roles (Clark, 1996). Activity roles are
determined by agents? perception of the social context. Human participants in joint
activity also have personal and social identities, which influence their action (Turner,
1996). Defining the users? characteristics that may affect their acceptance of virtual
partners and helping predict their behaviour during the interaction is a major
challenge.
Already issues related to the human side of the interaction have been raised.
Locus of control (Reeves and Rieckenberg 2000) and personality traits (Nass and
Lee, 2000) appear to be critical factors affecting the acceptance of social agents.
141
Human tendencies to dominate, be rude, infer stupidity were all present in our study.
Social agents will have a hard time to set up relationships with such unfriendly
partners
Although chatterbots have existed since the 1960s, there has been a clear increase
in interest in these technologies since the generalization of the Internet. Internet has
at the same time made chatterbots accessible to the general public, and created a real
need for web sites to have a human-like interface to cheerfully provide information
to thousands of people a day.
In turn, more and more effort is going into chatterbot research and development,
among both computer enthusiasts and commercial ventures. Although acquiring
human intelligence remains a distant dream, chatterbot technology can only keep
improving, to meet the ever-growing need for communication and information. It
seems sure that chatterbots have a significant role to play on the Internet of the
future. After all, wouldn't you rather speak to a person, even a virtual one, than a
machine?
The objective of this is to provide practical exposure of Software Engineering
elements to the author who wish to star their career after post graduation but do not
have the requisite experience in Software Engineering. The program orients them to
the needs of the industry and makes them more relevant and acceptable for
placement. With the above fundamentals objectives in mind, CASE indentified
several sub-objectives of this program:
•
To expose author to the real working environment and work situation in
Software Engineering world.
•
To nature quality Software Engineering graduates well verse with Software
Engineering technology, versatile, competitive, innovative and resourceful.
•
To prepare the author for what to expect once she has a pool of working
environment.
142
•
To allow author to utilize the skill and knowledge acquired in the earlier
semesters before the industrial attachments program.
•
To train and prepare author with knowledge and skill requirements of current
and future Software Engineering environment
143
Reference:
Conceptual Design [online], (2001), Interface
http://www.interfaceconcepts.com/concept.htm
Concepts,
Available
from
CHOI, J., Intangible Benefits [online], (2003), Six Sigma, Available from
http://www.isixsigma.com/dictionary/Intangible_benefits-259.htm
Expert System Life Cycle [online], (2003), Central Laboratory for Agricultural
Expert
System,
Available
from,
http://www.claes.sci.eg/meetings/material/03/ExpertSystem/EsLifeCycle2.ppt
Valenzuela D. and Shrivastava P., (2003), Interview as a Method for Qualitative
Research Qualitative Research [online], United States of America, Arizona State
University,
Available
From,
http://www.public.asu.edu/~kroel/www500/Interview%20Fri.pdf
Garrud P., (2004), Why a questionnaire by Paul Garrud [online], England,
Universities Collaboration in e-Learning (UCEL), University of Cambridge,
Available
From,http://www.ucel.ac.uk/showroom/questionnaire/downloads/questionnaire_note
s.pdf
Iowa State University, (2004), Focus Group Fundamentals [online], United States of
America,
Iowa
State
University,
Available
From,
http://www.oagbvg.gc.ca/internet/English/oag-bvg_e_19728.html
Professional Teachers Council, (2005), Research Methodologies Defined [online],
Australia,
Professional
Teachers
Council,
Available
From,
http://www.ptc.nsw.edu.au/scansw/method.html
Professional Teachers Council, (2005), Research Methodologies Defined [online],
Australia,
Professional
Teachers
Council,
Available
From,
http://www.ptc.nsw.edu.au/scansw/method.html
Professional Teachers Council, (2005), Research Methodologies Defined [online],
Australia,
Professional
Teachers
Council,
Available
From,
http://www.ptc.nsw.edu.au/scansw/method.html
144
S J Anderson, T Dewhirst, and P M Ling, (2006) - Every document and picture tells
story: using internal corporate document reviews, semiotics, and content analysis to
assess tobacco advertising. [online], United States of America, University of
California,
Available
From,
http://repositories.cdlib.org/cgi/viewcontent.cgi?article=4091&context=postprints
Spiral
Model
[online],
2007,
Whatis?.com,
Available
from
http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci755347,00.html
Expert
System
[online],
(2007),
http://orafaq.com/wiki/Expert_system
OracleFAQ’s,
Available
from
Office of the Auditor General of Canada, (2007), OAG Section 7:
Advantages/Disadvantages of Different Approaches to Collecting Data from
Individuals [online], Canada, Office of the Auditor General of Canada, Available
From, http://www.oag-bvg.gc.ca/internet/English/oag-bvg_e_19728.html
Colorado State University, (2008), Advantages and Disadvantages of the Survey
Method [online], United States of America, Colorado State University, Available
From, http://writing.colostate.edu/guides/research/survey/com2d1.cfm
Colorado State University, (2008), Advantages and Disadvantages of the Survey
Method [online], United States of America, Colorado State University, Available
From, http://writing.colostate.edu/guides/research/survey/com2d1.cfm
Download