Bayes là gì? Phân loại văn bản bằng Bayes

Bayes là gì? Phân loại văn bản bằng Bayes

1. Giới thiệu phương pháp phân loại đơn giản bằng Bayes.

Phương pháp phân loi Bayes đơn gin sdng trong trường hp mi ví dụ được cho bng tp các thuc tính <x1, x2, …, xn> và cn xác định nhãn phân loi y, y có thnhn giá trtmt tp nhãn hu hn C. Trong giai đon hun luyn, dliu hun luyn được cung cp dưới dng các mu <xi, yi>. Sau khi hun luyn xong, bphân loi cn dự đoán nhãn cho mu mi x

Theo lý thuyết hc Bayes, nhãn phân loi được xác định bng cách tính xác sut điu kin ca nhãn khi quan sát thy thp giá trthuc tính <x1, x2, …, xn>. Thuc tính được chn, ký hiu CMAP là thuc tính có xác sut điu kin cao nht (MAP là viết tt ca maximum a posterior), tc là:

Hai thành phn trong biu thc trên được tính tdliu hun luyn. Giá trP(cj) được tính bng tn sut quan sát thy nhãn cj trên tp hun luyn, tc là bng smu có nhãn là cj chia cho tng smu.

Vic tính P(x1, x2 ,…, xn | cj ) khó khăn hơn nhiu. Vn đề là sthp giá trca thuc tính cùng vi nhãn phân loi là rt ln khi n ln. Để tính xác sut này được chính xác, mi thp giá trthuc tính phi xut hin cùng nhãn phân loi đủ nhiu, trong khi smu hun luyn thường không đủ ln.
Vi githiết vtính độc lp xác sut có điu kin, có thviết:

Tức là xác sut đồng thi quan sát thy các thuc tính bng tích xác sut điu kin ca từng thuc tính riêng l. Thay vào biu thc trên, ta được bphân loi Bayes đơn gin (có đầu ra ký hiu là cNB) như sau:

Trong đó, P(xi | cj ) được tính tdliu hun luyn bng sln xi xut hin cùng vi cj chia cho sln cj xut hin. Vic tính xác sut này đòi hi ít dliu hơn nhiu so vi tính P(x1, x2,…, xn | c j ) .
Quá trình hc Bayes đơn gin là quá trình tính các xác sut P(cj) và các xác sut điu kiP(xi | c j ) bng cách đếm trên tp dliu. Hc Bayes đơn gin không đòi hi tìm kiếm trong không gian các bphân loi như đối vi trường hp hc cây quyết định.

2. Vấn đề tính xác xuất thực tế:

Phân loi Bayes đơn gin đòi hi tính các xác sut điu kin thành phn P(xi | c j ) . Xác sut này được tính bng nc / n, trong đó nc sln xi cj xut hin đồng thi trong tp hun luyn và là sln j xut hin.

Trong nhiu trường hp, giá trnc có thrt nh, thm chí bng không, và do vy nh hưởng ti độ chính xác khi tính xác sut điu kin. Nếu nc = 0, xác sut điu kin cui cùng sẽ bng không, bt kcác xác sut thành phn khác có giá trthế nào.

Để khc phc vn đề này, mt kthut được gi là làm trơn thường được sdng. Trong trường hp đơn gin nht, ta tính P(xi | c j ) = (nc + 1) /( n + 1). Trong trường hp chung, có thsử dng công thc được làm trơn sau:

Trong đó p là xác sut tin nghim ca xi m là tham scho phép xác định nh hưởng cp ti công thc. Nếu không có thêm thông tin gì khác thì xác sut tin nghim thường được tính = 1 / k, trong đó k là sthuc tính ca thuc tính Xi

3. Ứng dụng bayes trong phân loại văn bản.

