6. Cấu trúc của đề tài
4.2. Thu thập và xây dựng cơ sở dữ liệu
Mục tiêu của việc thu thập dữ liệu là để xây dựng một mạng đồ thị hai phía, gồm một phía là các đơn vị có u cầu được cấp phát vật tư thiết bị để sử dụng (tương ứng với khái niệm user), và phía cịn lại là các loại vật tư thiết bị đã được cấp phát (tương ứng với khái niệm item). Khi một đơn vị được bàn giao vật tư thiết bị sẽ hình thành một liên kết giữa hai phía của đồ thị là cạnh (tương ứng khái niệm
edge). Số lần đơn vị có yêu cầu cung cấp mặt hàng được xem là cơ sở của trọng số
liên kết.
Dữ liệu được thu thập từ các phiếu xuất kho vật tư thiết bị của công ty PTC4. Công ty sử dụng hệ thống quản lý vật tư thiết bị xuất thông tin các phiếu xuất nhập kho trong khoảng thời gian chỉ định ra file excel (như Hình 4.1). Các thơng tin chính gồm có Thời gian, Mã vật tư thiết bị, Tên vật tư, Đơn vị tính, Lơ hàng, Số lượng, Nội dung diễn giải và Đơn vị nhận, Chứng từ, Tài khoản, Đơn giá, Thành tiền. Từ đây ta cần xử lý file excel để trích xuất những thơng tin cần thiết và lưu thành một file định dạng “csv” để có thể đọc được và đưa vào các datatable của các ngơn ngữ lập trình (đề tài sử dụng Python).
Bộ dữ liệu được thu thập từ năm 2016 đến 2021 gồm 27,101 dòng. Các
thơng tin cần trích xuất gồm Mã vật tư, Nơi nhận, Diễn giải, và một số thông tin bổ sung thêm như Tên vật tư, Số lượng, Ngày. Một số dịng dữ liệu liệt kê như Hình 4.2.
Chi tiết các thông tin trong dữ liệu như sau:
- Mã Vật tư: là mã riêng biệt gồm các số và chữ gán cho từng loại vật tư thiết bị cụ thể, gồm 16 ký tự, có 8,836 mã trong dữ liệu.
- Nơi nhận: là phòng, đơn vị liên quan đến việc nhận vật tư. Tuy nhiên đây là các nơi nhận mang tính quản lý chung, sau đó vật tư thiết bị tiếp tục giao đến các đơn vị nhỏ hơn, có 33 nơi nhận trong dữ liệu trên.
Do đó, căn cứ vào phần diễn giải ta cần lấy ra các thông tin về đơn vị cụ thể (như đội đường dây, trạm biến áp v.v…) liên quan đến vật tư giao nhận. Để thực hiện được điều này cần có một bộ từ khóa là tên của các đơn vị trực tiếp thực hiện nhận vật tư, một đoạn code sẽ so sánh các nội dung trong diễn giải có xuất hiện các từ khóa này thì sẽ gán vào cột User tương ứng của dataset. Sau khi trích xuất thơng tin thì có được 148 user.
Sau khi xử lý cơ sở dữ liệu thơ, loại bỏ các dịng thiếu thơng tin, trùng lắp thông tin, thông tin gây nhiễu, không hiệu quả (như các thông tin liên quan đến việc điều chỉnh chứng từ) v.v… ta có được bộ dataset gồm 24,312 dịng có dạng như sau:
Bảng 4.1. Bảng dữ liệu sau khi xử lý thô
Index Mã Vật tư User
42976 3.10.88.518.KOR.00.000 TBA Xuân Lộc
42977 3.10.87.002.CHN.00.000 TBA Xuân Lộc 42978 3.10.90.176.000.00.000 TBA Xuân Lộc
42979 3.15.27.885.000.00.A05 Đội Tân Định
42982 3.20.89.158.000.00.A05 Đội Sông Mây 42983 3.06.66.611.000.00.A05 Đội Xuân Lộc
42987 3.42.73.213.GER.00.A05 Đội Thủ Đức
42988 3.42.73.213.GER.00.A05 Đội Long Thành 42989 3.10.60.500.000.00.A05 TBA Uyên Hưng
42990 3.10.60.642.ITA.00.A05 TBA Uyên Hưng
42991 3.10.60.642.ITA.00.A05 TBA Đức Hòa 42992 1.41.04.025.SIN.00.000 TBA Cai Lậy
Như vậy ta được bộ dữ liệu với mỗi dịng gồm có User, Item (Mã vật tư). Quan sát dữ liệu nhận thấy một số mục có tần suất xuất hiện lớn (Hình 4.3) nhưng khơng có nhiều ý nghĩa trong cơng tác thực tế như “Chứng từ”, “Trang phục”. Đối với cột User tiếp tục thực hiện loại bỏ các dòng dữ liệu chứa các nội dung này.
Sau khi bỏ một số mã User không cần thiết cho việc xây dựng dữ liệu, bộ dữ liệu cịn lại 18,058 dịng.
Hình 4.3. Thống kê tần suất xuất hiện của đơn vị nhận
Đối với Mã vật tư, từng loại vật tư thiết bị cụ thể được gán một mã số riêng gồm 16 ký tự. Trong đó việc phân loại vật tư chủ yếu ở 5-8 ký tự đầu tiên:
- 3 ký tự đầu tiên thể hiện phân nhóm chính là chủng loại của vật tư thiết bị. - 2 ký tự tiếp theo (5 ký tự đầu tiên) thể hiện phân nhóm phụ nêu chi tiết loại
vật tư theo chức năng, tác dụng.
- 3 ký tự tiếp theo (8 ký tự đầu tiên) thể hiện cụ thể nhãn hiệu, model của vật tư thiết bị.
- Các ký tự còn lại chỉ dùng để thể hiện nơi sản xuất, phụ kiện kèm theo và chất lượng còn lại sau khi thu hồi nếu là vật tư được thay thế.
Cấu trúc bộ dữ liệu ứng với các phương án phân loại VTTB theo số lượng ký tự đầu tiên của mã VTTB như sau:
- Khi chỉ dùng 8 ký tự đầu cho phân nhóm phụ: 6596 mã - Khi chỉ dùng 5 ký tự đầu cho phân nhóm chính:708 mã
Cấu trúc bộ mã vật tư thiết bị được trình bày chi tiết ở phần Phụ lục.
Trong thực tế cơng tác, các mã vật tư có cùng phân nhóm ở 8 ký tự đầu tiên là một chủng loại vật tư thiết bị, chỉ khác nơi sản xuất, rộng hơn các mã vật tư có cùng phân nhóm ở 5 ký tự đầu tiên là tương đồng nhau về chức năng chính, và hồn tồn có thể được sử dụng để thay thế lẫn nhau. Do đó, đề tài sử dụng các mã vật tư nhóm 5 ký tự để xây dựng bộ dữ liệu.
Bước tiếp theo thực hiện tính rating đối với mỗi cặp user / item. Có 2 phương án lấy ratings là theo tổng số lượng vật tư thiết bị được giao cho đơn vị hoặc số lần đơn vị có nhu cầu về vật tư thiết bị. Theo quan sát thực tế, số lượng khơng có nhiều ý nghĩa vì mỗi lần hư hỏng thiết bị thì số lượng là thường như nhau đối với một chủng loại vật tư. Ngoải ra, đơn vị tính khác nhau có thể dẫn đến số lượng rất chênh lệch giữa các chủng loại vật tư thiết bị. Trong khi đó, số lần đơn vị yêu cầu cung cấp vật tư thiết bị thực tế nói lên mức độ cần thiết giữa thiết bị đó và đơn vị cụ thể. Do đó, đề tài chọn sử dụng tần suất xuất hiện của mỗi cặp user / item là rating của user đối với item đó.
Kết quả sau khi tính tốn ta xây dựng được một mạng đồ thị hai phía Kho_PTC4 với 7,514 dịng dữ liệu gồm 146 user và 593 item.