INTAN NADIRAH BINTI AHMAD · 2019. 5. 7. · berikut adalah pengguna dapat memilih apa jawapan yang...
Transcript of INTAN NADIRAH BINTI AHMAD · 2019. 5. 7. · berikut adalah pengguna dapat memilih apa jawapan yang...
-
FURNITURE ONLINE ORDERING USING CHATBOT
INTAN NADIRAH BINTI AHMAD
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT) WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
2019
-
FURNITURE ONLINE ORDERING USING CHATBOT
INTAN NADIRAH BINTI AHMAD
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT) WITH HONOURS
FACULTY OF INFORMATICS AND COMPUTING
UNIVERSITI SULTAN ZAINAL ABIDIN
2019
-
i
DECLARATION
I hereby declare that this report is based on my original work except for quotations
and citations, which have been duly acknowledged. I also declare that it has not
been previously or concurrently submitted for any other degree at Universiti Sultan
Zainal Abidin or other institutions.
Name : Intan Nadirah Binti Ahmad
Date : 7 May 2019
-
ii
CONFIRMATION
This is to confirm that this final year project entitled Furniture Online Ordering using
Chatbot has been prepared and submitted by Intan Nadirah Binti Ahmad , with matric
number BTAL17046608 and has found satisfactory in terms of scope, quality, and
presentation as a part of the requirement for the Bachelor of Computer Science in
Software Development in University Of Sultan Zainal Abidin (UniSZA). The research
conducted and the writing of this report was under my supervison.
Name : Prof. Madya Dr. Engku Fadzli
Hasan Bin Syed Abdullah
Date : 7 May 2019
-
iii
DEDICATION
I am using this opportunity to express my gratitude to everyone who has supported me
to complete my final year project Furniture Online Ordering using Chatbot
successfully. I am thankful for their aspiring guidance, invaluably constructive criticism
and friendly advice during this project work.
I express my greatest gratitude to my supervisor, Prof. Madya Dr. Engku Fadzli Hasan
Bin Syed Abdullah, who helps in guiding me throughout my journey in finishing this
project. Under his supervision with a lot of advices, I was able to complete this final
year project successfully. Then, a honorable respect I present to my family especially
my parents for their understanding with my conditions.
I would also love to thanks all my friends and my course mates for supporting me and
gave me an aspiration to improve this project. I would like to thank all the people for
their help whether it was directly or indirectly to complete this project.
-
iv
ABSTRACT
Furniture Online Ordering using Chatbot was developed to helps entrepreneurs to get
closer to customers. This chatbot may be able will help the seller to promote their
products, engage customers and boost revenue. Then, it also can assist the customer
throughout the purchase process to make purchases more easily. It is a demand
nowadays, where it can save time and efforts by automating customer support. The
RAD method is used in this project to ensures that the development of the system runs
smoothly and according to planning. This model have four main phases, which are
Analysis and Quick Design, Prototype Cycles, Testing and Deployment. The expected
result for the following proposed project is the user can choose any answer that has been
provided by the chatbot system and make a booking. Then the user will be able to
communicate with the chatbot anytime.
-
v
ABSTRAK
Pesanan perabot secara atas talian menggunakan Chatbot telah dibangunkan untuk
membantu para usahawan untuk lebih dekat dengan para pelanggan. Chatbot ini dapat
membantu penjual mempromosikan produk mereka, melibatkan pelanggan dan
meningkatkan pendapatan. Kemudian, ia juga dapat membantu pelanggan sepanjang
proses pembelian untuk membuat pembelian lebih mudah. Ini adalah permintaan pada
masa kini, di mana ia dapat menjimatkan masa dan usaha dengan mengautomasikan
sokongan pelanggan. Kaedah RAD digunakan dalam projek ini untuk memastikan
pembangunan sistem berjalan lancar dan mengikut perancangan. Model ini
mempunyai empat fasa utama, iaitu Analisis dan Rancang Pantas, Siklus Prototaip,
Pengujian dan Penyebaran. Hasil yang diharapkan untuk projek yang dicadangkan
berikut adalah pengguna dapat memilih apa jawapan yang telah disediakan oleh sistem
chatbot dan melakukan pemesanan. Kemudian pengguna akan dapat berkomunikasi
dengan chatbot pada bila-bila masa.
-
vi
CONTENTS
PAGE
DECLARATION i
CONFIRMATION ii
DEDICATION iii
ABSTRACT iv
ABSTRAK v
CONTENTS vi
LIST OF TABLE viii
LIST OF FIGURES ix
LIST OF ABBREVIATION x
CHAPTER I INTRODUCTION
1.1 Introduction 1
1.2 Problement Statement 2
1.3 Objectives 2
1.4 Scopes 3
1.5 Limitation of work 4
1.6 Expected Result 4
1.7 Activities and Milestones (Gantt Chart) 5
CHAPTER II LITERATURE REVIEW
2.1 Introduction for Chatbot 6
2.2 Introduction for Telegram 7
2.3 Related Research Technique and Tools 8
CHAPTER III METHODOLOGY
3.1 Introduction 11
3.2 Project Methodology 12
3.2.1 Phases in Rapid application development model 13
3.2.1.1 Analysis and Quick Design Phase 13
3.2.1.2 Prototypes Cycles Phase 13
3.2.1.3 Testing Phase 14
3.2.1.4 Deployment Phase 14
3.3 System Requirement 15
3.4 System Design 16
-
vii
3.4.1 Framework Design 17
3.4.2 Context Diagram (CD) 17
3.4.3 Data Flow Diagram (DFD) 18
3.4.3.1 DFD Level 0 18
3.4.3.2 DFD Level 1 19
3.4.4 Entity Relationship Diagram (ERD) 21
3.5 Data Dictionary
22
CHAPTER IV CONCLUSION 25
REFERENCES 26
-
viii
LIST OF TABLES
TABLE TITTLE
PAGE
1.1 Activity and milestone for FYP I 5
3.1 Hardware used 15
3.2 Software Used 15
-
ix
LIST OF FIGURES
FIGURE TITLE PAGE
2.1 Chatbot Operations 7
3.1 Rapid Application Development Model 12
3.2 Framework for Furniture Online Ordering using Chatbot
System
17
3.3 Context Diagram for Furniture Online Ordering using
Chatbot System
18
3.4 Data Flow Diagram Level 0 for Furniture Online Ordering
using Chatbot System
19
3.5 Data Flow Diagram Level 1 for Booking process 19
3.6 Data Flow Diagram Level 1 for Payment process 20
3.7 Entity Relationship Diagram for of Furniture Online
Ordering using Chatbot System
21
3.8 Data Dictionary for Customer 22
3.9 Data Dictionary for Booking 22
3.10 Data Dictionary for Sofa 23
3.11 Data Dictionary for Diningtable 23
3.12 Data Dictionary for Payment 24
-
x
LIST OF ABBREVIATIONS/TERMS/SYMBOLS
CD Context Diagram
DFD Data Flow Diagram
ERD Entity Relationship Diagram
FYP Final Year Project
RAD Rapid Application Development
-
1
CHAPTER I
INTRODUCTION
1.1 Introduction
A Chatbot is an assistant that communicates with the user through text messages, a
virtual companion that integrates into websites, applications or instant messengers and
helps entrepreneurs to get closer to customers. Such a bot is an automated system of
communication with users. It is a demand nowadays, where it can save time and efforts
by automating customer support. In this case, the chatbot for Furniture Online Ordering
using Chatbot is proposed to enhance the relationship with the customer. This chatbot
will help the seller to promote their products, engage customers and boost revenue.
Then, it also can assist the customer throughout the purchase process to make purchases
more easily
-
2
1.2 Problem Statement
Customer relationships are the most important of today, problems arise when
sellers take a long time to provide feedback to customer inquiries. Customers have to
wait a long time for the response that will affect their purchase decision. Moreover,
there is no faster platform for customers to communicate with the seller except with the
message. They need to have a company number to do so. Finally, customers are more
comfortable chatting online which makes them willing to type order and talk to a boat.
This is because with fast feedback it can facilitate and expedite their dealings.
1.3 Objectives
In general, the purpose of Furniture Online Ordering using Chatbot System is to
help customer to make purchasing easier and faster. Besides, it also assist the customer
to know the details about the furniture. The objectives are defined as below to design a
chatbot that contains information about furniture. Next, to develop a chatbot that
answers quickly and efficiently for some question from the customer. Finally, to test the
functionalities of the proposed system either it able to meet the requirement.
-
3
1.4 Scopes
The scope is going to outline the users and functions of this application system
and makes the implementation easier. The scope of this system is divided into two
which are user scope and system scope.
1.4.1 User Scope
• The system shall allow the user to start the conversation.
• The system shall allow the user to choose the answer option from the system.
• The system shall allow the user to view the information about the furniture.
• The system shall allow the user to make a booking.
• The system shall allow the user to cancel the product before making a
payment.
1.4.2 System Scope
• The system shall be able to respond to the questions that choose.
• The system shall be able to show the information about the furniture.
• The system shall be able to accept the booking from the user.
• The system shall be able to update the stock in the database.
-
4
1.5 Limitation of Work
There are limitations and constraint that occurred throughout the development of
this online chatbot. These problems and limitations in conducting this study are the
chatbots has a very limited dictionary where it is only able to understand a certain
question that has been asked by the user.
1.6 Expected Result
The expected result for the following proposed project is the user can choose
any answer that has been provided by the chatbot system and make a booking. Then the
user will be able to communicate with the chatbot anytime.
-
5
1.7 Activity and Milestone
Table 1.1 below show activity and duration time to complete the documentation for
Final Year Project 1 :
Table 1.1 : Activity and milestone for FYP 1
-
6
CHAPTER II
LITERATURE REVIEW
2.1 Introduction for Chatbot
A chatbot is artificial intelligence (AI) software. It was the most advanced and
promising expressions of interaction between humans and machines that only
represents the natural evolution of a Question Answering system leveraging Natural
Language Processing (NLP). Then, it has been used to simulate a conversation or a chat
with a user in natural language. Chatbot often used through messaging applications,
websites, mobile apps or through the telephone. The chatbot is very important
applications that can streamline interactions between people and services that enhance
the customer experience. It also offers new opportunities to many companies to
improve customers engagement process and operational efficiency that can reduce the
typical cost of customer service.
-
7
The picture below illustrates how a chatbot operates and responds to the
question. First, the chatbot will accepts the input from a user. Then, it analyzes the
user’s request to identify the user intent and to extract relevant entities. When the user’s
intent has been identified, the chatbot composes an answer and reply for the user’s
request.
Figure 2.1 Chatbot Operations
2. 2 Introduction for Telegram
Telegram is a cloud-based mobile and desktop messaging app with a focus on
security and speed. It use end-to-end encryption by mean that all data sent and
received via Telegram cannot be deciphered when intercepted by ISPs, network
administrators or other third parties. Telegram is for everyone who wants fast and
reliable messaging and calls. Telegram let user to send messages, photos, videos and
files of any type and create groups for up to 200,000 people or channels for
broadcasting to unlimited audiences. Business users and small teams may like the large
groups, usernames, desktop apps and powerful file sharing options.
Analyze
request
Identify intent
and entities
User
input
Compose
reply
-
8
2. 3 Related Research Technique and Tools
The first related works is form article [1] . ALICE Chatbot is the Artificial
Linguistic Internet Computer Entity that came from Wallace in 1995. In the ALICE
architecture, alternative language knowledge models can be plugged and played
because the chatbot engine and the language knowledge model are separated. The
advantages of ALICE are its deliberate simplicity of the pattern-matching algorithms
and rely on a very large number of basic categories or rules matching input patterns to
output templates. Then, ALICE also more advanced because of the number of simple
rules is large to make up for lack of morphological, syntactic, and semantic NLP
(programming language) modules. However, the main lack in ALICE is it needs to
develop the knowledge manually.
Second article [2] is about Chappie a semi-automatic intelligent chatbot that was
developed to meet the requirement from a business side and desire for efficiency and
automation. Chappie can be used as a routing agent that can classify the requirement of
the user. It changes it into one of the services provided by business through the first few
chats than transfer it to an agent expert in that service. The good thing about Chappie is
it has been designed smartly to extracts all sorts of information such as name, intent,
mail, city, et cetera and generates a coherent response to the user, but it needs more
sophisticated algorithms to extract intent and classify chats more accurately.
-
9
Third article [3] is DocChat, a novel information retrieval approach for chatbot
engines. It was used to leverage unstructured documents, instead of Q-R pairs to
respond to speech. The features of this models is depending on existing resources are
readily available such as Q-Q pairs, Q-A pairs, ‘sentence-next sentence’ pairs, and et
cetera, instead of requiring manually. Second, it was very good in adaptation capability
where it can learn internal relationships between speech and responses based on
statistical models. Regardless all of that, collecting such QR pairs is intractable for
many specific domains.
AliMe Chat [4] is the next article about an open-domain chatbot engine that
integrates the joint results for Information Retrieval (IR) and Sequence to Sequence
(Seq2Seq) based on generation models. To optimize the joint results of IR and
generation models, it use a novel hybrid approach. Then, it shows that the approach
outperforms both in IR and generation. The engine show a better performance
afterwards. AliMe Chat is used for a real-world industrial application. Unfortunately,
Seq2Seq generation models tend to generate inconsistent or meaningless answers and
do not scale up well according to context-aware techniques in some situation. Lastly,
AliMe Chat is lack of personification like empowering the chatbot with characters and
emotions.
-
10
Next article is MILABOT, a deep reinforcement learning chatbot [5] that was
developed by the Montreal Institute for Learning Algorithms (MILA) for the Amazon
Alexa Prize competition. It was well-known for its ability that capable of conversing
with humans. Then, the system consists of natural language generation and retrieval
models, including neural network and template-based models. MILABOT also has been
trained to only choose an appropriate response with reference to the models in its group.
Through the testing that has been performed on the system that involves a real-world
user, it shows that the system performed significantly better than other systems.
Last but not least is Pandaibot, a boat for Telegram that builds as a side project
to provide convenience to all in some cases. Functions that available in Pandaibot are
animated pictures and pictures, prayer times in Malaysia, and also functions to check
postage delivery status. Among the advantages of Pandaibot is that users can check a
delivery status from PosLaju, SkyNet, City Link and GD Express via Telegram without
leaving the messaging app. In addition, users can also check the time of the prayer, use
the dictionary and read the news from several portals and also check the weather.
PandaiBot also allows users to search for images and GIFs directly via Telegram.
However, Pandaibot has a very limited dictionary where it only allow the user to choose
the answer option that has been provided.
-
11
CHAPTER III
METHODOLOGY
3.1 Introduction
This chapter will discuss about the methodology that used to develop this
system. Therefore, the rapid application development model is used for Furniture
Online Ordering using Chatbot System. This model explains more detail about every
phase that involve in this project development to make sure this system developed
successfully. Furthermore, this chapter also explains justification for the use of methods
and technique as well as hardware and software requirement during this project.
Besides, this chapter contains Context Diagram (CD), Data Flow Diagram (DFD) and
Entity Relationship Diagram (ERD) for the this project.
-
12
3.2 Project Methodology
Methodology is a method used to develop a system. A good planning and
methodology must be used to accomplish the objectives of this project. Rapid
application development model has been chosen as the methodology to develop this
system. The benefits of rapid application development are changing requirements can
be accommodated and progress can be measured. Besides, iteration time can be short
with use of powerful RAD tools. The flexibility of the model make the development
time reduced and increases reusability of components. Hence, Rapid application
development model is encourages customer feedback. Figure 3.1 below shows the
Rapid application development model. This model have four main phases, which are
Analysis and Quick Design, Prototype Cycles, Testing and Deployment.
Figure 3.1 : Rapid Application Development Model
-
13
3.2.1 Phases in Rapid application development model
3.2.1.1 Analysis and Quick Design Phase
During this phase, all the modules will be design based on Furniture
Online Ordering using Chatbot system. The analysis and quick design phase is
the most important phase to make sure the module development is properly
planned. In the analysis phase, the detailed about this proposed system was
discussed. Problem statements, objectives, system’s scope and limitation of
work were defined as well. The quick design of the Furniture Online Ordering
using Chatbot System was conducted by reviewing the journal.
3.2.1.2 Prototypes Cycles Phase
This phase is to ensure that the project met every planning that has been
discussed in Analysis & Quick Design Phase. A prototype design for module
customer, view and check furniture information, booking and payment will be
developed. Each module will go through the developed, demonstrate and refine
phase before proceed to the testing phase.
-
14
3.2.1.3 Testing Phase
In this testing phase prototypes for each module in Furniture Online
Ordering using Chatbot systems are convert from the design phase into the
working model. The phase breaks down into several smaller steps like
preparation for rapid deployment, program and application development,
coding, unit, integration, and system testing.
3.2.1.4 Deployment Phase
This is the implementation phase. The finished product of Furniture
Online Ordering using Chatbot goes to launch. It includes data conversion,
testing, and changeover to the new system, as well as user training. The
objectives of this stage are to install the system in production operation with
minimal disruption of normal business activity, to maximize the effectiveness of
the system in supporting the intended business activities and to identify
potential future enhancement.
-
15
3.3 System Requirement
The requirement of hardware and software are the most important part of some
project because it will guide to the successful project. The hardware and software
requirements used in this project are shown in Table 3.1 and 3.2 below :
Table 3.1: Hardware used in this project
No Hardware Specification
1 Laptop Processor : AMD A-10-8700P Radeon R6, 10 Compute Cores 4C+6G 1.80GHz
Installed memory (RAM) : 4.00GB
2 Mouse For make easy task and faster to click when developing project.
3 Pendrive To store the backup file
Storage : 32GB
4 Printer Canon MP287 To print out the documentation
To print picture dictionary
Table 3.2 : Software used in this project
No Software Specification
1 Xampp To create a table and database
2 MySQL To save the data in database.
3 Notepad++ To make a coding for the system
4 Microsoft Word 2010 To make a proposal and thesis
5 Edraw Max To create Context Diagram(CD), Entity Relationship Diagram(ERD) and Data Flow Diagram(DFD)
-
16
3.4 System Design
Developing a planned system is a process and planning activity in designing the
system. This design was made to improve the existing system after its weakness was
identified through the results of the investigation and previous analysis. In Furniture
Online Ordering using Chatbot System , theContext Diagram (CD) and Data Flow
Diagram (DFD) act as physical design while Entities Relationship Diagram (ERD) act
as logical design.
3.4.1 Framework Design
A framework is a real or conceptual structure that use to serve as a guide for
expands the structure into something useful. A framework may be for a set of
functions within a system and how it interrelate between the layers of an
operating system, the layers of an application subsystem and how
communication should be standardized at some level of a network. The
framework shown in Figure 3.2 below shows how the system responds to the
user question. First, the chatbot will accepts the input from a user. Then, it
analyzes the user’s request to identify the user intent and to extract relevant
entities. When the user’s intent has been identified, the chatbot composes an
answer and reply for the user’s request.
.
-
17
Figure 3.2: Framework for Furniture Online Ordering using Chatbot
System
3.4.2 Context Diagram
The Context diagram is a Data Flow Chart which shows the scope
and boundaries of an information system. It usually shows the entities
and processes involved in the system to be redesigned which illustrates
how moving from one process to another. It is the first figure drawn
before the Data Flow Chart.
In Furniture Online Ordering using Chatbot System, it can be
identified how this system works. Among the major entities in the
system are customers. The context diagram in Figure 3.2 below shows
customers input their information as requested, customer input the
details of the furniture they want to see, then make a booking and
payment.
-
18
Figure 3.3: Context Diagram for Furniture Online Ordering using
Chatbot System
3.4.3 Data Flow Diagram
3.4.3.1 DFD Level 0
The Data Flow Chart is an overview of the overall system trip
diagram in detail and overall. It helps user to understand the flow of the
system that built. The first process is the customer authentication
process into the system. After conducting the validation process,
customer will go through the second process to view furniture
information. Then the customer will input their information into the
system which is the third process. Then the customer made the fourth
process of booking the furniture and then the customer made the
payment the fifth process.
-
19
Figure 3.4 : Data Flow Diagram Level 0 for Furniture Online Ordering
using Chatbot System
3.4.3.2 DFD Level 1
3.4.3.2.1 Booking
The figure 3.5 shows the DFD Level 1 for booking process. The
customer can make a booking and will be stored in booking
database.
Figure 3.5 : Data Flow Diagram Level 1 for Booking process
-
20
3.4.3.2.2 Payment
The figure 3.5 shows the DFD Level 1 for payment process. The
customer can make a payment and will be stored in payment
database.
Figure 3.6 : Data Flow Diagram Level 1 for Payment process
-
21
3.4.4 Entity Relationship Diagram
The Entity Relationship Diagram (ERD) is a graphical representation of an
information system that shows the relationship between people, objects, places,
concepts or event within the system. The ERD of Furniture Online Ordering
using Chatbot System project consist of four table entities such as Customer,
Booking, Furniture and Payment. The ERD of Furniture Online Ordering using
Chatbot System shown as the Figure 3.7 below
Figure 3.7 : Entity Relationship Diagram for of Furniture Online Ordering using
Chatbot System
-
22
3.5 Data Dictionary
The database in the main part of the system development because it will store
the data that are used by the system. The list of tables involved in this system are list as
the figure 3.8 until 3.12 below :
Figure 3.8 below is a Customer table. This table has 5 fields. The field is customer_id,
name, ic_num, address and phone_num. In this table customer_id is the primary key
(PK).
Figure 3.8 : Data Dictionary for Customer
Figure 3.9 below is a Booking table. This table has 7 fields. The field is booking_id,
customer_id, furniture_id, name, price, date and status. In this table booking_id is the
primary key (PK).
Figure 3.9 : Data Dictionary for Booking
-
23
Figure 3.10 below is a sofa table. This table has 4 fields. The field is fileToUpload,
id_sofa name and price. In this table id_sofa is the primary key (PK).
Figure 3.10 : Data Dictionary for Sofa
Figure 3.11 below is a Diningtable table. This table has 4 fields . The field is
fileToUpload, id_diningtable, name and price. In this table id_diningtable is the
primary key (PK).
Figure 3.11 : Data Dictionary for Diningtable
-
24
Figure 3.12 below is a Payment table. This table has 5 fields. The field is payment_id,
fileToUpload, customer_id, total and date. In this table payment_id is the primary key
(PK).
Figure 3.12 : Data Dictionary for Payment
-
25
CHAPTER IV
CONCLUSION
Furniture Online Ordering Using Chatbot is a system which focuses on helping
entrepreneurs to get closer to customers and assist the customer throughout the
purchase process to make purchases more easily. Based on previous studies and
discussion, a chatbot is proposed to be implemented for Furniture Online Ordering.
This chatbot is an assistant that communicates with the user through text messages. This
is very important things that will help the seller to enhance their customer relationship.
Hopefully, this system can help the seller to overcome their problem and make the
business more successful.
-
26
REFERENCES
[1] AbuShawar, B., & Atwell, E. (2015). ALICE chatbot: Trials and outputs.
Computación y Sistemas, 19(4), 625-632.
[2] Behera, B. (2016). Chappie-a semi-automatic intelligent chatbot. Write-Up.
[3] Yan, Z., Duan, N., Bao, J., Chen, P., Zhou, M., Li, Z., & Zhou, J. (2016).
Docchat: An information retrieval approach for chatbot engines using unstructured
documents. In Proceedings of the 54th Annual Meeting of the Association for
Computational Linguistics (Volume 1: Long Papers) (Vol. 1, pp. 516-525).
[4] Qiu, M., Li, F. L., Wang, S., Gao, X., Chen, Y., Zhao, W., ... & Chu, W. (2017,
July). Alime chat: A sequence to sequence and rerank based chatbot engine. In
Proceedings of the 55th Annual Meeting of the Association for Computational
Linguistics (Volume 2: Short Papers) (pp. 498-503).
[5] Serban, I. V., Sankar, C., Germain, M., Zhang, S., Lin, Z., Subramanian, S., ...
& Rajeswar, S. (2018). A deep reinforcement learning chatbot (Short Version).
arXiv preprint arXiv:1801.06700.