0% found this document useful (0 votes)
46 views17 pages

BCA 8th Proposal

The document proposes developing a movie recommendation engine as a final year project. It aims to address issues like information overload and lack of personalization in existing systems. The objectives are to build an intelligent system using machine learning, enhance scalability, and improve diversity of recommendations. The methodology involves collecting movie data, creating user profiles, selecting and training a recommendation algorithm, and deploying the system. Existing systems like Netflix and YouTube were studied to understand different approaches. The goal is to accurately recommend movies personalized to individual preferences.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views17 pages

BCA 8th Proposal

The document proposes developing a movie recommendation engine as a final year project. It aims to address issues like information overload and lack of personalization in existing systems. The objectives are to build an intelligent system using machine learning, enhance scalability, and improve diversity of recommendations. The methodology involves collecting movie data, creating user profiles, selecting and training a recommendation algorithm, and deploying the system. Existing systems like Netflix and YouTube were studied to understand different approaches. The goal is to accurately recommend movies personalized to individual preferences.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Tribhuvan University

Faculty of Humanities and Social Sciences

A Final Year

Project Proposal

On

"MOVIE RECOMMENDATION ENGINE"

In partial fulfillment of the requirements for the Bachelors of Computer Application

Submitted to

Department of Computer Application

Ambition College

Mid Baneshwor, Kathmandu

Submitted by

Bijen Shrestha (TU Roll No.: 1058-51-22-00005)

Under the Supervision of

Ramesh Kumar Chaudhary

June, 2022
Table of Contents
1. Introduction ............................................................................................................. 1

2. Problem statement .................................................................................................. 2

3. Objectives................................................................................................................. 2

4. Methodology ............................................................................................................ 2

4.1. Requirement Identification ......................................................................... 2

4.1.1. Study of existing system ......................................................................... 2

4.1.2. Literature Review ................................................................................... 3

4.1.3. Requirement Analysis............................................................................. 5

4.2. Feasibility study ......................................................................................... 6

4.2.1 Economic Feasibility .............................................................................. 6

4.2.2. Technical Feasibility............................................................................... 6

4.2.3. Operational Feasibility ........................................................................... 7

4.3. High Level Design of System .................................................................... 7

4.3.1. Methodology of Proposed System .......................................................... 7

4.3.2. Flow Chart .............................................................................................. 8

4.3.3. Working Mechanism of Proposed System ............................................. 9

4.3.4. Description of Algorithms ...................................................................... 9

5. Implementation and tools used ............................................................................ 12

6. Gantt Chart ........................................................................................................... 13

7. Expected Outcome ................................................................................................ 13

8. References .............................................................................................................. 15
1. Introduction
A recommendation system or recommendation engine is a model used for information
filtering where it tries to predict the preferences of a user and provide suggests based on
these preferences. These systems have become increasingly popular nowadays and are
widely used today in areas such as movies, music, books, videos, clothing, restaurants,
food, places and other utilities. These systems collect information about a user's preferences
and behavior, and then use this information to improve their suggestions in the future.
Movies are a part and parcel of life. There are different types of movies like some for
entertainment, some for educational purposes, some are animated movies for children, and
some are horror movies or action films. Movies can be easily differentiated through their
genres like comedy, thriller, animation, action etc. Other way to distinguish among movies
can be either by releasing year, language, director etc. Watching movies online, there are a
number of movies to search in our most liked movies. Movie Recommendation Systems
helps us to search our preferred movies among all of these different types of movies and
hence reduce the trouble of spending a lot of time searching our favorable movies. So, it
requires that the movie recommendation system should be very reliable and should provide
us with the recommendation of movies which are exactly same or most matched with our
preferences.
A large number of companies are making use of recommendation systems to increase user
interaction and enrich a user's shopping experience. Recommendation systems have several
benefits, the most important being customer satisfaction and revenue. Movie
Recommendation system is very powerful and important system. But, due to the problems
associated with pure collaborative approach, movie recommendation systems also suffer
with poor recommendation quality and scalability issues.

The proposed movie recommendation system project aims to provide users with a
personalized and enriching movie viewing experience. By incorporating advanced
algorithms, collaborative filtering techniques, and user profiling, the system will offer
accurate and diverse movie recommendations. This project presents an exciting opportunity
to explore the intersection of machine learning, data analysis, and entertainment, while
addressing the practical challenge of content discovery in the digital age.

