You are on page 1of 37

UNIVERSAL ENGINEERING AND SCIENCE COLLEGE 

AFFILIATED TO POKHARA UNIVERSITY

A Project Report
ON 
Tourism Places of Nepal Recommendation Website

Submitted by:
Sabina Nepal (19070452)
  Sonika Shrestha (19070456)

Submitted to:
Department Of Computer Science & Engineering
Universal Engineering and Science College
Chakupat, Lalitpur

Nov,2022
DECLARATION

We hereby declare that the report of the project entitled “Tourism Places of Nepal
Recommendation Site” which is being submitted to the Department of Computer
Science and Engineering, Universal Engineering and Science College, Chakupat
Lalitpur, in the partial fulfillment of the requirements for the award of the Degree of
Bachelor of Engineering in Computer Engineering, is a bonafide report of the work
carried out by us. The materials contained in this report have not been submitted to any
University or Institution for the award of any degree and we are the only author of this
complete work and no sources other than the listed here have been used in this work.

Sabina Nepal (Class Roll No: 075/BCE/116)

Sonika Shrestha (Class Roll No: [075/BCE/120])

Date: Nov, 2022

i
CERTIFICATE OF APPROVAL

The undersigned certify that they have read and recommended to the Department of
Computer Science and Engineering, Universal Engineering and Science College, a
minor project work entitled “Tourism Places of Nepal Recommendation Site”
submitted by Sabina Nepal, and Sonika Shrestha, in partial fulfillment for the award of
Bachelor’s Degree in Computer Engineering. The Project was carried out under special
supervision and within the time frame prescribed by the syllabus.

We found the students to be hardworking, skilled and ready to undertake any related
work to their field of study and hence we recommend the award of partial fulfillment of
Bachelor’s degree of Computer Engineering.

Project Supervisor

Mr. Nabin Shrestha

Senior Coordinator, Department of Computer Science & Engineering, UESC

External Examiner

Mr. ………………………………….

HOD, Department of Computer Engineering ….……………………………

Head of the Department

Mr. Santosh Bhattarai

Department of Computer Science & Engineering, UESC

Nov, 2022

ii
COPYRIGHT

The author has agreed that the library Department of Computer Science & Engineering,
Universal Engineering & Science Campus, may make this report freely available for
inspection. Moreover, the author has agreed that the permission for extensive copying of
this project work for scholarly purpose may be granted by the professor/lecturer, who
supervised the project work recorded herein or, in their absence, by the head of the
department. It is understood that the recognition will be given to the author of this report
and to the Department of Computer Science & Engineering, Universal Engineering &
Science Campus in any use of the material of this report. Copying of publication or other
use of this report for financial gain without approval of the Department of Department of
Computer Science & Engineering, Universal Engineering & Science Campus and
author’s written permission is prohibited.

Request for permission to copy or to make any use of the material in this project in whole
or part should be addressed to department of Department of Computer Science &
Engineering, Universal Engineering & Science College.

iii
ACKNOWLEDGEMENT

This project is the result of dedication and encouragement of many individuals. Our
sincere and hearty appreciation goes to all of them. We would like to express our sincere
gratitude to Universal Engineering and Science College for providing us with the
opportunity to do this project. We would like to thank all the members of the college
department for their generous and enthusiastic support.

We are thankful to our supervisor Mr. Nabin Shrestha for availing us all resources and
continuous support that helped us to carry out this project. 

Last but not the least, we are obliged to all our friends who suggested and supported us in
the course of our project from beginning to the end.

Sabina Nepal (Class Roll No.: 075/CMP/116)


Sonika Shrestha (Class Roll No.: 075/CMP/120)

iv
ABSTRACT

Tourism these days involves mass availability and mass participation in holidays. But
many times, a tourist cannot decide which place to visit, or where to stay. A user-based
tourist attraction recommender system is proposed in this paper. The recommender
system is constructed as an online website which is capable of generating a personalized
list of preference attractions for the tourist. The system is trained using the dataset of
Open Data Nepal. Places were recommended based on two factors, similar users and
similar contents. Collaborative Filtering was used to recommend places based on similar
users and Content Based Filtering was used to recommend places based on similar
content. The Machine learning model was trained and pickled so that it can be used in
Front-end,also data was stored in My-sql Database.
Index Terms: Collaborative filtering algorithm, Web Scraping, MySql.

