MOOD MOVIE - A mood based movie recommendation website

Julia P Laiju
28 Jul 202411:08

Summary

TLDRMah suana introduces a mood-based movie recommendation system designed to enhance user experience by personalizing content according to current emotions. Built with Python and Flask, it uses machine learning to suggest movies that match the user's mood, offering a more tailored experience than traditional streaming services. The project includes stakeholders like end-users, developers, and machine learning engineers, and focuses on user experience, personalization, and content discovery. The system is scalable and secure, with a user-friendly interface and robust backend technologies.

Takeaways

  • 😀 The project is a mood-based movie recommendation system aimed at personalizing movie choices according to the user's emotional state.
  • 🎬 It addresses the challenge of choosing what to watch from numerous streaming services by suggesting movies that match the user's current mood.
  • 🤖 The system uses machine learning algorithms to analyze user mood inputs and recommend movies accordingly.
  • 💻 Built using Python and Flask, the project integrates emotional intelligence with traditional recommendation processes.
  • 👨‍💻 Stakeholders include end users, software developers, machine learning engineers, project managers, and potential collaborators like streaming services.
  • 💡 The project's objectives are to enhance user experience, offer personalization, and facilitate content discovery beyond traditional methods.
  • 🛠️ Hardware requirements include a capable GPU, a mid-range processor, and sufficient RAM to support the machine learning model training.
  • 🌐 The front-end is developed using HTML, CSS, and JavaScript, focusing on user input, mood processing, and movie recommendation functionalities.
  • 🔐 Non-functional requirements such as performance, security, scalability, and usability are emphasized to ensure a robust and user-friendly system.
  • 📈 The project timeline includes planning, data collection, model development, validation, and deployment phases, with ongoing monitoring and maintenance.
  • 📊 Backend technologies include Python for programming, Pandas for data handling, NumPy for mathematical functions, and Scikit-learn for machine learning model accuracy and validation.

Q & A

  • What is the main objective of the mood-based movie recommendation system?

    -The main objective is to enhance the user experience by recommending movies that match the user's current mood, providing a personalized and enjoyable experience compared to traditional methods.

  • How does the system integrate emotional intelligence into the recommendation process?

    -The system uses machine learning to understand the user's mood input and recommend movies accordingly, such as suggesting certain movies for a positive, energetic, or reflective mood.

  • What are the key features of the mood-based movie recommendation system?

    -Key features include personalization based on mood, content discovery to explore new movies, and a user-friendly interface that allows users to input their mood and receive movie suggestions.

  • Who are the primary stakeholders of the project?

    -The primary stakeholders include end users or movie watchers, software developers, machine learning engineers, project managers, and potential collaborators like streaming services.

  • What are the hardware requirements for the project?

    -The hardware requirements include a computer with a capable GPU, a mid-range processor with at least four cores, and sufficient RAM, typically 8 GB.

  • What front-end technologies were used in the development of the website?

    -The front-end technologies used include HTML for layout, CSS for visual presentation, and JavaScript for interactive elements.

  • Can you describe the function requirements of the website?

    -Function requirements include user input for mood, mood processing with filters like mood, language, and genre, and movie recommendation using a trained machine learning model.

  • What non-functional requirements were considered during the development of the website?

    -Non-functional requirements include performance, security, scalability, usability, and maintainability to ensure the system is efficient, safe, can handle growth, is user-friendly, and is well-documented for future maintenance.

  • What programming language and technologies were used for the backend of the project?

    -Python was the main programming language used, with libraries like Pandas for data handling, NumPy for mathematical functions, and Flask for user interaction in the web framework.

  • How was the project timeline structured?

    -The project timeline included planning and preparation, data collection and processing, model development, model validation, and deployment and implementation.

  • What is the process for a user to get movie recommendations on the website?

    -Users can log in, select a mood, and use filters like language and genre to get movie recommendations. They can also search for movies by title.

Outlines

00:00

🎥 Introduction to Mood-Based Movie Recommendation System

Mah suana introduces a project that aims to revolutionize movie selection by incorporating emotional intelligence into the recommendation process. The system is designed to understand the user's mood and suggest movies accordingly, using machine learning. Built with Python and Flask, it offers a personalized experience, enhancing user satisfaction and content discovery. The project focuses on improving the user experience, personalization, and content discovery, differing from traditional streaming services that rely on past user history or demographics.

05:01

👥 Stakeholders and Project Overview

