Tìm hiểu phương pháp học tích cực và ứng dụng cho bài toán lọc thư rác - 7


Số

TT

anh

gửi

một

Mua

rồi

tặng

thưởng

Trùng

vừa

xong

1




4



7

8

9



2



3

4


6






3

1



4

5







4


2








10

11

Có thể bạn quan tâm!

Xem toàn bộ 65 trang tài liệu này.


Bảng 4.3. Biểu diễn véctơ cho dữ liệu trong bảng 4.1 Như vậy các thư sẽ được biểu diễn như sau:

Thư1 ={4, 7, 8, 9}


Thư2={3, 4, 6}


Thư3={1, 4, 5}


Thư4={2, 10, 11}


4.3.3. Xây dựng chương trình biểu diễn và tiền xừ lý dữ liệu‌


a. Môi trường cài đặt:


Chương trình được cài đặt trên các môi trường ứng dụng sau:


- Môi trường cài đặt ứng dụng: Visual Studio .NET

- Ngôn ngữ sử dụng: Visual C#

b. Chức năng của chương trình:


+ Tiền xử lý dữ liệu: tách từ trong các thư thành các từ đơn, loại bỏ đi các ký tự đặc biệt, loại bỏ các từ dừng (stop-word). Đưa các từ vào trong từ điển, đánh chỉ số cho các từ.

+ Xử lý dữ liệu tạo file dữ liệu đầu vào cho các chương trình thực nghiệm.

c. Kết quả cài đặt chương trình:


- Giao diện chính của chương trình:



Hình 4 3 Giao diện chính của chương trình Lựa chọn thư mục chứa dữ liệu 1


Hình 4.3. Giao diện chính của chương trình


Lựa chọn thư mục chứa dữ liệu để lấy dữ liệu đưa vào chương trình xử lý:



Hình 4 4 Giao diện lựa chọn thư mục chứa dữ liệu Nhấn nút Làm sạch dữ 2


Hình 4.4 Giao diện lựa chọn thư mục chứa dữ liệu


Nhấn nút “Làm sạch dữ liệu” để loại bỏ các ký tự đặc biệt trong thư: ký tự xuống dòng, loại bỏ các từ dừng (stop word). Quá trình làm sạch dữ liệu sau khi hoàn thành sẽ thông báo như trong hình 4.5


Hình 4 5 Thông báo quá trình làm sạch dữ liệu đã thành công Bấm nút Xứ 3


Hình 4.5 Thông báo quá trình làm sạch dữ liệu đã thành công


Bấm nút “Xứ lý” để biểu diễn dữ liệu về dạng vector thể hiện trong các file có đuôi chấm là snow và libsvm. Trên màn hình chương trình cũng thể hiện dữ liệu huấn luyện và kiểm tra (hình 4.6). Trong file huấn luyện gồm có 323 thư thường và 167 thư rác. Trong file kiểm tra có 141 thư thường và 69 thư rác.

Kết quả của chương trình là tạo ra các file có đuôi .snow và .libsvm chính là dữ liệu thử nghiệm tương ứng cho các chương trình Snow và AcitveExperimenter. Dữ liệu ra được lưu trong thư mục đã chọn ở đầu chương trình.


Hình 4 6 Giao diện thông báo kết quả xử lý dữ liệu 4 3 4 Kết quả thử 4


Hình 4 6 Giao diện thông báo kết quả xử lý dữ liệu 4 3 4 Kết quả thử 5


Hình 4.6 Giao diện thông báo kết quả xử lý dữ liệu


4.3.4. Kết quả thử nghiệm‌

Hai phương pháp phân loại được thử nghiệm bao gồm chương trình Snow cài đặt perceptron và active SVM.


Chương trình Snow

Qua trìnhhử nghiệm được thực hiện qua hai bước: bước huấn luyện và bước kiểm tra.

Bước huấn luyện gõ lệnh:

../snow –train –I traindata.snow –F NetworkFile.net –A archfile

Bước kiểm tra gõ lệnh:

../snow –test –I testdata.snow – F NetworkFile.net

Kết quả màn hình: kết quả của chương trình được thể hiện trong hình 4.7


Hình 4 7 Kết quả chạy thuật toán Perceptron Chương trình ActiveExperimenter Thử 6


Hình 4.7. Kết quả chạy thuật toán Perceptron


Chương trình ActiveExperimenter


Thử nghiệm cũng được chia thành 2 giai đoạn: giai đoạn huấn luyện và kiểm tra. Thực nghiệm sử dụng phương pháp đánh giá 10 fold-cross validation: toàn bộ dữ liệu được chia ngẫu nhiên thành 10 nhóm kích thước tương đương nhau. Bộ phân loại được huấn luyện trên chín nhóm sau đó được kiểm tra trên một nhóm còn lại. Lặp lại 10 lần với 10 nhóm dùng để kiểm tra, sau đó lấy trung bình cộng kết quả.

Để chạy chương trình ta gõ lệnh:


experimenter.bat


thay đổi file dữ liệu hay các thông số đầu vào chương trình ta có thể sửađổi trong file config.xml trong thư mục ActiveExperimenterConfig. Trong file config.xml ta có thể lựa chọn thuật toán truy vấn là SIMPLE, SELF_CONF, KFF… Nếu để mặc định sẽ được hiểu là thuật toán SIMPLE đã trình bày trong chương 3. File config.xml có cấu trúc như trong hình 4.8:


Hinh 4 8 Cấu trúc file cấu hình của chương trình ActiveExperimenter Màn hình sau khi 7


Hinh 4.8 Cấu trúc file cấu hình của chương trình ActiveExperimenter


Màn hình sau khi chạy chương trình với thuật toán SIMPLE ta có kết quả thể hiện trong hình 4.9


Hình 4 9 Kết quả chạy thuật toán SIMPLE Khi lựa chọn thuật toán là thuật toán 8


Hình 4.9. Kết quả chạy thuật toán SIMPLE


Khi lựa chọn thuật toán là thuật toán SELF_CONF để thử nghiệm cũng trên tập dữ liệu đó, thu được kết quả ở hình 4.10:


Hình 4 10 Kết quả chạy thuật toán SELF CONF Khi sử dụng thuật toán KFF ta thu 9



Hình 4 10 Kết quả chạy thuật toán SELF CONF Khi sử dụng thuật toán KFF ta thu 10


Hình 4.10. Kết quả chạy thuật toán SELF_CONF


Khi sử dụng thuật toán KFF ta thu được kết quả như hình 4.11.



Hình 4 11 Kết quả chạy thuật toán KFF Cuối cùng là chạy thử nghiệm trên 11

Hình 4.11. Kết quả chạy thuật toán KFF


Cuối cùng là chạy thử nghiệm trên thuật toán BALANCE_EE ta thu được kết quả như hình 4.12:


Hình 4 12 Kết quả chạy thuật toán BALANCE EE 12


Hình 4.12. Kết quả chạy thuật toán BALANCE_EE

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 15/05/2022