Nghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự độngNghiên cứu, xây dựng hệ thống khuyến nghị phim tự động
HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG - Bùi Văn Minh NGHIÊN CỨU, XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ PHIM TỰ ĐỘNG Chuyên ngành : Khoa học máy tính Mã số : 60.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI – 2017 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: TS Nguyễn Văn Thủy Phản biện 1: …………………………………………… Phản biện 2: …………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thơng MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG KHUYẾN NGHỊ 1.1 Giới thiệu hệ thống khuyến nghị 1.2.Khái quát phương pháp khuyến nghị 1.2.1 Khái quát toán 1.2.2 Phương pháp sử dụng liệu khuyến nghị 1.3 Một số nghiên cứu có liên quan 1.3.1 Giải pháp BellKor 2008 cho giải Netflix 1.3.2 Học theo thời gian mô hình cho hệ thống giới thiệu việc làm CHƯƠNG 2: PHƯƠNG PHÁP KHUYẾN NGHỊ 2.1 Khuyến nghị dựa nội dung 2.1.1 Phương pháp dự đoán 2.1.2 Ưu điểm 2.1.3 Nhược điểm 2.2.Lọc cộng tác 2.2.1 Cách tiếp cận dựa nhớ 2.2.2 Cách tiếp cận dựa mơ hình 2.2.3 Một số hạn chế lọc cộng tác 2.3 PMF (Probabilistic Matrix Factorization) 2.4.BPMF 2.4.1 Mơ hình 2.4.2 Dự đoán 10 2.4.3 Kết luận 11 2.5 ALS (Alternating Least Squares) 11 2.5.1 Phân loại ma trận cho vấn đề khuyến nghị 11 2.5.2 Alternating Least Squares 11 2.5.3 Xu hướng người dùng xu hướng sản phẩm 12 2.5.4 Kết luận 14 CHƯƠNG 3: THỰC NGHIỆM, ĐÁNH GIÁ VÀ XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ PHIM TỰ ĐỘNG 15 3.1 Thực nghiệm mơ hình, thuật tốn 15 3.1.1 Giới thiệu tập liệu thử nghiệm MovieLens 15 3.1.2 PMF 15 3.1.3 BPMF 16 3.1.4 ALS 16 3.2 Kết thực nghiệm 16 3.2.1 PMF BPMF 16 3.2.2 ALS 17 3.3 Đánh giá kết 17 3.4 Áp dụng xây dựng hệ thống 18 3.4.1 Thiết kế hệ thống 18 3.4.2 Xây dựng hệ thống khuyến nghị phim 18 KẾT LUẬN 20 TÀI LIỆU THAM KHẢO 21 MỞ ĐẦU Cùng với phát triển bùng nổ internet, kênh tìm hiểu thơng tin, giải trí, thương mại điện tử… phát triển nhanh chóng mạnh mẽ Giờ đây, gần nhưcó thể tìm kiếm thứ internet, từ tài liệu, sách, truyện, phim, video đến mặt hàng, sản phẩm… Mỗi người, có nhu cầu mua bán giải trí, có cách để thực Thứ nhất, người đến địa điểm bán hàng vui chơi, nơi có nhân viên khuyến nghị vấn đề khách hàng khách hàng thỏa thích xem qua sản phẩm kệ hàng Thứ 2, người có nhu cầu sử dụng internet để tìm kiếm Điểm yếu so với cách thứ cách thứ – sử dụng internet trang web truyền thống thiếu nhân viên tư vấn cho khách hàng truy cập vào trang web Có nhiều giải pháp đưa lập kênh trò chuyện trực tuyến nhân viên bán hàng người dùng, gọi điện thoại tư vấn Như vậy, với trang web có lượng truy cập lớn, số nhân viên trực phải cần nhiều Điều đòi hỏi chi phí cao Vì vậy, hệ thống khuyến nghị tự động đời, giải vấn đề Việc lựa chọn đề tài với mục đích sau: - Nghiên cứu tổng quan hệ thống khuyến nghị phương pháp học máy - Nghiên cứu sâu thuật toán PMF (Probabilistic Matrix Factorization), BPMF (Bayesian Probabilistic Matrix Factorization), ALS (Alternating Least Squares) - Ứng dụng xây dựng hệ thống khuyến nghị phim tự động với tập liệu MovieLens Luận văn trình bày chương với nội dung sau: Chƣơng Tổng quan hệ thống khuyến nghị Chương giới thiệu hệ thống khuyến nghị khái quát phương pháp khuyến nghị Sau giới thiệu số nghiên cứu có liên quan đến đề tài Chƣơng Phương pháp khuyến nghị Chương giới thiệu tập liệu thử nghiệm MovieLens trình bày chi tiết thuật toán PMF (Probabilistic Matrix Factorization), BPMF (Bayesian Probabilistic Matrix Factorization), ALS (Alternating Least Squares) Chƣơng Thử nghiệm, đánh giá xây dựng hệ thống khuyến nghị phim tự động Chương trình bày phương pháp thử nghiệm thuật tốn hệ thống khuyến nghị, từ đó, áp dụng vào thử nghiệm, đánh giá thuật toán Sau q trình xây dựng hệ thống khuyến nghị phim tự động CHƢƠNG 1: TỔNG QUAN VỀ HỆ THỐNG KHUYẾN NGHỊ 1.1 Giới thiệu hệ thống khuyến nghị Kể từ thương mại hình thành phát triển, câu hỏi lớn đặt ra: “làm để bán nhiều hàng hóa?”, “làm để khách hàng hài lòng với sản phẩm?”… Vấn đề định cho câu trả lời câu hỏi quảng cáo tư vấn sản phẩm đến người tiêu dùng, hay nói cách khác khuyến nghị đến người tiêu dùng Hiện nay, hệ thống có hiển thị quảng cáo internet sử dụng hệ thống khuyến nghị để đưa quảng cáo, đề xuất tốt cho người dùng Để làm điều đó, hệ thống khuyến nghị sử dụng thuật tốn để phân tích, dự đốn dựa liệu hành vi người dùng lưu lại Nhờ đó, quảng cáo mang tính cá nhân hóa tới người dùng Hệ thống biết xác người sử dụng có nhu cầu gì, muốn mua gì, xem để đưa khuyến nghị 1.2.Khái quát phƣơng pháp khuyến nghị 1.2.1 Khái quát toán Trước luận văn trình bày khái quát phương pháp khuyến nghị, cần làm rõ thuật ngữ sử dụng: người dùng (user) sản phẩm (item) Thứ nhất, khái niệm người dùng người sử dụng hệ thống để thực thao tác mua bán, giao dịch, xem, đánh giá… Thứ hai, khái niệm sản phẩm mặt hàng giao bán, video, phim, nhạc, báo… Trong hầu hết hệ thống khuyến nghị, liệu sẵn sàng dạng đánh giá người dùng sản phẩm Bài toán đặt sau: Với liệu tập người dùng U, tập sản phẩm I tập liệu D = {u, i, }, đó, u U, i I, đánh giá người dùng u cho sản phẩm i Cần dự đoán đánh giá sản phẩm người dùng thứ n cho sản phẩm Để đánh giá độ xác việc dự đốn, luận văn sử dựng độ đo Root Mean Squared Error (RMSE) 1.2.2 Phương pháp sử dụng liệu khuyến nghị Để giải tốn khuyến nghị, có nhiều phương pháp giải việc Mỗi phương pháp sử dụng liệu người dùng - sản phẩm theo cách khác Nhìn chung, phân loại cách sử dụng liệu người dùng - sản phẩm thành nhóm: Sử dụng liệu rõ ràng sử dụng liệu ẩn a.Dữ liệu rõ ràng Những liệu rõ ràng sử dụng thuật toán khuyến nghị như: Hồ sơ sản phầm người sử dụng, liệu đánh giá toàn hệ thống người dùng sản phẩm b Dữ liệu ẩn Dựa liệu đánh giá người dùng liệu rõ ràng, phân tích liệu ẩn, có ích cho việc dự đoán Cụ thể, hệ khuyến nghị phim tự động, liệu ẩn: Movie biases, xu hướng người dùng, sở thích người dùng 1.3 Một số ứng dụng thực tế hệ thống khuyến nghị 1.3.1 Dịch vụ Netflix Netflix kênh phim truyện có 75 triệu người theo dõi 190 quốc gia người số họ có trải nghiệm khác họ đăng nhập Cơng ty có khoảng 1.000 người, trụ sở đặt Thung lũng Silicon, họ người chịu trách nhiệm kiến trúc sản phẩm thuật tốn cá nhân hóa đặt lại 24 lần để đảm bảo người dùng khám phá nội dung xác họ muốn xem số 13.000 phim thời điểm Để làm vậy, Netflix sử dụng thuật tốn vừa có tính cá nhân hóa cao, vừa có độ đa dạng cho người dùng Ngồi ra, với việc Netflix đầu tư nhiều tiền vào sản xuất chương trình mới, khơng loại trừ khả có tác động định lên thuật tốn để hướng người xem đến chương trình 1.3.2 Dịch vụ YouTube Tương tự Netflix, mục tiêu hệ khuyến nghị YouTube vừa có tính cá nhân hóa cao, vừa có độ đa dạng cho người dùng Tuy nhiên, YouTube có thách thức lớn vấn đề khuyến nghị cho tỉ người dùng và: - Lượng video tải lên YouTube vơ lớn - Phần lớn video có siêu liệu tiêu đề mô tả không đầy đủ không liên quan - Số liệu sẵn có cho hệ khuyến nghị YouTube để đo lường quan tâm người dùng mơ hồ so với số liệu sẵn có cho hệ thống khuyến nghị khác Amazon Trước tạo video ứng viên đề xuất, hệ thống xác định tập hợp video có liên quan mà người dùng xem sau xem video hạt giống định Hệ thống sau kết hợp quy tắc liên kết video liên quan với hoạt động người dùng trang web Một điều thực hiện, lưu vết đường dẫn video liên quan tới hạt giống thiết lập để tạo video khuyến nghị ứng viên Hãy suy nghĩ hạt giống đặt trung tâm trang web ứng cử viên đề nghị tiềm điểm web mở rộng từ trung tâm Điểm gần trung tâm web có nhiều liên quan đến hạt giống xa liên quan Khi loạt khuyến nghị ứng viên tạo ra, chúng xếp hạng theo tín hiệu khác nhau, tổ chức thành ba nhóm: Chất lượng video, đặc trưng người dùng, đa dạng hóa Hệ thống khuyến nghị YouTube làm tốt để cải thiện trải nghiệm người dùng Các video đề xuất chiếm khoảng 60% số nhấp chuột trang chủ 1.3.2 Website thương mại Amazon Doanh thu Amazon tăng lên lớn (khoảng 35% nhờ vào khuyến nghị) dựa việc tích hợp thành cơng đề xuất qua trải nghiệm mua hàng - từ lúc khám phá sản phẩm rời khỏi website Việc cho phép đề xuất cá nhân hóa thương mại điện tử có lẽ lý số cho công cụ đề xuất để hạn chế vấn đề vấn đề đuôi dài (long tail) - sản phẩm hoi, mờ nhạt không phổ biến không dẫn đến doanh thu Các thuật toán đề xuất nhà bán lẻ khổng lồ dựa yếu tố như: lịch sử mua hàng người dùng, mặt hàng giỏ hàng, mặt hàng họ đánh giá thích, khách hàng khác xem mua Tuy nhiên, nhà bán lẻ với nhiều mặt hàng Amazon, thách thức khuyến nghị xuất theo thứ tự – vấn đề biết đến "học cách xếp hạng" khoa học liệu Một vấn đề thứ cấp đa dạng – làm để hiển thị lựa chọn đa dạng sản phẩm đề xuất cho khác hàng Amazon đạt mức độ quan tâm cao khách hàng với thuật tốn dựa quy trình lọc cộng tác item – to – item - Không khuyến nghị sản phẩm nằm hồ sơ người dùng - Không thể khai thác thông tin đáng giá cho việc dự đoán từ người dùng khác 2.2.Lọc cộng tác Nói chung, lọc cộng tác q trình lọc thơng tin mẫu sử dụng kỹ thuật liên quan đến hợp tác nhiều nguồn liệu [14] Có nhiều cách tiếp cận đểgiải toán lọc cộng tác: Cách tiếp cận dựa nhớ (memory-based); Cách tiếp cận dựa mô hình (model-based); Kết hợp nhiều cách tiếp cận: Kết hợp thuật toán cách tiếp cận dựa nhớ thuật toán cách tiếp cận dựa mơ hình với để đưa kết tốt 2.2.1 Cách tiếp cận dựa nhớ Phương pháp lọc cộng tác với cách tiếp cận dựa nhớ có đặc trưng thường sử dụng tồn liệu có để dự đốn đánh giá người dùng sản phẩm Cách tiếp cận dựa nhớ thường chia làm loại: dựa người dùng dựa sản phẩm a.Dựa người dùng Phương pháp tóm tắt với bước sau: - Bước 1: Tìm kiếm người dùng có đánh giá tương tự với người dùng cần dự đoán - Bước 2: Sử dụng đánh giá từ người dùng tìm thấy bước để tính tốn dự đốn cho người cần dự đoán b Dựa sản phẩm Phương pháp tóm tắt thành bước sau: - Bước 1: Xây dựng ma trận để xác định mối quan hệ cặp sản phẩm với - Bước 2: Kiểm tra thị hiếu người dùng cần dự đoán cách kiểm tra ma trận kết hợp liệu người dùng 2.2.2 Cách tiếp cận dựa mơ hình Trong cách tiếp cận này, mơ hình phát triển cách sử dụng khai phá liệu khác nhau, thuật toán học máy để dự đoán đánh giá người dùng mặt hàng chưa đánh giá 2.2.3 Một số hạn chế lọc cộng tác Lọc cộng tác gặp phải số khó khăn sau: a Vấn đề thưa thớt liệu b Khả mở rộng c Từ đồng nghĩa d Cừu xám (gray sheep) 2.3 PMF (Probabilistic Matrix Factorization) Probabilistic Matrix Factorization (PMF) [11] mơ hình tuyến tính xác suất với nhiễu quan sát Gaussian Giả sửcó N người dùng M phim Đặt giá trị đánh giá người sử dụng i cho phim j, đại diện cho vector đặc trưng người dùng vector đặc trưng phim D chiều Sự phân bố có điều kiện đánh giá quan sát phân bố trước cho bởi: (2.2) ( | ) ∏ ∏[ ( | )] ( | ( | ) ) ∏ ( | ) (2.3) (2.4) ∏ ( | ) ) biểu thị phân bố Gaussian với Trong ( | trung bình μ độ xác α, biến số, người dùng i đánh giá phim j khơng có đánh giá 2.4 BPMF 2.4.1 Mơ hình Sự phân bố tiên nghiệm với vector người dùng phim giả định Gaussian: 10 ( | ) ∏ ( | ) ( | ) ∏ ( | ) (2.5) (2.6) Tiếp tục đặt Gaussian-Wishart tiên nghiệm (GaussianWishart priors) vào siêu tham số (hyperparameter) người dùng phim * + * +: (2.7) ( ) ( | ) ( ) ( ) ( | ) ( | ) (2.8) ( ) ( | ) ( ) ) ) ( | ( | ( ) Ở phân bố Wishart với độ tự ma trận có kích thước D×D : (2.9) )⁄ ( | ) | |( ( ( )) Trong đó, C số chuẩn hóa, * + Trong thử nghiệm, thiết lập = D cho ma trận nhận diện cho siêu tham số người dùng phim, = theo đối xứng 2.4.2 Dự đoán Sự phân bố dự đoán giá trị đánh giá cho người dùng i phim j thu tách (marginalizing) tham số mô hình siêu tham số Vì đánh giá xác phân bố dự đốn khó phân tích phức tạp hậu nghiệm, cần phải dùng đến suy luận gần đúng.Các phương pháp dựa MCMC, sử dụng phương trình xấp xỉ Monte Carlo cho phân bố dự đốn phương trình đưa bởi: (2.10) ( ) ( ) ∑ ( | ) ( | ) ( ) ( ) Các mẫu * + tạo cách chạy chuỗi Markov mà phân bố cố định (stationary distribution) phân bố hậu nghiệm tham số mơ hình siêu tham số* + 11 2.4.3 Kết luận Do việc sử dụng tiên nghiệm liên hợp cho tham số siêu tham số mơ hình BPMF, phân bố có điều kiện xuất phát từ phân bố hậu nghiệm dễ dàng để lấy mẫu.Sự phân bố có điều kiện vector đặc trưng phim siêu tham số phim có dạng xác giống 2.5 ALS (Alternating Least Squares) 2.5.1 Phân loại ma trận cho vấn đề khuyến nghị Mơ hình phân loại ma trận phổ biến cho hệ khuyến nghị đánh giá người dùng u cho sản phẩm i: (2.11) ̂ Với ( ) vector liên kết với người dùng, vector liên kết với item ( ) Kích thước vector hạng mơ hình thành phần gọi nhân tử (factors).Thu thập liệu đánh giá người dùng – sản phẩm vào ma trận ̂ ( ̂ ) Đầu tiên, thu thập vector người dùng vào ma trận , vector sản phẩm vào ma trận Sau đó,có thể biểu diễn mơ hình trên: ̂ (2.12) Mơ hình giả sử xấp xỉ hạng N nhân tử: ̃ (2.13) 2.5.2 Alternating Least Squares Một phương pháp phổ biến để tìm kiếm ma trận X, Y biết đến alternating least squares Ý tưởng tìm kiếm tham số (các đầu vào X Y) mà tối thiểu hóa hàm chi phí: (2.14) ∑ ( ) (∑‖ ‖ ∑‖ ‖ ) Hằng số λ gọi tham số quy Nó có hiệu chí quan trọng bối cảnh này, mặc dù: 12 Nếu giữ vectơ sản phẩm Y cố định, C hàm bậc hai thành phần X Tương tự, nếugiữ vector người dùng X cố định, C hàm bậc hai thành phần Y Vì vậy, để tối thiểu hóa C: Giữ vectơ người dùng cố định giải phương trình bậc hai cho Đây có lẽ khơng phải mức tối thiểu tồn cục C chưa đụng tới biến số , giảm C Giữ vectors sản phẩm cố định giải phương trình bậc hai cho Lặp lại Các thuật toán gọi alternating least squares 2.5.3 Xu hướng người dùng xu hướng sản phẩm Đối với mơ hình đánh giá rõ ràng, cách để tính xu hướng người dùng mơ hình đánh giá người dùng thực tế như: (2.15) ̂ Với xu hướng người dùng ̂ mô hình điều lại; ví dụ, ̂ sử dụng mơ hình phân tích ma trận đề cập trước Có thể tính tốn xu hướng sản phẩm theo cách tương tự: (2.16) ̂ đây, xu hướng sản phẩm i - ALS với xu hướng (Biased ALS) Xu hướng người dùng sản phẩm tích hợp trực tiếp vào thuật tốn ALS Mơ hình hóa ma trận đánh giá người dùng – sản phẩm thành (2.17) Và tối thiểu hóa hàm chi phí: 13 ∑ (∑(‖ ( ‖ ∑(‖ ‖ ) (2.18) ) )) Một lần nữa, chuẩn hố, giữ biến người dùng cố định tối thiểu hóa biến sản phẩm Sau đó, giữ biến sản phẩm cố định tối thiểu hóa biến người dùng Tuy nhiên, viết lại hàm chi phí bước để giống mơ hình khơng xu hướng, sau sử dụng cơng thức tương tự tìm thấy cho ALS khơng xu hướng Bí xác định vectơ bao gồm xu hướng thành phần cách đắn Giả sử β vector xu hướng người dùng (với n_users thành phần) γ vector xu hướng item (với n_itemsthành phần) Đây thuật toán ALS với xu hướng: Khởi tạo vectơ người dùng ngẫu nhiên thiết lập tất xu hướng thành số (hoặc khởi tạo chúng ngẫu nhiên, khơng q quan trọng) Đối với sản phẩm i, xác định vectơ mới: Với thành phần n_user thành phần), ̃ Và ̃ Sau (chú ý vector có ( ) ( ) ∑( ̃ ̃) (∑ (‖ ̃ ‖ ) ∑ (‖ ̃ ‖ )) Do đó,thấy xu hướng item vector tính toán sau: 14 ̃ ( ) (̃ ̃ ) ̃ (I ma trận dạng ( ) ( ), ̃ ̃ ma trận mà có cột vector ̃ ̃ thường lệ) Bây giờ, với người dùng u, xác định ba vectơ mới: , ̃ ( ), Và ̃ ( ) Xu hướng người dùng vector tính tốn sau: ̃ ( ) (̃ ̃ ) ̃ Lặp lại hội tụ 2.5.4 Kết luận Như vậy, thuật toán sử dụng yếu tổ ẩn xu hướng người dùng sản phẩm Với ALS, tác giả đưa cách giải toán khuyến nghị không phức tạp lại cho kết dự đốn với độ xác cao 15 CHƢƠNG 3: THỰC NGHIỆM, ĐÁNH GIÁ VÀ XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ PHIM TỰ ĐỘNG 3.1 Thực nghiệm mơ hình, thuật tốn Do phương pháp khuyến nghị dựa nội dung lọc cộng tác phương pháp khuyến nghị ban đầu, chúng có độ xác thấp phương pháp lại PMF, BPMF ALS nhiều nên luận văn tiến hành thực nghiệm phương pháp PMF, BPMF ALS 3.1.1 Giới thiệu tập liệu thử nghiệm MovieLens Hầu hết liệu bao gồm thành phần file: users, ratings, movies a Users File users chứa thông tin người dùng, thường có định dạng: ID người dùng::Giới tính::Tuổi::Nghề nghiệp::Mã bưu b Ratings File ratings chứa thơng tin đánh giá người dùng, thường có định dạng: ID người dùng::ID phim::Đánh giá::Mốc thời gian c Movies File movies chứa thông tin phim, thường có định dạng: ID phim::Tiêu đề::Thể loại 3.1.2 PMF Thực nghiệm với mơ hình PMF [11], [20] Để so sánh, cần huấn luyện loạt mơ hình PMF tuyến tính sử dụng MAP (maximum a posteriori probability - tối đa xác suất hậu nghiệm), chọn tham số định chuẩn chúng cách sử dụng xác nhận Ngồi mơ hình PMF tuyến tính, cần huấn luyện mơ hình PMF logistic 16 3.1.3 BPMF Thực nghiệm với mơ hình BPMF [11], [20] Khởi tạo lấy mẫu Gibbs cách thiết lập tham số mơ hình U V với ước tính MAP họ cách huấn luyện mơ hình PMF tuyến tính Thiết lập , cho ma trận đơn vị, cho tiên nghiệm người dùng phim Độ xác nhiễu quan sát đặt Phân bố dự đoán tính cách sử dụng cơng thức số 10, cách chạy lấy mẫu Gibbs với mẫu { ( ) ( ) } thu thập sau bước Gibbs đầy đủ 3.1.4 ALS - Thực nghiệm thuật tốn ALS với tham số: Vòng lặp: 10 Tham số quy: 0.1 Hạng ma trận nhân tử rank = [ 6, 8, 10, 12, 14] 3.2 Kết thực nghiệm 3.2.1 PMF BPMF Bảng 3.1 Kết thực nghiệm RMSE PMF BPMF Số chiều D PMF BPMF 30 0.92142 0.90482 40 0.92016 0.89955 60 0.91685 0.89668 100 0.92056 0.89409 150 0.92201 0.89347 Có thể quan sát thấy, BPMF có cải thiện độ xác nhiều so với PMF 17 3.2.2 ALS Bảng 3.2 Kết thực nghiệm ALS rank RMSE Thời gian (giây) 0.87974 14.00735 0.87816 16.29091 10 0.87399 18.96353 12 0.87248 20.47909 14 0.87577 21.63209 Thời gian thực nghiệm thuật tốn tính máy tính có: - Hệ điều hành: Linux Mint 64-bit Vi xử lý: Intel Core i5-2520M 2.5GHz RAM: 8GB 3.3 Đánh giá kết Dựa số RMSE, dễ dàng nhận thấy, thuật tốn ALS cho độ xác tốt so với PMF BPMF Tuy kết tốt ALS RMSE = 0.87248 lớn so với giải pháp Bellkor 2008 (RMSE = 0.8643) giải pháp Bellkor phức tạp để cài đặt Vì vậy, luận văn xin đề xuất sử dụng thuật toán ALS với hạng ma trận nhân tử (vì đảm bảo kết tốt thời gian huấn luyện vừa phải) 18 3.4 Áp dụng xây dựng hệ thống 3.4.1 Thiết kế hệ thống Hình 3.1 Sơ đồ hệ thống khuyến nghị Trong đó: - Client: bao gồm trang web, ứng dụng gửi liệu người dùng phim phía server để tính tốn - Event Server: Nhận liệu từ phía Client lưu trữ liệu - Engine: Xây dựng mơ hình dự đốn với thuật tốn ALS, sử dụng liệu từ Event Server để huấn luyện Sau triển khai thành web service dạng REST Api, lắng nghe truy vấn từ Client trả kết dự đoán 3.4.2 Xây dựng hệ thống khuyến nghị phim a Tập liệu huấn luyện: Hệ thống sử dụng liệu MovieLens triệu đánh giá làm liệu huấn luyện cho hệ thống (dữ liệu mô tả phần 2.1) b Event Server: Ngơn ngữ lập trình: Python Phƣơng thức giao tiếp với Client: REST Api Cơ sở liệu sử dụng: HBase Các bảng sở liệu: 19 Hình 3.5 Quan hệ bảng sở liệu c Engine Phƣơng thức giao tiếp với Client: REST Api Thuật toán sử dụng: ALS 20 KẾT LUẬN Những đóng góp luận văn Luận văn trình bày tổng quan tốn khuyến nghị vai trò tốn xã hội Hai nghiên cứu tiếng để giải tốn giới thiệu “Giải pháp BellKor 2008 cho giải Netflix” “Học theo thời gian mô hình cho hệ thống giới thiệu việc làm” Tiếp theo, luận văn trình bày thực nghiệm ba số nhiều thuật toán sử dụng vấn đề khuyến nghị Kết thu sau thực nghiệm với liệu MovieLens với độ xác dự đốn tốt Đặc biệt thuật tốn ALS Dựa vào đó, luận văn xây dựng hệ thống khuyến nghị phim Hệ thống giao tiếp với Client thông qua REST Api, sử dụng sở liệu HBase, thuật toán huấn luyện ALS Hƣớng phát triển luận văn Trong tương lai, luận văn cần cải thiện tốc độ huấn luyện thuật toán giải pháp xung quanh việc xây dựng hệ thống để đảm bảo tốc độ đáp ứng hệ thống theo thời gian thực đảm bảo tính bảo mật hệ thống 21 TÀI LIỆU THAM KHẢO Tài liệu Tiếng Anh [1] D Goldberg, D Nichols, B M Oki, D Terry, Using Collaborative Filtering to Weave an Information Tapestry, Comm ACM 35 [2] Graves, A and Schmidhuber, J (2009) Offline handwriting recognition with multi dimensional recurrent neural networks In Advances in neural information processings ystems, pages 545–552 [3] John S Breese, David Heckerman, and Carl Kadie, Empirical Analysis of Predictive Algorithms for Collaborative Filtering, 1998 Archived 19 October 2013 at the Wayback Machine [4] Koren, Y (2008) Factorization meets the neighborhood: a multifaceted collaborative filtering model In Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 426–434 ACM [5] Koren, Y., Bell, R., Volinsky, C., et al (2009) Matrix factorization techniques for recommender systems Computer, 42(8):30–37 [6] Kuan Liu, Xing Shi, Anoop Kumar, Linhong Zhu, Prem Natarajan "Temporal Learning and Sequence Modeling for a Job Recommender System" [7] Luong, M.-T., Sutskever, I., Le, Q V., Vinyals, O., and Zaremba, W (2014) Addressing the rare word problem in neural machine translation arXiv preprint arXiv:1410.8206 [8] Recommender Systems - The Textbook | Charu C Aggarwal | Springer [9] Rendle, S., Freudenthaler, C., Gantner, Z., and Schmidt-Thieme, L (2009) Bpr: Bayesian personalized ranking from implicit feedback In Proceedings of the twenty-fifth conference on uncertainty in artificial intelligence, pages 452–461 AUAI Press [10] Robert Bell; Yehuda Koren; Chris Volinsky (2008-12-10) "The BellKor 2008 Solution to the Netflix Prize" [11] Ruslan Salakhutdinov, Andriy Mnih ""Bayesian Probabilistic Matrix Factorization using Markov Chain Monte Carlo [12] Sarwar, B., Karypis, G., Konstan, J., and Riedl, J (2001) Itembased collaborative filtering recommendation algorithms In 22 Proceedings of the 10th international conference on World Wide Web, pages 285–295 ACM [13] Sutskever,I.,Vinyals,O.,andLe,Q.V.(2014) Sequence to sequence learning with neural networks In Advances in neural information processing systems, pages 3104–3112 [14] Terveen, Loren; Hill, Will (2001) "Beyond Recommender Systems: Helping People Help Each Other" (PDF) Addison-Wesley p Retrieved 16 January 2012 [15] Usunier, N., Buffoni, D., and Gallinari, P (2009) Ranking with ordered weighted pairwise classification In Proceedings of the 26th annual international conference on machine learning, pages 1057– 1064 ACM [16] Weimer, M., Karatzoglou, A., Le, Q V., and Smola, A (2007) Maximum margin matrix factorization for collaborative ranking Advances in neural information processing systems, pages 1–8 [17] Weston, J.Bengio, and Usunier, N.(2010) Large scale image annotation: learning to rank with joint word-image embeddings Machine learning, 81(1):21–35 [18] Xiaoyuan Su, Taghi M Khoshgoftaar, A survey of collaborative filtering techniques, Advances in Artificial Intelligence archive, 2009 [19] Y Koren, “Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model”, Proc 14th ACM Int Conference on Knowledge Discovery and Data Mining (KDD'08), ACM press, 2008 [20] J Davidson, Benjamin Liebald, Junning Liu, Palash Nandy, Taylor Van Vleet, The YouTube Video Recommendation System Trang web [21] https://www.cs.toronto.edu/~rsalakhu/BPMF.html [22]http://www.businessinsider.com/how-the-netflixrecommendation-algorithm-works-2016-2 ... dụng xây dựng hệ thống khuyến nghị phim tự động với tập liệu MovieLens Luận văn trình bày chương với nội dung sau: Chƣơng Tổng quan hệ thống khuyến nghị Chương giới thiệu hệ thống khuyến nghị. .. giá xây dựng hệ thống khuyến nghị phim tự động Chương trình bày phương pháp thử nghiệm thuật tốn hệ thống khuyến nghị, từ đó, áp dụng vào thử nghiệm, đánh giá thuật tốn Sau q trình xây dựng hệ thống. .. 17 3.3 Đánh giá kết 17 3.4 Áp dụng xây dựng hệ thống 18 3.4.1 Thiết kế hệ thống 18 3.4.2 Xây dựng hệ thống khuyến nghị phim 18 KẾT LUẬN 20 TÀI LIỆU THAM