[Paper Sharing] Hệ thống khuyến nghị trong bối cảnh Dữ liệu lớn

Nghe đọc bản tóm tắt bài viết:

1. Giới thiệu về hệ thống khuyến nghị (Recommender System – RS)

       Hệ thống khuyến nghị (Recommender System – RS) đã xuất hiện từ giữa những năm 90 để giải quyết vấn đề quá tải thông tin. RS thường được định nghĩa là một công cụ hay kỹ thuật phần mềm đóng vai trò như một trợ lý, cung cấp cho người dùng các đề xuất được cá nhân hóa dựa trên sở thích và mối quan tâm trước đây của họ. Ngày nay, các hệ thống khuyến nghị là một phần quan trọng không thể thiếu trong hầu hết các hệ thống hiện đại, chẳng hạn trong các nền tảng Thương mại điện tử như Amazon, E-Bay, Lazada, Tiki, Shopee, ..vv..

      Sự phát triển của hệ thống khuyến nghị đóng một vai trò quan trọng trong việc mở rộng khả năng tiếp cận và tối ưu hóa sự hài lòng của khách hàng. Bằng việc phân tích các mẫu hành vi mua sắm và tương tác trên nền tảng số, hệ thống có thể cung cấp các đề xuất chính xác, từ đó tăng cường trải nghiệm cá nhân hóa cho từng người dùng. Điều này không chỉ giúp cải thiện mức độ gắn kết của khách hàng với thương hiệu mà còn thúc đẩy doanh số thông qua việc giới thiệu các sản phẩm và dịch vụ phù hợp.

2. Các phương pháp khuyến nghị cơ bản

      Trong nhiều năm, các phương pháp khuyến nghị khác nhau đã được đề xuất và có thể được phân loại thành: Phương pháp bộ lọc cộng tác (Collaborative filtering – CF), Phương pháp dựa trên nội dung (Content based filtering – CBF) và Phương pháp kết hợp/ tổng hợp (Hybrid/Ensemble). CF sử dụng xếp hạng của khách hàng để phân loại người dùng/hoặc sản phẩm trong các nhóm theo mức độ giống nhau của họ/chúng. Các đề xuất sau đó được suy ra bằng cách tính đến xếp hạng của những người dùng trong cùng một nhóm, hoặc item trong cùng một nhóm (Hình 1a). Ngược lại, hệ thống khuyến nghị dựa trên nội dung sẽ tính toán các đề xuất theo tính năng của các mặt hàng mà người dùng ưa thích trong quá khứ – chẳng hạn như tiêu đề phim, diễn viên hoặc thể loại của phim (Hình 1b).

       Hiệu suất của mỗi thuật toán khuyến nghị đơn lẻ này, tuy nhiên, đều có giới hạn và mỗi thuật toán có điểm mạnh và điểm yếu riêng [1]. Do đó, hai phương pháp tiếp cận CF và CBF có thể được tích hợp một cách tự nhiên vào một hệ thống khuyến nghị kết hợp / tổng hợp. Trong cuộc khảo sát của Borràs và cộng sự, 2014 [2], có thể nhận thấy xu hướng ngày càng tăng trong việc khai thác các kỹ thuật lọc khuyến nghị kể từ năm 2012, chủ yếu trong các hệ thống lai. Từ năm 2008 đến năm 2011, chỉ có 25% hệ thống sử dụng phương pháp này, trong khi từ năm 2012, tỷ lệ này đã tăng lên 75%.

(a)

(b)

Hình 1. Ví dụ về (a) bộ lọc cộng tác – Collaborative filtering, (b) bộ lọc dựa trên nội dung – Content based filtering [1].

