ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BÀI TẬP LỚN
Môn: Xử Lý Ngôn Ngữ Tự Nhiên
Đề tài: Phân nhóm văn bản sử dụng phương pháp học Naïve Bayes
GV hướng dẫn: PGS.TS Lê Thanh Hương
Sinh viên thực hiện:
Phạm Chiến Thắng 20082485
Nguyễn Mạnh Hoằng 20081088
Đinh Đức Tân 20082311
Nguyễn Tuấn Anh 20080075
Hà Nội 04/2012
Contents
1
Contents 1
I.Mô tả bài toán 3
II.Phương pháp giải quyết bài toán 4
1. Vector biểu diễn văn bản 4
2.Phân loại Naïve Bayes 4
3.Kịch bản ứng dụng 6
III.Giao diện, chức năng chương trình 8
1.Chức năng phân tách và trainning dataset 8
2.Chức năng kiểm thử 9
3.Chức năng phân loại văn bản 11
IV.Đánh giá độ chính xác phân loại 13
V.Kết luận 15
VI.Phụ lục 15
2
I. Mô tả bài toán.
Ngày nay cùng với sự phát triển ngày càng nhanh của internet là nhu cầu tìm
5 Molecular-Sequence-Data
6 Pregnancy
7 Prognosis
8 Receptors
9 Risk-Factors
10 Tomography
2. Phân loại Naïve Bayes.
Biểu diễn bài toán phân loại:
Một tập học D_train, trong đó mỗi ví dụ học x được biểu diễn là một
vector n+1 chiều (keyword[1], keyword[2], …, keyword[n], label).
Tập các nhãn lớp (label) C = { Antibodies , Carcinoma , DNA, In-
Vitro, Molecular-Sequence-Data, Pregnancy, Prognosis, Receptors,
Risk-Factors, Tomography}.
Với một ví dụ mới z, thì z sẽ được phân vào lớp nào?
4
Mục tiêu: xác định phân lớp phù hợp nhất với z
b
Để tìm được phân lớp có thể nhất đối với z
Giả sử trong phân loại Naïve Bayes: xác suất từ khóa t
j
xuất hiện đối với lớp
c
i
là độc lập đối với vị trí của từ khóa đó trong văn bản.
Đối với mỗi phân lớp c
j
và phân lớp c
i
.
Trong dataset nhóm sử dụng có số thuộc tính rất lớn nên:
Giải pháp: sử dụng hàm logarit cho các giá trị xác suất:
3. Kịch bản ứng dụng.
Giai đoạn học (trainning phase), sử dụng một tập học. Đối với mỗi phân lớp
có thể (mỗi nhãn lớp) c
i
∈ C:
Tính giá trị xác suất trước: P(c
i
).
Đối với mỗi giá trị thuộc tính x
j
, tính giá trị xác suất xảy ra của giá trị
thuộc tính đó đối với một phân lớp c
i
: P(x
j
|c
i
)
Giai đoạn phân lớp (classification phase), đối với một ví dụ mới:
Đối với mỗi phân lớp c
i
3. Chức năng phân loại văn bản.
Chức năng này sẽ thực hiện phân loại văn bản thực đã qua bước tiền xử lý.
Kết quả được lưu vào CSDL và trình bày cho người dùng xem dưới dạng:
Trong đó bảng “Result on real data” cho biết tên văn bản, nhãn đầu vào và
nhãn được ứng dụng gán cho dựa vào giải thuật.
11
Khi bấm vào “More detail…” hệ thống sẽ cho biết thông tin chi tiết về văn
bản gồm: nội dung văn bản, các từ khóa xuất hiện trong tập từ khóa, xác suất
phân loại với các nhãn lớp.
12
IV. Đánh giá độ chính xác phân loại.
a. Phương pháp đánh giá.
Trong chương trình phân loại nhóm em sử dụng phương pháp đánh giá
Hold-out (Splitting). Việc lựa chọn phương pháp đánh giá này của nhóm là phù
hợp với bộ dataset tương đối lớn (|D| = 11162).
Khi thực hiện kiểm thử, chương trình cho phép người dùng lựa chọn tỉ lệ
trong việc phân tách tập dữ liệu D thành D_train và D_test với các lựa chọn
70%-30%, 60%-40%, 50%-50%, 40%-60%.
b. Độ chính xác phân loại.
Trong chương trình nhóm em sử dụng hàm đánh giá độ chính xác phân loại
là Macro-Averaging.
Kết quả thực hiện gán nhãn văn trong tập D_test, thực hiện với mỗi lựa chọn
5 lần, lấy kết quả trung bình như sau:
70%-30% 60%-40% 50%-50% 40%-60%
Lần 1 73.126 79.657 78.782 78.473
Lần 2 78.813 78.781 79.125 77.796
Lần 3 79.110 78.854 78.619 78.568
Lần 4 78.917 78.729 78.763 78.632
Lần 5 78.733 78.920 77.987 78.827
Trung bình 77.740 78.988 78.655 78.459
1. Bài giảng Xử lý ngôn ngữ tự nhiên – PGS.TS Lê Thanh Hương
2. Bài giảng Học máy, Trí tuệ nhân tạo – TS. Nguyễn Nhật Quang
3. />4. Etc…
16