Quá trình tiến hành thực nghiệm

Một phần của tài liệu Phương pháp đồng huấn luyện và ứng dụng (Trang 56)

* Xây dựng các đặc trưng:

Ban đầu các trang web được thu về ở dạng html, tiến hành trích chọn các

anchor text tương ứng cho từng trang. Để việc xử lý các từ tiếng Việt được thuận tiện và dễ dàng các từ tương ứng sẽ được biến đổi sang dạng chỉ gồm các ký hiệu trong bảng chữ cái và chữ số. Điều này được thực hiện bằng công cụ text2telex.php.

Các dữ liệu textanchor text này sẽ được xử lý để loại bỏ các từ dừng để việc lựa chọn các đặc trưng cho từng lớp có tính chuyên biệt cao.

Các đặc trưng của văn bản quyết định phân lớp của văn bản đó. Trong phân lớp văn bản thì các đặc trưng của văn bản chính là các từ xuất hiện trong các văn bản đó. Việc xây dựng các đặc trưng dựa trên các mệnh đề mô tả thông tin ngữ cảnh. Trong thực nghiệm này chúng tôi sử dụng cấu trúc n-grams, với n = 1, 2, 3 vì thực tế với các giá trị trên của n là chúng ta có thể đủ để bao quát các thông tin ngữ cảnh đối với bài toán phân lớp văn bản tiếng Việt.

Các n-gram được xây dựng như sau:

Bƣớc 1: Tiến hành loại bỏ các từ dừng trong các văn bản: Đối với tiếng Việt do chưa có một danh sách các từ dừng chuẩn nên việc loại bỏ các từ dừng chỉ là tương đối theo một danh sách các từ dừng tiếng Việt do chúng tôi tự thiết kế.

Bƣớc 2: Tiến hành xây dựng n-gram: Xét ví dụ với mệnh đề thông tin ngữ cảnh

“dự báo công nghệ thông tin Việt Nam năm 2005” thì danh sách các n-gram là:

Bảng7. Các n-gram sử dụng trong mô hình phân lớp các trang web

Với các n-gram được sinh ra như trên (xem bảng 7), chúng tôi tiến hành xây dựng các mệnh đề thông tin ngữ cảnh như sau, ví dụ một mệnh đề chỉ ra văn bản thứ di có chứa cụm từ wt nào đó n lần:

[<di> chứa <wt>: n lần]

Do phương pháp học bán giám sát co-training là một tiến trình lặp nên việc thu được từng đặc trưng trong một văn bản mới là rất có ý nghĩa. Do vậy, chúng tôi quyết định lựa chọn tất cả các đặc trưng để tiến hành phân lớp mà không loại bỏ một đặc trưng nào cả.

* Thiết lập tham số cho mô hình:

|U‟| = 150, số vòng lặp bằng 100, tham số chấp nhận lỗi  = 0.03.

Do hai bộ phân lớp trên hai khung nhìn dữ liệu có thể dự đoán không trùng khớp cho cùng một mẫu dữ liệu cho nên trong dự đoán mỗi lớp ta định nghĩa một bộ phân lớp liên kết.

1 2

( j ) ( j ) ( j )

P c xP c x P c x (3.10)

* Các độ đo sử dụng trong mô hình:

Các luật phân lớp trong văn bản thường được đánh giá cách sử dụng các độ đo từ những thông tin thu nhận được trên text. Một số độ đo thông thường cho việc đánh giá phân loại text bao gồm độ hồi tưởng (recall), độ tin cậy dự đoán (precision), độ chính xác (accuracy), số lỗi (error rate) và độ đo F1 được tính như sau:

Nếu bài toán xây dựng là bài toán phân lớp nhị phân (có thuộc hay không thuộc một lớp nào đó). Nếu số văn bản kiểm tra (test documents) là N, trong đó số văn bản

n-gram Kết quả

1-gram dự, báo, công, nghệ, thông, tin, Việt, Nam, năm, 2005

