Gán nhãn từ loại Lê Thanh Hương Bộ môn Hệ thống Thông tin Viện CNTT &TT – Trường ĐHBKHN Email: huonglt@soict.vn 1 Định nghĩa ⚫ Gán nhãn từ loại (Part of Speech tagging - POS tagging): mỗi từ trong câu được gán nhãn thẻ từ loại tương ứng của nó ⚫ Vào : 1 đoạn văn bản đã tách từ + tập nhãn ⚫ Ra: cách gán nhãn chính xác nhất Ví dụ 1 Ví dụ 2 Ví dụ 3 Ví dụ 4 Ví dụ 5 ➢ Gán nhãn làm cho việc phân tích văn bản dễ dàng hơn 2 Tại sao cần gán nhãn? ⚫ Dễ thực hiện: có thể thực hiện bằng nhiều phương pháp khác nhau ⚫ Các phương pháp sử dụng ngữ cảnh có thể đem lại kết quả tốt ⚫ Mặc dù nên thực hiện bằng phân tích văn bản ⚫ Các ứng dụng: ⚫ Text-to-speech: record - N: [‘reko:d], V: [ri’ko:d]; lead – N [led], V: [li:d] ⚫ Tiền xử lý cho PTCP. PTCP thực hiện việc gán nhãn tốt hơn nhưng đắt hơn ⚫ Nhận dạng tiếng nói, PTCP, tìm kiếm, v.v… ⚫ Dễ đánh giá (có bao nhiêu thẻ được gán nhãn đúng?) 3 Tập từ loại tiếng Anh ⚫ Lớp đóng (các từ chức năng): số lượng cố định ⚫ Giới từ (Prepositions): on, under, over,… ⚫ Tiểu từ (Particles): abroad, about, around, before, in, instead, since, without,… ⚫ Mạo từ (Articles): a, an, the ⚫ Liên từ (Conjunctions): and, or, but, that,… ⚫ Đại từ (Pronouns): you, me, I, your, what, who,… ⚫ Trợ động từ (Auxiliary verbs): can, will, may, should,… ⚫ Lớp mở: có thể có thêm từ mới 4 Lớp từ mở trong tiếng Anh Proper nouns: IBM, Colorado nouns count nouns: book, ticket common nouns mass nouns: snow, salt auxiliaries verbs. open class Color: red, white adjectives Age: old, young Value: good, bad Locatives adverbs: home, here, downhill Degree adverbs: extremely, very, somewhat adverbs Manner adverbs: slowly, delicately Temporal adverbs: yesterday, Monday 5 Tập nhãn cho tiếng Anh ⚫ tập ngữ liệu Brown: 87 nhãn ⚫ 3 tập thường được sử dụng: ➢ Nhỏ: 45 nhãn - Penn treebank (slide sau) ➢ Trung bình: 61 nhãn, British national corpus ➢ Lớn: 146 nhãn, C7 6 7 I know that blocks the sun. He always books the violin concert tickets early.
8 He says that book is interesting. Penn Treebank – ví dụ ⚫ The grand jury commented on a number of other topics. The/DT grand/JJ jury/NN commented/VBD on/IN a/DT number/NN of/IN other/JJ topics/NNS. 9 Khó khăn trong gán nhãn từ loại? … là xử lý nhập nhằng 10 Các phương pháp gán nhãn từ loại ⚫ Dựa trên xác suất: dựa trên xác suất lớn nhất, dựa trên mô hình Markov ẩn (hidden markov model – HMM) Pr (Det-N) > Pr (Det-Det) ⚫ Dựa trên luật If <mẫu> Then … <gán nhãn thẻ từ loại> 11 Các cách tiếp cận ⚫ Sử dụng HMM : “Sử dụng tất cả thông tin đã có và đoán” ⚫ Dựa trên ràng buộc ngữ pháp: “không đoán, chỉ loại trừ những khả năng sai” ⚫ Dựa trên chuyển đổi: “Đoán trước, sau đó có thể thay đổi” 12 Gán nhãn dựa trên xác suất Cho câu hoặc 1 xâu các từ, gán nhãn từ loại thường xảy ra nhất cho các từ trong xâu đó.
Cách thực hiện: ⚫ Hidden Markov model (HMM): Chọn thẻ từ loại làm tối đa xác suất: P(từ|từ loại)•P(từ loại| n từ loại phía trước) The/DT grand/JJ jury/NN commented/VBD on/IN a/DT number/NN of/IN other/JJ topics/NNS. Secretariat/NNP is/VBZ expected/VBN to/TO race/VB tomorrow/NN 2. People/NNS continue/VBP to/TO inquire/VB the/DT reason/NN for/IN the/DT race/NN for/IN outer/JJ space/NN ⚫ Không thể đánh giá bằng cách chỉ đếm từ trong tập ngữ liệu (và chuẩn hóa) ⚫ Muốn 1 động từ theo sau TO nhiều hơn 1 danh từ (to race, to walk). Nhưng 1 danh từ cũng có thể theo sau TO (run to school) 16 Giả sử chúng ta có tất cả các từ loại trừ từ race ⚫ Chỉ nhìn vào từ đứng trước(bigram): to/TO race/??? NN or VB? the/DT race/??? ⚫ Áp dụng (2): ti = argmaxj P(tj | ti-1 )P(wi | tj ) ⚫ Chọn thẻ có xác suất lớn hơn giữa 2 xác suất: P(VB|TO)P(race|VB) hoặc P(NN|TO)P(race|NN) xác suất của 1 từ là race khi biết từ loại là VB.
17 I/PP know/VBP that/WDT block/NN blocks/NNS?VBZ? the/DT sun/NN. Tính xác suất Xét P(VB|TO) và P(NN|TO) ⚫ Từ tập ngữ liệu Brown P(NN|TO)= .000007 ➢ race cần phải là động từ nếu đi sau “TO” 18 Bài tập ti = argmaxj P(tj | ti-1 )P(wi | tj ) ⚫ I know that blocks the sun. ⚫ He always books the violin concert tickets early. ⚫ He says that book is interesting.
⚫ I/PP know/VBP that/WDT blocks/NNS block/VBP the/DT sun/NN. ⚫ I/PP know/VBP that/WDT blocks/VBZ the/DT sun/NN. ⚫ He/PP always/RB books/VBZ the/DT violin/NN concert/NN tickets/NNS early/RB. ⚫ He/PP says/VBZ that/WDT book/NN is/VBZ interesting/JJ.
⚫ I know that block blocks the sun. ⚫ I/PP know/VBP that/DT block/NN blocks/NNS?VBZ? the/DT sun/NN. 19 ⚫ I/PP know/VBP that/WDT block/NN blocks/VBZ the/DT sun/NN. Mô hình đầy đủ ⚫ Chúng ta cần tìm chuỗi thẻ tốt nhất cho toàn xâu ⚫ Cho xâu từ W, cần tính chuỗi từ loại có xác suất lớn nhất T=t1, t2 ,…, tn hoặc, Tˆ = arg max P(T | W ) T (nguyên lý Bayes) 20 Mở rộng sử dụng luật chuỗi P(A,B) = P(A|B)P(B) = P(B|A)P(A) P(A,B,C) = P(B,C|A)P(A) = P(C|A,B)P(B|A)P(A) = P(A)P(B|A)P(C|A,B) P(A,B,C,D…) = P(A)P(B|A)P(C|A,B)P(D|A,B,C.wi −1ti −1ti ) P (ti |w1t1.wi −1ti −1 ) i =1 pr từ lịch sử nhãn 21 Giả thiết trigram ⚫ Xác suất 1 từ chỉ phụ thuộc vào nhãn của nó P( wi | w1t 1.ti −1ti ) = P( wi | ti ) ⚫ Ta lấy lịch sử nhãn thông qua 2 nhãn gần nhất (trigram: 2 nhãn gần nhất + nhãn hiện tại) P(ti | w1t 1.
Tại mỗi bước, chọn k giá trị tốt nhất ( ). Mỗi giá trị trong k giá trị này ứng với 1 khả năng kết hợp nhãn của tất cả các từ 2. Khi gán từ tiếp theo, tính lại xác suất. Quay lại bước 1 ⚫ Ưu: nhanh (không cần kiểm tra tất cả các khả năng kết hợp, chỉ k cái tiềm năng nhất) ⚫ Nhược: có thể không trả về kết quả tốt nhất mà chỉ chấp nhận được 27 Độ chính xác ⚫ > 96% ⚫ Cách đơn giản nhất? 90% ⚫ Gán mỗi từ với từ loại thường xuyên nhất của nó ⚫ Gán từ chưa biết = danh từ ⚫ Người: 97%+/- 3%; nếu có thảo luận: 100% 28 Cách tiếp cận thứ 2: gán nhãn dựa trên chuyển đổi Transformation-based Learning (TBL): ⚫ Kết hợp cách tiếp cận dựa trên luật và cách tiếp cận xác suất: sử dụng học máy để chỉnh lại thẻ thông qua vài lần duyệt ⚫ Gán nhãn sử dụng tập luật tổng quát nhất, sau đó đến tập luật hẹp hơn, thay đổi một số nhãn, và tiếp tục 29 Transformation-based painting 30 Transformation-based painting 31 Transformation-based painting 32 Transformation-based painting 33 Transformation-based painting 34 Transformation-based painting 35 Ví dụ với TBL 36 Ví dụ với TBL 1.
Gán mọi từ với nhãn thường xuất hiện nhất (thường độ chính xác khoảng 90% ). Từ tập ngữ liệu Brown: P(NN|race)= 0. …expected/VBZ to/ TO race/VB race/NN tomorrow/NN …the/DT race/NN for/IN outer/JJ space/NN 3. Sử dụng luật chuyển đổi: Thay NN bằng VB khi thẻ trước đó là TO pos: ‘NN’>’VB’ pos: ‘TO’ @[-1] o 37 Luật gán nhãn từ loại 38 Luật gán nhãn từ loại 39 Học luật TB trong hệ thống TBL 40 Các tập ngữ liệu ⚫ Tập huấn luyện w0 w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 ⚫ Tập ngữ liệu hiện tại (CC 1) dt vb nn dt vb kn dt vb ab dt vb ⚫ Tập ngữ liệu tham khảo dt nn vb dt nn kn dt jj kn dt nn 41 Khuôn dạng cho luật gán nhãn từ loại ⚫ Trong TBL, chỉ các luật thỏa khuôn dạng mới được học.
⚫ Ví dụ: các luật tag:'VB'>'NN' tag:'DT'@[-1]. tag:’NN’>’VB' tag:'DT'@[-1]. thỏa khuôn dạng tag:A>B tag:C@[-1]. ⚫ Có thể tạo khuôn dạng sử dụng các biến vô danh tag:_>_ tag:_@[-1].
42 Học luật TB trong hệ thống TBL 43 Điểm, độ chính xác, ngưỡng ⚫ Điểm của 1 luật: score(R) = |pos(R)| - |neg(R)| ⚫ Độ chính xác: ⚫ Threshold: ngưỡng mà độ chính xác của 1 luật cần vượt qua để có thể được lựa chọn. ⚫ Trong TBL, ngưỡng của độ chính xác thường < 0. 44 Sinh và tính điểm cho luật ứng viên 1 ⚫ Template = tag:_>_ tag:_@[-1] ⚫ R1 = tag:vb>nn tag:dt@[-1] ⚫ pos(R1) = 3 ⚫ neg(R1) = 1 ⚫ score(R1) = pos(R1) - neg(R1) = 3-1 = 2 45 Sinh và tính điểm cho luật ứng viên 2 ⚫ Template = tag:_>_ tag:_@[-1] ⚫ R2 = tag:nn>vb tag:vb@[-1] ⚫ pos(R2) = 1 ⚫ neg(R2) = 0 ⚫ score(R2) = pos(R2) - neg(R2) = 1-0 = 1 46 Học luật TB trong hệ thống TBL 47 Chọn luật tốt nhất ⚫ Thứ hạng hiện tại của luật ứng viên R1 = tag:vb>nn tag:dt@[-1] Score = 2 R2 = tag:nn>vb tag:vb@[-1] Score = 1 … ⚫ Nếu score threshold =< 2 thì chọn R1 ⚫ ngược lại nếu score threshold > 2, dừng 48 Tối ưu hóa việc chọn luật tốt nhất ⚫ Giảm dư thừa luật: chỉ sinh các luật ứng viên phù hợp ít nhất với 1 dữ liệu trong tập luyện. ⚫ Đánh giá tăng cường: ⚫ Lưu vết của các luật ứng viên tốt nhất ⚫ Bỏ qua các luật phù hợp với số lượng mẫu < score của luật tốt nhất 49 Ưu điểm của TBL ⚫ Luật có thể được tạo thủ công ⚫ Luật dễ hiểu và logic ⚫ Dễ cài đặt ⚫ Có thể chạy rất nhanh (nhưng cài đặt thì phức tạp) 50