Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
10 views

move rs

Uploaded by

shubham jha
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

move rs

Uploaded by

shubham jha
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

A PROJECT REPORT

on
MOVIE RECOMMENDATION SYSTEM

Submitted to
KIIT Deemed to be University

In Partial Fulfillment of the Requirement for the Award of


BACHELOR’S DEGREE IN
COMPUTER SCIENCE ENGINEERING
BY

MANSHI PRATAP 2105383


NIRET BADGIRE 2105385
KETAN KUMAR 21051823

UNDER THE GUIDANCE OF

Sovan Kumar Sahoo

SCHOOL OF COMPUTER ENGINEERING

KALINGA INSTITUTE OF INDUSTRIAL TECHNOLOGY


BHUBANESWAR, ODISHA -

751024 APRIL 2024


A PROJECT REPORT
on
MOVIE RECOMMENDATION SYSTEM

Submitted to
KIIT Deemed to be University
In Partial Fulfillment of the Requirement for the Award of

BACHELOR’S DEGREE IN
COMPUTER SCIENCE ENGINEERING
BY

MANSHI PRATAP 2105383


NIRET BADGIRE 2105385
KETAN KUMAR 21051823

UNDER THE GUIDANCE OF


Sovan Kumar Sahoo

SCHOOL OF COMPUTER ENGINEERING

KALINGA INSTITUTE OF INDUSTRIAL TECHNOLOGY


BHUBANESWAR, ODISHA -751024

APRIL 2024
KIIT Deemed to be University
School of Computer Engineering
Bhubaneswar, ODISHA 751024

CERTIFICATE
This is certify that the project entitled

MOVIE RECOMMENDATION SYSTEM


submitted by

MANSHI PRATAP 2105383


NIRET BADGIRE 2105385
KETAN KUMAR 21051823
is a record of bonafide work carried out by them, in the partial fulfillment of the
requirement for the award of Degree of Bachelor of Engineering (Computer Sci-
ence & Engineering OR Information Technology) at KIIT Deemed to be university,
Bhubaneswar. This work is done during the year 2023-24, under our guidance.

Date: 05/04/2024

Sovan Kumar Sahoo


Project Guide
Acknowledgements

We are profoundly grateful to Sovan Kumar Sahoo of Affiliation for his


expert guidance and continuous encouragement throughout to see that this project
meets its target since its commencement to its completion.

MANSHI PRATAP 2105383


NIRET BADGIRE 2105385
KETAN KUMAR 21051823
ABSTRACT
The Movie Recommendation System project aims to provide personalized movie
recommendations to users based on their preferences. Utilizing a dataset
containing information about movies, including genres, keywords, cast, and
crew, the system employs content-based filtering techniques to suggest
similar movies to the user's selection.

The system is implemented using Python and leverages libraries such as Pandas
for data manipulation, Scikit-learn for feature extraction, and Streamlit for
creating an interactive web application. The TMDb API is integrated to fetch
movie posters, enhancing the user experience.

Upon selecting a movie from the dropdown menu and clicking the "Show
Recommendation" button, the system displays the top 5 recommended movies
along with their posters. Recommendations are generated using cosine similarity
between movie attributes, ensuring relevance and diversity in the suggested
movies.

The user interface is designed to be intuitive and visually appealing, featuring a


background image and styled components. Users can easily navigate the
application, select their preferred movie, and receive tailored recommendations
promptly.

The Movie Recommendation System offers a seamless and enjoyable


experience for users seeking personalized movie suggestions, contributing to
enhanced
engagement and satisfaction in the movie-watching experience.

.
Contents
1 Introduction 1
2 Basic Concepts/ Literature Review 2

2.1 Sub Section Name........................... 2


3 Problem Statement / Requirement Specifications 3

3.1 Project Planning........................... 3


