Bài viết nghiên cứu đánh giá một số thuật toán dựa trên người dùng trong lọc cộng tác để đưa ra khuyến nghị cho người sử dụng. Kết quả khuyến nghị này được dựa trên những hành vi của những người sử dụng trước đó.
TẠP CHÍ KHOA HỌC SỐ 21 * 2019 41 ĐÁNH GIÁ CÁC THUẬT TOÁN DỰA TRÊN NGƯỜI DÙNG SỬ DỤNG TRONG HỆ THỐNG KHUYẾN NGHỊ Lê Văn Thịnh* Trường Cao đẳng Cơng thương miền Trung Tóm tắt Hiện nay, nhu cầu mua hàng trực tuyến người tiêu dùng ngày tăng mạnh, để đáp ứng hài lòng người sử dụng, nhà cung cấp dịch vụ đưa nhiều giải pháp để hỗ trợ người sử dụng tìm kiếm mặt hàng tốt mà họ cần mua Trong báo này, nghiên cứu đánh giá số thuật toán dựa người dùng lọc cộng tác để đưa khuyến nghị cho người sử dụng Kết khuyến nghị dựa hành vi người sử dụng trước đó.Thí nghiệm thực hai liệu MovieLens EachMovie Kết cho thấy thuật toán Euclidean cho kết tốt Thuật toán ứng dụng hệ thống bán hàng trực tuyến để nâng cao hiệu tìm kiếm sản phẩm Từ khóa: Thuật tốn dựa người dùng, chất lượng dịch vụ, hệ thống khuyến nghị Abstract Evaluation of user-based algorithms used in the recommendation system Nowadays, the consumers’ demand for online shopping is rapidly increasing To satisfy the users’ satisfaction, service providers have come up with many solutions to support the users in searching for the best items In this paper, we examine a number of user-based algorithms in collaborative filtering for user recommendations, which is based on the previous users’ behaviors The experiment was performed on the two data sets called “MovieLens” and “EachMovie” The results showed that the Euclidean algorithm produces the best results This algorithm might be used in online trading systems to improve the searching efficiency Keywords: User-based algorithms, quality of service, recommendation system Giới thiệu Hiện nhu cầu mua hàng trực tuyến tăng, có nhiều trang web bán hàng trực tuyến Việt Nam Do đó, người tiêu dùng có nhiều lựa chọn Tuy nhiên, với số lượng nhà cung cấp dịch vụ ngày tăng nhiều nhà cung cấp dịch vụ có sản phẩm tương tự nên gây khó khăn cho người tiêu dùng việc lựa chọn sản phẩm tốt Trong nghiên cứu chúng tơi thực thí nghiệm đánh giá số thuật toán dựa người dùng (User-based) lọc cộng tác, tìm thuật tốn tối ưu để ứng dụng trình hỗ trợ người tiêu dùng lựa chọn sản phẩm tốt bối cảnh có hàng nghìn nhà cung cấp dịch vụ khác Đóng góp giúp cho nhà cung cấp dịch vụ sử dụng thuật tốn có độ tin cậy cao trình đưa khuyến cáo Các thuật toán dựa người dùng Thuật toán dựa người dùng [5,1] hay gọi phương pháp tiếp cận vùng lân * Email: thinhcdcn@gmail.com 42 TRƯỜNG ĐẠI HỌC PHÚ YÊN cận dựa người dùng, phương pháp sử dụng thông dụng lọc cộng tác tuân thủ theo hai bước sau: (1) Tính tốn tương tự người dùng hoạt động người dùng lân cận (2) Chọn tập hợp người sử dụng hàng xóm (vùng lân cận) tương tự với người dùng hoạt động, sau dự đốn cách sử dụng dựa xếp hạng người dùng hàng xóm Một số thuật tốn sử dụng đánh giá có liên quan đến người sử dụng 2.1 Pearson Correlation degree Pearson correlation độ đo tính tương đồng hai người dùng dựa tương quan thống kê [4] Độ tương đồng hai người dùng u v xác định công thức: Với giá trị tương đồng người dùng u người dùng v; I tập sản phẩm hay mục liệu xếp hạng hai người dùng; giá trị xếp hạng người dùng u cho sản phẩm i; giá trị xếp hạng người v dùng cho sản phẩm i; 2.2 CosineSimilarity Cosine Similarity độ đo tính tương đồng hai người dùng dựa không gian vector đại số tuyến tính [3] Các giá trị xếp hạng người dùng m sản phẩm hay mục liệu biểu diễn vector m chiều Độ tương đồng hai người dùng u v xác định khoảng cách Cosine hai vector vector theo công thức sau: Với giá trị tương đồng người dùng u người dùng v; m số chiều vector (số sản phẩm); giá trị xếp hạng người dùng u cho sản phẩm i; giá trị xếp hạng người v dùng cho sản phẩm i 2.3 Euclidean Distance Similarity Euclidean Distance Similarity độ đo tính tương đồng hai người dùng dựa khoảng cách hai điểm không gian Euclide Công thức khoảng cách Euclide [4] sau: Với giá trị tương đồng người dùng u người dùng v; giá trị xếp hạng người dùng u cho sản phẩm i; giá trị xếp hạng người v dùng cho sản phẩm i; 2.4 Spearman rank correlation coefficient Spearman rank correlation coefficient độ đo tính tương đồng hai người TẠP CHÍ KHOA HỌC SỐ 21 * 2019 43 dùng dựa hệ số tương quan người dùng sử dụng công thức [6] sau: Với giá trị tương đồng người dùng u người dùng v; giá trị xếp hạng người dùng u cho sản phẩm i; giá trị xếp hạng người v dùng cho sản phẩm i; 2.5 Log-likelihood similarity Log-likelihood similarity [1] dùng để tính tốn độ tương tự người sử dụng dựa thống kê suất xung quanh người dùng Trong N1 N2 đại diện nhóm người dùng tương ứng với người dùng u v 2.6 Mahattan distance Mahattan distance độ đo tính khoảng cách hai người dùng không gian vector n chiều sử dụng công thức [5] sau: Với giá trị tương đồng khoảng cách người dùng u người dùng v; giá trị xếp hạng người dùng u cho sản phẩm i; giá trị xếp hạng người v dùng cho sản phẩm i; 2.7 TanimotoCoefficient TanimotoCoefficient độ đo tính trùng lặp sản phẩm ưu thích hai người u v Cơng thức [6] tính sau: Với giá trị tương đồng khoảng cách người dùng u người dùng v; giá trị xếp hạng người dùng u cho sản phẩm i; giá trị xếp hạng người v dùng cho sản phẩm i; Thí nghiệm 3.1 Phương pháp đánh giá Việc đánh giá tính xác dự đốn hệ thống gợi ý thường sử dụng phương pháp sai số bình phương trung bình (RMSE - Root mean squared error) sai số tuyệt đối trung bình (MAE - Mean Absolute Error) [2] sau: TRƯỜNG ĐẠI HỌC PHÚ YÊN 44 - Sai số tuyệt đối trung bình - Căn sai số bình phương trung bình Trong đó: Tính xác dự đoán đo n quan xác; giá trị dự đoán của người dùng i sản phẩm j; giá trị xếp hạng thực tế ; 3.2 Dữ liệu thực nghiệm Điểm chung thuât toán dựa người sử dụng lọc cộng tác dựa vào kết đánh giá xếp hạng người sử dụng sản phẩm thu thập khứ để tìm kiếm đưa mặt hàng tương tự tốt cho người sử dụng Do vậy, nghiên cứu này, sử dụng hai liệu chuẩn sau để thử nghiệm đánh giá thuật toán trên: MovieLens 100k liệu chuẩn dùng để đánh giá giải thuật lọc cộng tác, liệu tập hợp từ đánh giá người dùng website http://movielens.umn.edu Bộ liệu chứa đánh giá (rating) 943 người dùng cho 1682 phim, người dùng đánh giá 20 phim liệu EachMovie bao gồm 72916 người dùng đánh giá tổng số 2811983 cho 1628 phim khác (https://grouplens.org/datasets/eachmovie) Để huấn luyện, tập liệu chia làm phần, phần thứ chọn ngẫu nhiên 80% tập liệu làm liệu đầu vào phần lại 20% dùng để test Để chứng minh độ tin cậy thuật toán cho kết tốt nhất, chúng tơi tiến hành thí nghiệm liệu MovieLens cách thay đổi tập liệu huấn luyện 70% 30% lại dùng để test Và chúng tơi ký hiệu thuật tốn sau để hiển thị kết thí nghiệm: Euclidean Distance Similarity(Euclidean) Pearson Correlation degree(Pearson) CosineSimilarity(Cosine) Spearman rank Correlation coefficient(Spearman) Mahattan distance(Manhattan) LogLikelihoodSimilarity(llr) TanimotoCoefficient(Tanimoto) 3.3 Kết thí nghiệm Trong thí nghiệm chúng tơi chọn người sử dụng gần với N =200 Nhìn vào kết MAE RMSE (đối với liệu MovieLens) hình cho thấy thuật toán Euclidean cho kết tốt Tương tự liệu EachMovie kết MAE RMSE hình thuật tốn Euclidean cho kết tốt Để quan sát kết rõ nhìn vào kết giá trị chi tiết cho thuật toán bảng TẠP CHÍ KHOA HỌC SỐ 21 * 2019 45 Hình Các thuật tốn User – Based liệu MovieLens Hình Các thuật tốn User – Based liệu EachMovie Bảng 1: Kết giá trị tốt cho thuật toán Bộ liệu Các thuật toán LLr Pearson Tanimoto Spearman Manhattan Cosine Edulidean MovieLens MAE 0.8063 0.8455 0.8002 0.8504 0.8355 0.8275 0.7639 RMSE 1.0069 1.0163 1.0148 1.0196 1.0253 1.0164 0.9561 EachMovie MAE RMSE 0.8091 1.0021 0.8004 1.0647 0.8105 1.0057 0.8036 1.0747 0.8145 1.0503 0.8058 1.0561 0.7504 0.9771 Hình kết mô tập liệu MovieLens sau thay đổi tập liệu huấn luyện test Kết cho thấy thuật toán Euclidean cho kết tốt với giá trị MAE 0.7421và RMSE 0.9519 46 TRƯỜNG ĐẠI HỌC PHÚ YÊN Hình Các thuật tốn User – Based liệu MovieLens Kết luận Sự gia tăng dịch vụ mua hàng trực tuyến thời gian gần giúp cho người sử dụng có nhiều thuận lợi thời gian, có nhiều lựa chọn sản phẩm từ nhiều nhà cung cấp dịch vụ khác nhau, nhiên có nhiều nhà cung cấp dịch vụ có chức tương tự nhau, điều gây khó khăn cho người sử dụng việc lựa chọn Do đó, báo thực đánh giá mơ thuật tốn dựa người dùng lọc cộng tác để chọn lựa thuật toán tối ưu giúp cho nhà cung cấp dịch vụ ứng dụng hệ thống khuyến nghị để hỗ trợ người sử dụng chọn lựa sản phẩm tốt mà người dùng cần Kết thí nghiệm cho thấy thuật toán Euclidean cho kết tốt Do đó, việc ứng dụng thuật tốn hệ thống khuyến nghị cho độ tin cậy cao hơn TÀI LIỆU THAM KHẢO [1] Feng Ge 2011, A User-Based Collaborative Filtering Recommendation Algorithm Based on Folksonomy Smoothing, International Conference, CSE 2011 [2] Herlocker JL, Konstan JA, Terveen LG and Riedl JT 2004, Evaluating collaborative filtering recommender systems, ACM Transactions on Information Systems, 22(1), ISSN 1046-8188, page:.5–53 [3] Martin P Robillard, Walid Maalej, Robert J Walker and Thomas Zimmermann, 2014,Recommendation Systems in Software Engineering, Springer Heidelberg New York Dordrecht London, ISBN 978-3-642-45135-5 [4] Michael D Ekstrand, John T Riedl and Joseph A Konstan, 2010, Collaborative Filtering Recommender Systems, Foundations and Trends in Human–Computer Interaction, Vol 4, No 2, page:.81–173 [5] Zhi-Dan Zhao, Ming-sheng Shang, 2010, User-Based Collaborative-Filtering Recommendation Algorithms on Hadoop In proceeding of: Third International Conference on Knowledge Discovery and Data Mining, WKDD 2010, Phuket, Thailand [6] Jonathan l Herlocker, joseph a Konstan, loren g Terveen, and john t Riedl 2004, Evaluating Collaborative Filtering Recommender Systems, ACM Transactions on Information Systems, Vol 22, No 1, page: 5-53 (Ngày nhận bài: 20/12/2018; ngày phản biện: 28/12/2018; ngày nhận đăng: 03/06/2019) ... khăn cho người sử dụng việc lựa chọn Do đó, báo thực đánh giá mô thuật toán dựa người dùng lọc cộng tác để chọn lựa thuật toán tối ưu giúp cho nhà cung cấp dịch vụ ứng dụng hệ thống khuyến nghị để... (vùng lân cận) tương tự với người dùng hoạt động, sau dự đốn cách sử dụng dựa xếp hạng người dùng hàng xóm Một số thuật tốn sử dụng đánh giá có liên quan đến người sử dụng 2.1 Pearson Correlation... khoảng cách hai người dùng không gian vector n chiều sử dụng công thức [5] sau: Với giá trị tương đồng khoảng cách người dùng u người dùng v; giá trị xếp hạng người dùng u cho sản phẩm i; giá trị