anh | gửi | một | Mua | rồi | tặng | thưởng | Trùng | và | 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!
- Quy Tắc Học Tích Cực Là Truy Vấn Các Nhãn Cho Các Điểm X Trong L, L Được Xác Định Bởi Ngưỡng S T Trên | V T .x T | [32]
- 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 - 5
- Ứng Dụng Học Tích Cực Cho Bài Toán Lọc Thư Rác
- 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 - 8
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 để 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ữ 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ứ 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ử 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ử 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 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 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 đượ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 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