XÂY DỰNG THUẬT TOÁN XỬ LÝ

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật phần mềm: Nghiên cứu và xây dựng hệ thống khuyến nghị sản phẩm nhập kho (Trang 122 - 128)

CHUONG 4. PHÂN TÍCH VA THIET KE HE THONG

4.3. XÂY DỰNG THUẬT TOÁN XỬ LÝ

4.3.1. Bài toán

Cho tập N chứa danh sách các sản phâm được bán ra trong m tháng liên tiếp,

dự đoán danh sách các sản pham có thé được bán ra trong tháng M cũng như số lượng bán ra của từng sản phẩm trong danh sách đó.

Cho biết: |N| > 3, M # N,M là tháng kế tiếp của tháng cuối cùng trong tập

4.3.2. Mô tả bài toán

e Dữ liệu đầu vào (Input):

© Tap N chứa danh sách các sản phâm được bán ra trong n tháng liên tiếp

(IN| = 3)

© Tháng M (M € N, M là tháng kế tiếp của tháng cuỗi cùng trong tập N)

e Dé liệu đầu ra (Output):

Danh sách các sản phẩm có thé được bán ra trong tháng M cũng như số lượng bán ra của từng sản phẩm trong danh sách đó.

4.3.3. Ý tướng chung

Ý tưởng chung của thuật toán là lọc ra danh sách các sản phâm cơ bản đầu tiên

có thê xuất hiện ở tháng M từ dữ liệu trong quá khứ, sau đó sử dụng các mô hình dự

báo dé dự đoán sô lượng bán ra của các sản phâm trong danh sách này. Tiệp theo, sử

9]

dụng các thuật toán khuyên nghị đê tìm ra danh sách các sản phâm còn thiêu từ các

tháng tương đồng với tháng M dựa trên danh sách các sản phẩm vừa thu được cũng như bé sung thêm các sản phẩm được người dùng tự chọn. Sau khi thu được danh

sách các sản phâm cuôi cùng, tiêp tục sử dụng các mô hình dự báo một lân nữa đê dự

đoán số lượng bán ra của từng sản phẩm trong danh sách.

4.3.4. Các bước thực hiện

Thuật toán gồm có 7 bước như sau:

Bước 1: Chọn tháng M cần đưa ra khuyến nghị và dự báo.

Bước 2: Lọc ra danh sách các sản phẩm cơ bản đầu tiên có thê được bán ra ở

tháng M từ dữ liệu trong quá khứ.

Bước 3: Sử dụng mô hình mạng LSTM và mô hình Prophet dé dự báo số lượng sản phâm bán ra cho từng sản phẩm trong danh sách thu được ở Bước 2.

Bước 4: Sử dụng phương pháp lọc cộng tác (Collaborative Filtering) dé tìm

ra một số sản phâm khác có thê được bán ra ở tháng M.

Bước 5: Lay danh sách các sản pham được người dùng tự bổ sung thêm.

Bước 6. Sử dụng mô hình mạng LSTM và mô hình Prophet dé dự báo số lượng bán ra của các sản phẩm mới được bé sung ở Bước 4 và Bước 5.

Bước 7: Trả về danh sách tat cả các sản phẩm có thé được bán ra ở tháng M kèm theo số liệu dự báo cụ thê.

4.3.5. Mô tả chỉ tiết các bước

Bước 1: Chọn tháng M cần đưa ra khuyến nghị và dự báo.

Ở bước nay, người dùng tiễn hành chọn ra một tháng M dé đưa ra khuyến nghị

và dự báo.

Điều kiện: M ¢ N,M là tháng kế tiếp của tháng cuối cùng trong tập N

Bước 2: Lọc ra danh sách các sản phẩm cơ bản đầu tiên có thể được

bán ra ở tháng M từ dữ liệu trong quá khứ.

Bước này lọc ra danh sách các sản phâm cơ bản đâu tiên có thê được bán ra ở

tháng M từ dữ liệu trong quá khứ, cụ thé:

92

D=AUBUCUDUE

Trong đó:

A: Danh sách các sản phẩm đều được bán ra trong vòng n tháng trước, mặc

định n = 12.

Ví dụ: Giả sử tháng cần đưa ra khuyến nghị và dự báo là tháng 02/2021 và

n = 12 thì tập A sẽ bao gồm danh sách tất cả các sản phẩm đều được bán

ra trong vòng 12 tháng trước đó, bắt đầu từ tháng 01/2020 đến tháng

01/2021.

B: Danh sách tất cả các sản phẩm của tháng liền kề trước tháng M.

Ví dụ: Giả sử tháng cần đưa ra khuyến nghị và dự báo là tháng 02/2021 thì tập sẽ bao gồm danh sách tat cả các sản phẩm của tháng 01/2021.

C: Danh sách tat cả các sản phẩm đều được bán ra trong các tháng cùng thời điểm với tháng M của những năm trước đó.

Ví dụ: Giả sử tháng cần đưa ra khuyến nghị và dự báo là tháng 02/2021 thì tập C sẽ bao gồm danh sách tat cả các sản phẩm đều được bán ra trong

tháng 2 của những năm trước đó (Tháng 02/2020, tháng 02/2019,...).

D: Danh sách tat cả các sản phâm mới được bán ra trong vòng n tháng

trước, mặc định n = 12.

Ví dụ: Giả sử tháng cần đưa ra khuyến nghị và dự báo là tháng 02/2021 và