The stakeholders of the project include end users who benefit from the personalized movie recommendations, software developers responsible for building the system, machine learning engineers who train the models, project managers overseeing the development process, and potential collaborators like streaming services. The hardware requirements are outlined, including a capable GPU, mid-range processor, and sufficient RAM. The project timeline is detailed, starting from planning and preparation, followed by data collection and processing, model development, validation, and finally deployment and implementation.

10:04

🛠️ Frontend and Backend Technologies

Julia discusses the frontend technologies used in the project, including HTML, CSS, and JavaScript, which provide the layout, visual representation, and interactivity of the website. The backend is primarily developed using Python, with libraries like Pandas for data handling, NumPy for mathematical functions, and Scikit-learn for feature extraction and accuracy validation. Flask is used for user interaction, combining the frontend with the recommendation model. The project timeline includes phases for planning, data collection and processing, model development, and deployment, with an emphasis on the use of tools like the TMDb API for data collection and processing libraries for data manipulation.

🌐 Demo of the Movie Recommendation Website

Julia Pilu provides a demo of the Mood Movie website, showcasing its features and functionality. The website allows users to log in, select a mood, and receive movie recommendations based on their choice. Filters for language and genre are available, and a search bar enables users to find specific movies. The system uses a machine learning model to recommend movies that match the user's mood, providing movie posters, titles, and descriptions. The demo concludes with a logout option, returning to the homepage for new users to sign up or log in.

Mindmap

Keywords

💡Mood-based Recommendation System

A mood-based recommendation system is a type of algorithm that suggests items, such as movies, based on the user's current emotional state. In the video, this system is designed to revolutionize the movie selection process by integrating emotional intelligence. It uses machine learning to match movies to the user's mood, as stated by the speaker: 'it uses machine learning to recommend the movies that match your mood.'

💡Personalization

Personalization refers to tailoring experiences or services to individual preferences or needs. In the context of the video, personalization is a key feature of the mood-based movie recommendation system, aiming to provide a more personalized experience than traditional methods. As Mah suana mentions, 'personalization is the key in this era' and the system 'provides more personalized experience according to your mood.'

💡Machine Learning

Machine learning is a subset of artificial intelligence that enables systems to learn and improve from experience without being explicitly programmed. In the video, machine learning is used to power the recommendation system, allowing it to suggest movies that align with the user's mood. The speaker explains that the system 'uses machine learning to recommend the movies that match your mood.'

💡Content Discovery

Content discovery refers to the process of finding new content that is relevant and interesting to the user. The video highlights how the mood-based recommendation system aids in content discovery by suggesting movies that the user may not have considered before. It is mentioned as one of the main objectives of the project: 'this system helps you to explore or discover new content which you may not have seen before.'

💡Stakeholders

Stakeholders are individuals or groups who have an interest or concern in a project. In the video, the stakeholders of the project include end users, software developers, machine learning engineers, project managers, and streaming services. The speaker outlines the roles and benefits for each stakeholder, such as how end users benefit from the recommendation system and developers ensure technical specifications.

💡Hardware Requirements

Hardware requirements are the physical components needed for a system to function. The video specifies the necessary hardware for the project, including a capable GPU, a mid-range processor with at least four cores, and sufficient RAM, like 8 GB. These are essential for the system's performance, especially for accelerating the learning model training as mentioned by the speaker.

💡Front-end Technologies

Front-end technologies are the tools and frameworks used to create the user interface and user experience of a website. In the video, HTML, CSS, and JavaScript are identified as the main front-end technologies. They are used to structure the layout, style the presentation, and add interactive elements to the website, respectively.

💡User Experience (UX)

User experience (UX) refers to how a person feels when interacting with a system, including ease of use and overall satisfaction. The video emphasizes enhancing user experience as a main objective of the project. The system aims to understand the user's mood to recommend movies that are more likely to be enjoyable, thus improving the user's interaction with the platform.

💡Natural Language Processing (NLP)

Natural language processing is a branch of artificial intelligence that helps computers understand, interpret, and respond to human language in a valuable way. In the video, NLP is used in the recommendation model to process text-based data columns into vectors, which are then used to find movie recommendations that match the user's mood.

💡Flask

Flask is a lightweight web framework for Python that is used to create web applications. In the video, Flask is used to build the user interface of the recommendation system, allowing for user interaction and data handling. The speaker mentions using Flask to combine the front-end and back-end technologies into a functional website.

