Phân lớp cho văn bản mới

Một phần của tài liệu Phân lớp tài liệu Web độc lập ngôn ngữ (Trang 34 - 50)

Với một văn bản mới, bộ phân lớp tiến hành phân lớp cho văn bản. Các bước thực hiện giống như việc phân lớp văn bản của bộ phân lớp trên cây phân lớp chuẩn.

Nếu văn bản được viết bởi 1 ngôn ngữ, các n-gram sinh ra sẽ mang đặc trưng của ngôn ngữ. Nên sác xuất của văn bản đó sẽ có xu hướng nghiêng hẳn về một lớp.

đa lớp cho văn bản. Nếu văn bản được phân vào lớp en_st tức là văn bản thuộc thể loại Truyện nhưng viết bằng tiếng Anh. Nếu văn bản được phân vào lớp cn_stcn_dl thì văn bản được phân vào cả hai lớp Truyện và Tuỳ bút nhưng nó được viết bằng tiếng Trung.

Nếu văn bản được viết bởi nhiều ngôn ngữ, sẽ xuất hiện n-gram sinh ra đặc trưng cho nhiều ngôn ngữ khác nhau. Đến đây là tiếp tục sử dụng chiến lược phân đa lớp để tìm lớp cho văn bản. Nếu văn bản được phân vào hai lớp: en_dlcn_dl có nghĩa là văn bản thuộc lĩnh vực Tuỳ bút nhưng được viết bởi cả hai ngôn ngữ Anh và Trung.

3.5.3. Nhận xét về phương pháp

Thời gian huấn luyện bằng với thời gian huấn luyện của bộ phân lớp văn bản

độc lập ngôn ngữ trên cây phân lớp chuẩn. Nhưng thời gian phân lớp thì lâu hơn. Nguyên nhân là do sự kết hợp giữa tập mệnh đề thông tin ngữ cảnh và số các lớp làm số lượng đặc trưng tăng gấp L lần (số các ngôn ngữ). Do đó một lần nữa chúng ta khẳng định lại rằng, bộ phân lớp này phù hợp cho các ứng dụng nhỏ.

3.6. Tổng kết chương

Chương này đã xem xét các khía cạnh điển hình về bài toán phân lớp văn bản

độc lập ngôn ngữ cũng như cách xây dựng bộ phân lớp với việc ứng dụng mô hình Entropy cực đại. Đặc biệt, hai vấn đề nhập nhằng ngôn ngữ và bùng nổ đặc trưng là những khó khăn thách thức đối với bài toán phân lớp văn bản độc lập ngôn ngữ đã

được phân tích và giải quyết bằng các phương pháp cụ thể. Khóa luận đã có một đề

xuất lựa chọn đặc trưng rất ý nghĩa là phương pháp loại bỏ stop-word trong n-gram khá hiệu quả. Và cuối cùng một đề xuất có ý nghĩa ứng dụng và tính thực tế cao đó là việc xây dựng bộ phân lớp trên cây phân lớp thông minh. Bộ phân lớp như vậy rất hiệu quả trong việc giải quyết các bài toán phân lớp văn bản và muốn nhận dạng ngôn ngữ

mà không cần sử dụng một bộ nhận dạng ngôn ngữ nào khác. Bài toán này rất phù hợp cho các ứng dụng nhỏ.

Chương tiếp theo trình bày các thử nghiệm thực tế các nghiên cứu lý thuyết trên tập dữ liệu cụ thểđược lấy từ các hãng tin cho hai ngôn ngữ Anh, Việt và đánh giá kết quả thu được.

Chương 4

KT QU TH NGHIM VÀ ĐÁNH GIÁ

4.1. Môi trường thử nghiệm 4.1.1. Môi trường phần cứng 4.1.1. Môi trường phần cứng

Bài toán được thử nghiệm trên máy chủ IBM có cấu hình như sau:

Bảng 3. Cấu hình hệ thống chạy thử nghiệm Thành phần Chỉ số CPU 2 Xeon 3.00GHz RAM 4096MB HDD 4 x 36.4 GB OS Debian 3.1 (Sarge) 4.1.2. Công cụ phần mềm

Tồn tại một số phần mềm nguồn mở đối với bài toán phân lớp văn bản sử

