NGHIÊN CỨU ỨNG DỤNG MÔ HÌNH LỌC CỘNG TÁC VÀ PHÂN CỤM MỜ XÂY DỰNG HỆ THỐNG GỢI Ý PHIM DỰA TRÊN THÔNG TIN ĐÁNH GIÁ CỦA NGƯỜI DÙNGNGHIÊN CỨU ỨNG DỤNG MÔ HÌNH LỌC CỘNG TÁC VÀ PHÂN CỤM MỜ XÂY DỰNG HỆ THỐNG GỢI Ý PHIM DỰA TRÊN THÔNG TIN ĐÁNH GIÁ CỦA NGƯỜI DÙNGNGHIÊN CỨU ỨNG DỤNG MÔ HÌNH LỌC CỘNG TÁC VÀ PHÂN CỤM MỜ XÂY DỰNG HỆ THỐNG GỢI Ý PHIM DỰA TRÊN THÔNG TIN ĐÁNH GIÁ CỦA NGƯỜI DÙNGNGHIÊN CỨU ỨNG DỤNG MÔ HÌNH LỌC CỘNG TÁC VÀ PHÂN CỤM MỜ XÂY DỰNG HỆ THỐNG GỢI Ý PHIM DỰA TRÊN THÔNG TIN ĐÁNH GIÁ CỦA NGƯỜI DÙNG
Trang 1NGHIÊN CỨU ỨNG DỤNG MÔ HÌNH LỌC CỘNG TÁC
VÀ PHÂN CỤM MỜ XÂY DỰNG HỆ THỐNG GỢI Ý PHIM DỰA TRÊN THÔNG TIN ĐÁNH GIÁ CỦA
NGƯỜI DÙNG
ĐỀ ÁN TỐT NGHIỆP THẠC SĨ HỆ THỐNG THÔNG TIN
Trang 2
NGUYỄN KIM LƯƠNG
NGHIÊN CỨU ỨNG DỤNG MÔ HÌNH LỌC CỘNG TÁC VÀ PHÂN CỤM MỜ XÂY DỰNG HỆ THỐNG GỢI Ý PHIM DỰA TRÊN THÔNG TIN ĐÁNH GIÁ CỦA NGƯỜI DÙNG
Ngành Hệ thống thông tin
Mã số: 8480104
ĐỀ ÁN TỐT NGHIỆP THẠC SĨ HỆ THỐNG THÔNG TIN
NGƯỜI HƯỚNG DẪN:
1 TS MAI ĐÌNH SINH
2 TS ĐẶNG TRỌNG HỢP
Hà Nội – 2024
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan rằng đề án thạc sĩ Hệ thống thông tin “Nghiên cứu ứng dụng mô hình lọc cộng tác và phân cụm mờ xây dựng hệ thống gợi ý phim dựa trên thông tin đánh giá của người dùng” là công trình nghiên cứu của tôi dưới sự hướng dẫn của TS Mai Đình Sinh và TS Đặng Trọng Hợp
Toàn bộ nội dung được trình bày trong đề án này hoặc là đến từ sự tìm hiểu nghiên cứu của tôi hoặc là tổng hợp, thu thập từ các tài liệu khác nhau đều được trích dẫn đầy đủ trong phần tài liệu tham khảo Các tài liệu tham khảo này được sử dụng một cách hợp lý và minh bạch Tôi xin cam đoan rằng không có bất cứ vi phạm nào đối với các quy định đạo đức nghiên cứu khoa học trong quá trình thực hiện dự án
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định về tính chính xác và trung thực của đề án nghiên cứu này
Hà Nội, ngày 28 tháng 04 năm 2024
Tác giả đề án
Nguyễn Kim Lương
Trang 4LỜI CẢM ƠN
Trước tiên, tôi muốn bày tỏ lòng biết ơn chân thành và sâu sắc của mình đến các thầy giáo Mai Đình Sinh tại Học viện Kỹ thuật Quân sự và thầy giáo Đặng Trọng Hợp tại Đại học Công nghiệp Hà Nội, những người đã hỗ trợ, khuyến khích và cung cấp cho tôi Các thầy không chỉ là những người hướng dẫn mà còn là nguồn động viên, đưa ra những ý kiến quan trọng giúp tôi nhìn nhận vấn đề một cách toàn diện hơn Sự tận tâm và chia sẻ kiến thức sâu rộng của các Thầy đã giúp tôi phát triển khả năng nghiên cứu và làm việc độc lập
Tôi xin dành lời cảm ơn chân thành tới các thầy cô giáo khoa Công nghệ thông tin, trường Đại học Công nghiệp Hà Nội đã tận tình đào tạo, chia
sẻ những kiến thức quý báu trong lĩnh vực của mình trong suốt quá trình tôi học tập và nghiên cứu tại trường
Sau cùng, tôi muốn bày tỏ lòng biết ơn đến tất cả những người thân yêu trong gia đình, đồng nghiệp và bạn bè đã luôn bên cạnh tôi, giúp đỡ, động viên và khích lệ tôi tham gia chương trình đào tạo sau đại học tại Đại học Công nghiệp Hà Nội
Tôi xin chân thành cảm ơn!
Trang 5MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT i
DANH MỤC CÁC BẢNG BIỂU ii
DANH MỤC HÌNH ẢNH iii
MỞ ĐẦU 1
I Lý do chọn đề tài 1
II Tổng quan nghiên cứu 2
III Mục tiêu của đề tài 3
IV Nội dung nghiên cứu 3
V Kết cấu đề án 3
CHƯƠNG 1 4
TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 4
1.1 MỘT SỐ KHÁI NIỆM PHỔ BIẾN VỀ HỆ THỐNG GỢI Ý 4
1.2 PHƯƠNG THỨC HOẠT ĐỘNG CỦA HỆ THỐNG GỢI Ý 8
1.3 PHƯƠNG PHÁP TIẾP CẬN KHI XÂY DỰNG HỆ THỐNG GỢI Ý 10
1.3.1 Lọc nội dung 10
1.3.2 Lọc cộng tác 14
1.3.3 Lọc kết hợp/lai ghép (Hybrid) 17
1.4 CÁC TIÊU CHUẨN ĐÁNH GIÁ HỆ GỢI Ý 20
1.4.1 Trung bình lỗi tuyệt đối 20
1.4.2 Lỗi bình phương trung bình 21
CHƯƠNG 2 22
HỆ GỢI Ý DỰA TRÊN LỌC CỘNG TÁC VÀ CÁC PHƯƠNG PHÁP PHÂN CỤM 22
2.1 BÀI TOÁN GỢI Ý DỰA TRÊN CỘNG TÁC 22
2.1.1 Lọc cộng tác dựa vào bộ nhớ 23
2.1.2 Lọc cộng tác dựa vào trên mô hình 26
2.2 SỬ DỤNG KỸ THUẬT PHÂN CỤM KẾT HỢP VỚI HỆ GỢI Ý 29
2.2.1 Phân cụm là gì? 29
2.2.2 Lý do nên sử dụng phân cụm cho hệ gợi ý 30
2.2.3 Cách sử dụng phân cụm cho hệ gợi ý 31
2.2.4 Những thách thức và hạn chế của việc phân cụm cho các hệ thống gợi ý 31
Trang 62.2.5 Lợi ích và cơ hội của việc phân cụm cho hệ gợi ý 32
CHƯƠNG 3 33
LỰA CHỌN MÔ HÌNH HỆ GỢI Ý SỬ DỤNG PHƯƠNG PHÁP PHÂN CỤM MỜ 33
3.1 LỰA CHỌN MÔ HÌNH HỆ GỢI Ý 33
3.1.1 K-means clustering dựa trên item 34
3.1.2 Fuzzy clustering dựa trên user 38
3.2 MỘT SỐ NHẬN XÉT VỀ MÔ HÌNH 42
CHƯƠNG 4 43
CÀI ĐẶT VÀ THỰC NGHIỆM TRÊN MÔ HÌNH LỰA CHỌN 43
4.1 TẬP DỮ LIỆU VÀ THIẾT LẬP MÔI TRƯỜNG 43
4.2 THỰC NGHIỆM VÀ ĐÁNH GIÁ 44
4.2.1 Tổng quan về tập dữ liệu thực nghiệm 44
4.2.2 Cài đặt thực nghiệm và đánh giá kết quả 51
KẾT LUẬN 66
TÀI LIỆU THAM KHẢO 68
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
CBF Content-Based Filtering Lọc thông tin dựa trên nội dung
CF Collaborative Filtering Lọc thông tin dựa trên cộng tác
Matrix
Ma trận ghi nhận đánh giá của người dùng đối với sản phẩm được tương tác
SP Sparsity problem Vấn đề dữ liệu thưa
RMSE Root Mean Squared Error Hàm sai số trung bình bình
MF Matrix Factorization Phân tích thừa số ma trận
DLCRS Deep learning method of
collaborative recommender systems
Phương pháp học sâu của hệ thống đề xuất cộng tác
Trang 8DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1 Phân cụm của các mục dựa trên hồ sơ của mục với thuật toán
Kmeans 36 Bảng 3.2 Mẫu dữ liệu của 15 mục được nhóm vào 4 cụm 38
Trang 9DANH MỤC HÌNH ẢNH
Hình 1.1 Sơ đồ tổng quát của một hệ thống gợi ý 6
Hình 1.2 Ma trận tương tác User - Item 7
Hình 1.3 Cách thức phương pháp lọc cộng tác hoạt động 11
Hình 1.4 Cơ chế hoạt động theo lọc nội dung 12
Hình 1.5 Cơ chế lọc kết hợp 19
Hình 2.1 Quy trình đề xuất dựa trên sự hợp tác 22
Hình 2.2 Lọc cộng tác dựa theo người dùng 24
Hình 2.3 Lọc cộng tác dựa theo sản phẩm 25
Hình 3.1 Biểu đồ của phương pháp đã lựa chọn về hệ thống gợi ý 34
Hình 3.2 Phân bổ người dùng vào 4 cụm với các bậc thành viên khác nhau bằng cách sử dụng Fuzzy C-means 40
Hình 4.1 Dữ liệu đánh giá các bộ phim 46
Hình 4 2 Biểu đồ phân phối điểm đánh giá 47
Hình 4 3 Số lượng phim mà mỗi người dùng xem và đánh giá 47
Hình 4 4 Số lượng đánh giá của mỗi bộ phim 48
Hình 4 5 Số lượng dữ liệu người dùng 48
Hình 4 6 Thông tin về giới tính của người dùng 49
Hình 4 7 Thông tin về tuổi của người dùng 49
Hình 4 8 Dữ liệu về nghề nghiệp của người dùng 50
Hình 4 9 Số lượng bộ phim 50
Hình 4 10 Dữ liệu về các bộ phim 51
Hình 4 11 Thông tin trích xuất từ OMDB API 52
Hình 4 12 Dữ liệu phim sau khi định dạng lại thời gian đánh giá 53
Hình 4 13 Tính toán Net Promoter Score cho từng đánh giá 54
Hình 4 14 Dữ liệu sẵn sàng phần cụm bằng K-means 54
Trang 10Hình 4 15 Lựa chọn số cụm K theo Silhouette Score 55
Hình 4 16 Lựa chọn số cụm K theo Distortion Score 55
Hình 4 17 Lựa chọn số cụm K theo Davies Bouldin 56
Hình 4 18 Lựa chọn số cụm K cho K-means 56
Hình 4 19 Dữ liệu sau khi phân cụm với K-means 57
Hình 4 20 Dữ liệu đầu vào cho việc phân cụm mờ với C-means 57
Hình 4 21 Dữ liệu sau khi phân cụm mờ với C-means 58
Hình 4 22 Sơ đồ mô hình hệ thống gợi ý 58
Hình 4 23 Kết quả gợi ý cho cụm người dùng Cluster 0 59
Hình 4 24 Kết quả gợi ý cho cụm người dùng Cluster 1 60
Hình 4 25 Kết quả gợi ý cho cụm người dùng Cluster 2 60
Hình 4 26 Kết quả gợi ý cho cụm người dùng Cluster 3 61
Hình 4 27 Kết quả gợi ý cho cụm người dùng Cluster 5 61
Hình 4 28 Kết quả gợi ý cho cụm người dùng Cluster 7 62
Hình 4 29 Kết quả gợi ý cho cụm người dùng Cluster 4 62
Hình 4 30 Kết quả gợi ý cho cụm người dùng Cluster 6 63
Hình 4 31 So sánh hiệu suất của bốn thuật toán bằng độ đo RMSE trên tập dữ liệu Movielens [5] 64
Hình 4 32 So sánh kết quả của hệ thống gợi ý đã xây dựng so với hệ thống gợi ý truyền thống 65
Trang 11MỞ ĐẦU
I Lý do chọn đề tài
Trong thời đại công nghệ số 4.0, bán hàng trực tuyến đã mang lại lợi nhuận cho rất nhiều ngành kinh doanh Điều này là kết quả của sự phát triển mạnh mẽ của Internet Bán hàng qua mạng đang trở nên phổ biến vì nó có khả năng cho phép người dùng nhanh chóng tiếp cận một số loại hàng hóa và dịch
vụ đa dạng
Phim điện ảnh, một trong những dịch vụ phổ biến hiện nay, đã và đang thu hút được sự quan tâm đáng kể của khách hàng trên toàn thế giới Theo thống kê của Box Office Mojo, một nguồn thông tin quan trọng về doanh số bán vé và tài chính của các bộ phim trên toàn cầu, thị trường phim sẽ đạt tổng cộng 8 tỷ USD vào năm 2023 với khoảng 500 bộ phim được công chiếu Điều này cho thấy thị trường này có khả năng kiếm được rất nhiều tiền Tuy nhiên,
sự đa dạng về thể loại và nội dung của phim cũng khiến khách hàng khó lựa chọn bộ phim phù hợp
Để khách hàng có thể tiếp cận được với bộ phim mình đang phổ biến
và phù hợp với thị hiếu của mình thì sự tư vấn, gợi ý đóng vai trò rất quan trọng Một hệ thống gợi ý tốt có thể đóng vai trò như một người trung gian hỗ trợ khách hàng đưa ra các quyết định lựa chọn đúng đắn Bằng cách xác định
sở thích, nhu cầu kèm theo những thông tin nhận xét đánh giá của khách hàng, hệ thống có thể đưa ra một tập các gợi ý giúp cho khách hàng dễ dàng chọn lựa những bộ phim có nội dung yêu thích hơn Qua đó hiệu suất của việc kinh doanh được tăng cao một cách đáng kể
Mục tiêu chính của đề án là tạo ra một hệ thống gợi ý phim cho khách hàng dựa trên những đánh giá của các bộ phim để tối ưu hóa dự đoán mức độ
Trang 12ưa thích của khách hàng đối với các bộ phim và sau đó đề xuất các bộ phim
mà khách hàng có thể quan tâm và ưa thích
II Tổng quan nghiên cứu
Hệ thống gợi ý (RS) là một phương tiện và phương pháp phần mềm giúp đề xuất tin tức và hành vi tiêu dùng cho người dùng Chúng tạo ra các gợi ý tùy chỉnh, đưa ra danh sách các sản phẩm, dịch vụ, hoặc nội dung được sắp xếp theo thứ tự ưu tiên dựa trên sở thích cá nhân để dự báo lựa chọn phù hợp nhất với họ Những lựa chọn này bao gồm việc mua sắm, âm nhạc mà họ lắng nghe, và tin tức trực tuyến mà họ đọc [1] Hệ thống này giải quyết được tình trạng ngập lụt thông tin bằng cách cung cấp dịch vụ và nội dung riêng biệt, phù hợp với nhu cầu và mong muốn của từng người dùng Mục tiêu của
RS là mang đến cho người dùng những đề xuất và ưu đãi cụ thể liên quan đến những sản phẩm hoặc đối tượng mà họ có khả năng quan tâm đến Một ví dụ điển hình là Netflix, họ áp dụng hệ thống gợi ý để phân tích xu hướng và sở thích của người dùng, qua đó giới thiệu các bộ phim phù hợp trên trang web của mình để tăng cường trải nghiệm và thu hút lượng người xem lớn hơn [2]
Bạn có thể tạo hệ thống gợi ý bằng nhiều phương pháp và thuật toán khác nhau Các khuyến nghị dựa trên nội dung, các khuyến nghị hợp tác và các phương pháp kết hợp (dựa trên tương tác và dựa trên nội dung) [1] [2], [3] Hệ thống gợi ý dựa trên nội dung cung cấp cho người dùng những món
đồ (mục) tương tự Những hệ thống gợi ý cộng tác người dùng sẽ cung cấp những mục tin mà một số người có cùng sở thích đã từng thích Các hệ thống dựa trên đặc tính, dựa trên hành vi, dựa trên ngữ cảnh, dựa trên kiến thức, dựa trên luật và các hệ thống dựa trên đặc tính khác cũng bao gồm kỹ thuật không
cá nhân hóa [3]
Trang 13III Mục tiêu của đề tài
Tạo ra một hệ thống gợi ý phim tiên tiến, giúp người dùng tìm được các
bộ phim phù hợp với sở thích cá nhân một cách nhanh chóng và hiệu quả, từ
đó nâng cao trải nghiệm giải trí của họ
IV Nội dung nghiên cứu
Nghiên cứu, đánh giá ưu/nhược điểm các phương pháp gợi ý phổ biến trong các hệ thống hiện nay: Lọc dựa trên nội dung và Lọc cộng tác
Nghiên cứu về phân cụm mờ và thuật toán Fuzzy C-Means
Thu thập và xử lý dữ liệu đánh giá phim từ người dùng
Nghiên cứu mô hình kết hợp phương pháp Lọc cộng tác với thuật toán phân cụm mờ nhằm tăng hiệu năng, cải thiện tốc độ và độ chính xác gợi ý
Thiết kế và triển khai hệ thống gợi ý dựa trên mô hình đã lựa chọn
Thử nghiệm và đánh giá mô hình
V Kết cấu đề án
Nội dung Đề án tốt nghiệp gồm các chương và phần chính sau:
Chương 1: Tổng quan về hệ thống gợi ý
Chương 2: Hệ gợi ý dựa trên lọc cộng tác và các phương pháp phân cụm Chương 3: Lựa chọn mô hình hệ gợi ý sử dụng phương pháp phân cụm mờ Chương 4: Cài đặt, thử nghiệm mô hình đã lựa chọn
Trang 14CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 1.1 MỘT SỐ KHÁI NIỆM PHỔ BIẾN VỀ HỆ THỐNG GỢI Ý
Hệ thống đề xuất, hay còn được biết đến dưới tên gọi Recommendation System, là một nền tảng sử dụng các kỹ thuật và công nghệ phần mềm hiện đại để phân tích dữ liệu liên quan đến người dùng và các sản phẩm hoặc dịch
vụ Hệ thống này nhằm mục đích tối ưu hóa sự hài lòng của người dùng bằng cách cung cấp thông tin dựa trên sở thích cá nhân được hình thành từ các hoạt động và lựa chọn trước đây của họ Dựa vào việc phân tích sâu sở thích và nhu cầu của người dùng, hệ thống sẽ đề xuất các lựa chọn phù hợp nhất, giúp
họ lựa chọn sản phẩm hoặc dịch vụ mà tương thích nhất với mô hình ưa chuộng cá nhân của họ
Chẳng hạn, khi người dùng ghé thăm Amazon, một trang web thương mại điện tử hàng đầu, họ sẽ được đối mặt với hàng triệu lựa chọn sản phẩm
Hệ thống gợi ý trở thành công cụ không thể thiếu, giúp cá thể hóa dữ liệu và
đề xuất những sản phẩm mà người dùng có thể thích từ một kho dữ liệu khổng lồ Nhiệm vụ của hệ thống này là tận dụng hiểu biết sâu sắc về cơ sở
dữ liệu sản phẩm, thông tin cá nhân người dùng và sự tương tác giữa các sản phẩm để đưa ra các gợi ý chính xác nhất, nhằm đảm bảo rằng mỗi người dùng
có thể tìm thấy những sản phẩm ưng ý nhất trong thời gian ngắn nhất [7]
Một hệ thống gợi ý hiệu quả thường dựa trên ba yếu tố cơ bản tạo nên khung sườn của nó: [9]
- Tập hợp người dùng (U): Đây là danh sách chứa các thông tin cá nhân của người dùng đã đăng ký hoặc được theo dõi bởi hệ thống, ký hiệu là U={u1,u2, ,up} Những thông tin này có thể bao gồm lịch sử mua hàng,
sở thích, đánh giá sản phẩm, hoặc hành vi duyệt web
Trang 15- Tập hợp mục dữ liệu (I): Tập hợp này chứa thông tin về các sản phẩm hoặc dịch vụ có sẵn trên hệ thống, thường được đánh dấu bằng các định danh và kèm theo các thuộc tính đặc trưng, được ký hiệu là I={i1,i2, ,iq}
- Tập hợp mối quan hệ (R): Đây là tập hợp các "mối quan hệ" giữa người dùng và mục dữ liệu, được biểu diễn dưới dạng các cặp (ui, ij) thể hiện người dùng ui có quan hệ như thế nào với mục dữ liệu ij Có thể là qua việc mua hàng, xem sản phẩm, đánh giá hoặc tương tác khác
Hình 1.1 mô tả chi tiết hệ thống gợi ý [7] Trong bối cảnh của một hệ thống gợi ý, tập hợp người dùng có thể đa dạng gồm nam giới, nữ giới, và trẻ
em, mỗi đối tượng sở hữu nhu cầu và sở thích riêng Mục dữ liệu là những thứ
có thể tương tác với người dùng, ví dụ như được mua, xem, lựa chọn, đọc, hoặc được đánh giá bởi họ Người dùng, trong vai trò của một yếu tố trong hệ thống, có khả năng ảnh hưởng đến mục dữ liệu này Các mối quan hệ giữa người dùng và mục dữ liệu cũng rất phong phú, có thể là sự yêu thích, khao khát, mua sắm, đọc đánh giá, và các hình thức tương tác khác Hệ thống gợi ý sau đó sẽ sử dụng những thông tin này để cung cấp một danh sách các mục dữ liệu được cá nhân hóa, dựa trên sở thích và hành vi của người dùng [7] Mục tiêu cốt lõi của hệ thống gợi ý là chọn lọc và đề xuất một loạt các mục dữ liệu phù hợp, với mục đích không chỉ đáp ứng nhu cầu cơ bản mà còn tinh tế đến nỗi có thể dự đoán và đáp ứng cả những mong muốn không rõ ràng của người dùng, nhằm nâng cao trải nghiệm và sự thỏa mãn của họ đối với hệ thống
Trang 16Hình 1.1 Sơ đồ tổng quát của một hệ thống gợi ý Hiện nay, phương pháp phản hồi rõ ràng (explicit feedback) và phương pháp phản hồi ngầm (implicit feedback) là hai phương pháp phổ biến nhất để thu thập dữ liệu hồ sơ người dùng (user profile) Để tạo hồ sơ người dùng, hệ
thống sẽ yêu cầu người dùng cung cấp xếp hạng cụ thể cho từng mục dữ liệu nếu phương pháp phản hồi rõ ràng Dữ liệu người dùng được truyền trực tiếp lên hệ thống tư vấn bằng cách thực hiện các bước chuyển đổi trung gian, và kết quả tư vấn được coi là đáng tin cậy nhất theo phương pháp này [1]
Mặc dù phương pháp này đưa ra kết quả đề xuất có độ tin cậy tốt hơn, nhưng nó yêu cầu công việc bổ sung trên hệ thống và có thể dẫn đến trải nghiệm kém hơn cho người dùng Ngoài ra, việc sử dụng các kỹ thuật thu thập phản hồi trong thực tế có thể sẽ gặp nhiều khó khăn vì người dùng thường không muốn chia sẻ nhiều thông tin cá nhân
Phương pháp thu thập phản hồi ẩn xử lý thông tin về sở thích của người dùng bằng cách ghi nhận các thông tin truy vết mà người dùng tạo ra trên hệ thống, chẳng hạn như lịch sử mua hàng, thời gian xem trang web, số lần click chuột vào các siêu liên kết và lịch sử truy cập trang web Điều này tạo điều kiện thuận lợi để tìm kiếm và khám phá thông tin về sở thích của người dùng
Do yêu cầu hệ thống cần phải phải tiến hành các thao tác chuyển đổi ban
Trang 17đầu để thu thập dữ liệu về hành vi của người dùng, phương pháp phản hồi tường minh có khả năng nâng cao trải nghiệm người dùng với hệ thống [1]
Ma trận tương tác User—Item là một tập hợp dữ liệu được lưu trữ cho thấy sở thích của mỗi người dùng đối với các sản phẩm trong hệ thống Dữ liệu này có thể được hiển thị và lưu trữ trong cơ sở dữ liệu dưới dạng ma trận, trong đó mỗi hàng tương ứng với một người dùng và mỗi cột tương ứng với một sản phẩm Giá trị đánh giá của người dùng đối với mặt hàng được hiển thị trong từng ô của ma trận chính
Hình 1.2 Ma trận tương tác User - Item
Người dùng sẽ thường không đánh giá tất cả những gì họ đã trải qua vì
lý do tâm lý Họ thường chỉ đưa ra đánh giá các mục với tình trạng tích cực, tức là rất thích hoặc tiêu cực Do đó, ma trận tương tác người dùng—sản phẩm nói trên thường thiếu giá trị ở nhiều ô Đây được coi là vấn đề về sự không đầy đủ của dữ liệu hoặc dữ liệu thưa [10] Các phương pháp gợi ý dựa trên bộ nhớ, còn được gọi là các thuật toán khuyến nghị dựa trên bộ nhớ, gặp khó khăn khi dữ liệu của ma trận tương tác bị thưa [1] Ngoài ra, các hàng hoặc cột trong ma trận Người dùng – Sản phẩm sẽ trống hoàn toàn khi có tương tác giữa người dùng hoặc mặt hàng mới trong hệ thống Trong các hệ thống khuyến nghị dựa trên cộng tác, Hiện tượng này được biết đến với tên
Trang 18gọi là vấn đề khởi động nguội [10] Khả năng tạo khuyến nghị bằng cách kết hợp các dữ liệu dựa trên sở thích tương tự của các nhóm người dùng và mục
bị hạn chế khi hệ thống đối mặt với các mục không có tương tác
1.2 PHƯƠNG THỨC HOẠT ĐỘNG CỦA HỆ THỐNG GỢI Ý
Thật vậy, khách hàng có khả năng cao sẽ đưa ra quyết định khi mua sắm chủ yếu theo hai phương pháp Một là kiểm tra chi tiết các thông tin của sản phẩm, chẳng hạn như tính năng, công dụng và thành phần, tùy thuộc vào nhu cầu sử dụng của họ Trước khi đưa ra quyết định mua sắm, khách hàng có thể xem xét những gới ý từ những người xung quanh về sản phẩm đó
Hệ thống khuyến nghị mô phỏng lại quá trình đưa ra quyết định mua hàng của người dùng bằng hai kỹ thuật chính: gợi ý dựa trên lọc nội dung và gợi ý dựa trên lọc cộng tác, dựa trên những phát hiện được nêu trên
Phương pháp lọc dựa trên nội dung tận dụng những thông tin tương tác trong quá khứ của người dùng cũng như thông tin về thuộc tính của đối tượng
để xác định các đặc tính có ảnh hưởng đáng kể đến đánh giá của người dùng Các yếu tố nội dung của sản phẩm và giá trị trọng số 𝑤𝑖 thể hiện mức độ ảnh hưởng lớn của từng thành phần nội dung trong sở thích của người dùng, được biểu diễn bởi vector Profile(U) = (𝑤1, 𝑤2, … , 𝑤𝑛) Khi hệ thống RS sử dụng kỹ thuật Truy hồi thông tin (IR) để phân tích đối tượng I thành vector trọng số Content(I) = (𝑤1, 𝑤2, … , 𝑤𝑛) của các thành phần nội dung, quá trình xây dựng profile người dùng giống như vậy
Ví dụ, thông tin liên quan đến một đối tượng thông thường được trình bày dưới dạng văn bản, chẳng hạn như một đoạn văn, bài viết hoặc mẩu tin ngắn Kỹ thuật IR được sử dụng bởi hệ thống RS để trích xuất đặc tính như từ khóa, n-grams và thực thể để tạo mô hình biểu diễn dạng vector từ khóa của đối tượng [11] Do đó, hệ thống RS ánh xạ cả sở thích của người dùng và nội
Trang 19dung của đối tượng vào cùng một không gian vector, còn được gọi là không gian thuộc tính của sản phẩm, trong cách tiếp cận lọc dựa trên nội dung
Trong hệ thống gợi ý, để đo lường sự tương đồng giữa hai vector, độ đo cosine thường được sử dụng để đánh giá độ phù hợp giữa sản phẩm I và người dùng U
𝑟(𝑈, 𝐼) = 𝑐𝑜𝑠(𝑃𝑟𝑜𝑓𝑖𝑙𝑒(𝑈)⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ , 𝐶𝑜𝑛𝑡𝑒𝑛𝑡(𝐼)⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ) (1.1)
Trong phương pháp lọc cộng tác, hệ thống gợi tìm kiếm những nhóm người dùng có hành vi "tương đồng" bằng cách phân tích lịch sử tương tác của họ, được lưu trữ trong ma trận tương tác User – Item Hệ thống gợi ý đưa
ra đánh giá dựa trên độ phù hợp 𝑟(𝑈, 𝐼) giữa người dùng hiện tại 𝑈 và đối tượng 𝐼 bằng cách sử dụng độ phù hợp r(𝑈𝑗, I) của những người dùng 𝑈𝑗khác, có sở thích tương đồng với 𝑈
Trang 20 Phát biểu bài toán gợi ý:
Để giải quyết vấn đề này, ta cần phát triển một hàm 𝑟(𝑢𝑖, 𝑣𝑗) nhằm ước lượng giá trị xếp hạng mà người dùng 𝑢𝑖 đưa ra cho đối tượng 𝑣𝑗 Mục tiêu là làm cho sai số giữa giá trị dự đoán 𝑟̂𝑖𝑗 và các giá trị xếp hạng 𝑟𝑖𝑗 đã biết trong
ma trận tương tác trở nên nhỏ nhất
1.3 PHƯƠNG PHÁP TIẾP CẬN KHI XÂY DỰNG HỆ THỐNG GỢI Ý
Dưới đây là một tổng quan về các phương pháp được sử dụng để xây dựng hệ thống gợi ý, dựa trên nguồn tham khảo
1.3.1 Lọc nội dung
Hệ thống gợi ý ghi lại hồ sơ người dùng dưới dạng vector 𝑢̂ = {𝑢1, 𝑢2, … , 𝑢𝑛}, trong đó 𝑢𝑖 biểu thị sự yêu thích và quan tâm đối với từng chi tiết sản phẩm của người dùng Vector hồ sơ sản phẩm 𝑣̂ = {𝑣1, 𝑣2, … , 𝑣𝑛}, chứa thông tin chi tiết về sản phẩm bằng các đặc trưng 𝑣𝑖 Do đó, cả thông tin
Trang 21về sản phẩm và thông tin về sở thích của người dùng đều được thể hiện trên một không gian vector chung bao gồm các đặc trưng của sản phẩm
Hình 1.3 cho thấy góc lệch giữa hai vector hồ sơ được sử dụng để đánh giá khả năng thích hợp của sản phẩm đối với sở thích của người dùng
Hình 1.3 Cách thức phương pháp lọc cộng tác hoạt động
Phương pháp cosine góc lệch giữa là phương pháp so sánh hai vector𝑢⃗
và 𝑣 được sử dụng để đánh giá độ tương đồng và đưa ra khuyến nghị:
𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = cos(𝜃) = 𝑢⃗ 𝑣
‖𝑢⃗ ‖ ∙ ‖𝑣 ‖=
∑𝑛𝑖=1𝑢𝑖 ∙ 𝑣𝑖
√∑𝑛𝑖=1𝑢𝑖2∙ √∑𝑛𝑖=1𝑣𝑖2 (1.2)
Trang 22Trong Hình 1.4 dưới đây, chúng ta có thể thấy được tổng quan mô hình của hệ thống gợi ý dựa trên nội dung:
Hình 1.4 Cơ chế hoạt động theo lọc nội dung
Phương pháp đề xuất dựa trên nội dung mang lại nhiều lợi ích cho hệ thống gợi ý (RS), nhất là khi so sánh với phương pháp lọc cộng tác Dưới đây
là một số lợi ích chính:
Một trong những lợi thế lớn của phương pháp đề xuất dựa trên nội dung là khả năng cung cấp gợi ý chính xác và được người dùng chấp nhận cao mà không cần đến lượng lớn dữ liệu từ người dùng Điều này tạo nên sự khác biệt rõ ràng so với phương pháp lọc cộng tác, trong đó hiệu suất của hệ thống gợi ý phụ thuộc nhiều vào việc phân tích và xử lý tập hợp dữ liệu tương tác lớn từ người dùng để tìm ra các mẫu và quy luật, như xác định sản phẩm được ưa chuộng
Thứ hai, hệ thống có thể đưa ra gợi ý về sản phẩm mới kể cả khi không có sẵn dữ liệu tương tác từ người dùng, nhờ vào việc sử dụng thông tin
mô tả sản phẩm Điều này là do cơ chế của phương pháp đề xuất dựa trên nội
Trang 23dung, nơi mà các đề xuất được tạo ra thông qua việc phân tích nội dung sản phẩm Vì vậy, mỗi khi có một sản phẩm mới được thêm vào hệ thống và sản phẩm đó có những đặc điểm tương tự với sản phẩm mà người dùng đã quan tâm trước đây, hệ thống có khả năng đề xuất những sản phẩm mới này cho người dùng
Thứ ba, trong trường hợp người dùng có sở thích đặc biệt cho một sản phẩm không mấy phổ biến trong dữ liệu tương tác, hệ thống vẫn có khả năng nhận diện và hiểu rõ sở thích đó dựa trên nội dung của sản phẩm Điều này cho phép hệ thống gợi ý các sản phẩm tương tự dựa vào các đặc điểm nội dung cụ thể, ngay cả khi sản phẩm đó không được nhiều người dùng khác biết đến hoặc quan tâm
Thứ tư, nhờ vào việc sử dụng giá trị trọng số trong vector hồ sơ của mô hình, có khả năng tự giải thích cao về sự ảnh hưởng của các đặc trưng đến sở thích của người dùng Các giá trị trọng số lớn hơn báo hiệu mức độ quan tâm cao hơn của người dùng đối với sản phẩm và các đặc tính của nó Điều này cho phép doanh nghiệp tận dụng thông tin này để tối ưu hóa nội dung và tính năng sản phẩm, nhằm phục vụ tốt hơn cho sở thích cá nhân của người dùng
Hệ thống gợi ý dựa trên nội dung có một số hạn chế, ngoài những ưu điểm đã nêu, như sau:
Yêu cầu cao về đặc trưng chi tiết của sản phẩm: Hiện chưa có phương thức thích hợp với độ chính xác cao để trích chọn dữ liệu liên quan đến các sản phẩm đa phương tiện như phim ảnh và âm nhạc Bởi lý do đó, để tạo được vector đặc trưng cho các thuộc tính của tập sản phẩm này đặc biệt khó khăn và chất lượng thông tin có thể không cao Phương pháp dựa trên lọc nội dung có thể không hiệu quả khi mô tả không chất lượng hoặc sai
Trang 24 Hiện tượng được gọi là "cứng nhắc" trong kết quả khuyến nghị (tăng chuyên môn): Hệ thống có thể trở nên "cứng nhắc" và gợi ý các sản phẩm chỉ phù hợp với hồ sơ của người dùng cụ thể mà không tận dụng thông tin của những người dùng khác có cùng sở thích Vấn đề này có thể gây cản trở đối với phong phú và đa dạng của các gợi ý
Bước 1: Độ tương tự của các người dùng được hệ thống tính toán như sau:
∑𝑛𝑖=1𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑥, 𝑦)
(1.4)
Trang 25 Những lợi ích của quy trình lọc cộng tác dựa trên bộ nhớ:
Một là, hệ thống gợi ý không yêu cầu xây dựng mô hình người dùng hoặc sản phẩm đòi hỏi rất nhiều chuyên gia ngành Đối với các sản phẩm cụ thể, phương pháp lọc dựa trên cộng tác sử dụng các dữ liệu về sở thích của người dùng Do đó, khi hệ thống RS phát hiện ra những sản phẩm được ưa thích, nó có thể đưa ra gợi ý trực tiếp cho chúng mà không cần quan tâm đến thiết kế hay nội dung cụ thể của chúng Điều này mang lại cho hệ thống khả năng cung cấp khuyến nghị cho nhiều loại đối tượng khác nhau
Hai là, hệ thống có thể đưa ra khuyến nghị bằng cách sử dụng dữ liệu từ các nhóm người dùng tương tự để xác định khuynh hướng đối với sự yêu thích với mặt hàng của họ
Mặt khác, phương pháp dựa trên bộ nhớ vẫn có những hạn chế:
Hạn chế về tính đặc thù trong khuyến nghị là một vấn đề mà hệ thống có thể gặp phải, đặc biệt là trong hệ thống lọc cộng tác Trong mô hình này, việc đề xuất sản phẩm thường dựa trên sự tương đồng của hành vi hoặc đánh giá giữa các người dùng, mà không nhất thiết phản ánh chính xác sở thích cụ thể của mỗi cá nhân Điều này có thể dẫn đến tình trạng một số khuyến nghị không chính xác hoặc không hoàn toàn phản ánh được nhu cầu đặc biệt của người dùng, khiến hệ thống không thể cung cấp các gợi ý hoàn toàn phù hợp với mỗi người
Khuyến nghị thiếu dữ liệu và kém chất lượng là một thách thức lớn trong hệ thống lọc cộng tác dựa trên bộ nhớ, đặc biệt khi dữ liệu tương tác giữa người dùng và sản phẩm trở nên thưa thớt Sự thực là, người dùng thường chỉ để lại đánh giá cho sản phẩm khi họ cảm thấy rất hài lòng hoặc không hài lòng, điều này dẫn đến việc ma trận tương tác không phản ánh chính xác mức độ quan tâm đa dạng của người dùng đối với sản phẩm Kết
Trang 26quả là, việc sử dụng đo lường cosine để tìm sự tương đồng giữa người dùng hoặc giữa sản phẩm trở nên kém hiệu quả, gây ra việc khuyến nghị không chính xác hoặc thiếu độ tin cậy, làm giảm chất lượng tổng thể của các gợi ý
Chi phí cao cho thời gian tính toán và bộ nhớ: Phương pháp lọc cộng tác dựa trên bộ nhớ cần nhiều bộ nhớ và tốn kém Mỗi ma trận tương tác cần có một mô hình riêng cho hệ thống Giá trị xếp hạng trung bình của tập người dùng có sở thích tương tự với người dùng hiện tại phải được tìm thấy trước khi thực hiện dự đoán giá trị xếp hạng theo công thức (2)
1.3.2.2 Lọc cộng tác dựa trên mô hình (Model-based Collaborative Filtering)
Sự phân biệt tường minh giữa hai nhiệm vụ chính trong phương pháp lọc cộng tác phản ánh một cách tiếp cận nhằm giảm thiểu vấn đề về thời gian tính toán và yêu cầu bộ nhớ lớn, từ đó tối ưu hóa hiệu quả của hệ thống gợi ý Đầu tiên là việc tạo ra mô hình từ dữ liệu huấn luyện, sau đó là việc tính toán kết quả được gợi ý từ mô hình đã được thiết kế [4] Cụ thể, hệ thống RS sử dụng các thuật toán học máy để rút gọn quá trình huấn luyện cho mô hình, thể hiện sở thích của người dùng, có hoặc không có giám sát
Sau khi nhận được mô hình này từ quá trình huấn luyện, hệ thống gợi
ý sử dụng nó trực tiếp để tạo ra kết quả khuyến nghị
Phương pháp dựa trên mô hình có ưu điểm so với phương pháp dựa trên bộ nhớ, bao gồm:
Bộ nhớ máy tính được tối ưu: Sau khi huấn luyện mô hình từ dữ liệu tương tác, kích thước của mô hình thường giảm đáng kể so với dữ liệu gốc Tuy nhiên, phương pháp dựa trên bộ nhớ đòi hỏi phải lưu trữ toàn bộ ma trận tương tác trong bộ nhớ máy tính để nó có thể tính toán lại kết quả đề xuất cho mỗi người dùng
Trang 27 Khả năng tính tốn nhanh: So với phương pháp dựa trên bộ nhớ, tốc độ tính tốn kết quả thường được rút ngắn Điều này là do mơ hình sau khi trainning cĩ kích thước nhỏ, giúp giảm thời gian truy vấn mơ hình so với việc truy vấn dữ liệu huấn luyện tồn diện
1.3.3 Lọc kết hợp/lai ghép (Hybrid)
Nghiên cứu đã đề xuất kết quả của nghiên cứu để kết hợp các ưu điểm của cả hai phương pháp được gợi ý, dựa trên lọc cộng tác và dựa trên lọc nội dung Ngồi ra, một sơ kỹ thuật cụ thể đã được nghiên cứu, cụ thể là:
Lai ghép theo trọng số (Weighted): Để tạo ra một giá trị xếp hạng duy
nhất, hệ thống RS kết hợp giá trị xếp hạng từ cả thuật tốn lọc theo nội dung
và thuật tốn lọc cộng tác Đối với từng phương pháp, phương pháp tính tổng theo trọng số được sử dụng Hệ thống khuyến nghị tin tức P-tango bao gồm các khuyến nghị dựa trên nội dung và cộng tác trong nghiên cứu của Claypool
và đồng nghiệp [13] Đầu tiên, kết quả đề xuất của mỗi bộ phận được tính trọng số bằng nhau Mặt khác, trọng số sau đĩ kết quả được sử dụng để chỉnh sửa các trọng số được đưa ra bởi mỗi bộ phận Kỹ thuật lai ghép theo trọng số
cĩ ưu điểm là kết quả khuyến nghị rõ ràng
Lai ghép bằng cách chuyển đổi (Switching): Là một kỹ thuật trong hệ
thống gợi ý, nơi hệ thống tự động chuyển đổi giữa các phương pháp khuyến nghị dựa trên tình huống cụ thể Điều này cho phép hệ thống lựa chọn phương pháp tốt nhất cho từng ngữ cảnh hoặc mục tiêu cụ thể, tối ưu hĩa độ chính xác
và hiệu quả của gợi ý Một ví dụ điển hình của kỹ thuật này là hệ thống DailyLearner [14], nơi hệ thống dự đốn sở thích tin tức của người dùng bằng cách chuyển đổi giữa hai mơ hình khác nhau: Nearest Neighbor cho mơ hình ngắn hạn và Nạve Bayesian Classifier cho mơ hình dài hạn Mỗi mơ hình này được sử dụng tùy thuộc vào loại dữ liệu và tình huống cụ thể, cho phép hệ
Trang 28thống cung cấp kết quả dự đốn với độ tin cậy cao hơn trong từng trường hợp
Ưu điểm của phương pháp lai ghép bằng cách chuyển đổi là khả năng thích ứng linh hoạt với nhu cầu và hành vi thay đổi của người dùng Ví dụ, mơ hình ngắn hạn như Nearest Neighbor cĩ thể hiệu quả hơn trong việc phản ánh sở thích cập nhật gần đây của người dùng, trong khi mơ hình dài hạn như Nạve Bayesian Classifier cĩ thể tốt hơn trong việc nhận diện xu hướng và sở thích
ổn định qua thời gian Sự chuyển đổi thơng minh giữa các mơ hình này giúp
hệ thống gợi ý đáp ứng tốt hơn với các yêu cầu đa dạng và phức tạp của người dùng, từ đĩ cải thiện trải nghiệm người dùng và hiệu quả của hệ thống
Lai ghép hỗn hợp (Mixed): Là một cách tiếp cận đa dạng, nơi hệ thống
đưa ra các gợi ý dựa trên kết quả từ nhiều thuật tốn khác nhau cùng một lúc Điều này cho phép hệ thống tận dụng lợi thế của từng phương pháp cụ thể, từ lọc cộng tác đến lọc dựa trên nội dung, và thậm chí là các phương pháp khác như phân tích ngữ cảnh hoặc phân cụm, để cung cấp một loạt các đề xuất phong phú và đa dạng cho người dùng Bằng cách kết hợp các thuật tốn, hệ thống cĩ thể cung cấp một danh sách sản phẩm gợi ý mà nắm bắt được sở thích và nhu cầu đa chiều của người dùng Ví dụ, một số gợi ý cĩ thể tập trung vào sở thích cá nhân dựa trên lịch sử tương tác của người dùng, trong khi những gợi ý khác cĩ thể khám phá các sản phẩm mới hoặc xu hướng phổ biến dựa trên sự lựa chọn của cộng đồng người dùng rộng lớn
Lai ghép bằng cách kết hợp nhiều đặc tính (Feature combination): Là
một phương pháp tiên tiến trong xây dựng hệ thống gợi ý, nơi các thuật tốn khuyến nghị sử dụng thơng tin đặc trưng từ nhiều nguồn dữ liệu khác nhau để đưa ra gợi ý Phương pháp này tận dụng đa dạng thơng tin để tạo ra gợi ý chính xác và cá nhân hĩa cao Một ví dụ điển hình của kỹ thuật này là hệ thống Pipper [15], nơi giá trị xếp hạng từ người dùng được sử dụng làm đầu vào cho thuật tốn khuyến nghị dựa trên nội dung Điều này khơng chỉ bao
Trang 29gồm việc xem xét các đánh giá trực tiếp từ người dùng về các sản phẩm nhất định mà còn kết hợp thêm nhiều loại dữ liệu khác như thông tin mô tả sản phẩm, thông tin người dùng, thậm chí cả dữ liệu ngữ cảnh như thời gian và địa điểm sử dụng sản phẩm, để tạo ra các đề xuất phong phú và đa chiều
Lai ghép bằng việc xếp tầng (Cascaded): Là một cách tiếp cận trong hệ
thống gợi ý, nơi kết quả từ một thuật toán khuyến nghị được điều chỉnh hoặc tinh chỉnh bởi một thuật toán khác Điều này tạo ra một quá trình sàng lọc kết quả gợi ý qua nhiều giai đoạn, giúp tăng cường độ chính xác và giảm thiểu nhiễu trong gợi ý cuối cùng Một ví dụ về cách tiếp cận này là hệ thống khuyến nghị nhà hàng Entree Chicago [16], sử dụng hệ thống khuyến nghị dựa trên tri thức FindMe để chỉnh sửa hoặc tinh chỉnh kết quả từ thuật toán lọc cộng tác Trong trường hợp này, FindMe (RS dựa trên tri thức) có thể cung cấp một lớp bổ sung của kiến thức hoặc logic, giúp cải thiện chất lượng của gợi ý bằng cách áp dụng những hiểu biết sâu sắc về ngữ cảnh hoặc đặc
điểm cụ thể của nhà hàng được đề xuất
Lai ghép tăng cường đặc tính (Feature Augmentation): Phương pháp
lai ghép này sử dụng cả đầu vào từ dữ liệu thô có sẵn và kết quả của một thuật toán khuyến nghị để hỗ trợ một thuật toán khuyến nghị khác
Hình 1.5 Cơ chế lọc kết hợp
Trang 301.4 CÁC TIÊU CHUẨN ĐÁNH GIÁ HỆ GỢI Ý
Các nhà nghiên cứu đã đề xuất nhiều tiêu chí đánh giá khác nhau để phản ánh đầy đủ các trường hợp cụ thể, tùy thuộc vào cách từng ngữ cảnh sử dụng hệ thống khuyến nghị Các tiêu chuẩn đánh giá có thể được chia thành hai nhóm chính sau đây [1]:
Tiêu chí đánh giá độ chính xác thống kê, còn được gọi là tiêu chí đánh giá độ chính xác thống kê, tập trung vào việc đánh giá mức độ tương đồng giữa giá trị xếp hạng được dự đoán bởi thuật toán khuyến nghị và giá trị xếp hạng thực tế của người dùng Nhóm này bao gồm các tiêu chí MAE và RMSE (Root Mean Square Error); Netflix thường chọn RMSE để đánh giá trong cuộc thi The Netflix Prize
Mức độ chính xác trong hỗ trợ ra quyết định, còn được gọi là tiêu chí đánh giá độ chính xác trong hỗ trợ ra quyết định, tập trung vào việc sử dụng
hệ thống khuyến nghị để cung cấp danh sách các đối tượng mà người dùng có thể ưa thích Mối quan tâm chính của người dùng trong ngữ cảnh này là khả năng hệ thống đưa ra những đối tượng mà họ quan tâm đúng cách, biến bài toán khuyến nghị thành một bài toán phân loại đối tượng
1.4.1 Trung bình lỗi tuyệt đối
Giá trị sai số tuyệt đối trung bình (MAE) được tính bằng cách lấy giá trị trung bình của các sai số tuyệt đối giữa giá trị xếp hạng thực tế và dự đoán Điều này được thực hiện bằng cách sử dụng công thức sau đây:
Trang 311.4.2 Lỗi bình phương trung bình
Sai số bình phương trung bình gốc (RMSE) là sai số bình phương trung bình căn bậc hai giữa các giá trị đánh giá thực tế và dự đoán:
𝑅𝑀𝑆𝐸 = √∑ (𝑟𝑖 − 𝑟̂𝑖)
2 𝑁
Kết luận chương 1: Chương 1 đã trình bày những nội dung cơ bản và
tổng quan về hệ thống gợi ý Chương tiếp theo sẽ thảo luận chi tiết về mô hình đề xuất cộng tác sử dụng học máy trong chương tiếp theo và đề xuất một
mô hình cụ thể cho các hệ thống gợi ý, sử dụng thuật toán phân cụm mờ
Trang 32CHƯƠNG 2
HỆ GỢI Ý DỰA TRÊN LỌC CỘNG TÁC VÀ CÁC PHƯƠNG PHÁP
PHÂN CỤM 2.1 BÀI TOÁN GỢI Ý DỰA TRÊN CỘNG TÁC
𝑢𝑖 chưa đánh giá hoặc chưa từng biết đến sản phẩm 𝑖𝑗 thì 𝑟𝑖𝑗 = ∅
Output:
- Ma trận đầy đủ 𝑅, tức là với ∀𝑟𝑖𝑗 ∈ R, 𝑟𝑖𝑗 ≠ ∅
Hình 2.1 Quy trình đề xuất dựa trên sự hợp tác
Hai phương pháp chính được sử dụng là CF dựa trên bộ nhớ (còn được gọi là CF dựa trên vùng lân cận) [1] và lọc cộng tác dựa trên mô hình (còn được gọi là CF dựa trên mô hình)
Trang 33𝑠(𝑎, 𝑢) = ∑ (𝑟𝑎,𝑖 − 𝑟̅ )(𝑟𝑎 𝑢,𝑖 − 𝑟̅ )𝑢
𝑛 𝑖=1
√∑𝑛 (𝑟𝑎,𝑖 − 𝑟̅ )𝑎 2 𝑖=1 √∑𝑛 (𝑟𝑢,𝑖 − 𝑟̅ )𝑢 2
Trong đó: 𝑟𝑎,𝑖 là điểm xếp hạng cho mặt hàng 𝑖 của người dùng
𝑎, 𝑟̅ là điểm xếp hạng trung bình của người dùng 𝑎 cho tất cả 𝑎các mặt hàng mà người dùng đã đánh giá
- Bước 2: Tính giá trị đánh giá (rating) dự đoán
𝑟(𝑎, 𝑖) = 𝑟̅ +𝑎 ∑ (𝑟𝑢,𝑖 − 𝑟̅ ) × 𝑠(𝑎, 𝑢)𝑢
𝑛 𝑖=1
∑𝑛𝑖=1𝑠(𝑎, 𝑢)
(2.2)
Phương pháp lọc cộng tác dựa trên bộ nhớ có thể được triển khai thông qua việc tập trung vào người dùng hoặc tập trung vào đối tượng:
Phương pháp dựa trên người dùng (Hình 2.2) tính toán độ tương
đồng giữa các người dùng dựa trên xếp hạng của họ cho các sản phẩm tương tự Điều này được thực hiện bằng cách xem xét xếp hạng của các mặt hàng tương tự Bằng cách nhân xếp hạng trung bình của mặt hàng đó với trọng số để dự đoán xếp hạng hiện tại của người
Trang 34dùng; điều này chủ yếu dựa trên mức độ tương đồng của người dùng hiện tại với người dùng tương tự
Phương pháp lọc dựa trên đối tượng (Hình 2.3) tính toán các giá trị
dự đoán dựa trên sự tương đồng của các sản phẩm Lấy tất cả các mục được người dùng đánh giá hiện tại từ ma trận tương tác để tạo ra
mô hình về sự tương đồng giữa các mục Tiếp theo, đánh giá sự tương đồng giữa mục tiêu và mục được truy xuất Để làm như vậy, lựa chọn k các mặt hàng giống nhau nhất và dự đoán giá trị của chúng bằng cách lấy mức trung bình có trọng số của các đánh giá người dùng hiện tại về các mặt hàng giống nhau này
Hình 2.2 Lọc cộng tác dựa theo người dùng
Trang 35Hình 2.3 Lọc cộng tác dựa theo sản phẩm
Hệ số tương quan Pearson [17] và thước đo cosine [17] là những thước
đo tương tự phổ biến khác
- Mức độ hai biến có quan hệ tuyến tính với nhau được đo bằng hệ
số tương quan Pearson:
𝑠𝑖𝑚𝑃𝑒𝑎𝑟𝑠𝑜𝑛 = (𝑎, 𝑢) = ∑ (𝑟𝑎,𝑖 − 𝑟̅ )(𝑟𝑎 𝑢,𝑖 − 𝑟̅ )𝑢
𝑛 𝑖=1
√∑𝑛 (𝑟𝑎,𝑖 − 𝑟̅ )𝑎 2 𝑖=1 √∑𝑛 (𝑟𝑢,𝑖 − 𝑟̅ )𝑢 2
Trang 36Nhìn chung, kỹ thuật lọc cộng tác dựa trên bộ nhớ có nhiều hạn chế, chẳng hạn như nó minh bạch và dễ hiểu Trước hết, thuật toán này thuộc nhóm các phương pháp dựa trên cá thể, vì vậy mô hình dự đoán của nó chỉ được áp dụng cho một người dùng duy nhất Hệ thống phải xây dựng lại mô hình từ dữ liệu gốc nếu cần dự đoán cho người dùng mới Điều này có thể gây
ra chi phí tính toán lớn nếu bạn có hàng triệu bản ghi dữ liệu người dùng và đối tượng Thứ hai, thước đo cosin được sử dụng để đánh giá độ tương tự giữa hai vectơ Khi một lượng lớn dữ liệu bị mất, biện pháp này trở nên không hiệu quả
2.1.2 Lọc cộng tác dựa vào trên mô hình
Lọc cộng tác dựa trên mô hình sử dụng học máy và thuật toán khai thác
dữ liệu để tính trước và dự đoán Sau đó, chiến lược này sử dụng các mô hình này để tính toán trực tiếp các giá trị xếp hạng của người dùng Lọc cộng tác dựa trên mô hình giảm đáng kể chi phí tính toán và yêu cầu bộ nhớ trong khi vẫn đạt được độ chính xác tương đương với các phương pháp dựa trên bộ nhớ bằng cách sử dụng các phương pháp học máy hiện đại Hơn nữa, khi dữ liệu thưa thớt xảy ra, phương pháp này cũng có thể khắc phục được những hạn chế của phương pháp dựa trên bộ nhớ
Một số kỹ thuật lọc cộng tác phổ biến dựa trên mô hình bao gồm:
Luật kết hợp (Associate rules)[18]: là một phương pháp trong khai thác dữ
liệu giúp xác định các mối quan hệ giữa các vật phẩm trong một tập dữ liệu lớn Cụ thể, thuật toán luật kết hợp phân tích các giao dịch để tìm ra các quy tắc có thể dự đoán sự xuất hiện của một mục (item B) dựa trên sự xuất hiện của một hoặc nhiều mục khác (item A) trong cùng một giao dịch Một quy tắc kết hợp thường được biểu diễn dưới dạng A → B, nghĩa là khi
Trang 37A xuất hiện, B cũng thường xuyên xuất hiện Điều này giúp cho việc tạo ra các mô hình dự đoán từ dữ liệu giao dịch Ví dụ, nếu người mua thường mua sữa và bánh mì cùng nhau, luật kết hợp sẽ nhận dạng mối quan hệ này
và có thể dùng nó để đề xuất sản phẩm cho người mua trong tương lai Các thuật toán khai thác luật kết hợp có khả năng tạo ra các mô hình có kích thước nhỏ hơn so với bộ dữ liệu gốc, giúp cải thiện hiệu quả về mặt tính toán và bộ nhớ lưu trữ Đây là một phương pháp đã được chứng minh là có hiệu quả cao trong việc phân tích và khám phá dữ liệu, đặc biệt là trong các ứng dụng liên quan đến việc đề xuất sản phẩm và dịch vụ theo sở thích của người dùng
Phân cụm (Clustering)[19]: là một kỹ thuật quan trọng trong nhiều lĩnh
vực như nhận dạng mẫu, xử lý hình ảnh, phân tích dữ liệu thống kê và khám phá tri thức Thuật toán phân cụm phân chia một tập dữ liệu lớn thành các nhóm con, hay cụm, dựa trên độ tương tự của các đối tượng trong dữ liệu Mục tiêu là tạo ra các cụm với sự tương tự cao bên trong cụm và sự tương tự thấp giữa các cụm khác nhau Trong hệ thống gợi ý, phân cụm có thể được dùng để nhóm các người dùng có sở thích tương tự Điều này cho phép hệ thống dự đoán sở thích của một người dùng dựa trên đánh giá trung bình của nhóm mà người dùng đó thuộc về Nếu một người dùng thuộc về nhiều nhóm khác nhau, hệ thống có thể đề xuất sản phẩm dựa trên sự giao thoa của các sở thích trong các nhóm này K-mean là một
trong những thuật toán phân cụm phổ biến nhất, chia tập hợp n mục thành
K cụm, dựa trên các tính năng của dữ liệu Đây là một phương pháp học không giám sát, tức là không cần đến nhãn dữ liệu trước khi thực hiện phân cụm Bản đồ tự tổ chức (SOM) là một kỹ thuật khác dựa trên mạng nơ-ron thần kinh nhân tạo và học không giám sát SOM làm việc bằng cách chuyển đổi không gian đa chiều của dữ liệu thành không gian hai
Trang 38chiều, giữ lại cấu trúc topological của dữ liệu ban đầu Trong thuật toán dựa trên hợp tác, phân cụm có thể giúp giảm số lượng cụm ứng viên, làm cho việc tính toán trở nên hiệu quả hơn bằng cách giảm kích thước của ma trận người dùng-mục đích cần xem xét, từ đó tăng cường hiệu suất của hệ thống gợi ý
Cây quyết định (Decision tree)[12]: là một công cụ mạnh mẽ và dễ hiểu
trong lĩnh vực học máy, được sử dụng để thực hiện các nhiệm vụ phân loại
và hồi quy Chúng hoạt động bằng cách phân tích một tập hợp dữ liệu huấn luyện đã được gắn nhãn, từ đó xây dựng một mô hình dạng cây với các nút đại diện cho các quyết định dựa trên thuộc tính của dữ liệu và các
lá của cây đại diện cho kết quả phân loại hoặc giá trị đầu ra Thuật toán cây quyết định sử dụng mô hình cây này để phân loại hoặc dự đoán đầu ra cho các mẫu dữ liệu mới không có trong tập huấn luyện Một trong những
ưu điểm chính của cây quyết định là tính trực quan và dễ hiểu; chúng cho phép chúng ta dễ dàng theo dõi cách một quyết định được đưa ra thông qua một loạt các câu hỏi và quyết định dựa trên các thuộc tính dữ liệu So với các thuật toán phức tạp khác như Mạng nơ-ron nhân tạo (ANN) và Máy vector hỗ trợ (SVM), cây quyết định thường được coi là dễ hiểu hơn nhiều bởi vì chúng thể hiện các quyết định và phân loại dữ liệu một cách
rõ ràng và logic Một điểm mạnh khác của cây quyết định là khả năng xử
lý dữ liệu hỗn hợp – tức là, chúng có thể đồng thời xử lý dữ liệu số (liên tục) và danh mục (phân loại) mà không cần phải chuyển đổi hay tiền xử lý
dữ liệu một cách phức tạp Thậm chí, chúng còn có khả năng xử lý dữ liệu thiếu một cách hiệu quả, một tính năng quan trọng trong các tình huống
mà dữ liệu thực tế thường không hoàn chỉnh Cây quyết định có thể được
sử dụng trong rất nhiều ứng dụng từ phân tích tín dụng, dự đoán khách
Trang 39hàng tiềm năng, đến chẩn đoán y tế và nhiều ngành khác, làm cho nó trở thành một công cụ đa năng trong học máy và phân tích dữ liệu
Mạng neural nhân tạo (Artificial Neural Network – ANN)[13]: Mạng
nơ-ron là một cấu trúc gồm nhiều nút thần kinh được kết nối thành các lớp Các trọng số được sử dụng để xác định mức độ ảnh hưởng của mỗi nút đối với các nút lân cận của nó Mạng nơ-ron có thể mô phỏng các mối quan hệ phức tạp trong dữ liệu và giống như các hàm phi tuyến Tuy nhiên, nhược điểm của mạng nơron là hiệu suất của chúng phụ thuộc rất nhiều vào cấu trúc của mạng, và là một thách thức để tìm ra cấu trúc mạng tối ưu
Hồi quy (Regression)[14]: Đây là một phương pháp phổ biến để nghiên
cứu mối quan hệ giữa các biến giải thích và các biến phụ thuộc Điều chỉnh đường cong, dự báo và kiểm tra giả thuyết thống kê là một số phương pháp hồi quy phổ biến Các xu hướng ẩn trong các tập dữ liệu như tuyến tính, parabol và v.v có thể được tìm thấy bằng cách sử dụng kỹ thuật nội suy đường cong
2.2 SỬ DỤNG KỸ THUẬT PHÂN CỤM KẾT HỢP VỚI HỆ GỢI Ý 2.2.1 Phân cụm là gì?
Phân cụm là một kỹ thuật Học máy nhằm mục đích nhóm các điểm dữ liệu tương tự lại với nhau dựa trên các đặc điểm chung của chúng Trong bối cảnh của các hệ thống khuyến nghị, việc phân cụm có thể là một công cụ mạnh mẽ để phân chia người dùng hoặc các mục thành các nhóm riêng biệt có các sở thích hoặc thuộc tính chung Bằng cách này, hệ thống có thể cung cấp các đề xuất được cá nhân hóa, có mục tiêu hơn, nâng cao trải nghiệm tổng thể của người dùng Ví dụ: xem xét một hệ thống đề xuất phim Bằng cách sử dụng các kỹ thuật phân cụm, những người dùng có sở thích hoặc kiểu xem phim tương tự có thể được xếp vào các cụm Mỗi cụm đại diện cho một phân
Trang 40khúc cơ sở người dùng duy nhất, chẳng hạn như "Những người đam mê phim hành động" sau đó hệ thống có thể giới thiệu phim cho người dùng dựa trên
sở thích phim của họ
2.2.2 Lý do nên sử dụng phân cụm cho hệ gợi ý
Phân cụm được sử dụng trong các hệ thống gợi ý vì một số lý do chính
Nó tạo điều kiện cho việc cá nhân hóa bằng cách nhóm người dùng hoặc các mục có sở thích tương tự, cho phép đưa ra các đề xuất phù hợp Nó giải quyết vấn đề "khởi động nguội" bằng cách liên kết người dùng hoặc mục mới với các cụm hiện có, cải thiện các đề xuất ban đầu Việc phân cụm cũng tăng cường tính đa dạng của đề xuất, đảm bảo khả năng mở rộng bằng cách thực hiện tính toán hiệu quả hơn và cung cấp khả năng diễn giải để hiểu lý do tại sao một số đề xuất nhất định được đưa ra Nó xử lý hiệu quả dữ liệu thưa thớt
và cho phép đề xuất nhóm Hơn nữa, việc phân cụm cho phép các hệ thống đề xuất thích ứng với việc thay đổi sở thích của người dùng, khiến nó trở thành một công cụ quan trọng để cung cấp các đề xuất chính xác, lấy người dùng làm trung tâm
Ngoài ra, việc phân cụm là rất quan trọng để đảm bảo độ chính xác và
sự hài lòng của người dùng Các bài viết của LinkedIn nhấn mạnh tầm quan trọng của nó trong việc tìm hiểu sở thích của con người và nội dung đa dạng Các thuật toán như K-mean tiết lộ các mẫu tiềm ẩn, cho phép đề xuất được cá nhân hóa Nội dung chất lượng là điều tối quan trọng; phân cụm mô tả sự khác biệt về thị hiếu, tăng cường mức độ liên quan và giảm thiểu tình trạng quá tải thông tin Phương pháp này cung cấp cho người dùng một lựa chọn được tuyển chọn phản ánh các sở thích độc đáo Năng lực kỹ thuật liên quan đến việc tối ưu hóa quá trình lọc cộng tác, sử dụng các biện pháp tương tự phức tạp để đưa ra các đề xuất tinh tế