Áp Dụng Thuật Toán Gợi Ý Vào Xây Dựng Ứng Dụng Đề Xuất Phim

Khám phá cách áp dụng thuật toán gợi ý để xây dựng ứng dụng đề xuất phim hiệu quả, nâng cao trải nghiệm người dùng và tăng cường sự tương tác.

Trường đại học

Đại học Bách Khoa Hà Nội

Chuyên ngành

Điện – Điện Tử

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2023

125
5
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

LỜI CAM ĐOAN

1. PHẦN MỞ ĐẦU

1.1. Lý do chọn đề tài

1.2. Mục đích nghiên cứu

1.3. Nhiệm vụ nghiên cứu

1.4. Phương pháp nghiên cứu

1.5. Kết quả đã đạt được

2. CHƯƠNG 2: TỔNG QUAN ĐỀ TÀI

2.1. Giới thiệu về hệ thống gợi ý

2.2. Các thành phần của một hệ thống gợi ý

2.3. Tìm hiểu một số phương pháp gợi ý

2.3.1. Hệ thống gợi ý dựa theo lọc cộng tác

2.3.2. Hệ thống gợi ý dựa theo nội dung

2.3.3. Hệ thống gợi ý dựa trên cơ sở tri thức

2.3.4. So sánh các phương pháp gợi ý

2.4. Phân loại các phương pháp lọc cộng tác

2.4.1. Phương pháp Lọc cộng tác dựa theo người dùng (User -Based CF)

2.4.2. Phương pháp Lọc cộng tác dựa theo hạng mục (Item-Based CF)

2.5. Các thuật toán được sử dụng trong Lọc cộng tác

2.5.1. Kỹ thuật Phân rã ma trận (Matrix factorization - MF)

2.5.2. Kỹ thuật Máy Boltzmann Hạn chế (RBM)

2.6. Các thuật toán có thể sử dụng trong hệ thống đề xuất phim

2.6.1. Pearson Correlation degree

2.6.3. Spearman rank correlation coefficient

2.6.4. Log-likelihood similarity

2.7. Các công cụ được sử dụng trong đề tài

2.7.1. Ngôn ngữ lập trình python và môi trường lập trình

2.7.2. Cài đặt môi trường sử dụng Python

2.8. Kết luận chương

3. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU VỀ PHIM ĐƯỢC SỬ DỤNG

3.1. Bộ dữ liệu dùng để đánh giá giải thuật lọc cộng tác

3.1.1. Bộ dữ liệu MovieLens 100k

3.1.2. Bộ dữ liệu EachMovie

3.2. Thu Thập cơ sở dữ liệu dùng cho hệ thống gợi ý

3.2.1. Thu thập dữ liệu từ TMDB

3.2.2. Kỹ thuật scrap data từ TMDB

3.2.3. Phân loại dữ liệu và các thuộc tính

3.3. Kết luận chương

4. TÌM KIẾM THUẬT TOÁN PHÙ HỢP VÀ ÁP DỤNG CHO FILM RECOMMENDATION SYSTEM

4.1. Đánh giá và lựa chọn giải thuật phù hợp

4.1.1. Quá trình train các bộ dữ liệu

4.1.2. Đánh giá kết quả và lựa chọn giải thuật phù hợp

4.2. Architecture và Similarity Score

4.3. Thuật toán được sử dụng trong hệ thống

4.4. Áp dụng các thuật toán vào film recommendation system

4.4.1. Load dữ liệu từ dataset

4.4.4. Thuật toán gợi ý phim dựa theo Collaborative Filtering

5. XÂY DỰNG ỨNG DỤNG ĐỀ XUẤT PHIM

5.1. Use case và Diagram

5.1.1. Use Case của web

5.1.2. Xây dựng web xem phim trực tuyến Moonflix

5.2. Chức năng tạo tài khoản và đăng nhập

5.3. Chức năng cập nhật thông tin

5.4. Chức năng hiển thị phim và TV series thịnh hành và top rate

5.5. Chức năng xem thông tin phim

5.6. Chức năng viết bình luận, đánh giá

5.7. Chức năng tạo list các bộ phim yêu thích

5.8. Chức năng gợi ý các bộ phim liên quan

