Cụ thể, luận văn tập trung nghiên cứu các thuật toán lọc cộngtác, khai thác những nguồn dữ liệu có sẵn vềlịch sử tương tác của người dùng vàthông tin phản ánh đặc trưng sản phẩm, từ đó ứ
Giới thiệu chung vềhệ thống gợi ý
1.1 Khái niệm hệ thống gợi ý
Trong những thập kỷ qua, mạng xã hội, dịch vụ giải trí số và nền tảng thương mại điện tử đã trở thành phần thiết yếu trong cuộc sống hàng ngày Sự bùng nổ thông tin trực tuyến khiến người tiêu dùng gặp khó khăn trong việc đưa ra quyết định giữa nhiều lựa chọn Đối với nhà cung cấp dịch vụ, việc phân tích và dự đoán hành vi khách hàng để cung cấp gợi ý cá nhân hóa là yếu tố quan trọng để tăng lợi nhuận và nâng cao khả năng cạnh tranh Do đó, hệ thống gợi ý (Recommendation System - RS) ngày càng trở nên quan trọng trong việc đề xuất sản phẩm phù hợp với từng khách hàng.
Hình 0.1 Minh hoạ hệ thống gợi ý
Hệ thống gợi ý (RS) là một loại hệ thống hỗ trợ ra quyết định, cung cấp giải pháp cá nhân hóa mà không cần trải qua quá trình tìm kiếm phức tạp RS hoạt động như một hệ thống lọc thông tin, dự đoán sở thích của người dùng để đề xuất các sản phẩm phù hợp Với những kết quả tích cực trong thực tiễn, RS đã trở thành một lĩnh vực nghiên cứu quan trọng trong trí thông minh nhân tạo và học máy (Machine Learning - ML), thu hút sự quan tâm lớn từ cộng đồng khoa học và đóng vai trò quyết định trong sự phát triển của doanh nghiệp trong thời đại số.
Hệ thống gợi ý được cấu thành từ ba mô-đun chính: mô hình hoá người dùng, mô hình hoá đối tượng gợi ý và thuật toán gợi ý Trong đó, thuật toán gợi ý là thành phần cốt lõi, đóng vai trò quan trọng trong việc cung cấp các gợi ý phù hợp Mô hình hệ thống gợi ý được minh họa rõ ràng trong Hình 0.2.
Hình 0.2 Mô hình miêu tả hệ thống gợi ý
Mô-đun 1: Mô-đun mô hình hoá người dùng giúp thiết lập mô hình người dùng dựa trên thông tin cá nhân và hành vi của họ Nó phân tích các thuộc tính người dùng cùng với hành vi duyệt web và nhấp chuột, đồng thời liên tục theo dõi và cập nhật mô hình người dùng một cách kịp thời.
Mô-đun 2: Mô hình hóa đối tượng gợi ý cho thấy rằng phương pháp mô tả đối tượng gợi ý có ảnh hưởng trực tiếp đến kết quả gợi ý Các đối tượng gợi ý khác nhau thể hiện tính năng một cách khác biệt, do đó, phương pháp mô tả và kết quả gợi ý cũng sẽ khác nhau.
Mô-đun 3: Thuật toán gợi ý: là cốt lõi của hệ thống gợi ý Chất lượng của thuật toán gợi ý xác định trực tiếp chất lượng của hệ thống gợi ý.
Luận văn này tập trung nghiên cứu các kỹ thuật ML và học sâu (Deep Learning
DL) được tích hợp vào quy trình xử lý và gợi ý của các thuật toán gợi ý, giúp phân tích và xử lý dữ liệu đã thu thập Nghiên cứu này nâng cao chất lượng thông tin, cải thiện độ chính xác và tính nhất quán của thông tin đầu ra, phục vụ cho việc triển khai hệ thống gợi ý (RS) trong thực tế Kết quả cuối cùng là cung cấp cho người dùng những gợi ý cá nhân hóa và phù hợp hơn.
1.2 Tình hình nghiên cứu hệ thống gợi ý trên thế giới và ở Việt Nam
Dựa trên loại dữ liệu đầu vào, hệ thống gợi ý (RS) thường được phân loại thành ba phương pháp chính: Lọc dựa trên nội dung (Content-based Filtering), Lọc cộng tác (Collaborative Filtering - CF), và phương pháp kết hợp (Hybrid methods), như được minh họa trong Hình 0.3.
Hình 0.3 Phân loại hệ thống gợi ý
Hệ thống lọc dựa trên nội dung đề xuất sản phẩm dựa trên các đặc trưng của sản phẩm và thông tin người dùng, yêu cầu dữ liệu đầy đủ để huấn luyện mô hình Tuy nhiên, hạn chế của hệ thống này là khó khăn trong việc đề xuất sản phẩm không có đặc trưng rõ ràng hoặc thông tin không đáng tin cậy Ngược lại, hệ thống lọc cộng tác (CF) không cần thông tin sản phẩm cụ thể mà dựa vào lịch sử tương tác của người dùng để đưa ra gợi ý cá nhân hóa.
Trong hệ thống gợi ý, có hai nhánh tiếp cận chính: gợi ý dựa trên ghi nhớ và gợi ý dựa vào mô hình Gợi ý dựa trên ghi nhớ tính toán độ tương quan giữa các sản phẩm hoặc người dùng qua lịch sử tương tác, nhưng hiệu quả giảm khi ma trận tương tác thưa Ngược lại, gợi ý dựa vào mô hình cho thấy tính hiệu quả với ma trận thưa, bằng cách ánh xạ người dùng và sản phẩm vào không gian có số chiều thấp hơn Phương pháp phân rã ma trận (Matrix Factorization - MF) đã chứng minh khả năng cải thiện tốc độ hội tụ và độ chính xác của hệ thống khi khởi tạo thích hợp.
Hệ thống gợi ý thường gặp vấn đề khởi động nguội (Cold-start problem) khi thiếu dữ liệu tương tác từ người dùng hoặc sản phẩm mới, dẫn đến gợi ý không chính xác Để giải quyết vấn đề này, các hệ thống đã áp dụng phương pháp kết hợp, sử dụng cả lịch sử tương tác của người dùng và thông tin phụ để cải thiện độ chính xác của gợi ý.
Vấn đề khởi động nguội trong hệ thống gợi ý có thể được giải quyết bằng cách kết hợp các đặc trưng của sản phẩm và người dùng, tận dụng ưu điểm của cả phương pháp lọc nội dung và Collaborative Filtering (CF) Có hai hướng tiếp cận chính trong mô hình kết hợp: kết hợp gián tiếp và kết hợp trực tiếp Mô hình kết hợp gián tiếp thực hiện việc tổng hợp kết quả dự đoán từ một hệ thống lọc nội dung hoặc CF đơn lẻ để tạo ra gợi ý cuối cùng thông qua các phép kết hợp tuyến tính hoặc các bước phối hợp đánh giá khác nhau Ngược lại, mô hình kết hợp trực tiếp phức tạp hơn, tích hợp sự tương tác giữa người dùng và sản phẩm cùng với thông tin phụ trợ vào một mô hình thống nhất.
Trong nghiên cứu [19], thông tin về người dùng, đặc trưng sản phẩm và lịch sử giao dịch được tích hợp vào mô hình tuyến tính để dự đoán phản hồi cho từng cặp người dùng - sản phẩm Mô hình kết hợp được đề xuất bởi [20] sử dụng thuật toán phân tích giá trị suy biến (SVD) để gợi ý chương trình truyền hình Sau đó, mô hình SVD++ [12] được phát triển, kết hợp SVD++ với phương pháp lọc cộng tác dựa trên ghi nhớ, biểu diễn mỗi người dùng qua các sản phẩm đã được đánh giá nhằm nâng cao độ chính xác của gợi ý Thêm vào đó, mô hình Máy nhân tử hoá (FM) kết hợp giữa mô hình MF và máy vector hỗ trợ (SVM) cũng sử dụng cả đánh giá và thông tin bổ trợ để đưa ra gợi ý hiệu quả [27].
Hướng tiếp cận kết hợp nội dung bổ trợ cho việc khởi tạo các mô hình MF đang được chú ý gần đây Để điều chỉnh vector khởi tạo, độ tương đồng giữa các sản phẩm và người dùng được tích hợp nhằm tận dụng dữ liệu có sẵn Thông tin thuộc tính sản phẩm cũng được sử dụng để khởi tạo ma trận đặc trưng trong mô hình SVD++ Tuy nhiên, phương pháp này chỉ tập trung vào ma trận sản phẩm, với độ cải thiện còn khiêm tốn Các đặc trưng như thể loại phim được coi là biểu diễn chính xác cho sản phẩm, nhưng dữ liệu thô cần được tiền xử lý và phân tích cẩn thận trước khi đưa vào hệ thống gợi ý, đặc biệt khi nội dung có dạng văn bản, hình ảnh hay video, đòi hỏi mô hình phức tạp để tách biệt dạng biểu diễn có ý nghĩa.
Mặc dù đã đạt được nhiều kết quả ấn tượng, hiệu suất của các mô hình truyền thống vẫn bị hạn chế bởi các thuật toán tuyến tính Đối với dữ liệu có cấu trúc phức tạp trong thực tế, việc áp dụng kiến trúc mạng nơ-ron nhân tạo (Artificial Neural Network) có thể mang lại những cải tiến đáng kể.
Mạng nơ-ron nhân tạo (ANN) và các mạng học sâu (DL) đang mở ra một phương pháp mới nhằm nâng cao độ chính xác cho các hệ thống gợi ý Một nghiên cứu đã áp dụng mô hình Boltzmann giới hạn (RBM) với hai tầng cho dữ liệu đánh giá dạng bảng, thay thế cho mô hình phân tích ma trận (MF) truyền thống Ngoài ra, một framework mang tên Mạng nơ-ron lọc cộng tác (Neural Collaborative Filtering) đã được phát triển để cải tiến cơ chế tích vô hướng tuyến tính của mô hình này.
Tính cần thiết của luận văn và những vấn đềsẽ giải quyết
2.1 Những thách thức trong quá trình nghiên cứu hệ thống gợi ý
Trong nghiên cứu và triển khai hệ thống gợi ý (RS), các nhà nghiên cứu thường đối mặt với hai thách thức chính: đầu tiên là khó khăn trong việc thu thập dữ liệu chất lượng, và thứ hai là thách thức trong việc triển khai các thuật toán hiệu quả.
2.1.1 Thách thức trong thu thập dữ liệu
Với sự gia tăng mạnh mẽ về nội dung và người dùng trên mạng xã hội, tiếp thị số và thương mại điện tử, các doanh nghiệp truyền thống cần thích nghi và điều chỉnh cơ cấu để không bị lấn át Dữ liệu khổng lồ từ quá trình chuyển đổi số tạo cơ hội cho hệ thống Machine Learning (ML) tối ưu hóa việc sàng lọc và đưa ra gợi ý cá nhân hóa Tuy nhiên, số lượng người dùng lớn và sự đa dạng của sản phẩm, dịch vụ lại trở thành thách thức lớn cho các thuật toán gợi ý.
Lượng sản phẩm và người dùng lớn tạo ra một ma trận tương tác khổng lồ, nhưng mỗi người dùng chỉ tương tác với một số ít sản phẩm Người dùng thường hiếm khi đánh giá hay nhận xét về sản phẩm đã sử dụng, dẫn đến ma trận tương tác giữa người dùng và sản phẩm trở nên thưa thớt Mặc dù các nhà cung cấp dịch vụ áp dụng chính sách khuyến khích như khuyến mại hay quà tặng cho việc đánh giá, hầu hết các tập dữ liệu lớn trong nghiên cứu hệ thống gợi ý (RS) vẫn có độ thưa thớt trên 98%, và con số này thậm chí còn cao hơn ở các doanh nghiệp lớn với hàng trăm triệu khách hàng hoặc sản phẩm.
Trong triển khai thực tế, các hệ thống gợi ý (RS) thường gặp phải vấn đề khởi động nguội, khi mà thuật toán không thể đưa ra dự đoán chính xác do thiếu thông tin Để giải quyết vấn đề này, phương pháp lọc dựa trên nội dung sử dụng thông tin về đặc trưng của sản phẩm và người dùng, trong khi các phương pháp lọc cộng tác (CF) dựa vào lịch sử tương tác giữa người dùng và sản phẩm để xác định sở thích của họ.
Trong tập dữ liệu MovieLens 20M, số lượt tương tác của từng sản phẩm đã được phân tích để đưa ra gợi ý phù hợp Điều này cho thấy rằng vấn đề khởi động nguội trong hệ thống gợi ý (RS) có thể được phân loại thành ba trường hợp khác nhau.
Hệ thống mới thường gặp khó khăn trong giai đoạn hoạt động đầu tiên do thiếu dữ liệu tương tác từ người dùng, điều này làm cho việc đưa ra gợi ý chính xác trở nên khó khăn hoặc thậm chí không thể thực hiện.
Khi một sản phẩm mới được đưa vào hệ thống, dữ liệu tương tác với người dùng rất hạn chế, ảnh hưởng trực tiếp đến hiệu quả của các hệ thống gợi ý (CF) vốn dựa vào lịch sử tương tác Sự thiếu hụt tương tác khiến sản phẩm trở nên kém phổ biến, làm giảm khả năng được gợi ý cho người dùng trong tương lai Hệ quả là lượng tương tác với sản phẩm vẫn duy trì ở mức thấp, ngay cả khi sản phẩm đã tồn tại lâu trong hệ thống Ví dụ, trong tập dữ liệu MovieLens 20M, phần lớn sản phẩm nhận được rất ít tương tác từ người dùng.
Khi người dùng mới đăng ký vào hệ thống, việc cung cấp gợi ý sản phẩm trở nên cần thiết, mặc dù chưa có dữ liệu lịch sử tương tác Trong giai đoạn đầu này, những gợi ý thường không chính xác, điều này có thể ảnh hưởng tiêu cực đến trải nghiệm của người dùng với hệ thống.
Việc thu thập dữ liệu trong các hệ thống thực tế, đặc biệt cho nghiên cứu, cần tuân thủ nghiêm ngặt các chính sách bảo mật dữ liệu người dùng Mặc dù nhiều tập dữ liệu nghiên cứu được thiết kế để bảo vệ thông tin cá nhân, nhưng vẫn có nguy cơ lộ dữ liệu cá nhân khi công bố rộng rãi Nghiên cứu chỉ ra rằng các tác giả có thể xác định người dùng cụ thể bằng cách đối chiếu dữ liệu từ tập Netflix Prize với thông tin từ kho dữ liệu IMDb Những phát hiện này đã dẫn đến các vụ kiện và tranh cãi về bảo mật dữ liệu người dùng trong nghiên cứu.
2.1.2 Thách thức trong triển khai thuật toán
Mặc dù việc thu thập dữ liệu gặp nhiều thách thức, nhưng số lượng sản phẩm và người dùng khổng lồ cũng làm cho việc triển khai thuật toán trở nên khó khăn Đối với các phương pháp Collaborative Filtering (CF) dựa trên ghi nhớ, hệ thống cần tính toán và lưu trữ toàn bộ ma trận độ tương đồng giữa các sản phẩm hoặc người dùng trong bộ nhớ.
Kích thước ma trận trong hệ thống thường rất lớn và tăng liên tục, dẫn đến chi phí lưu trữ, tìm kiếm và thực hiện phép toán ngày càng cao, gây khó khăn trong việc mở rộng hệ thống Hơn nữa, dữ liệu tương tác mới giữa người dùng và sản phẩm được bổ sung liên tục, yêu cầu tính toán lại ma trận thường xuyên với chi phí tính toán rất lớn.
Chất lượng dữ liệu đóng vai trò quan trọng trong hiệu quả hoạt động của các hệ thống gợi ý Dữ liệu về sản phẩm và người dùng thường ở dạng thô như văn bản, hình ảnh và bình luận, cần được tiền xử lý đúng cách trước khi áp dụng vào các thuật toán gợi ý Quá trình tiền xử lý này thường tốn nhiều thời gian và yêu cầu hiểu biết chuyên sâu, tùy thuộc vào từng lĩnh vực cụ thể của hệ thống.
2.2 Những vấn đề luận văn sẽ giải quyết
Trong luận văn này, tác giả nghiên cứu cải thiện độ chính xác của các thuật toán gợi ý phổ biến Tuy nhiên, độ chính xác của mô hình gợi ý bị ảnh hưởng bởi một số thách thức như ma trận tương tác người dùng - sản phẩm quá thưa, thiếu thông tin về người dùng và sản phẩm mới (khởi động nguội), cùng với quy trình tiền xử lý dữ liệu phức tạp và tốn kém.
Luận văn tập trung vào việc phát triển các thuật toán Machine Learning (ML) và Deep Learning (DL) mới, nhằm tối ưu hóa việc khai thác thông tin thứ cấp về sản phẩm để xây dựng các hệ thống gợi ý (RS) với độ chính xác cao hơn Tác giả đã lựa chọn hai tập dữ liệu đánh giá phim nổi bật là MovieLens 20M và MovieLens 25M để đánh giá hiệu quả của các mô hình trong nghiên cứu Đây là hai tập dữ liệu mới, phổ biến trong cộng đồng nghiên cứu hiện nay.
RS với số lượng người dùng và sản phẩm lớn luận văn sẽ tập trung giải quyết ba vấn đềchính sau:
Độ chính xác của các mô hình Collaborative Filtering (CF) truyền thống giảm sút khi ma trận tương tác giữa người dùng và sản phẩm trở nên thưa thớt Hơn nữa, việc đo lường độ tương đồng dựa trên các đặc trưng của sản phẩm có thể gây ra thiên lệch và không phản ánh đúng chất lượng thực sự của sản phẩm.
Mục tiêu, đối tượng, phạm vi và phương pháp nghiên cứu
• Cải tiến phép đo độ tương đồng trong các thuật toán CF dựa trên ghi nhớ nhằm nâng cao độ chính xác của các dự đoán đánh giá.
Cải tiến các mô hình trích xuất đặc trưng ẩn và xử lý dữ liệu đặc trưng sản phẩm là cần thiết để nâng cao hiệu quả Việc áp dụng các thuật toán kết hợp giữa lọc dựa trên nội dung và Collaborative Filtering (CF) giúp giảm thiểu thời gian huấn luyện mô hình, từ đó tối ưu hóa quy trình phát triển sản phẩm.
Đề xuất các phương pháp xây dựng dữ liệu sở thích người dùng dựa trên mô tả đặc trưng của sản phẩm và lịch sử tương tác Đồng thời, cải tiến các thuật toán Collaborative Filtering (CF) bằng cách sử dụng nguồn dữ liệu người dùng mới để nâng cao hiệu quả cá nhân hóa.
• Tích hợp các kỹ thuật ML, DL vào RS mà vẫn đảm bảo khả năng mở rộng của hệ thống.
3.2 Đối tượng và phạm vi nghiên cứu
Luận văn này nghiên cứu các thuật toán gợi ý, bao gồm phương pháp Collaborative Filtering (CF) dựa trên ghi nhớ, phương pháp Matrix Factorization (MF) truyền thống, và các kiến trúc Deep Learning (DL) hiện đại Ngoài ra, luận văn còn khai thác và kết hợp nguồn dữ liệu về lịch sử tương tác của người dùng cùng thông tin đặc trưng sản phẩm nhằm nâng cao độ chính xác cho các mô hình CF truyền thống Các đối tượng nghiên cứu chính trong luận văn sẽ được trình bày chi tiết.
• Các thuật toán CF phổ biến như kNN, SVD, SVD++, NMF.
• Phương pháp xác định độ tương đồng giữa các sản phẩm.
• Quá trình tiền xử lí dữ liệu mô tả nội dung sản phẩm.
Bài viết này sẽ tập trung vào việc khai thác dữ liệu từ hai tập dữ liệu đánh giá phim nổi tiếng là MovieLens 20M và 25M, với mục tiêu phân tích đánh giá của người dùng cùng với các thẻ Genome, nhằm phản ánh những đặc trưng nổi bật của các bộ phim.
Phương pháp nghiên cứu trong luận văn tập trung vào phân tích và đánh giá các mô hình hiện có, từ đó đề xuất cải tiến và triển khai các mô hình mới dựa trên dữ liệu thực tế Các mô hình mới sẽ được so sánh với các mô hình tham chiếu theo tiêu chí độ chính xác dự đoán và thời gian thực thi, nhằm kiểm nghiệm hiệu quả hoạt động một cách toàn diện Quá trình này có thể được lặp lại nhiều lần để nâng cao độ chính xác của các mô hình.
Các đóng góp mới của luận văn
Luận văn đã lần lượt giải quyết những vấn đềđưa ra ở phần 2 và thu được những kết quả sau:
Đề xuất một thuật toán nhằm nâng cao độ chính xác trong việc đo lường sự tương đồng giữa các sản phẩm bằng cách kết hợp ma trận độ tương đồng từ dữ liệu đánh giá và đặc trưng sản phẩm Thuật toán này không chỉ cải thiện độ chính xác của mô hình Collaborative Filtering (CF) dựa trên ghi nhớ mà còn duy trì khả năng mở rộng hiệu quả.
Xây dựng dữ liệu mô tả người dùng từ đặc trưng sản phẩm và lịch sử tương tác giúp cải thiện độ chính xác của ước lượng trong các mô hình CF dựa trên ghi nhớ Đồng thời, việc kết hợp dữ liệu này cũng hỗ trợ giải quyết bài toán khởi tạo trong các mô hình MF.
Áp dụng kiến trúc Autoencoder (AE) và Mạng nơ-ron tích chập (CNN) giúp nén dữ liệu và trích xuất các đặc trưng ẩn từ thông tin thuộc tính sản phẩm, từ đó nâng cao khả năng dự đoán và rút ngắn thời gian huấn luyện mô hình.
Cấu trúc nội dung của luận văn
Nội dung của luận văn được trình bày theo trình tự sau:
Chương 1 “Tổng quan về hệ thống gợi ý” cung cấp cái nhìn tổng quát về các thuật toán dự đoán đánh giá hiện đang được áp dụng trong các hệ thống gợi ý Đồng thời, chương này cũng trình bày chi tiết về mục tiêu, đối tượng và phạm vi nghiên cứu của luận văn.
Chương 2 đề xuất một phương pháp kết hợp mới giữa ma trận độ tương đồng dựa trên thông tin đánh giá và thông tin nội dung sản phẩm Mục tiêu là cải thiện độ chính xác của các mô hình gợi ý Collaborative Filtering (CF) dựa theo ghi nhớ Bên cạnh đó, chương này cũng đưa ra những điều chỉnh trong quá trình tối ưu phép kết hợp để duy trì khả năng mở rộng của thuật toán.
Chương 3 “Sinh dữ liệu người dùng nhân tạo và ứng dụng” đề xuất các phương pháp xây dựng vector đặc trưng người dùng từ dữ liệu lịch sử tương tác và thông tin mô tả sản phẩm Độ tương đồng giữa người dùng và sản phẩm được tính toán và tích hợp vào các mô hình Collaborative Filtering (CF) dựa trên ghi nhớ Cuối cùng, các vector đặc trưng này được sử dụng để giải quyết bài toán khởi tạo cho các mô hình Matrix Factorization (MF) truyền thống.
Chương 4 trình bày việc học biểu diễn sản phẩm thông qua bộ tự mã hoá bán chập, giới thiệu kiến trúc AE mới Bộ tự mã hoá này áp dụng kiến trúc CNN để mã hoá và trích xuất các đặc trưng ẩn một cách hiệu quả hơn.
TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 15
Ma trận lịch sử tương tác trong hệ thống gợi ý
Trong nghiên cứu hệ thống gợi ý (RS), người dùng và sản phẩm là hai đối tượng chính Người dùng được ký hiệu là u, còn sản phẩm được ký hiệu là i, j Mỗi người dùng có mức độ quan tâm khác nhau đối với từng sản phẩm, được thể hiện qua giá trị đánh giá thực tế r_ui, với giá trị cao hơn biểu thị sự ưa thích lớn hơn Mức độ quan tâm này được đo bằng số sao từ 1 đến 5, trong đó 1 sao là không thích và 5 sao là rất thích, tạo thành tập hợp r_ui ∈ {1,2,3,4,5} Tất cả các giá trị đánh giá, bao gồm cả những giá trị chưa biết, tạo nên ma trận đánh giá R ∈ R^(m × n), với m là số người dùng và n là số sản phẩm Tập U_i chứa tất cả người dùng đã đánh giá sản phẩm i, trong khi U_{ij} chứa người dùng đã đánh giá cả hai sản phẩm i và j Ngược lại, R(u) là tập các sản phẩm đã được người dùng u đánh giá, và các cặp (u,i) với r_ui đã biết được lưu trong tập K = {(u,i) | r_ui đã biết}.
Hình 1.1 minh họa ma trận R∈R 8 × 9, trong đó các ô màu xám biểu thị giá trị “?” cho thấy chưa có dữ liệu tương tác giữa người dùng và sản phẩm Mục tiêu của nghiên cứu này là xác định và phát triển các phương pháp để lấp đầy những ô dữ liệu còn thiếu này.
Ma trận lịch sử đánh giá trong dữ liệu MovieLens minh họa việc dự đoán giá trị rˆ ui tại các ô màu xám, giúp lọc ra những sản phẩm phù hợp nhất cho người dùng Điều này cho phép hệ thống đưa ra gợi ý chính xác hơn, biến các bài toán gợi ý thành những bài toán hoàn thiện ma trận.
Trong hệ thống, thường có nhiều người dùng và sản phẩm, nhưng mỗi người chỉ đánh giá một số lượng nhỏ sản phẩm Đặc biệt, một số người dùng không đánh giá bất kỳ sản phẩm nào, dẫn đến vấn đề "khởi động nguội" Do đó, tỷ lệ ô màu xám trong ma trận đánh giá là rất lớn.
Trong triển khai hệ thống gợi ý (RS), việc xây dựng ma trận đánh giá đóng vai trò quan trọng để cung cấp gợi ý phù hợp cho người dùng Tuy nhiên, quá trình này thường gặp nhiều khó khăn Hai hướng tiếp cận phổ biến để xác định giá trị đánh giá cho mỗi cặp người dùng và sản phẩm trong ma trận đánh giá là rất cần thiết.
Hướng tiếp cận trực tiếp để thu thập đánh giá sản phẩm từ người dùng qua email và lời nhắc có thể dẫn đến những phản hồi không chính xác, do số lượng người đánh giá hạn chế và có thể không đại diện cho toàn bộ người tiêu dùng.
Một cách tiếp cận thứ hai trong việc tối ưu hóa hệ thống là dựa trên hành vi của người dùng Hệ thống này cần thu thập dữ liệu từ lịch sử tương tác của người dùng, bao gồm số lần nhấp vào các sản phẩm, thời gian xem sản phẩm, và số lượt mua hàng.
Hướng tiếp cận thứ hai yêu cầu theo dõi hành vi người dùng, điều này có thể ảnh hưởng đến quyền riêng tư Do đó, luận văn này sẽ tập trung vào việc sử dụng thông tin đánh giá trực tiếp theo hướng tiếp cận đầu tiên.
Các phương án triển khai hệ thống gợi ý
Trong phần này, chúng tôi sẽ giới thiệu phương pháp lọc dựa trên nội dung, nhằm mang đến cái nhìn tổng quan về hệ thống gợi ý (RS) Sau đó, hai kỹ thuật chính trong phương pháp lọc cộng tác (CF) sẽ được trình bày chi tiết, đây cũng là trọng tâm nghiên cứu của luận văn này.
1.2.1 Hệ thống gợi ý dựa trên nội dung
Hệ thống gợi ý dựa trên nội dung sử dụng các thuộc tính và thông tin mô tả sản phẩm để đề xuất những sản phẩm liên quan đến lựa chọn của người dùng Các hệ thống này được ứng dụng phổ biến trong lĩnh vực truyền thông, quảng cáo và y tế, nơi sản phẩm thường có nhiều thông tin chi tiết Mỗi sản phẩm trong hệ thống được mô tả bằng một bộ hồ sơ, thường được biểu diễn dưới dạng vector, phản ánh các đặc trưng của sản phẩm Trong những trường hợp đơn giản, vector này có thể được trích xuất trực tiếp từ sản phẩm.
Bài toán trong Hình 1.1 có thể được đơn giản hóa bằng cách xây dựng vector đặc trưng ba chiều cho mỗi sản phẩm Hình 1.2 minh họa các vector x_i của từng sản phẩm, trong đó các chiều x_i,1, x_i,2, x_i,3 lần lượt thể hiện các đặc trưng khác nhau của sản phẩm.
Hệ thống dựa trên nội dung cung cấp gợi ý cho người dùng thông qua hai phương pháp: (i) đề xuất sản phẩm tương tự với những sản phẩm mà người dùng yêu thích và (ii) xây dựng hồ sơ người dùng dựa trên các thuộc tính sản phẩm để gợi ý những sản phẩm phù hợp Trong đó, bài toán xây dựng hồ sơ người dùng có thể được mô hình hóa thành hồ sơ θ u, với khả năng coi đây là một bài toán hồi quy khi các đánh giá là dải giá trị, hoặc bài toán phân loại khi đánh giá chỉ mang một giá trị cụ thể.
Để xây dựng vector đặc trưng ba chiều cho từng bộ phim trong ma trận lịch sử đánh giá, dữ liệu huấn luyện được sử dụng bao gồm các cặp (hồ sơ sản phẩm, đánh giá) thuộc tập R(u) Mục tiêu là dự đoán các giá trị rˆ ui còn trống trong R, tức là dự đoán đầu ra cho các sản phẩm chưa được đánh giá khi áp dụng mô hình θ u.
Giả sử có thể xác định các tham số θ u và độ lệch b n, mức độ quan tâm của người dùng đối với sản phẩm có thể được tính toán bằng hàm tuyến tính ˆ r ui = X i θ u + b u.
Đối với bất kỳ người dùng nào, nếu coi tập huấn luyện được cấu thành từ các thành phần đánh giá đã biết của R, hàm mất mát L_u cho người dùng u có thể được xây dựng dựa trên phương pháp Ridge Regression.
Mô hình hóa người dùng dựa vào dữ liệu hồ sơ sản phẩm và các sản phẩm mà người dùng đã đánh giá, trong đó thành phần thứ hai là số hạng điều chuẩn L2 và λ là hệ số điều chuẩn.
Hệ thống gợi ý dựa trên nội dung sử dụng vector đặc trưng để biểu diễn sản phẩm và đề xuất sản phẩm tương tự cho người dùng, hoặc mô hình hóa người dùng để đưa ra gợi ý phù hợp với hồ sơ của họ Phương pháp này chỉ dựa vào hồ sơ sản phẩm, cho phép gợi ý sản phẩm mới mà không bị ảnh hưởng bởi vấn đề khởi động nguội Tuy nhiên, việc phụ thuộc vào hồ sơ sản phẩm làm giảm hiệu quả khi thiếu dữ liệu hoặc dữ liệu không đáng tin cậy Hơn nữa, các hệ thống này không tận dụng lịch sử đánh giá từ người dùng khác, dẫn đến lãng phí thông tin Những hạn chế này đã thúc đẩy sự phát triển của các hệ thống lọc cộng tác, với hai hướng tiếp cận chính là lọc cộng tác dựa trên ghi nhớ và lọc cộng tác dựa trên mô hình.
1.2.2 Lọc cộng tác dựa trên ghi nhớ
Mô hình lọc cộng tác (Collaborative Filtering - CF) sử dụng ghi nhớ để dự đoán sản phẩm phù hợp nhất cho người dùng dựa trên sự tương đồng giữa các sản phẩm hoặc giữa các người dùng Có hai loại mô hình CF chính: (i) mô hình hướng người dùng và (ii) mô hình hướng sản phẩm.
[47, 51] Trong đó, mô hình hướng sản phẩm nhận được nhiều sự chú ý hơn trong triển khai thực tế nhờ những ưu điểm sau [4]:
• Khả năng đưa ra giải thích hợp lý cho các đánh giá được dự đoán bởi mô hình.
Yêu cầu về bộ nhớ cho ma trận tương đồng giữa các sản phẩm thấp hơn nhiều so với ma trận giữa các người dùng, do kích thước của ma trận sản phẩm nhỏ hơn Thực tế cho thấy, số lượng người dùng thường lớn hơn rất nhiều so với số lượng sản phẩm trong hệ thống.
• Độ chính xác tốt hơn đáng kể so với mô hình hướng người dùng.
Mô hình hướng sản phẩm (item-item CF hay ii-CF) được chọn làm đối tượng nghiên cứu chính trong luận văn này, nhằm gợi ý những sản phẩm tương đồng với những sản phẩm mà người dùng yêu thích hoặc đã mua Trọng tâm của mô hình là thuật toán đo độ tương đồng, định lượng mức độ giống nhau giữa các sản phẩm Độ tương đồng giữa sản phẩm i và j được tính theo hàm tương đồng Cosine (Cos), được biểu diễn như sau: s Cos i j = cos(x i ,x j ) u ∑ ∈ U i j r ui r u j.
Hệ số tương quan Pearson (Pearson Correlation Coefficient - PCC) là một phương pháp phổ biến trong thực tế, được sử dụng để đo lường mối quan hệ giữa hai biến Công thức tính PCC được biểu diễn như sau: s PCC i j u ∈ ∑ U i j.
(1.4) trong đó,μ i vàμ j lần lượt là trung bình các đánh giá củaivà j.
Bên cạnh Cos và PCC, các phương pháp đo độ tương đồng mới như PCCBaseline đã nâng cao đáng kể độ chính xác của các gợi ý.
Đề xuất một phương pháp mới cho phép chỉnh sửa phương trình (1.4) bằng cách thay thế μ i, μ j bằng các ước lượng cơ sở b ui, b u j Phương pháp này nhằm nắm bắt thiên hướng đánh giá của người dùng và sản phẩm, cụ thể là ρˆ i j u ∑ ∈ U i j.
Thiết lập thực nghiệm
Netflix và MovieLens là hai tập dữ liệu nổi tiếng trong nghiên cứu hệ thống gợi ý (RS) Gần đây, đã có tranh cãi về vấn đề bảo mật thông tin người dùng liên quan đến dữ liệu của Netflix Năm 2016, nhóm nghiên cứu GroupLens đã công bố dữ liệu Tag Genome, mã hóa thể loại của các bộ phim từ 0 đến 1, nhận được sự chú ý lớn trong nghiên cứu hệ thống đề xuất Nghiên cứu cho thấy Tag Genome đã được áp dụng trong nhiều nghiên cứu khác nhau Một nghiên cứu khác đã xây dựng bộ thẻ Genome cho dữ liệu sách, chứng minh tiềm năng của các thẻ Genome trong các RS Luận văn này sẽ tập trung vào dữ liệu MovieLens, sử dụng hai phiên bản ML 20M và ML 25M, trong đó thông tin cá nhân của người dùng đã được loại bỏ.
1.3.1 Tập dữ liệu MovieLens 20M Để đánh giá hiệu quả các mô hình được đềxuất trong luận văn này, tập dữ liệu MovieLens 20M được sử dụng làm cơ sở đánh giá MovieLens là một hệ thống đềxuất phim phi thương mại trên nền tảng web từ năm 1997 và được vận hành bởi phòng nghiên cứu GroupLens tại Đại học Minnesota nhằm thu thập dữ liệu đánh giá phim phục vụ mục đích nghiên cứu RS cá nhân hoá và tâm lý học xã hội Vào năm 2015, GroupLens công bố tập dữ liệu MovieLens 20M gồm có 20.000.263 đánh giá từ0,5đến5sao với bước nhảy0,5của 138.493 người dùng cho 27.278 bộ phim [48] Tập dữ liệu cũng đã được tiền xử lý sao cho mỗi người dùng đánh giá ít nhất 20 bộ phim.
Vào năm 2016, tập dữ liệu đã được cập nhật với 465.564 thẻ mô tả thể loại cho 27.278 bộ phim nhờ sự đóng góp của 138.493 người dùng Bên cạnh đó, dữ liệu Tag Genome cũng được bổ sung để mã hóa thể loại của tất cả các bộ phim với giá trị số thực từ 0 đến 1 Tag Genome được tính toán bằng thuật toán machine learning, sử dụng thông tin từ người dùng như thẻ mô tả, đánh giá phim và phê bình phim.
Tag Genome là một dữ liệu thứ cấp quan trọng, được sử dụng trong các thuật toán đề xuất trong luận văn này Do đó, tập dữ liệu gốc cần trải qua quá trình tiền xử lý, loại bỏ những bộ phim không có dữ liệu Tag Genome.
Bảng 1.1 Tổng quan về tập dữ liệu MovieLens 20M gốc và tập dữ liệu sau khi tiền xử lý
Số đánh giá Số người dùng Số sản phẩm Độ thưa Tập dữ liệu gốc 20.000.263 138.493 27.278 99,47%
Sau quá trình tiền xử lý, tập dữ liệu ban đầu đã giảm từ 19.793.342 xuống còn 138.185 đánh giá, với tỷ lệ loại bỏ đạt 98,97% Chỉ những người dùng và bộ phim có trên 20 đánh giá được giữ lại Bảng 1.1 tổng kết kết quả tiền xử lý dữ liệu, trong đó độ thưa thớt của tập dữ liệu được định nghĩa là Độ thưa thớt = 1 - Số đánh giá đã biết.
Sau khi tiền xử lý, tập dữ liệu còn lại 19.793.342 đánh giá từ 138.185 người dùng cho 10.239 sản phẩm, với độ thưa thớt khoảng 98,97%, giảm từ 99,47% ban đầu MovieLens cam kết bảo mật dữ liệu người dùng bằng cách không cung cấp thông tin hay số liệu thống kê nào khác liên quan đến người dùng.
Trong luận văn này, chúng tôi sử dụng cả tập dữ liệu MovieLens phiên bản 20M và 25M để đánh giá các mô hình gợi ý Phiên bản MovieLens 25M, được công bố bởi GroupLens vào tháng 11 năm 2019, bao gồm 25.000.095 đánh giá từ 162.541 người dùng cho 59.047 bộ phim Đặc biệt, người dùng trong phiên bản 25M được chọn ngẫu nhiên, không phải là bổ sung từ phiên bản 20M, và mỗi người dùng đã đánh giá ít nhất 20 bộ phim sau khi được tiền xử lý.
Phiên bản 25M của GroupLens đã mở rộng tập dữ liệu với 1,093,360 thẻ mô tả thể loại cho 59,047 bộ phim Tương tự như MovieLens 20M, dữ liệu Tag Genome cũng được tích hợp để mã hóa từng thể loại phim với giá trị số thực từ 0 đến 1.
Bảng 1.2 Tổng quan về tập dữ liệu MovieLens 25M gốc và tập dữ liệu sau khi tiền xử lý
Số đánh giá Số người dùng Số sản phẩm Độ thưa Tập dữ liệu gốc 25.000.095 162.541 59.047 99,74%
Tập dữ liệu sau tiền xử lý 2.4674.113 162.540 13.816 98,90%
Các bước tiền xử lý tập MovieLens 25M tương tự như các bước thực hiện trên tập dữ liệu 20M Bảng 1.2 tổng kết lại kết quả tiền xử lý dữ liệu.
1.3.3 Dữ liệu Tag Genome trong tập dữ liệu MovieLens 20M và 25M
Khác với các phiên bản trước, tập dữ liệu MovieLens 20M và 25M giới thiệu một dạng dữ liệu mới gọi là Tag Genome, bao gồm các thẻ và điểm số thể hiện mức độ liên quan của từng bộ phim với các thẻ Dữ liệu này được biểu diễn dưới dạng ma trận, trong đó mỗi bộ phim có giá trị cho từng thẻ trong bộ gen với 1.128 thẻ Các thẻ này mã hóa mức độ mà một bộ phim thể hiện một thể loại cụ thể, với điểm số được tính bằng số thực trong khoảng [0;1], sử dụng thuật toán máy học dựa trên dữ liệu từ người dùng như thẻ mô tả, đánh giá và phê bình phim.
Biểu đồ nhiệt trong Hình 1.4 thể hiện 10 bộ phim cùng với điểm số genome tương ứng, trong đó màu sắc đậm hơn cho thấy mức độ liên quan cao hơn đến thẻ Điều này cho thấy rằng các vector điểm số genome của từng bộ phim chứa đựng thông tin hữu ích và đáng tin cậy từ nhiều người dùng, mở ra một phương pháp mới để đặc tả nội dung phim.
1.3.4 Phương pháp đánh giá Để đánh giá hiệu suất của các mô hình được trình bày trong luận văn, tập dữ liệu sau khi tiền xử lý được chia làm hai phần tách biệt:80%đánh giá của mỗi sản
Biểu đồ nhiệt trong Hình 1.4 thể hiện 10 bộ phim tương ứng với 10 thẻ genome đầu tiên trong dữ liệu Tag Genome Trong nghiên cứu này, 80% dữ liệu được sử dụng để huấn luyện mô hình, trong khi 20% còn lại được dùng cho kiểm tra Các mô hình được đánh giá toàn diện thông qua các chỉ số cụ thể.
RMSE (Sai số bình phương trung bình) là chỉ số quan trọng trong việc đánh giá độ chính xác của các mô hình dự đoán Giá trị RMSE càng thấp cho thấy mức độ sai số của các dự đoán càng nhỏ, từ đó phản ánh rằng mô hình đang hoạt động với độ chính xác cao hơn.
(rˆ ui −r ui ) 2 /|TESTSET| (1.15) với|TESTSET|là kích thước của tập kiểm tra.
Precision@k (P@k) và Recall@k (R@k) là hai chỉ số quan trọng trong bài toán xếp hạng, đặc biệt khi gợi ý k sản phẩm phù hợp nhất cho người dùng Precision@k được tính bằng tỷ lệ số sản phẩm phù hợp với người dùng so với tổng số k sản phẩm được gợi ý.
Recall@k được xác định là tỷ lệ sản phẩm phù hợp với người dùng so với tổng số sản phẩm tương đồng Chỉ số P@K và R@K càng cao, sản phẩm gợi ý sẽ càng phù hợp với người dùng Theo ma trận nhầm lẫn (Confusion matrix) trong Bảng 1.3, P@K và R@K có thể được tính toán một cách chính xác.
• Thời gian [s] đo đạc tổng thời gian cần thiết để huấn luyện mô hình và đưa ra dự đoán cho toàn bộ các mẫu trong tập kiểm tra.
Bảng 1.3 Ma trận nhầm lẫn các kết quả của việc gợi ý 1 sản phẩm cho người dùng
Phù hợp Không phù hợp Tổng Gợi ý True-positive (t p) False-positive (f p) t p+f p
Không gợi ý False-negative (f n) True-negative (tn) f n+tn
KẾT HỢP MA TRẬN ĐO ĐỘ TƯƠNG ĐỒNG SỬ DỤNG THÔNG TIN ĐÁNH GIÁ VÀ THÔNG TIN NỘI DUNG 30
Hạn chế của các phương pháp tính ma trận tương đồng trong hệ thống dựa trên ghi nhớ
Trong các hệ thống gợi ý dựa trên ghi nhớ truyền thống, ma trận tương đồng giữa sản phẩm hoặc người dùng được tính toán từ dữ liệu lịch sử đánh giá và tương tác Gần đây, nhiều nghiên cứu đã áp dụng dữ liệu nội dung của sản phẩm để tính toán ma trận tương đồng, mang lại kết quả tích cực.
Cả hai kiểu dữ liệu trên nếu sử dụng độc lập đều gặp phải những hạn chế riêng, dẫn đến việc các thuật toán CF dựa trên ghi nhớ không phát huy được hiệu quả tối ưu của chúng.
2.1.1 Hạn chế của dữ liệu lịch sử đánh giá trong tính toán ma trận tương đồng
Trong các thuật toán Collaborative Filtering (CF) dựa trên ghi nhớ truyền thống, độ tương đồng giữa hai sản phẩm được xác định dựa trên thông tin đánh giá đã biết Hai sản phẩm được coi là "tương đồng" nếu chúng nhận được những đánh giá giống nhau từ cùng một nhóm người dùng, trong khi đó, chúng được xem là "không tương đồng" khi nhận được các giá trị đánh giá khác nhau Tuy nhiên, phương pháp xác định độ tương đồng này vẫn tồn tại một số hạn chế trong thực tế sử dụng.
Phương pháp đánh giá sản phẩm hiện tại chủ yếu dựa vào ý kiến trực tiếp của người dùng, tuy nhiên, người dùng thường không muốn chia sẻ đánh giá của mình, dẫn đến ma trận tương tác trở nên thưa thớt, với độ thưa lên đến 99,47% trong tập dữ liệu MovieLens 20M Hệ quả là, mặc dù một sản phẩm có thể nhận được nhiều đánh giá từ nhiều người dùng, nhưng giữa hai sản phẩm chỉ có rất ít người dùng chung, tạo ra sự khó khăn trong việc so sánh và phân tích.
• Sản phẩminhận được 100 đánh giá:|U i |0.
• Sản phẩm jnhận được 200 đánh giá:|U j | 0.
Chỉ có 2 người dùng đánh giá cả hai sản phẩm, dẫn đến việc tính toán độ tương đồng giữa chúng trở nên không đáng tin cậy Với số lượng thông tin hạn chế, việc xác định sự tương đồng giữa hai sản phẩm này gặp khó khăn.
Các sản phẩm cùng thương hiệu thường nhận được những đánh giá tương đồng từ người dùng Chẳng hạn, trong một loạt phim, nếu một người thích một bộ phim và đánh giá cao nó, họ có xu hướng thích các bộ phim khác trong loạt đó Tuy nhiên, thực tế cho thấy người dùng thường ít khi đánh giá các bộ phim đã xem Ví dụ, hai người dùng A và B cùng đánh giá cho loạt phim “Toy Story” gồm hai phần.
Nếu hệ thống tínhs Toy Story, Toy Story 2 mà chỉ sử dụng đánh giá của người dùngAvà
B, việc hai bộ phim cùng nằm trong một loạt phim hoàn toàn bị bỏ qua và có thể dẫn đến kết luận là hai bộ phim không tương đồng.
Thời gian thực hiện thuật toán là yếu tố quan trọng khi tính độ tương đồng giữa hai bộ phim Thuật toán cần lọc ra những người dùng đã đánh giá cả hai bộ phim, yêu cầu hệ thống phải xử lý hàng triệu người dùng và sản phẩm Thêm vào đó, sự xuất hiện liên tục của các đánh giá mới đòi hỏi việc cập nhật ma trận tương đồng thường xuyên Những tính toán này tiêu tốn nhiều thời gian và chi phí, gây ra sự chậm trễ cho hệ thống.
2.1.2 Hạn chế của dữ liệu nội dung sản phẩm trong tính toán ma trận tương đồng Để khắc phục các vấn đềmà phép đo độ tương đồng sử dụng thông tin đánh giá gặp phải như đềcập ở trên, một số nghiên cứu đềxuất phương pháp mới nhằm đánh giá độ tương đồng giữa hai bộ phim bằng cách tận dụng thông tin nội dung được mô tả qua dữ liệu Tag Genome [23, 24] Cụ thể, đặc điểm của mỗi bộ phim được mô tả qua vector 1.128 phần tửg=g 1 ,g 2 , ,g 1128, và độ tương đồngs i j giữa hai bộ phimivà jlúc này có thể được coi như độ tương đồngs g i , g j giữa hai vector g i vàg j tương ứng.
Trong [23], hai phương pháp tính độ tương đồngs g i , g j xuất phát từ các phương pháp đo độ tương đồng phổ biến được đềxuất. s Cos g i , g genome j ∑ G k = 1 g i,k g j,k
Trong mô hình kNNContent, kích thước của vector điểm số genome (G28) và giá trị trung bình của các vectorg i vàg j được sử dụng để ước lượng các đánh giá chưa biết trong hệ thống CF Quá trình này áp dụng các phương pháp đo độ tương đồng mới, trong đó s Cos g i , g genome j và s PCC g i , g j genome được thay thế vào các phương trình (1.7) và (1.8) thay vì s i j, nhằm dự đoán đánh giá cho mô hình kNNBasic và kNNBaseline Mô hình này nổi bật với khả năng tích hợp thông tin nội dung vào tính toán độ tương đồng giữa các sản phẩm, như được minh họa trong sơ đồ thuật toán ở Hình 2.1.
Hình 2.1 Sơ đồ thuật toán mô hình kNNContent
Từ sơ đồ thuật toán kNNContent, có thể thấy rằng hai bộ phim được gọi là
Hai bộ phim được coi là "tương đồng" nếu điểm của các thẻ cùng loại giữa chúng có giá trị tương đương, ngược lại, chúng sẽ được gọi là "không tương đồng" Mặc dù mô hình Collaborative Filtering (CF) có thể khắc phục một số vấn đề của ghi nhớ truyền thống, nhưng mô hình kNNContent vẫn tồn tại những hạn chế nhất định.
Khi kNNContent chỉ tập trung vào thông tin nội dung, việc duy trì và mở rộng một cơ sở dữ liệu sản phẩm quản lý thủ công có thể tốn kém Để tự động hóa quy trình này, một số nghiên cứu đã đề xuất các hệ thống máy học có khả năng dự đoán thuộc tính sản phẩm dựa trên thông tin người dùng cung cấp Cụ thể, nhận xét và đánh giá của người xem về các bộ phim đã được sử dụng để xây dựng cấu trúc dữ liệu Tag Genome trong tập dữ liệu MovieLens 20M và 25M, nơi mỗi bộ phim được đại diện bằng một vector.
Một hệ thống gợi ý hiệu quả cần tránh đưa ra độ tương đồng cao giữa các sản phẩm có tính chất tương tự nhưng chất lượng khác nhau, vì thông tin dựa trên nội dung không phản ánh đúng chất lượng hàng hóa Chất lượng sản phẩm đóng vai trò quan trọng trong việc hình thành đánh giá của người tiêu dùng.
Tập dữ liệu Tag Genome được xây dựng dựa trên đánh giá và mô tả chủ quan của người xem, do đó không phản ánh đầy đủ các thuộc tính của bộ phim Trong khi đó, bộ dữ liệu Movielens 20M chứa 1128 thể loại phim, nhưng nhiều thẻ lại mang thông tin tương đương, dẫn đến việc dữ liệu nội dung bị nhiễu và giảm độ chính xác Vấn đề này đã được đề cập trong nghiên cứu [24] thông qua việc áp dụng xử lý ngôn ngữ tự nhiên (NLP), tuy nhiên, vẫn chưa được giải quyết triệt để.
Xây dựng ma trận tương đồng kết hợp trong hệ thống gợi ý dựa trên
Trong Chương 1, chúng ta đã thấy rằng kNNBaseline và kNNContent mặc dù sử dụng cùng một thuật toán dự đoán đánh giá, nhưng mỗi mô hình lại có phương pháp riêng để tính toán ma trận tương đồng giữa các sản phẩm.
• kNNBaseline: sự tương đồng giữa sản phẩmivà jđược tính toán bằng cách áp dụng Cos hoặc PCC cho thông tin tương tác giữa người dùng và sản phẩm.
kNNContent: Độ tương đồng giữa các sản phẩm được xác định dựa vào vector nội dung của từng sản phẩm, giúp tính toán điểm tương đồng chính xác hơn và tối ưu hóa thời gian tính toán trong giai đoạn này.
Mặc dù các mô hình CF dựa trên ghi nhớ rất đơn giản và thiết thực, chúng vẫn tồn tại những hạn chế nhất định Một giải pháp khả thi là kết hợp kết quả dự đoán từ hai mô hình kNNBaseline và kNNContent Khi áp dụng vào tập dữ liệu MovieLens, dự đoán từ hai mô hình này sẽ được thực hiện độc lập, sau đó giá trị dự đoán của cùng một người dùng cho cùng một bộ phim sẽ được tính trung bình để đưa ra kết quả dự đoán cuối cùng.
Hệ thống kết hợp mới được đề xuất nhằm khắc phục những hạn chế của mô hình kNNBaseline và kNNContent, đồng thời phân tích các kỹ thuật kết hợp hai ma trận tương đồng để tối ưu hóa việc thu thập thông tin Mặc dù cách kết hợp giá trị dự đoán của từng mô hình đã được cụ thể hóa, nhưng vấn đề xác định chính xác các sản phẩm tương tự vẫn chưa được giải quyết triệt để do giai đoạn dự đoán của mỗi mô hình diễn ra độc lập.
Ma trận độ tương đồng S r được tính từ thông tin đánh giá của người dùng trong kNNBaseline, trong khi ma trận S c được tính từ thông tin dựa trên nội dung trong kNNContent Hệ thống được đề xuất, như minh họa trong Hình 2.3, áp dụng các hàm kết hợp cho các ma trận độ tương đồng khác nhau nhằm tạo ra một ma trận thống nhất Mục tiêu của bước này là đảm bảo hệ thống có khả năng xác định chính xác các sản phẩm tương tự với điểm số tương đồng chính xác hơn.
Trong các thí nghiệm này, để kết hợp hai ma trận S r và S c thành một ma trận độ tương đồng kết hợp, tác giả đã tiến hành thử nghiệm với phép tính giá.
Hệ thống kết hợp kết quả dự đoán sử dụng sơ đồ thuật toán để xác định trị lớn nhất và nhỏ nhất giữa hai ma trận Cụ thể, phương trình (2.3) tính trị lớn nhất theo từng phần tử, trong khi phương trình (2.4) tính giá trị nhỏ nhất Mục tiêu là xác định xem độ tương đồng lớn nhất hoặc nhỏ nhất, ký hiệu là S i j, có đủ để tạo thành một ma trận độ tương đồng phù hợp hay không.
Để kiểm tra khả năng tối ưu hóa hiệu suất, chúng ta sẽ xem xét việc thực hiện phép cộng hoặc nhân từng phần giữa S r và S c, nhằm đạt được hiệu năng vượt trội hơn so với từng ma trận riêng lẻ trong hệ thống.
Hình 2.3 Sơ đồ thuật toán hệ thống xây dựng ma trận tương đồng kết hợp dựa trên ghi nhớ, S add và S mul ma trận được tính như sau.
Công thức S mul = S r S c (2.6) thể hiện phép nhân từng phần tử giữa S r và S c Các phương trình từ (2.3) đến (2.6) cho thấy rằng hệ thống có thể xử lý nhiều loại dữ liệu dựa trên nội dung, dẫn đến việc dễ dàng mở rộng nhiều ma trận tương đồng.
Tối ưu ma trận tương đồng kết hợp sử dụng thuật toán tối ưu bầy đàn 37
Trong phần này, chúng tôi đề xuất một giải pháp cho việc xây dựng ma trận tương đồng kết hợp bằng cách sử dụng biến thể của thuật toán tối ưu bầy đàn (PSO) để tự động điều chỉnh ảnh hưởng của từng loại dữ liệu, nhằm cải thiện hiệu suất hệ thống Việc cộng hay nhân trực tiếp hai ma trận tương đồng mà không có tham số điều chỉnh có thể dẫn đến mất cân bằng, do đó, PSO sẽ giúp tối ưu hóa quá trình này Bên cạnh đó, để giảm thiểu thời gian tính toán, quá trình huấn luyện PSO được tinh chỉnh để chỉ áp dụng trên một lượng nhỏ dữ liệu huấn luyện, tận dụng thông tin từ các ma trận tương đồng riêng biệt.
2.3.1 Thuật toán tối ưu bầy đàn
Trong nghiên cứu Machine Learning (ML), nhiều phương pháp tối ưu thường dựa vào thông tin đạo hàm của hàm mất mát Tuy nhiên, những phương pháp này có thể không thích hợp cho một số vấn đề cụ thể trong các thuật toán Collaborative Filtering (CF) dựa trên ghi nhớ.
Thuật toán Tối ưu Hóa Bầy (PSO) là một phương pháp tối ưu không dùng đạo hàm, dựa trên hành vi tự nhiên của đàn chim khi kiếm ăn PSO hoạt động thông qua một bầy hạt, với mỗi hạt được mô tả bởi vị trí và vận tốc hiện tại Hướng di chuyển của các hạt không chỉ dựa vào vị trí tốt nhất của từng hạt mà còn hướng tới vị trí tốt nhất của toàn bầy trong không gian tìm kiếm.
Vị trí tốt nhất trong không gian tìm kiếm được xác định là nơi có giá trị mất mát nhỏ nhất, hay nơi có nhiều thức ăn nhất Gọig ∗ đại diện cho vị trí tốt nhất của bầy, trong khi x i ∗ là vị trí tốt nhất của hạt Vị trí và vận tốc hiện tại của hạt được ký hiệu lần lượt là x i và v i Quá trình cập nhật vị trí và vận tốc của mỗi hạt được mô tả bằng các công thức: x t i + 1 = x t i + v t i + 1 và v t i + 1 = v t i + αγ 1(g ∗ − x t i ) + βγ 2(x ∗ i − x t i ), trong đó α và β là tốc độ học và hằng số gia tốc, còn γ 1 và γ 2 là hai vector ngẫu nhiên trong khoảng [0,1].
Nhiều nghiên cứu trong hệ thống gợi ý (RS) đã tích hợp thuật toán tối ưu bầy đàn (PSO) như một thành phần chính Chẳng hạn, PSO được áp dụng để điều chỉnh vector sở thích người dùng, nhằm tìm ra biểu diễn tốt nhất phù hợp với tính cách cá nhân Hệ thống gợi ý dựa trên nhóm người dùng có sở thích tương đồng cũng sử dụng PSO, trong đó điểm tương đồng giữa các người dùng được xem là vị trí ban đầu và có thể thay đổi qua các vòng lặp của thuật toán Thêm vào đó, một nghiên cứu đã kết hợp kết quả dự đoán từ các tập láng giềng cục bộ và toàn cục thông qua một độ đo thưa thớt được tối ưu bằng PSO.
Phần này tập trung vào việc tối ưu hoá ma trận tương đồng giữa các sản phẩm trước khi dự đoán, thay vì chỉ tối ưu hoá trọng số của phép kết hợp như các phương pháp khác Các phương pháp dựa trên PSO yêu cầu tính toán lại tất cả các dự đoán ở mỗi bước cập nhật cho mỗi hạt, dẫn đến thời gian huấn luyện tốn kém Bằng cách khai thác thông tin từ ma trận tương đồng và áp dụng một biến thể đơn giản hơn của PSO, hệ thống này mang lại khả năng mở rộng chi phí tính toán và linh hoạt trong việc kết hợp các phương pháp.
2.3.2 Áp dụng APSO trong tối ưu phép kết hợp ma trận tương đồng có trọng số
Việc kết hợp hai ma trận tương đồng có thể khắc phục hạn chế của các mô hình CF dựa trên ghi nhớ, nhưng các phương pháp kết hợp đơn giản thường coi mức độ ảnh hưởng của chúng là như nhau Thực tế cho thấy ma trận tương đồng dựa trên nội dung S c có thể đóng góp nhiều hơn vào ma trận kết hợp so với ma trận dựa trên đánh giá S r, nhờ hiệu năng vượt trội trong các mô hình kNN Do đó, các hàm kết hợp đơn giản có thể dẫn đến chỉ số độ tương đồng không cân bằng, ảnh hưởng đến độ chính xác của mô hình Để giải quyết vấn đề này, bài viết đề xuất phương pháp tham số hoá bằng cách gán trọng số riêng biệt cho mỗi ma trận S r và S c, nhằm điều chỉnh ảnh hưởng của từng loại độ tương đồng trước khi kết hợp thành ma trận mới Cụ thể, phép cộng theo từng phần tử có thể sử dụng trọng số trung bình, trong khi phép nhân có thể áp dụng trọng số mũ để tạo ra ma trận kết hợp S add.
S mul có thể được định nghĩa như sau.
S mul = (sgn( S r )× | S r | e r ) (sgn( S c )× | S c | e c ) (2.10) trong đó sgn(.)ký hiệu hàm signum; (ω r ,ω c ) là trọng số trung bình, và (e r ,e c ) lần lượt là số mũ của S r và S c
Trong phương trình (2.10), cần lưu ý rằng toán tử lũy thừa thực không cho phép cơ số âm Để khắc phục vấn đề này, tác giả đề xuất một phương pháp thay thế bằng cách sử dụng giá trị tuyệt đối của các điểm tương đồng, đồng thời vẫn duy trì dấu của các điểm tương đồng ban đầu thông qua hàm signum.
Sau khi tham số hóa mô hình, mỗi cặp tham số (ω r ,ω c ) hoặc (e r ,e c ) được xem là siêu tham số và cần được điều chỉnh thủ công trên tập huấn luyện để tìm ra giá trị tối ưu Tuy nhiên, việc tinh chỉnh thủ công các cặp tham số này không hiệu quả so với thời gian đầu tư, đặc biệt khi có nhiều ma trận tương đồng được tính toán từ các loại thông tin dựa trên nội dung khác nhau, dẫn đến việc thiếu sót trong số lượng tham số cần tinh chỉnh.
Một phương pháp phổ biến để giải quyết vấn đề này là sử dụng các phương pháp tối ưu hóa dựa trên đạo hàm như gradient descent nhằm tìm giá trị tốt nhất cho các tham số (ω r ,ω c) hoặc (e r ,e c) trên tập huấn luyện Tuy nhiên, việc áp dụng các phương pháp này không thực tế do hai lý do chính.
Hàm mất mát của hệ thống sử dụng ma trận tương đồng có tham số hoá không có đạo hàm riêng cho từng trọng số Cụ thể, khi tham số hoá (e r ,e c ), hàm mất mát có thể được định nghĩa một cách rõ ràng.
Trong phương trình (2.10), giá trị S mul i j được tính toán để dự đoán đánh giá chưa biết r ui của người dùng u cho sản phẩm i Để thực hiện điều này, hệ thống cần xác định sản phẩm tương tự nhất với sản phẩm i mà người dùng u đã đánh giá, trong khi các sản phẩm tương tự có thể thay đổi khi ma trận S thay đổi theo các tham số e r và e c Điều này dẫn đến việc đạo hàm bên phải và bên trái của hàm mất mát có các giá trị khác nhau cho mỗi tham số e r và e c Kết luận tương tự cũng áp dụng cho cặp tham số (ω r ,ω c) Đáng lưu ý rằng các hàm mất mát này không có đạo hàm riêng với các trọng số, và ngay cả AutoDif với thư viện Autograd cũng không thể tính toán đạo hàm của chúng.
Khi đặt k=∞ để giữ cho k sản phẩm tương tự nhất không thay đổi khi S thay đổi, các đạo hàm có thể trở nên không hợp lý, đặc biệt là đạo hàm của hàm mất mát trong phương trình (2.11) chứa đạo hàm của các hàm giá trị tuyệt đối và mũ Để tối ưu hóa các cặp tham số này, tác giả đề xuất sử dụng các biến thể của PSO, một tập hợp các thuật toán tối ưu hóa không dựa trên đạo hàm mà dựa vào hành vi bầy đàn Nghiên cứu áp dụng thuật toán Accelerated PSO (APSO), giúp tăng tốc độ hội tụ trong khi vẫn đảm bảo độ chính xác hợp lý Việc cập nhật tham số trong mỗi lần lặp được mô tả bằng công thức x t i + 1 = (1−β)x t i +βg ∗ +α, với β là tốc độ học và α là hàm giảm đơn điệu Hệ thống với nhiều ma trận tương đồng có thể mở rộng phương trình (2.9) và (2.10) và thích nghi với thuật toán 2.1 với vector các hạt có số chiều cao hơn.
Thuật toán 2.1: Thuật toán APSO trong tối ưu cho (e r , e c ) Đầu vào: (R, S r , S c ) Đầu ra: (g= (e ∗ rg ,e ∗ cg ))
Khởi tạo: Một bầy đàn chứa scặp tham số (e r ,e c ).
/* Tìm cặp (e r ,e c ) có hàm mất mát nhỏ nhất sau khi khởi tạo và gán cho g= (e ∗ rg ,e ∗ cg ) */ g←(e r 1 ,e c 1 )for i=2đếns do
TínhL(e r i ,e c i ,R)trên tập huấn luyệnif (L(e r i ,e c i ,R)