Trích chọn đặc trƣng và xác định nhãn

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải thuật học cộng tác (co training) và ứng dụng vào bài toán khai phá quan điểm (Trang 42 - 51)

Để chọn ra đƣợc hai đặc trƣng làm khung nhìn cho thuật tốn Co-training, việc trích chọn đặc trƣng đƣợc thực hiện trên nhiều đặc trƣng nhất cĩ thể. Sau khi qua huấn luyện và đánh giá dựa trên học cĩ giám sát, 2 đặc trƣng cĩ độ chính xác cao nhất đƣợc chọn làm khung nhìn cho Co-training. Việc đánh giá so sánh giữa học cĩ giám sát và bán giám sát sẽ đƣợc thực hiện dựa trên kết quả phân lớp trên 2 khung nhìn này.

Các mục từ 3.3.1 đến 3.3.4 dƣới đây sẽ trình bày về 4 loại đặc trƣng đƣợc sử dụng trong luận văn này. Do bài tốn khai phá quan điểm đƣợc thực hiện ở mức câu nên tồn bộ các đặc trƣng sẽ đƣợc trích chọn ở mức câu và việc xác định các nhãn cũng đƣợc thực hiện cho câu thay vì mức tài liệu nhƣ thơng thƣờng.

3.3.1. Đặc trưng SentiWordNet Score (SS)

Trong cách biểu diễn câu dƣới dạng vector đặc trƣng SS, mỗi câu sẽ đƣợc biểu diễn dƣới dạng 1 vector cĩ các thành phần là các bộ 3 giá trị SentiWordNet của từng từ cĩ độ dài lớn hơn 1 ký tự trong câu.

Tùy thuộc vào việc sắp xếp thứ tự các bộ 3 (hay thứ tự các từ trong câu) này trong vector mà ta cĩ 2 vector SS nhƣ sau:

- Cách 1 (SS2): sắp xếp theo thứ tự xuất hiện của các từ trong câu. - Cách 2 (SS3): sắp xếp các từ trong câu theo thứ tự từ điển.

Ví dụ với câu s = „As a former board member, the success of the YMCA is still important to me.‟, ta cĩ danh sách các từ cĩ độ dài hơn 1 ký tự trong câu cùng với bộ 3 giá trị SentiWordNet tƣơng ứng nhƣ trong Bảng 3.1.

Bảng 3.1 Bảng danh sách các từ cùng với bộ 3 giá trị SentiWordNet.

Từ cĩ độ dài > 1

Bộ 3 giá trị SentiWordNet Pos.Score Neg.Score Obj.Score

As 0,0 0,0 1,0 former 0,0 0,125 0,875 board 0,0 0,0 1,0 member 0,0 0,0 1,0 the 0,0 0,0 1,0 success 0,125 0,0 0,875 of 0,0 0,0 1,0 the 0,0 0,0 1,0 YMCA 0,0 0,0 1,0 is 0,0 0,0 1,0 still 0,0 0,125 0,875 important 0,875 0,0 0,125 to 0,0 0,0 1,0 me 0,0 0,0 1,0

Nếu sắp xếp các bộ 3 này vào vector theo thứ tự xuất hiện của từ trong câu (SS2), ta cĩ:

vector_ss2 = (0,0; 0,0; 1,0; 0,0; 0,125; 0,875; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,125; 0,0; 0,875; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,0; 0,125; 0,875; 0,875; 0,0; 0,125; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0)

Khi đƣợc sắp xếp theo thứ tự từ điển của từ trong câu (SS3), ta cĩ:

vector_ss3 = (0,0; 0,125; 0,875; 0,0; 0,0; 1,0; 0,0; 0,125; 0,875; 0,875; 0,0; 0,125; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,0; 0,125; 0,875; 0,125; 0,0; 0,875; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0; 0,0; 0,0; 1,0)

Thống kê từ loại xuất hiện trong câu, mỗi câu sẽ đƣợc biểu diễn dƣới dạng 1 vector gồm các thành phần là tần số xuất hiện của từng từ loại theo thứ tự liệt kê trong Vector_PS.

Vector_PS = ('NN', 'DT‟, „NNP‟, „IN‟, „JJ‟, „NNS‟, „,‟, „.‟, „VB‟, „VBD‟, „VBN‟, „RB‟, „CC‟, „TO‟, „PRP‟, „VBZ‟, „VBG‟, „CD‟, „VBP‟, „MD‟, „PRP$‟, „WDT‟, „:‟, „NNPS‟, „(„, „)‟, „WP‟, „WRB‟, „JJR‟, „EX‟, „JJS‟, „RBR‟, „RBS‟, „FW‟, „WP$‟, „UH')