5.9. Chức năng tìm kiếm phim dựa theo tiêu đề

5.10. Kết luận chương

6. KẾT QUẢ THỰC NGHIỆM

6.1. Kết quả khi thực hiện thuật toán gợi ý

6.1.1. Kết quả khi thực hiện Demographic Filtering

6.1.2. Kết quả khi sử dụng cosin similarity

6.1.3. Kết quả gợi ý sử dụng Collaborative Filtering

6.1.4. Đánh giá sai số

6.2. Đánh giá kết quả

6.3. Kết luận chương

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về ứng dụng thuật toán gợi ý trong phim

Trong thời đại công nghệ số, việc tìm kiếm phim phù hợp với sở thích cá nhân trở nên khó khăn hơn bao giờ hết. Hệ thống gợi ý phim sử dụng thuật toán gợi ý để phân tích dữ liệu người dùng và đưa ra những lựa chọn tối ưu. Bài viết này sẽ khám phá cách mà các thuật toán này hoạt động và ảnh hưởng đến trải nghiệm người dùng.

1.1. Hệ thống gợi ý là gì

Hệ thống gợi ý là một công nghệ giúp người dùng tìm kiếm nội dung phù hợp dựa trên sở thích và hành vi trước đó. Nó sử dụng các phương pháp như lọc cộng tác và lọc nội dung để đưa ra gợi ý.

1.2. Lợi ích của hệ thống gợi ý phim

Hệ thống gợi ý phim giúp tiết kiệm thời gian tìm kiếm, nâng cao trải nghiệm người dùng và tăng khả năng giữ chân người dùng. Nó cũng giúp các nhà sản xuất phim hiểu rõ hơn về thị hiếu của khán giả.

II. Thách thức trong việc xây dựng ứng dụng gợi ý phim

Mặc dù có nhiều lợi ích, việc xây dựng ứng dụng gợi ý phim cũng gặp phải nhiều thách thức. Các vấn đề như dữ liệu không đầy đủ, độ chính xác của thuật toán và sự đa dạng trong sở thích người dùng là những yếu tố cần được xem xét.

2.1. Dữ liệu không đầy đủ và chất lượng

Một trong những thách thức lớn nhất là việc thu thập và xử lý dữ liệu. Dữ liệu không đầy đủ có thể dẫn đến những gợi ý không chính xác, ảnh hưởng đến trải nghiệm người dùng.

2.2. Độ chính xác của thuật toán

Độ chính xác của thuật toán gợi ý phụ thuộc vào nhiều yếu tố, bao gồm chất lượng dữ liệu và phương pháp phân tích. Việc lựa chọn thuật toán phù hợp là rất quan trọng để đảm bảo hiệu quả.

III. Phương pháp xây dựng hệ thống gợi ý phim hiệu quả

Để xây dựng một hệ thống gợi ý phim hiệu quả, cần áp dụng các phương pháp như lọc cộng tác, lọc nội dung và sử dụng các thuật toán machine learning. Mỗi phương pháp có ưu điểm và nhược điểm riêng.

3.1. Lọc cộng tác Collaborative Filtering

Lọc cộng tác dựa trên hành vi của người dùng để đưa ra gợi ý. Phương pháp này có thể phân loại người dùng và phim dựa trên sự tương đồng trong đánh giá.

3.2. Lọc nội dung Content Based Filtering

Lọc nội dung sử dụng thông tin về phim để đưa ra gợi ý. Phương pháp này phân tích các thuộc tính của phim như thể loại, đạo diễn và diễn viên.

IV. Ứng dụng thực tiễn của hệ thống gợi ý phim

Hệ thống gợi ý phim đã được áp dụng rộng rãi trong các nền tảng như Netflix, Amazon và Hulu. Những ứng dụng này không chỉ giúp người dùng tìm kiếm phim mà còn tối ưu hóa trải nghiệm xem phim.

4.1. Netflix và hệ thống gợi ý

Netflix sử dụng thuật toán gợi ý để phân tích hành vi người dùng và đưa ra các gợi ý phim phù hợp. Hệ thống này đã giúp Netflix tăng cường sự giữ chân người dùng.

4.2. Amazon Prime Video và gợi ý phim