1
2. Problem statement
The suggested movie recommendation system project tries to address several important
issue statements in the existing content discovery environment. These issues include
information overload, a lack of personalization, the cold start problem for new users, data
sparsity and scalability, a lack of contextual consideration, a lack of diversity in
suggestions, and the necessity for real-time flexibility. By addressing these issues, the
project aims to create a robust and intelligent system that can efficiently filter and
recommend movies based on users' individual preferences, provide personalized
suggestions for new users, handle large-scale datasets, incorporate contextual factors for
relevance, offer diverse recommendations, and adapt in real-time to evolving user tastes.

3. Objectives
To overcome information overload and enhance the personalized viewing experience, a
movie recommendation system is created.

▪ To develop an intelligent movie recommendation system using advanced


algorithms and machine learning techniques.
▪ To enhance scalability to process large-scale movie datasets and accommodate a
growing user base.
▪ To improve diversity in recommendations to expose users to a wider range of movies
and genres.

4. Methodology
Developing a movie recommendation system involves collecting and preprocessing movie
data, creating user profiles, selecting and training a recommendation algorithm, evaluating
its performance, and deploying it in a production environment. User feedback and
continuous monitoring help improve the system over time. A/B testing is conducted to
compare different approaches. The goal is to create an accurate and personalized
recommendation engine that adapts to user preferences and provides real-time movie
recommendations.

4.1. Requirement Identification


4.1.1. Study of existing system
The study of existing movie recommendation systems has unveiled a wide array of
approaches and techniques utilized to address the challenges of content discovery and

2
provide personalized movie recommendations. Researchers and industry experts have
explored collaborative filtering, content-based filtering, hybrid models, and more. These
methods have proven effective in capturing user preferences and generating accurate
recommendations.

One of the existing systems studied is Netflix’s movie or series recommendation engine,
Netflix's movie recommendation engine is well-known for its complex and successful
methodology, which combines collaborative filtering and content-based filtering
algorithms. Collaborative filtering examines millions of users' viewing histories to detect
trends and recommend material based on similar users. To propose related material based
on user preferences, content-based filtering focuses on movie qualities such as genre, cast,
and director. The technology takes into account user input and behavioral characteristics
while continually optimizing via machine learning. Netflix promotes innovation through
competitions, with the goal of catering to a wide range of customer tastes while balancing
popular and customized recommendations.

Another system studied is Youtube’s Video Recommendation system, A complex


algorithm is used by YouTube's video recommendation system to provide tailored content
to users. It takes into account a variety of criteria, such as user preferences, watching
history, and interaction habits. The algorithm uses these data points to determine user
similarities and propose films based on their preferences. Furthermore, YouTube's
recommendation algorithm considers contextual information such as a video's metadata,
tags, and popularity. The goal is to deliver an entertaining and diverse collection of films
that appeal to individual interests while also improving user happiness and increasing total
platform viewing.

4.1.2. Literature Review


The literature on movie recommendation systems encompasses a wide range of studies and
research efforts aimed at improving the accuracy and effectiveness of movie
recommendations. These studies have contributed to the development of various techniques
and algorithms that are commonly employed in modern recommendation systems.

Collaborative filtering is one of the most widely used techniques in movie recommendation
systems. It leverages the collective wisdom of a large user base to provide personalized
movie recommendations. In this approach, user preferences and behaviors are analyzed to
identify patterns and similarities among users. These patterns are then used to make

3
predictions about a user's interests and recommend movies accordingly. One of the key
challenges in collaborative filtering is the sparsity of data. The number of users and movies
in a typical recommendation system is massive, making it difficult to collect sufficient
ratings for accurate predictions. To address this issue, various algorithms have been
proposed, such as neighborhood-based methods, matrix factorization, and deep learning-
based models. These algorithms aim to improve the prediction accuracy and scalability of
collaborative filtering. [1]

Content-based filtering is another popular approach used in movie recommendation


systems. This technique focuses on analyzing the attributes of movies, such as genre,
director, and actors, to recommend similar movies to users. The underlying assumption is
that if a user enjoys a particular movie, they are likely to enjoy movies with similar
characteristics. One of the advantages of content-based filtering is that it does not rely on
explicit user ratings, which can be sparse or unavailable. Instead, it relies on the inherent
characteristics of movies and user preferences. However, content-based filtering has its
limitations, such as the inability to capture the nuances of user preferences and the tendency
to recommend similar movies, which may limit the diversity of recommendations. [2]

Online recommendation engines have shaped our choices, whether we're looking for a
movie or picking an OTT platform's series. They are, however, still in the early stages of
development and far from being ideal. In this paper, we specifically discuss movie
recommendation systems. Additionally, we attempt to critically evaluate some work on
movie recommendation systems and talk about some research papers that have helped these
systems overcome a number of obstacles. Although there have been advancements, more
work needs to be done on recommendation systems to make them more effective at
providing accurate recommendations across a wider range of applications without being
explicitly programmed to do so, machine learning algorithms create a model from sample
data, also referred to as training data, in order to make predictions or decisions. [3]