Việc sắp xếp các từ loại nhƣ trong Vector_PS là theo tần số xuất hiện giảm dần của chúng trong tập ORI. Chi tiết của các kí hiệu từ loại trong

Vector_PS đƣợc nêu trong Bảng 3.2. Việc sắp xếp nhƣ vậy tạo thuận tiện cho việc trích chọn các vector PS khác nhau bằng cách loại bỏ 0 hay nhiều thành phần cuối khỏi Vector_PS trong thống kê.

Bảng 3.2 Bảng mơ tả chi tiết các kí hiệu từ loại.

Kí hiệu từ loại

Mơ tả Ví dụ

CC Liên từ nối and, or, but

CD Số từ số lƣợng five, three, 13%

DT Từ hạn định the, a, these

EX “there” chỉ tồn tại there were six boys

FW Từ mƣợn nƣớc ngồi mais

IN Liên từ chỉ phụ thuộc hoặc giới từ of, on, before, unless

JJ Tính từ nice, easy

JJR Tính từ so sánh hơn nicer, easier

JJS Tính từ so sánh nhất nicest, easiest

MD Động từ hình thái may, should

NN Danh từ số ít hoặc khơng đếm đƣợc tiger, chair, laughter

NNS Danh từ số nhiều tigers, chairs, insects

NNP Danh từ chỉ tên riêng số ít Germany, God, Alice

NNPS Danh từ chỉ tên riêng số nhiều we met two Christmases ago

PRP Đại từ chỉ ngƣời me, you, it

PRP$ Đại từ sở hữu my, your, our

RB Trạng từ extremely, loudly, hard

RBR Trạng từ so sánh hơn better

RBS Trạng từ so sánh nhất best

RP Tiền/hậu tố của trạng từ about, off, up

VB Động từ nguyên thể think

VBZ Động từ, ngơi thứ 3 số ít chỉ ngƣời thì hiện tại.

she thinks

VBP Động từ, khơng phải ngơi thứ 3 số ít chỉ ngƣời thì hiện tại.

I think

VBD Động từ, quá khứ đơn they thought

VBN Động từ, quá khứ phân từ a sunken ship

VBG Danh động từ thinking is fun

WDT wh- hạn định which, whatever, whichever

WP wh-đại từ chỉ ngƣời what, who, whom

WP$ wh-đại từ sở hữu whose, whosever

WRB wh-trạng từ where, when

. Ngắt câu, kết thúc câu .;?*

, Ngắt câu, dấu phẩy ,

: Ngắt câu, dấu hai chấm :

( Tách ngữ cảnh, mở ngoặc (

) Tách ngữ cảnh, đĩng ngoặc )

Để xem xét cách chọn vector PS nào là hiệu quả nhất, thực nghiệm đƣợc tiến hành với 10 cách chọn vector PS khác nhau. Tƣơng ứng với việc loại bỏ 0 đến 9 thành phần cuối cùng khỏi Vector_PS nhƣ sau:

- PS0: vector sẽ gồm 36 – 0 = 36 thành phần (thống kê tồn bộ các từ loại trong Vector_PS).

- PS1: vector sẽ gồm 36 – 1 = 35 thành phần (loại bỏ giá trị thống kê của từ loại cuối cùng trong Vector_PS).

- …

- PS9: vector sẽ gồm 36 – 9 = 27 thành phần (loại bỏ 9 giá trị thống kê của 9 từ loại cuối cùng trong Vector_PS.)

Ví dụ, cho câu s = „As a former board member, the success of the YMCA is still important to me.‟. Việc tìm vector_ps0 đƣợc thực hiện nhƣ sau:

- Bƣớc 1: xác định từ loại của từng từ trong câu, đƣợc kết quả nhƣ trong Bảng 3.3.

- Bƣớc 2: theo khung của Vector_PS, thống kê các giá trị cho từng từ loại trong Vector_PS. Kết quả là:

vector_ps0 = (3, 3, 1, 2, 2, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

Các vector vector_ps* khác vector_ps0 đƣợc xác định bằng cách loại bỏ * thành phần cuối của vector_ps0.

Bảng 3.3. Xác định từ loại của các từ trong câu.

Từ Kí hiệu từ loại As IN a DT former JJ board NN member NN , , the DT success NN of IN the DT YMCA NNP is VBZ still RB important JJ to TO me PRP . .

3.3.3. Đặc trưng Word Count (WC)

Vector đặc trƣng WC đƣợc tạo thành bằng cách thống kê số lần xuất hiện của từng từ trong câu sau khi loại bỏ từ dừng. Thứ tự sắp xếp các thành phần của vector theo thứ tự từ điển – gọi là vector WC2.

Cách trích xuất vector đặc trƣng WC2 của câu s nhƣ sau: - Bƣớc 1: Loại bỏ tất cả các từ dừng khỏi s.

- Bƣớc 2: Sắp xếp các từ trong s theo thứ tự từ điển.

- Bƣớc 3: Các thành phần của vector cần xác định là thống kê số lần xuất hiện của từng từ trong s theo thứ tự đã đƣợc sắp xếp. Ví dụ với câu thứ 2 trong tập ULA:

s = „As a former board member, the success of the YMCA is still important to me.‟

Sau khi loại bỏ từ dừng, ta cĩ:

s = „former board success ymca„

Sắp xếp s theo thứ tự từ điển, ta đƣợc:

s = „board former success ymca‟

Thống kê số lần xuất hiện của từng từ trong s là [('board', 1), ('former', 1), ('success', 1), ('ymca', 1)].

Suy ra, vector_wc2 = (1, 1, 1, 1)

3.3.4. Đặc trưng TFIDF

Đặc trƣng TFIDF liên quan đến việc đếm số từ trong một câu cũng nhƣ trong tất cả các câu trong tập câu đang xét (tập huấn luyện hoặc tập đánh giá) và thống kê số lần xuất hiện của một từ trong một câu cũng nhƣ trong tất cả các câu.

Các thơng số đo liên quan đến việc tính TFIDF đƣợc liệt kê trong Bảng 3.4.

Bảng 3.4. Các thơng số liên quan đến đặc trưng TFIDF

Thơng số Viết tắt của Cách tính

C Số lần xuất hiện của một từ trong một câu

T Tổng số từ của một câu D Tổng số câu TF Term Frequency C / T DF Document Frequency Số câu chứa một từ

IDF Inverse Document Frequency

(D / DF)

(sử dụng cơng thức cơ bản)

TFIDF TF * IDF

Tĩm lại, ta cĩ cơng thức tính TFIDF của một từ term trong câu sentence

nhƣ sau:

Khi tính vector TFIDF của một câu s, phải xét câu đĩ trong một tập câu nhất định, ví dụ là tập câu TC. Gọi TT là tập tất cả các từ của các câu thuộc TC. Số thành phần của vector TFIDF bằng |TT|. Những từ thuộc s thì thành phần tƣơng ứng của chúng trong vector TFIDF của s đƣợc tính theo các cơng thức trong Bảng 3.4. Những từ khơng thuộc s thì thành phần tƣơng ứng của chúng trong vector bằng 0. Do |TA| thƣờng rất lớn, cho nên việc cài đặt tính vector TFIDF trong thực nghiệm khơng tính đến từ dừng, nghĩa là tập TA khơng chứa từ dừng và khơng cĩ thành phần vector tƣơng ứng với từ dừng trong các vector đặc trƣng TFIDF mức câu.

Ví dụ, cho tập câu gồm 2 câu sau: Câu thứ nhất, s1 = „I have a dream.‟

Câu thứ hai, s2 = „The dream is horrible.‟ TC = {s1, s2}

Khi đĩ, tập từ thuộc TC khơng tính từ dừng: TA = {'dream', 'horrible'}

Vector TFIDF của s1s2 sẽ cĩ số thành phần bằng số phần tử thuộc TA

là 2, và đƣợc tính nhƣ trong Bảng 3.5 và Bảng 3.6.

Bảng 3.5. Thơng số TFIDF của những từ thuộc câu s1.

Câu ‘I have a dream.

Từ C T TF D DF IDF TFIDF

dream 1 1 1 2 2 1 1

Suy ra, vector_tfidf(s1) = (TFIDF(„dream‟, s1), TFIDF(„horrible‟, s1) vector_tfidf(s1) = (1, 0)

Bảng 3.6. Thơng số TFIDF của những từ thuộc câu s2.

Câu ‘The dream is horrible.

Từ C T TF D DF IDF TFIDF

dream 1 2 0,5 2 2 1 0.5

horrible 1 2 0,5 2 1 2 1

Suy ra, vector_tfidf(s2) = (TFIDF(„dream‟, s2), TFIDF(„horrible‟, s2) vector_tfidf(s2) = (0.5, 1)

Trong Bảng 3.5 và Bảng 3.6, cột Từ là cột chỉ từ thuộc câu đang xét và

thuộc tập TA.

3.3.5. Xác định nhãn về tính chủ quan (sự tồn tại cảm nghĩ)

Các đánh dấu đƣợc mơ tả trong mục 3.2.1 là các đánh dấu ở mức cụm từ (expression-level annotations), thấp hơn so với mức câu. Để xác định tính chủ quan của một câu, ta xác định tất cả các đánh dấu nằm trong phạm vi câu đĩ. Các đánh dấu trong phạm vi một câu cĩ thể khác nhau về tính chủ quan giữa các cụm từ. Số lƣợng cụm từ đƣợc đánh dấu chủ quan cĩ thể khác nhau giữa các câu. Tuy nhiên, theo Wiebe, Wilson, Cardie (2005) thì việc xác định tính chủ quan của câu dựa trên sơ đồ đánh dấu này đƣợc thực hiện khá chính xác nếu theo định nghĩa sau.

Một câu được gọi là chủ quan (câu cĩ chứa cảm nghĩ) nếu thỏa mãn i HOẶC ii:

i. Câu chứa một đánh dấu "GATE_direct-subjective" CĨ thuộc tính intensity KHƠNG THUỘC ['low', 'neutral'] VÀ KHƠNG CĨ thuộc tính insubstantial.

ii. Câu chứa một đánh dấu "GATE_expressive-subjectivity" CĨ thuộc tính intensity KHƠNG THUỘC ['low'].

Ngược lại, câu được xem là câu khách quan.

3.3.6. Xác định nhãn về tính phân cực cảm nghĩ

Việc xác định tính phân cực cảm nghĩ của một câu là phân loại câu thuộc 1 trong 3 loại: Tích cực (POS), Tiêu cực (NEG) và Trung lập (NEU).

Tính phân cực cảm nghĩ của một câu đƣợc xác định dựa trên tập đánh dấu của câu theo luật sau [3]:

( ) { ( ) ( ) ( ) ( ) ( ) ( ) ( ) Trong đĩ:

là tập đánh dấu của tất cả các cụm từ trong phạm vi câu s.

Tham số đƣợc thiết lập giá trị 0,5 vì giả định rằng tất cả các câu đƣợc đƣa vào bộ phân lớp phân cực cảm nghĩ đều là câu chứa cảm nghĩ (chủ quan).

3.4. Tiền xử lý dữ liệu

Tiền xử lý là bƣớc xử lý đầu tiên làm tiền đề cho các bƣớc xử lý kế tiếp. Ở bƣớc này, dữ liệu từ kho MPQA2.0 đƣợc truy xuất và xử lý theo từng tập con tƣơng ứng. Kết quả của bƣớc này là các file câu/đặc trƣng/nhãn theo từng tập con. Mơ hình xử lý của bƣớc tiền xử lý đƣợc mơ tả trong Hình 3.4.

Hình 3.4. Tiền xử lý dữ liệu

Ví dụ với tập ORI, các file kết quả của tiền xử lý bao gồm: 1 file câu dùng để debug trong quá trình thực nghiệm, 14 file đặc trƣng (2 đặc trƣng SS, 10 đặc trƣng PS, 1 đặc trƣng WC, 1 đặc trƣng TFIDF), 2 file nhãn (nhãn về tính chủ quan và nhãn về tính phân cực cảm nghĩ).

Ngồi ra, kho MPQA2.0 cũng cĩ chứa một số câu trong vài file bị lỗi về mã kí tự hoặc lỗi thiếu dữ liệu. Bƣớc tiền xử lý giải quyết trƣờng hợp này bằng cách loại bỏ câu bị lỗi mã kí tự ra khỏi kho (làm bằng tay) hoặc gán giá trị mặc định (thực hiện tự động).

3.5. Chuẩn bị dữ liệu

Chuẩn bị dữ liệu là tổ chức dữ liệu dùng cho từng thực nghiệm theo định dạng của thƣ viện LibSVM (nêu trong mục 3.6.1).

Hình 3.5. Chuẩn bị dữ liệu

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải thuật học cộng tác (co training) và ứng dụng vào bài toán khai phá quan điểm (Trang 42 - 51)