Amazon Prime Video cũng áp dụng hệ thống gợi ý để cải thiện trải nghiệm người dùng. Hệ thống này giúp người dùng dễ dàng tìm thấy các bộ phim và chương trình truyền hình mà họ yêu thích.

V. Kết luận và tương lai của hệ thống gợi ý phim

Hệ thống gợi ý phim đang ngày càng trở nên quan trọng trong ngành công nghiệp giải trí. Tương lai của công nghệ này hứa hẹn sẽ mang lại nhiều cải tiến và trải nghiệm tốt hơn cho người dùng.

5.1. Xu hướng phát triển công nghệ gợi ý

Công nghệ gợi ý sẽ tiếp tục phát triển với sự hỗ trợ của machine learning và AI, giúp cải thiện độ chính xác và khả năng cá nhân hóa.

5.2. Tác động đến ngành công nghiệp phim

Hệ thống gợi ý không chỉ ảnh hưởng đến cách người dùng tìm kiếm phim mà còn tác động đến cách các nhà sản xuất phim phát triển nội dung, từ đó tạo ra những sản phẩm phù hợp hơn với thị hiếu khán giả.

11/07/2025

Trích đoạn nội dung tài liệu

Phần mở đầu Chương này sẽ đưa ra lý do em chọn đề tài là tìm hiểu và xây dựng hệ thống gợi ý người dùng ứng dụng trong đề xuất phim các mục tiêu đề ra trong đề tài và bố cục các chương của đề tài. Cơ sở lý thuyết và các công cụ được sử dụng trong đề tài Chương này trình bày tổng quan về các hệ thống gợi ý hiện nay, cũng như một số phương pháp gợi ý được sử dụng nhiều trong các bài toán gợi ý, so sánh các phương pháp và từ đó lựa chọn một phương pháp phù hợp nhất để ứng dụng trong đề xuất phim. Đây sẽ là cơ sở lý thuyết cho các chương tiếp theo. Xây dựng cơ sở dữ liệu về phim và TV series Chương này sẽ trình bày về cách thức tạo ra bộ dữ liệu, cũng như các bước phân tích dữ liệu đầu vào trước khi đưa vào huấn luyện trong hệ thống gợi ý phim.

Trong đề tài này, em sẽ sử dụng bộ dữ liệu được lấy từ trang web TMDB. Tìm kiếm thuật toán và xây dựng hệ thống Từ tập dữ liệu thu thập được ở chương 3, chương này sẽ trình bày cách xây dựng mô hình hệ thống gợi ý người dùng các bộ phim cùng với TV series. Ở đây ta sử dụng hai phương thức chính là Demographic Filtering và Cosin Similarity. Xây dựng trang web đề xuất phim xi Từ tập dữ liệu và các thuật toán đã thu thập được ở chương 3 và 4, chương này sẽ trình bày cách xây dựng trang web đề xuất phim.

Ở đây ta sẽ dùng MongoDB và React Native Chương 6. Kết quả thực nghiệm Trình bày các kết quả sau khi huấn luyện cũng như đánh giá dộ chính xác của thuật toán, đưa ra nhận xét đánh giá từ các biểu đồ thu được và rút ra các kết luận cụ thể. xii ABSTRACT The movie recommendation system is built to help users optimize in terms of time in finding movies that match their interests. Within the framework of this graduation project, I would like to present methods to get data from websites, algorithms and techniques commonly applied in suggested problems as well as how to apply those algorithms in building construction.

Build a movie recommendation website. The content of the project includes 5 chapters including: Chapter 1. Overview of the topic This chapter will give the reason why I chose the topic, which is to learn and build a user suggestion system to apply in movie recommendations, the objectives set out in the topic and the layout of the chapters of the topic. Theoretical basis and tools used in the topic This chapter presents an overview of current recommender systems, as well as a number of suggested methods that are widely used in recommendation problems, compares methods and then chooses the most suitable one.

for application in movie recommendations. This will be the theoretical basis for the next chapters. Building a database of movies and TV series This chapter will describe how to create the dataset, as well as the steps to analyze the input data before training in the movie recommendation system. In this project, I will use a dataset taken from the TMDB website.