v
Table of Contents
DECLARATION..................................................................................................................................i
CERTIFICATE OF APPROVAL............................................................................................................ii
COPYRIGHT....................................................................................................................................iii
ACKNOWLEDGEMENT....................................................................................................................iv
ABSTRACT.......................................................................................................................................v
LIST OF FIGURES...........................................................................................................................viii
LIST OF ABBREVIATIONS.................................................................................................................ix
CHAPTER-1: INTRODUCTION..........................................................................................................1
1.1 Background...........................................................................................................................1
1.2 Motivation............................................................................................................................1
1.3 Problem of Statement...........................................................................................................2
1.4 Objective and scopes............................................................................................................2
CHAPTER-2: LITERATURE REVIEW...................................................................................................3
2.1 Background...........................................................................................................................3
2.1.1 TIP..................................................................................................................................3
2.1.2 Proximo..........................................................................................................................3
2.1.3 GeoNotes.......................................................................................................................3
2.1.4 MacauMap.....................................................................................................................4
2.1.5 The GUIDE......................................................................................................................4
2.1.6 Deep Map......................................................................................................................4
2.1.7 ITravel............................................................................................................................5
2.2 Proposed System..................................................................................................................5
CHAPTER-3: REQUIREMENT ANALYSIS............................................................................................6
3.1 Requirement Analysis...........................................................................................................6
3.1.1 User Requirement Definition.........................................................................................6
3.1.2 System Requirement Specification................................................................................6
3.2 Feasibility Analysis................................................................................................................8
3.2.1 Technical Feasibility.......................................................................................................8
3.2.2 Operational feasibility....................................................................................................8
3.2.3 Schedule feasibility........................................................................................................8
3.3 Software Quality Attributes..................................................................................................9
3.4 System Interfaces.................................................................................................................9

vi
3.4.1 User Interface................................................................................................................9
3.4.2 Hardware Interfaces......................................................................................................9
3.4.3 Software Interfaces........................................................................................................9
3.4.4 Communication Interfaces...........................................................................................10
3.5 Structuring System Requirements......................................................................................10
3.5.1 Data Modelling............................................................................................................10
3.5.2 Process Modelling........................................................................................................11
CHAPTER-4: METHODOLOGY AND SYSTEM DESIGN.....................................................................13
4.1 Collaborating Filtering Algorithm........................................................................................13
4.1.1 Memory Based Approach:...........................................................................................13
4.1.2 Model Based Approach:...............................................................................................15
4.2 System Design.....................................................................................................................15
4.2.1 System Architecture.....................................................................................................16
4.2.2 Flowchart of the System..............................................................................................16
CHAPTER-5: IMPLEMENTATION....................................................................................................18
5.1.1 Design and Development Tools...................................................................................18
5.1.2 Applications Used for Report Writing..........................................................................18
5.1.3 Description of Main Modules.......................................................................................19
CHAPTER-6: RESULT AND ANALYSIS.............................................................................................20
CHAPTER 7: FUTURE ENHANCEMENT...........................................................................................21
CHAPTER 8: CONCLUSION.............................................................................................................22
CHAPTER 9: APPENDICES..............................................................................................................23
REFERENCES.................................................................................................................................24

vii
LIST OF FIGURES

Figure 1: Use-Case Diagram.............................................................................................7


Figure 2: Schedule of Development..................................................................................8
Figure 3: E-R Diagram....................................................................................................10
Figure 4: Level 0 DFD.....................................................................................................11
Figure 5: System Architecture........................................................................................14
Figure 6: Flow Chart.......................................................................................................15
Figure 7: Dataset Initialization.......................................................................................17
Figure 8: Screenshot of the UI........................................................................................19

viii
LIST OF ABBREVIATIONS

EDA: Exploratory Data Analysis


HTML: Hyper Text Markup Language
CSS: Cascading Style Sheet
VS: Visual Studio
JS: JavaScript
AI: Artificial Intelligence
GIS: Geographical Information System
RF: Radio Frequency
UI: User Interference