2-gram dự_báo, báo_công, công_nghệ, nghệ_thông, thông_tin, tin_Việt, Việt_Nam, Nam_năm, năm_2005.

3-gram dự_báo_công, báo_công_nghệ, công_nghệ_thông, nghệ_thông_tin, thông_tin_Việt, tin_Việt_Nam, Việt_Nam_năm, Nam_năm_2005.

mang nhãn dương được gán nhãn đúng (true positive) là TP, số văn bản mang nhãn dương bị gán nhãn sai (false positive)là FP, số văn bản mang nhãn âm được gán nhãn đúng (true negative) là TN, số văn bản mang nhãn âm bị gán nhãn sai (false negative)

là FN, rõ ràng ta có:

N = TP + FP + TN + FN

Từ đó các độ đo cho bài toán phân lớp nhị phân được định nghĩa như sau: Precision = TP / (TP + FP)

Recall = TP / (TP + FN) Accuracy = (TP + TN)/N Error = (FP + FN)/N (adsbygoogle = window.adsbygoogle || []).push({});

F1 = 2*Recall*Precision /(Recall + Precision)

Do sự mất cân bằng lớn giữa số mẫu dương và mẫu âm đã dẫn tới việc giải thích sai kết quả, mà chỉ số TN thường tượng chưng cho độ chính xác hoặc lỗi của hệ thống. Ví dụ, khi số mẫu dương của một lớp chỉ chiếm 1% trong tập mẫu test, một bộ phân lớp thông thường có thể đưa ra dự đoán nhãn âm cho tất cả các văn bản với độ chính xác 99%, hay có lỗi chỉ là 1%. Tuy nhiên, nếu như thế thì hệ thống là “tồi”. Chính vì lí do đó mà các độ đo recall, precision và F1 thường được sử dụng thay cho độ chính xác và lỗi trong đánh giá phân loại text.

3.2.4. Kết quả phân lớp so với phƣơng pháp Naïve Bayes

Để thấy được kết quả thực nghiệm co-training trong bài toán phân lớp trang web, ta so sánh với kết quả của bộ phân lớp giám sát Naïve Bayes dựa trên nội dung của tài liệu.

+ Bộ phân lớp giám sát Naïve Bayes dựa trên nội dung của một tài liệu: Bảng 8 biểu diễn kết quả bộ phân lớp này với các độ đo: Độ chính xác (Prec), độ hồi tưởng

(Recall), độ đo F1. Prec Recall F1 cong_nghe 0.944 0.85 0.895 phap_luat 0.714 1 0.833 phuong_tien 0.857 0.9 0.878 doi_song 0.778 0.7 0.737 the_thao 1 0.65 0.788 van_hoa 0.727 0.8 0.762 Trung bình 0.837 0.817 0.815

Bảng 8: Kết quả của bộ phân lớp giám sát Naïve Bayes với các độ đo

Dựa vào kết quả ở bảng 8, ta thấy các độ đo của bộ phân lớp giám sát Naïve Bayes là khá cao. Độ đo F1 trong trường hợp cao nhất lên đến 89.5%. Bảng dưới biểu diễn đồ thị kết quả độ đo F1 đối với từng phân lớp như trên hình 22.

Hình 22. Đồ thị biểu diễn độ đo F1 của bộ phân lớp giám sát

 Bộ phân lớp bán giám sát co-training dựa trên nội dung của một văn bản: Các độ đo Prec, Recall F1 được liệt kê ở bảng 9.

Prec Recall F1 cong_nghe 0.9 0.9 0.9 phap_luat 0.667 1 0.8 phuong_tien 0.818 0.9 0.857 doi_song 1 0.7 0.824 the_thao 0.929 0.65 0.765 van_hoa 0.85 0.85 0.85 Trung bình 0.86 0.83 0.833

Bảng 9: Kết quả các độ đo của co-training.