n = 12 thì tập D sẽ bao gồm danh sách tat cả các sản phẩm mới được bán

ra trong vòng 12 tháng trước đó, bắt đầu từ tháng 01/2020 đến tháng

01/2021.

E: Danh sách tất cả các sản phẩm được bán ra trong cùng quý với tháng M

ở năm hiện tại cũng như ở những năm trước đó.

Ví dụ: Giả sử tháng cần đưa ra khuyến nghị và dự báo là tháng 02/2021 thì tập E sẽ bao gồm danh sách tất cả các sản phẩm được bán ra trong quý

1 năm 2021, quý 1 năm 2020, quý 1 năm 2019,...

93

Bước 3: Sử dụng mô hình mạng LSTM và mô hình Prophet để dự báo số lượng sản phẩm bán ra cho từng sản phẩm trong danh sách thu được ở Bước 2.

Bước này tiễn hành dự báo số lượng bán ra cho từng sản phẩm trong danh sách

thu được ở Bước 2 sử dụng mô hình mạng LSTM và mô hình Prophet.

Mô hình mạng LSTM: Mô hình này sẽ sử dụng dữ liệu của các tháng trong

tập N dé huấn luyện. Với tháng Mi trong tập N đã có số lượng bán ra thực tế cũng như giá bán của các sản phẩm, nhóm sẽ chọn mốc thời gian là cuối tháng trước đó dé làm thời điểm xét. Số lượng sản phẩm bán ra và giá bán của các sản phẩm của các tháng trước thời điểm này sẽ được chọn làm tập train, và phần còn lại sẽ được chọn làm tập test, điều này được minh họa thông qua hình vẽ bên dưới.

Thời gian

Điểm xét 9

Tập train Tap test

Hình 4.3 — Cách phân chia dữ liệu train va dữ liệu test

Trong đó:

e Tập train dùng dữ liệu của ít nhất 3 tháng trong quá khứ.

e Tập test dùng dữ liệu thực tế của tháng hiện tại (Đã có SỐ lượng bán ra thực té

cũng như giá ban của các sản phẩm).

Bước này sẽ áp dụng mạng LSTM để huấn luyện cho từng sản phẩm, dữ liệu

huân luyện của mạng có dạng như sau:

time_span quantity price

Bang 4.17 — Cau trúc dữ liệu huấn luyện của mạng LSTM

Trong đó:

e time span: Khoảng thời gian, định dạng YYYY-MM-DD (Trong đó DD

là ngày cuối cùng của tháng MM).

94

e_ quantity: Số lượng bán ra thực tế của sản phẩm.

e_ price: Giá bán ra của sản phâm (Nếu trong một tháng có nhiều mức giá thì

lay mức giá trung bình của tháng đó).

Sau khi hoàn tất quá trình huấn luyện, mô hình sẽ trả về giá trị quantity được

dự báo tương ứng với giá tri time_span và price được cung cap.

Mô hình Prophet: Mô hình Prophet cũng sử dụng dữ liệu trong tập N dé phục

vụ cho việc huân luyện, dữ liệu đầu vào của mô hình này có dạng như sau:

ds y price

Bang 4.18 — Cau trúc dữ liệu huấn luyện của mô hình Prophet

Trong đó:

e ds: Thời điểm, định dạng YYYY-MM-DD (Trong đó DD là ngày cuối

cùng của thang MM).

ey: Số lượng bán ra thực tế của sản phẩm.

e price: Giá bán ra của sản phâm (Nếu trong một tháng có nhiều mức giá thì

lay mức giá trung bình của tháng đó).

Bước này cũng áp dụng mô hình Prophet dé huấn luyện cho từng sản phẩm. Sau khi hoàn tất quá trình huấn luyện, mô hình sẽ trả về giá tri quantity được dự báo

tương ứng với giá tri ds và price đã được cung cap.

Bước 4: Sử dụng phương pháp lọc cộng tác (Collaborative Filtering) dé tìm ra một số sản phẩm khác có thể được bán ra ở tháng M.

Bước này sử dụng phương pháp lọc cộng tác dé tìm ra danh sách các sản pham còn thiếu từ các tháng tương đồng với tháng M dựa trên danh sách các sản pham vừa

thu được ở Bước 3.

Bước 5: Lấy danh sách các sản phẩm được người dùng tự bé sung thêm.

95

Người dùng có thé tự bé sung thêm một số sản phâm khác trong bước này. Đó

có thé là các sản phẩm dang bị gợi ý sót hoặc cũng có thé là các sản pham mà người

dùng đang quan tâm.

Bước 6. Sử dụng mô hình mạng LSTM và mô hình Prophet để dự báo số lượng bán ra của các sản phẩm mới được bé sung ở Bước 4 và Bước 5.

Bước này tiếp tục sử dụng mô hình mạng LSTM và mô hình Prophet một lần nữa dé dự báo số lượng bán ra của các sản pham mới được bồ sung ở Bước 4 và Bước

5 của thuật toán.

Bước 7: Trả về danh sách tất cả các sản phẩm có thể được bán ra ở tháng

M kèm theo số liệu dự báo cu thé.

Đây là bước cuối cùng của thuật toán. Bước này trả về danh sách tất cả các sản pham có thé được bán ra ở tháng M kèm theo số liệu dự báo cụ thê.

96

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật phần mềm: Nghiên cứu và xây dựng hệ thống khuyến nghị sản phẩm nhập kho (Trang 122 - 128)

Tải bản đầy đủ (PDF)

(176 trang)