Thực nghiệm phân loại văn bản với SVMs

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 66 - 79)

Trong phần lý thuyết đã nêu rõ ý nghĩa của việc chọn lựa các hàm trích chọn đặc trưng (IG, Chi-square). Vì vậy, để có thể đánh giá ý nghĩa và vai trò của các tham

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 55/67

số, ta cần thực nghiệm với nhiều bộ tham số, trên nhiều bộ cơ sở dữ liệu kiểm tra khác nhau để đánh giá hiệu quả phân loại văn bản của chương trình.

Do mỗi trang báo điện tử có cách tạo chủ đề văn bản khác nhau, nên ta sẽ tiến hành huấn luyện và kiểm tra trên tập dữ liệu của cùng một trang, nhằm đảm bảo tính đúng đắn của quá trình thực nghiệm và đưa ra những đánh giá chính xác về chương trình.

Để tiện cho việc theo dõi quá trình thực nghiệm, ta quy ước các ký hiệu như sau:

Ntrain: số lượng văn bản của tập dữ liệu huấn luyện.  Ntest: số lượng văn bản của tập dữ liệu kiểm tra.  Pre: độ chính xác (Precision).

Re: độ bao (Recall).

4.2.4.1 Thực nghiệm quá trình trích chọn tập đặc trƣng

Trong phần thiết kế chương trình đã trình bày chi tiết về hai kỹ thuật lựa chọn tập từ khoá đặc trưng biểu diễn văn bản, đó là: IGChi-square. Theo các kỹ thuật này, việc chọn lựa một thuật ngữ làm đặc trưng sẽ phụ thuộc vào kết quả so sánh với các tham số ngưỡng:

limitOccur – LO: ngưỡng giới hạn số văn bản chứa từ khoá tk.  limitInfoValue – LI: ngưỡng giá trị thông tin của từ khoá tk.

IG hoặc Chi-square: lựa chọn hàm IG hoặc Chi-square để tính giá trị ước lượng thông tin.

Với các giá trị đầu vào như đã nêu, quá trình tạo tập đặc trưng sẽ được thử nghiệm trên các tập dữ liệu khác nhau nhằm đánh giá hiệu quả của nó đối với phương pháp SVMs.

Thử nghiệm với bộ dữ liệu báo Vietnamnet, gồm các chủ đề: chính trị, khoa học, kinh tế, và thể thao. Quá trình trích chọn được thử nghiệm với các bộ huấn luyện có kích thước tăng dần, sau đây là các kết quả thu được:

Bảng 4-3: Kết quả thực nghiệm trích chọn tập đặc trưng trên báoVietnamnet.

Ntrain 83 129 168 208 246 IG LO = 3 LI = 0.005 1173 1601 1890 2206 2365 LO = 3 LI = 0.01 1119 1409 1452 1575 1587 Chi- square LO = 3 LI = 0.005 350 252 226 249 254 LO = 3 LI = 0.01 173 134 113 125 123 Nhận xét:

Dựa vào các kết quả trích chọn tập đặc trưng trong Bảng 4-3, ta có nhận xét như sau:

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 56/67

- Trên cùng tập dữ liệu huấn luyện, khi ngưỡng LI (tương tự với LO) tăng thì số thuật ngữ đặc trưng tách được sẽ giảm (đều xảy ra trên cả hai kỹ thuật IG và Chi-square).

- Số lượng từ tách theo hàm Chi-square nhỏ hơn rất nhiều so với hàm IG. - Đặc biệt khi tăng ngưỡng LI (tương tự với LO), số lượng từ tách theo Chi-

square sẽ giảm nhanh hơn so với lượng từ tách theo IG.

Việc tăng tham số ngưỡng trích chọn ảnh hưởng như thế nào tới chất lượng của chương trình phân loại? Điều này, sẽ được giải đáp qua phần thực nghiệm tiếp theo.

Chọn CSDL báo VnExpress, gồm dữ liệu huấn luyện: 180 bài.  Công nghệ thông tin: 44 bài.

 Khoa học: 40 bài.  Thể thao: 50 bài.  Y tế: 46 bài.

Dữ liệu kiểm tra: 80 bài.

 Công nghệ thông tin: 19 bài.  Khoa học: 15 bài.

 Thể thao: 18 bài.  Y tế: 28 bài.

Giả sử, chọn hàm Chi-square để thực hiện trích chọn, tiến hành huấn luyện và kiểm tra hiệu năng thực thi chương trình, ta có kết quả như sau:

Với: LO= 3, LI= 0.005:

Thời gian huấn luyện: 8 phút.  Pre (trung bình) = 0.931.  Re (trung bình) = 0.891. Với LO = 3, LI = 0.01:

Thời gian huấn luyện: 5 phút.  Pre (trung bình) = 0.952.  Re (trung bình) = 0.936.

