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