ix
CHAPTER-1: INTRODUCTION

1.1 Background 

We are living in an era of information revolution and technologies with a lot of devices
and the internet, which makes our daily life easier and faster. Computers, mobile phones
and the internet have become an unavoidable part of our lives. There are a lot of things
that we can do with the help of these technologies and advancement is also being
achieved by this.

Tourism place of Nepal Recommendation Website is the web portal which helps in
finding the appropriate place for the appropriate person to visit. It recommends the list of
places to the user / seekers according to their requirements. Tourism place
recommendation is also recognized as a list generator for the tourism according to the
information of seekers or according to their past search histories. Recommendation
systems usually make use of either or both collaborative-filtering and content-based
filtering. Collaborative builds a model from a user’s past behavior as well as similar
decisions made by other users. Content-based filtering is based on the description of a
profile of the user’s preferences and interests. The project embeds a collaborative
filtering technique to facilitate users with personalized recommendations and more
focused content. This project examines both the implicit and explicit behavior of users to
recommend places of their interest along with a handful of information related to those
places.

So the main aim of the project is to make a website where the tourist will be
recommended some places according to his or her interests and based on that he or she
can do his or her own trip. Choosing a tourist destination from the information which is
top rated by other user, is one of the most difficult tasks for tourists who are making
travel plans, both before and during their travel. There are lot of websites and
applications that provide the top rated places from various cities which may not be the
place user likes. Also, some websites based on nearest location, try to recommend places
to the nearest location of the user. So, to overcome this, similar contents and similar set

1
of users need to be analyzed and accordingly build an optimized recommendation system.
[1]

1.2 Motivation

Today’s world is computer, internet and AI dominated. Each and every field is
dependent on computers and the internet and AI makes it easier to perform tasks ranging
from simple to complex one. Web application has been applied in almost every field
where the web application for posting the tourism places and applying via it is also one.
So, we intended to develop a web application with a recommendation system that can be
a small act to connect AI and our generation of people via the internet and web. Tourists
also have some difficulties when they want to search places on Google, lots of time is
wasted visiting web browsers and searching on the internet.  Those difficulties also
motivate us to do this project. 

1.3 Problem of Statement

In the current scenario, many people across the globe are searching for good tourism
places. They might be either unsatisfied by lack of information or might not have any
proper guidance to travel in different places. There are various reasons why they are not
getting specific information where they want to go. One of the reasons is there are no
proper sites or apps to guide them and get the exact places to visit.

Considering these problems, the implementation of this system helps in recommending


the tourism places and also provides the categories of interest to visit. 

1.4 Objective and scopes

The main objective of our project is listed below:

 To enhance the tourism in Nepal by providing proper description about the places
they want to visit. 
 To reduce the misguidance, fraud and difficulties for tourists. 

The scopes which are as follows:

2
 It can be used for proper guidance to tourists.
 It can also be used to spread tourism of Nepal in different Countries.

CHAPTER-2: LITERATURE REVIEW

2.1 Background

In this section will be described some existing recommendation systems, according to


their reference capabilities.

2.1.1 TIP

This system and Heracles provides recommendation services through mobile devices for


tourism. These services implement hybrid algorithms to calculate tourist preferences,
using the defined tourist profile and location data (location aware).

2.1.2 Proximo

Proximo is a location-aware mobile and recommendation system that fits the pure


paradigm approach.  It guides users through tours within buildings using Java and
Bluetooth technologies. The mobile device also tracks the user location and builds a
context, providing the system with important information. The user position is taken
by "sniffing out" the fixed Bluetooth
Devices or low-cost beacons deployed in the area of use.  This room-level accuracy
means improved precision and is accurate enough for a certain class of trail-based
applications such as a tour guide. The mapping services on the mobile displays a map of
the intended area of use, which can be manipulated in a variety of ways. Also, the
application constantly monitors the user location and displays the active areas of the
building (the area the user is in) accordingly. Proximo's pure collaborative
recommendation system relies on its user's item ratings to provide recommendations. [2]

2.1.3 GeoNotes