Nhận xét:

Việc thu nhỏ tập đặc trưng ở đây không những đã làm giảm không gian biểu diễn văn bản, giảm chi phí thời gian huấn luyện, mà còn làm tăng chất lượng phân loại của chương trình.

Tuy nhiên, qua nhiều lần thực nghiệm nhận thấy, việc thu nhỏ kích thước tập đặc trưng chỉ thoả mãn khi đạt đến ngưỡng nhất định, thường cặp thông số (LO = 3,

LI = 0.01) dành cho cả hai hàm IG và Chi-square sẽ cho kết quả tối ưu, nếu không sẽ có hiệu quả ngược lại (vì khi đó sẽ loại bỏ mất nhiều từ có ý nghĩa quan trọng trong không gian huấn luyện).

4.2.4.2 Thực nghiệm đánh giá hiệu năng phân loại đa lớp

Trong các phần trước đã chỉ ra các bộ tham số huấn luyện tối ưu đạt được với chương trình. Sau đây ta sẽ tiến hành kiểm thử đánh giá một cách tổng quan đối với chương trình phân loại theo phương pháp SVMs trên các tập dữ liệu văn bản tiếng Việt.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 57/67

Để đánh giá hiệu năng của chương trình phân loại SVMs một cách đúng đắn, quá trình thực nghiệm phân loại đa lớp sẽ được kiểm tra theo chiến thuật sau:

 Ta chia bộ dữ liệu kiểm tra thành 10 tập con có kích thước tương đương.  Tiến hành lặp 10 lần huấn luyện và đánh giá hiệu năng trên các tập con.  Mỗi lần thực hiện ta sẽ lấy 9 phần làm dữ liệu huấn luyện, 1 phần sẽ làm dữ

liệu kiểm tra.

 Ghi nhận kết quả thực hiện phân loại trong mỗi lần.

 Sau đó, đưa ra kết quả đánh giá hiệu năng trung bình của chương trình.

Trƣờng hợp 1: test với CSDL báo Vietnamnet với dung lƣợng 1.46 MB gồm các chủ đề.

 Chính trị: 54 bài.  Khoa học: 46 bài.  Kinh tế: 66 bài.  Thể thao: 70 bài.

Tiến hành huấn luyện với bộ tham số: Chi-squares (LO = 3, LI = 0.005). Bảng 4-4: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Vietnamnet

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Trung bình Pre 0.844 0.902 0.969 0.894 0.894 0.944 0.964 0.933 0.85 0.933 0.913 Re 0.779 0.864 0.95 0.867 0.867 0.917 0.964 0.914 0.764 0.914 0.88 Thời gian 8’ 8’ 8’ 8’ 8’ 8’ 8’ 8’ 8’ 8’ 8’ Trƣờng hợp 2: test với CSDL báo VnExpress với dung lƣợng 1.49 MB, gồm các chủ đề.

 Công nghệ thông tin: 49 bài.  Khoa học: 49 bài.

 Thể thao: 50 bài.  Y tế: 50 bài.

Tiến hành huấn luyện với bộ tham số: Chi-squares (LO = 3, LI = 0.01). Bảng 4-5: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo VnExpress

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Trung bình Pre 0.94 0.804 0.828 0.889 0.894 0.847 0.927 0.888 0.906 0.911 0.883 Re 0.925 0.796 0.825 0.871 0.879 0.846 0.925 0.9 0.913 0.925 0.881 Thời gian 5’ 5’ 5’ 4’ 4’ 4’ 4’ 4’ 4’ 4’ 4.3’ Trƣờng hợp 3: test với CSDL báo Hanoimoi với dung lƣợng 898 KB gồm các chủ đề.

 Chính trị xã hội: 35 bài.  Khoa học công nghệ: 40 bài.  Kinh tế: 30 bài.

 Sức khoẻ: 30 bài.  Thể thao: 30 bài.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 58/67

Tiến hành huấn luyện với bộ tham số: Chi-squares (LO = 3, LI = 0.01). Bảng 4-6: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Hanoimoi

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Trung bình Pre 0.94 0.95 0.86 0.86 0.91 0.848 0.914 0.895 0.81 0.92 0.891 Re 0.92 0.92 0.85 0.84 0.87 0.827 0.887 0.88 0.76 0.867 0.862 Thời gian 2’ 2’ 2’ 2’ 2’ 2’ 2’ 2’ 2’ 2’ 2’ Trƣờng hợp 4: test với CSDL báo Laodong với dung lƣợng 785 KB gồm các chủ đề.

 Khoa học: 35 bài.  Kinh tế: 40 bài.  Thể thao: 35 bài.  Văn hoá: 40 bài.