Từ bảng các độ đo kết quả, ta biểu diễn đồ thị độ đo F1 của bộ phân lớp bán giám sát co-training trên hình vẽ 23 bên dưới.

Hình 23. Đồ thị biểu diễn độ đo F1 của bộ phân lớp bán giám sát

3.2.5. Kết luận

Từ kết quả thu được ở trên ta có thể đưa ra một số nhận xét sau:

- Co-training đã nâng độ chính xác so với các thuật toán học giám sát thông thường: Độ đo F1 trung bình trong trường hợp học giám sát là 81.5%, trong khi đó độ đo F1 trung bình trong trường hợp học bán giám sát với co-training là 83.3%, với số bước lặp hạn chế ở con số 10.

- Từ đó, chúng tôi nhận thấy việc áp dụng co-training trong bài toán phân lớp trang web nói riêng và phân lớp văn bản nói chung hoàn toàn là có thể và cho kết quả tốt

3.3. Một tiếp cận co-training cho đa bộ phân lớp bán giám sát (MCS)

Như đã từng đề cập trong luận văn, thực tế co-training là một phương pháp học bán giám sát rất hiệu quả trên một số bài toán phù hợp (thỏa mãn được điều kiện áp dụng). Trong phần này, tác giả xin trình bày thêm một ứng dụng khá mới của phương pháp học này đó là áp dụng co-training cho một quần thể các bộ phân lớp (classifiers) đã được Mona Solyman và Neamat El Gayar nghiên cứu năm 2006[31].

Để thỏa mãn điều kiện áp dụng của co-training các tác giả đã đưa ra giả thiết rằng: mỗi bộ phân lớp được xây dựng dựa trên một khung nhìn độc lập của dữ liệu. Việc dùng các phương thức khác nhau để khai thác thông tin từ các khung nhìn khác nhau và gán nhãn cho các mẫu chưa được gán nhãn sẽ nâng cao được chất lượng của các bộ phân lớp. Việc tiến hành thử nghiệm trên một tập đối tượng ảnh chỉ ra rằng việc dùng các phương thức khác nhau đó có thể gán nhãn một cách hiệu quả cho các dữ liệu chưa được gán nhãn và nâng cao được chất lượng của các bộ phân lớp trong quần thể bộ phân lớp, đặc biệt nếu bài toán trong thực tế chỉ có sẵn rất ít mẫu đã được gán nhãn.

3.3.1. Hệ thống đa bộ phân lớp bán giám sát

Hệ thống đa bộ phân lớp (Multiple classifier system (MCS)) và học quần thể (essemble learning) đã trở nên phổ biến trong trong những năm gần đây trong việc giải quyết các bài toán khác nhau trong nhận dạng mẫu và học máy. Đa bộ phân lớp (MC) được đặc tả bởi đặc tính kỹ thuật của chúng, dựa trên kiểu bộ phân lớp và luật kết hợp.

Cho đến nay, hầu hết các nghiên cứu trên MCS đều hướng trực tiếp tới nhiệm vụ phân lớp có giám sát đơn thuần. Học có giám sát đòi hỏi phải có một tập dữ liệu đã gán nhãn. Trong nhiều ứng dụng nhận dạng mẫu, các dữ liệu đã gán nhãn thường tốn

nhiều thời gian và chi phí để có được và cần người chú thích, những người phải có đủ kỹ năng yêu cầu.

Học bán giám sát giải quyết vấn đề này với thiết kế của bộ phân lớp dùng cả dữ liệu đã gán nhãn (thường là ít) với dữ liệu chưa gán nhãn dùng huấn luyện. Học bán giám sát hướng mục tiêu vào các tình huống phổ biến khi mà dữ liệu đã gán nhãn là rất ít nhưng dữ liệu chưa gán nhãn lại rất nhiều. Kỳ vọng của học bán giám sát là có khả năng dùng các dữ liệu chưa gán nhãn cùng với các dữ liệu đã gán nhãn để tăng chất lượng của bộ phân lớp

