hotel recommendation system using rule- basedgreenskill.net/suhailan/fyp/report/037560.pdf · 2.1...
TRANSCRIPT
HOTEL RECOMMENDATION SYSTEM USING RULE-
BASED
MAIZATUL IZZANI BINTI AHMAD
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT)
UNIVERSITI SULTAN ZAINAL ABIDIN
2017
HOTEL RECOMMENDATION USING RULE-BASED
MAIZATUL IZZANI BINTI AHMAD
Bachelor of Computer Science (Software Development)
Faculty of Informatics and Computing
Universiti Sultan Zainal Abidin, Terengganu, Malaysia
MAY 2017
i
DECLARATION
I, Maizatul Izzani Binti Ahmad, Bachelor of Computer Science (Software
Development) 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 : Maizatul Izzani Binti Ahmad
Date : 14 May 2017
ii
CONFIRMATION
This is to confirm that this final year project entitled Hotel Recommendation System
has been prepared and submitted by Maizatul Izzani Binti Ahmad, with matric
number BTAL 14037560 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 : Pn. Maizan Binti Mat Amin
Date : 14 May 2017
iii
DEDICATION
I am using this opportunity to express my gratitude to everyone who
has supported me to complete my final year project entitled Hotel
Recommendation System using Rule-Based technique 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, Puan Maizan Binti Mat
Amin, who help in guiding me throughout my journey in finishing this
project. Under her supervision with a lot of advices, I was able to complete
this final year project successfully. Then, an honourable 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
Malaysia is a beautiful country and has many tourist places. Malaysia in Asia
has always been a topic of interest among traveller and tourist who love and like to
visit in Asia. Problem occurs when tourists coming to Malaysia may spend a lot of
time looking for an appropriate hotel. It seems this problem need to be solved because
tourists will facing some difficulties such as time and energy consuming.
The proposed Hotel Recommendation System will help tourist to search hotel
and recommend the most suitable hotel regarding their requirement such as location,
expected budget and number of guest, room type and hotel’s activity. The user scope
for this system is for public user, hotel owner and admin. Public user can access the
system without register or login as member. This system is using Rule-Based
technique which allows developer to develop a system which depends on several
criteria to make ideal solution.
v
ABSTRAK
Malaysia adalah sebuah negara yang indah dan mempunyai banyak tempat-
tempat pelancongan. Di Asia, Malaysia sentiasa menjadi topik yang menarik di
kalangan pengembara dan pelancong yang suka dan suka dilawati di Asia.
Masalah berlaku apabila pelancong yang datang ke Malaysia menghabiskan
banyak masa mencari hotel yang sesuai. Masalah ini perlu diselesaikan kerana
pelancong akan menghadapi masalah seperti menghabiskan banyak masa dan
penggunaan tenaga untuk mencari hotel yang sesuai mengikut kriteria pengguna.
Sistem Cadangan Hotel yang dicadangkan ini akan membantu pelancong
untuk mencari hotel dan mengesyorkan hotel yang paling sesuai mengikut
keperluan mereka seperti lokasi, bajet, bilangan tetamu, jenis bilik dan hotel
aktivitinya. Skop pengguna untuk sistem ini adalah untuk pengguna awam, pemilik
hotel dan admin. pengguna awam boleh mengakses sistem tanpa daftar atau login
sebagai ahli. Sistem ini menggunakan teknik ‘Rule-Based’ yang membolehkan
pembangun perisian untuk membangunkan satu sistem yang bergantung kepada
beberapa kriteria untuk membuat penyelesaian yang ideal.
vi
CONTENTS
PAGE
DECLARATION i
CONFIRMATION ii
DEDICATION iii
ABSTRACT iv
ABSTRAK v
CONTENTS vi
LIST OF TABLES vii
LIST OF FIGURES xvi
LIST OF ABBREVIATIONS xv
CHAPTER I INTRODUCTION
1.1 Background 1
1.2 Problem statement 3
1.3 Objectives 3
1.4 Limitation of Work 4
1.6 Expected Result 4
1.7 Activity and Milestone 5
CHAPTER II LITERATURE REVIEW
2.1 Introduction 6
2.2 Recommendation System 6
2.2.1 Hotel Recommendation System 7
2.3 Recommender System Approach 7
2.3.1 Collaborative Filtering approach
2.3.2 Content-Based approach
2.3.3 Knowledge-Based approach
2.3.3.1 Rule-Based
7
7
8
9
2.4 Table Comparison 11
2.5 Chapter Summary 14
vii
CHAPTER III
METHODOLOGY
3.1
3.2
Introduction
Project Methodology
15
15
3.2.1 Phases in Iterative and Incremental Model 16
3.3 System Requirement 19
3.4 System Design 20
3.4.1 Framework Design 20
3.4.2 Context Diagram 22
3.4.3 DFD Level 0 24
3.4.4 DFD Level 1 26
3.4.5 DFD Level 2 31
3.4.6 DFD Level 3 32
3.5 Entity Relationship Diagram 33
3.6 Data Dictionary 35
3.7 Method and Algorithm 37
3.8 Chapter Summary 40
REFERENCES 41
viii
LIST OF TABLES
TABLE TITLE PAGE
2.1 First table in chapter 2 11
2.2 Second table in chapter 2 25
3.1 First table in chapter 3 19
3.2 Second table in chapter 3 19
3.3 Third table in chapter 3 35
3.4 Fourth table in chapter 3 35
3.5 Fifth table in chapter 3 35
3.6 Sixth table in chapter 3 36
3.7 Seventh table in chapter 3 37
ix
LIST OF FIGURES
FIGURE TITLE PAGE
2.1 First figure in chapter 2 8
2.2 Second figure in chapter 2 10
3.1 First figure in chapter 3 16
3.2 Second figure in chapter 3 21
3.3 Third figure in chapter 3 22
3.4 Fourth figure in chapter 3 24
3.5 Fifth figure in chapter 3 26
3.6 Sixth figure in chapter 3 27
3.7 Seventh figure in chapter 3 28
3.8 Eighth figure in chapter 3 29
3.9 Ninth figure in chapter 3 30
3.10 Tenth figure in chapter 3 31
3.11 Eleventh figure in chapter 3 32
3.12 Twelfth figure in chapter 3 33
3.13 Thirteenth figure in chapter 3 33
x
LIST OF ABBREVIATIONS / TERMS / SYMBOLS
CD Context Diagram
DFD Data Flow Diagram
ERD Entity Relationship Diagram
FYP Final year project
KBS Knowledge-Based
1
CHAPTER I
INTRODUCTION
1.1 Background
Hotel is a place to stay for people when they want to make a travel. Traveller
usually faces the problem of difficult and time consuming for looking an appropriate
hotel. Nowadays, technology is growing in all over the world. With the development
of ICT at the time, people are more likely to use technology in all areas. But, on the
Internet, where the number of choices is overwhelming, there is need to filter,
prioritize and efficiently deliver relevant information in order to alleviate the problem
of information overload, which has created a potential problem to many Internet
users.
Recommender systems solve this problem by searching through large volume
of dynamically generated information to provide users with personalized content and
services [1]. This has increased the demand for recommender systems more than ever
before. Recommender systems are information filtering systems that deal with the
problem of information overload by filtering vital information fragment out of large
amount of dynamically generated information according to user’s preferences,
interest, or observed behaviour about item [1]. Recommendation systems have also
proved to improve decision making process and quality. With the rapid development
of network technology and the wide application of e-commerce, consumers are
increasingly interested in booking hotels online [4]. However, due to the growth of
hotel amount, users have difficulties in finding the desired hotel quickly.
2
The aim of this system is to generate a list of hotel based on several criteria set
by user. This system also provides additional features about hotel’s activity such as
adventure sport activity or relaxing. This system will recommend using rule-based
technique to generate list of recommended hotel based on user’s preferences. The
proposed online hotel recommendation system help tourists who visit Malaysia
included foreigner and local to find an ideal hotel based on several criteria.
3
1.2 Problem Statement
Problem arise when user have difficulty to plan a budget in choosing a hotel
because user need to research for each hotel prices. Thus, it will spend a lot of time
and energy consuming for manual search.
Other than that, users have problem of finding the appropriate accommodation for
holiday or business travel from the offer of several hotels with several properties
[Tom´aˇs Horv´ath, 2009].
Lastly, current systems are not emphasizing for hotel’s activity to user. Users
difficult to find an appropriate hotel based on their activity choices that offered by
hotels, such as adventure sport or relaxing activity. Most of current system just
showed the suggestion based on hotel’s prices and location.
1.3 Objectives
a) To design and develop a system that can generate a list of hotel based on user
preferences.
b) To implement rule-based technique to proposed system.
c) To evaluate the functionality of hotel recommender system.
1.4 Scope
The scope is going to outline the users and functions of this system. This web
based system focuses on public user, hotel owner and administrator who is responsible
in manage system. The system will address investigation steps on major phases of
recommendation
a) Public Users:
Able to enter location, expected budget, number of guest and hotel’s
activity
Able to search hotels
Able to view the list of hotel based on user preferences.
4
b) Hotel Owner:
Able to register account
Able to log in to the system
Able to add and update hotels details
Able to add and update hotel’s accommodation
c) Administrator:
Able to log in to the system
Manage Database
View list of registered hotel
1.5 Limitation of works
This system only able to recommend hotel based on available user preferences
only.
This system not provide for hotel’s booking.
1.6 Expected Results
a. Public Users :
Able to search an ideal hotel based on user’s preferences
Can view list of recommended hotel
b. System
Able to recommend an ideal hotel to user based on user’s preferences
5
1.7 Activity and Milestone
Activity
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Discussion
and selection
of title
Registration
of project
title
Introduction
and detailed
problem
Literature
study
Proposal
progress
Presentation
and
Evaluation
Discussion
and
Correction
the proposal
Proposed
Solution -
Methodology
Proof Of
Concept
Seminar
Preparation –
Project
poster and
slide
Seminar
Registration
- Project
poster and
slide
Finalizing
Report of the
Proposal
Final Report
Submission
and
Evaluation
WEEK
6
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
This chapter describes the research and technique that has been used by
existing recommendation system. Then, make a comparison among the techniques. It
also describes the methods or techniques suitable to be taken in the implementation of
this project. Many references and resources have been made in this chapter to help the
system meet the objectives of this system.
2.2 Recommendation System
Recommender systems help to searching through large volume of dynamically
generated information to provide users with personalized content and services. This
has increased the demand for recommender systems more than ever before. It is an
information filtering systems that deal with the problem of information overload by
filtering vital information fragment out of large amount of dynamically generated
information according to user’s preferences, interest, or observed behaviour about
item [1]. Recommender Systems have been widely used for product recommendations
such as books and movies as well as, it is also gaining ground in service
recommendations such as hotels, restaurants and travel attractions [2]. This project
purpose a recommender system for help users to make a selection hotel without
searching on blog or ask opinions from families and friends.
7
2.2.1 Hotel Recommendation System
Malaysia is a beautiful country and has many tourist places. There are a large
number of hotels in Malaysia, it may be difficult to tourists coming to Malaysia
because they may spend a lot of time looking for an appropriate hotel using their
preferences. Hotel Recommendation System will help tourist to search hotel and
recommend the most suitable hotel regarding their requirement such as location,
expected budget, number of guest and hotel’s activity such as adventure sport activity
or relaxing activity.
2.3 Recommender system approach
There three types of the most popular recommender systems approach which
are collaborative recommender system, content-based recommender system and
knowledge-based recommender system.
2.3.1 Collaborative Filtering approach
Recommendation is based on the items liked before by the other people with
similar tastes and preferences like in the past. Collaborative filtering is based on
neighbourhood of likeminded customers and similarity between items. Pearson
correlation or cosine similarity is used for the Neighbourhood formation scheme [1].
Collaborative filtering system collects more ratings from more users, the probability
increases that someone in the system will be a good match for any given new user.
However, a collaborative filtering system must be initialized with a large amount of
data, because a system with a small base of ratings is unlikely to be very useful [5].
The problem occur when the system do not have any data from other user to compare
with.
2.3.2 Content-Based approach
Recommendation is based on the items that have similar content and
characteristics to those the user liked before. A dataset that contains past user
transactions is split into training and testing set. It is all about theories of consumer
buying behaviour. Content based recommendations are independent of characteristics
8
of other users [1]. The system does not recommend the type of item that are different
from anything that user has already choose. Thus, problem will occur when user want
to try something new and system would never make it happen.
2.3.3 Knowledge-Based approach (KBS)
Recommendation is based on products based on inferences about a user needs and
preferences. Example for existing system using this approach is restaurant
recommender Entree (Burke, Hammond & Cooper, 1996; Burke, Hammond &
Young, 1997) makes its recommendations by finding restaurants in a new city similar
to restaurants the user knows and likes. The system allows users to navigate by stating
their preferences with respect to a given restaurant, thereby refining their search
criteria. A knowledge-based recommender system avoids some of these drawbacks. It
does not have a ramp-up problem since its recommendations do not depend on a base
of user ratings. It does not have to gather information about a particular user because
its judgements are independent of individual tastes. Figure 2.1 below shows the
development of a knowledge-based system:
Figure 2.1: Development of a knowledge-based system
The knowledge acquisition process incorporates typical fact finding methods
like interviews, questionnaires, record reviews and observation to acquire factual and
explicit knowledge. For this, techniques like concept sorting, concept mapping, and
protocol analysis are being used. The acquired knowledge should be immediately
9
documented in a knowledge representation scheme. For examples using rules, frames,
scripts and semantic network are the typical examples of knowledge representation
scheme. This project will use knowledge base (KBS) as recommender system
approach and using rules for knowledge representation.
2.3.3.1 Rule-Based
One of the most popular approaches to knowledge representation is to use
production rules into the system. Rule based also known as expert system that are
invented in the earlier 1970’s and are still in use until now. The definitions of rule-
based system depend almost entirely on expert systems, which are system that capture
the reasoning of human expert in solving a knowledge intensive problem. Instead of
representing knowledge in a declarative, static way as a set of things which are true,
the rule-based system represent knowledge in terms of a set of rules that tells what to
do or make a conclusion. A rule-based system can be simply created by using asset of
assertions and a set of rules that specify how to act on the assertion set. Rules are
expressed as a set of if-then statements, sometimes called IF-THEN rules. Rule
reasoning is process to derive a value for a conclusion. There are two means of
deriving conclusions. First, start with all the known data and progress toward the
conclusion by using data driven, forward chaining or forward reasoning. Second,
select a possible conclusion and try to prove its validity by looking for supporting
evidence by using goal driven, backward chaining, or backward reasoning. Figure 2.2
below shows an example for rule reasoning:
10
Figure 2.2: Example for rule reasoning
Rule 1
IF Surface = smooth
AND Fruitclass= vine
AND Color = green
THEN Fruit = honeydew
Each rule describes some characteristic of the different fruits through a series of
parameters, for example:
Fruit
Fruitclass
Seedclass
Parameters that represent the final answer are conclusions or goals.
Hotel Recommend System will use rule to describe some characteristic of the
different hotel through a series of parameters. In a nutshell, hotel recommendation
system will use rules for knowledge representation which is rule-based to provide the
problem-solving to this project.
11
2.4 Table Comparison
The table below shows the comparison among the techniques that have been studied:
Table 2.1: Table of comparison among technique
No Author Title Objective Technique/
Method
Advantages
1 Ferdaous
Hdioud,
Bouchra
bouchra
Frikh
and
Brahim
Ouhbi
(2013)
Multi-
Criteria
Recommen
der Systems
based on
Multi-
Attribute
Decision
Making
The aims of the study is to
use prediction phase, the
rating of an item for a
specific user is estimated
based on this user’s past
historical ratings, or the
content of a particular item
or the user profile. For
example movie rating.
Content
based
approach
-Have ability to
recommend new
items even if
there are no
ratings provided
by users
2 Prafulla
Bafna,
Shailaja
Shirwaikar
and
Dhanya
Pramod
(2016)
Semantic
Clustering
Driven
Approaches
to
Recommen
der
Systems
The purpose of the study is
using techniques for RS
which is Collaborative
Filtering systems that
analyse historical data of
wider set of users about
hotel.
Clustering is a widely used
data mining technique for
collaborative filtering
Semantic
based
clustering
using synset
groupings ,
collaborative
filtering.
-Measure
the quality of
cluster
-Personalized
recommendation
12
3 B. A.Gobin
and
R.K.
Subramania
n
(2007)
Knowledge
Modelling
for a Hotel
Recommen
dation
System
-To propose a simple
procedure for the
construction of the
knowledge model. UML
which is the
de facto language for
modelling in the software
engineering
arena
-To alleviate the problems
faced by KBS developers
due to the complex nature
of some methodologies
and also the lack of
standards for the
knowledge modelling,
Knowledge-
based
approach
-Presently
working on the
prototype of the
application that
will be used to
validate the
knowledge
model
4 Priti
Srinivas
Sajja and
Rajendra
Akerkar
(2010)
Knowledge-
Based
Systems for
Developme
nt
Describe all components
of knowledge-based
includes development and
structure of KBS.
KBS development
includes knowledge
representation using rules
based.
Knowledge-
Base
(Rule based
as knowledge
representatio
n)
-KBS act as an
expert on
demand without
wasting time
-Can save
money by
leveraging
expert,
-Allowing users
to function at
higher level
-Productive tool,
having
knowledge of
more than one
expert for long
13
period of time
5 Diana
Târnăveanu
(2012)
Knowledge-
Based
Decisions in
Tourism
Describe the
representation of
knowledge-based system,
steps have been taken in
order to transcend the
natural language
and achieve a symbolic
axiomatic language. Using
methods such as decision
trees or production rules
(If-then statement).
Knowledge-
Based
(production
rules)
- Offer support
by combining
reasoning and
human judgment
with computer
processing
-Can support
individual and
group decisions
- Cost reduction
14
2.5 Chapter Summary
This chapter discussing about how this project were first build from
research paper that has been researched to help in documenting this project.
Knowledge-based recommender systems perform a needed function in a world of
ever-expanding information resources. Knowledge representation scheme using Rule
based approach is one of the popular technique in helping the system in
making a decision. Rule based in much more easier to use rather than the
other approach because rule based only need the terms and conditions from
the users whereas the others are needing a complex calculation to calculate
something to make a correct decision for develop Hotel Recommendation System.
15
CHAPTER 3
METHODOLOGY
3.1 Introduction
This chapter will discuss about the methodology that used to develop this
system. Hence, the iteration and incremental model is used for hotel recommendation
system and it also explains more detail about every phase that involve in this project
development to make sure this system can be accomplished successfully. Furthermore,
it also explains justification for the use of methods and technique as well as hardware
and software requirement during this project. Besides, this chapter contain Context
Diagram (CD), Data Flow Diagram (DFD) and Entity Relationship Diagram (ERD) to
build this hotel recommender system.
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. Iterative and
incremental model has been chosen as the methodology to develop this system. The
benefits of iterative and incremental development are it has the opportunity and
improving the product step by step. Hence, it easier to manage risk and can track the
defects at early stages. This avoids the downward flow of the defects. Besides, in
iterative model less time is spent on documenting and more time is given for
designing. The flexibility of the model makes the project easy to implement at a very
16
little cost because of the frequency of new increments that are produced. Hence,
iterative and incremental model is saving of time and cost. Figure 3.1 below shows
the iterative model. This model follows eight main phase which are information
gathering (analysis), design, prototype, review, develop, implementation, testing
and maintenance.
Figure 3.1: Iterative and incremental model used in development methodology
3.2.1 Phases in Iterative and Incremental model
a) Initial and Planning Phase
During this phase, all the activities will be planned according to the given
period to complete the proposal of the system. Hotel Recommendation has been
selected as title of the project besides deciding the added value that wants to be used.
The planning phase is the most important phase since during this phased all the
planning on project development is properly planned. In the planning phase, the
detailed about this proposed system was discussed. Problem statements, objectives,
system’s scope and limitation of work were defined as well. The background analysis
of the Hotel Recommendation System was conducted by reviewing the journal about
the recommendation technique for recommendation system.
17
b) Requirement Phase
In requirement phase, the user and system requirement are identified in order to
develop a complete system. All the data related to the topic is collecting by referring
to the related system such as Trivago, Agoda, Kayak and Traveloka to gather
information and identify the weakness of these current systems. Some research has
been done to get overview about Rule-based techniques by referring to the internet,
newspaper and books.
c) Analysis and Design Phase
The requirement gathering information will help to gain an inspiration for design
in the analysis and design phase. Design phase is the phase where identify how to
build the system. The Context Diagram(CD), Data Flow Diagram(DFD) and Entity
Relation Diagram(ERD) and framework model are design to represent the detail in
order to describe the operation and flow of the system. Hence, make the system more
clear. During the system development, the interface is design with the connection to
the table database in MySQL PhpMyAdmin.
d) Implementation Phase
In this phase, all the informal specification is interpreted into formal specification
which required the design to be translated into code. Hotel Recommendation’s
interface is connected to the MySQL database. The implemented of the design is code
using HTML, PHP and JavaScript language. For system process development, the
implementation stage is focused more on Rule-based techniques and used to be code
using PHP language.
18
e) Testing Phase
In testing phase needs to be done to ensure that the system runs correctly . It is
important to ensure that the functionality of the system are meet the user requirement.
If the error found will be refer back to the background analysis, modelling and
implementation phase in order to understand the problem better and improve to make
a better system. Then the cycle of methodology is repeated until the project is well
functioning.
f) Evaluation Phase
During this phase, the system must be evaluated before deploy it to the end user. A
group of user will be asked to use the system and it is hoped that it will be user
friendly system. However, the problems occurred during the implementation phase
was effected the system which the system was not be evaluated until the last.
g) Deployment Phase
In this phase, the complete system is approved to release to the end user to
implement either the system correct functioning or not. Any changing or missed
requirement may force to redesign the system. This phase also was failed to carry out
if the system is not fulfil the requirement.
19
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 HP Pavillion
2. Processor Intel Core i5-2410M CPU (2.30 GHz)
3. Hard disk capacity 600 GB
4. Memory 4 GB RAM memory
Table 3.2: Software used in this project
No. Category Software
1. Database Management System
(DBMS)
phpMyAdmin
2. Application Database Software Xampp for phpMyAdmin
3. Application Software Notepad++
Workbench
20
3.4 System Design
Modelling and design are a diagram that built to scale which is represent the
detail in order to explain more about the system functioning in designing of database,
the interface that are build and the way of implementation method in this system.
System design is explained by Framework Design, Context Diagram (CD) and Data
Flow Diagram (Level 0,1,2 and 3).
3.4.1 Framework Design
A framework is a real or conceptual structure intended to serve as a support or
guide for the building of something that expands the structure into something useful.
A framework may be for a set function within a system and how they interrelate (the
layers of an operating system), the layers of an application subsystem (how
communication should be standardized at some level of a network).
The framework shown in Figure 3.2 below shows how the system will be
used by the user of this system which are user, hotel owner and the admin of
the system. The guest is needed to fill preferences of hotel accommodation which is
can be the location, number of guest, price per night and hotel’s activity. Hotel owner
is needed to login into the system. If they use this system for the very first time,
they need to sign up or register as a new hotel owner and then they can login
once after the registration is approve by admin. Then, hotel owner can login into
the system to manage accommodation for their hotel. By using the rule based
approach, system will receive user preferences insert by the user, then it will
generate the recommendation hotel from the database.
21
Figure 3.2: Framework for Hotel Recommendation System
22
3.4.2 Context Diagram
Figure 3.3: Context Diagram
The context diagram for the Hotel Recommendation System is shown in the
Figure 3.3 above. The Hotel Recommendation process is at the centre of the diagram.
The three entities (PUBLIC USER, HOTEL OWNER and ADMIN) are placed around
the central process. Fourteen data flows are involved in the interaction between the
central process and the entities. The PUBLIC USER entity has one incoming data
flow, LIST OF RECOMMENDATION HOTELS and has one outgoing data flows,
USER’S PREFERENCES. The HOTEL OWNER entity has three incoming data
flows that is FEEDBACK REGISTRATION, HOTEL OWNER DETAILS and
REPORT. It has three outgoing data flows, REGISTRATION DETAILS,
23
ACCOMMODATION, and HOTEL OWNER DETAILS. Finally, the ADMIN entity
has three of incoming data flows, REPORT LIST OF ACTIVE HOTEL and LIST OF
REGISTERED HOTELS. It has three outgoing data flows, LOGIN INFORMATION,
HOTEL CURRENT STATUS and APPROVE REGISTRATION HOTEL.
24
3.4.3 Data Flow Diagram (Level 0)
Description:
The DFD as Figure 3.4 above has three entities which are PUBLIC USER,
HOTEL OWNER, and ADMIN. The process that are involved in this system,
MANAGE USER, MANAGE HOTEL, MANAGE ACCOMMODATION,
MANAGE ADMINISTRATOR, ASSIGN HOTEL STATUS and REPORTING.
Figure 3.4: Data Flow Diagram
25
There are 4 data stored created in the system which is USER, HOTEL,
ACCOMMODATION and ADMIN.
1. ADMIN and HOTEL OWNER enter details to MANAGE USER which output
will stored into USER data store.
2. HOTEL OWNER enter hotel details to MANAGE HOTEL which output will
stored into HOTEL data store.
3. When HOTEL OWNER enter input the hotel details in data store, the details
will sent to ASSIGN HOTEL STATUS, generate LIST OF RECOMMENDED
HOTEL and REPORTING.
4. HOTEL OWNER enter accommodation in MANAGE ACCOMMODATION
then stored the detail in ACCOMMODATION data stored.
5. ADMIN enter admin details in MANAGE ADMINISTRATOR and save into
ADMIN data store.
6. ADMIN enter hotel status in ASSIGN HOTEL STATUS and the output will
store in HOTEL data store. The details will send to REPORTING.
7. HOTEL OWNER and ADMIN can view or get the report from REPORTING
that save in data store.
26
3.4.4 Data Flow Diagram (Level 1)
Difference from the DFD level zero, DFD level one is another level where the
main process in DFD level zero is being divided into a small part where we
can see what the main process actually is. Figure 3.5 until Figure 3.9 show
the every part of the main process in this management system.
Process 2: Manage user
Figure 3.5: DFD level 1 for Manage User
Description:
1. System provide a function to ADD new user and then stored in USER data
stored.
2. HOTEL OWNER and ADMIN can UPDATE their details that was stored
in USER data and the new updated user details can be retrieved.
3. HOTEL OWNER and ADMIN can get their details in USER data store.
4. HOTEL OWNER and ADMIN can GET user profile that can retrieved
from USER data store.
27
Process 3: Manage Hotel
Figure 3.6: DFD level 1 for Manage Hotel
Description:
1. HOTEL OWNER can ADD new hotel details then stored in HOTEL data
stored
2. A HOTEL OWNER can UPDATE their old details to the new one and stored
in HOTEL data store through update process.
3. HOTEL OWNER can get or view their details that can be retrieve from
HOTEL data store.
28
Process 4: Manage Accommodation
Figure 3.7: DFD level 1 for Manage Accommodation
Description:
1. HOTEL OWNER can ADD new accommodation details then stored in
ACCOMMODATION data stored.
2. A HOTEL OWNER can UPDATE their old details to the new one and stored
in ACCOMMODATION data store through update process.
3. HOTEL OWNER can get or view their details that can be retrieve from
ACCOMMODATION data store.
29
Process 5: Manage Administrator
Figure 3.8: DFD level 1 for Manage Administrator
Description:
1. ADMIN can ADD new admin details then stored in ADMIN data stored.
2. A ADMIN can UPDATE their old details to the new one and stored in
ADMIN data store through update process.
3. ADMIN also can delete their current details they do not want in DELETE
process then stored in ADMIN data stored.
4. ADMIN can get or view their details that can be retrieve from ADMIN data
store.
30
Process 6: Manage Hotel Status
Figure 3.9: DFD level 1 for Assign Hotel Status
Description:
1. ADMIN can ADD new hotel status then stored in HOTEL data stored.
2. ADMIN can UPDATE hotel old status to the new one and stored in HOTEL
data store through update process.
3. ADMIN can get or view hotel status that can be retrieve from HOTEL data
store.
31
3.4.5 Data Flow Diagram (Level 2)
Difference from the DFD level one, DFD level two is another level where the
process in DFD level one is being divided into a small part where we can see
what the main process actually is. Figure 3.10 below shows the part of process in
update user password.
Process Manage User
Figure 3.10: DFD level 2 for Manage User Process
Description:
1. A USER sends USER DETAIL to UPDATE PASSWORD process. The process
then sent USER DETAIL to USER data store.
2. A USER sends USER DETAIL to UPDATE EMAIL process. The process then sent
USER DETAIL to USER data store.
32
3.4.6 Data Flow Diagram (Level 3)
DFD level three is another level where the process in DFD level two is being
divided into a small part where we can see what the main process actually is.
Figure 3.11 below shows part of update user password process in verify user’s
password.
Process update user’s password
Figure 3.11: DFD level 3 for Manage User
Description:
1. A USER input USER OLD PASSWORD to VERIFY CURRENT PASSWORD
process. The process then sent USER OLD PASSWORD to USER data store.
2. . A USER input NEW PASSWORD to ENTER NEW PASSWORD process. The
process then sent NEW PASSWORD to USER data store.
3. . A USER input NEW PASSWORD to VERIFY NEW PASSWORD process. The
process then sent NEW PASSWORD to USER data store.
33
3.5 Entity Relationship Diagram
Figure 3.12: Entity Relationship Diagram (Reverse Engineering)
Figure 3.13: Entity Relationship Diagram
Manage
Manage
34
Entity Relationship Diagram as data modelling to development project. Data
modelling is needed because it can facilitate interaction among the designer,
application programmer and end-user. An entity-relationship diagram (ERD)
illustrates system’s entities information and entities’ relationship. ERD composed of 3
things such as identifying and defining the entities, determine entities interaction and
the cardinality of the relationship, as Figure 3.12 and 3.13 above.
Interaction of Admin and Hotel
One to many relationship
An admin can manage more than one hotel
But one hotel can be managed by only one admin at once
In Admin: adminId(PK)
In Hotel : hotel_id(PK)
Interaction of Hotel and Accommodation
One to many relationship
A hotel can manage more than one accommodation
But one accommodation can be managed by only one hotel at once
In Hotel : hotel_id(PK)
In Accommodation : hotel_id(FK)
35
3.6 Data Dictionary
Table 3.3: Database table for user
Attribute Type Length Explanation
userId VARCHAR 5 One ID can be own by only one
user.
password VARCHAR 10 Each user must have a password.
userType VARCHAR 2 Status whether the user is admin
or hotel owner
Table 3.4: Database table for Admin
Attribute Type Length Explanation
adminId VARCHAR 5 One ID can be own by one
admin.
adminName VARCHAR 50 Represents the name for admin
and Only character are allowed.
icNo VARCHAR 12 Represents identification card
number for admin and only
digits are allowed.
gender VARCHAR 6 Represents gender for admin
email VARCHAR 50 Represents email for admin
phoneNo VARCHAR 15 Represents phone number for
admin and only digits are
allowed.
Table 3.5: Database table for hotel owner
Attribute Type Length Explanation
hotelOwnerId VARCHAR 5 One ID can be own by one hotel
owner.
hotelName VARCHAR 50 Represents the name for admin
36
and Only character are allowed.
hotelAddress VARCHAR 30 Represents the address for hotel
postcode VARCHAR 5 Represents the postcode address
for hotel and only digits are
allowed.
city VARCHAR 30 Represents the city address for
hotel
state VARCHAR 30 Represents the state address for
hotel.
email VARCHAR 50 Represents email for hotel
phoneNo VARCHAR 15 Represents phone number for
hotel and only digits are
allowed.
totalRoom VARCHAR 5 Represents total hotel room
status VARCHAR 10 Represents hotel status
Table 3.6: Database table for Hotel Accommodation
Attribute Type Length Explanation
hotelOwnerId(FK) VARCHAR 5 One ID can be own by one
hotel owner.
noGuest VARCHAR 3 Represents number of guest
for hotel and only digits are
allowed.
price VARCHAR 10 Represents price for
accommodation.
roomType VARCHAR 20 Represents room type for hotel
activity VARCHAR 100 Represents activity that
offered
E.g. relaxing , adventure,
business travel
37
3.7 Method and Algorithm
Production rule to describe the systems that represent knowledge in the form of
rules. Rule-based systems normally use a working memory that initially contains the
input data for a particular run, and an inference engine to find applicable rules and
apply them. Rule-based technique used as powerful tools for making are recommender
system using If-then statement based on 5 criteria, which is location, number of guest,
price, room type and hotel activity. Example of Model Construction based on 5
criteria as Table 3.7 below.
Table 3.7: Example of Model Construction based on 5 criteria
Location No of
Guest
Room Type Price (RM) Hotel
Activity
Class
(Hotel)
Terengganu 2 Executive 150 Relaxing Manor
Beach
Resort
Terengganu
2 Executive 120 Relaxing Tiara Beach
Resort
Location
If location is Terengganu
Then list hotel in “Terengganu”
No of Guest
If no of Guest is 2
Then list 2 no of guest
Room Type
If room type is executive
Then list “executive” hotel room
38
Price per Night
If price per night is less than or equal to 180
Then list hotel <= 180p price per night
Hotel Activity
If hotel activity is relaxing
Then list hotel “relaxing” activity
If location is Terengganu
AND no of Guest are 2
AND room type is executive
AND price per night is less than or equal to 180
AND hotel activity is relaxing
THEN display list hotel executive hotel room for 2 no of guest at <=180 price per
night that have relaxing activity located in Terengganu
39
a) Algorithm
Start
Get user’s preferences
If (location==Terengganu && noGuest==2 && price<=180 &&
roomType== executive && hotelActivity== relaxing )
{
Display [location];
Display [noGuest];
Display [price];
Display [roomType];
Display [hotelActivity];
}
else
{
repeat the same process;
}
End
40
3.8 Chapter Summary
In this chapter, it described about project development model, system
framework, system modelling and design that contains Context Diagram (CD), Data
Flow Diagram (DFD) and Entity Relationship Diagram(ERD). Furthermore, it will
explain method or technique used for this project that will be implemented in the
development phase.
41
REFERENCES
F.O. Isinkaye, Y.O. Folajimi and B.A. Ojokoh. Principles, methods and evaluation.
Journal of Recommendation systems. Received 13 March 2015, Revised 8 June 2015,
Accepted 30 June 2015, Available online 20 August 2015.
Ferdaous Hdioud, Bouchra bouchra Frikh and Brahim Ouhbi. Multi-Criteria
Recommender Systems based on Multi-Attribute Decision Making, Content-Based
approach. Conference Paper. December 2013.
Gediminas Adomavicius, Nikos Manouselis and YoungOk Kwon. Journal Multi-
Criteria Recommender Systems.
Jie Lu, Dianshuang Wu, Mingsong Mao, Wei Wang and Guangquan Zhang. Article
Recommender System Application Developments.
Robin Burke. Article Knowledge-based recommender systems
Prafulla Bafna, Shailaja Shirwaikar and Dhanya Pramod. Semantic based clustering
using sysnset grouping collaborative filtering. Journal semantic Clustering Driven
Approaches to Recommender Systems 2016.
B. A.Gobin and R.K. Subramanian. Knowledge-based approach. Journal Knowledge
Modelling for a Hotel Recommendation System 2007.
Priti Srinivas Sajja and Rajendra Akerkar. Rule-based as knowledge representation.
Journal Knowledge Based Systems for Development 2010.
Diana Târnăveanu. Production Rules. Journal Knowledge-Based Decisions in Tourism
2012.