Nhận xét và đề xuất cải tiến thuật toán và chƣơng trình

Một phần của tài liệu Nghiên cứu cải tiến một số phương pháp phân loại văn bản tự động và áp dụng trong xử lý văn bản tiếng Việt (Trang 80)

3. Bố cục và cấu trúc của luận văn

6.5. Nhận xét và đề xuất cải tiến thuật toán và chƣơng trình

Thuật toán tách thuộc tính nhóm xâu con chính đã đƣợc chứng minh là có độ phức tạp thời gian là O(n), do vậy nó thực sự hiệu quả và linh hoạt. Điểm nổi bật nhất của thuật toán là đƣa ra một phƣơng pháp khả thi và hiệu quả trong việc phân loại văn bản dựa trên thuộc tính là các xâu kí tự thay bởi việc sử dụng các thuộc tính là các từ. Thuật toán đƣa ra một hƣớng đi cho phân loại văn bản không phụ thuộc vào ngôn ngữ, không cần xử lý phân đoạn từ, điều này mở ra một hƣớng đi mới cho bài toán phân loại văn bản tiếng Việt, vì tốc độ xử lý và độ chính xác của bài toán tách từ trong tiếng Việt vẫn còn là vấn

đề mở. Tuy nhiên để áp dụng hoàn toàn thuật toán [30] và chƣơng trình [34] vào bài toán phân loại văn bản tiếng Việt, thuật toán và chƣơng trình đƣợc cải tiến một số điểm sau:

Thuật toán chƣa xử lý cho việc đoán nhận lớp (nhãn) cho một văn bản mới. Thay bởi phải dựng lại cây hậu tố từ đầu cho tập Corpus mới (bao gồm cả văn bản mới). Vần đề này có thể đƣợc giải quyết bằng cách chỉ sử dụng các thuộc tính đƣợc chiết xuất từ tập huấn luyện để biểu diễn một văn bản mới. Sau đó sử dụng thuật toán với cây hậu tố để tiến hành khớp văn bản mới với cây hậu tố (đƣợc xây dựng từ tập huấn luyện), từ đó xác định các thuộc tính của văn bản này tức là có vector thuộc tính nhóm xâu con chính của văn bản mới này. Chƣơng trình mới chỉ làm việc với corpus đƣợc lƣu dƣới dạng một file văn bản, và mỗi dòng đại diện cho một văn bản. Để linh hoạt hơn, chƣơng trình đƣợc cải tiến để xử lý corpus đƣợc lƣu trong thƣ mục, với mỗi lớp văn bản đƣợc lƣu trong một thƣ mục con và mỗi văn bản đƣợc lƣu trong một file văn bản.

Chƣơng trình cũng đƣợc cải tiến để làm việc đƣợc với dữ liệu Unicode, là dạng lƣu trữ phổ biển hiện nay trong các file dữ liệu của các ngôn ngữ châu Á trong đó có tiếng Việt.

Thuật toán đƣợc cải tiến để đƣa dữ liệu đầu ra dƣới dạng các ma trận thuộc tính với trọng số đƣợc tính theo một phƣơng pháp nào đó, thay vì chỉ đƣa ra danh sách các ID của các thuộc tính ứng với từng văn bản, ví dụ nhƣ TFIDF, và đã ở dạng tƣơng thích luôn với các thƣ viện SVM nổi tiếng nhƣ LIBSVM [35] và SVMLight[36].

Chi tiết về cài đặt và hƣớng dẫn sử dụng chƣơng trình đƣợc giới thiệu ở 7.3.

6.6. Thực nghiệm và kết quả

Để tiến hành thực nghiệm của phƣơng pháp cho Corpus tiếng Việt, chƣơng trình chiết xuất các thuộc tính nhóm xâu con chính đƣợc viết lại để làm việc với dữ liệu tiếng Việt unicode, dựa trên thuật toán đề xuất [30, 34], tăng tính linh hoạt chƣơng trình đƣợc bổ sung tính năng xử lý corpus từ một thƣ mục ngoài, giới thiệu chi tiết ở 7.5, và đầu ra là các ma trân thuộc tính nhóm xâu con chính với trọng số đƣợc tính theo TF-IDF, tính theo (2-2), để sử

dụng làm đầu vào cho phƣơng pháp phân loại SVM, sử dụng thƣ viên LIBSVM[35].

Thực nghiệm đƣợc tiến hành cho tập ngữ liệu, giới thiệu ở 4.4. Lựa chọn 5 nhóm để thực hiện thực nghiệm bao gồm: Du lịch, Giáo dục, Kinh tế, Pháp luật, Thể thao.

Sử dụng phƣơng pháp K-Cross Validation, với k=10, dữ liệu trong một nhóm đƣợc chia làm 10 phần, 1 phần đƣợc chọn làm dữ liệu kiểm thử và 9 phần còn lại đƣợc sử dụng làm dữ liệu huấn luyện.

Các tham số l, h, b, pq đƣợc thay đổi để kiểm tra số lƣợng thuộc tính nhóm xâu con chính thu đƣợc. Một số kết quả:

Bảng 6-1: Sự phụ thuộc của số thuộc tính KSG với các tham số đầu vào # l h b p q Số thuộc tính Số kí tự Ghi chú 1 2 8000 2 1 1 246.298 14.031.370 Các tham số mặc định, 2 8 8000 8 0,8 0,8 443 14.031.370 3 3 8000 2 0,8 0,8 131.347 14.031.370 Lựa chọn làm thực nghiệm 4 3 8000 5 0,8 0,8 2.460 14.031.370 5 3 8000 3 0,8 0,8 19.416 14.031.370 6 4 8000 3 0,8 0,8 17.924 14.031.370 7 8 8000 3 0,8 0,8 11.710 14.031.370

Thực nghiệm đƣợc tiếp tục với với lựa chọn các tham số -l 3 –h 8000 –b

2 –p 0.8 –q 0.8, sau đó sinh ra các các ma trận thuộc tính sử dụng để huấn luyện và các ma trận kiểm thử. Sau đó sử dụng thƣ viện LIBSVM [35], thực hiện việc chạy SVM với hàm nhân tuyến tính và hàm nhân RBF.

Để có kết quả đối sánh, thực nghiệm tƣơng tự với thuộc tính là các từ (sử dụng chƣơng trình phân đoạn từ tiếng Việt và sinh ra ma trận SVM với thuộc tính là các từ và trọng số tính theo TFIDF), cho 5 nhóm văn bản ở trên Du lịch, Giáo dục, Kinh tế, Pháp luật, Thể thao, trên cùng tập dữ liệu.

Kết quả thực nghiệm đƣợc thể hiện ở các Bảng 6-2 và Bảng 6-3:

So sánh sử dụng SVM với hàm nhân tuyến tính và RBF với KSG, theo độ bao-recall.

Bảng 6-2: Kết quả sử dụng hàm nhân tuyến tính và hàm nhân RBF với thuộc tính nhóm xâu con chính

Fold-Set SVM với KSG (RBF), Trung bình trên cả 5 nhóm SVM với KSG (Tuyến tính), Trung bình trên cả 5 nhóm 1 86,18 90,79 2 86,56 93,28 3 91,17 98,27 4 87,52 95,01 5 81,77 90,40 6 86,37 93,47 7 88,1 95,97 8 79,85 88,10 9 78,5 90,21 10 82,92 91,36 Micro-average 84,89 92,69

Nhận xét: Kết quả chạy SVM cho thấy sử dụng hàm nhân tuyến tính cho kết quả tổt hơn hàm nhân RBF, chứng tỏ dữ liệu của các vector thuộc tính đã ở dạng tuyến tính, và không cần thiết phải ánh xạ sang một không gian khác.

Kết quả chạy và so sánh giữa SVM với thuộc tính dựa trên các từ, và SVM với các thuộc tính dựa trên nhóm xâu con chính, với hàm nhân tuyến tính đƣợc thể hiện trện Bảng 6-3.

Bảng 6-3: So sánh phƣơng pháp SVM và SVM+KSG (dựa trên thuộc tính là từ và thuộc tính là KSG)

Nhóm SVM (dựa trên từ) SVM (dựa trên KSG)

Du lịch 93,72 96,60 Giáo dục 89,12 90,39 Kinh tế 87,70 88,00 Pháp luật 92,97 92,48 Thể thao 95,80 95,30 Micro-average 91,92 92,69

Kết quả thực nghiệm cho thấy phƣơng pháp sử dụng thuộc tính nhóm xâu con chính cho kết quả tốt hơn dữ liệu thuộc tính là các từ, trung bình hơn khoảng 1% cho mỗi nhóm. Việc xây dựng cây hậu tố và chiết xuất thuộc tính nhóm xâu con chính cũng cũng rất nhanh (độ phức tạp tuyến tính O(n)), kết quả thực nghiệm cho 5 nhóm trên với tổng số file là 5216 files với kích thƣớc tổng cộng là 17,6 M dữ liệu, thời gian xây dựng cây hậu tố và chiết xuất thuộc tính nhóm xâu con chính là 3 phút và thời gian sinh ma trân tƣơng ứng là khoảng 2 phút, trên máy PC, CPU 3 GHz và RAM 1G, đầy là các con số rất khả quan. LibSVM [35] sử dụng hàm nhân tuyến tính cũng cho hiệu năng rất tốt cho cả việc huấn luyện và đoán nhận.

6.7. Tổng kết chƣơng

Chƣơng 6 trình bày về một phƣơng pháp mới trong phân loại văn bản dựa trên thuộc tính là các nhóm xâu con chính. Phƣơng pháp này đƣa ra một cải tiến thực sự của các phƣơng pháp phân loại dựa trên xâu kí tự. Nó mở ra một triển vọng mới cho phân loại văn bản cho các ngôn ngữ Á đông nhƣ tiếng Việt, tiếng Trung, tiếng Nhật … vì tránh đƣợc sự phức tạp của vấn đề phân đoạn từ trong các ngôn ngữ này. Khi mà dấu cách và các dấu câu không thể dùng để phân đoạn từ trong các ngôn ngữ này. Phƣơng pháp này cũng hạn chế sử phụ thuộc vào từ điển, xử lý tốt các thuộc tính không phải là alphabet. Tính khả dụng của phƣơng pháp còn đƣợc chứng tỏ qua thuật toán chiết xuất thuộc

tính với độ phức tạp tuyến tính O(n) cho tốc độ xử lý nhanh và hiệu quả. Phƣơng pháp này còn thích hợp cho các phân loại văn bản không phải là phân loại chủ đề nhƣ phân loại theo chủng loại hay phân loại theo tác giả.

SVM đã đƣợc chứng tỏ là một trong phƣơng pháp phân loại văn bản hiểu quả nhất [12,14,16]. Thực nghiệm cho thấy dữ liệu thuộc tính nhóm xâu con chính thích hợp với hàm nhân tuyến tính của SVM hơn. Điều này cho thấy các vector thuộc tính nhóm xâu con chính đã có quan hệ tuyến tính, khiến việc huấn luyện và kiểm thử trên SVM cũng nhanh hơn. Thực nghiệm cho thấy sử dụng SVM cho dữ liệu thuộc tính xâu con đƣợc chứng minh là hiệu quả và tƣơng đƣơng hoặc hơn so với sử dụng SVM thông thƣờng với thuộc tính là các từ.

Thực nghiệm trên tập ngữ liệu tiếng Việt ở trên chứng tỏ phƣơng pháp này cũng rất khả quan cho việc giải quyết bài toán phân loại văn bản tiếng viết.

CHƢƠNG 7 - CÁC CỘNG CỤ HỖ TRỢ VÀ CÁC CHƢƠNG TRÌNH

Một phần của tài liệu Nghiên cứu cải tiến một số phương pháp phân loại văn bản tự động và áp dụng trong xử lý văn bản tiếng Việt (Trang 80)