Viettel AI Challenge: E-commerce Recommendation System

Organized by admin - Current server time: Nov. 21, 2024, 6:57 a.m. UTC

First phase

Public Test
Oct. 28, 2024, midnight UTC

End

Competition Ends
Nov. 20, 2024, 5 p.m. UTC

Tổng Quan

Chủ đề.
Chủ đề tác vụ thứ nhất của cuộc thi ViettelAI 2024 là "GỢI Ý SẢN PHẨM TRÊN SÀN THƯƠNG MẠI ĐIỆN TỬ".

Giới thiệu. 

Thương mại điện tử đã và đang dần thay thế nhiều mô hình bán lẻ truyền thống nhờ vào tính tiện lợi vượt trội và đa dạng sản phẩm mà nó mang lại. Người tiêu dùng không cần phải đến cửa hàng, mà chỉ cần vài cú nhấp chuột là có thể tiếp cận hàng ngàn sản phẩm từ khắp nơi trên thế giới. Yếu tố này đã làm thay đổi toàn bộ cách thức mua sắm và tiêu dùng của hàng triệu người.

Một trong những thành phần quan trọng nhất làm nên thành công của thương mại điện tử chính là hệ thống gợi ý sản phẩm. Đây không chỉ là công cụ giúp người dùng khám phá sản phẩm một cách hiệu quả, mà còn đóng vai trò quan trọng trong việc nâng cao trải nghiệm mua sắm và tối ưu hóa lợi ích kinh doanh của các cửa hàng trực tuyến. Hệ gợi ý giúp cá nhân hóa trải nghiệm người dùng, tiết kiệm thời gian tìm kiếm, giải quyết vấn đề quá tải thông tin và tối ưu hóa lợi ích kinh doanh của cửa hàng.

Nhiệm vụ.

Nhiệm vụ của tác vụ này là cung cấp danh sách các sản phẩm được sắp xếp theo mức độ yêu thích để gợi ý cho mỗi người dùng từ một danh sách sản phẩm cho trước (gọi tắt là tập sản phẩm tiềm năng). Cụ thể, với mỗi người dùng, chúng tôi sử dụng một thuật toán cơ bản để lọc ra tập sản phẩm tiềm năng từ số lượng rất lớn các sản phẩm trên hệ thống. Hệ thống gợi ý sẽ sắp xếp các sản phẩm tiềm năng này để đưa ra gợi ý phù hợp cho người dùng.

Đầu vào là các bộ gồm định danh người dùng và danh sách 1000 sản phẩm tiềm năng. Đầu ra cho mỗi bộ gồm định danh người dùng và danh sách 1000 sản phẩm đã sắp xếp lại theo mức độ yêu thích.

Để huấn luyện hệ gợi ý, chúng tôi cung cấp tập dữ liệu huấn luyện chứa thông tin chuỗi lịch sử xem và mua sản phẩm của mỗi người dùng.

Cấu trúc dữ liệu.

Dữ liệu được chia thành 3 tập như sau:

  • Training set: Tập dữ liệu huấn luyện (training_set.csv), chứa thông tin về chuỗi lịch sử xem và mua sản phẩm của từng người dùng.
  • Public testset: Tập dữ liệu kiểm thử công khai (public_testset.csv), được sử dụng để các đội đánh giá hiệu quả của mô hình mà họ đã huấn luyện.
  • Private testset: Tập dữ liệu kiểm thử ẩn (private_testset.csv), được ban tổ chức sử dụng để đánh giá độ chính xác của các mô hình từ các đội thi.

Hai tập dữ liệu đầu sẽ được chia sẻ trước qua đường link NÀY. 
Cụ thể ở file testset file:

  • Cột đầu là userId.
  • 1000 cột sau, mỗi cột là 1 itemId tương ứng với userId.