Building the system model From the data set collected in Chapter 3, this chapter will show how to build a model of a system that recommends users movies with TV series. Here we use two main methods, Demographic Filtering and Cosin Similarity. Building a movie recommendation website xiii From the data set and algorithms collected in chapters 3 and 4, this chapter will show how to build a movie recommendation website. Here we will use MongoDB and React Native.

Experimental results Present the results after training as well as evaluate the accuracy of the algorithm, make evaluation comments from the obtained graphs and draw specific conclusions. xiv PHẦN MỞ ĐẦU Nội dung của chương này em xin trình bày về tính cần thiết của các hệ Recommendation System cũng như ứng dụng của chúng vào việc chọn những bộ phim phù hợp trong một số lượng khổng lồ những bộ phim đang được ra mắt ngày càng nhiều. Đồng thời, em nêu ra mục đích nghiên cứu của đề tài, các phương pháp nghiên cứu được sử dụng và đóng góp chính của đề tài này.1 Lý do chọn đề tài Lý do em chọn đề tài này là do thị trường phim của thế giới nói chung và của Việt Nam nói riêng đang ngày càng được phát triển một cách mạnh mẽ. Số lượng các bộ phim được sản xuất ngày càng nhiều ước tính có khoảng 2500 đến 3000 bộ phim được sản xuất ra hàng năm.

Trong đó chúng lại thuộc nhiều thể loại khác nhau cũng với nội dung vô cùng đa dạng phong phú. Dĩ nhiên là một người xem phim không phải bộ phim nào cũng có thể làm chúng ta quan tâm Đứng trước một số lượng lớn các bộ phim như vậy nhằm đưa đến cho người dùng một trải nghiệm tìm kiếm được những bộ phim hợp sở thích hay những bộ phim đang trong top thịnh hành cũng như được đánh giá cao. Vì vậy, em chọn đề tài này trong học phần đồ án tốt nghiệp, bằng việc vận dụng những kiến thức đã học và tích lũy được qua các tài liệu đã được công bố để tìm hiểu rõ hơn về các thuật toán recommendation system ứng dụng nó vào chọn lọc các bộ phim và đưa nó lên xây dựng thành một trang web xem phim trực tuyến.2 Mục đích nghiên cứu Mục đích của đề tài là nghiên cứu lý thuyết về Recommendation System và các uật toán liên quan, sau đó áp dụng lý thuyết vừa được tìm hiểu vào quá trình đưa ra gợi ý về các bộ phim, so sánh chọn ra các thuật toán phù hợp. Mục đích chính của đề tài là thiết kế một trang web xem phim trực tuyến tích hợp các thuật toán recommendation system nhằm đưa ra cho người dùng những bộ phim phù hợp với họ dựa trên phim vừa xem.

Đồng thời trang web cũng phải đưa ra được danh sách các bộ phim thịnh hành cũng như phim có số điểm đánh giá cao và trong mỗi bộ phim cần cung cấp đầy đủ thôg tin về các diễn viên, thể loại, nội dung tòm tắt phim,.3 Nhiệm vụ nghiên cứu • Tìm hiểu về Recommendation System và những lý thuyết liên quan để ứng dụng vào hệ thống gợi ý phim. • Tìm kiếm bộ dữ liệu phù hơp có đầy đủ các phim được ra mắt cho đến thời điểm hiện tại scrapt. • Phân loại các thành phần và làm sạch dữ liệu vừa scrapt từ web. • Lựa chọn các thuật toán gợi ý phù hợp.

• Vận dụng những kiến thức để xây dựng, phát triển một web cung cấp thông tin phim có tích hợp gợi ý. • Đánh giá trang web vừa xây dựng được cũng như kết quả gợi ý mà thuật toán đưa ra.4 Phương pháp nghiên cứu Sử dụng chủ yếu hai Demographic Filtering và Content Base Filtering với cơ sở là cosin similarity để xây dựng thuật toán đề xuất. Sử dụng MongoDB, và React Native để xây dựng trang web đề xuất phim.5 Kết quả đã đạt được • Đã tìm hiểu được về Recommendation System và những lý thuyết liên quan để ứng dụng vào hệ thống gợi ý phim. • Scrapt dữ liệu từ trang web TMDB, xử lý và chia làm các bộ dữ liệu riêng biệt.

• Đánh giá tham số RMSE và MAE của các thuật toán từ đó tìm được thuật toán phù hợp với đề xuất phim. • Xây dựng được trang web đề xuất phim cho người dùng kèm theo các thông tin liên quan.6 Kết luận Trong chương này, em đã trình bày khái quát về đề tài, mục đích nghiên cứu, nhiệm vụ nghiên cứu để đưa ra đóng góp chính của đề tài này. Chương tiếp theo, em xin trình bày về cơ sở lý thuyết được sử dụng trong đồ án. xvi CHƯƠNG 2.

TỔNG QUAN ĐỀ TÀI Nội dung của chương này em xin trình bày về tính cần thiết của các hệ thống Recommendation System cũng như ứng dụng của chúng vào việc chọn những bộ phim phù hợp trong một số lượng khổng lồ những bộ phim đang được ra mắt ngày càng nhiều. Đồng thời, em nêu ra mục đích nghiên cứu của đề tài, các phương pháp nghiên cứu được sử dụng và đóng góp chính của đề tài này.1 Giới thiệu về hệ thống gợi ý Hệ thống gợi ý hoặc hệ thống đề xuất (đôi khi thay thế 'hệ thống' bằng từ đồng nghĩa như nền tảng hoặc công cụ), là một lớp con của hệ thống lọc thông tin (information filtering), cung cấp đề xuất cho các mục phù hợp nhất với một người dùng cụ thể. Thông thường, các đề xuất đề cập đến các quy trình ra quyết định khác nhau, chẳng hạn như nên mua sản phẩm nào, nghe loại nhạc nào hoặc đọc tin tức trực tuyến nào. Các hệ thống đề xuất đặc biệt hữu ích khi người dùng cần chọn một mặt hàng từ một số lượng lớn các mặt hàng [1].

Các hệ thống đề xuất được sử dụng trong nhiều lĩnh vực, với các ví dụ thường thấy là tạo danh sách phát cho các dịch vụ video và âm nhạc, đề xuất sản phẩm cho các cửa hàng trực tuyến, sử dụng cho các nền tảng truyền thông xã hội hay đề xuất nội dung cho các trang web mở [2]. Các hệ thống này có thể hoạt động bằng cách sử dụng một đầu vào duy nhất, như âm nhạc hoặc nhiều đầu vào bên trong (ở đây chúng ta sử dụng đầu vào là dữ liệu thông tin phim) thông qua các thuật toán lọc và tìm điểm tương đồng từ đó đưa ra truy vấn tìm kiếm. Ngoài ra còn có các hệ thống đề xuất phổ biến cho các chủ đề cụ thể như nhà hàng và hẹn hò trực tuyến. Các hệ thống đề xuất cũng đã được phát triển để tìm kiếm các bài báo khoa học, các chuyên gia, cộng tác viên hay các dịch vụ tài chính.

Ví dụ, trong hệ thống bán hàng trực tuyến (chẳng hạn như Amazon), nhằm tối ưu hóa khả năng mua sắm của khách hàng (user), người ta quan tâm đến việc những khách hàng nào đã ‘yêu thích’ những sản phẩm (item) nào bằng cách dựa vào dữ liệu quá khứ của họ (dữ liệu này có thể là xếp hạng mà người dùng đã bình chọn trên sản phẩm, thời gian duyệt (browse) trên sản phẩm, số lần click chuột trên sản phẩm,.) từ đó hệ thống 1 sẽ dự đoán được người dùng có thể thích sản phẩm nào và đưa ra những gợi ý phù hợp cho họ.1 là một ví dụ minh họa cho hệ thống gợi ý bán hàng của Amazon. Hình 2-1 Hệ thống gợi ý của ứng dụng Amazon Ngoài lĩnh vực thương mại điện tử như đã thấy ở ví dụ trên, hiện tại hệ thống gợi ý cũng được ứng dụng khá thành công trong nhiều lĩnh vực khác như trong giải trí: gợi ý bài hát cho người nghe (ví dụ, hệ thống của LastFM - www.fm), gợi ý phim ảnh (ví dụ, hệ thống của Netflix - www.com) như hình 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