Tiến hành huấn luyện với bộ tham số: Chi-squares, (LO = 3, LI = 0.01). Bảng 4-7: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Laodong

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Trung bình Pre 0.906 0.85 0.938 0.929 0.92 0.838 0.917 0.958 0.95 0.905 0.911 Re 0.825 0.8 0.9 0.875 0.9 0.825 0.9 0.938 0.938 0.874 0.878 Thời gian 2’ 2’ 2’ 1’ 1’ 2’ 2’ 2’ 2’ 2’ 1.8’

Từ các kết quả thu được bên trên, ta có bảng kết quả tổng hợp đánh giá hiệu năng chương trình như sau:

Bảng 4-8: Tổng hợp kết quả phân loại đa lớp trên các bộ dữ liệu (báo Vietnamnet, VnExpress, Hanoimoi, Laodong)

Tên CSDL Tổng số bài Số lớp Kích thƣớc Thời gian Độ chính xác Độ bao

Báo Vietnamnet 236 4 1.46 (MB) 8’ 0.913 0.88

Báo VnExpress 198 4 1.49 (MB) 4.3’ 0.883 0.881

Báo Hanoimoi 165 5 898 (KB) 2’ 0.891 0.862

Báo Laodong 150 4 785 (KB) 1.8’ 0.911 0.878

Nhận xét:

Từ các kết quả thử nghiệm thu được trong Bảng 4-8, ta có một số nhận xét đối với chương trình SVMs phân loại trên tập văn bản tiếng Việt như sau:

 Hiệu năng phân loại SVMs:

Pre ≈ 0.883 – 0.913, Re ≈ 0.862 – 0.88.

Đây là một kết quả phân loại tương đối cao đối với văn bản tiếng Việt, kết quả này cũng rất sát thực với kết quả thực nghiệm của Thorsten Joachims

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 59/67

kiểm tra trên tập văn bản tiếng Anh: với RBF – gamma = 1, độ chính xác trung bình = 0.863 (Bảng 4-5).

 Thời gian huấn luyện là gia tăng tuyến tính theo kích thước dữ liệu, nếu số lượng mẫu lớn thì chi phí thời gian sẽ lớn (hoàn toàn đúng với lý thuyết đánh giá độ phức tạp của giải thuật SVMs).

4.2.5 Nhận xét kết quả thực nghiệm

Từ các kết quả thực nghiệm bên trên, chúng ta có thể có được một số nhận xét như sau:

 Module tách từ khoá là một bước quan trọng trong xử lý văn bản. Tuy chưa thực sự đạt kết quả cao nhất, nhưng việc áp dụng thuật toán tách theo độ dài nhất của từ áp dụng trong chương trình cũng đáp ứng tương đối tốt chức năng của chương trình.

 Trong phương pháp phân loại văn bản bằng SVMs, quá trình huấn luyện SVMs là một bước rất quan trọng, chiếm nhiều thời gian và có ý nghĩa quyết định cho kết quả phân loại. Bộ dữ liệu được lựa chọn để huấn luyện cũng có ý nghĩa rất quan trọng đối với việc phân loại, bộ dữ liệu huấn luyện càng chuẩn thì kết quả phân loại văn bản càng tốt.

 Việc lựa chọn tập đặc trưng để biểu diễn văn bản cho kết quả tốt, với một giới hạn nhất định sẽ làm tăng hiệu quả phân loại văn bản của chương trình. Đặc biệt, cách lựa chọn tập đặc trưng theo phương pháp Chi-square cho kết quả rất tốt.

 Qua một loạt các bước thử nghiệm, kết quả phân loại thu được là tương đối tốt, các thông số: độ chính xác, độ bao đều đạt giá trị cao.

 Tuy nhiên, dung lượng bộ nhớ mà chương trình chiếm giữ là khá lớn, cần được cải tiến để đáp ứng xử lý vấn đề trên tập dữ liệu lớn.

4.3 Kết chƣơng

Trong chương 4, em đã trình bày một số kết quả thực nghiệm của chương trình phân loại văn bản bằng phương pháp SVMs, cũng đã đưa ra một số nhận xét về ưu nhược điểm của chương trình gặp phải trong khi thực thi với các CSDL văn bản tiếng Việt.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 60/67

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN

Những kết quảđạt đƣợc

Khoá luận đã trình bày được các vấn đề lý thuyết cơ bản trong lĩnh vực Khai phá dữ liệu nói chung và khai phá dữ liệu văn bản nói riêng. Đặc biệt, về phương pháp phân loại văn bản sử dụng SVMs, là một trong những phương pháp hiệu quả phân loại cao trong văn bản tiếng anh. Trên cơ sở tiến hành thiết kế, cài đặt, thực nghiệm với văn bản tiếng việt, chúng tôi đã đạt được những kết quả cụ thể như sau:

 Xây dựng thành công module tách từ khoá theo phương pháp từ dài nhất (chiều phải qua trái). Qua thực nghiệm, nhận thấy module chương trình tách từ ổn định, có tốc độ và hiệu quả tách từ rất tốt.

 Hoàn thành nghiên cứu và xây dựng thành công chương trình phân loại văn bản tiếng Việt sử dụng phương pháp Support Vector Machines. Cụ thể, gồm các nội dung sau:

- Trình bày và áp dụng phương pháp trích chọn tập từ khoá đặc trưng để biểu diễn văn bản. Hai kỹ thuật được áp dụng trong phương pháp này, đó là: IGChi-square. Chúng tôi đã thực nghiệm đánh giá, nhận thấy tập thuật ngữ sau khi trích chọn đã được tối giảm từ 10-20 lần khi áp dụng trong trích chọn tập thuật ngữ tiếng Việt (với tập từ đặc trưng tiếng Anh kết quả có thể giảm tới 100 lần). Kết quả danh sách thuật ngữ thu được không làm ảnh hưởng nhiều tới hiệu quả phân loại của chương trình. Đây thực sự là phương pháp phù hợp áp dụng trong bài toán phân loại văn bản sử dụng phương pháp SVMs, bởi vì nó sẽ giúp giảm chi phí thời gian xử lý trên tập vector có số chiều lớn trong khi huấn luyện.

- Nền tảng phân loại dựa trên SVMs là phân loại nhị phân, trong chương trình chúng tôi cũng đã cải tiến nhằm phù hợp cho bài toán phân loại đa lớp. Cụ thể, dựa trên nguyên tắc liên kết một-nhiều (one against all), kết hợp các bộ phân loại nhị phân sau khi huấn luyện, từ đó đưa ra danh sách các lớp liên quan đối với văn bản đầu vào.

- Tiến hành thực nghiệm trên các bộ dữ liệu văn bản khác nhau, kết quả thu được chứng tỏ phương pháp SVMs cho kết quả phân loại khá tốt, hiệu quả tương đối cao so với các phương pháp phân loại khác và khá sát với kết quả phân loại trong văn bản tiếng anh.

Những khó khăn còn tồn tại

Do thời gian thực hiện và trình độ hạn chế nên khóa luận này chưa giải quyết một số vấn đề sau:

 Đối với việc phân tách từ khoá: chưa xử lý được triệt để các vấn đề phức tạp trong ngôn ngữ tiếng Việt, đặc biệt chưa xử lý được vấn đề đồng nghĩa.  Chi phí thời gian thực thi huấn luyện SVMs vẫn chưa được ổn định trong

quá trình thử nghiệm.

 Chưa kiểm tra được tính đúng đắn của chương trình trên tập cơ sở dữ liệu lớn.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 61/67

Hƣớng phát triển tƣơng lai

 Nâng cấp hiệu năng của thuật toán tách từ khóa.

 Thực nghiệm hệ thống trên cơ sở dữ liệu lớn hơn để có đánh giá tốt hơn về hiệu năng của SVMs.

 Đi tới xây dựng ứng dụng phân loại văn bản, tài liệu tiếng Việt.  Tích hợp với các Search Engine.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 62/67

PHỤ LỤC 1: Mô tả mã nguồn của chƣơng trình

Hình mô tả các lớp trong chƣơng trình

Sau đây, emi trình bày chi tiết một số lớp quan trọng:

 clsDictionary: Thực hiện việc truy cập từ điển, đọc từ điển, lưu trữ các thuật ngữ, tổ chức bảng băm.

 clsGlobal : Thực hiện lưu trữ các biến toàn cục được sử dụng trong chương trình. Một số biến toàn cục quan trọng:

- clsWeightVector[] g_Rep_Weight_Vector_Arr;

- public static clsVector[] g_TF_Vector_Arr;

- public static ArrayList g_RepTermDataTrain;

//Cac bien lay thong so huan luyen

public static string g_LimitOccur;

public static string g_LimitInfoValue;

public static string g_Vp;

public static string g_Vn;

public static string g_Kernel;

public static string g_Co_Kernel;

public static string g_FuncInfo;

 clsInitialize: Thực hiện việc khởi tạo giá trị cho tham số α cho bước huấn luyện.

 clsKernel: Thực hiện việc tính toán hàm kernel cho bước huấn luyện.

 clsLearning: Thực hiện việc học máy để thu được giá trị α tối ưu theo thuật toán 2v-SVMs.

 clsPresentTermSet: Lớp để lưu trữ các thuật ngữ (đặc trưng của văn bản). Một số tham số quan trọng:

- private int limitOccur;// So van ban toi thieu chua thuat ngu

- private double limitValue; // Gia tri toi thieu cua ham uoc luong thong tin

 clsSplitWords: Lớp để thực hiện các chức năng tách từ trong một câu theo

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 66 - 79)