Highlights

Introduction to a mood-based movie recommendation system that personalizes movie choices according to the user's emotional state.

The system aims to simplify the overwhelming choice of movies on streaming platforms by suggesting content that matches the viewer's mood.

Utilizes machine learning algorithms to analyze user mood and recommend movies accordingly.

Developed using Python and Flask, showcasing a blend of programming and web development technologies.

The system is designed to understand and respond to the user's current mood, enhancing the movie-watching experience.

Aims to provide a more personalized movie-watching experience compared to traditional methods that rely on past history or demographics.

Facilitates content discovery by suggesting new movies that users may not have considered before.

Identifies key stakeholders including end-users, software developers, machine learning engineers, project managers, and potential streaming service collaborators.

Outlines the hardware requirements necessary for the project, such as a capable GPU, mid-range processor, and sufficient RAM.

Front-end technologies used include HTML, CSS, and JavaScript, which contribute to the website's layout, visual representation, and interactivity.

Function requirements of the website include user mood input, mood processing, and movie recommendation generation.

Non-functional requirements focus on performance, security, scalability, usability, and maintainability of the website.

Back-end technologies include Python for programming, Pandas for data handling, NumPy for mathematical functions, and Scikit-learn for machine learning model training.

Project timeline includes planning, data collection, model development, validation, and deployment phases.

Demonstration of the user interface, showcasing the login process, mood selection, and movie recommendation features.

The system allows users to filter recommendations by mood, language, and genre, providing a tailored selection of movies.

Incorporate a search bar for users to look up specific movie titles, enhancing the user experience.

The demo concludes with a logout option, allowing for seamless user account management.

Transcripts

play00:00

hello everyone I'm Mah suana and today

play00:02

we'll be talking about a project which

play00:03

is a mood based M recommendation

play00:06

system I think everyone likes when

play00:08

things are personalized according to

play00:09

their taste right and especially in this

play00:11

era where personalization is the key our

play00:13

project aims to revolutionalize the way

play00:15

we choose movies by integrating

play00:17

emotional intelligence into the

play00:18

recommendation process and we always

play00:21

feel overwhel by all the streaming

play00:23

services which are provided online right

play00:24

and you unsure about what to watch so

play00:26

our project basically solves that you

play00:29

tell the system your modood and the

play00:31

system helps you choose according to

play00:32

your mod the movies it suggest you

play00:34

certain movies which will be according

play00:35

to the mo mod you've given input let's

play00:38

say positive energetic or reflexive it

play00:41

uses machine learning to recommend the

play00:43

movies that match your mood it is built

play00:45

using Python and flas so our Bo based

play00:48

movie recommendation system it is a

play00:50

cutting it solution which is designed to

play00:52

understand and respond to the users's

play00:54

current mood providing a tailored movie

play00:56

suggestion that can enhance the user

play00:58

experience in contrast with the

play00:59

traditional streaming services which are

play01:01

available online that uses uh the users

play01:04

past history or the demographies our

play01:06

project are for the purpose of our mood

play01:08

based recommendation system is to

play01:10

develop a system that will suggest the

play01:11

content based on the user's current mood

play01:14

so it uh these are the main objective

play01:17

which our project focuses on the first

play01:18

thing is the to enhance the user

play01:20

experience so basically we are

play01:22

understanding the user's mood the system

play01:24

can recommend movies and content which

play01:26

is more likely to be enjoyable to the

play01:28

user the second thing is personalization

play01:30

as I said personalization is the key in

play01:32

this era so mood based movie

play01:34

recommendations it provides more more

play01:36

personalized experience according to

play01:38

your mood than the traditional methods

play01:40

and next is the content Discovery this

play01:42

system helps you to explore uh or

play01:45

discover new uh content which you may

play01:48

not have seen before okay now so let's

play01:50

talk about the stakeholders of a project

play01:52

the first ones are the end users or the

play01:54

movie Watchers they are directly

play01:56

benefited from the recommendation system

play01:58

and their satisfaction with the user

play02:00

interface next ones are the software

play02:02

developers the builders they basically

play02:04

translate the project requirements into

play02:06

a functional system it ensures technical

play02:09

specifications and adares the best

play02:11

practices and it is scalable for the

play02:12

future grou the next ones are the

play02:15

machine learning uh Engineers they train

play02:18

and maintain the machine learning models

play02:20

they provide accurate and more

play02:22

personalized