Ở training file (training_set.csv):

  • userId: Định danh người dùng.
  • itemId: Định danh sản phẩm.
  • Click: Giá trị là 1 nếu userId đã xem itemId.
  • Purchase: Giá trị là 1 nếu userId đã mua itemId, và là 0 nếu userId chỉ xem mà không mua

Chú ý, trong training file, các hàng có cùng giá trị userid thể hiện chuỗi lịch sử xem và mua của người dùng đó, và được sắp xếp theo thứ tự thời gian từ cũ đến mới.

Hướng dẫn nộp kết quả.
(xem định dạng file nộp kết quả ở tab Định Dạng File Kết Quả và nộp file ở mục Participate) với quy định:

Không được chỉnh sửa file kết quả do mô hình của đội sinh ra bằng cách gán nhãn thủ công các dữ liệu trong tập test (bao gồm public test lẫn private test) để nộp cho BTC.

Giai đoạn sơ khảo (public test): mỗi đội được phép nộp tối đa 10 lần mỗi ngày. Trong giai đoạn chung kết (private test) được phép nộp tối đa 5 lần mỗi ngày.

Các đội lọt vào vòng chung kết bắt buộc phải nộp báo cáo kỹ thuật và source code để BTC đánh giá tính đúng đắn của giải pháp và công bố kết quả cuối cùng.

Các đội nộp file mã nguồn notebook (đuôi .ipynb), trong đó có đầy đủ các bước cài đặt môi trường, xử lý dữ liệu, huấn luyện mô hình,... theo đúng thứ tự để BTC có thể reproduce lại được các mô hình.

Mã nguồn của các đội cần tuân thủ chặt chẽ định dạng dữ liệu đầu vào và kết quả trả ra để BTC sẽ chạy mã nguồn của các đội, đánh giá chất lượng (dựa trên các tiêu chí tối ưu đề ra) của kết quả đầu ra và xếp hạng.

Tiêu chí đánh giá
(NDCG@10)

Trong 1000 sản phẩm tiềm năng với mỗi người dùng userID, chỉ có một sản phẩm được mua bởi người dùng. Hệ gợi ý được kỳ vọng sẽ đưa ra kết quả sắp xếp sao cho sản phẩm được mua nằm ở vị trí top đầu của danh sách gợi ý.

Độ đo Normalized Discounted Cumulative Gain (NDCG) sẽ được sử dụng để đánh giá kết quả gợi ý. Cụ thể, độ đo NDCG@K sẽ được tính cho mỗi người dùng, với K là số lượng sản phẩm top đầu trong danh sách gợi ý. Giá trị trung bình của NDCG@K trên toàn bộ tập kiểm tra sẽ được sử dụng để đánh giá cuối cùng.

Normalized Discounted Cumulative Gain (NDCG): Không chỉ kiểm tra xem sản phẩm được mua có nằm trong top K, NDCG@K còn xem xét vị trí của sản phẩm được mua trong danh sách gợi ý. Nếu sản phẩm được mua nằm càng gần vị trí đầu tiên, giá trị NDCG@K càng cao. Cụ thể, đối với mỗi người dùng,
NDCG@K = log102 / log10(i+1) nếu sản phẩm được mua nằm ở vị trí i trong danh sách top K và NDCG@K= 0 nếu sản phẩm được mua không nằm trong top K.

Ở cuộc thi này, K = 10. 

Thể lệ cuộc thi

Điều 1. Mục đích của cuộc thi

  • Đẩy mạnh ứng dụng AI vào trong mọi hoạt động, trong mọi lĩnh vực, giúp nâng cao hiệu quả SXKD các đơn vị trong Tập đoàn.
  • Tìm kiếm các điển hình tiên tiến trong lĩnh vực CNTT nói chung và AI nói riêng, thúc đẩy tinh thần làm chủ, đột phá, tiên phong dẫn dắt về công nghệ AI và ứng dụng AI trong hoạt động SXKD.
  • Duy trì sân chơi công nghệ thu hút số lượng lớn CBNV tham gia, tăng cường trao đổi, hợp tác, chia sẻ kiến thức và kinh nghiệm về ứng dụng AI, cộng hưởng giá trị, nâng cao tinh thần đoàn kết cho CBNV Tập đoàn.

