Kiên Giang là tỉnh thuộc đồng bằng sông Cửu Long, có biển, đồng bằng rừng núi và hải đảo, do đó tỉnh có nhiều sản phẩm tương đồng với các tỉnh trong khu vực và các tỉnh, thành có biển như: nông sản (gạo, khớm, tiêu, …), thực phẩm (nước mắm, thủy sản đóng hộp,…), thủ công mỹ nghệ (đan đát, lục bình,…). Hiện nay tỉnh Kiên Giang đang triển khai nhiều chương trình công nhận sản phẩm, các chính sách hỗ trợ doanh nghiệp nhỏ và vừa, năm 2020 Kiên Giang công nhận 18 sản phẩm OCOP, 41 sản phẩm công nghiệp nông thôn tiêu biểu, khoảng 50 nhãn hiệu tập thể, cá nhân và các sản phẩm nghề, làng nghề. Tuy nhiên các sản phẩm được các đơn vị khác nhau tham mưu Ủy ban nhân dân tỉnh công nhận nên công tác quản lý, quảng bá giới thiệu sản phẩm của đơn vị xúc tiến gặp khó khăn, quản lý theo mô hình thủ công. Nhận thấy quản lý sản phẩm là công tác quan trọng trong việc quản lý, theo dõi, giới thiệu quảng bá, hỗ trợ các sản phẩm của tỉnh đến với đối tác, người tiêu dùng, nhằm đạt mục tiêu định hướng phát triển của một tổ chức, đơn vị. Ngoài ra do đặc thù có nhiều sản phẩm tương đồng với các tỉnh, thành trong cả nước là một khâu khó khăn cho cán bộ làm công tác xúc tiến khi giới thiệu người tiêu dùng, đối tác nhận ra được sản phẩm của Kiên Giang, sản
phẩm đó đạt được chứng nhận gì, địa chỉ ở đâu, có đúng sản phẩm Kiên Giang không. Khoảng 90% là doanh nghiệp Kiên Giang là doanh nghiệp nhỏ và vừa, thậm chí siêu nhỏ, một số doanh nghiệp có đầu tư về công tác giới thiệu sản phẩm như tờ rơi, cử cán bộ giới thiệu tại các hội nghị, hội chợ; cán bộ tư vấn của doanh nghiệp thường xuyên thay đổi do nghỉ việc; cán bộ xúc tiến rất ít nên việc truyền tải đến người tiêu dùng không thể tránh thiếu sót.
Từ thực trạng đó, lộ trình tin học hóa dữ liệu sản phẩm được tiến hành theo hướng số hóa hồ sơ sản phẩm để xây dựng ứng dụng khai thác dữ liệu nhanh chóng hiệu quả phục vụ cho công tác nghiệp vụ. Quản lý sản phẩm là một khâu quan trọng, trong quá trình quản lý, cập nhật, thay đổi, bổ sung thông tin trong hồ sơ thì dữ liệu được tích luỹ ngày càng nhiều. Dữ liệu sản phẩm có nhiều thông tin cần quản lý, vì vậy kho dữ liệu sản phẩm đặt ra nhu cầu cần tìm cách trích rút ra luật dữ liệu hay dự đoán. Yêu cầu phương pháp khai thác kho dữ liệu này một cách khoa học hiệu quả và thuận tiện để có cơ sở thông tin hỗ trợ công tác quản lý, xúc tiến, hỗ trợ cụ thể từ những thông tin được lưu trữ.
Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phá tri thức. Về bản chất là giai đoạn duy nhất tìm ra những thông tin có trong cơ sở dữ liệu chủ yếu phục vụ cho công tác mô tả, phỏng đoán. Quá trình khai phá dữ liệu sẽ đi qua các bước như: xác định vấn đề cần giải quyết, thu thập thông tin, xử lý dữ liệu và áp dụng thuật toán khai phá dữ liệu. Có nhiều phương pháp khai phá dữ liệu như luật kết hợp, phân lớp dữ liệu, phân cụm dữ liệu.
Trong lĩnh vực máy học, cây quyết định là một kiểu mô hình dự báo (predictive model), cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu. Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của
các thuộc tính dẫn tới phân loại đó. Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính [7]. Các thuật toán phân lớp như C4.5 (Quinlan, 1993), CDP (Agrawal và các tác giả khác, 1993), SLIQ (Mehta và các tác giả khác, 1996) và SPRINT (Shafer và các tác giả khác, 1996) đều sử dụng phương pháp của Hunt làm tư tưởng chủ đạo. Phương pháp này được Hunt và các đồng sự nghĩ ra vào những năm cuối thập kỷ 50 đầu thập kỷ 60. [2].
Tác giả lựa chọn phương pháp phân lớp dữ liệu dựa trên cây quyết định có thuật toán C 4.5 để xây dựng phần mềm cho luận văn vì thuật toán phân lớp dữ liệu dựa trên cây quyết định hiệu quả và phổ biến trong ứng dụng khai phá cơ sở dữ liệu, C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chính đặc điểm này làm C4.5 chỉ thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắp xếp lại dữ liệu tại mỗi node trong quá trình phát triển cây quyết định. Ví dụ như khi chọn sản phẩm “nước mắm”, huyện “phú quốc”, chứng nhận “ocop hoặc làng nghề hoặc tiêu biểu” thì xác nhận là “sản phẩm đã xác nhận”. Với các tập luật phân lớp sinh ra từ cây quyết định theo thuật toán C4.5 dựa trên tập dữ liệu sản phẩm để tạo ra các công cụ hỗ trợ, tư vấn.
Để kiểm thử và đánh giá kết quả, tác giả lựa chọn ngôn ngữ SQL 20214 để lưu trữ cơ sở dữ liệu và ứng dụng thực nghiệm là phần mềm Visual Studio C# 2015, bởi vì: SQL là loại ngôn ngữ máy tính, giúp cho thao tác lưu trữ và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ. SQL là viết tắt của Structured Query Language là ngôn ngữ truy vấn có cấu trúc. SQL cho phép người dùng truy cập dữ liệu trong các hệ thống quản lý cơ sở dữ liệu quan hệ. Visual Studio là công cụ hỗ trợ lập trình tốt nhất hiện này của Microsoft, Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau các ngôn ngữ tích hợp gồm có C, C++, C#,…. C# khi đi kèm với framewwork.NET hỗ trợ tạo ứng dụng window với Winform, đặc biệt là cho các ứng dụng quản lý
như quản lý nhà hàng, quản lý cà phê, quản lý nhân viên,...
2.8 Kết luận chương 2
Chương này nghiên cứu kỹ thuật phân lớp dữ liệu sử dụng cây quyết định, quá trình hình thành cây, luật kết hợp trong khai phá dữ liệu sử dụng thuật toán Apriori, các vấn đề liên quan và đặc tính, điểm mạnh điểm yếu của cây quyết định, luật kết hợp. Cơ sở dữ liệu dùng hệ quản trị Microsoft SQL.
Chương 3. THIẾT KẾ CHƯƠNG TRÌNH VÀ KẾT QUẢ THỬ NGHIỆM
Chương này giới thiệu về mô hình xây dựng, các kết quả thực nghiệm về bài toán đã đặt ra ở chương 2, sử dụng tập dữ liệu sản phẩm, xây dựng phần mềm ứng dụng và thử nghiệm cho kết quả. Từ các kết quả và so sánh đưa ra những dự báo cho khách hàng.
3.1 Giới thiệu về mô hình xây dựng
Tập dữ liệu mẫu bao gồm các sản phẩm Kiên Giang đã được công nhận như sản phẩm OCOP, công nghiệp nông thôn tiêu biểu (gọi tắt là tiêu biểu), nghề - làng nghề. Sản phẩm có các thông tin như: tên sản phẩm, ngành, loại, đặc tính, doanh nghiệp (gọi tắt là cơ sở), địa chỉ (huyện), chứng nhận đạt được, trọng lượng. Từ các cơ sở dữ liệu ta xây dựng bảng cơ sở dữ liệu quản lý trên phần mềm SQL.
Dựa vào các điều kiện đã được Ủy ban nhân dân tỉnh Kiên Giang công nhận, tác giả có ba (03) ngành gồm nông sản, thực phẩm và thủ công mỹ nghệ, tương ứng với các ngành là loại nông sản, nước mắm, đan cỏ bàng, đan lục bình, cá cơm sấy,….để xác định là sản phẩm Kiên Giang cần có đủ các yếu tố từ tên sản phẩm, cơ sở, địa chỉ. Ví dụ để xác định là sản phẩm là nước mắm, thì nước mắm được công nhận hiện tại có 3 loại theo OCOP, nghề - làng nghề, tiêu biểu; địa chỉ ở Phú Quốc thì xác nhận đúng là sản phẩm Kiên Giang, nếu có địa chỉ tại huyện Kiên Hải thì phải có chứng nhận là làng nghề - nghề, thuộc 2 chứng nhận tiêu biểu và OCOP thì chưa được xác nhận,…
Dựa vào các nội dung trên ứng dụng trên phần mềm Visual Studio 2015 để tiến hành kiểm thử, tác giả xây dựng chương trình thực nghiệm, người tiêu dùng đăng nhập vào phần mềm, lựa chọn quản lý sản phẩm hay tìm hiểu sản phẩm Kiên Giang, quản lý sản phẩm sẽ cho quyền sửa, xóa tên sản phẩm trên cơ sở dữ liệu chính; nếu lựa chọn xác nhận thì chọn vào các thanh công cụ
đưa vào tên sản phẩm, địa chỉ (huyện), chứng nhận sản phẩm đã đạt được sẽ cho kết quả là “sản phẩm đã được xác nhận”, ngược lại là “sản phẩm chưa được xác nhận”.
Vì nhiều lý do, đến hiện tại sản phẩm chưa đăng ký để được công nhận, hoặc chưa cơ sở dữ liệu chưa được cập nhật, thì sản phẩm sẽ không được lưu trữ trong cơ sở dữ liệu, kết quả sẽ có thông báo “sản phẩm chưa được xác nhận”.
Để kiểm thử các tập luật được sinh ra từ cây quyết định áp dụng thuật toán C 4.5, tác giả ứng dụng phần mềm weka để kiểm thử kết quả của chương trình.
Hình 3.1 Sơ đồ luồng dữ liệu thông tin sản phẩm
Tác giả kỳ vọng chương trình sẽ được triển khai tại chính đơn vị xúc tiến phục vụ công tác quản lý sản phẩm, chương trình sẽ được triển khai tại các hội chợ, triển lãm hội nghị để đối tác, người tiêu dùng tìm hiểu và được tư vấn lựa chọn đúng sản phẩm của Kiên Giang. Ngoài ra chương trình cũng
Tập dữ liệu sản phẩm
Cơ sở dữ liệu sản phẩm
Cây quyết định
Các luật phân lớp được sinh ra
Phần mềm ứng dụng
được triển khai tại các doanh nghiệp của tỉnh, tại nơi có điều kiện bố trí phòng trưng bày, có máy vi tính giới thiệu sản phẩm, giảm bớt chi phí giới thiệu sản phẩm.
3.2 Giải quyết vấn đề
Các vấn đề không thể thực hiện bằng chương trình quản lý hiện tại của đơn vị (hiện tại đang quản lý dựa trên phần mềm Microsoft Excel, dữ liệu rời rạc). Tác giả giải quyết vấn đề bằng nghiên cứu luận văn sử dụng phần mềm dựa trên kỹ thuật phân lớp Cây quyết định có áp dụng thuật toán C 4.5.
Bước 1 Thiết kế cơ sỡ dữ liệu mẫu phục vụ cho quá trình xây dựng cây quyết định
Dựa trên thực tế về sản phẩm của Kiên Giang, cơ sở dữ liệu mẫu bao gồm các bảng dữ liệu sau:
- Bảng dữ liệu chính SanPham
Khóa chính là maSP (mã sản phẩm), chứ các thuộc tính cơ bản là tên sản phầm, ngành, loại, đặc tính, doanh nghiệp, huyện, chứng nhận, trọng lượng và 7 khóa ngoại tham chiếu đến các bảng dữ liệu khác
- Bảng dữ liệu Nganh
Khóa chính là tenNganh để tham chiếu với khóa ngoại của bảng sản phẩm và chứa thông tin về ngành
- Bảng dữ liệu Loai
Khóa chính là tenLoai để tham chiếu với khóa ngoại của bảng Sản Phẩm và chứa thông tin về loại
- Bảng dữ liệu Dactinh
Khóa chính là tenDacTinh để tham chiếu với khóa ngoại của bảng Sản Phẩm và chứa thông tin về đặc tính
- Bảng dữ liệu TrongLuong
Sản Phẩm và chứa thông tin về trọng lượng - Bảng dữ liệu DoanhNghiep
Khóa chính là tenDoanhNghiep để tham chiếu với khóa ngoại của bảng Sản Phẩm và chứa thông tin về doanh nghiệp.
- Bảng dữ liệu Huyen
Khóa chính là tenHuyen để tham chiếu với khóa ngoại của bảng Sản Phẩm và chứa thông tin về huyện
- Bảng dữ liệu ChungNhan
Khóa chính là tenChungNhan để tham chiếu với khóa ngoại của bảng Sản Phẩm và chứa thông tin về chứng nhận
Hình 3.2 Sơ đồ liên kết giữa các bảng
Bước 2: Xác định thuộc tính cần dự toán và thuộc tính đầu vào cho mô hình. Xây dựng cây quyết định để phân lớp
Xác định thuộc tính cần dự đoán và thuộc tính đầu vào cho mô hình. Dựa theo dữ liệu sản phẩm Kiên Giang đến cuối năm 2020: gồm các sản phẩm OCOP, sản phẩm công nghiệp nông thôn tiêu biểu, sản phẩm tiềm năng của địa phương:
- Thuộc tính đầu vào là 10 thuộc tính có trong bảng “SanPham” - Trong đó thuộc tính phân lớp là thuộc tính “XacNhan”
Xây dựng cây quyết định để phân lớp dữ liệu và rút ra các luật phân lớp cho mô hình
- Sử dụng phần mềm với dữ liệu đầu vào là bảng “SanPham” được thiết kế trong bước 1 để hình thành cây quyết định dựa trên thuật toán C4.5
- Phân tích cây quyết định để rút ra các luật phân lớp dựa trên thuật toán C.4.5
- Phân tích cây quyết định để rút ra các luật phân lớp phục vụ cho luận văn
Bước 3: Dùng kết quả ở bước 2 để xây dựng phần mềm ứng dụng đánh giá xác nhận kết quả sản phẩm Kiên Giang
- Sử dụng ngôn ngữ C# trên Microsoft Visual Stuidio 2015 để thiết kế phần mềm ứng dụng.
- Xây dựng chức năng kết nối với cơ sở dữ liệu SQL Server 2014 để lấy dữ liệu từ các bảng chính và các bảng tham chiếu.
- Đưa vào các luật phân lớp được rút ra từ “bước 2” vào trong phần mềm
- Thiết kế các chức năng ứng dụng cho chương trình
3.3 Mô tả các bước xây dựng mô hình
3.3.1 Thiết kế cơ sở dữ liệu mẫu để phục vụ cho quá trình xây dựngcây quyết địnhcây quyết định cây quyết định
Cơ sở dữ liệu được thiết kế với 2 (hai) định dạng excel để phục vụ cho việc xây dựng cây quyết định từ phần mềm Weka và SQL server 2014 để phục vụ cho phần mềm ứng dụng.
Cơ sở dữ liệu với định dạng excel
Hình 3.3 Dữ liệu mẫu Excel
Cơ sở dữ liệu được tạo trong SQL
Hình 3.4 Cơ sở dữ liệu mẫu SQL
3.3.2 Xác định thuộc tính cần dự đoán và thuộc tính đầu vào cho mô hình, Xây dựng cây quyết định để phân lớp dữ liệu
Tác giả sử dụng tập dữ liệu mẫu về nước mắm Phú Quốc để làm tập dữ liệu mẫu, hiện tại trên thị trường có nhiều loại nước mắm, ngay cả tại Kiên Giang cũng rất nhiều sản phẩm được quảng cáo là sản phẩm nước mắm Phú
Quốc, tuy nhiên để xác định đâu đúng là nước mắm Phú Quốc thì cần căn cứ vào tên sản phẩm, thương hiệu, nơi sản xuất tại Phú Quốc.
Hình 3.5 Sản phẩm nước mắm Phú Quốc đang được bày bán tại siêu thị
Tập dữ liệu mẫu là về nước mắm Kiên Giang gồm các sản phẩm OCOP, công nghiệp tiêu biểu (gọi tắt là tiêu biểu), sản phẩm thuộc làng nghề (gọi tắt là làng nghề), sản phẩm tiềm năng của địa phương - sản phẩm đang chờ được thẩm định công nhận là OCOP, hoặc tiêu biểu (gọi tắt là tiềm năng).
Với tập dữ liệu tác giả dùng thuật toán C4.5 để tạo ra cây quyết định phân lớp dữ liệu.
Kiểm tra độ chính xác của thuật toán C4.5 sinh ra cây quyết định đã cài đặt bằng phần mềm hỗ trợ Weka.
Với thuộc tính đầu vào là toàn bộ column trong file dữ liệu mẫu Excel và thuộc phân lớp là “XacNhan” ta xây dựng cây quyết định như sau:
Phân lớp dữ liệu
File dữ liệu mẫu được save as dưới dạng demo.arff
Hình 3.6 Cơ sở dữ liệu mẫu demo.arff
Mở file mẫu dưới dạng arff
Hình 3.7 Minh họa file demo trong weka
Để thực hiện phân lớp, đầu tiên tác giả chọn file cần phân lớp, sau khi mở file chọn tab Classify, nhấn nút chọn Choose để chọn phân lớp theo luật Bayes, C4.5,… Riêng trong chi tiết phần này tác giả chọn tree -> J48 (trong Weka C4.5 tương đương J48).
Kết quả sẽ hiện ra màn hình (xem hình 3.8)
Hình 3.8 Liệt kê kết quả phân lớp tập dữ liệu mẫu
Các lớp được phân ra từ phần mềm là:
Với file mẫu vừa rồi tác giả phân ra được thành 2 lớp là “yes”, và “no” - Thuộc tính “yes” là các dòng dữ liệu có kết quả xác nhận là yes. - Thuộc tính “no” là các dòng dữ liệu có kết quả xác nhận là no. Cây quyết định được sinh ra
Để hiển thị cây quyết định ta chọn vào tree.J48 bằng cách nhấp chuột phải và chọn Vissualize tree
Cây quyết định được hiển thị (xem hình 3.9)
Hình 3.9 Cây quyết định xác nhận sản phẩm nước mắm Kiên Giang
Dữ liệu đã được phân lớp
Các luật phân lớp được rút ra từ cây quyết định dựa trên tập dữ liệu