3.2 Project Analysis (SRS)................. 3
3.3 System Design ………………….. 3
3.3.1 Design Constraints …… 3
3.3.2 System Architecture (UML) / Block Diagram … 3
4 Implementation 4

4.1 Methodology / Proposal ........................... 4


4.2 Testing / Verification Plan ……………. 4
4.3 Quality Assurance …………………….. 4
5 Standard Adopted 5

5.1 Design Standards . . . . . . . . . . . . . . . 5


5.2 Coding Standards . . . . . . . . . . . . . . 5
5.3 Testing Standards . . . . . . . . . . . . . . . 5
6 Conclusion and Future Scope 6

6.1 Conclusion ……………………….. 6


6.2 Future Scope ………………………. 6
References 7
List of Figures

OUTPUT PAGE
Movie Recommendation System

Chapter 1
Introduction
The Movie Recommendation System project addresses a pressing need in the digital entertainment
industry: the demand for personalized movie recommendations. With the proliferation of streaming
platforms and vast libraries of content, users often face the daunting task of selecting what to watch
next. Traditional approaches to movie recommendation, such as basic genre-based suggestions or
popular trending lists, fail to account for individual preferences and tastes. This project aims to bridge
that gap by providing tailored recommendations based on the specific attributes of movies and the
user's preferences.
Existing movie recommendation systems often rely on collaborative filtering or simple content-based
approaches. Collaborative filtering methods suffer from the "cold start" problem, where new users or
movies lack sufficient data for accurate recommendations. Moreover, they may struggle to capture
niche interests or recommend lesser-known films. On the other hand, content-based systems often
lack sophistication in analyzing movie attributes and fail to provide diverse and serendipitous
recommendations.
The current available solutions lack a comprehensive approach that combines the strengths of
content-based filtering with the ability to capture user preferences effectively. There is a need for
a
system that not only considers movie attributes like genres, keywords, cast, and crew but also factors in
user interactions and feedback to deliver truly personalized recommendations. Additionally, the user
interface of existing systems may be lacking in terms of interactivity and visual appeal, hindering user
engagement.
This project seeks to address these gaps by developing a robust movie recommendation system that
leverages advanced techniques in content-based filtering while providing an intuitive and visually
appealing user interface. By integrating data from a diverse range of movie attributes and utilizing
machine learning algorithms for recommendation, this system aims to deliver highly relevant and
diverse movie suggestions tailored to individual user preferences. Furthermore, the user interface will
be designed to enhance user experience, encouraging exploration and discovery of new movies.
In summary, the Movie Recommendation System project aims to meet the growing demand for
personalized movie recommendations by overcoming the limitations of current solutions. By
combining advanced recommendation algorithms with an intuitive user interface, this project seeks to
revolutionize the way users discover and engage with movies, ultimately enhancing their
entertainment experience.

Figure 1.1: database and then the trained file

School of Computer Engineering, KIIT, BBSR 1


Chapter 2 Movie Recommendation System

Basic Concepts/ Literature Review


2.1 Content-Based Filtering:
Content-based filtering is a recommendation technique that suggests items to users based on their preferences
and attributes of the items themselves. In the context of movie recommendation, content-based filtering analyzes
features such as genres, keywords, cast, and crew to identify movies similar to those that a user has previously
liked. This approach relies on the assumption that if a user enjoys certain aspects of a movie, they are likely to
enjoy other movies with similar characteristics.
Content-based filtering is advantageous in scenarios where explicit user feedback is limited or unavailable, as it
does not rely on user interactions with other users or items. However, it may suffer from the "echo chamber"
effect, where recommendations are too similar to past choices, limiting serendipitous discovery of new content.

2.2 Collaborative Filtering:


Collaborative filtering is another popular recommendation technique that generates recommendations based on
the preferences of similar users or items. User-based collaborative filtering recommends items to a user based on
the preferences of users with similar tastes, while item-based collaborative filtering recommends items similar to
those previously liked by the user.
Collaborative filtering can effectively address the cold start problem, as it does not rely on item attributes but
rather on user interactions. However, it may struggle with sparsity and scalability issues in large datasets, and it
requires a significant amount of data to generate accurate recommendations.