Recommender systems handle the problem of information overload that users normally
encounter by providing them with personalized, exclusive content and service
recommendations. Recently, various approaches for building recommendation systems
have been developed, which can utilize collaborative filtering, content-based filtering or
hybrid filtering. Collaborative filtering technique is the most mature and the most
commonly implemented. Collaborative filtering recommends items by identifying other
users with similar taste; it uses their opinion to recommend items to the active user.

4
Collaborative recommender systems have been implemented in different application areas.
GroupLens is a news-based architecture which employed collaborative methods in assisting
users to locate articles from massive news database. Ringo is an online social information
filtering system that uses collaborative filtering to build users profile based on their ratings
on music albums [4].

Deep learning has gained significant attention in recent years for its ability to extract
complex patterns and representations from large amounts of data. In the context of movie
recommendation systems, deep learning models have been employed to improve
recommendation accuracy and capture intricate user preferences. One popular deep
learning technique used in recommendation systems is the use of neural networks, such as
convolutional neural networks (CNNs) and recurrent neural networks (RNNs). These
models can effectively process textual information, such as movie reviews or summaries,
and extract meaningful features for recommendation purposes. Additionally, deep learning
models enable the incorporation of auxiliary data, such as social network information, to
enhance the recommendation quality. [5]

4.1.3. Requirement Analysis


A complete requirement analysis is required for the creation of a movie recommendation
system to ensure the system's performance and user happiness. The initial prerequisite is
data collection, which entails gathering a broad dataset of movie properties such as genres,
actors, directors, ratings, and user reviews. User registration and profiling are required to
record user preferences and produce customized suggestions. The selection of
recommendation algorithms, such as collaborative filtering, content-based filtering, or
hybrid techniques, is critical for appropriate movie selections. A user-friendly interface
should be built to allow for easy navigation, searching, and filtering of movies, as well as
tailored suggestions based on user preferences

5
Use case Diagram

Figure 1: Use case Diagram

4.2. Feasibility study


Feasibility study means to check whether the project is feasible or not, that means possible
or not. Some feasibility study regarding this project is as follows:

4.2.1 Economic Feasibility


The project has shown the economic feasibility by the study of the fact that by using this
software the increased number of the customers can be given service effectively an4
efficiently and can save a lot time and saving time means saving money. The cost and
benefit analysis has shown that cost that have incurred in developing the project is less than
the benefits that the project is going to provide once it is developed,

4.2.2. Technical Feasibility


In this type of feasibility study, it is checked whether there is a need of new
hardware/software or not. What are the basic requirements of the project? If there is need
then how it can be fulfilled

6
4.2.3. Operational Feasibility
In this feasibility study it is determined whether there is need of well qualified operator or
simple user. Is there need to train the operator or not? This project is supporting the
Graphical User Interface; hence operating this project is so simple. Even a person who has
a little knowledge of computer can easily handle this well. There is no need of trained
operator.

4.3. High Level Design of System

4.3.1. Methodology of Proposed System


The system's goal is to present consumers with individualized movie suggestions based on
their tastes, viewing history, and other user data. Data collection, preprocessing, feature
extraction, and recommendation algorithm implementation are all part of the suggested
technique.

Data Gathering: The first stage is to compile a large dataset of movies, containing
information such as title, genre, cast, director, release year, and user ratings. In addition,
data about user preferences and viewing history will be gathered, either through explicit
user input or implicit feedback gleaned from their interactions with the system.

Data Preprocessing: After collecting data, it must be preprocessed to guarantee consistency


and quality. Cleaning the dataset, addressing missing values, deleting duplicates, and
resolving any inconsistencies or mistakes are all part of this procedure.

Feature Extraction: Feature extraction techniques will be used to collect useful information
about movies and consumers. This entails converting raw data into a more relevant form.
In the case of movies, features such as genre, actor, director, and release year might be
encoded. Viewing history, ratings, and demographic information can all be evaluated by
users.

Algorithm for Recommendation: A appropriate recommendation algorithm will be chosen


and implemented. Different algorithms, such as collaborative filtering, content-based
filtering, and hybrid techniques, might be investigated. To produce suggestions,
collaborative filtering analyzes user activity and detects comparable individuals or movies.
Content-based filtering searches for related elements in movies depending on user choices.
To deliver more reliable suggestions, hybrid techniques integrate different methodologies.