3
This system tries to blur the boundary between physical and digital space (ubiquitous
computing and augmented reality). At the same time, it strives to socially enhance digital
space (collaborative filtering, social navigation, etc.) by allowing users to participate in
the creation of the information space. GeoNotes is a location-based information system
that allows the user to access information in relation to the user's position in geographical
space. With this mobile application, tourists can retrieve notes regarding their current
location. Other tourists that visit the same place, thus leaving their own geo-referenced
notes, introduce their own notes. [3]

2.1.4 MacauMap

MacauMap is a tourism-oriented mobile GIS application for the city of Macau that
features map navigation displaying the user's current location. It also provides
information about the public bus network and bus guides for calculating optimal bus
routes. MacauMap also provides sightseeing guides with information about museums,
churches, temples, hotels, restaurants and other places of interest, along with their
location on the map. [4]

2.1.5 The GUIDE

This project has been developed to provide the Lancaster, U.K., city visitor’s up-to-


date and context-aware hypermedia information while they explore the city. Visitors view
this information through a Fujitsu TeamPad 7600 hand-held device. This unit is equipped
with an 802.11 wireless networking card. To back up the device, several 802.11 base
stations have been installed all over the place. In  GUIDE, the  adaptive hypermedia
presented to visitors is tailored to both environmental context (the major attractions in 
the city) and  the visitor's personal context, where he  can produce  a customized tour  of 
the  city  so he can explore it in his own way. [5]

2.1.6 Deep Map

Deep Map realizes the vision of a future tourist guidance system that works as a mobile


guide and as a web-based planning tool. Deep Map is a mobile system that aids tourists

4
with navigating through the city of Heidelberg by generating personal guided tours. Such
a tour shall consider personal interests and needs, social and cultural backgrounds (e.g.
age, education and gender), type of transportation (e.g. car, foot, bike or wheelchair) and
other circumstances from season, weather and traffic conditions, to time and financial
resources. [6]

2.1.7 ITravel

This system is based on ratings provided by other tourists with similar interests .The


approach used employs mobile peer-to-peer communications for exchanging ratings via
their mobile devices.
Data exchange is based on wireless RF-communication technologies present in mobile
devices that allow users to effectively share their ratings toward visited attractions
(mobile peer can detect other peers that are within its transmission range). [7]

2.2 Proposed System

This paper proposes the creation of a website for tourists. The project implants a
collaborative filtering technique to encourage users with personalized recommendation
and more centered substance. This project analyzes both the certain and express behavior
of clients to suggest places of their interest alongside a modest bunch of data related to
those places.

5
CHAPTER-3: REQUIREMENT ANALYSIS

3.1 Requirement Analysis

Requirements analysis means to analyze, document, validate and manage software or


system requirements.

3.1.1 User Requirement Definition

The user requirement for this system is to make the system fast, feasible, less prone to
error, save the time and improve transparency. - The system should have a user friendly
interface.

 The system can recommend gadgets that are never searched by the user.

3.1.2 System Requirement Specification

The system requirements are further categorized into Functional and Non-Functional
requirements.

3.1.2.1 Functional Requirements


Functional Requirements define the basic system behavior and function of the system
where functions are the collective sets of input, their behaviors and their output. Some of
the functional requirements are given below:

 User to login / Register into the system.


 User to review/rating the places
 Allow user to search places
 Allow admin to manage places

3.1.2.2 Use-Case Diagram


A use case diagram is a representation of the user’s interaction with the system and
system interaction with its environment. It enables us to visualize the different types of

6
roles in a system and how those roles interact with the system. Actor, use case, system is
used in the following diagram where the actor is either the user or the admin.

Figure 1: Use-Case Diagram

3.1.2.3 Non-Functional Requirements


A non-functional requirement describes how the system performs a certain function.
Non-functional requirements generally specify the system’s quality attributes or
characteristics. Typical non-functional requirements include:

 User can register using a valid email address and only one account can be created
to with an email address.
 The posted places must be verified by the system admin to make it visible to other
users.

7
 System uses Collaborative Filtering technique to recommend the posted places to
users.

3.2 Feasibility Analysis

Feasibility study refers to the most initial assessment of a proposed plan or project and
investigates the practicality of such a plan or project. The study is also designed to
identify potential issues and problems that could arise from pursuing the project. There
are different types of a feasibility study done before doing this project such as:

3.2.1 Technical Feasibility 

Usually concerned with specifying hardware, computer programs, and equipment that
will effectively fulfill the client's necessity. The specialized needs of the framework may
change significantly.

3.2.2 Operational feasibility 

Operational feasibility is used for identifying or analyzing specially the existing system
with the proposed system and its behavior. It gives the further analysis of solving the
problem only after implementing it in the system. Operational feasibility is highly
convenient in use. 

3.2.3 Schedule feasibility 

Schedule feasibility is analyzed to complete the project within the estimated time. This
project is estimated to be completed within the end of this semester.
S. Task Start Finish Duratio May Ju July Aug Sept Oct Nov
N n n
1 Review 07/05/2022 15/05/2022 9 days
2 System Analysis 16/05/2022 25/05/2022 15 days
3 System Design 26/06/2022 06/07/2022 20 days
4 Coding 07/07/2022 07/08/2022 90 days
5 Testing and 08/08/2022 14/08/2022 30 days
debugging
6 Documentation 01/06/2022 30/08/2022 200

8
days

Figure 2: Schedule of Development

3.3 Software Quality Attributes

The quality of the system is maintained in such a way that it can be very user friendly to
all the users. The system quality attributes are assumed as under:
 Accurate and hence reliable
 Secured
 High speed
 Compatibility
 User friendly

3.4 System Interfaces

This section describes how the system interfaces with users for the purpose of reviewing
and recommending places.

3.4.1 User Interface

Application will be accessible to the customers through desktop, laptops and smartphone.
The interface would be viewed best using the normal setting of the web browser used in
the device. The system is fully compatible with all the modern web browsers. The user
uses the internet for accessing the system and then gets recommendations based on
popular places on the system and on others' user perspective.

3.4.2 Hardware Interfaces

 Devices: Desktop, Laptop, Smart phone


 Operating system: Windows, Linux, Mac, Android, IOS
 As being a web application, processor and RAM is not a boundary for the system

9
3.4.3 Software Interfaces

 Google Chrome, Mozilla Firefox, safari, Opera mini or any web browser

3.4.4 Communication Interfaces

The users get access to the system once she/he opens the website. The communication
interfaces include:
 Wire or Wireless Connection

3.5 Structuring System Requirements

3.5.1 Data Modelling

Data modeling is the process of creating a visual representation of either a whole


information system or parts of it to communicate connections between data points and
structures. The goal is to illustrate the types of data used and stored within the system, the
relationships among these data types, the ways the data can be grouped and organized
and its formats and attributes.

3.5.1.1 Entity-Relationship Diagram


ER (Entity Relationship) diagram is the visual representation of major entities within the
system scope and the interrelationship among these entities. It represents how actually the
database is designed. Tourism places of Nepal Recommendation Website includes user,
admin, rating/review, and places as entities. The relationship among these entities along
with their attributes is shown in the figure below.

10
Figure 3: E-R Diagram

3.5.2 Process Modelling

Process modeling is a technique designed to understand and describe the process. It


connects and improves the communication between the current and the future state of a
process.

3.5.2.1 Data Flow Diagram


A DFD is often used as a preliminary step to create an overview of the system, which can
later be elaborated.
Process: A process takes data as input, executes some steps and procedure data as output.
External Entity: Object outside the system being modeled, and interacting with
processes in the system.

11
Data Store: Files or storage of data that store data input and output from the process. The
DFD diagram of level-0 is shown below in details:

3.5.2.1.1 Level 0 DFD


For the Level 0 DFD system has User and Admin. The user will observe recommended
data and search items by accessing the system. Then admin interacts with the browser
and give the recommended places with datasets to the user which is shown in figure.

Figure 4: Level 0 DFD

12
CHAPTER-4: METHODOLOGY AND SYSTEM DESIGN

Basics Terminologies used:

4.1 Collaborating Filtering Algorithm

Collaborative filtering is the type of recommendation algorithm that bases its predictions
and recommendations on the rating or behavior of other users in the system. The
fundamental idea of collaborative filtering is to find users in the community that share the
same opinions. There are mainly two approaches to the collaborative filtering method.
 