2.3 Cosine Similarity:


Cosine similarity is a metric used to measure the similarity between two vectors in a multi-dimensional space.
In the context of movie recommendation, cosine similarity is often employed to quantify the similarity between
the attributes of different movies, such as genres, keywords, and cast.
Cosine similarity calculates the cosine of the angle between two vectors, where a value of 1 indicates
perfect similarity, 0 indicates no similarity, and -1 indicates dissimilarity. It is a widely used metric in
information retrieval and recommendation systems due to its simplicity and effectiveness in capturing
similarity between items.

2.4 Streamlit:
Streamlit is an open-source Python library that allows for the rapid development of interactive web
applications. It provides a simple and intuitive interface for building data-centric applications, enabling
developers to create engaging and interactive user experiences with minimal effort.

In the context of this project, Streamlit is used to create the user interface for the movie recommendation
system, allowing users to select movies and receive personalized recommendations in real-time. Its ease of use
and flexibility make it an ideal choice for building user-friendly interfaces for data-driven applications.

2.5 TMDb API:


The TMDb API (The Movie Database API) is a RESTful API that provides access to a vast repository of
movie-related data, including information about movies, TV shows, and actors. It allows developers to
retrieve details such as movie titles, posters, genres, cast, crew, and more.
In this project, the TMDb API is utilized to fetch movie posters, enhancing the visual appeal of the
recommendation system. By integrating movie posters into the user interface, the system provides users with a
more immersive and engaging experience, facilitating easier navigation and selection of recommended movies.
These basic concepts and tools form the foundation of the movie recommendation system, enabling the effective
generation and presentation of personalized movie recommendations to users. Understanding these concepts is
essential for comprehending the functionality and rationale behind the development of the recommendation
system.

School of Computer Engineering, KIIT, BBSR 2


Movie Recommendation System

Chapter 3
Problem Statement / Requirement
Specifications
3.1 Project Planning:
1. Data Collection: Gather a comprehensive dataset containing information about movies, including
genres, keywords, cast, and crew.
2. Data Preprocessing: Clean and preprocess the dataset to extract relevant attributes and ensure data quality.
3. Feature Extraction: Extract features such as genres, keywords, cast, and crew from the dataset to use
for recommendation.
4. Model Development: Implement content-based filtering techniques to recommend movies based on
their attributes and user preferences.
5. User Interface Design: Create an intuitive and visually appealing interface for users to interact with
the recommendation system.
6. Integration: Integrate external APIs, such as the TMDb API for fetching movie posters, to enhance the
user experience.
7. Testing and Validation: Test the recommendation system thoroughly to ensure accuracy and reliability
in generating movie suggestions.
8. Deployment: Deploy the recommendation system as a web application accessible to users.

3.2 Project Analysis:


After collecting the requirements and conceptualizing the problem statement, the project needs to be analyzed
for any ambiguities or mistakes. This involves reviewing the gathered requirements, identifying potential
challenges, and refining the project scope as needed to ensure clarity and feasibility.

3.3 System Design:


3.3.1 Design Constraints:
The movie recommendation system will be developed using Python programming language and will utilize
various libraries and tools for data preprocessing, feature extraction, and model development. The system will
require access to a stable internet connection for fetching movie data from external APIs such as the TMDb
API. Additionally, the system will be designed to run on standard hardware configurations, including computers
and mobile devices, without any specialized hardware requirements.

3.3.2 System Architecture / Block Diagram:


The system architecture of the movie recommendation system can be represented by the following block
diagram:

In this architecture, the user interacts with the user interface to input preferences and receive movie
recommendations. The recommendation engine/API processes the user input and accesses external data sources,
such as the TMDb API, to fetch movie data. Based on the user preferences and movie attributes, the
recommendation engine generates personalized movie suggestions, which are then presented to the user via the
user interface.

School of Computer Engineering, KIIT, BBSR 3


Movie Recommendation System

Chapter 4
Implementation
4.1 Methodology or Proposal:

The implementation of the movie recommendation system involved the following steps:

1. Data Collection and Preprocessing:


- Gathered a dataset containing information about movies from TMDb API.
- Preprocessed the data to clean and remove any inconsistencies or missing values.

2. Feature Extraction:
- Extracted features such as genres, keywords, cast, and crew from the dataset.
- Convert these features into a format suitable for analysis, such as lists of words.

3. Model Development:
- Implemented content-based filtering techniques using cosine similarity.
- Developed functions to recommend similar movies based on user preferences.

4. User Interface Design:


- Created an interactive web application using Streamlit.
- Designed the user interface to allow users to select movies and view recommendations.

5. Integration:
- Integrated the TMDb API to fetch movie posters and enhance the visual appeal of the recommendation
system.

4.2 Testing or Verification Plan:

Test Case Title: Recommendation Accuracy Test

Test Condition: Input a movie and verify the top 5 recommended movies.

System Behavior: The recommendation system should generate accurate and relevant movie suggestions based
on the input movie.

Expected Result: The recommended movies should be similar in genre, keywords, cast, or crew to the input
movie, providing personalized recommendations to the user.

Test Case Title: User Interface Test

Test Condition: Interact with the user interface and verify functionality.

System Behavior: The user interface should allow users to select movies, view recommendations, and navigate
seamlessly.

Expected Result: The user interface should be intuitive, visually appealing, and responsive, providing an
enjoyable user experience.

4.3 Quality Assurance:

A certificate or guidelines can be provided by a quality assurance department, ensuring that the movie
recommendation system meets predefined standards of accuracy, reliability, and user experience. This may
include documentation of testing procedures, validation criteria, and adherence to best practices in software
development.

School of Computer Engineering, KIIT, BBSR 4


Movie Recommendation System

Chapter 4
Implementation

PROCESSED DATA

RECOMMENDATION
Movie Recommendation System

Chapter 5
Standards
Adopted
5.1 Design Standards:
In software engineering, adherence to design standards is crucial for ensuring the reliability,
maintainability, and scalability of a project. Some recommended practices for project design include:

- IEEE Standards: Follow IEEE standards such as IEEE 830 for Software Requirements
Specifications, IEEE 1016 for Software Design Descriptions, and IEEE 1471 for Architecture
Description.

- UML Diagrams: Utilize Unified Modeling Language (UML) diagrams such as use case
diagrams, class diagrams, sequence diagrams, and activity diagrams to visualize and communicate
system architecture and design.

- ISO Standards: Comply with ISO standards such as ISO/IEC 25010 for software quality models
and ISO/IEC 9126 for software product quality.

- Modularity: Design the project with a modular structure, dividing it into smaller,
manageable components with well-defined interfaces.

- Scalability: Consider scalability requirements during the design phase to accommodate future
growth and changes in user demand.

5.2 Coding Standards:


Coding standards play a vital role in ensuring code quality, readability, and maintainability. Some
coding standards include:

- Consistent Naming Conventions: Use appropriate naming conventions for variables,


functions, classes, and other identifiers to enhance code clarity and understandability.
- Code Organization: Segment blocks of code into logical sections and use indentation consistently
to improve code readability.
- Functional Decomposition: Break down complex functions into smaller, more manageable
functions, each responsible for a single task.
- Commenting and Documentation: Include comments and documentation to explain the
purpose, behavior, and usage of code components.
- Error Handling: Implement robust error handling mechanisms to gracefully handle exceptions
and unexpected scenarios.

5.3 Testing Standards:


Quality assurance and testing are essential components of the software development lifecycle. Some
ISO and IEEE standards for testing and verification include:

- ISO/IEC 9126: This standard defines software quality characteristics and metrics,
including functionality, reliability, usability, efficiency, maintainability, and portability.
- IEEE 829: This standard outlines the format and content of various testing documents, including
test plans, test cases, and test reports.
- IEEE 1061: This standard provides guidelines for conducting software product evaluations
and assessments.
- ISO/IEC/IEEE 29119: This standard specifies software testing processes, including test planning,
test case specification, test execution, and test completion criteria.
School of Computer Engineering, KIIT, BBSR 5
Chapter 6 Movie Recommendation System

Conclusion and Future Scope


6.1 Conclusion:

In conclusion, the development of the movie recommendation system has provided a valuable solution
to the problem of personalized movie suggestions for users. By leveraging content-based filtering
techniques and integrating external data sources such as the TMDb API, the system effectively
generates relevant and tailored movie recommendations based on user preferences. The
implementation of an intuitive user interface using Streamlit enhances user experience and
engagement, facilitating seamless navigation and interaction with the recommendation system.
Through adherence to design and coding standards, as well as testing and verification procedures, the
project has achieved its objectives of delivering a reliable, scalable, and user-friendly movie
recommendation system. Moving forward, the system holds great potential for further enhancements
and integration with additional features, opening up exciting opportunities for future development and
expansion.

6.2 Future Scope:

The movie recommendation system presents several avenues for future enhancements and extensions:

1. Enhanced Recommendation Algorithms: Explore advanced recommendation algorithms such


as collaborative filtering, matrix factorization, or deep learning-based approaches to improve
recommendation accuracy and diversity.

2. User Personalization: Incorporate user feedback and interaction data to further


personalize recommendations and adapt to evolving user preferences over time.

3. Social Integration: Integrate social features such as user ratings, reviews, and social network data
to enhance recommendations and facilitate social sharing and interaction among users.

4. Multimodal Recommendations: Extend the system to support multimodal recommendations,


incorporating additional data sources such as movie trailers, reviews, and user-generated
content.

5. Cross-Platform Compatibility: Develop mobile applications and browser extensions to make the
recommendation system accessible across multiple platforms and devices, catering to a wider
audience.

6. Integration with External Services: Collaborate with streaming platforms and movie databases
to integrate additional content and provide seamless access to streaming services directly from the
recommendation system.

7. Analytics and Insights: Implement analytics and reporting features to track user
engagement, measure recommendation effectiveness, and gain insights into user behavior and
preferences.

By pursuing these future enhancements, the movie recommendation system can continue to evolve
and provide users with an immersive and personalized movie discovery experience, contributing to
enhanced user satisfaction and engagement in the digital entertainment landscape
School of Computer Engineering, KIIT, BBSR 6
Movie Recommendation System

References

1. J. Leskovec, A. Rajaraman, J. D. Ullman, "Mining of Massive Datasets", Cambridge


University Press, 2014.

2. P. Resnick, H. R. Varian, "Recommender Systems", Communications of the ACM, Vol. 40,


No. 3, pp. 56-58, 1997.

3. G. Adomavicius, A. Tuzhilin, "Toward the Next Generation of Recommender Systems: A


Survey of the State-of-the-Art and Possible Extensions", IEEE Transactions on Knowledge
and Data Engineering, Vol. 17, No. 6, pp. 734-749, 2005.

4. M. J. Pazzani, D. Billsus, "Content-Based Recommendation Systems", The Adaptive Web,


pp. 325-341, Springer, 2007.

5. Streamlit Documentation. Available online: https://docs.streamlit.io/en/stable/

6. The Movie Database (TMDb) API Documentation. Available online:


https://developers.themoviedb.org/3/getting-started/introduction

7. https://github.com/mpratap706/Movie-recommendation

School of Computer Engineering, KIIT, BBSR 7

You might also like