7
Training and Evaluation: The recommendation system will be trained using the
preprocessed data. Precision, recall, and mean average precision will be utilized to evaluate
the system's performance. Cross-validation approaches may be used to assess the model's
efficacy and robustness.

User Interface Development: To deliver a user-friendly experience, a web or mobile-based


interface will be created. The interface will allow users to enter their preferences, browse
recommended movies, and submit comments to help improve the suggestions.

Iterative Refinement: The system will be refined iteratively depending on user feedback
and assessment outcomes. Continuous monitoring and analysis of user interactions will
assist to improve the recommendation algorithm and the overall accuracy and relevance of
the suggestions.

4.3.2. Flow Chart

Figure 2: System Flowchart

8
4.3.3. Working Mechanism of Proposed System

Figure 3: Block Diagram


4.3.4. Description of Algorithms
Cosine similarity
Calculate the similarity between movies is the objective of content-based recommender
systems. The content can be anything such as text, video and image. In our project, each
movie is represented by a feature vector. I will introduce the cosine similarity algorithm
then. Cosine Similarity is the most popular measurement for document similarity
𝐴.𝐵 ∑𝑖=1
𝑛 𝐴𝑖 ×𝐵𝑖
Similarity = cos (𝜃) = ||𝐴||||𝐵|| =
√∑𝑖=1 2 𝑖=1
𝑛 ×(𝐴𝑖 ) ×√∑𝑛 ×(𝐵𝑖 )
2

The range of the similarity is between -1 and 1. -1 means that the direction of the two
similarity vectors is totally opposite and 1 means they are in the same direction. The cosine
similarity is 0 if the two vectors have no relationship. For text matching, it is obviously that

9
the weights are non-negative, so the range should be 0 to 1 in our case. Here is an example
for illustrating cosine similarity.
Given two sentences:
• A: I like watching TV, but I don’t like watching films.
• B: I don’t like watching TV and films.
How can we calculate the similarity between the two sentences? The basic idea is: the more
similar the words used by the two sentences are, the more similar the sentences are.

Step 1: Word segmentation.


• A: I / like / watching / TV, but / I / don’t / like / watching / films.
• B: I / don’t / like / watching / TV / and / films.

Step 2: List all the words.


• I, like, watching, TV, but, don’t, films, and

Step 3: Word frequency calculation.


• A: I 2, like 2, watching 2, TV 1, but 1, don’t 1, films 1, and 0.
• B: I 1, like 1, watching 1, TV 1, but 0, don’t 1, films 1, and 1.

Step 4: Get word frequency vector.


• A: [2, 2, 2, 1, 1, 1, 1, 0]
• B: [1, 1, 1, 1, 0, 1, 1, 1]

Then we can calculate the cosine of the two vectors by Equation.


2×1+2×1+2×1+1×1+1×0+1×1+1×1+0×1
cos (𝜃) = √22
+22 +22 +12 +12 +12 +12 +02 ×√12 +12 +12 +12 +02 +12 +12 +12

The value of the two sentences is much similar.

Hybrid Recommender or Filtering


Hybrid recommender system is the one that combines multiple recommendation techniques
together to produce the output. If one compares hybrid recommender systems with
collaborative or content-based systems, the recommendation accuracy is usually higher in
hybrid systems. The combination of both leads to common knowledge increase, which
contributes to better recommendations. The knowledge increase makes it especially
promising to explore new ways to extend underlying collaborative filtering algorithms with
content data and content-based algorithms with the user behavior data.

MinMax Scaler
A value is normalized as follows:

10
y = (x – min) / (max – min)
Where the minimum and maximum values pertain to the value x being normalized.
For example, for a dataset, we could guesstimate the min and max observable values as 30
and -10. We can then normalize any value, like 18.8, as follows:
y = (x – min) / (max – min)
y = (18.8 – (-10)) / (30 – (-10))
y = 28.8 / 40
y = 0.72
You can see that if an x value is provided that is outside the bounds of the minimum and
maximum values, the resulting value will not be in the range of 0 and 1. You could check
for these observations prior to making predictions and either remove them from the dataset
or limit them to the pre-defined maximum or minimum values.
You can normalize your dataset using the scikit-learn object MinMaxScaler.

Matrix Factorization
Matrix factorization is a way to generate latent features when multiplying two different
kinds of entities. Collaborative filtering is the application of matrix factorization to identify
the relationship between items and user entities. With the input of users’ ratings on the shop
items, we would like to predict how the users would rate the items so the users can get the
recommendation based on the prediction.