dụng MEM như FlexME, MaxEnt... Chúng tôi chọn lựa công cụ mã mở MaxEnt của tác giả Zhang Le tại Centre for Speech Technology Research, University of Edinburgh.

http://homepages.inf.ed.ac.uk/s0450736/pmwiki/pmwiki.php

Đây là một bộ công cụứng dụng entropy cực đại viết trên nền Python và C++. Ngoài ra, khoá luận sử dụng một số công cụ phần mềm hỗ trợ trong quá trình thử nghiệm được mô tả trong bảng sau:

Bảng 4. Danh sách phần mềm sử dụng để thử nghiệm STT Tên phần mềm Nguồn

1 Offline Explorer Enterprise http://www.metaproducts.com/

2 PHP http://www.php.net

3 Debian 3.1 http://www.debian.org

Trong quá trình chuẩn bị dữ liệu, đối với mỗi ngôn ngữ tự nhiên, chúng tôi viết một số công cụ chạy trên nền Linux và bộ thông dịch PHP.

Bảng 5. Danh sách công cụ sử dụng để thử nghiệm STT Tên công cụ Mô tả

1 gethtml.php Thu thmềm Explorer Offline. ập các file HTML trong thư mục lưu trang Web của phần 2 html2text.php sang UTF-8). Công cCông cụ lọc nhiễu và chuyụ này trích phển đổi biầển tiêu u diễn kí tđề và nự Unicode (NCR ội dung bài báo. 3 text2ngram.php loCông cại bỏ các tụ sinh n-gram từ phổ biến. ừ các file text do html2text.php sinh ra. Có 4 maketrain.php Công ccó gán nhụ tạẵo file train tn lớp tương ừứ các file n-gram do text2ngram.php sinh ra ng. 5 maketest.php Công cHTML và chuyụ tạo file kiển ểđổm tra tri biểu diực tiễn kí tếp từự file html b Unicode). ất kì (có loại các thẻ

4.2. Dữ liệu kiểm thử

Dữ liệu dùng để huấn luyện mô hình là các tin bài được lấy từ các trang báo

điện tử của hai ngôn ngữ Anh và Việt. Đây đều là những hãng tin có uy tín về nội dung tin bài cũng như độ tin cậy của các chuyên mục tin được phân chia. Tiếng Anh:

http://www.bbc.co.uk; Tiếng Việt: http://www.vnexpress.net.

Trong khoá luận chúng tôi tiến hành thử nghiệm trên từng bộ phân lớp đơn ngôn ngữ, và trên bộ phân lớp kết hợp ngôn ngữ.

Hình 4. Trang tin tức tiếng Anh BBC News

Trong hình 3 và hình 4, chúng ta cần lấy phần “Nội dung cần lấy”, các phần còn lại được gọi là nhiễu và sẽ bị loại bỏ bằng quá trình tiền xử lý trong công cụ

html2text.php. Mỗi một ngôn ngữ có một công cụ html2text.php riêng.

Sau khi đã thu được các file text do html2text.php sinh ra, ta tiến hành xây dựng tập dữ liệu huấn luyện theo định dạng mà thư viện MaxEnt hỗ trợ bằng hai công cụ sau: text2ngram.php và maketrain.php. Khi đó, tệp tin sinh ra chưa dữ liệu huấn luyện theo định dạng được biểu diễn như sau: Trên một dòng, đầu dòng là nhãn của văn bản. Tiếp theo là tất cả các n-gram được sinh ra bởi văn bản đó do công cụ

text2gram.php sinh ra.

Cũng trong công cụ sinh n-gram từ file text (công cụ text2gram.php) chúng tôi tiến hành lọc bỏ các n-gram bằng phương pháp loại bỏ stop-word trong n-gram (giảm

được ~32% tổng số n-gram). Điều này đã làm giảm đáng kể các đặc trưng không có ích.

4.2.2. Cây phân lớp

Quan sát hai hình vẽ trên, ta nhận thấy rõ ràng hai cây phân lớp này không giống nhau, và việc để tìm ra một cây phân lớp chung cho chúng không dễ dàng. Nói như vậy, để khẳng định một điều rằng: tìm cây phân lớp chuẩn cho bài toán phân lớp

Sau khi quan sát và nghiên cứu các trang tin, chúng tôi đưa ra cây phân lớp tin tức như sau:

Bảng 6. Cây phân lớp thông tin STT Tên Nhãn Mô tả

1 Kinh tế bss Các nội dung liên quan đến thị trường, kinh doanh,… 2 Giáo dục edu Các nội dung liên quan đến giáo dục.

3 Văn hoá / Giải trí ent Các nội dung liên quan đến nghệ thuật, âm nhạc, điện ảnh. 4 Sức khoẻ hel Các nội dung liên quan đến sức khoẻ.

5 Chính trị / Xã hội plt Các nội dung liên quan đến tình hình chính trị, xã hội,… 6 Khoa học sci Các nội dung liên quan đến khoa học.

7 Thể thao spt Các nội dung liên quan đến thể thao 8 Công nghệ tec Các nội dung liên quan đến công nghệ

Ở tập dữ liệu huấn luyện trên từng bộ phân lớp cho một ngôn ngữ, mỗi lớp ta chọn 800 văn bản. Ở tập dữ liệu huấn luyện cho bộ phân lớp hai hoặc ba ngôn ngữ kết hợp, ta chọn mỗi lớp 600 văn bản.

4.3. Kết quả thử nghiệm

Tiến hành thử nghiệm trên tập dữ liệu tiếng Anh, tập dữ liệu tiếng Việt và tập dữ liệu trộn lẫn nhau của hai ngôn ngữ Anh và Việt.

4.3.1. Quá trình huấn luyện

Thông tin về tập các thông tin ngữ cảnh và các đặc trưng đối với cả 3 mô hình:

Bảng 7. Tập dữ liệu huấn luyện của cả 3 mô hình Mô hình Mệnh đề thông tin ngữ cảnh Đặc trưng

Tiếng Anh 3.127.333 3.709.185

Tiếng Việt 2.806.899 3.686.768

Anh – Việt 4.743.595 5.860.664

Sau 10 lần huấn luyện trên tập dữ liệu 6207 văn bản tiếng Anh, 6400 văn bản tiếng Việt và 12607 văn bản cho cả hai ngôn ngữ Anh và Việt, độ chính xác được cho trong bảng sau. Mỗi lần huấn luyện ta chỉ lấy kết quả của lần lặp có độ chính xác (accuracy) cao nhất.

Bảng 8. Độ chính xác 10 lần huấn luyện của tiếng Anh

Fold Highest Log-likelihood Accuracy Time (s)

0 -1.447281E-04 98.55% 117.31 1 -1.435894E-04 98.39% 121.36 2 -1.450561E-04 98.07% 102.54 3 -1.433849E-04 98.87% 109.57 4 -1.425671E-04 98.07% 110.98 5 -1.455252E-04 99.19% 122.17 6 -1.444749E-04 97.90% 143.42 7 -1.450292E-04 99.19% 95.54 8 -1.417561E-04 97.74% 111.57 9 -1.440164E-04 97.26% 114.22 Trung bình -1.440127E-04 98.32% 114.87 Bảng 9. Độ chính xác 10 lần huấn luyện của tiếng Việt

Fold Highest Log-likelihood Accuracy Time (s)

0 -3.056967E-04 92.19% 154.26 1 -3.048419E-04 90.31% 157.51 2 -2.988322E-04 92.03% 160.89 3 -2.722667E-04 91.25% 148.85 4 -2.994259E-04 90.63% 146.56 5 -3.022941E-04 91.25% 147.26 6 -3.152480E-04 92.03% 157.12 7 -3.350586E-04 91.88% 150.19 8 -3.773065E-04 91.56% 153.25 9 -2.782285E-04 92.50% 154.72 Trung bình -3.089199E-04 91.56% 153.06 Bảng 10. Độ chính xác 10 lần huấn luyện kết hợp Anh-Việt

Fold Highest Log-likelihood Accuracy Time (s)

0 -3.278943E-04 95.21% 193.22 1 -2.680606E-04 96.04% 197.82 2 -3.204758E-04 94.27% 221.17 3 -2.829994E-04 94.06% 183.24 4 -2.668655E-04 94.17% 187.87 5 -3.191257E-04 92.92% 187.89 6 -3.248740E-04 94.90% 184.76 7 -2.815305E-04 94.38% 187.32 8 -2.663499E-04 94.79% 172.98 9 -2.792563E-04 96.25% 195.85

84.00% 86.00% 88.00% 90.00% 92.00% 94.00% 96.00% 98.00% 100.00% 0 1 2 3 4 5 6 7 8 9 Lần huấn luyện (Fold) Độ c h ính xác Tiếng Anh Tiếng Việt Anh - Việt

Hình 5. Độ chính xác của 3 bộ phân lớp trong 10 lần huấn luyện

Hình 5 là biểu đồ biểu diễn độ chính xác của 3 mô hình: Anh, Việt, Anh-Việt trên 10 fold. Mỗi fold ta chọn ra độ chính xác ở lần lặp cao nhất của mỗi mô hình.

Các bảng số liệu, đồ thị biểu diễn các kết quả thử nghiệm đã trình bày ở trên cho thấy kết quả thử nghiệm rất khả quan.

- Độ chính xác của bộ phân lớp tiếng Anh là: 98.32%. - Độ chính xác của bộ phân lớp tiếng Việt là: 91.56%. - Độ chính xác của bộ phân lớp tiếng Anh-Việt là: 94.70%.

Biểu đồ 5 biễu diễn độ chính xác của 3 mô hình sau 10 lần huấn luyện ta nhận thấy có sự chênh lệch giữa độ chính xác của mô hình tiếng Anh và mô hình tiếng Việt, mặc dù tập dữ liệu của tiếng Việt lớn hơn của tiếng Anh (6400 văn bản và 6207 văn bản). Sở dĩ như vậy là vì, tập các đặc trưng của mô hình phân lớp tiếng Anh được lọc tinh tế hơn của tiếng Việt. Trong quá trình xử lý dữ liệu trước khi đưa vào huấn luyện, chúng tôi sử dụng công cụ text2ngram.php và làm giảm được 32% tổng số đặc trưng cho mô hình phân lớp tiếng Anh, và giảm 6% tổng sốđặc trưng cho mô hình phân lớp tiếng Việt. Vì vậy, từ kết quả hai bộ phân lớp trên hai ngôn ngữ Anh và Việt chúng ta có kết luận như sau:

- Khẳng định tính đúng đắn của kết luận trong lý thuyết rằng đặc trưng được chọn lọc càng tinh tế thì độ chính xác càng tăng.

- Sử dụng phương pháp lọc bỏ stop word đã đề xuất ở phần lý thuyết cho kết quả tốt. Do tiếng Anh được xử lý nhiều nên danh sách stop word khá đầy

đưa ra thống kê chưa đầy đủ các stop word trong tiếng Việt nên kết quả có phần hạn chế.

Cũng trên hình 5, chúng ta có sự so sánh độ chính xác giữa 3 mô hình: Anh, Việt và Anh-Việt. Độ chính xác của mô hình Anh-Việt luôn nằm giữa hai độ chính xác của mô hình tiếng Anh và mô hình tiếng Việt. Rõ ràng sự nhập nhằng của hai ngôn ngữ Anh và Việt không ảnh hưởng nhiều đến độ chính xác của mô hình Anh-Việt. Và kết quả của mô hình này cho thấy rõ điều đó: 94.70%.

Quan sát các bảng 8, 9 và 10, ta dễ dàng nhận thấy thời gian huấn luyện rất nhanh. Trung bình một lần huấn luyện trên bộ phân lớp văn bản tiếng Anh là 114.87 (s). Đến đây ta khẳng định sức mạnh của phương pháp entropy cực đại bằng kết quả

của các con số: tích hợp gần 6 triệu đặc trưng vào mô hình và chỉ huấn luyện trong 32 phút (mô hình Anh-Việt). 4.3.2. Lần lặp cho độ chính xác cao nhất 0.00% 20.00% 40.00% 60.00% 80.00% 100.00% 120.00% 0 5 10 15 20 25 30 Bước lặp Độ chính xá c Tiếng Anh Tiếng Việt Anh-Việt

Hình 6. Sự phụ thuộc độ chính xác theo bước lặp của cả 3 mô hình

Hình vẽ trên biểu diễn sự phụ thuộc độ chính xác theo bước lặp của cả 3 mô hình. Số liệu dùng để vẽ đồ thị được lấy từ thông số của lần huấn luyên có độ chính xác cao nhất tại mỗi mô hình.

Từ đồ thị trên ta có nhận xét rằng tốc độ tăng của độ chính xác tại mỗi bước lặp là không đều nhau. Điều này có thể lý giải được bằng hiện tượng overfitting. Tức là, ngay trên chính tập dữ liệu huấn luyện, những đặc trưng xuất hiện trong 1 phần kiểm tra không xuất hiện trong tập dữ liệu học của 9 phần sẽ không được nhận biết.

4.3.3. Kết quả kiểm tra trên dữ liệu mới

Tập dữ liệu kiểm tra bao gồm 400 văn bản tiếng Anh, 400 văn bản tiếng Việt

được lấy từ nhiều nguồn.

Number of Predicates: 4743595 Number of Parameters: 5860664 Optimized version

iter loglikelihood training accuracy heldout accuracy ================================================================== 0 -2.079442E+00 12.500% 12.500% 1 -1.566180E+00 67.656% 44.250% 2 -9.132070E-01 84.167% 59.750% 3 -7.543474E-01 87.490% 66.625% 4 -5.646942E-01 91.479% 71.875% 5 -4.754881E-01 92.323% 74.500% 6 -3.445148E-01 93.906% 81.250% 7 -2.715653E-01 94.385% 80.875% 8 -1.921838E-01 95.823% 82.750% 9 -1.628873E-01 96.448% 83.125% 10 -1.205699E-01 97.260% 83.625% 11 -9.134130E-02 97.781% 85.500% 12 -7.489992E-02 98.240% 85.750% 13 -5.539846E-02 98.740% 85.625% 14 -2.927394E-02 99.365% 85.250% 15 -1.338378E-02 99.698% 85.625% 16 -6.036523E-03 99.896% 85.250% 17 -4.328826E-03 99.938% 85.250% 18 -1.414540E-03 100.000% 84.875% 19 -9.727452E-04 100.000% 84.875% 20 -7.786723E-04 100.000% 85.000% 21 -5.644801E-04 100.000% 84.500% 22 -4.865722E-04 100.000% 84.375% 23 -4.318329E-04 100.000% 84.125% 24 -4.265314E-04 100.000% 84.125% 25 -4.217743E-04 100.000% 84.125% 26 -4.120439E-04 100.000% 84.125% 27 -3.779965E-04 100.000% 83.875% 27 -3.889546E-04 100.000% 83.625% 28 -3.629248E-04 100.000% 83.750% 29 -3.607414E-04 100.000% 83.875% 30 -3.365570E-04 100.000% 83.875%

Maximum numbers of 30 iterations reached in 199.81 seconds Highest log-likelihood: -3.365570E-04

Accuracy: 83.875%

Hình 7. Kết quả kiểm tra bộ dữ liệu độc lập Anh-Việt

Đây là kết quả xuất ra của quá trình kiểm tra mô hình Anh-Việt trên nguồn dữ

liệu hoàn toàn mới. Kết quả nhận được là: 83.875%. Kết quả này rất có ý nghĩa, nó thể

hiện sức mạnh thực sự của mô hình, nó nói lên khả năng đoán nhận của mô hình với dữ liệu mới. Cột log likelihood là giá trị của hàm log likelihood tại lần lặp hiện tại. Cột training accuracy là độ chính xác huấn luyện được tính bằng độ chính xác (precision).

Trong quá trình thử nghiệm trên nhiều tập kiểm tra, kết quả thực nghiệm cho thấy rằng một mô hình có mạnh hay không còn phụ thuộc vào nguồn dữ liệu huấn luyện. Dữ liệu huấn luyện được thu thập càng phong phú, khả năng đoán nhận của mô hình với dữ liệu mới càng tăng. Chúng tôi đã tiến hành thử nghiệm mô hình tiếng Anh trên hai tập kiểm tra. Một tập được lấy từ các nguồn tin bài rất lạ, là các trang tin bài

Một phần của tài liệu Phân lớp tài liệu Web độc lập ngôn ngữ (Trang 34 - 50)

Tải bản đầy đủ (PDF)

(50 trang)