Chương 1. Giới thiệu tổng quan về các vấn đề nghiên cứu trong luận văn, bao gồm: Hệ gợi ý, ngữ cảnh trong hệ gợi ý. Trình bày tích hợp thông tin ngữ cảnh trong hệ gợi ý gồm các cơ chế lọc trước theo ngữ cảnh, lọc sau theo ngữ cảnh, mô hình hóa ngữ cảnh. Trình bày thực nghiệm, bao gồm cài đặt thực nghiệm, kết quả thực nghiệm, đánh giá.
GIỚI THIỆU Trong chương này chúng tôi trình bày sơ lược hệ gợi ý, phát biểu bài toán, cách tiếp cận giải quyết bài toán trong hệ gợi ý, các miền đã và đang được ứng dụng, sau đó nêu định nghĩa ngữ cảnh và các độ đo liên quan đến việc đánh giá hệ gợi ý. Tổng quan về hệ gợi ý 1. Bài toán hệ gợi ý Hệ gợi ý có thể được định nghĩa như một dạng của hệ thống lọc thông tin để đưa ra các sản phẩm1 , dịch vụ người dùng có thể quan tâm [1]. Hệ gợi ý được ứng dụng rộng rãi trong các lĩnh vực như mua sắm trực tuyến, đọc tin tức, âm nhạc, du lịch, xem phim, mạng xã hội (Amazon, Yahoo! Today News, Last.fm, Tripadvisor, Netflix, Facebook).
Các hướng tiếp cận xây dựng hệ gợi ý có thể chia thành ba loại: hướng tiếp cận lọc cộng tác, hướng tiếp cận dựa trên nội dung và hướng tiếp cận kết hợp lọc cộng tác với dựa trên nội dung [2]. Trong hệ gợi ý truyền thống, mỗi người dùng đánh giá sản phẩm như là một cách thể hiện mức độ hài lòng (thích, quan tâm) của mình đối với sản phẩm đó. Các giá trị này thuộc tập có thứ tự, chẳng hạn 1 − 5 trong đó 1 là rất không hài lòng đến 5 là rất hài lòng. Chúng có thể được thu thập tường minh hoặc ngầm định.
Hệ gợi ý được xây dựng trên dữ liệu sở thích của người dùng về các sản phẩm được biểu diễn dưới dạng ma trận U sers × Items. Trong đó, mỗi dòng là đại diện cho một người dùng và các đánh giá của người dùng đó trên các sản phẩm khác nhau của hệ thống. Mỗi cột là đại diện cho một sản phẩm và các đánh giá của các người dùng khác nhau lên sản phẩm này. Thông thường, ma trận này thưa vì có rất ít cặp user, item có dữ liệu đánh giá.
Mục tiêu của hệ gợi ý là dự đoán 1 Chúng tôi sử dụng thuật ngữ "sản phẩm" để chỉ các đối tượng (sản phẩm, dịch vụ hoặc các tin tức, bài báo, mẫu tin quảng cáo) người dùng quan tâm, đánh giá trong hệ gợi ý. 3 e các đánh giá chưa biết cho các cặp user, item còn lại, từ đó gợi ý đến người dùng những sản phẩm có đánh giá dự đoán cao. Một cách hình thức, gọi U là tập các người dùng, M = |U | là tổng số người dùng trong U , u ∈ U là một người dùng trong U. I là tập các sản phẩm, N = |I| là tổng số sản phẩm trong I, i ∈ I là một sản phẩm trong I.
Gọi Y là ma trận đánh giá và Ŷ là ma trận đánh giá được dự đoán. rui biểu diễn đánh giá của người dùng u trên sản phẩm i và r̂ui biểu diễn đánh giá dự đoán của người dùng u trên sản phẩm i. Bài toán hệ gợi ý nhằm xây dựng hàm dự đoán đánh giá r sao cho r : U × I → R, ánh xạ mỗi cặp (u, i) ∈ U × I vào tập giá trị đánh giá R, hay r(u, i) = r̂ui. Nói cách khác, thông qua hàm dự đoán đánh giá r, lấp đầy ma trận đánh giá R.
Trong hệ gợi ý, tính tiện ích của sản phẩm i thường biểu thị mức độ quan tâm của người dùng tới một mặt hàng cụ thể thông qua trọng số; ví dụ người dùng u1 đánh giá i3 có trọng số là 4 như trong Bảng 1.1: Bảng ma trận trọng số đánh giá của hệ gợi ý. Cách tiếp cận giải quyết bài toán Có ba cách tiếp cận để giải quyết bài toán: 1. Lọc cộng tác Các thuật toán dựa trên lọc cộng tác khai thác dữ liệu về sở thích của người dùng trong quá khứ và sự tương đồng giữa các người dùng hoặc giữa các sản phẩm để đưa ra gợi ý [1, 3–7]. Nói cách khác, các hệ thống lọc cộng tác giúp người dùng lựa chọn sản phẩm dựa vào ý kiến, sự đánh giá của những người khác [8].
Lọc cộng tác có thể chia thành hai nhóm: phương pháp dựa trên láng giềng và phương pháp dựa trên mô hình. Các phương pháp lọc cộng tác dựa trên láng giềng sử 4 e dụng trực tiếp dữ liệu đánh giá của các cặp người dùng - sản phẩm đã biết để dự đoán các đánh giá chưa biết. Trong khi đó, với các phương pháp lọc cộng tác dựa trên mô hình, dữ liệu đánh giá được sử dụng để học mô hình dự đoán đánh giá [2]. Phương pháp lọc cộng tác dựa trên láng giềng lại được chia thành hai hướng tiếp cận: dựa trên người dùng và dựa trên sản phẩm.
Giả sử cần dự đoán đánh giá của người dùng u cho sản phẩm i. Hướng tiếp cận thứ nhất có ý tưởng chính là: hệ thống dựa vào các đánh giá của những người tương đồng với u (láng giềng của u), để dự đoán đánh giá của u cho i. Ý tưởng chính của hướng tiếp cận thứ hai là: hệ thống dựa trên lịch sử đánh giá của người dùng u trên các sản phẩm khác tương đồng với i để dự đoán đánh giá của u cho i. Ví dụ, đa số những người dùng đã đọc quyển sách "The 7 habits of highly effective people" của Stephen R.
Covey, và cuốn "Good To Great" của Jim Collins họ đều tìm mua cuốn "Think and Grow Rich" của Napoleon Hill. Từ những thông tin này, có thể nhóm họ thành nhóm những người có cùng sở thích. Sau đó, khi có một người dùng khác, họ muốn mua quyển sách "The 7 habits of effective people" và "Good to great" hệ thống sẽ gợi ý cho họ cuốn sách "Think and grow rich" có thể là cuốn sách mà họ quan tâm, minh họa Hình 1.1: Minh họa phương pháp lọc cộng tác. Dựa vào nội dung Các thuật toán dựa trên nội dung khai thác thuộc tính của sản phẩm, xác định các đặc điểm chung của các sản phẩm người dùng quan tâm, từ đó gợi ý cho người dùng những sản phẩm có đặc điểm tương tự [9–13].
Ví dụ, trong hệ gợi ý phim, các thuộc tính của phim (như thể loại, đạo diễn, diễn viên,.) được khai 5 e thác để gợi ý những bộ phim người dùng có thể thích. Giả sử một người dùng thường đánh giá tốt các bộ phim có diễn viên A tham gia, hệ thống sẽ gợi ý cho người dùng này những bộ phim khác có đặc điểm như vậy. Cách tiếp cận kết hợp Kết hợp cả hai phương pháp lọc cộng tác và dựa trên nội dung. Nhiều hệ thống gợi ý kết hợp nhiều phương pháp: nội dung sản phẩm (iteam-base), nội dung người dùng (user-base), phân rã ma trận (metrix factorization) và cả nội dung ngữ cảnh(content-base filtering).
Trong các cách tiếp cận trên tiếp cận dựa trên lọc cộng tác thường được sử dụng nhiều nhất. Cách này dựa trên những hành vi quá khứ của người dùng (lịch sử giao dịch, đánh giá sản phẩm, xem một bộ phim, nghe một bài hát),. và đặc biệt là nó không cần thiết phải tạo ra các hồ sơ tường minh cho người dùng. Để gợi ý các sản phẩm cho người dùng, hệ thống lọc cộng tác cần so sánh các đối tượng cơ bản khác nhau như các sản phẩm và người dùng.
Miền ứng dụng của hệ gợi ý Hệ gợi ý ứng dụng trong thực tế ở nhiều lĩnh vực miền khác nhau (Amazon, Ebay, YouTube, Netflix, LastFM,. Sau đây giới thiêu một số ứng dụng gần đây trong thương mại điện tử, giải trí, giáo dục. Thương mại điện tử Đi đầu trong lĩnh vực này là Amazon và Ebay, họ đã rất thành công trong việc tích hợp hệ gợi ý. nói riêng và các kỹ thuật trong khai phá dữ liệu nói chung vào hệ thống.
Giải trí Last.fm là một hệ thống (website) gợi bài hát rất nổi tiếng trên thế giới. Dựa trên các xếp hạng người dùng đã cho trên các bài hát trong quá khứ, hệ thống gợi ý những bài hát kế tiếp mà người dùng được dự đoán là sẽ thích 6 e chúng. Trong nước, một số hệ thống nghe nhạc trực tuyến có tích hợp kỹ thuật gợi ý (nhaccuatui.com - một trong các hệ thống gợi ý phim nổi tiếng thế giới. Hệ thống này cũng dựa trên các đánh giá trong quá khứ để dự đoán sở thích của người dùng trên các bộ phim mà họ chưa xem.
Giáo dục Nhóm tác giả [14] đã đề xuất sử dụng kỹ thuật (BMF) để dự đoán kết quả học tập của sinh viên, từ đó đưa ra những gợi ý phù hợp cho sinh viên lựa chọn những môn học tự chọn. Hệ thống này xử lý dữ liệu điểm của sinh viên, chuyển chúng theo định dạng phù hợp với giải thuật BMF, tìm kiếm siêu tham số, đánh giá và so sánh với các giải thuật khác. Đánh giá hệ gợi ý 1. Các phương pháp đánh giá Các phương pháp đánh giá hệ gợi ý có thể chia thành ba loại, bao gồm: đánh giá trực tuyến (online evaluation), thực nghiệm không trực tuyến (offline experimental setup) và nghiên cứu người dùng (user study).
Phương pháp đánh giá trực tuyến Được sử dụng để so sánh các thuật toán gợi ý, từ đó lựa chọn thuật toán tốt nhất, trong đó, các thuật toán cần đánh giá sẽ được cài đặt trên một hệ thống thực nghiệm trực tuyến. Với mỗi hành động từ người dùng, hệ thống sẽ gửi dữ liệu (chẳng hạn như thông tin tương tác của người dùng với hệ thống) đến một thuật toán và trả kết quả gợi ý từ thuật toán này đến người dùng. Thuật toán nào trả về kết quả có tỷ lệ lựa chọn cao hơn sẽ là thuật toán tốt hơn. Độ đo thường được sử dụng trong phương pháp này là CTR (Click Through Rate), thể hiện tỷ lệ các gợi ý được người dùng nhấn vào so với tổng số gợi ý thuật toán đưa ra.com 7 e đảm bảo việc đánh giá công bằng, các thuật toán sẽ được lựa chọn một cách ngẫu nhiên [15].
Phương pháp này có ưu điểm là nhận được các phản hồi từ người dùng trong môi trường thật. Những tương tác của người dùng với hệ thống thể hiện chính xác hành vi, mong muốn của họ.