You can solve this quadratic problem through Singular Value Decomposition (SVD) of the
matrix. However, SVD is not a great solution either, because in real applications, the matrix
may be very sparse. For example, think of all the videos on YouTube compared to all the
videos a particular user has viewed. The solution (which corresponds to the model's
approximation of the input matrix) will likely be close to zero, leading to poor
generalization performance.

In contrast, Weighted Matrix Factorization decomposes the objective into the following
two sums:

• A sum over observed entries.


• A sum over unobserved entries (treated as zeroes).
2
∑(𝑖,𝑗)∈𝑜𝑏𝑠 𝑤𝑖, 𝑗 (𝐴𝑖,𝑗 − 〈𝑈𝑖 , 𝑉𝑗 〉) + 𝑤0 ∑𝑖,𝑗∉𝑜𝑏𝑠〈𝑈𝑖 , 𝑉𝑗 〉2

11
5. Implementation and tools used
Recommender System is a system that seeks to predict or filter preferences according to
the user’s choices. Recommender systems are utilized in a variety of areas including
movies, music, news, books, research articles, search queries, social tags, and products in
general.

Recommender systems produce a list of recommendations in any of the two ways –

Collaborative filtering: Collaborative filtering approaches build a model from the user’s
past behavior (i.e., items purchased or searched by the user) as well as similar decisions
made by other users. This model is then used to predict items (or ratings for items) that
users may have an interest in.

Content-based filtering: Content-based filtering approaches uses a series of discrete


characteristics of an item in order to recommend additional items with similar properties.
Content-based filtering methods are totally based on a description of the item and a profile
of the user’s preferences. It recommends items based on the user’s past preferences.

Tools Used

Vs Code
Visual Studio Code is a lightweight but powerful source code editor which runs on your
desktop and is available for Windows, macOS and Linux. It comes with built-in support
for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other
languages and runtimes (such as C++, C#, Java, Python, PHP, Go, .NET).

HTML, CSS and Bootstrap


The HyperText Markup Language, or HTML is the standard markup language for
documents designed to be displayed in a web browser. It can be assisted by technologies
such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript.
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation
of a document written in a markup language such as HTML. Bootstrap is a free and open-
source CSS framework directed at responsive, mobile-first front-end web development.

Python, Pygame and Jupyter Notebook


Python is a popular programming language used for developing machine learning and data
science applications. It can be used to build graphical user interfaces (GUIs) for

12
applications like the movie recommendation system. Python's integration with various
libraries like Pygame makes it easy to develop interactive and user-friendly applications.

Jupyter Notebook can be used to test and refine the algorithms used in the movie
recommendation system before implementing them in the GUI. It allows users to run code,
visualize data, and document their findings in a single platform.

Lucid.app (Software Design Tool)


Lucid.app used to generate various UML diagrams for system analysis and design.
Diagrams were created using this tool in order to save time since all components are
available with drag and drop functions and it also allows backup the diagrams.

6. Gantt Chart

Figure 4: Gantt Chart


7. Expected Outcome
Creating a movie recommendation system might have several benefits. One of the most
significant advantages is that it makes it easier for individuals to locate movies that they
will appreciate. Instead of wasting time scrolling through endless possibilities, the system
recommends movies based on their tastes and past selections. This tailored method assists
viewers in discovering new films that match their preferences, resulting in a more enjoyable
movie-watching experience. Furthermore, the suggestion system allows users to

13
experiment with other genres and broaden their film expertise. It encourages individuals to
extend their minds and try something new by proposing movies that are different from their
regular picks. This may be exhilarating and lead to discovering new favorite genres.

Finally, the movie recommendation system may help the film business by giving useful
information about customer behavior and trends. This information can help producers and
distributors make better informed decisions about film production and marketing tactics,
resulting in more successful films. Overall, the creation of a movie recommendation system
enhances the movie-watching experience, introduces consumers to new genres, and helps
the business.

14
8. References
[1] X. &. K. T. M. Su, "A survey of collaborative filtering techniques.," Advances in

Artificial Intelligence, vol. 2009, pp. 1-19, 2009.

[2] Y. B. R. &. V. C. Koren, "Matrix Factorization for Recommender Systems,"Computer,

vol. 42, pp. 30-37, 2009.

[3] A. S. &. S. Nair, "Survey On Movie Recommendation System,"IRJMETS, Pune, -2022

[4] L.R.,"ResearchGate," March 2021. [Online]. Available: https://www.researchgate.net/

publication/A_Comprehensive_Survey_on_Movie_Recommendation_Systems.

[5] R. Burke, "Hybrid Recommender Systems: Survey and Experiments," User Modeling

and User-Adapted Interaction, vol. 12, no. 4, pp. 331-370, 2002.

15

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy