Chương này chính là thực hiện các bước 5,6,7,8 trong sơ đồ tổng quan hệ thống hình 8.
Chuẩn bị dữ liệu
Từ 41861 cặp trang web thí sinh, chúng tôi lấy ngẫu nhiên 5000 cặp huấn luyện và 1000 cặp test không giống với bất kỳ cặp huấn luyện nào. Sau đó chúng tôi gán nhãn bằng tay cho tất cả cặp huấn luyện và cặp test. Sau khi gán nhãn, thống kê cho thấy: trong tập huấn luyện có 687 cặp có nhãn true, trong tập test có 128 cặp nhãn true. Dữ liệu huấn luyện: teaching/teaching và teaching/teaching-labeled
Dữ liệu kiểm tra: teaching/testing và teaching/testing-labeled
Mỗi cặp thí sinh đều có thông số cho tất cả thuộc tính, theo đúng thứ tự sau: Bảng 4: Thuộc tính (đặc trưng) và thứ hạng theo sự xắp sếp sẵn
0 1 2 3 4
dp n ration r sizeratio
5 6 7 8 9 10
datedistance filenamesim dirnumdiff dirnamesim wordratio chunkratio
Từ đây số được thay thế cho tên thuộc tính ví dụ thuộc tính 0 chính là dp, thuộc tính 6 chính là filenamesim,...
Mô hình cây quyết định
Từ các dữ liệu huấn luyện, chúng tôi xây dựng mô hình bằng tool jaDTi-0.5.1 của Jean-Marc Francois để tạo mô hình. Chúng tôi xây dựng hai mô hình, mô hình thứ nhất chỉ gồm ba thuộc tính, mô hình thứ hai gồm tất cả thuộc tính. Hai mô hình được tạo ra và chứa trong hai file là teaching/teaching-labeled3.dot và teaching/teaching- labeled11.dot tương ứng, sau đó chúng tôi dùng tool Graphviz 2.22 để từ mô hình tạo mô phỏng cây quyết định trong hai file ảnh: teaching/teaching-labeled3.jpg và teaching/eaching-labeled3.jpg. Kết quả trực quan thấy rằng cây quyết định dùng tất cả
Kết quả thống kê trong bảng sau:
Bảng 5: Độ chính xác và recall của decision tree
số lượng thuộc tính sử dụng precision recall số lượng cặp song ngữ
3 0.55932203 0.515625 5221
11 0.92741935 0.898438 5404
Toàn bộ cặp song ngữ lấy từ dữ liệu ban đầu nằm trong hai file tương ứng với hai bộ thuộc tính:
./data3.paired, ./data11.paired
Mô hình Naive Bayes
Trước khi tạo được mô hình Naive Bayes, chúng ta phải chuẩn hóa các giá trị của từng thuộc tính. Và việc chuẩn hóa cần thông số gap khoảng cách của từng thuộc tính. Giá trị những gap được thiết lập bằng tay, qua nhiều lần kiểm nghiệm. Kiểm nghiệm bằng cách, mỗi lần chỉ cho tạo mô hình Naive Bayes, và cho chạy trên tập test, tính precison và recall, đối với mỗi thuộc tính, nếu precison và recall vẫn tăng thì gap của thuộc tính đó bị chia nhỏ cho đến khi precision và recall không tăng., hoặc tăng không đáng kể so với tỉ lệ gap bị chia nhỏ (gap càng nhỏ thì số lượng giá trị của thuộc tính đó càng nhiều, dữ liệu càng bị phân mảnh, cây quyết định giảm đi tính khái quát) .
Dữ liệu huấn luyện đã chuẩn hóa: teaching/teaching-labeled-standarded Dữ liệu test đã chuẩn hóa: teaching/testing-labeled-standarded
Riêng đối với Naive Bayes, chúng tôi thiết kế hệ thống để với bất kỳ tổ hợp thuộc tính nào cũng đưa ra được precison, recall và toàn bộ cặp song ngữ trong giữa liệu ban đầu.
Chúng tôi đưa ra 2 bộ thuộc tính để tính toán precison và recall, bộ thứ nhất gồm dp, n, r và bộ ai gồm filenamesim và dirnamesim (6 và 8), bộ có recall và precision cao nhất được liệt kê trong file teaching/combinning-attributes.prerec
Kết quả thống kê trong bảng sau:
số lượng thuộc tính sử dụng precision recall số lượng cặp song ngữ 3 0.44339622641509435 0.3671875 4718 Tối ưu 2 (6,8) 0.967479674796748 0.9296875 5198
Toàn bộ cặp song ngữ lấy từ dữ liệu ban đầu nằm trong hai file tương ứng với hai bộ thuộc tính:
./ data-nb013.paired, ./ data-nb68.paired