Chương 1 giới thiệu tổng quan về những vấn đề của hệ thống tư vấn, nêu lên mục tiêu, nội dung nghiên cứu và những kết quả đạt được của luận văn. Chương 2 trình bày hiện trạng của các hệ thống tư vấn. Chương 3 trình bày hệ thống tư vấn liên lĩnh vực và một mô hình tư vấn liên lĩnh vực. Chương 4 trình bày giải pháp đề xuất cải tiến để tăng tính đa dạng trong mô hình tư vấn liên lĩnh vực.
Chương 5 trình bày quá trình tiến hành cũng như kết quả thực nghiệm của thuật toán được đề xuất trên bộ dữ liệu Amazon. Những đánh giá và phân tích cũng được trình bày nhằm giúp cho việc áp dụng mô hình cải tiến đã đề xuất. Chương 6 là phần kết luận và nêu lên một số hướng phát triển trong tương lai của luận văn. Luan van 9 Chương 2.
HỆ THỐNG TƯ VẤN Chương 2 sẽ trình bày hiện trạng nghiên cứu có liên quan đến luận văn, bao gồm phần tổng quan về hệ thống tư vấn, các cách tiếp cận chính và các kỹ thuật (đặc biệt kỹ thuật Matrix Factorization được đánh giá là có hiệu quả cao) thường được áp dụng trong hệ thống tư vấn. Khái niệm dùng trong hệ thống tư vấn Hệ thống tư vấn thường được sử dụng để dự đoán sở thích của NSD dựa vào những phản hồi của NSD nhằm gợi ý cho họ các sản phẩm mà NSD có thể thích. Hệ thống tư vấn hiện nay đang được ứng dụng trong nhiều lĩnh vực khác nhau như: thương mại điện tử (bán hàng trực tuyến, gợi ý các sản phẩm phù hợp với nhu cầu của NSD), trong giải trí và truyền thông đa phương tiện (tư vấn phim, nhạc, tin tức, …) mà NSD có thể quan tâm, trong giáo dục và đào tạo (gợi ý nguồn học liệu phù hợp với nhu cầu học tập và nghiên cứu). Ví dụ, hệ thống bán hàng trực tuyến của Amazon nhằm mục đích tối ưu hóa việc mua sắm trực tuyến của khách hàng.
Hệ thống này phân tích những khách hàng nào đã chọn “like” những sản phẩm theo dữ liệu trong quá khứ (dữ liệu này được xếp hạng dựa vào bình chọn, đánh giá trên sản phẩm, số lần click chuột trên sản phẩm, …) từ đó hệ thống sẽ dự đoán NSD có thể yêu thích sản phẩm nào để đưa ra những gợi ý phù hợp. Trong hầu hết các trường hợp, bài toán tư vấn được coi là bài toán ước lượng trước đánh giá (rating) của các sản phẩm (phim, sách, nhu yếu phẩm, nhà hàng,.) chưa được NSD xem xét. Việc ước lượng này dựa trên đánh giá của chính NSD này hoặc của những NSD khác. Admovicius và Tuzhinlin [4], [5], đã đưa ra các khái niệm dùng trong hệ thống tư vấn như sau: Không gian NSD (User Space): là tập hợp tất cả những NSD mà hệ thống quan Luan van 10 sát được để thực hiện việc phân tích, gợi ý tư vấn.
Không gian tư vấn (Recommendation Items Space): là tập hợp tất cả các đối tượng sẽ được gợi ý tư vấn cho NSD. Tùy vào từng lớp bài toán cụ thể, các đối tượng có thể là sách, phim, báo, địa điểm, món ăn, hay khóa học, … Ký hiệu I = {i1, i2,. Hàm hữu ích (Useful Function): là ánh xạ f(u,i): U x I R dùng để ước lượng mức độ hữu ích. Trong đó, i là một đối tượng trong không gian tư vấn I, u là một NSD trong không gian NSD U.
R là tập hợp có thứ tự các số nguyên hoặc số thực trong một khoảng nhất định. Tập hợp R phổ biến là 1-5 (tương tự đánh giá 5 sao các ứng dụng hay nhà hàng khách sạn). Bài toán tư vấn: Cho trước không gian NSD U = {u1, u2, .,un} và không gian tư vấn I = {i1, i2,. Xác định hàm hữu ích f(u,i): U x I R.
Giá trị f(u,i) sẽ giúp tiên đoán u thích i nhiều hay ít, hay nói cách khác i hữu ích thế nào với NSD u. Đối với mỗi NSD u, hệ thống tư vấn sẽ chọn TopN đối tượng i hữu ích đối với u để tư vấn ITopN = <i1, i2, …, iTopN> với TopN << m. Việc chọn TopN tùy thuộc vào nhu cầu thông tin của NSD, cũng như mục đích cung cấp thông tin của hệ thống tư vấn. Một giá trị TopN phổ biến là Top10.
Việc xây dựng hàm hữu ích f và ước lượng giá trị của các đối tượng tư vấn i cho NSD u có thể thực hiện bằng nhiều phương pháp như: dựa vào kinh nghiệm, heuristic, máy học, lý thuyết xấp xỉ… Một cách tổng quát ta có các hoạt động của hệ tư vấn gồm 3 bước (xem hình 2.1): Bước 1: Thu thập thông tin của NSD khi NSD tương tác với hệ thống và lưu vào trong hồ sơ NSD. Bước 2: Hệ thống xác định mối quan tâm của NSD và thực thi một thuật toán tư vấn nhằm so sánh, đánh giá mối liên hệ đối với hồ sơ của NSD tương tự khác hoặc đối với hồ sơ sản phẩm đã có. Bước 3: Đề xuất một tập hợp những sản phẩm NSD có thể quan tâm. Hồ sơ NSD Luan van 11 Hình 2.
Các thành phần trong hệ thống tư vấn.1 trên mô tả các thành phần chính trong một hệ thống tư vấn gồm: (1) Thành phần lưu trữ cơ sở dữ liệu về sản phẩm, hàng hóa hay thông tin cần tư vấn cho NSD. (2) Thành phần lưu trữ hồ sơ NSD giúp hệ thống “hiểu” về hành vi, sở thích của NSD. (3) Thành phần tư vấn sử dụng một thuật toán để tư vấn cho NSD. Một số cách tiếp cận Dựa vào cách xác định ước lượng hạng/điểm cho các sản phẩm đối với NSD, hệ thống tư vấn thường được chia thành ba loại chính: Thứ nhất là các hệ thống dựa vào CbF, tư vấn những items tương đồng với những gì mà NSD ưa thích trong quá khứ.
Thứ hai là phương pháp CF, tư vấn những items dựa vào những ý kiến đánh giá trong cộng đồng của NSD. Thứ ba là cách tiếp cận lai ghép kết hợp cả hai phương pháp trên để tận dụng ưu điểm và hạn chế nhược điểm của từng cách tiếp cận [3]. Tiếp cận theo nội dung (CbF) Cách tiếp cận CbF [20] gợi ý cho NSD những sản phẩm tương tự với các sản phẩm từng được họ đánh giá cao. Ví dụ, bạn đang dạo chơi trên một trang thương mại điện tử với mục đích ban đầu là tìm một chiếc quần bò nam.
Sau đó một loạt các sản phẩm liên quan đến thời trang nam được gợi ý cho bạn nào là balo, túi xách, thắt lưng,. và sau đó bạn nhận ra rằng mình đã bị cuốn theo những sản phẩm hay ho kia mà đôi khi còn quên mất luôn mục đích mình vào đây để làm gì. Những items tương tự với các items từng được đánh giá cao tức là gợi ý những items tương đồng về mặt nội dung với những items mà NSD đó đã ưa thích, đã mua, đã xem hay đã cho đánh giá cao trong quá khứ [19]. Trong cách tiếp cận này, mỗi NSD sẽ sở hữu một hồ sơ đặc trưng (profile) mô tả chủ yếu những sở thích hay sự quan tâm của NSD tùy theo phạm vi của ứng dụng như danh sách các thể loại phim, thể loại nhạc yêu thích hay những lĩnh vực nghiên cứu đang quan tâm.
Sau đó, hệ thống sẽ so khớp thông tin mô tả trong hồ sơ và phần biểu diễn nội dung của items để dự đoán mức độ ưa thích của NSD dành cho items đó. Để thực hiện lọc theo nội dung, ta cần giải quyết hai vấn đề: thứ nhất là biểu diễn Content(i) dưới dạng vector trọng số các nội dung, thứ hai là tính độ tương đồng giữa hồ sơ NSD và hồ sơ sản phẩm. Phương pháp dựa vào nội dung thường đạt hiệu quả cao khi việc trích chọn và biểu diễn các đặc trưng của items thành vector được thực hiện một cách hợp lý. Tuy nhiên, thách thức lớn của kỹ thuật này là phải làm thế nào để trích chọn được các đặc trưng của items, trong khi đối với một số lĩnh vực ứng dụng như âm nhạc hay tranh ảnh thì việc phân tích và biểu diễn nội dung của items không phải lúc nào cũng được thực hiện một cách dễ dàng.
Bên cạnh đó, các items được tư vấn dựa theo bộ lọc nội dung rất ít khi thể hiện được tính đa dạng và bất ngờ vì NSD có thể dễ dàng hình dung trước hệ thống sẽ tư vấn những items có nội dung tương tự như những items mà mình đã thích trước đó. Ví dụ, nếu NSD thích phim tình cảm thì hệ thống tư vấn áp dụng lọc theo nội dung sẽ chỉ tư Luan van 13 vấn những phim thuộc thể loại tình cảm và điều này có thể gây nên sự nhàm chán cho NSD vì không có khả năng khám phá những thể loại mới có thể rất thú vị mà trước đây chưa từng biết đến. Ngoài ra, để có thể vượt qua thách thức về khởi đầu lạnh (không có nhiều thông tin của NSD mới), hệ thống tư vấn cải tiến áp dụng một số luật cho NSD mới [22] để có thể đề xuất TopN items tư vấn. Tiếp cận theo cộng tác (CF) Hệ thống tư vấn CF gợi ý cho NSD những sản phẩm mà những người cùng sở thích với họ đánh giá cao.
Nghĩa là hệ thống sẽ phân tích những NSD có cùng đánh giá, cùng mua hiện tại sau đó tìm ra danh sách các items khác cũng được đánh giá bởi các NSD này, xếp hạng và gợi ý cho NSD. Tư tưởng của phương pháp này chính là dựa trên sự tương đồng về sở thích giữa những NSD để đưa ra các gợi ý (xem hình 2. Minh họa hệ thống tư vấn - lọc cộng tác. Về nguyên tắc, phương pháp CF sử dụng tập các ratings đã được biết trước của NSD để ước lượng hàm dự đoán f dành cho những items chưa được đánh giá: f: User x Item → Rating Luan van 14 Trong đó Rating là thang điểm đánh giá thường từ 1-5.
Thang điểm này phụ thuộc vào từng ứng dụng, ví dụ như giá trị đánh giá nằm trong khoảng từ 1 (tương ứng với ghét) đến 5 (tương ứng với rất thích). Công việc dự đoán trong CF là ước lượng các f(user, item) chưa được đánh giá bởi NSD. Lọc cộng tác [18] là một trong các cách tiếp cận thành công để xây dựng các hệ thống tư vấn. Khác với lọc theo nội dung, lọc cộng tác sẽ dựa trên những đánh giá của nhóm NSD hợp “gu” với NSD uc để ước lượng giá trị f(c,s) (giá trị hữu ích của sản phẩm s với NSD uc).