4.1.1 Giao diện chính của chƣơng trình
Hình 4-1: Giao diện chính của chương trình Phân loại văn bản SVMs. Các chức năng chính của chương trình như sau:
Chức năng huấn luyện SVMs:
- Module này thực hiện cả việc chuấn bị dữ liệu huấn luyện, tạo tập từ đặc trưng và huấn luyện để tìm ra các tham số cho siêu phẳng.
- Chương này cho phép người dùng nhập vào những tham số cần thiết cho quá trình huấn luyện của chương trình bao gồm chọn các thông số để lựa chọn tập đặc trưng, chọn các tham số hàm nhân Kernel.
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 49/67
Hình 4-2: Giao diện chức năng huấn luyện SVMs.
Chức năng kiểm tra hiệu năng SVMs: Việc kiểm tra hiệu năng có thể lựa chọn theo từng chủ đề hoặc kiểm tra tổng hợp nhiệm vụ phân loại của chương trình đối với tất cả các chủ đề đã được lựa chọn để huấn luyện.
Hình 4-3: Giao diện chức năng kiểm tra hiệu năng SVMs.
Các chức năng khác:
- Ngoài chức năng huấn luyện và kiểm tra là hai chức năng chính, chương trình còn hỗ trợ một số chức năng khác như.
- Mở tệp: Được thiết kế giúp hỗ trợ chương trình có thể lựa một bài báo nằm ở thư mục nào đó trên máy. Sau khi chọn, nội dung bài báo được hiển thị trên cửa sổ nội dung văn bản, giúp người đọc có thể tìm hiểu được nội dung quan tâm.
- Phân loại (đối với văn bản bất kỳ): Những văn bản mới tạo hoặc được mở đều chưa được phân loại. Để có thể biểt được chúng thuộc lớp chủ đề nào, ta sử dụng chức năng này.
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 50/67
4.2 Kết quả thực nghiệm
4.2.1 Cơ sở dữ liệu thử nghiệm
Cơ sở dữ liệu được sử dụng chủ yếu là các bài báo trên các trang tin báo điện tử: VnExpress.net, Vietnamnet.net, Hanoimoi, Laodong. Được sưu tầm từ tháng 1/2001 đến tháng 4/2012.
Báo Vietnamnet:
- Số bài báo: 592.
- Số chủ đề: 8 (gồm: Chính trị, Công nghệ thông tin, Giáo dục, Khoa học,
Kinh tế, Thể thao, Văn hoá, Y tế)
- Tổng dung lượng: 3.88 MB
- Kích thước bài báo lớn nhất: 30 KB
- Kích thước bài báo nhỏ nhất: 2 KB
Báo VnExpress:
- Số bài báo: 1554.
- Số chủ đề: 7 (gồm: Công nghệ thông tin, Khoa học, Kinh tế, Thể thao,
Văn hoá, Xã hội, Y tế)
- Tổng dung lượng: 7.4 MB
- Kích thước bài báo lớn nhất: 40 KB
- Kích thước bài báo nhỏ nhất: 1 KB
Báo Hanoimoi:
- Số bài báo: 674 bài.
- Số chủ đề: 3 (gồm: Kinh tế, Thể thao, Y tế)
- Tổng dung lượng: 7.4 MB
- Kích thước bài báo lớn nhất: 70 KB
- Kích thước bài báo nhỏ nhất: 2 KB
Báo Laodong:
- Số bài báo: 771 bài.
- Số chủ đề: 5 (gồm: Kinh tế, Thể thao, Văn hoá, Xã hội, chính trị)
- Tổng dung lượng: 3.36 MB
- Kích thước bài báo lớn nhất: 50 KB
- Kích thước bài báo nhỏ nhất: 1 KB
4.2.2 Cấu hình máy tính
- Các kết quả thực nghiệm của chương trình được thực hiện trên máy tính có các thông số: Intel Pentium 4, CPU 2.4 GHz, RAM 1GB.
- Chương trình thực nghiệm sẽ sử dụng các cơ sở dữ liệu như trên để kiểm tra đánh giá cho các chức năng: tách từ, kiểm tra hiệu năng SVMs và phân loại đối với một văn bản xác định.
4.2.3 Thực nghiệm phân tách từ khoá
Chương trình sử dụng bộ từ điển Lạc Việt (đã có một số sửa chữa cần thiết) để làm cơ sở cho việc tách từ và loại từ dừng.
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 51/67
4.2.3.1 Thực nghiệm về tốc độ tách từ
Để có thể theo dõi tốc độ tách từ khoá, ta xem xét việc tách từ trên hai bộ dữ liệu khác nhau là Vetnamnet và VnExpress.
Bộ dữ liệu Vietnamnet:
Ta hãy theo dõi bảng lưu thông tin về dung lượng dữ liệu phân tách và thời gian phân tách cho bộ dữ liệu này. Mỗi lần thực nghiệm, số lượng bài báo cũng như dung lượng dữ liệu sẽ được bổ sung dần.
Bảng 4-1: Kết quả thực nghiệm phân tách trên bộ dữ liệu Vietnamnet
Lần Số lƣợng bài Dung lƣợng Thời gian (ms)
1 50 381 (KB) 984 – 1000 2 100 734 (KB) 1796 – 1875 3 150 1.16 (MB) 2968 – 2984 4 200 1.37 (MB) 3515 – 3546 5 250 1.69 (MB) 4266 – 4328 6 300 2.01 (MB) 5172 – 5188 TB 50 1.224(MB) 3118 – 3148
Như vậy, tốc độ phân tách từ khoá trung bình trên bộ dữ liệu Vietnamnet đạt như sau:
- Tốc độ phân tách theo dung lượng: 390.7 (KB/s)
- Tốc độ phân tách theo bài: 62.66 (ms/bài).
Từ bảng này ta có thể xây dựng đồ thị biểu diễn sự biến thiên của thời gian theo số lượng bài cũng như dung lượng cần phân tách:
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 381 734 1160 1370 1690 2010 Dung lƣợng (KB) T h ờ i g ia n (m s) Lần thấp nhất Lần cao nhất 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 50 100 150 200 250 300 Số lƣợng bài T h ờ i g ia n (m s) Lần thấp nhất Lần cao nhất
Hình 4-4: Biểu đồ biến thiên thời gian phân tách từ trên tập dữ liệu báo Vietnamnet.
Bộ dữ liệu VnExpress:
Tiến hành tương tự như trường hợp trên, ta có kết quả phân tách trong dữ liệu báo VnExpress như sau:
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 52/67
Bảng 4-2: Kết quả thực nghiệm trên bộ dữ liệu VnExpress
Lần Số lƣợng bài Dung lƣợng Thời gian (ms)
1 50 166 (KB) 562 – 563 2 100 416 (KB) 1281 – 1297 3 150 661 (KB) 1719 – 1735 4 200 962 (KB) 2375 – 2390 5 250 1.25 (MB) 3140 – 3141 6 300 1.43 (MB) 3562 – 3563 TB 50 814.2 (KB) 2106.5 – 2114.8
Như vậy, tốc độ phân tách từ khoá trung bình trên bộ dữ liệu VnExpress đạt như sau:
- Tốc độ phân tách theo dung lượng: 385.9 (KB/s)
- Tốc độ phân tách theo bài: 42.2 (ms/bài).
Từ bảng này ta có thể xây dựng đồ thị biểu diễn sự biến thiên của thời gian theo số lượng bài cũng như dung lượng cần phân tách:
0 500 1000 1500 2000 2500 3000 3500 4000 166 416 661 962 1250 1430 Dung lƣợng (KB) T h ờ i g ia n ( m s ) Lần thấp nhất Lần cao nhất 0 500 1000 1500 2000 2500 3000 3500 4000 50 100 150 200 250 300 Số lƣợng bài T h ờ i g ia n ( m s ) Lần thấp nhất Lần cao nhất
Hình 4-5: Biểu đồ biến thiên thời gian phân tách từ trên tập dữ liệu báo VnExpress.
Nhận xét:
- Tốc độ phân tách từ theo số lượng bài phụ thuộc vào dung lượng trung bình trên một bài báo của tập dữ liệu đó. Đây không phải là thông số quyết định để đánh giá tốc độ của chương trình tách từ.
- Còn tốc độ tách từ theo kích thước dữ liệu của cả hai bộ dữ liệu cho thấy tốc độ phân tách từ khoá theo dữ liệu không chênh lệch đáng kể, thời gian tách từ tăng gần như tuyến tính với kích thước dữ liệu, và tốc độ này đạt tương đối cao.
4.2.3.2 Thực nghiệm về hiệu quả tách từ
Hiệu quả của một phương pháp tách từ được xác định theo độ chính xác tách từ
(xác suất tách đúng), và xác suất tách sai của thuật toán. Một thuật toán tách từ có hiệu quả càng cao khi có xác suất tách đúng càng cao và xác suất tách sai càng thấp.
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 53/67
Để xem xét được hiệu quả của quá trình tách từ, ta theo dõi ví dụ tách từ cho một đoạn văn bản thuộc chủ đề Công nghệ thông tin như sau:
Nội dung văn bản:
“Gmail chuẩn bị tăng dung lượng lên … 2GB
Google vừa tuyên bố kế hoạch tăng dung lượng của hòm thư Gmail từ 1GB lên 2GB sau khi đối thủ Yahoo khẳng định sẽ nâng dung lượng Yahoo Mail! lên 1GB trong thời gian sắp tới.
Tuyên bố trên được chính giám đốc quản lý sản phẩm Gmail, Georges Harik, đưa ra ngày hôm qua (31/1). Ông Harik cho rằng Google sẽ nhanh chóng cho triển khai kế hoạch mà chắc chắn sẽ không có bất cứ sự thay đổi nào.
Lý do mà Google đưa ra trong tuyên bố tăng dung lượng của Gmail là “đè bẹp” sức cạnh tranh của các đối thủ như Yahoo, Hotmail. Ngoài ra, còn do một thực tế nữa đó là chi phí của dịch vụ lưu trữ trực tuyến ngày càng rẻ đi, cho nên việc tăng dung lượng hòm thư là điều hiển nhiên.
Đúng vào ngày Cá Tháng Tư cách đây một năm (1/4/2004), hàng triệu người dùng Internet cảm thấy nghi ngờ khi Google tuyên bố sẽ khai trương dịch vụ Gmail 1GB miễn phí. Sẽ là bất ngờ hơn nếu so sánh với dung lượng hòm thư mà một số đối thủ của Google như Yahoo và Microsoft cung cấp vào thời điểm đó – chỉ miễn phí có 10MB, và người dùng sẽ phải đóng tiền nếu muốn sử dụng nhiều hơn.
(Theo Tintuconline.com.vn)”
Kết quả sau khi phân tách từ dựa theo từ điển sẵn có:
“chuẩn bị/ dung lượng/ lên/ vừa/ tuyên bố/ kế hoạch/ tăng/ dung lượng/ của/ hòm thư/ từ/ lên/ sau khi/ đối thủ/ khẳng định/ sẽ/ nâng/ dung lượng/ lên/ trong/ thời gian/ sắp/ tới/ tuyên bố/ trên/ được/ chính/ giám đốc/ quản lý/ sản phẩm/ đưa ra/ ngày/ hôm qua/ ông/ cho rằng/ sẽ/ nhanh chóng/ cho/ triển khai/ kế hoạch/ mà/ chắc chắn/ sẽ/ không/ có/ bất cứ/ sự thay đổi/ nào/ lý do/ mà/ đưa ra/ trong/ tuyên bố/ tăng/ dung lượng/ của/ là/ đè bẹp/ sức/ cạnh tranh/ của/ các/ đối thủ/ như/ ngoài ra/ còn/ do/ một/ thực tế/ nữa/ đó/ là/ chi phí/ của/ dịch vụ/ lưu trữ/ trực tuyến/ ngày càng/ rẻ/ đi/ cho nên/ việc/ tăng/ dung lượng/ hòm thư/ là/ điều/ hiển nhiên/ đúng/ vào/ ngày/ cá/ tháng/ tư cách/ đây/ năm/ hàng/ triệu/ người dùng/ internet/ cảm thấy/ nghi ngờ/ khi/ tuyên bố/ sẽ/ khai trương/ dịch vụ/ miễn phí/ sẽ/ là/ bất ngờ/ hơn/ nếu/ so sánh/ với/ dung lượng/ hòm thư/ mà/ một số/ đối thủ/ của/ như/ và/ microsoft/ cung cấp/ vào/ thời điểm/ miễn phí/ có/ và/ người dùng/ sẽ/ phải/ đóng/ tiền/ nếu/ muốn/ sử dụng/ nhiều hơn/ theo/ com/”
Kết quả phân tách sau khi loại từ dừng:
“tăng/ dung lượng/ tuyên bố/ kế hoạch/ tăng/ hòm thư/ đối thủ/ dung lượng/ mail/ tuyên bố / chính/ giám đốc/ quản lý/ sản phẩm/ nhanh chóng/ triển khai/ kế hoạch/ tuyên bố/ tăng/ dung lượng/ đè bẹp/ sức/ cạnh tranh/ đối thủ/ chi phí/ dịch vụ/ lưu trữ/ trực tuyến/ rẻ/ tăng/ dung lượng/ hòm thư/ điều/ cá/ tư cách/ hàng/ triệu/ người dùng/ internet/ nghi ngờ/ tuyên bố/ khai trương/ dịch vụ/ miễn phí/ dung lượng/ hòm thư/ đối thủ/ microsoft/ cung cấp/ miễn phí/ người dùng/ đóng/ tiền/ sử dụng/ com/”
Các lỗi của module tách từ là:
Các từ không tách được: gmail, yahoo, yahoo mail, Georges Harik, Harik,
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 54/67
tiếng Anh và tên trang Web, không có trong từ điển tiếng Việt và cũng chưa có trong từ điển viết tắt và từ mượn (các từ microsoft và internet tách được do đã được đưa vào trong từ điển thuật ngữ).
Các từ tách sai: tư cách, đây (do có sự nhập nhằng, tách đúng phải là trường hợp: tư, cách đây), và com (trong tintuconline.com.vn).
Như vậy, thống kê các kết quả này, ta có:
Số lượng từ tách được (khi chưa phân loại từ dừng) là: 141. Số lượng từ thực tế: 159.
Số lượng từ tách đúng: 139. Số lượng từ tách sai: 3.
Số lượng từ không tách được: 19.
Số lượng từ sau khi đã loại bỏ từ dừng: 57.
Từ đó, ta tính các tham số đánh giá hiệu năng tách từ:
Precision = số từ tách đúng/số từ tách được = (139/141).100% = 98.58%. Recall = số từ tách đúng/số từ thực tế = (139/159).100% = 87.42%. Tỷ số tách sai/số từ tách được = (3/141).100% = 2.13% Tỷ số từ không tách được/số từ thực tế = (19/159).100% = 11.95%. Tỷ số đã loại từ dừng/số từ tách được = (57/141).100% = 40.43% 4.3.2.3 Đánh giá về chức năng tách từ
Qua nhiều ví dụ tổng hợp và nhiều lần thực nghiệm với các văn bản khác nhau, có thể có một số nhận xét đối với module tách từ như sau:
Chương trình nhìn chung có chất lượng tách từ khá tốt: Tốc độ tách từ trung bình đạt 388 (KB/s), độ chính xác phân tách từ: 95% - 97%. Tuy nhiên, tuỳ thuộc vào nội dung văn bản mà việc tách từ cho văn bản đó có xảy ra nhập nhằng (phân tách sai hoặc không tách được). Với các văn bản thuộc các chuyên ngành có nhiều từ mượn (như Công nghệ thông tin) thì số từ không tách được sẽ nhiều hơn. Còn các văn bản thuộc các chuyên ngành có nhiều tên riêng (ví dụ Du lịch) thì số từ tách sai sẽ tăng lên.
Từ điển có vai trò quan trọng đối với hiệu quả tách từ của chương trình, do đó với những từ mượn nước ngoài nhưng quan trọng, xuất hiện nhiều trong những văn bản chuyên ngành (ví dụ internet trong chủ đề Công nghệ thông tin) thì cần bổ sung vào từ điển. Do hiệu quả của chương trình phụ thuộc rất nhiều vào từ điển mà chương trình sử dụng, vì thế ta có thể loại bỏ bớt một số từ trong từ điển mà là những từ đã quá cổ, từ rất hiếm khi dùng trong thực tế để có thể giảm thiểu những trường hợp nhập nhằng không đáng có, làm tăng độ chính xác cho quá trình tách từ khoá.
Việc loại từ dừng làm giảm đáng kể số lượng từ trong văn bản, loại đi những từ hầu như không có ý nghĩa quan trọng đối với quá trình xử lý văn bản.
4.2.4 Thực nghiệm phân loại văn bản với SVMs
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à: IG và Chi-square. Theo các kỹ thuật