Điều 2. Hình thức thi – đối tượng

  • Hình thức: Trực tuyến trên nền tảng AIHUB.ML.
  • Đối tượng dự thi: CBNV toàn Tập đoàn, tổ chức theo đội thi với số lượng tối đa 03 người/đội.

Điều 3. Nội dung đề thi, thời gian thi, thể lệ nộp bài và đánh giá kết quả thi

1. Nội dung đề thi

  • Đề thi được xây dựng theo 03 tác vụ thuộc ba lĩnh vựckhác nhau:
    • Tác vụ 1: Học máy (ML)
    • Tác vụ 2: Thị giác máy tính (CV)
    • Tác vụ 3: Xử lý ngôn ngữ tự nhiên (NLP)

2. Thời gian thi

  • Thời hạn thành lập đội hoặc sáp nhập nhóm: 28/10/2024 – 06/11/2024.
  • Vòng thi mở (public test): 28/10/2024 – 18/11/2024.
  • Vòng thi đóng (private test): 19/11/2024 - 20/11/2024.

3. Thể lệ nộp bài

  • Trong task này, số lần gửi tối đa trong mỗi giai đoạn:

    • Giai đoạn 1: 5 bài / ngày / đội
    • Giai đoạn 2: 3 bài / ngày / đội
  • Nội dung bài dự thi sẽ bị vô hiệu nếu toàn bộ hoặc một phần không đọc được, không đầy đủ, bị hư hỏng, bị thay đổi, giả mạo, có được thông qua các phương tiện gian lận hoặc trễ hạn. Ban tổ chức cuộc thi có quyền loại bất kỳ người dự thi nào gửi bài không tuân thủ tất cả các yêu cầu.

4. Đánh giá kết quả

Kết quả thi được đánh giá dựa trên bảng xếp hạng (được chấm tự động) và các tiêu chí của cuộc thi (các đánh giá định lượng thủ công, các đánh giá định tính theo các chỉ số do BTC đưa ra) cùng các xác định về việc tuân thủ quy chế thi của các đội thi.

Điều 4. Điều kiện tham dự và thành lập/sáp nhập nhóm

  • Mỗi cá nhân tham gia phải tạo một tài khoản AIHUB.ML để gửi giải pháp cho cuộc thi. Mỗi cá nhân chỉ được cấp phép duy nhất một tài khoản.
  • Các cá nhân tham gia được phép thành lập đội với số lượng không quá 03 thành viên. Một cá nhân không thể tham gia vào nhiều hơn một đội. Mỗi thành viên trong đội phải là một cá nhân duy nhất sử dụng một tài khoản AIHUB.ML riêng biệt.
  • Việc hợp nhất đội thi được cho phép và có thể được thực hiện bởi trưởng nhóm, với điều kiện tổng số lần nộp bài của đội hợp nhất phải nhỏ hơn hoặc bằng số lần nộp bài tối đa cho phép tại thời điểm hợp nhất (số lần nộp bài tối đa bằng số lần nộp bài mỗi ngày nhân với số ngày cuộc thi đã diễn ra). Yêu cầu hợp nhất đội thi sẽ không được phép sau “Thời hạn sáp nhập nhóm”.
  • BTC không cung cấp bất kỳ hỗ trợ nào liên quan đến việc hợp nhất đội thi.

Điều 5. Yêu cầu và điều kiện đảm bảo đối với các cá nhân và đội tham gia thi

