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.