Tính các xác suất điều kiện từng lớp P(cj) (mỗi lớp làm ột diễn đàn chuyên đề) và các xác suất P(t k|cj) mà mỗi term tk trong Vocabulary thuộc về lớp cj

Một phần của tài liệu phát triển một số công cụ hỗ trợ phân tích, tổng hợp văn bản tiếng việt (Trang 45)

_ For mỗi lớp cj trong tập hợp lớp C do

_ docsj ← trích các văn bản thuộc lớp cj trong Samples đưa vào docsj _ P(cj ) =

Samples docsj

/*số văn bản lớp cj chia số văn bản tập Samples*/

_ n ← tính tổng số lần xuất hiện của các term trong docsj (kể cả trùng) /*n: tổng số lần xuất hiện của các term trong tập văn bản của lớp cj) */

_ For mỗi term tk trong Vocabulary do

_ P(tk|cj) = Vocabulary n nk + +1 /* xác suất term tk trong lớp cj */

Thuật tốn phân lớp Naive Bayes được thiết kế như sau:

Classify_naive_Bayes_text (Doc) /*tham số truyền vào là một văn bản Doc*/

_ positions ←Tìm tất cả danh từ, cụm danh từ trong Doc mà cĩ mặt trong Vocabulary (tập term) hoặc đồng nghĩa với các term trong Vocabulary (dựa vào từđiển đồng nghĩa) và đưa vào positions.

_ Gán P_min = xác suất nhỏ nhất của term trong Vocabulary /*tìm xác suất nhỏ nhất trong tất cả xác suất của các term trong Vocabulary đưa vào P_min*/

