Chương 1: Tổng quan về hệ tư vấn Trình bày tổng quan về các khái niệm liên quan cơ bản tới hệ tư vấn và đưa ra các phương pháp tiếp cận chính, các ưu và nhược điểm của từng phương pháp này được sử dụng để xây dựng hệ thống tư vấn. Chương 2: Học sâu cho hệ tư vấn lọc cộng tác Giới thiệu tổng quan về học sâu, các khái niệm đặc trưng của phương pháp phân rã ma trận, ưu và nhược điểm của phương pháp này. Trình bày chi tiết cách xây dựng mô hình Neural Collaborative Filtering (NCF) để giải quyết bài toán. Chương 3: Thực nghiệm và kết quả Xây dựng bộ dữ liệu từ dữ liệu thực tế, trình bày quá trình cài đặt thử nghiệm, so sánh hiệu suất của phương pháp Neural Collaborative Filtering (NCF) với một số phương pháp hiện có.
Kết luận và hướng phát triển. Trình bày tóm tắt những kết quả đã đạt và chưa đạt được. Qua đó đề xuất mục tiêu, hướng nghiên cứu, cũng như hướng phát triển tiếp theo. TỔNG QUAN VỀ HỆ TƯ VẤN Chương này sẽ trình bày tổng quan về các khái niệm liên quan cơ bản tới hệ tư vấn và đưa ra các phương pháp tiếp cận chính, các ưu và nhược điểm của từng phương pháp này được sử dụng để xây dựng hệ thống tư vấn.
Cuối cùng sẽ đưa ra các tiêu chuẩn để đánh giá hiệu quả của một hệ tư vấn. Giới thiệu về hệ tư vấn Trong xã hội ngày nay, vai trò của hệ tư vấn trở nên quan trọng không thể thiếu trong cuộc sống hàng ngày. Internet phổ biến và sự phát triển mạnh mẽ của công nghệ mang lại một lượng lớn thông tin và tài nguyên, làm tăng cường sự cần thiết của các hệ thống tư vấn. Những hệ thống này giúp người dùng tìm kiếm, khám phá và lựa chọn thông tin một cách hiệu quả.
Hệ tư vấn trở thành giải pháp linh hoạt và hiệu quả để đối mặt với vấn đề bùng nổ thông tin do sự phát triển nhanh chóng của các dịch vụ Internet, và chúng được áp dụng rộng rãi trong nhiều lĩnh vực. Nó không chỉ giúp người dùng tiết kiệm thời gian và công sức trong việc tìm kiếm thông tin phù hợp với nhu cầu cá nhân mà còn mang đến trải nghiệm cá nhân hóa, tối ưu và thú vị. Giới thiệu bài toán tư vấn Cho một tập hợp hữu hạn U ={ u1 ,u 2 , … , un } là tập gồm N người dùng (người sử dụng hệ thống), I ={ i 1 ,i2 , … ,ik } là tập gồm K sản phẩm (sản phẩm của hệ thống). Mỗi sản phẩm ik ∈ I có thể là sản phẩm hàng hóa, tài liệu, sách, báo, hoặc bất kể dạng thông tin nào mà người dùng quan tâm.
Ma trận đánh giá A={ aij ,i=1, … , N , j=1 , … , K } dùng để biểu diễn mối quan hệ giữa tập người dùng U và tập sản phẩm I. Mỗi giá trị a ij ∈ {0,1 , 2 , … ,V } thể hiện đánh giá của người dùng ui ∈U đối với sản phẩm i j ∈ I. Giá trị của a ij có thể thu thập trực tiếp từ ý kiến của người dùng hoặc thu thập một cách gián tiếp thông qua các cơ chế phản hồi của người dùng. Giá trị a ij=0 có thể hiểu rằng người dùng ui chưa bao giờ biết đến hoặc chưa đánh giá sản phẩm ij.
Nhiệm vụ của hệ thống gợi ý là dựa trên những dữ liệu đã có, đưa ra những gợi ý về sản phẩm i j ∈ I mà người dùng ui ∈U có khả năng sẽ quan tâm. Một số khái niệm chung về hệ thống tư vấn Hệ thống tư vấn, còn được gọi là Recommender System hoặc Recommendation System [15], là một loại công nghệ thông tin được thiết kế để tự động đề xuất các mục hoặc sản phẩm mà có thể phù hợp và được ưa thích nhất với mỗi người dùng cá nhân. Với sự phát triển mạnh mẽ của internet và dữ liệu, hệ thống tư vấn đã trở thành một phần quan trọng trong nhiều ứng dụng trực tuyến, từ thương mại điện tử đến giải trí và mạng xã hội. Mục tiêu chính của hệ thống tư vấn là cung cấp các gợi ý cá nhân hóa, giúp người dùng khám phá và tiêu thụ nội dung mới một cách hiệu quả.
Để đạt được điều này, hệ thống tư vấn sử dụng một loạt các phương pháp và thuật toán, từ lọc dựa trên nội dung đến lọc dựa trên hành vi và kết hợp cả hai để tạo ra các gợi ý chính xác và phù hợp. Các hệ thống tư vấn thường sử dụng thông tin từ lịch sử hoạt động của người dùng, bao gồm các mục họ đã mua, xem, hoặc đánh giá, để đề xuất các mục tương tự hoặc phù hợp với sở thích của họ. Ngoài ra, hệ thống cũng có thể sử dụng thông tin về hồ sơ người dùng, như tuổi, giới tính, hoặc địa điểm, để tăng tính cá nhân hóa của các gợi ý. Với khả năng tùy 6 chỉnh và cá nhân hóa cao, hệ thống tư vấn không chỉ giúp cải thiện trải nghiệm của người dùng mà còn tạo ra cơ hội kinh doanh và tiếp thị cho các doanh nghiệp, bằng cách tối ưu hóa việc tiếp cận và tương tác với khách hàng.
Sản phẩm (Item) là thuật ngữ chung để chỉ những thứ mà người dùng có thể tương tác trong hệ thống tư vấn. Item có thể là sách, phim, truyện, tin tức. Thông thường, hệ thống tư vấn được thiết kế để phù hợp với một loại hình sản phẩm cụ thể, nhằm đảm bảo rằng quá trình tư vấn đối với mỗi sản phẩm đều đạt được hiệu suất cao và đáp ứng đúng nhu cầu của người dùng. Trong thực tế, việc thu thập dữ liệu Hồ sơ người dùng thường được sử dụng thông qua hai phương pháp chính là phản hồi ẩn (implicit feedback) và phản hồi tường minh (explicit feedback).
Đối với phương pháp phản hồi tường minh hệ thống yêu cầu người dùng thực hiện việc xếp hạng (rating) cụ thể cho mỗi sản phẩm để xây dựng Hồ sơ người dùng. Phương pháp này cung cấp dữ liệu người dùng trực tiếp cho hệ thống tư vấn mà không cần các bước biến đổi trung gian, và kết quả tư vấn từ đó được đánh giá là đáng tin cậy hơn [2]. Mặc dù được coi là mang lại kết quả tư vấn đáng tin cậy, nhưng phương pháp này đòi hỏi người dùng phải thực hiện thêm các thao tác với hệ thống, có thể làm giảm trải nghiệm người dùng trong một số trường hợp. Ngoài ra, tâm lý chung của người dùng không muốn chia sẻ quá nhiều thông tin cá nhân, điều này làm cho việc triển khai thực tế của phương pháp thu thập phản hồi tường minh thường gặp khó khăn.
Để khắc phục những mặt hạn chế của việc thu thập dữ liệu hồ sơ người dùng của phương pháp phản hồi tường minh, phương pháp thu thập phản hồi ẩn sử dụng/ghi nhận các dấu vết mà người dùng có thể để lại trên hệ thống như lịch sử truy cập vào website, lịch sử xem hoặc mua sản phẩm, thời gian truy cập trang web, số lần nhấp chuột, và các hoạt động khác tương tự để có thể suy luận các thông tin về sở thích của họ. Phương pháp này giúp cải thiện trải nghiệm của người dùng với hệ thống. Tuy nhiên, khả năng mô tả sở thích của người dùng bằng cách này được coi là không tốt bằng phương pháp phản hồi tường minh vì hệ thống bắt buộc phải 7 thực hiện qua các bước biến đổi trung gian để có thể trích xuất thông tin từ hành vi của người dùng. 2: Phản hồi ẩn và phản hồi tường minh Ma trận tương tác Người dùng – Sản phẩm hay còn được gọi là Utility Matrix hoặc User – Item matrix là một cơ sở dữ liệu mô tả sở thích của mỗi Người dùng (User) với từng Sản phầm (Item) trong hệ thống.
Dữ liệu này có thể được biểu diễn dưới dạng ma trận, trong đó mỗi hàng đại diện cho một người dùng (User), mỗi cột đại diện cho một sản phẩm (Item), và giá trị tại mỗi ô của ma trận thể hiện giá trị đánh giá (rating) của người dùng đó cho sản phẩm tương ứng. 3: Ma trận tương tác Người dùng – Sản phẩm Bắt nguồn từ yếu tố tâm lý, người dùng thường không đánh giá tất cả các sản phẩm (Item) họ đã trải nghiệm, thường chỉ đưa ra đánh giá tích cực (thích) hoặc tiêu cực (không thích) đối với các sản phẩm. Vì lý do trên nên thực tế ma trận tương tác Người dùng – Sản phẩm sẽ thường bị thiếu giá trị ở rất nhiều vị trí, vấn đề này được gọi là vấn đề dữ liệu thưa (data sparsity) [3]. Vấn đề dữ liệu thưa của ma trận tương tác (User – Item matrix) dẫn đến việc các thuật toán tư vấn dựa trên bộ nhớ (memory-based recommendation algorithms) [2] hoạt động một cách không hiệu quả.
Bên cạnh đó, trong các trường hợp trong hệ thống xuất hiện những người dùng (User) hoặc sản phẩm (Item) mới chưa có bất kỳ tương tác nào thì ma trận User – Item sẽ xuất hiện các hàng/cột không có giá trị. Vấn đề nêu trên được gọi là vấn đề khởi động nguội (cold-start problem) [3], vấn đề này thường xảy ra đối với các hệ tư vấn dựa/khuyến nghị dựa trên cộng tác, khi mà hệ thống gặp phải những sản phẩm hoàn toàn không có bất kỳ tương tác nào, hệ tư vấn sẽ không thể khai thác được các thông tin như sở thích giống nhau giữa các nhóm người dùng/sản phẩm để có thể đưa ra tư vấn. Các tiêu chí đánh giá hệ tư vấn 1. Phương pháp đánh giá hệ tư vấn Để có thể đánh giá được độ chính xác của hệ thống tư vấn/khuyến nghị, đầu tiên từ ma trận đánh giá R, chúng ta tiến hành chia tập người dùng U (các hàng trong ma trận đánh giá R) thành hai phần, một phần ký hiệu là U train được sử dụng làm dữ liệu huấn luyện (training), phần còn lại ký hiệu là U test được sử dụng để kiểm tra (testing) sao cho U train ∪U test =U và U train ∩U test =∅ Tập dữ liệu huấn luyện U train được sử dụng để xây dựng mô hình theo các thuật toán sử dụng trong hệ tư vấn/khuyến nghị.
Tập dữ liệu kiểm tra U test được sử dụng vào quá trình kiểm nghiệm thuật toán tư vấn. Chúng ta có thể biết đến một số cách tiếp cận thưởng được sử dụng để chia tập người dùng U thành 2 phần huấn luyện ( U train )và kiểm tra (U test ) là: Lấy mẫu Bootstrap (Bootstrap sampling) 9 Phân chia (Splitting) Kiểm thử chéo (k-fold cross validation).