play02:23

recommendations next the next one the

play02:26

next stakeholders are the project

play02:27

managers project managers are basically

play02:29

the coordinators which oversee the

play02:31

entire development process of a project

play02:34

let's say the time people required or

play02:37

the budget required Etc next are the uh

play02:40

streaming services the streaming

play02:42

services we can say they can be a

play02:44

potential collaborator in future if the

play02:47

system integrates with an existing

play02:49

platform then it can take it to the

play02:50

different level let us look into the

play02:51

hardware requirements of a project the

play02:53

first we need a computer which has a

play02:56

capable GPU next we'll require a

play02:58

processor which is a mid-range processor

play03:00

with at least four CS the next we need a

play03:03

sufficient Ram which is available in our

play03:05

laptops or PCS let's say 8 GB and the

play03:08

and then we'll require a high

play03:09

performance Hardware to accelerate the

play03:11

learning model training hello everyone

play03:14

I'm Julia and I'm going to explain the

play03:15

front Technologies we've used in our

play03:17

website so for our front end the three

play03:19

main things and elements that you used

play03:20

for our website include HTML CSS and

play03:23

JavaScript hm has basically given us a

play03:25

layout and a framework for our website

play03:27

and we used different elements in it

play03:28

like header main uh elements button Etc

play03:32

to create an overall layout for a webite

play03:34

the next element that we've used is CSS

play03:36

which defines the visual representation

play03:38

and presentation of our web page and

play03:39

controlling the layout styling and

play03:41

animation it creates a visually

play03:42

appealing overall look of the website so

play03:44

that it gives a modern look and touch to

play03:45

our website so these are the function

play03:46

requirements of our website which

play03:47

include user input mode processing and

play03:49

movie recommendation the first and

play03:51

foremost function requirement is user

play03:52

input where the user enters their mode

play03:54

and we generate a movie based on their

play03:55

inputs mode processing so in our website

play03:58

we have different filters which

play04:00

basically include a mode filter a

play04:01

language filter and a genre filter where

play04:03

you can select as for your requirements

play04:05

and we will generate a movie based on

play04:06

those requirements and we also have an

play04:08

additional search bar in case you want

play04:10

to search for a movie of you're liking

play04:11

or choosing and the last part is movie

play04:13

recommendation where we recommend you a

play04:16

movie that's suitable for your mood and

play04:18

customized for you using our train

play04:20

trained machine learning model to

play04:21

generate a movie recommendation so these

play04:22

is the nonfunctional requirements of our

play04:24

website which include performance

play04:25

security scalability usability and

play04:27

manageability performance ensures that

play04:29

our system can generate good movie

play04:30

recommendations quickly efficiently and

play04:32

accurately and we've also implemented

play04:34

robust security measures so that user

play04:36

data is safe and protected our design is

play04:38

also scalable so that it can handle a

play04:40

growing number of users as well as

play04:41

images and our website is also intuitive

play04:44

and user friendly so that users can use

play04:46

it with ease and maintainability we've

play04:48

developed our website by with good

play04:50

proper documentation so it can be

play04:52

maintained and kept clean for future use

play04:54

as well hello everyone this is ID and

play04:57

I'll be explaining the backend

play04:58

technologies that we use for

play05:00

project okay so our main programming

play05:02

language for this project was python we

play05:04

chose python because it was like a on

play05:06

stop for all our requirements and was

play05:07

the most appropriate language where we

play05:09

could use all our other Technologies and

play05:10

models for the recommendation system and

play05:13

in our recommendation model we used

play05:14

fandal for data handling and then we use

play05:17

num for mathematical functions in our

play05:20

model recommendation we use escalar

play05:22

feature extraction and metrics for

play05:23

accuracy and validation and in flask we

play05:26

did our user indication so using flask

play05:28

we could combine our and fr to have a

play05:31

function website so I'll be giving you

play05:33

all a brief project timeline that we use

play05:35

so our first phase is planning and

play05:37

preparation and the second phase was

play05:39

data collection and processing which was

play05:41

done by our teammate M the third one was

play05:43

model development and followed by

play05:45

valuation validation of the model the

play05:47

last one was deployment and

play05:48

implementation of the model let me

play05:50

explain in detail the first phase

play05:52

planning and ption so in this phase we

play05:53

basically scope out the game and

play05:55

objective of our project and then we

play05:56

decide who does what and we decide

play05:58

theate resources needed for this project

play06:01

the Second Step data collection and pre

play06:02

processing so in this we used our tmb

play06:04

website from kagle and we had to clean

play06:07

the data and reprocess it to fit our

play06:08

model followed by model development we

play06:10

used skarn feature extraction and a sub

play06:13

field of machine learning that is

play06:14

natural language processing the model

play06:16

was deployed after that using pickle

play06:18

module the validation and validation we

play06:20

use a scal metric accuracy and

play06:21

validation methods and then the last one

play06:24

is monitoring and maintenance in this

play06:25

basically what we do is we update our

play06:27

database and our software based on how

play06:29

and how the user so let's talk a little

play06:31

bit more about our development tools we

play06:33

use development tools mainly for two two

play06:35

phases that is our data collection and

play06:36

processing and recommendation algorithms

play06:38

so I like I just said our database is

play06:40

from the tmtv website and we weped to

play06:43

get database we use the tmtv API to get

play06:45

our post links for the website and then

play06:47

we use data processing librar p and

play06:50

which are B Library which are used for

play06:51

basically manipulating the data as for

play06:53

the recommendation algorithms we use

play06:55

natural language processing under

play06:56

natural language processing we use the

play06:58

tfid vectorizer we convert our text

play07:00

based data colums into vectors using the

play07:02

cosine similarity we then associate the

play07:05

movie the value and the closest Value

play07:07

and movies having Val similar to that

play07:08

are to

play07:10

the hello everyone my name is Julia pilu

play07:13

and I will be showing you guys a demo on

play07:15

our project the Moon movie website let

play07:17

me Begin by presenting my

play07:25

screen okay so this is our landing page

play07:28

or our homepage

play07:31

and this is our footer section along

play07:33

with our service

play07:35

cards so let's get

play07:38

started we get started by clicking on

play07:41

that

play07:43

button and if you are an existing user

play07:46

you can log in and if you are a new user

play07:48

you'll have to sign up since I already

play07:51

have an account made let me log in

play08:02

and let me enter my

play08:05

password

play08:07

login so this is my user

play08:10

profile where I can get my movie

play08:12

recommendations generated based on my

play08:16

mode so this is the core functionality

play08:19

of our website and it has filters like

play08:22

movie name JRA language and mode let me

play08:26

Begin by selecting a

play08:27

mode let's say relax

play08:30

in and I click on the recommend button

play08:33

and it gives me a list of movie

play08:35

recommendations for my mood that's

play08:38

relaxing and what it basically does is

play08:41

it gives you a movie poster along with

play08:43

the movie title and a short description

play08:46

about the

play08:47

movie let's check out some other

play08:55

filters so let's say I want to watch a

play08:57

Hindi movie

play08:59

I click on the Hindi language filter and

play09:03

let's suppose my mode is

play09:05

neutral and let me

play09:09

recommend so these are the movies that

play09:11

it recommends for me where I can watch

play09:14

them whenever I want in whatever mode

play09:17

they're all classic

play09:19

movies so let me go

play09:25

back and you don't have to select both

play09:28

filters at the same time you can only

play09:30

select one filter for example over here

play09:33

I've selected only the language filter

play09:35

and I've made it so that the language is

play09:41

Spanish so it recommends a list of

play09:43

Spanish movies for

play09:45

me and I can pick whichever one I want

play09:47

among these and watch

play09:53

them I can also select based on um genre

play09:58

so let's say comedy

play10:04

and it recommends a mixture of all

play10:07

comedy movies for me for a variety of

play10:11

languages it's not just limited to

play10:13

English

play10:16

movies and suppose I want to look up a

play10:19

movie based on its title let's say

play10:26

rashar and it gives you a list of all

play10:29

the rashar movies in sequence it gives

play10:32

you the movies title and the

play10:35

description in case I want to know which

play10:37

rashar movie to watch

play10:42

again so yeah this is our movie

play10:45

recommendation machine learning

play10:47

model and now I can go back and log

play10:52

out and it takes me back to our homepage

play10:56

where another user can sign up login or

play10:58

I can repeat the same process

play11:01

again so this was it for the demo thank

play11:05

you guys so much for listening to me

Rate This

5.0 / 5 (0 votes)

相关标签
Mood-BasedMovie RecommendationsPersonalizationMachine LearningUser ExperienceContent DiscoveryPython DevelopmentFlask FrameworkAI SystemStreaming Services
您是否需要英文摘要?