3. Hệ thống khuyến nghị trong bối cảnh Dữ liệu lớn

      Điều đáng chú ý là trong khi ngày càng có nhiều nỗ lực để nghiên cứu các phương pháp mới cho RS, không có nhiều công trình đã điều chỉnh RS trong bối cảnh dữ liệu lớn – Big data. Dữ liệu lớn đặt ra nhiều thách thức trong việc lưu trữ, tích hợp và quản lý dữ liệu, và quan trọng không kém đó là làm sao trích xuất thông tin cần thiết một cách hiệu quả trong khối lượng lớn dữ liệu như vậy. Không ngạc nhiên là mặc dù một số phương pháp khuyến nghị đã chứng minh hiệu suất tốt cho các tập dữ liệu quy mô nhỏ, nhưng rất khó để áp dụng chúng trong bối cảnh Dữ liệu lớn (Hình 2). Một số vấn đề mà hệ thống khuyến nghị sẽ phải đối mặt trong bối cảnh dữ liệu lớn có thể kể đến như: (1) Số lượng lớn người dùng/sản phẩm; (2) Dữ liệu thưa – xảy ra khi người dùng đã không đánh giá phần lớn các bộ phim; (3) Khuyến nghị cho các sản phẩm mới chưa từng xuất hiện trước đây; (4) Tốc độ thực thi của hệ thống khuyến nghị.

Hình 2. Hệ thống khuyến nghị trong bối cảnh Dữ liệu lớn [3].

      Trong nghiên cứu gần đây của chúng tôi [3], chúng tôi đã đề xuất một phương pháp khuyến nghị làm việc trên môi trường Big data dựa trên phân cụm. Nó có thể giải quyết vấn đề dữ liệu thưa và sự xuất hiện của các sản phẩm mới. Ngoài ra, tốc độ huấn luyện và dự đoán đều nhanh. Ý tưởng chính đằng sau kỹ thuật này là một chiến lược chia để trị trong đó số lượng người dùng có thể được nhóm thành các nhóm khác nhau dựa trên sở thích của họ. Dự đoán sau đó được thực hiện trực tiếp theo sở thích của mỗi người dùng cũng tầm quan trọng của họ trong cụm.

Những đóng góp chính của nghiên cứu có thể được tóm tắt như sau.

  • Chúng tôi định nghĩa một cách thức mới để xây dựng đặc trưng người dùng theo sở thích của họ về thể loại sản phẩm, sau đó cài đặt thuật toán phân cụm chạy song song trên môi trường dữ liệu lớn để chia tập hợp người dùng thành các cụm khác nhau.
  • Để thúc đẩy việc sử dụng các cụm và tăng thời gian dự đoán, chúng tôi định nghĩa chỉ số tầm quan trọng của người dùng trong cụm của họ. Phần dự đoán được tính toán trực tiếp theo đặc trưng sở thích của người dùng và tầm quan trọng của họ trong cụm.
  • Chúng tôi cài đặt và thực nghiệm hệ thống khuyến nghị được đề xuất trong môi trường dữ liệu lớn. Dữ liệu được lưu trữ trong Hệ thống tệp phân tán Hadoop (HDFS) và các hoạt động được thực hiện trên Apache Spark dựa trên Tập dữ liệu phân tán có khả năng phục hồi (Resilient Distributed Dataset – RDD).

Hình 3. Tóm tắt ý tưởng 3 bước chính trong mô hình đề xuất [3].

Cụ thể về hạ tầng big data chúng tôi cài đặt như sau. Chúng tôi xây dựng hệ thống với lớp dữ liệu và lớp ứng dụng được kết nối thông qua trình điều khiển API. Tập dữ liệu được ghi vào HDFS. Sau đó, đối với mỗi tác vụ, dữ liệu thích hợp được tải theo cách phân tán vào các RDD và được chuyển đổi để được phân tích bằng Spark. Chúng tôi phát triển lớp dữ liệu chứa 3 nút: một cho Spark Master và hai cho Spark worker. Phương pháp đề xuất được thực hiện và chạy ở chế độ cụm Spark. Kiến trúc chúng tôi đã xây dựng được minh họa trong hình 3.

Hình 4. Kiến trúc Big data được xây dựng để thực nghiệm Hệ thống khuyến nghị [3].

