Trí tuệ nhân tạo
Xây dựng hệ thống khuyến nghị bằng cách sử dụng máy học

Việc tạo dữ liệu khách hàng toàn cầu đang gia tăng với tốc độ chưa từng thấy. Các công ty đang tận dụng AI và học máy để sử dụng dữ liệu này theo những cách sáng tạo. Hệ thống đề xuất được hỗ trợ bởi ML có thể sử dụng dữ liệu khách hàng một cách hiệu quả để cá nhân hóa trải nghiệm người dùng, tăng mức độ tương tác và giữ chân, đồng thời cuối cùng thúc đẩy doanh số bán hàng cao hơn.
Ví dụ, vào năm 2021, Netflix báo cáo rằng hệ thống khuyến nghị của nó đã giúp tăng doanh thu thêm 1 tỷ đô la mỗi năm. Amazon là một công ty khác được hưởng lợi từ việc cung cấp các đề xuất được cá nhân hóa cho khách hàng của mình. Năm 2021, đàn bà gan dạ báo cáo rằng hệ thống khuyến nghị của nó đã giúp tăng doanh số bán hàng lên 35%.
Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về hệ thống đề xuất và cung cấp quy trình từng bước để xây dựng hệ thống đề xuất bằng cách sử dụng máy học.
Hệ thống khuyến nghị là gì?
Hệ thống đề xuất là một thuật toán sử dụng kỹ thuật phân tích dữ liệu và máy học để đề xuất thông tin liên quan (phim, video, vật phẩm) cho người dùng mà họ có thể thấy thú vị.
Các hệ thống này phân tích lượng lớn dữ liệu về hành vi, sở thích và mối quan tâm trong quá khứ của người dùng bằng cách sử dụng học máy các thuật toán như phân cụm, lọc cộng tác và mạng lưới thần kinh sâu để tạo các đề xuất được cá nhân hóa.
Netflix, Amazon và Spotify là những ví dụ nổi tiếng về hệ thống đề xuất mạnh mẽ. Netflix đưa ra đề xuất phim được cá nhân hóa, Amazon đề xuất sản phẩm dựa trên lịch sử duyệt và mua hàng trước đây, còn Spotify cung cấp danh sách phát và đề xuất bài hát được cá nhân hóa dựa trên lịch sử nghe và sở thích.
Quy trình từng bước để xây dựng hệ thống đề xuất bằng cách sử dụng máy học
1. Xác định vấn đề & hình thành mục tiêu
Bước đầu tiên là xác định rõ ràng vấn đề mà hệ thống khuyến nghị sẽ giải quyết. Chẳng hạn, chúng tôi muốn xây dựng một hệ thống đề xuất giống như Amazon để đề xuất các sản phẩm cho khách hàng dựa trên lịch sử duyệt và mua hàng trước đây của họ.
Mục tiêu được xác định rõ giúp xác định dữ liệu cần thiết, chọn mô hình học máy phù hợp và đánh giá hiệu suất của hệ thống đề xuất.
2. Thu thập và tiền xử lý dữ liệu
Bước tiếp theo là thu thập dữ liệu về hành vi của khách hàng, chẳng hạn như các giao dịch mua trước đây, lịch sử duyệt web, đánh giá và xếp hạng của họ. Để xử lý một lượng lớn dữ liệu kinh doanh, chúng ta có thể sử dụng Apache Hadoop và Apache Spark.
Sau khi thu thập dữ liệu, các kỹ sư dữ liệu tiền xử lý và phân tích dữ liệu này. Bước này liên quan đến việc làm sạch dữ liệu, loại bỏ các bản sao và xử lý các giá trị bị thiếu. Ngoài ra, các kỹ sư dữ liệu chuyển đổi dữ liệu này thành định dạng phù hợp với các thuật toán máy học.
Dưới đây là một số thư viện tiền xử lý dữ liệu dựa trên Python phổ biến:
- Gấu trúc: Cung cấp các phương thức thao tác, chuyển đổi và phân tích dữ liệu
- numpy: Cung cấp khả năng tính toán số mạnh mẽ cho mảng và ma trận.
3. Phân tích dữ liệu khám phá
Phân tích dữ liệu khám phá (EDA) giúp hiểu được phân phối dữ liệu và mối quan hệ giữa các biến có thể được sử dụng để tạo đề xuất tốt hơn.
Chẳng hạn, bạn có thể hình dung mặt hàng nào được bán nhiều nhất trong quý trước. Hoặc mặt hàng nào được bán nhiều hơn khi khách hàng mua một mặt hàng cụ thể, chẳng hạn như trứng được bán nhiều hơn với bánh mì và bơ.
Dưới đây là một số thư viện Python phổ biến để thực hiện phân tích dữ liệu khám phá:
- Matplotlib: Cung cấp các phương pháp trực quan hóa dữ liệu để tạo các biểu đồ khác nhau như biểu đồ, biểu đồ phân tán, biểu đồ hình tròn, v.v.
- sơ sinh: Cung cấp các phương pháp để tạo trực quan hóa nâng cao hơn như bản đồ nhiệt và biểu đồ cặp.
- hồ sơ gấu trúc: Tạo báo cáo với số liệu thống kê mô tả và trực quan hóa cho từng biến trong tập dữ liệu.
4. Kỹ thuật tính năng
Kỹ thuật tính năng liên quan đến việc chọn các tính năng phù hợp nhất để huấn luyện mô hình máy học của bạn. Bước này liên quan đến việc tạo các tính năng mới hoặc chuyển đổi các tính năng hiện có để làm cho chúng phù hợp hơn với hệ thống đề xuất.
Ví dụ: trong dữ liệu khách hàng, các tính năng như xếp hạng sản phẩm, tần suất mua hàng và nhân khẩu học của khách hàng phù hợp hơn để xây dựng một hệ thống đề xuất chính xác.
Dưới đây là một số thư viện Python phổ biến để thực hiện kỹ thuật tính năng:
- Học hỏi: Bao gồm các công cụ để lựa chọn tính năng và trích xuất tính năng, chẳng hạn như Phân tích thành phần chính (PCA) và Kết tụ tính năng.
- Danh mục Bộ mã hóa: Cung cấp các phương thức để mã hóa các biến phân loại tức là chuyển đổi các biến phân loại thành các đặc trưng số.
5. Lựa chọn mô hình
Mục tiêu của việc lựa chọn mô hình là chọn thuật toán máy học tốt nhất có thể dự đoán chính xác các sản phẩm mà khách hàng có khả năng mua hoặc một bộ phim mà họ có khả năng xem dựa trên hành vi trong quá khứ của họ.
Một số thuật toán này là:
Tôi. Lọc cộng tác
Lọc cộng tác là một kỹ thuật đề xuất phổ biến, giả định rằng những người dùng có chung sở thích sẽ có nhiều khả năng mua các sản phẩm tương tự hoặc các sản phẩm có chung tính năng sẽ có nhiều khả năng được khách hàng mua nhất.
thứ hai. Lọc dựa trên nội dung
Phương pháp này bao gồm việc phân tích các thuộc tính của sản phẩm, chẳng hạn như thương hiệu, danh mục hoặc giá cả, và đề xuất các sản phẩm phù hợp với sở thích của người dùng.
iii. Lọc kết hợp
Tính năng lọc kết hợp kết hợp các kỹ thuật lọc cộng tác và lọc dựa trên nội dung để khắc phục những hạn chế của chúng bằng cách tận dụng điểm mạnh của chúng để đưa ra các đề xuất chính xác hơn.
6. Đào tạo Mô hình
Bước này liên quan đến việc chia dữ liệu thành các tập huấn luyện và kiểm tra và sử dụng thuật toán thích hợp nhất để đào tạo mô hình gợi ý. Một số thuật toán đào tạo hệ thống đề xuất phổ biến bao gồm:
Tôi. Thừa số ma trận
Kỹ thuật này dự đoán các giá trị bị thiếu trong một ma trận thưa thớt. Trong ngữ cảnh của các hệ thống đề xuất, Matrix Factorization dự đoán xếp hạng của các sản phẩm mà người dùng chưa mua hoặc xếp hạng.
thứ hai. Học kĩ càng
Kỹ thuật này liên quan đến việc huấn luyện mạng nơ-ron để học các mẫu và mối quan hệ phức tạp trong dữ liệu. Trong các hệ thống đề xuất, học sâu có thể tìm hiểu các yếu tố ảnh hưởng đến sở thích hoặc hành vi của người dùng.
iii. Khai thác quy tắc hiệp hội
Đây là một kỹ thuật khai thác dữ liệu có thể khám phá các mẫu và mối quan hệ giữa các mục trong tập dữ liệu. Trong các hệ thống đề xuất, Khai thác quy tắc kết hợp có thể xác định các nhóm sản phẩm thường được mua cùng nhau và đề xuất các sản phẩm này cho người dùng.
Các thuật toán này có thể được thực hiện hiệu quả bằng cách sử dụng các thư viện như Surprise, Scikit-learning, TensorFlow và PyTorch.
7. Điều chỉnh siêu tham số
Để tối ưu hóa hiệu suất của hệ thống đề xuất, các siêu tham số, chẳng hạn như tốc độ học, cường độ chính quy hóa và số lớp ẩn trong mạng thần kinh được điều chỉnh. Kỹ thuật này liên quan đến việc kiểm tra các kết hợp siêu tham số khác nhau và chọn kết hợp mang lại hiệu suất tốt nhất.
8. Đánh giá mô hình
Đánh giá mô hình là rất quan trọng để đảm bảo rằng hệ thống khuyến nghị là chính xác và hiệu quả trong việc tạo ra các khuyến nghị. Các số liệu đánh giá như độ chính xác, thu hồi và điểm F1 có thể đo lường độ chính xác và hiệu quả của hệ thống.
9. Triển khai mô hình
Khi hệ thống đề xuất đã được phát triển và đánh giá, bước cuối cùng là triển khai nó trong môi trường sản xuất và cung cấp cho khách hàng.
Việc triển khai có thể được thực hiện bằng máy chủ nội bộ hoặc nền tảng dựa trên đám mây như Amazon Web Services (AWS), Microsoft Azure và Google Cloud.
Chẳng hạn, AWS cung cấp nhiều dịch vụ khác nhau như Amazon S3, Amazon EC2và Học máy Amazon, có thể được sử dụng để triển khai và mở rộng quy mô hệ thống đề xuất. Việc bảo trì và cập nhật thường xuyên cũng nên được thực hiện dựa trên dữ liệu khách hàng mới nhất để đảm bảo hệ thống tiếp tục hoạt động hiệu quả theo thời gian.
Để biết thêm thông tin chi tiết về AI và máy học, hãy khám phá đoàn kết.ai.