Professional Documents
Culture Documents
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.
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
External Examiner
Mr. ………………………………….
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.
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
viii
LIST OF ABBREVIATIONS
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.
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.
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.
2
It can be used for proper guidance to tourists.
It can also be used to spread tourism of Nepal in different Countries.
2.1 Background
2.1.1 TIP
2.1.2 Proximo
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]
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 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
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.
The system requirements are further categorized into Functional and Non-Functional
requirements.
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.
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.
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:
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.
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.
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
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
This section describes how the system interfaces with users for the purpose of reviewing
and recommending places.
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.
9
3.4.3 Software Interfaces
Google Chrome, Mozilla Firefox, safari, Opera mini or any web browser
The users get access to the system once she/he opens the website. The communication
interfaces include:
Wire or Wireless Connection
10
Figure 3: E-R Diagram
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:
12
CHAPTER-4: METHODOLOGY AND SYSTEM DESIGN
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.
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:
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.
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.
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.
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.
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.
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
17
Yes
18
CHAPTER-5: IMPLEMENTATION
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.
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.
20
CHAPTER-6: RESULT AND ANALYSIS
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
[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/.
27