Phân loi văn bn tự động là bài toán có nhiu ng dng thc tế. Trước tiên, cho mt tp hun luyn bao gm các văn bn. Mi văn bn có ththuc vào mt trong C loi khác nhau (ở đây ta không xét trường hp mi văn bn có ththuc vào nhiu loi khác nhau). Sau khi hun luyn xong, thut toán phân loi nhn được văn bn mi và cn xác định phân loi cho văn bn này. Ví d, vi các văn bn là ni dung thư đin t, thut toán có thphân loi thư thành “thư rác” và “thư bình thường”. Khi hun luyn, thut toán hc được cung cp mt tp thư rác và mt tp thư thường. Sau đó, da trên ni dung thư mi nhn, bphân loi stxác định đó có phi thư rác không. Mt ng dng khác là tự động phân chia bn tin thành các thloi khác nhau, ví d“chính tr”, “xã hi”, “ththao”.v.v. như trên báo đin t.

Phân loi văn bn tự động là dng ng dng trong đó phân loi Bayes đơn gin và các phương pháp xác sut khác được sdng rt thành công. Chương trình lc thư rác mã ngun mở SpamAssassin (http:// spamassassin.apache.org) là mt chương trình lc thư rác được sdng rng rãi vi nhiu cơ chế lc khác nhau, trong đó lc Bayes đơn gin là cơ chế lc chính được gán trng scao nht.

Sau đây ta sxem xét cách sdng phân loi Bayes đơn gin cho bài toán phân loi văn bn. Để đơn gin, ta sxét trường hp văn bn có thnhn mt trong hai nhãn: “rác” và “không”.

Để sdng phân loi Bayes đơn gin, cn gii quyết hai vn đề chyếu: thnht, biu din văn bn thế nào cho phù hp; thhai: la chn công thc cthcho bphân loi Bayes.

Cách thông dng và đơn gin nht để biu din văn bn là cách biu din bng “túi t” (bag-of-word). Theo cách này, mi văn bn được biu din bng mt tp hp, trong đó mi phn tca tp hp tương ng vi mt tkhác nhau ca văn bn. Để đơn gin, ở đây ta coi mi tlà mt đơn vngôn ngữ được ngăn vi nhau bi du cách. Lưu ý rng đây là cách đơn gin nht, ta cũng có ththêm sln xut hin thc tế ca ttrong văn bn. Cách biu din này không quan tâm ti vtrí xut hin ca ttrong văn bn cũng như quan hvi các txung quanh, do vy có tên gi là túi t. Ví d, mt văn bn có ni dung “Chia thư thành thư rác và thư thường” sẽ được biu din bi tp t{“chia”, “thư”, “thành”, “rác”, “và”, “thường”} vi sáu phn t.


Gi
thiết các tbiu din cho thư xut hin độc lp vi nhau khi biết nhãn phân loi, công thc Bayes đơn gin cho phép ta viết:

Các xác sut P(“rác”| cj) được tính ttp hun luyn như mô tả ở trên. Nhng tchưa xut hin trong tp hun luyn sbbqua, không tham gia vào công thc.

Cn lưu ý rng cách biu din và áp dng phân loi Bayes đơn gin cho phân loi văn bn va trình bày là nhng phương án đơn gin. Trên thc tế có rt nhiu biến thkhác nhau ctrong vic chn t, biu din văn bn bng các t, cũng như công thc tính xác sut điu kin ca văn bn.

Mc dù đơn gin, nhiu thnghim cho thy, phân loi văn bn tự động bng Bayes đơn gin có độ chính xác khá cao. Trên nhiu tp dliu thư đin t, tlphân loi chính xác thư rác có thể đạt trên 98%. Kết qunày cho thy, mc dù githiết các từ độc lp vi nhau là không thc tế, độ chính xác phân loi vn ca Bayes đơn gin không bị ảnh hưởng đáng k.

Bài viết này mình trích hoàn toàn từ giáo trình trí tuệ nhân tạo của thầy Từ Minh Phương (Học viên công nghệ bưu chính viễn thông)
Các bạn có thể download bài giảng đầy đủ tại đây

Phần tiếp theo: Chương trình lọc thư rác bằng ngôn ngữ Java

stackjava.com