1. Yêu cầu và điều kiện đảm bảo chung

  • Mỗi cá nhân chỉ được nộp bài từ một tài khoản AIHUB.ML duy nhất.
  • Bằng cách gửi kết quả cho cuộc thi, các cá nhân tham gia đồng thuận việc công khai điểm số của mình tại các sự kiện liên quan của cuộc thi và trong các giấy tờ, thủ tục liên quan, theo quyết định của BTC.
  • Các cá nhân tham gia đảm bảo không có các hành vi gian lận, lừa dối hoặc các hành vi tham dự không công bằng khác trong cuộc thi.
  • Các cá nhân tham gia đảm bảo tuân thủ các luật và quy định hiện hành, trong đó bao gồm nhưng không giới hạn về quyền sở hữu trí tuệ của bên thứ ba đối với chương trình do cá nhân phát triển trong quá trình diễn ra cuộc thi; luật và quy định hiện hành liên quan đến quyền riêng tư và bảo vệ dữ liệu.
  • Các cá nhân tham gia phải cung cấp mã nguồn của các bài dự thi cũng như các dữ liệu được tạo ra khi có yêu cầu của BTC, cho phép BTC sử dụng với bất kỳ mục đích nào mà không cần phê duyệt thêm.

2. Yêu cầu liên quan Dữ liệu

Bằng cách tải xuống hoặc truy cập dữ liệu do BTC cuộc thi cung cấp theo bất kỳ cách nào, người thi đồng ý với các điều khoản sau:

  • Người thi không được sử dụng dữ liệu khác ngoài các tập dữ liệu được cho phép bởi Ban tổ chức. Chi tiết về các tập dữ liệu được phép sử dụng sẽ được quy định cụ thể trong thuyết minh của từng Bảng. .
  • Người thi không phân phối dữ liệu ngoại trừ mục đích phi thương mại và nghiên cứu học thuật.
  • Người thi không phân phối, sao chép, tái sản xuất, tiết lộ, chuyển nhượng, cấp phép phụ, nhúng, lưu trữ, chuyển nhượng, bán, giao dịch hoặc bán lại bất kỳ phần nào của dữ liệu do BTC cuộc thi cung cấp cho bất kỳ bên thứ ba nào vì bất kỳ mục đích nào.
  • Người thi không được phép sử dụng dữ liệu để giám sát, phân tích hoặc nghiên cứu nhằm cô lập một nhóm cá nhân hoặc bất kỳ cá nhân đơn lẻ nào vì bất kỳ mục đích bất hợp pháp hoặc phân biệt đối xử nào.
  • Người thi hoàn toàn chịu trách nhiệm về việc sử dụng dữ liệu của mình, đồng thời chịu trách nhiệm bảo vệ và bồi thường cho BTC cuộc thi, chống lại bất kỳ khiếu nại phát sinh nào từ việc sử dụng dữ liệu của người thi.

Điều 6. Xử lý các trường hợp vi phạm

Đội thi có thành viên vi phạm các nội dung đã nêu trong Điều 5 sẽ bị xử phạt như sau:

  • Gửi thông báo về hành vi của CBNV vi phạm về cho đơn vị chủ quản, yêu cầu đơn vị xem xét về việc hạ bậc KI Quý và năm của cá nhân.
  • Trừ điểm thi đua lĩnh vực Công nghệ thông tin của đơn vị.
  • Hủy bỏ kết quả thi.

Định Dạng của Dữ Liệu

Đội thi cần xuất ra file csv với cấu trúc y hệt testset csv file tương ứng. Đổi tên là predict.csv. Cụ thể:

Cột đầu chứa thông tin userId và 1000 cột sau chứa thông tin về itemId đã được sắp xếp. Sản phẩm nằm ở vị trí chỉ số cột càng nhỏ nghĩa là sản phẩm đó càng được người dùng yêu thích hơn.

Lưu ý: File predict.csv này không chứa index và header. Sau đó, đội thi nén file kết quả thành file .zip và nộp lên hệ thống.

Public Test

Start: Oct. 28, 2024, midnight

Private Test

Start: Nov. 18, 2024, 5 p.m.

Competition Ends

Nov. 20, 2024, 5 p.m.

You must be logged in to participate in competitions.

Sign In