CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
3.4. Huấn luyện mô hình SVM và đánh giá
Cross validation k folds được thực hiện bằng việc sử dụng lớp GridSearchCV của thư viện Scikit-learn. Các tham số khởi tạo cho lớp này bao gồm tên kernel, các giá trị cho các tham số tương ứng cho từng kernel và các giá trị trọng số lớp. Sau khi tiến hành cài đặt mô hình SVM thì tác giả thu được kết quả như Hình 3.8 và Hình 3.9 sau đây
Hình 3.8: Biểu đồ nhiệt độ chính xác của SVM sử dụng kernel linear với các giá trị C và class_weight khác nhau
Hình 3.9: Biểu đồ nhiệt độ chính xác của SVM sử dụng kernel rbf với các giá trị C, class_weight, gamma khác nhau
Qua hai biểu đồ nhiệt trên có thể thấy với kernel linear thì sử dụng các tham số C = 0.8 và class_weight = 1.15 là tối ưu nhất với độ chính xác trung bình 0.895. Nếu sử dụng kernel rbf thì sử dụng các tham số {C = 3, class_weigh = 1.1 và gamma = 1} và {C= 3 class_weigh = 1 và gamma = 1} đều cho kết quả tốt nhất với độ chính xác trung bình 0.896 tuy nhiên với class_weight = 1.1 thì kết quả phân lớp trên toàn tập thử nghiệm cao hơn khá nhiều (gần 4%) so với class_weight = 1. Qua thử nghiệm trên, tác giả đề xuất sử dụng kernel rbf với bộ tham số {C= 3 class_weigh = 1.1 và gamma = 1} vì độ chính xác cao hơn so với kernel linear.
Mô hình phân lớp SVM sẽ được đánh giá cuối cùng dựa trên dữ liệu kiểm thử bao gồm 322 bình luận tích cực và 265 bình luận tiêu cực. Dữ liệu này không hề được sử dụng trong quá trình tạo mô hình phân lớp vì vậy kết quả sẽ khách quan hơn so với việc đánh giá mô hình qua dữ liệu huấn luyện. Dữ liệu kiểm thử trước khi cho vào mô hình dự đoán cũng phải trải qua quá trình tiền xử lý tự động đã được tạo ra trước đó bằng dữ liệu huấn luyện bao gồm làm sạch dữ liệu, tách từ, giảm số chiều. Mô hình phân lớp SVM trên tập dữ liệu kiểm thử có kết quả như sau:
Độ chính xác (%) Độ bao phủ (%) F1 (%)
Tích cực 93.6 95.3 94.4
Tiêu cực 94.2 92.1 93.1
Trung bình 93.9 93.9 93.8
Bảng 3.2: Kết quả phân lớp SVM trên tập dữ liệu kiểm thử
Để chứng minh việc áp dụng phương pháp regex nâng cao mà tác giả đã trình bày ở bước tiền xử lý dữ liệu là có hiệu quả, tác giả đã tiến hành thực nghiệm mô hình phân lớp SVM cho trường hợp không áp dụng regex nâng cao.
Độ chính xác (%) Độ bao phủ (%) F1 (%)
Tích cực 89.2 95.0 92.0
Tiêu cực 94.3 86.0 89.6
Trung bình 91.1 91.0 90.9
Bảng 3.3: Kết quả phân lớp SVM trên tập dữ liệu kiểm thử không áp dụng regex nâng cao ở bước tiền xử lý
Qua kết quả trên có thể thấy kết quả của việc áp dụng regex nâng cao trong bước tiền xử lý dữ liệu đã giúp cho mô hình phân lớp nâng cao kết quả trung bình mỗi chỉ số hơn 2 %.
Ngoài ra tác giả cũng tiến hành so sánh các phương pháp trích xuất đặc trưng khác ngoài thuật toán TF-IDF là phương pháp N-gram và các giải thuật phân lớp phổ biến khác là K-Nearest Neighbors, Nạve Bayes và Maximum Entropy để kiểm chứng việc sử dụng phân lớp SVM và trích xuất đặc trưng TF-IDF là hiệu quả nhất cho bài toán phân lớp cảm xúc bình luận phim. Việc cài đặt các thuật toán phân lớp và trích xuất đặc trưng khác kể trên cũng được tiến hành bằng thư viện Scikit-learn với dữ liệu bình luận và quá trình tiền xử lý như mô tả trước đó. Kết quả thực nghiệm được thể hiện qua Bảng 3.4:
Đặc trưng Precision (%) Recall (%) F1 (%)
SVM
TF-IDF 93.9 93.9 93.8
UniGram 93.2 93.2 93.3
BiGram 92.7 92.7 92.7
TriGram 91.5 91.1 91.1
MaxEnt TF-IDF 93.1 93.2 93.2
UniGram 91.8 91.6 91.6
BiGram 91.6 92.7 92.6
TriGram 92.2 92.2 92.1
KNN
TF-IDF 83.0 82.7 82.7
UniGram 88.9 88.4 88.4
BiGram 87.4 87.0 87.0
TriGram 88.7 87.4 87.4
NB
TF-IDF 83.2 81.6 81.6
UniGram 83.6 83.3 83.1
BiGram 83.5 81.9 81.5
TriGram 80.9 75.6 73.8
Bảng 3.4: So sánh hiệu quả của một số phương pháp trích xuất đặc trưng và giải thuật phân lớp phổ biến
Qua kết quả trên có thể thấy rằng mô hình phân lớp SVM với trích xuất đặc trưng sửa dụng TF-IDF đã cho kết quả tốt nhất. Mặc dù thời gian huấn luyện và phân lớp của mô hình SVM sử dụng kernel rbf lâu hơn khá nhiều so với các mô hình khác. Tuy nhiên độ chính xác của mô hình phân lớp SVM sử dụng kernel rbf có kết quả khá cao trên cả tập kiểm thử lẫn tập huấn luyện. Đồng thời trích xuất đặt trưng TF-IDF cũng cho độ chính xác trên tập huấn luyện cao hơn khá nhiều so với phương pháp trích xuất đặc trưng n-gram.