4.1.1 Memory Based Approach: 

Memory-based algorithms utilize the entire user-item database to generate a prediction.


These systems employ statistical techniques to find a set of users, known as neighbors,
that have a history of agreeing with the target user (i.e., they either rate different items
similarly or they tend to buy similar sets of items). Once a neighborhood of users is
formed, these systems use different algorithms to combine the preferences of neighbors
to produce a prediction or top-K recommendation for the active user. The techniques,
also known as nearest-neighbor or user.

Based collaborative filtering is more popular and widely used in practice [1]. 
The main idea behind the memory based approach is to find similar users based on
cosine similarity. If it is to be dug further, it can be divided into two sections: user-item
and item-item filtering. In user-item filtering, similar users to a particular user are
retrieved and the user is recommended with the item that the similar users are interested
in. On the other hand; in item-item filtering technique, users interested in a particular
item is retrieved and other items are retrieved that the similar users also liked. In a model
based approach, training or optimizations are not involved. And its performance
is compromised by data scarcity. Here, a similarity measure is carried out through cosine

13
similarity measures. The technique for the cosine similarity is mentioned earlier in the
document.
To make things as simple as possible, here are the steps carried out during the execution
of the system algorithm. 
Find the K-nearest neighbor(KNN) to a user ‘U’, using a similarity function ‘f’ to
measure the distance between each pair of users, here ‘i’ is the i th user in the user dataset
K:
Similarity (U, i) = f (U, i), i ∈ K
From those similar users, get the items that they are interested in.
Send the items to the user ‘U’
Data pre-processing is carried out during the initialization of the algorithm. Data fed to
the algorithm is in .csv format.
Similarity Measure: In order to compute the similarity between item vectors, Cosine
similarity is used.
Consider, A and B are two vectors, now the similarity is calculated as:

4.1.1.1 User Based Approach 

User based recommendation algorithms firstly identify the K most similar users to the
active  user using the Pearson correlation or vector space model in which each user is
treated as a vector  in the m-dimensional item space. And the similarities between the
active user and other users are computed between the vectors. After the K most similar
users have been discovered, their corresponding rows in the user item matrix R are
aggregated to identify a set of items C, preferred to the group together with their
frequency. With the set C, user-based CF techniques then recommend Top-N most
frequent elements in C that the active user has not discovered. 

14
This filtering methodology is used to recommend items to the user based on the rating of
other users. The algorithm works perfectly fine when the number of users and items are
less. But, when the number of items starts increasing, problems of data scarcity occurs. 

4.1.1.2 Item Based approach

Though a user-based approach is useful, it suffers from the scalability problem as the user
base grows. Searching from the neighbors of a user becomes time consuming. To
extend collaborative filtering to the large user base, a more scalable version of
collaborative filtering.
The i.e. item based approach was introduced, in term based approach, instead of using 
similarities between users rating to predict their preferences, similarities between the 
evaluation patterns of a particular item is considered. Thus, the overall structure of this
approach seems to be similar to that of content based approach to recommendation and
personalization, but item similarity is deducted from user preference rather than extracted
from the item data. 
The underlying assumption of the collaborative filtering approach is that if person A has
the same opinion as person B on an issue, A is more likely to have B's opinion on a
different issue than that of a randomly chosen person. 

4.1.2 Model Based Approach: 

Model based approach uses machine learning to find user’s preference. Machine learning
approach is used in the development of systems. Here are the different ways that
model based approaches can be adapted. 

4.1.2.1 Clustering based algorithm: 

The idea of clustering is the same as that of memory-based recommendation systems. In


memory based algorithms, we use the similarities between users and/or items and use

15
them as weights to predict a rating for a user and an item. The difference is that the
similarities in this approach are calculated based on an unsupervised learning model,
rather than Pearson correlation or cosine similarity. In this approach, we also limit the
number of similar users as k, which makes the system more scalable. 

4.1.2.1 Matrix factorization algorithm: 

The idea behind such models is that attitudes or preferences of a user can be determined
by a small number of hidden factors. The factors are known as Embedding. Matrix
decomposition can be reformulated as an optimization problem with loss functions and
constraints. 

