TÌM KIẾM VÀ GỢI Ý SẢN PHẨM LIÊN QUAN
Tất cả đã đưa đến sự phát triển một module hỗ trợ tính năng tìm kiếm và gợi ý sản phẩm dựa trên ứng dụng độ tương đồng ảnh. Module trả lại kết quả thời gian thực, phù hợp với nhu cầu thực tế; sử dụng RESTful API rất dễ dàng tích hợp cho các ứng dụng cho cả website và ứng dụng di động.
Module được thiết kế với kỳ vọng sẽ mang lại trải nghiệm tốt hơn cho người mua hàng trực tuyến; đặc biệt, vì khách hàng đang tìm kiếm những gì họ đã thích và muốn mua, nên khả năng chốt đơn hàng là cao hơn rất nhiều so với tìm kiếm thơng thường (tăng conversion rate).
Hình 5. Quy trình và cơng nghệ áp dụng trong thiết kế module giải pháp
Chi tiết như sau:
1. Dữ liệu
Trong quá trình thực thi giải pháp, để thuận lợi trong quá trình xây dựng mơ hình (training), kiểm tra (validation) và trong phạm vi thời gian cho phép, dữ liệu được sử dụng là thư viện được chia sẻ Deep Fashion – với 800.000 bức ảnh màu khác nhau trong khoảng 50 hạng mục, thậm chí đã có bounding box. Kết quả trong báo cáo này sử dụng một tập đủ lớn với 290.000 ảnh.
2. Trích xuất đặc trưng
Để trích xuất đặc trưng ảnh, phương pháp transfer learning được áp dụng, ở đây sử dụng ImageNet pretrained model là ResNet50, đã thử với một số mơ hình khác, kết quả gần như không khác nhau. Mỗi ảnh sau khi trích xuất tương ứng một vector đặc trưng 128 chiều (deep features).
3. Xây dựng Nearest Neighbor Model
Các vector đặc trưng sau đó được đưa vào xây dựng Nearest Neighbor Model với cấu hình sử dụng BallTree. Đây là mơ hình được lựa chọn vì giải quyết yêu cầu bài tốn đặt ra đó là lấy ra các hình ảnh tương đồng nhất (hàng xóm gần nhất). Model sau đó được lưu ra file – sử dụng thư viện Pickle, để sử dụng trong truy vấn.
4. Query model
Để truy vấn sản phẩm liên quan (hàng xóm gần nhất), một service được xây dựng sử dụng Flask để cho phép người quản trị (1) thêm sản phẩm, kèm hạng mục, (2) đặt lịch train lại model; cho phép người dùng (1) nhập hình ảnh để tìm kiếm sản phẩm, (2) nhập id sản phẩm để tìm kiếm sản phẩm liên quan
Ảnh được xác định để tìm kiếm đầu tiên được trích xuất tạo thành vector đặc trưng, sau đó gọi model đã được lưu trữ trước đó để trả về id các sản phẩm liên quan.
Hình 6. Truy vấn sản phẩm liên quan
B. Hạn chế của giải pháp
Hiện tại giải pháp đang dừng ở mức demo. Hầu hết các ảnh sử dụng đều được chụp trong cửa hàng, không bị lẫn các đối tượng khác.
Vì đặc trưng của luồng tìm kiếm đã trình bày, việc đánh giá độ chính xác của giải pháp không dễ dàng thực hiện. Việc đánh giá hiện tại đang dừng ở việc đánh giá mô
hình trong gán nhãn sản phẩm:
Phương pháp Độ chính xác
Sử dụng pixel ảnh làm vector đặc trưng 56%
Sử dụng ResNet50 78%
Fine tuning ResNet50 + bounding box 85%
Bảng 1. Độ chính xác mơ hình
Phương pháp được trình bày trong báo cáo này là sử dụng ResNet50 với độ chính xác 78%. Phương pháp sau sử dụng bounding box được cung cấp sẵn trong thư viện DeepFashion với mục đích kiểm tra độ chính xác và định hướng xây dựng chức năng “Phát hiện đối tượng” trong tương lai.
Để đánh giá giải pháp có thực sự hiệu quả hay không ta cần dựa trên các trường hợp sử dụng và số lần click chuột của người dùng để tìm được sản phẩm mong muốn. Tuy nhiên điều này không dễ dàng và mất thời gian.
C. Đóng góp của giải pháp
Ta có thể thấy sự cần thiết của các tính năng tìm kiếm và gợi ý sản phẩm liên quan bằng hình ảnh, đặc biệt là luồng tìm kiếm sản phẩm mới, mang tính xu hướng mà giải pháp đề ra hồn tồn có thể áp dụng trong thực tế.
Ngồi ra, đóng góp lớn nhất của giải pháp ở thời điểm hiện tại là module đã hoạt động và (1) có thể đưa vào sử dụng cho dữ liệu thực của Việt Nam, đồng thời (2) sử dụng nó như cơng cụ để đánh giá hiệu quả của giải pháp dựa trên số lần click chuột của người dùng để tìm được sản phẩm mong muốn thay vì dựa trên đánh giá gán nhãn của mơ hình như hiện tại.