Bài toán học bán giám sát đã thu hút một lượng quan tâm lớn trong thời gian gần đây. Có rất nhiều các kỹ thuật học bán giám sát như: phương pháp self-training, phương pháp cực đại kỳ vọng, học SVM truyền dẫn, co-training và active learning [22]. Trong một báo cáo của Seeger [32] tóm lược một vài phương pháp tiếp cận cho học bán giám sát.

Mặc dù đều có liên quan đến nhiệm vụ phân lớp bán giám sát, tất cả các kỹ thuật trên đều chỉ tập trung vào một bộ phân lớp đơn lẻ, hoặc cùng lắm là hai bộ phân lớp (co-training). Gần đây, một số công trình về MCS đã được công bố, trong nghiên cứu của mình, Roli cũng cố gắng đưa ra một định nghĩa có tính hệ thống về hệ thống đa bộ phân lớp bán giám sát và gợi ý một vài hướng nghiên cứu tương lai trong lĩnh vực này. Trong 2 bài báo trước đã công bố [34, 35], nhóm tác giả đã đưa ra một cách tiếp cận trực tiếp quyết định cho việc huấn luyện quần thể bộ phân lớp. Kỹ thuật này làm việc trên các khung nhìn khác nhau của dữ liệu vào và dùng các kết quả ra đã được kết nối của các bộ phân lớp để gán nhãn cho các mẫu chưa biết. Quần thể bộ phân lớp sau đó được huấn luyện lại bằng các nhãn giả mới. Kỹ thuật này không dùng một phương pháp đo để loại bỏ các mẫu được gán nhãn một cách không chắc chắn từ các bộ phân lớp đã được huấn luyện lại. Các thử nghiệm được tiến hành với một phần nhỏ dữ liệu chưa gán nhãn và cho kết quả tốt hơn cách tiếp cận có giám sát đơn thuần trong đa số các trường hợp

Trong bài báo này, các tác giả cố gắng mở rộng mô hình trong (9) thông qua việc áp dụng lại một số kỹ thuật bán giám sát cho các bộ phân lớp đơn.

Đặc biệt, các tác giả hướng trọng tâm chú ý vào phương pháp co-training do mối liên hệ mật thiết của nó với MCS. Hướng tiếp cận co-training được Blum và Mitchell đưa ra năm 1998[11]. Co-training lúc đầu chỉ được sử dụng với 2 bộ phân lớp (adsbygoogle = window.adsbygoogle || []).push({});

và không chứa bất kỳ một sự kết hợp nào giữa các máy. Do đó, còn rất nhiều vấn đề cần giải quyết về việc sử dụng co-training để tạo ra các quần thể bộ phân lớp tốt.

Thuật toán co-training giả thiết rằng một mô tả về một mẫu có thể được chia thành 2 khung nhìn độc lập. Cả 2 khung nhìn của mẫu đều có thể đủ cho việc học, và cần có đủ các mẫu đã được gán nhãn. Mục đích của co-training là dùng cả 2 khung nhìn cùng nhau để cho phép dữ liệu chưa gán nhãn không tốn kém để làm tăng lên số lượng rất nhỏ các tập dữ liệu chưa gán nhãn.

Các ứng dụng phù hợp với hướng tiếp cận này là khi cả dữ liệu đã gán nhãn và dữ liệu đều sẵn có và 2 hoặc 3 kiểu thông tin khác nhau của đối tượng được chỉ ra. Ví dụ cho ứng dụng này là việc phân lớp trang web và việc phân lớp đa phương thức đa cảm biến (multi-sensor multi-modal) (như nhận dạng sinh trắc đa hình thái (multi- modal biometric recognition)). Các bộ phân lớp được huấn luyện độc lập trên mỗi khung nhìn và sau đó mỗi dự đoán của bộ phân lớp trên mỗi mẫu chưa gán nhãn được thêm vào để mở rộng tập dữ liệu huấn luyện.