4.2 System Design

Design is an abstraction of a solution; it is a general description of the solution to a


problem without the details. Design is the view patterns seen in the analysis phase to be
patterns in a design phase. After the design phase, we can reduce the time to create the
implementation. In this chapter it introduces models, system architecture principle system
object, design model and object interface.

4.2.1 System Architecture

The system block diagram is the graphical representation of the system where the
functions are represented by the blocks and the relationship between those blocks is
shown by the connection lines between them. The system uses Collaborative technique of
recommendation system to recommend gadgets to the users. The basic block diagram of
the system is shown.

16
Figure 5: System Architecture

4.2.2 Flowchart of the System

A flowchart is a type of diagram that represents a workflow or process. Flowcharts are


used in designing and documenting the simple process. The process in a flowchart can be
expressed through boxes and arrows with different sizes. Terminal box-start/end,
input/output, process, decision, and connector/arrow are used in this flowchart.

17
Yes

Figure 6: Flow Chart

18
CHAPTER-5: IMPLEMENTATION

5.1 Implementation System

Implementation System concerns with building a properly working system, implementing


it and finalizing system and user documentation. Implementation also involves closing
down the project. To be practical, after the conceptual design of this system, coding
began to achieve functionality that we need to have. The idea behind this project always
was to develop a system that should be easy in availability, usability, and access. Web
based application was selected because it closely matches the thought of the project
begun with.

Although the process of documentation proceeds throughout the cycle, it receives formal
attention during the implementation phase. This form of document is prepared to reveal
all the information accumulated about the system. Finally, this phase ensured that the
system meets all the specifications and objectives developed in earlier project phases.
The tools, technologies and the techniques used to implement this project are briefly
discussed in the following section.

5.1.1 Design and Development Tools

 Django: For back-end design


 HTML, CSS, JavaScript: For user interface design
 Python: For Recommendation system design
 MySQL: For database design
 VSCODE

5.1.2 Applications Used for Report Writing

 Microsoft Word: To prepare document


 draw.io: To draw different diagrams
 Microsoft Excel: To prepare Gantt chart

19
5.1.3 Description of Main Modules

Some of the major modules used in the implementation of the application are the “Login
module, Search module, and Recommendation module.” These modules describe the
different functionality of the system.

 Login Module: This module consists of the registration and login of different
users with valid credentials. Django comes with the user authentication system. It
handles the user accounts, and cookie- based user sessions.
 Search Module: This module consists of the search functionality of the system.
This is a method where users can manually search places from the database.
 Recommendation Module: This is one of the major and essential modules of the
system. This module performs all the tasks of recommendation. It takes some
input and provides the recommendation to the user. Here, we have worked
distinctly upon the Temples, Mountains and Hotels classes where we associate a
validate recommendation method for each of them. Method read_csv( ) is used to
load the data. As per recommendation module for authenticated users, we have
different functions which associate in an efficient collaborative filtering
technique. In this user based collaboration, method cosine(user) calculates cosine
similarity among the users. Method find_ n_ neighbours (df, n) returns the
similarity users at optimized minimum distance. And finally, we have a method
User_id(user) which generates user item score using score function and returns
the place_id for recommendation.

In case of non-logged-in users we have associated an algorithm where we take


ratings and associate them in the hierarchy of popularity. Here, the method
read_csv( ) is used to load the data. Then, we have defined the function
popularity_recommendation() where we trace the ratings count, merge it, reset the
index and then sort in ascending order to return the popularity list places.

20
CHAPTER-6: RESULT AND ANALYSIS

6.1 Evaluation Metrics

There are two important sub-processes for evaluation of recommender system:

a. Online Evaluation
Online evaluation is used to evaluate recommender systems by a method called
A/B testing where a part of users are served by recommender system A and the
other part of the users by recommender system B.
b. Offline Evaluation
The offline dataset is first split to train and test instances. All training instances
are then modeled in a user-item interaction matrix, and supervised learning
models are trained. It includes Mean Absolute Error(MAE), Root Mean Square
Error(RMSE), Hit Rate(HR) and rating Hit Rate(rHR) etc.
Validation of our model is done using RMSE.
RMSE:
Root mean square error computes the mean value of all the differences squared
between the true and the predicted ratings and then proceeds to calculate the
square root out of the result. The advantage of using RMSE over MAE is that it
penalizes the term more when the error is high. Note that RMSE is always greater
than MAE. Both the MAE and RMSE can range from 0 to ∞. They are
negatively-oriented scores: Lower values are better.

