Phƣơng pháp 1

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 57)

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

5.3.1.Phƣơng pháp 1

Một phƣơng pháp đƣợc Katamura, H. [24] giới thiệu năm 2003, phƣơng pháp sử dụng SVM kết hợp phân cụm cứng. Phân cụm cứng đƣợc sử dụng để giảm kích thƣớc không gian thuộc tính. Ánh xạ không gian hiện tại vào một không gian có kích thƣớc bé hơn. Sau đó tạo ra các thuộc tính mới để tăng (5-2) (5-3)

(5-4) (5-5) (5-6)

cƣờng tập thuộc tính hiện có. Phƣơng pháp này tỏ ra hiệu quả khi tập thuộc tính gốc chƣa đủ tốt để mô tả đầy đủ các tính chất khác nhau của dữ liệu. + Giảm kích thƣớc của không gian thuộc tính:

Cho trƣớc các cặp đồng xuất hiện văn bản di và từ wi:

S={( w1,d1), ( w2,d2),…, ( wk,dk) }

Xác suất liên kết của một từ và một văn bản đƣợc thể hiện theo (5-7):

P(w,d)=P(Cw,d)P(w/Cw) (5-7) Với , Cw là một cụm và w Cw

Logarit của khả khả năng(log-likehood) có thể xảy ra của chúng là:

       ) , ( ) , ( ) , ( ) / ( ) , ( ) , ( ) / ( ) , ( log ) , ( log d w S d w S d w Cw w P d Cw P d Cw N Cw w P d Cw P d w P (5-8) Trong đó:

N(x) biểu thị tần xuất hiện của x.

Với P(Cw,d), P(w/Cw) đƣợc tính theo công thức (5-9) và (5-10): P(Cw,d) = | | ) , ( S d Cw N (5-9) P(w/Cw) = | | ) ( Cw w N (5-10)

Các phân cụm từ đƣợc gép với nhau qua các lần lặp. Hai phân cụm từ đƣợc chọn nếu kết quả gép của chúng làm giá trị log-likehood giảm ít nhất so với các cặp khác.

Gọi H là matrix trong đó các phần từ h(i,j) của nó đƣợc định nghĩa nhƣ sau: h(i,j) = 1, nếu phân cụm thứ i chƣa từ thứ j.

h(i,j) =0, nếu ngƣợc lại. (5-11) Sử dụng ma trận H, với các phần tử đƣợc tính theo (5-11),ma trận giản lƣợc của ma trận thể hiện tập văn bản X đƣợc thể hiện là ma trận tích của hai ma trận HX: HX.

+ Bổ sung các thuộc tính mới: Sử dụng việc phân cụm để tạo ra các thuộc tính mới. Đầu tiên không gian thuộc tính đƣợc giảm bằng cách sử dụng

phân cụm cứng, quan hệ giữa vector thuộc tính gốc d và vector giản lƣợc của s của nó là:

Hd = s (5-12)

Tiếp theo vector gốc d và vector giản lƣợc s đƣợc gép với nhau: ˆ d =       s d (5-13) sau đó các văn bản đƣợc phân loại sử dụng SVM với dˆ là đầu vào.

Việc mở rộng kích thƣớc của không gian thuộc tính nhƣ trên tƣơng đƣơng với việc sử dụng một hàm nhân (kernel function) đặc biệt trong không gian thuộc tính gốc, giả sử với hai vector d1d2 hàm nhân K trong không gian mở rộng đƣợc thể hiện (ví dụ trong trƣờng hợp hàm nhân là tuyến tính):

K(dˆ1, 2 ˆ d )=dˆ2. 2 ˆ d =d1.d2+s1.s2=d1.d2+(Hd1).(Hd2) (5-14) Nhƣ vậy trong phƣơng pháp này, không những không gian thuộc tính gốc vẫn ảnh hƣởng trực tiếp đến đến quả phân loại mà còn tận dụng đƣợc cả thông tin từ dữ liệu không nhãn bằng cách tạo ra các thuộc tính mới.

5.3.2. Phƣơng pháp 2

Năm 2003, Zeng, H.J cùng các cộng sự đã đề xuất phƣơng pháp phân loại văn bản dựa trên clustering chỉ yêu cầu tập dữ liệu có nhãn tối thiểu [25]. Ý tƣởng của phƣơng pháp này là khai thác tập dữ liệu chƣa có nhãn gán nhãn bằng cách phân cụm cả tập dữ liệu có nhãn và không nhãn. Sau đó tập chƣa có nhãn sẽ đƣợc gán nhãn dựa trên các cụm thu đƣợc, cụ thể là nhãn của nhóm dữ liệu đã có nhãn của nhóm có trọng tâm gần với mẫu chƣa có nhãn nhất sẽ đƣợc gán cho mẫu này. Sau đó phƣơng pháp phân loại phân biệt nhƣ SVM đƣợc sử dụng để huấn luyện tập dữ liệu gán nhãn mở rộng. Kết quả thực nghiệm của Zeng cho thấy phƣơng pháp này thể hiện tốt hơn các phƣơng pháp Co-Training [25], SVM [14], TSVM [27] đặc biệt khi tập dữ liệu có nhãn là rất nhỏ.

Phƣơng pháp này đƣợc chia làm 2 bƣớc: - Bƣớc 1- Phân cụm:

Phân cụm tập dữ liệu huấn luyện bao gồm cả dữ liêu có nhãn và không nhãn, sau đó mở rộng tập dữ liệu có nhãn từ kết quả phân cụm.

- Bƣớc 2- Phân loại:

Huấn luyện chƣơng trình phân loại từ dữ liệu có nhãn mở rộng và dữ liệu không nhãn còn lại.

Với giả sử là các vector đều đã đƣợc chuẩn hóa, sử dụng hàm tính mức độ tƣơng tự giữa hai văn bản dj và dk:

sim(dj,dk) =  (adsbygoogle = window.adsbygoogle || []).push({});

d

i 1 wij. wik (5-15)

Hàm (5-15) cũng đƣợc sử dụng để tính khoảng cách từ một mẫu tới trọng tâm. Chi tiết thuật toán đƣợc trình bày ở Hình 5-2.

Trong thuật toán này, chiến lƣợc củng cố lặp đã đƣợc thực hiện. Ở mỗi bƣớc lặp, thuật toán k-means đƣợc sử dụng để phân cụm, sau đó tính trọng tâm của các dữ liệu đã có nhãn (gọi là trọng tâm có nhãn) và sử dụng chúng làm các trọng tâm ban đầu cho k-mean, giá trị k ở đây là số lớp văn bản trong dữ liệu

Đầu vào: Tập dữ liệu có nhãn Dl Tập dữ liệu không nhãn Du Số nhóm văn bản C Đầu ra: Tập dữ liệu có nhãn đầy đủ Dl’=Dl(Du,Tu*) Bộ phân loại L

Nội dung thuật toán:

- Thiết lập tập có nhãn và không nhãn hiện tại Dl’=Dl, Du’=Du

- Lặp đến khi Du’=  (lăp 1) Bƣớc phân cụm:

 Tính các trọng tâm ban đầu

, , 1.. , j i j j l j t i o x i C x D       và đặt trong tâm hiện tại oi*=oi(Với c là số nhóm văn bản)

 Nhãn của trọng tâm t(oi)=t(oi*) là nhãn của của các mẫu tƣơng ứng  Lặp đến khi kết quả phân nhóm là không đổi (lặp 2)

+ Tính các trong tâm gần nhất oi* cho mỗi oi, if t(oi)#t(oi*), thoát khỏi vòng lặp 2.

+ Gán nhãn t(oi*) cho mỗi xiDlDu gần với oi* hơn các trong tâm khác. + Cập nhật các * , , 1.. , j i j j l u j t i o x i C x D D       

 Với mỗi cụm, chọn p% mẫu xiDu’ gần với oi* nhất và đƣa vào Dl’.

Bƣớc phân nhóm:

Sử dụng phƣơng pháp TSVM, huấn luyện với tập huấn luyện Dl’

Du’.

có nhãn. Phân cụm k-mean đƣợc thực hiện trên cả dữ liệu có nhãn và không nhãn. Bƣớc lặp phân cụm này dừng lại khi kết quả phân cụm là ổn định và không thay đổi, hay là ngay trƣớc khi các trọng tâm có nhãn chuẩn bị đƣợc gán sai cho một cụm. Cuối cùng dữ liệu không nhãn đƣợc gán cùng nhãn với trọng tâm có nhãn ở cùng một cụm.

Sau khi phân cụm, ta chọn các mẫu tốt nhất (nhƣ là gần với trọng tâm của cụm nhất) để tạo ra các tập có nhãn mới, cùng với dữ liệu chƣa có nhãn còn lại, thực hiện việc huấn luyện cho một bộ phân loại TSVM [27]. Sau đó các mẫu có biên lớn nhất sẽ đƣợc chọn vào tập dữ liệu có nhãn mới cho bƣớc lặp tiếp theo.

Một trong các vấn đề chính ở đây là tham số p, giá trị của p cần đƣợc chọn để cân bằng giữa số mẫu có nhãn và các nhiễu có thể có xảy ra khi gán nhãn sai. Với p lớn ta sẽ thu đƣợc tập có nhãn lớn và giảm số vòng lặp. Giá trị p

nhỏ thì số vòng lặp sẽ nhiều hơn, với p=100% thi lặp 1 chỉ có 1 lần và thuật toán chỉ thực hiện 2 bƣớc phân cụm và phân nhóm văn bản một lần.

5.3.3. Phƣơng pháp 3

Kyriakopoulou, A. và Kalamboukis, T., năm 2006 đã đƣa ra một đề xuất áp dụng clustering vào phân loại văn bản [28,29]. Mục tiêu của phƣơng pháp này là nâng cao độ chính xác của thuật toán phân loại ngay cả khi phải làm việc với một tập huấn luyện (dữ liệu có nhãn) bé. Ý tƣởng của phƣơng pháp này là tạo ra các siêu thuộc tính (meta-feature) từ kết quả phân cụm và bổ sung vào không gian thuộc tính. Mỗi một siêu thuộc tính sẽ tƣơng ứng với một cụm sau khi tiến hành phân cụm. Nhƣ vậy các vector thuộc tính của các văn bản sẽ đƣợc ánh xạ vào một không gian thuộc tích có số chiều lớn hơn.

Với thuật toán này đƣợc chia làm ba bƣớc: - Bƣớc 1- Phân cụm

Phân cụm cả tập huấn luyện và tập kiểm thử. - Bƣớc 2- Mở rộng

Tăng cƣờng tập dữ liệu bằng cách tạo ra các siêu thuộc tính, meta-feature, từ kết quả bƣớc phân cụm, và bổ sung vào không gian thuộc tính. (adsbygoogle = window.adsbygoogle || []).push({});

Huấn luyện, sử dụng một phƣơng pháp phân loại, cho tập dữ liệu kiểm thử Ở đây, xét bài toán phân loại k-nhóm (k-class categorization. Cho l mẫu gán nhãn {(x1,y1),….,( xl,yl)} là các vector thuộc tính xi Rn và các nhãn tƣơng ứng (y1, y2, …, yl) {1,…,l} và có m mẫu chƣa có nhãn với các vector thuộc tính là {x1*,…., xm*}, ở đây ta xét trƣờng hợp m>>l, với trọng số của các thuộc tính đƣơc tính theo mô hình trọng số TFIDF, tính theo (2-2).

Do các văn bản trong một nhóm có các mối liên hệ với nhau và các văn bản trong một cụm cũng có các đặc điểm đặc trƣng. Tức là có một mỗi liên hệ giữa các nhóm văn bản và các cụm khi phân cụm. Nên ta có thể chon số cụm cần là bằng với số nhóm văn bản, k. Vậy có thể áp dụng một phƣơng pháp phân cụm với số cụm cho trƣớc. Ở đây có thể sử dụng thuật toán phân k-way clustering để thực hiện việc phân cụm cả dữ liệu huấn luyên và dữ liệu kiểm thử. Trong phƣơng pháp k-way clustering, thuật toán thực hiện lặp một chuỗi

k-1 bƣớc. Tập dữ liệu đầu tiên đƣợc chia thành hai nhóm. Sau đó một nhóm sẽ đƣợc chọn và đƣợc chia tiếp làm hai phần. Quá trình này đƣợc tiếp diễn cho đến khi có đƣợc k cụm. Sử dụng hàm tối ƣu (5-16):

max     k i x x Si u u u u x x sim 1 , ) , ( (5-16)

Trong (5-16) Si là tập các văn bẳn đƣợc gán cho cụm thứ i.

sim(xv,xu) là độ tƣơng tự giữa hai văn bản xvxu. Các cụm đƣợc tạo ra là không bị gối lên nhau.

Sau đó, từ mỗi cụm thu đƣợc sẽ tạo ra một siêu thuộc tính và bổ sung vào không gian thuộc tính. Đặt n là tổng số thuộc tính đựoc sử dụng để thể hiện

l+m vector thuộc tính, và k là số cụm đƣợc tạo ta từ bƣớc 1.

Tại bƣớc 2 ta sẽ tạo ra k siêu thuộc tính: wn+1,…, wn+k. Một văn bản x thuộc cluster Cj đƣợc bổ sung thêm siêu thuộc tính wn+j. Trọng số của siêu thuộc tính đƣợc tính toán dựa trên mô hình TFIDF, tính theo (2-2) . Xét mỗi văn bản x của cụm ứng với siêu thuộc tính này:

Tấn suất từ của nó (TF)

TF(wn+j,x)=1 (5-17)

IDF(wn+j)=log2(        j C X ) (5-18)

Trong (5-18) |X| là tổng số văn bản và |Cj| là tổng số văn bản thuộc cụm Cj.

Bƣớc cuối, Từ các ma trận mở rộng cho tập huấn luyện và tập thử nghiệm, áp dụng phƣơng pháp phân loại SVM, để thƣc hiện việc huấn luyện với tập huấn luyện mở rộng, sau đó có thể sử dụng tập thử nghiệm mở rộng để kiểm tra độ chính xác của phân loại.

Thuật toán đƣợc tóm tắt nhƣ Hình 5-3 dƣới đây:

Bước 1: phân cụm

Đầu vào: - Tập huấn luyện gồm các mẫu có nhãn (x1,y1),…,(xl,yl) và tập kiểm thử gồm các mẫu x1*, x2*,…,xm*

- K số cụm mong muốn

Đầu ra:

Các ID của cụm tƣơng ứng với từng mẫu

Sử dụng một thuật toán phân cụm để phân cụm tất cả các mẫu

Bước 2: Mở rộng

Đầu vào: Các mẫu huấn luyện, mẫu kiểm thử và kết quả của bƣớc 1

Đầu ra: Tập huấn luyện mở rộng và tập kiểm thử mở rộng

Tạo các siêu thuộc tính và bổ sung vào không gian thuộc tính, mỗi cụm tƣơng ứng với một siêu thuộc tính.

Các siêu thuộc tính là: tn+1,tn+2,…, tn+k, trọng số của các siêu thuộc tính với văn bản x đƣợc tính theo TF-IDF, theo công thức sau.

W(tn+j) = 2 j log C X         ; nếu xCj =0 ; ngƣợc lại

Bước 3: Phân loại

Đầu vào: Các tập huấn luyện và phân loại mở rộng của bƣớc 2. (adsbygoogle = window.adsbygoogle || []).push({});

Sử dụng các phƣơng pháp SVM [14] hoặc TSVM [27] thực hiện huấn luyện với tập huấn luyện mở rộng và thực hiện đoán nhận với tập kiểm thử mở rộng.

Hình 5-3: Thuật toán của phân loại văn bản sử dụng phân cụm của Kyriakopoulou, A.

5.4. Nhận xét

Cả ba phƣơng pháp trên đều tập trung vào việc cải tiến phân loại văn bản nhƣ nâng cao độ chính xác ngay cả khi phải làm việc với tập huận luyên bé, tận dụng và khai thác tập dữ liệu không nhãn. Các thuật toán đều thực hiện tăng cƣờng tập dữ liệu có nhãn bằng cách áp dụng phân cụm cho dữ liệu có nhãn và không nhãn. Phƣơng pháp của Katamura, H, trình bày ở 5.3.1, sử dụng phận cụm từ với phƣơng pháp phân cụm phân cấp, hai phƣơng pháp còn lại của Zeng, H.J , 5.3.2, và của Kyriakopoulou, A, 5.3.3, sử dụng phân cụm văn bản với phƣơng pháp phân cụm chia vùng. Cả ba phƣơng pháp đều sử dụng phƣơng pháp phân loại văn bản SVM nhằm tận dụng các ƣu điểm của phƣơng pháp này với kích thƣớc không gian thuộc tính lớn và các vector văn bản thƣa. Các kết quả cho thấy các phƣơng pháp cho độ chinh xác cao hơn hẳn các phƣơng pháp phân loại truyền thống cũng nhƣ đối với phƣơng pháp SVM thông thƣờng.

Đối lại với ƣu điểm nổi bật của các phƣơng pháp này là có thể làm việc với tập huấn luyện bé, các phƣơng pháp này có cùng nhƣợc điểm đó là thời gian thực hiện lâu lơn, đặc biệt khi tập dữ liệu không nhãn càng lớn, hệ thống càng tiêu tốn thời gian thực hiện, do thời gian phân cụm dữ liệu và thời gian tính và bổ sung các thuộc tính mới.

Một nhƣợc điểm nữa trong phƣơng pháp của Kyriakopoulou, A., 5.3.3, là nếu chỉ đoán nhận một văn bản mới thì vẫn phải phần cụm lại toàn bộ dữ liệu cũng nhƣ tính toán các siêu thuộc tính đây là vấn đề rất tốn thời gian. Giải pháp cho vấn đề này hiên này là thực hiện phân cụm bổ sung (incremental clustering), để có thể cập nhật các cụm mà không phải phân cụm lại từ đầu. Thuật toán của Kyriakopoulou, A., đƣợc xem là dễ hiểu, dễ cài đặt hơn, phần tiếp theo của chƣơng này sẽ trình bày thực nghiệm và kết quả thực nghiệm trên tập Corpus Tiếng Việt, trình bảy ở 5.5, cho phƣơng pháp này, cũng nhƣ kết luận về tính khả thi trong việc áp dụng phân cụm vào phân loại văn bản tiếng Việt trong bối cảnh hiện nay.

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

Để kiểm tra tính hiệu quả của việc áp dụng phân cụm vào bài toán phân loại văn bản, thực nghiệm tiến hành thử nghiệm trên tập Corpus, trình bày ở 5.4. Thực nghiệm cũng tiến hành với các kích thƣớc của tập huấn luyện khác nhau từ bé đến lớn nhằm kiếm tra tính hiệu quả của phƣơng pháp bao gồm 2%, 5%, 10%, 25%, 50%, 75%, 90% (*) dữ liệu là có nhãn. Tại mỗi trƣờng hợp, thực nghiệm tƣơng ứng đƣợc thực hiện cho SVM thông thƣờng, không sử dụng phân cụm, để có kết quả đối sánh.

Thực nghiệm đƣợc tiến hành với 5 nhóm văn bản là Du lịch, Giáo dục, Kinh tế, Pháp luật, Thể thao, và đƣợc tiến hành qua các bƣớc:

Bước 1: Thực hiện phân đoạn từ và tạo các ma trân tƣơng ứng cho tập huấn luyện và kiểm thử, và xây dựng các ma trận thuộc tính cho tập dữ liệu huấn luyên và kiểm thử, cho từng trƣờng hợp nêu ở (*).

Bước 2: Sau đó tạo các siêu thuộc tính và tính trọng số cho chúng, và bổ sung vào các vector tƣơng ứng với mỗi tài liệu, sử dụng công cụ bổ trợ mở rộng tập dữ liệu sử dụng phân cụm, giới thiệu ở 7.6

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 57)