Bài viết này đề xuất giải pháp kết hợp mô hình dự báo và kỹ thuật Tensor Factorization để xem xét đến yếu tố sở thích của người dùng có thể thay đổi theo thời gian nhằm khai thác và tận dụng được các thông tin về thời gian cũng như trình tự mà người dùng đã phản hồi trên hệ thống.
Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XI Nghiên cứu ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 09-10/8/2018 DOI: 10.15625/vap.2018.00037 MỘT GIẢI PHÁP DỰ ĐỐN SỞ THÍCH NGƯỜI DÙNG THEO THỜI GIAN Lê Ngọc Quyền, Nguyễn Hữu Hoà, Nguyễn Thái Nghe Khoa Công nghệ thông tin Truyền thông, Đại học Cần Thơ lnquyen232@gmail.com, nhhoa@ctu.edu.vn, ntnghe@cit.ctu.edu.vn TÓM TẮT: Hệ thống gợi ý (Recommender Systems - RS) hỗ trợ người dùng trình định cách dự đốn sở thích dựa hành vi q khứ họ Bài viết đề xuất giải pháp kết hợp mơ hình dự báo kỹ thuật Tensor Factorization để xem xét đến yếu tố sở thích người dùng thay đổi theo thời gian nhằm khai thác tận dụng thông tin thời gian trình tự mà người dùng phản hồi hệ thống Tiếp cận thực nghiệm tập liệu lĩnh vực khác đánh giá độ đo RMSE (Root Mean Squared Error) So sánh với kỹ thuật Baselines khác không quan tâm đến vấn đề ảnh hưởng yếu tố thời gian cho thấy giải pháp khả quan Từ khóa: Hệ thống gợi ý, kỹ thuật dự báo, phân rã ma trận, lọc cộng tác I GIỚI THIỆU Hệ thống gợi ý (Recommender Systems - RS) nghiên cứu phát triển giải pháp hữu ích hỗ trợ người dùng giải vấn đề tải thông tin hệ thống [4, 9] Thơng qua RS hệ thống thơng tin dự đốn sở thích người dùng, giúp đưa gợi ý phù hợp thay bắt buộc người dùng phải tìm kiếm thơng tin Để làm điều RS dựa vào hành vi hay phản hồi (feedbacks) mà người dùng thực khứ Các tương tác người dùng chủ yếu phân loại thành phản hồi tường minh (explicit feedback) phản hồi tiềm ẩn (implicit feedbacks) Phản hồi tường minh xác định thông qua việc đánh giá/xếp hạng (ví dụ, rating từ đến 5; hay like (1) dislike (0),…) mà người dùng đánh giá sản phẩm - trường hợp gọi dự đoán xếp hạng (rating prediction) Ngược lại, phản hồi tiềm ẩn suy từ hành động người dùng số lần click chuột, số lần chọn mua sản phẩm, thời gian mà người dùng duyệt/xem sản phẩm,… Với tính dự đốn nhu cầu người dùng cung cấp đề xuất, RS không làm tăng trải nghiệm người dùng mà thúc đẩy tăng doanh thu nhà cung cấp dịch vụ Vì thế, có nhiều hệ thống lớn thuộc nhiều lĩnh vực khác ứng dụng RS để phát triển dịch vụ phục vụ khách hàng như: Amazon, Google News, Netflix, Chính khả ứng dụng rộng rãi, nên việc tạo RS có độ xác cao ln chủ đề nhà khoa học quan tâm Với thành công Giải thưởng Netflix [8, 12], kỹ thuật phân rã ma trận (Matrix factorization - MF) thuộc nhóm giải thuật lọc cộng tác trở thành phương pháp phổ biến (state-of-the-art) lĩnh vực dự đoán xếp hạng Tuy nhiên, đa số giải thuật thuộc nhóm MF dựa vào tương quan user item để đưa dự đốn (User × Item → Rating) mà chưa quan tâm đến yếu tố thời gian xây dựng mơ hình gợi ý Nói cách khác, nhóm giải thuật MF đa số tập trung vào giới thiệu mục tin phù hợp với người dùng dựa vào tất liệu khứ người dùng đó, mà chưa xem xét đến yếu tố sở thích người dùng thay đổi theo thời gian Khi số đánh giá lâu trước khơng cịn phù hợp với sở thích người dùng Chẳng hạn, khách hàng có xu hướng thích sản phẩm đưa thị trường gần sản phẩm cũ, khứ sản phẩm nhiều người ưa chuộng thời điểm khơng cịn phù hợp Bài viết đề xuất giải pháp dự đốn sở thích người theo thời gian, nhằm tích hợp yếu tố thời gian vào mơ hình MF để cải thiện độ xác mơ hình gợi ý truyền thống II HỆ THỐNG GỢI Ý VÀ CÁC NGHIÊN CỨU LIÊN QUAN 2.1 Hệ thống gợi ý Hệ thống gợi ý bao gồm kỹ thuật công cụ hỗ trợ người dùng việc tìm kiếm thơng tin cách dự đốn sở thích (preferences) hay xếp hạng (rating) mà người dùng (user) dành cho mục thông tin (item - sản phẩm, dịch vụ, thơng tin,…) mà họ chưa xem xét tới khứ nhằm đưa gợi ý phù hợp với nhu cầu sở thích người dùng Các gợi ý kết tính tốn dựa việc thu thập liệu người dùng mua hàng, đưa đánh giá cá nhân gọi chung phản hồi (feedbacks) Tùy theo hệ thống mà giá trị có ý nghĩa khác nhau, ví dụ phản hồi dùng để đo độ “phù hợp” hay “mức độ thích” (thường đánh giá sản phẩm) hệ thống thương mại điện tử hay “năng lực/kết thực hiện” người dùng hệ thống elearning Phản hồi người dùng tường minh (explicit) hay tìm ẩn (implicit) Hiện nay, có nhiều hệ thống lớn thu thập thông tin phản hồi từ khách hàng cách tường minh, Ebay, Amazon, LastFM, NetFlix, người trực tiếp đánh giá sản phẩm, bình chọn từ « (khơng thích) đến ««««« (rất thích); hay Youtube thu thập thơng tin qua like()/ disklike(), hệ thống khác [12] Thông qua việc thu thập phản hồi tường minh, hệ thống MỘT GIẢI PHÁP DỰ ĐỐN SỞ THÍCH NGƯỜI DÙNG THEO THỜI GIAN 274 dễ dàng xác định mức độ yêu thích người dùng sản phẩm, từ dự đốn sản phẩm mà người dùng thích để gợi ý cho họ Tuy nhiên, điều gây bất lợi khơng phải người dùng lúc sẳn sàng/vui lòng để lại phản hồi họ, hệ thống cần xác định người dùng cần thơng qua phản hồi tiềm ẩn dựa vào hành vi người dùng như: số lần click chuột, số lần chọn mua sản phẩm, thời gian mà người dùng duyệt/xem sản phẩm,… Cấu trúc hệ thống gợi ý gồm ba thành phần chính: người dùng (user), mục tin (item, item sản phẩm, phim, hát, báo, tùy vào hệ thống) phản hồi (feedback) người dùng mục tin (thường xếp hạng/đánh giá - rating biểu diễn mức độ thích/quan tâm họ) Các thông tin biểu diễn thông qua ma trận Hình Ở đó, dòng user, cột item, giá trị phản hồi (ví dụ, xếp hạng) biểu diễn “mức độ thích” user item tương ứng Các có giá trị item mà user xếp hạng khứ Những ô trống item chưa xếp hạng (điều đáng lưu ý user xếp hạng cho vài item khứ, có nhiều trống ma trận - cịn gọi ma trận thưa - sparse matrix) Items Users : u : 1 m 5 ? n Hình Ma trận biểu diễn liệu RS Nhiệm vụ RS dựa vào “ơ có giá trị” ma trận trên, thơng qua mơ hình xây dựng, RS dự đốn “các cịn trống”, sau xếp kết dự đốn (ví dụ, từ cao xuống thấp) chọn Top-N items theo thứ tự, từ gợi ý chúng cho người dùng Bài tốn gợi ý biểu diễn sau: Gọi U tập hợp n người dùng (user), |U| = n, u người dùng cụ thể (u ∈ U) Gọi I tập hợp m mục thông tin (item), |I| = m, i mục thông tin cụ thể (i ∈ I) Gọi R tập hợp giá trị phản hồi người dùng (các phản hồi thường “sở thích” (preference) người dùng) rui ∈ R xếp hạng người dùng u mục thông tin i Gọi r(u, i) hàm đo độ phù hợp (hay hạng) sản phẩm i với người dùng u: ( ̂ : U I R) Mục tiêu RS tìm hàm ̂ dự đoán giá trị xếp hạng người dùng cho hàm mục tiêu (objective function) ̂ ) thỏa mãn điều kiện Ví dụ, hàm ước lượng độ xác cần phải tối đa hóa, cịn hàm để đo độ lỗi Root Mean Squared Error cần phải tối thiểu 2.2 Dự báo dựa phân tích chuỗi thời gian Dự báo (forecasting) phương pháp tiên đoán việc xảy tương lai, sở phân tích khoa học liệu thu thập Hiện nay, có nhiều phương pháp dự báo từ phương pháp đơn giản đến phức tạp Về chia làm nhóm: định tính (qualitative) định lượng (quantitative [2, 3] Dự báo định tính (qualitative): Được sử dụng điển hình khơng có thơng tin cho mơ hình tốn học Khi dự báo đưa cách phân tích định tính dựa vào suy đốn, cảm nhận Các phương pháp phụ thuộc nhiều vào trực giác, kinh nghiệm nhạy cảm nhà quản trị q trình dự báo, mang tính đốn, khơng định lượng Tuy nhiên chúng có ưu điểm đơn giản, dễ thực thời gian nghiên cứu dự báo nhanh, chi phí dự báo thấp kết dự báo nhiều trường hợp tốt Dự báo định lượng (quantitative): Các phương pháp dự báo định lượng dựa vào số liệu thống kê thơng qua cơng thức tốn học thiết lập để dự báo nhu cầu cho tương lai Khi dự báo nhu cầu tương lai, không xét đến nhân tố ảnh hưởng khác dùng phương pháp dự báo theo chuỗi thời gian Nếu cần ảnh hưởng nhân tố khác đến nhu cầu dùng mơ hình hồi quy tương quan, Bài viết tập trung đến phương pháp dự báo định lượng, phương pháp dựa báo chuỗi thời gian (time series forcasting) phương pháp sử dụng phổ biến Trong phương pháp đại lượng cần dự báo xác định sở phân tích chuỗi số liệu thu khứ Các yếu tố đặc trưng chuỗi thời gian gồm: Tính xu hướng (Trend): Thể thay đổi liệu theo thời gian (tăng, giảm, ); Tính mùa vụ (Season): Thể dao động hay biến đổi liệu theo thời gian lặp lặp lại theo chu kỳ đặn tác động hay nhiều nhân tố môi trường xung quanh tập quán sinh hoạt, hoạt động kinh tế - xã hội; Biến đổi có chu kỳ (Cycle): Là yếu tố lặp lặp lại sau giai đoạn thời gian, chu kỳ sinh học, chu kỳ Lê Ngọc Quyền, Nguyễn Hữu Hoà Nguyễn Thái Nghe 275 phục hồi kinh tế, Biến đổi ngẫu nhiên (Randomness): Dao động liệu yếu tố ngẫu nhiên gây ra, khơng có quy luật Có nhiều kỹ thuật dùng để dự báo dựa việc phân tích chuỗi thời gian, chúng chia thành nhóm: mơ hình hóa chuỗi thời gian động (open/dynamic model time series) kỹ thuật phân tích chuỗi thời gian cố định (fixed model time series) [2, 3] Ở đây, tập trung số phương pháp dự đốn dựa phân tích chuỗi thời gian điển hình như: Phương pháp trung bình có trọng số (Weighted Moving Average): Tương tự phương pháp trung bình đơn có gán trọng số cho liệu Phương pháp san hàm số mũ (Exponential Smoothing - ES): Đây phương pháp dự đoán dựa liệu gần cộng với phần trăm chênh lệch số dự đoán số thực tế thời điểm dự đốn Từ đề xuất cách tích hợp chúng vào mơ hình Tensor Factorization hệ thống gợi ý III GIẢI PHÁP DỰ ĐỐN SỞ THÍCH CỦA NGƯỜI DÙNG THEO THỜI GIAN 3.1 Kỹ thuật phân rã ma trận Kỹ thuật phân rã ma trận (Matrix factorization - MF) thực thông qua việc chia ma trận lớn X thành ma trận có kích thước nhỏ nhiều so với ma trận ban đầu W H, cho X xây dựng lại từ hai ma trận xác tốt [8], nghĩa minh hoạ Hình Hình Minh họa kỹ thuật phân rã ma trận Trong đó: K số nhân tố tiềm ẩn nhỏ nhiều so với số người dùng số mục liệu (K