Trong công trình này[], các tác giả cố gắng mở rộng ý tưởng của co-training cho một quần thể lớn các bộ phân lớp và để kết hợp với chiến lược kết nối các bộ phân lớp trong kỹ thuật co-training. Đặc biệt, các tác giả giới thiệu một tiếp cận mới cho việc học dùng dữ liệu đã gán nhãn và dữ liệu chưa gán nhãn dùng một thuật toán co- training được cải tiến. Các kết quả thử nghiệm so sánh kỹ thuật trên với hệ đa bộ phân lớp có giám sát đơn thuần trong một bài toán nhận dạng đối tượng dùng KNN (14) như là bộ phân lớp cơ bản. Nghiên cứu này cũng điều tra hiệu quả của việc dùng các kỹ thuật kết nối khác nhau và các kích cỡ khác nhau của các mẫu đã được gán nhãn.

3.3.2. Kỹ thuật co-training cho MCS

Thông thường, một bài toán phân lớp bán giám sát có thể được định nghĩa như sau: Cho một tập L các dữ liệu đã có nhãn (đã được phân lớp) và một tập U các dữ liệu chưa có nhãn. Dùng cả 2 tập dữ liệu để thiết kế các bộ phân lớp. Như đã đề cập, co- training được dùng chính với 2 bộ phân lớp. Hình 24 mô tả thuật toán đầu tiên của các tác giả trong việc mở rộng ý tưởng của co-training cho nhiều bộ phân lớp, với tên gọi MCS/CO1.

Thuật toán MCS/CO1 thực hiện như sau: Cho K khung nhìn của một đối tượng x (x1,x2, …, xk) và K bộ phân lớp khác nhau. (CL1, CL2, … , CLk) phân lớp trên k khung nhìn tương ứng. K bộ phân lớp này được huấn luyện với tập dữ liệu có nhãn ban đầu nhỏ, và có thể cho rằng các bộ phân lớp này sẽ có độ chính xác thấp, nhưng

vẫn tốt hơn là được khởi tạo ngẫu nhiên. Mỗi bộ phân lớp sau đó được sử dụng cho các dữ liệu chưa có nhãn. Với mỗi bộ phân lớp, các mẫu chưa gán nhãn mà nhận được độ tin cậy cao nhất sẽ được thêm vào dữ liệu đã có nhãn, do vậy tất cả K bộ phân lớp đều góp phần vào việc tăng số lượng tập dữ liệu huấn luyện. Tất cả K bộ phân lớp sau đó được huấn luyện lại với tập dữ liệu huấn luyện đã được tăng lên, và quá trình này được lặp lại trong một số lần xác định. Khi tiến trình co-training kết thúc, các bộ phân lớp có thể được kết hợp bởi một luật kết hợp giữa các bộ phân lớp nào đó đã biết.

Thuật toán co-training 1 cho MCS:

Hình 24. Thuật toán co-training cho đa bộ phân lớp, MCS/CO1

Việc chọn mẫu có độ tin cậy cao nhất phụ thuộc vào bộ phân lớp cơ sở được dùng trong quần thể bộ phân lớp. Ở đây bộ phân lớp cơ sở KNN (K-Nearest Neighbor) được sử dụng, mẫu có độ tin cậy cao nhất được xem là mẫu có xác suất lớn nhất thuộc về một lớp nào đó.

Trong kỹ thuật MCS/CO1 trên, việc liên kết giữa các bộ phân lớp chỉ thực hiện tại giai đoạn cuối cùng của việc phân lớp. Các bộ phân lớp tăng số dữ liệu có nhãn bằng việc thêm vào các dữ liệu có độ tin cao nhất sau mỗi lần học và việc này được làm một cách độc lập trong phân lớp của chúng, mà không bị ảnh hưởng bởi bất kỳ

Một phần của tài liệu Phương pháp đồng huấn luyện và ứng dụng (Trang 56)