CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI 1. GIỚI THIỆU VỀ ĐỀ TÀI Ngày nay, nhu cầu xem phim ngày càng tăng, với số lượng phim sản xuất lớn, khiến việc chọn lựa phim phù hợp trở nên khó khăn. Hệ thống đề xuất phim sử dụng thuật toán Machine Learning để phân tích sở thích và lịch sử xem phim của người dùng, từ đó gợi ý những bộ phim phù hợp, giúp tiết kiệm thời gian và nâng cao trải nghiệm.
Bên cạnh đó, việc đặt vé xem phim trực tuyến ngày càng phổ biến, nhưng không phải hệ thống nào cũng cung cấp đầy đủ tính năng cần thiết. Kết hợp một hệ thống gợi ý phim với chức năng đặt vé sẽ tạo ra trải nghiệm thuận tiện hơn cho người dùng, đặc biệt là học sinh và sinh viên. Ví dụ, Netflix đã chứng minh tính hiệu quả của hệ thống gợi ý phim khi sử dụng thuật toán học máy để đề xuất các bộ phim phù hợp, cải thiện trải nghiệm và tăng thời gian tương tác. Ngoài việc nâng cao trải nghiệm người dùng, hệ thống đề xuất phim cũng mang lại lợi ích cho các nền tảng xem phim, giúp tăng doanh thu và thu hút khách hàng tiềm năng.
Khảo Sát Hiện Trạng 1. Thực trạng chọn phim và đặt vé xem phim Khảo sát hiện trạng cho thấy nhu cầu xem phim ngày càng tăng, nhưng việc lựa chọn phim phù hợp vẫn gặp nhiều khó khăn do số lượng phim sản xuất lớn. Mặc dù nhiều nền tảng như Netflix sử dụng hệ thống gợi ý, người dùng vẫn cần trải nghiệm tìm kiếm tốt hơn. Việc kết hợp hệ thống gợi ý phim với chức năng đặt vé trực tuyến sẽ giúp người dùng, đặc biệt là học sinh và sinh viên, dễ dàng tìm kiếm và đặt vé, từ đó nâng cao trải nghiệm xem phim và tiết kiệm thời gian.
Mục tiêu đồ án Mục tiêu đồ án Xây dựng hệ thống khuyến nghị cho rạp chiếu phim có thể được chia thành các mục tiêu cụ thể như sau: Phát triển thuật toán khuyến nghị phù hợp: Nghiên cứu và áp dụng các thuật toán khuyến nghị (Collaborative Filtering, Content-Based Filtering, hoặc Hybrid Filtering) nhằm đề xuất phim dựa trên sở thích của người dùng. 1 Hệ Thống Khuyến Nghị Cho Rạp Chiếu Phim Xây dựng cơ sở dữ liệu khách hàng và phim: Thu thập, quản lý và tổ chức dữ liệu người dùng (sở thích, lịch sử xem phim) và dữ liệu phim (thể loại, đánh giá, ngày phát hành) để hỗ trợ cho các thuật toán khuyến nghị. Tối ưu trải nghiệm người dùng: Thiết kế giao diện hệ thống khuyến nghị dễ sử dụng, giúp người dùng dễ dàng tìm kiếm và chọn lựa phim yêu thích. Phân tích và đo lường hiệu quả khuyến nghị: Xác định các tiêu chí và xây dựng phương pháp đo lường hiệu quả của hệ thống, như mức độ hài lòng của người dùng, tỉ lệ nhấp chuột vào gợi ý phim, và số lượng vé bán ra từ các đề xuất Tích hợp hệ thống vào nền tảng hiện có: Đảm bảo hệ thống khuyến nghị có thể tích hợp mượt mà vào hệ thống đặt vé, trang web hoặc ứng dụng di động của rạp chiếu phim.
Ý nghĩa thực tiễn của đồ án 1. Đối với xã hội Nâng cao trải nghiệm giải trí: Đề xuất phim phù hợp, giúp khán giả tìm phim nhanh hơn và hài lòng hơn. Thúc đẩy ngành điện ảnh: Giúp quảng bá phim mới, đa dạng hóa lựa chọn giải trí. Đối với bản thân Phát triển chuyên môn: Nắm vững thuật toán khuyến nghị và kỹ năng phân tích dữ liệu.
Tích lũy kinh nghiệm thực tiễn: Áp dụng kiến thức vào một dự án thực tế, hỗ trợ cho sự nghiệp. Nâng cao hồ sơ cá nhân: Dự án hoàn thiện là điểm cộng lớn trong hồ sơ chuyên môn 1. YÊU CẦU CHỨC NĂNG CỦA HỆ THỐNG KHUYẾN NGHỊ PHIM 1. Quản lý người dùng: Đăng ký, đăng nhập và xác thực người dùng.
Quản lý thông tin cá nhân của người dùng (tên, email, lịch sử xem phim, v. Tìm kiếm và gợi ý phim: Tìm kiếm phim theo tên, thể loại, diễn viên, hoặc đạo diễn. Đề xuất phim dựa trên sở thích và lịch sử xem phim của người dùng (sử dụng Collaborative Filtering và Content-Based Filtering). Đánh giá và nhận xét phim: Cho phép người dùng đánh giá phim bằng cách chấm điểm và viết nhận xét.
Hiển thị đánh giá tổng quan và nhận xét của người dùng khác. 2 Hệ Thống Khuyến Nghị Cho Rạp Chiếu Phim 1. Xử lý dữ liệu gợi ý: Tích hợp Flask API để xử lý các mô hình khuyến nghị, bao gồm Collaborative Filtering và Content-Based Filtering. Gửi yêu cầu từ Spring Boot đến Flask để nhận các gợi ý và trả về kết quả cho frontend.
Giao diện người dùng tương tác (React.js): Giao diện tìm kiếm, hiển thị và đề xuất phim. Các trang hiển thị chi tiết phim, thông tin, và các đề xuất liên quan. Màn hình quản lý thông tin người dùng và lịch sử xem phim. Quản lý dữ liệu phim (MySQL): Lưu trữ thông tin phim, đánh giá của người dùng và lịch sử tương tác.
Cập nhật dữ liệu định kỳ để huấn luyện các mô hình khuyến nghị. Thống kê và báo cáo: Theo dõi và thống kê các phim được xem và đánh giá nhiều nhất. Tạo báo cáo về sở thích người dùng và hiệu quả của các gợi ý phim. 3 Hệ Thống Khuyến Nghị Cho Rạp Chiếu Phim CHƯƠNG 2.
CÁC CƠ SỞ LÝ THUYẾT SỬ DỤNG TRONG ĐỀ TÀI 2. GIỚI THIỆU CÁC CƠ SỞ LÝ THUYẾT Đề tài xây dựng hệ thống gợi ý phim sử dụng hai thuật toán chính là Collaborative Filtering (Lọc cộng tác) và Content-Based Filtering (Lọc dựa trên nội dung), kết hợp các công nghệ như Flask, Spring Boot, và React.js để phát triển hệ thống có tính năng gợi ý phim chính xác và phù hợp với sở thích của người dùng. Dữ liệu người dùng bao gồm lịch sử đánh giá và tìm kiếm, trong khi dữ liệu về phim bao gồm tiêu đề,quốc gia, độ tuổi,giới tính , thể loại, nội dung và đánh giá. Hệ thống có đầu ra là danh sách phim được đề xuất, dựa trên nhu cầu và sở thích của người dùng 2.
Collaborative Filtering (Lọc cộng tác) Hình CÁC CƠ SỞ LÝ THUYẾT SỬ DỤNG TRONG ĐỀ TÀI .1 Minh họa Thuật toán Collaborative Filtering Collaborative Filtering là một kỹ thuật phổ biến trong hệ thống gợi ý, chủ yếu dựa trên sự tương đồng giữa người dùng hoặc mục để đưa ra gợi ý. Trong trường hợp này, User-based Collaborative Filtering được sử dụng, trong đó hệ thống tìm những người dùng có đánh giá tương đồng với người dùng hiện tại. Các đề xuất phim được đưa ra dựa trên các đánh giá của những người dùng có sở thích giống với người dùng này. Các kỹ thuật phổ biến trong Collaborative Filtering 1.
User-based Collaborative Filtering 2. Item-based Collaborative Filtering (Lọc dựa trên mục) 3. k-Nearest Neighbors (k-NN) trong Collaborative Filtering 4 Hệ Thống Khuyến Nghị Cho Rạp Chiếu Phim 5. Hybrid Collaborative Filtering (Lọc cộng tác kết hợp) Trong đề tài lần này em chọn kỹ thuật User-based Collaborative Filtering: Lý Do Chọn User-based Collaborative Filtering mà không dùng kỹ thuật khác : Đơn giản và hiệu quả: Phương pháp này dễ triển khai và cho kết quả đáng tin cậy với dữ liệu vừa và nhỏ.
Không cần thông tin nội dung: Không đòi hỏi phân tích chi tiết về nội dung của phim, chỉ cần dựa vào dữ liệu đánh giá. Khả năng cá nhân hóa: Tạo ra gợi ý có độ chính xác cao nhờ tính toán dựa trên sở thích của những người dùng có sự tương đồng về thị hiếu. User-based Collaborative Filtering User-based Collaborative Filtering là phương pháp gợi ý dựa vào sự tương đồng giữa người dùng. Đoạn mã tìm kiếm những người dùng có cùng sở thích (dựa trên các đánh giá tương tự về phim) và dựa trên các đánh giá từ họ để tạo ra gợi ý cho người dùng hiện tại.
Quy trình của User-based Collaborative Filtering bao gồm: Xác định mức độ tương đồng giữa các người dùng: Tìm kiếm những người dùng có đánh giá tương đồng để tìm ra người có sở thích tương tự. Gợi ý phim từ những người dùng tương tự: Dựa vào các phim mà những người dùng tương tự đã đánh giá cao để gợi ý cho người dùng hiện tại. Pearson Correlation (Hệ số Tương quan Pearson) Trong User-based Collaborative Filtering, hệ số tương quan Pearson thường được sử dụng để đo lường sự tương đồng giữa người dùng. Hệ số tương quan Pearson tính toán mối quan hệ giữa hai biến (trong trường hợp này là điểm đánh giá phim của hai người dùng).
Công thức tính Pearson Correlation là: X và Y: Điểm đánh giá của hai người dùng cho các bộ phim chung. 5 Hệ Thống Khuyến Nghị Cho Rạp Chiếu Phim Hệ số Pearson dao động từ -1 đến 1: 1: Tương quan hoàn toàn tích cực (người dùng có sở thích giống nhau). -1: Tương quan hoàn toàn tiêu cực (sở thích trái ngược nhau). 0: Không có tương quan (không có sở thích tương đồng).
Weighted Rating (Trọng số Đánh giá) Sau khi xác định các người dùng tương đồng, các phim mà những người này đã đánh giá được tính điểm trọng số dựa trên chỉ số tương đồng và đánh giá. Công thức tính trọng số đánh giá là: weighted rating = similarity index × rating Điều này giúp tăng mức độ ưu tiên cho các phim có điểm đánh giá cao từ người dùng có độ tương đồng cao, đảm bảo rằng các gợi ý có tính chính xác và phù hợp hơn 2. Lọc Và Đưa Ra Ý Sau khi tính toán các trọng số, hệ thống sẽ: Loại bỏ các phim mà người dùng đã xem: Chỉ giữ lại các phim mà người dùng chưa xem để đảm bảo gợi ý là mới mẻ và có giá trị. Sắp xếp phim theo điểm gợi ý: Các phim sẽ được sắp xếp theo điểm gợi ý trung bình có trọng số để lấy ra danh sách các phim có điểm cao nhất.
Cơ Sở Dữ Liệu và Tiền Xử Lý Dữ Liệu Dữ liệu về phim: Bao gồm các thông tin về tiêu đề phim,thể loại,quốc gia , độ tuổi, giới tính. Dữ liệu về đánh giá: Chứa thông tin về điểm đánh giá từ người dùng cho từng bộ phim. Tiền xử lý: Tập hợp và nhóm các đánh giá theo người dùng, sau đó chuẩn bị dữ liệu cho các bước tính toán tương đồng và gợi ý. Ưu Điểm User-based Collaborative Filtering Với Pearson Correlation Độ cá nhân hóa cao: Dựa trên các đánh giá thực tế của người dùng để tạo ra gợi ý, giúp mang lại độ chính xác và cá nhân hóa cao.
Dễ hiểu và triển khai: Phương pháp Pearson Correlation dễ hiểu, dễ triển khai và không đòi hỏi cấu trúc phức tạp.