Hệ thống gợi ý là gì?

Public on August 8, 2015
Xin chào các bạn đến với phần đầu của chuyên mục Hỏi & Đáp. Nếu các bạn có bất cứ câu hỏi nào về Big Data, các bạn có thể comment vào bên dưới hoặc liên hệ với chúng tôi qua trang Facebook, Twitter.

Tổng quan

Hệ thống gợi ý (Recommendation System) là ứng dụng rõ ràng nhất và hữu dụng nhất của Khoa học dữ liệu (Data Science). Bạn có thể đã gặp ứng dụng của hệ thống này khi qua các trang Amazon, Netflix, Vinabook … Ngoài nội dung mà bạn đang xem, các trang nói trên còn hiển thị các nội dung liên quan, giữ người dùng ở lại trên trang web lâu hơn, tăng được số lượng khách hàng tiềm năng…
vinabook

Một ứng dụng của Hệ gợi ý trên Vinabook.com 
Nội dung liên quan nói trên chính là các gợi ý, là kết quả được tính toán dựa trên việc thu thập dữ liệu về người dùng như khi mua hàng, khi đưa ra các đánh giá cá nhân. Việc thực hiện tính toán được xây dựng trên các thuật toán Học máy (Machine Learning), đưa ra các dự đoán tốt nhất về sản phẩm mà người dùng có thể thích, giúp gia tăng số lượng sản phẩm bán được.
Hệ thống gợi ý mang lại nhiều lợi ích to lớn cho doanh nghiệp, bao gồm:
  • Khả năng đưa ra các dịch vụ cá nhân hóa, hướng tới từng đối tượng khách hàng cụ thể.
  • Tăng mức tín nhiệm và trung thành của khách hàng.
  • Tăng doanh thu, tăng CTR (Click-through rate)…
  • Thêm hiểu biết về khách hàng
Hệ thống gợi ý đã và đang thay đổi cách chúng ta tìm kiếm sản phẩm, thông tin và các cá nhân khác. Công nghệ đằng sau hệ thống này đã được phát triển từ cách đây 20 năm, với nhiều công cụ để chúng ta có thể xây dựng một hệ thống gợi ý hiệu quả. Một số thuật toán hay được sử dụng chính như:
  • Lọc dựa trên nội dung (content-based filtering)
  • Lọc cộng tác dựa trên mô hình người dùng- người dùng (user-user collaborative filtering)
  • Lọc cộng tác dựa trên mô hình hàng hóa- hàng hóa (item-item collaborative filtering)
  • Giảm chiều ( dimensionality reduction)

Hệ thống gợi ý hoạt động như thế nào?

Trong mô hình truyền thống, có các thành phần “người dùng” và “hàng hóa”. Người dùng được mô tả bằng các thông tin liên quan như độ tuổi, giới tính, vị trí địa lý… Hàng hóa được mô tả bởi các yếu tố như: giá cả, trọng lượng… Có các tương tác giữa người dùng và hàng hóa thông qua các hành vi như: mua bán, download… Ví dụ như: người dùng A mua quyển sách B, người dùng X đánh giá sản phẩm Y với mức 5 sao…
Thuật toán lọc cộng tác là cách tiếp cận thường thấy để sinh ra các gợi ý. Nó được sử dụng bởi các site thương mại điện tử lớn, với nhiều biến thể, áp dụng cho nhiều loại hàng hóa như: sách, phim, quần áo… Cách tiếp cận phổ biến là sử dụng Trí tuệ đám đông (Wisdom of the Crowd) để gợi ý.
Ý tưởng chính của thuật toán trên dựa trên việc: nhiều người dùng có cùng sở thích trong quá khứ sẽ có khả năng cùng sở thích trong tương lai. Ví dụ: hai người dùng A & B có chung sở thích ăn uống, họ đã mua các đồ ăn giống nhau. Nếu B thích thêm Cocacola, thì A cũng có thể thích, nên ta có thể gợi ý cho A mua thêm Cocacola.
collaborative_filtering
Trong cách tiếp cận này, chúng ta quan tâm tới tương tác giữa người dùng và hàng hóa, và sử dụng thông tin về các đánh giá về sản phẩm mà người dùng trực tiếp hoặc gián tiếp cung cấp để thực hiện tính toán. Tương tác đó có thể được biểu diễn dưới dạng ma trận (trong thực tế, ma trận này tương đối thưa). Mỗi ô trong ma trận chứa dữ liệu mô tả tương tác giữa người dùng và hàng hóa. Dữ liệu có nhiều dạng, ví dụ đánh giá sản phẩm là tốt hay không tốt, hay chỉ đơn thuần là đánh dấu việc người dùng có tương tác với sản phẩm đó.
collaborative_filtering_matrix
Thuật toán có khả năng suy diễn và điền vào các ô còn thiếu trong ma trận. Ví dụ đưa ra dự đoán về đánh giá của người dùng X đối với bộ phim A khi ta đã biết đánh giá của X với bộ phim B. Đơn giản là: chúng ta có thể tìm tất cả người dùng đã đánh giá cả hai bộ phim A và B, dựa trên đó có thể tính đánh giá trung bình của X đối với B.
Trong thực tế việc đảm bảo hệ thống gợi ý có thể hoạt động tốt khi hệ thống phát triển trên quy mô lớn là điều sống còn cho nhiều doanh nghiệp, Các hệ thống như Apache Hadoop, Apache Spark cùng thư viện học máy MLib… có thể giải quyết tốt nhu cầu đó.

Kết luận

Bên cạnh các phương pháp marketing liên quan tới SEO, việc sử dụng Hệ thống gợi ý là một cách tiếp cận tốt để tăng khả năng cạnh tranh của doanh nghiệp thương mại điện tử trong kỷ nghuyên dữ liệu lớn

Tham khảo



  1. Collaborative Filtering: A Tutorial, by William W. Cohen. Center for Automated Learning and Discovery. Carnegie Mellon University
  2. A Programmer’s Guide to Data Mining, chapter 2: Collaborative Filtering, by Ron Zacharski.
  3. Collaborative Filtering : Implementation with Python!





[Advertising]Faster Thinking - Speed up your brain


Faster Thinking Game



sentiment_satisfied Emoticon