CHƯƠNG 3. PHÂN TÍCH NGỮ CẢNH VÀ MÔ HÌNH KHUYẾN NGHỊ
3.1. Phân tích ngữ cảnh ứng dụng
Trong đề tài này, nhóm tác giả muốn xây dựng một ứng dụng Web dành cho các thiết bị di động. Các mẫu quảng cáo đƣợc hiển thị ngay tại trang chính của ứng dụng với nội dung là các địa điểm đƣợc đánh giá cao từ bạn bè hoặc địa điểm nổi tiếng. Người sử dụng có thể chia sẻ những địa điểm yêu thích với bạn bè hoặc đánh giá địa điểm kèm theo ngữ cảnh ví dụ: họ thích địa điểm này vào buổi sáng, buổi chiều hay buổi tối, thích vào ngày cuối tuần hay ngày trong tuần… Người dùng có thể tag vào địa điểm hoặc thêm địa điểm vào danh sách yêu thích. Hệ thống sẽ lưu những đánh giá, ngữ cảnh và hành vi tag của người dùng, sau đó tính toán và đưa ra những gợi ý sản phẩm mới phù hợp với họ.
(a) (b)
Hình 3.1. Giao diện ứng dụng.
(a) Giao diện trang chính (b) Giao diện trang hiển thị các địa điểm phù hợp với người dùng.
3.1.2. Phân tích ngữ cảnh
Dựa vào mô tả ở đề mục trên, nhóm tác giả liệt kê ra các ngữ cảnh đƣợc sử dụng trong đề tài này, bao gồm: vị trí của người sử dụng (location); hành động đánh giá địa điểm của người dùng (rating); thời gian (cuối tuần hay các ngày trong tuần – visiting day, các buổi trong ngày – visiting time); hành động gán nhãn cho địa điểm (tag).
Vị trí người dùng: đây là ngữ cảnh đầu tiên có thể thu thập, đƣợc dùng để loại bỏ bớt những địa điểm quá xa so với người dùng.
Hành động đánh giá địa điểm của người dùng: theo Burke [11], các kỹ thuật khuyến nghị khác nhau đòi hỏi những ngữ cảnh phù hợp để mang hiệu quả cao nhất.
Hình 3.2 thể hiện mối tương quan giữa các kỹ thuật khuyến nghị cùng với các ngữ cảnh phổ biến. Theo [10, 11], hướng tiếp cận tốt nhất cho bài toán rating là kỹ thuật Collaborative Filtering. Collaborative Filtering bao gồm 2 hướng: memory-based và model-based. Memory-based sử dụng ma trận (user x item x rating) để phân chia người dùng theo từng nhóm, sau đó đưa ra dự đoán chỉ số đánh giá trên những sản phẩm mà người dùng (active user) chưa đánh giá. Việc phân chia người dùng được tính toán dựa vào các độ đo tương đồng. Model-based mô hình hóa những gì người dùng đã đánh giá trong quá khứ dựa vào ma trận (user x item x rating). Sau đó, mô hình này đƣợc dùng để đƣa ra những dự đoán về chỉ số đánh giá ở những sản phẩm tiếp theo. So với memory-based, model-based đƣa ra dự đoán nhanh hơn vì việc mô hình hóa hành vi người dùng được diễn ra offline, trái ngược với memory-based tuy nhiên ƣu điểm này cũng dẫn đến nhƣợc điểm khác của model-based là không đáp ứng được những thay đổi tức thời từ hành vi của người dùng so với memory-based.
Vì vậy, trong đề tài này, nhóm tác giả sẽ ứng dụng memory-based thay vì model- based.
Thời gian: Giữa chỉ số rating và thời gian có một mối quan hệ nhất định: nó cho thấy sự quan tâm của người dùng đối với một địa điểm tại một thời điểm cụ thể.
Ví dụ như: người dùng A thích vị trí X tại thời điểm là: cuối tuần và buổi trưa…
Ahn [12] cũng chỉ ra rằng việc mở rộng kỹ thuật memory-based với ngữ cảnh thời gian sẽ mang lại giá trị dự đoán tốt hơn.
Hình 3.2. Các kỹ thuật khuyến nghị và ngữ cảnh phổ biến kèm theo [11].
Hành động gán nhãn cho địa điểm: Zhou [13] đề xuất một phương pháp sử dụng đồ thị các tag để mô hình hóa sự quan tâm của người sử dụng, từ đó đưa ra các khuyến nghị phù hợp. Phương pháp của Zhou dựa trên việc phân chia và tìm kiếm cấu trúc cộng đồng (finding community structure) đƣợc miêu tả bởi Newman [14]
và Clauset [15]. Việc đánh giá mức độ của community structure dựa vào một độ đo Q (Quantity) và Newman gọi độ đo này là Modularity. Phương pháp này sẽ được trình bày trong đề mục tiếp theo.
Tóm lại, trong đề tài này, nhóm tác giả đề xuất một mô hình kết hợp cả ba kỹ thuật khuyến nghị: memory-based collaborative filtering, time và tag. Ý tưởng chính của mô hình này nhƣ sau:
- Dựa vào ma trận (user x item x rating) và Memory-based Collaborative Fitlering để tính toán độ tương đồng giữa người dùng A với những người dùng khác.
- Điều chỉnh độ tương đồng giữa hai người dùng bằng cách kết hợp với ngữ cảnh thời gian dựa vào phương pháp của Ahn [12].
- Điều chỉnh độ tương đồng giữa hai người dùng bằng cách kết hợp với tag dựa vào phương pháp của Zhou [13], Newman [14], Clauset [15] và phương pháp mà nhóm tác giả đề xuất.
Domain Knowledge
Knowledge-based Recommendation
User’s Need or Query
User Ratings Database
User’s Ratings
User Demographics DB
Product Database
User’s Demographics Content-based
Recommendation
Demographic Recommendation
Collaborative Recommendation
- Kết hợp các độ tương đồng và đưa ra kết quả dự đoán đánh giá cho những sản phẩm người dùng A chưa biết.
Hình 3.3. Mô hình khuyến nghị EgoRec đƣợc sử dụng trong đề tài
Với: U, I, T, R, C lần lượt là các chiều: người dùng (User), địa điểm (Item), các nhãn được gán cho vị trí (Tag), đánh giá của người dùng (Rating), ngữ cảnh thời gian (Context), , , lần lượt là độ tương đồng giữa người dùng u và v trong các trường hợp tương ứng là: chỉ bao gồm đánh giá của người dùng, chỉ bao gồm ngữ cảnh thời gian, chỉ bao gồm hình động gán nhãn cho địa điểm.
Hình 3.3 là mô hình khuyến nghị mang tên EgoRec mà nhóm tác giả đề xuất sử dụng trong đề tài này. Chi tiết các phương pháp thực hiện của mô hình này sẽ đƣợc đề cập trong những đề mục tiếp theo.