21
CHAPTER 7: FUTURE ENHANCEMENT

As the AI system goes more mainstream, it can be said that the system will be gaining
more and more reputation. The algorithm used in this system is a user-based approach of
collaborative filtering that is popular in the latest trend. In the future, its use would be
more because of its simple nature and easy implementation.

The recommendation system that we just implemented does recommendation pretty well.
The system can be more extended by adding more features like hotels booking system,
tourist guides providing system, and so on. Further personalized recommendations can be
made by using various techniques for eradicating the cold start problem. Only explicit
behaviors of users are recorded to generate recommendations, but in the future implicit
behaviors can also be used for more accurate results. As for now, the system is web-
based, but in the future, it can be built on a mobile platform. By which the system can be
accessed by more users, more data would be available to the algorithm by which even
better recommendations can be made and provide greater experience of tourism in Nepal.

22
CHAPTER 8: CONCLUSION

Advancement in technology and the busy lifestyle of people leads them towards online
platform to search about places if they interested to go. Considering such a need for
places recommendation according to their requirement and popularity based places, the
"Tourism Places of Nepal Recommendation website" is built to recommend a list of
relevant tourism places of Nepal to end-users. Successful implementation of the system is
done by creating a web application and by using user-based collaborative filtering. The
system can detect most similar users to a target user and estimate the desired rating to be
the weighted average of the ratings of these similar users. Also, a popularity-based
recommender system is implemented for displaying the most popular gadgets. The
recommender engine is evaluated using the RMSE metric.
In conclusion, this system provides an easy, relevant, and interactive experience to the
users. Users can see an interactive interface and the services that have been provided. In
addition to that, the system was developed to brush up our skills and understandings of
the software engineering process, algorithms, and the value of teamwork. Since our
model is not 100% accurate, developing an effective model remains challenging. A large
and well-defined dataset together with a more precise algorithm can contribute in
improving the system.

23
CHAPTER 9: APPENDICES

Appendix 1: Screenshots

1. Homepage

2. User Profile

24
3. Register

4. Login

25
5. Change Password

26
References

[1] S. Tiwari, "Ijert," 2021. [Online]. Available: https://www.ijert.org/research/tourist-


place-recommendation-system-IJERTCONV9IS03074.pdf.

[2] P. S. Walunj, "TOURIST PLACE RECOMMENDATION," 2016. [Online].


Available:
http://ijariie.com/AdminUploadPdf/TOURIST_PLACE_RECOMMENDATION_SY
STEM_ijariie2237.pdf.

[3] P. P. A. Manjare, "Recommendation System Based on Tourist Attraction," 04 04


2016 . [Online]. Available: https://www.irjet.net/archives/V3/i4/IRJET-V3I4174.pdf.

[4] L. Ravi, "A Collaborative Location Based Travel Recommendation System through
Enhanced Rating Prediction for the Group of Users," 16 03 2016. [Online].
Available: https://www.hindawi.com/journals/cin/2016/1291358/.

[5] P. Swamy, "Tourist Place Recommendation System," 22 02 2021. [Online].


Available: https://www.ijert.org/tourist-place-recommendation-system?
fbclid=IwAR2wjJtr8TBidF1yOZNAfq6BV5gnir4VesEsQoE-b8-
4zYHaUzxbjGNjSwU.

[6] F. Santos, "Tourism Recommendation System based in user's profile and


functionality levels," 07 2016. [Online]. Available:
https://www.researchgate.net/publication/305649050_Tourism_Recommendation_S
ystem_based_in_user's_profile_and_functionality_levels.

[7] L. Sebastia, "E-Tourism: A tourist recommendation and planning application," 09


2009. [Online]. Available: https://www.researchgate.net/publication/258885779_E-
Tourism_A_tourist_recommendation_and_planning_application.

27

You might also like