Các thuật toán được đem ra so sánh gồm: thuật toán lọc cộng tác truyền thống dựa trên người dùng USER-CF do chúng tôi cài đặt, thuật toán RBRA [4] được công bố năm 2012, thuật toán BiFu [5] được công bố năm 2014 và thuật toán RNCF [6] được công bố năm 2020. Các kết quả thực nghiệm thu được cho thấy phương pháp của chúng tôi đã giải quyết vấn đề dữ liệu thưa và sự xuất hiện của các sản phẩm mới một cách hiệu quả – sai số ít hơn 4.46% lần so với phương pháp USER-CF truyền thống. Bên cạnh đó, thời gian đào tạo nhanh hơn 3 lần và thời gian suy luận trung bình gần như nhanh hơn 133 lần so với phương pháp USER-CF truyền thống. Tuy nhiên, như là một sự đánh đổi để đạt được thời gian thực thi nhanh, khi chúng tôi đánh giá độ chính xác dự đoán của phương pháp theo hai chỉ số: Sai số bình phương trung bình – MAE và lỗi trung bình bình phương- RMSE trên toàn tập dữ liệu thử nghiệm, kết quả sai số lớn hơn khoảng 3% so với thuật toán USER-CF, và kém khá xa so với thuật toán RNCF. Tuy nhiên các kết quả sai số là tốt hơn so với thuật toán RBRA và thuật toán BiFu.

Các kết quả của RBRA, BiFu, và RNCF được lấy theo công bố trong các bài báo gốc của các tác giả. Do chưa tiến hành cài đặt lại các thuật toán này, chúng tôi chưa đủ dữ kiện để đánh giá chúng về khả năng giải quyết vấn đề dữ liệu thưa và sự xuất hiện của các sản phẩm mới ra sao, cũng như về độ phức tạp về thời gian của các thuật toán này so với thuật toán của chúng tôi.

Trên cơ sở các kết quả đã đạt được, chúng tôi hy vọng rằng trong thời gian tới sẽ tiếp tục phát triển các bài toán khuyến nghị trên môi trường dữ liệu lớn, để không những đẩy nhanh thời gian thực thi mà còn nâng cao được độ chính xác và chất lượng của khuyến nghị.

Video demo sản phẩm ứng dụng của nhóm nghiên cứu:

Tác giả liên hệ: Đỗ Hồng Quân ([email protected]).

Xem thêm: Hệ thống khuyến nghị và các thách thức hiện thời

@Hong-Quan Do

TÀI LIỆU THAM KHẢO

[1] H. Q. Do, T. H. Le and B. Yoon, “Dynamic Weighted Hybrid Recommender Systems,” in International Conference on Advanced Communication Technology, 2020.
[2] J. Borràs, A. Moreno and A. Valls, “Intelligent tourism recommender systems: A survey,” Expert Systems with Applications, vol. 41, no. 16, pp. 7370-7389, 2014.
[3] H.-Q. Do, T.-A. Nguyen, Q.-A. Nguyen, T.-H. Nguyen, V.-V. Vu and C. Le, “A Fast Clustering-based Recommender System for Big Data,” in Submitted in: 24th International Conference on Advanced Communication Technology (ICACT), 2022.
[4] F. Xie, M. Xu and Z. Chen, “RBRA: a simple and efficient rating-based recommender,” in International Conference on Advanced Information Networking and Applications Workshops, 2012.
[5] D. Zhang, C. Hsu, M. Chen, Q. Chen, N. Xiong and J. Lloret, “Cold-Start Recommendation Using Bi-Clustering and Fusion for Large-Scale Social Recommender Systems,” IEEE Trans. Emerg. Topics Comput., vol. 2, no. 2, pp. 239-250, 2014.
[6] L. Zhang, X. Sun, J. Cheng and Z. Li, “Reliable Neighbors-Based Collaborative Filtering for Recommendation Systems,” in Neural Computing for Advanced Applications, 2020, pp. 60-71.
5/5 - (1 bình chọn)
Comments: 96

One thought on “[Paper Sharing] Hệ thống khuyến nghị trong bối cảnh Dữ liệu lớn

Để lại một bình luận