_ Tính và trả về xác suất cao nhất của lớp j nào đĩ trong các lớp của tập lớp C. Nếu term thứ i của Doc đồng nghĩa với term trong lớp cj, xác suất của term được tính bằng xác suất từđồng nghĩa). Nếu term thứ i của Doc khơng thuộc lớp cj thì xác suất được tính bằng P_min: cNB = ∏ ∈ ∈ positions i j i j C c P c P term c j ) | ( ) (

max /*termi : term thứ i của Doc*/

Sau khi thơng điệp (A) được phân lớp (xếp vào diễn đàn chuyên đề phù hợp nhất), kế tiếp chúng tơi chọn thơng điệp (B) trong số các thơng điệp của lớp này cĩ nội dung gần nhất với nội dung của thơng điệp A, xếp thơng điệp A vào chủ đề chứa thơng điệp B. Nếu một thơng điệp vẫn khơng xếp được vào lớp nào vì nội dung khơng phù hợp, ta ngầm định xếp thơng điệp đĩ vào một lớp mặc định (lớp này

được tạo ra để chứa các thơng điệp cĩ nội dung khơng phù hợp với các lớp trong mơ hình phân lớp), và xếp vào một chủđề mặc định.

Ví dụ: Cho ba lớp văn bản, giả sử sau khi chọn đặc trưng dựa trên ngưỡng, ta cĩ các

đặc trưng như bảng 4.2 và tổng sốđặc trưng của ba lớp = 15. Bảng 4.2. Bảng xác suất các đặc trưng của một ví dụ Lập trình C (số văn bản:27) Tổng số (86) Xác suất Xác suất (giữ nguyên) hàm 12 0.1287 =13/101 máy học 12 0.1287 =13/101 giải thuật 19 0.1980 = 20/101 bước 5 0.0594 = 6/101 thuật tốn 26 0.2673 = 27/101 số chẵn 6 0.0693 = 7/101 chương trình 6 0.0693 = 7/101 Trao đổi (số văn bản:30) Tổng số (37) tĩm tắt 3 0.0769 = 4/52 ý kiến 10 0.2115 = 11/52 quy định 9 0.1923 = 10/52 thơng báo 15 0.3076 = 16/52 Cơ sở dữ liệu (số văn bản:63) Tổng số (47) khĩa 18 0.3064 = 19/62 dạng chuẩn 8 0.1451 = 9/62 CSDL 15 0.2580 = 16/62 RBTV 6 0.1129 = 7/62 15 86 1 12 + + Vocabulary n nk + +1 = = 101 13 =

Văn bản D = ((tĩm tắt), (chương trình) (được) (viết) (bằng) (VC) (cài đặt) (thuật tốn) (tìm) (luật) (kết hợp)).

Chọn từ khĩa cho D (từ khĩa cĩ mặt trong bảng 5.1): ((tĩm tắt)(chương trình)(thuật tốn)).

Tìm xác suất thấp nhất trong các xác suất của tập đặc trưng: ⇒ xsmin = 0.0594

Khi một đặc trưng trong văn bản khơng cĩ trong lớp đĩ, ta khơng tính xác suất của

đặc trưng này bằng 0, thay vào đĩ xác suất của đặc trưng này được gán bằng xác suất min nhất cĩ thể (xsmin).

Xác suất văn bản D thuộc lớp ‘Lập trình C’:

P(‘Lập trình C’| D)=P(‘Lập trình C’)× xs(thuật tốn)× xs(chương trình)×xs(tĩm tắt) =(27/120) ×0.2673×0.0693×xsmin = 0.0002

Xác suất văn bản D thuộc lớp ‘Trao đổi’:

P(‘Trao đổi’| D) = P(‘Trao đổi’)×xs(thuật tốn)× xs(chương trình)×xs(tĩm tắt) = (30/120) × xsmin×xsmin×0.0769 = 0.0001

Xác suất văn bản D thuộc lớp ‘Cơ sở dữ liệu’ khơng tham gia vào quá trình chọn lớp cho văn bản D vì khơng cĩ đặc trưng nào nằm trong D.

Ỵ Văn bản D thuộc lớp ‘Lập trình C’ (xác suất lớn nhất)

Khi cài đặt chương trình, chúng tơi cải tiến việc tính tích các số thực rất nhỏ bằng cách lấy log (tích-các-xác-suất) = tổng (log(xác-suất-thành-phần)).

4.3.4. Đánh giá

Một sốđặc điểm của phương pháp Naive Bayes:

‰ Phương pháp học Naive Bayes tính các xác suất rõ ràng cho các giả

thiết bằng cách đếm tần suất của các kết hợp dữ liệu khác nhau trong tập dữ

liệu huấn luyện để tính xác suất.

‰ Mỗi mẫu học quan sát được cĩ thể giảm hoặc tăng xác suất dự đốn một giảđịnh là đúng đắn. Điều này cho ta một cách tiếp cận để thiết kế một hệ thống học uyển chuyển hơn các thuật tốn khác mà chúng loại trừ hồn tồn một giả định nếu nĩ thấy cĩ sự khơng nhất quán với bất kỳ mẫu đơn lẻ

nào.

‰ Kiến thức biết trước cĩ thể kết hợp với dữ liệu quan sát được để xác

định khả năng của một giảđịnh. Trong đĩ kiến thức biết trước cĩ được bằng cách: xác định một xác suất biết trước cho mỗi giả định ứng viên hoặc một phân phối xác suất trên tồn bộ dữ liệu quan sát được cho mỗi giảđịnh cĩ thể

cĩ.

‰ Phương pháp Naive Bayes cung cấp xác suất dự đốn. Mỗi thể hiện mới được phân lớp bằng cách kết hợp dựđốn của nhiều giảđịnh.

‰ Phương pháp học Naive Bayes cĩ tính tăng trưởng:

o Mỗi mẫu huấn luyện cĩ thể tăng/giảm dần khả năng đúng của một giả thiết.

o Ngay cả khi các phương pháp Naive Bayes khĩ trong tính tốn chúng vẫn cĩ thể cung cấp một chuẩn để tạo quyết định tối ưu so với các phương pháp khác.

o Phương pháp Naive Bayes phù hợp với các bài tốn cĩ yêu cầu về chi phí xuất hiện của giá trị các thuộc tính.

o Việc thiết kế hệ thống phân lớp trong thực tế thường dễ dàng hơn so với các phương pháp khác.

o Các thuộc tính trong tập mẫu học phải là độc lập điều kiện.

o Độ chính xác của thuật tốn phân lớp phụ thuộc nhiều vào tập dữ liệu học ban đầu.

4.4. XÂY DỰNG HỆ THỐNG PHÂN LỚP THƠNG ĐIỆP TRÊN DIỄN ĐÀN THẢO LUẬN THEO TIẾP CẬN NẠVE BAYES THẢO LUẬN THEO TIẾP CẬN NẠVE BAYES

4.4.1. Diễn đàn thảo luận

4.4.1.1 Vai trị ca din đàn

Hiện cĩ nhiều diễn đàn học tập trên Internet theo nhiều lĩnh vực khác nhau, trong đĩ cĩ diễn đàn cao học cơng nghệ thơng tin của ĐHQG-HCM.Tại đây, tất cả các sinh viên, học sinh cĩ thể trao đổi và học hỏi nhiều điều từ nhau và nhất là từ các Thầy Cơ và các chuyên gia cơng nghệ thơng tin giàu kinh nghiệm.

4.4.1.2 Diễn đàn IBF

Hiện nay diễn đàn “Invision Board Forum”, viết tắt IBF hay IPB (Invision Power Board) là một trong các diễn đàn được sử dụng rộng rãi. Diễn đàn IBF cung cấp nhiều tiện nghi nên được sử dụng nhiều. Diễn đàn cĩ mức độ bảo mật khá cao, tốc độ truy cập nhanh.

Diễn đàn IBF được viết trên PHP, với hệ quản trị cơ sở dữ liệu tùy chọn (MySQL, PostgreSQL, MS SQL Server hoặc MS Access). Trong đĩ, hệ quản trị cơ sở dữ liệu MySQL được sử dụng nhiều nhất.

Một phần của tài liệu phát triển một số công cụ hỗ trợ phân tích, tổng hợp văn bản tiếng việt (Trang 45)

Tải bản đầy đủ (PDF)

(131 trang)