Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 29

Ứng dụng thuật toán Naive

Bayes trong phân loại văn


bản

Nhóm 26
Nội dung

Giới thiệu về thuật toán Naive Bayes Phân lớp văn bản với thuật toán Naive
I III
Bayes

II Phân lớp sử dụng Naive Bayes IV Đánh giá và kết luận


I. Giới thiệu về thuật toán Naive
Bayes
I. Giới thiệu về thuật
toán Naive Bayes
- Là một phương pháp phân loại dựa
vào xác suất

- Ý tưởng về cách tiếp cận thuật toán là


sử dụng xác suất có điều kiện giữa từ và
chủ đề để dự đoán xác suất chủ đề của
một văn bản cần phân loại.
• Định lý Bayes
I.Giới thiệu về thuật - Gọi A, B là hai biến cố
toán Naive Bayes
Công thức Bayes:

Trong đó:
P(A|B) là xác suất xảy ra của A khi B xảy
ra
P(B|A) là xác suất xảy ra của B khi A xảy
ra
P(A) là xác suất xảy ra của A
P(B) là xác suất xảy ra của B
• Công thức Bayes tổng quát
I.Giới thiệu về thuật - Với P(A) > 0 và {B1, B2, … Bn } là một hệ đầy đủ các
toán Naive Bayes biến cố.

+ Tổng xác suất của hệ bằng 1:

+ Từng đôi một xung khắc:

Khi đó ta có:
II. Phân lớp sử dụng thuật toán
Naive Bayes
1. Thuật toán Naive Bayes cơ bản

II. Phân lớp văn bản • Bước 1: Huấn luyện Naive Bayes
bằng thuật toán
Naive Bayes - Tính xác suất P(Ci)

- Tính xác suất P(xk|Ci)

• Bước 2: Phân lớp Xnew

- Tính

- Xnew được gán vào lớp Cq sao cho:


2. Một số biên thể của thuật toán Naïve Bayes

a) Gaussian Naive Bayes


II. Phân lớp văn bản
bằng thuật toán
Naive Bayes
2. Một số biên thể của thuật toán Naïve Bayes

b) Multinomial Naive Bayes


II. Phân lớp văn bản
bằng thuật toán - Dùng cho dữ liệu rời rạc:

Naive Bayes
2. Một số biến thể của thuật toán Naive Bayes

c) Bernoulli Naive Bayes


II. Phân lớp văn bản
bằng thuật toán
Naive Bayes
Bắt đầu

Khởi tạo các biến đếm

Xét hết dữ liệu

Lược đồ của thuật


toán Naive Bayes Tính lại các xác suất, tạo mô hình

Yes

Lưu mô hình

Kết thúc
Ví dụ

Ngày Thời tiết Nhiệt độ Độ ẩm Gió Kết quả


D1 Nắng Nóng Cao Yếu Không
D2 Nắng Nóng Cao Mạnh Không
D3 Nhiều mây Nóng Cao Yếu Có
D4 Mưa Ấm áp Cao Yếu Có
D5 Mưa Mát mẻ Bình thường Yếu Có

Lược đồ của thuật D6 Mưa Mát mẻ Bình thường Mạnh Không


D7 Nắng Ấm áp Cao Yếu Không
toán Naive Bayes D8 Nắng Ấm áp Bình thường Mạnh Có
D9 Nhiều mây Nóng Cao Mạnh Không

Dự đoán quyết định của người chơi có đi chơi Tennis


hay không với các điều kiện thời tiết đã được biết
trước
Ví dụ
Ngày Thời tiết Nhiệt độ Độ ẩm Gió Kết quả
D1 Nắng Nóng Cao Yếu Không
D2 Nắng Nóng Cao Mạnh Không
D3 Nhiều mây Nóng Cao Yếu Có
D4 Mưa Ấm áp Cao Yếu Có
D5 Mưa Mát mẻ Bình thường Yếu Có
D6 Mưa Mát mẻ Bình thường Mạnh Không

Lược đồ của thuật D7 Nắng Ấm áp Cao Yếu Không


D8 Nắng Ấm áp Bình thường Mạnh Có
toán Naive Bayes D9 Nhiều mây Nóng Cao Mạnh Không

Có 2 lớp dự báo:

C1 = “Có” => Có đi chơi Tennis

C2 = “Không” => Không đi chơi Tennis


Ví dụ

• B1: Huấn luyện Bayes

- Tính các xác suất P(Ci):

+ P(C1) = P(“Có”) = 3/7

+ P(C2) = P(“Không”) = 4/7


Lược đồ của thuật
- Tính các xác suất P(xk|Ci):
toán Naive Bayes

Bài toán có 4 thuộc tính: Thời tiết, Nhiệt độ, Độ


ẩm, Gió
Ví dụ

• Với thuộc tính thời tiết:

- Có 3 giá trị: Nắng, nhiều mây, mưa

+ P(Nắng|C1) = 0/3 = 0

Lược đồ của thuật + P(Nắng|C2) = 3/4


toán Naive Bayes
+ P(Nhiều mây|C1) = 1/3

+ P(Nhiều mây|C2) = 0/4 = 0

+ P(Mưa|C1) = 2/3

+ P(Mưa|C2) = 1/4
Ví dụ

• Với thuộc tính nhiệt độ:

- Có 3 giá trị: Nóng, ấm áp, mát mẻ

+ P(Nóng|C1) = 1/3

+ P(Nóng|C2) = 2/4 = 1/2


Lược đồ của thuật
toán Naive Bayes + P(Ấm áp|C1) = 1/3

+ P(Ấm áp|C2) = 1/4

+ P(Mát mẻ|C1) = 1/3

+ P(Mát mẻ|C2) = 1/4


Ví dụ

• Với thuộc tính độ ẩm:

- Có 2 giá trị : Cao , bình thường

+ P(Cao|C1) = 2/3

Lược đồ của thuật + P(Cao|C2) = 3/4


toán Naive Bayes
+ P(Bình thường|C1) = 1/3

+ P(Bình thường|C2) = 1/4


Ví dụ

• Với thuộc tính gió:

- Có 2 giá trị: Yếu, mạnh

+ P(Yếu|C1) = 3/3 = 1
Lược đồ của thuật + P(Yếu|C2) = 2/4 = 1/2
toán Naive Bayes
+ P(Mạnh|C1) = 0/3 = 0

+ P(Mạnh|C2) = 2/4 = 1/2


Ví dụ

• B2: Phân loại Bayes

Xnew = {nắng, mát mẻ, cao, mạnh}

- Tính các xác suất:

Lược đồ của thuật F(Xnew|C1) = P(C1) * P(nắng|C1) * P(mát mẻ|C1) *


toán Naive Bayes P(cao|C1) * P(mạnh|C1)
= 3/7 * 0 *
III. Mô hình phân loại văn bản
• Các bước để phân loại văn bản
III. Phân loại văn bản bằng
Naive Bayes
1. Chuẩn bị dữ liệu

2. Tiền xử lý dữ liệu văn bản

3. Xây dựng mô hình phân loại văn bản


• Bài toán phân loại văn bản
III. Phân loại văn bản bằng Bước 1: Chuẩn bị dữ liệu

Naive Bayes -Dữ liệu là yếu tố quan trọng nhất và cũng là vấn
đề mà chúng ta cần quan tâm nhất. Trong quá
trình xây dựng mô hình phân loại văn bản, bước
chuẩn bị và tiền xử lý dữ liệu có vai trò quyết định.

-Đối với bài toán phân loại văn bản tiếng Việt, dữ liệu
cần chuẩn bị là các bài báo tiếng Việt kèm theo chủ
đề. Loại dữ liệu này nhìn chung là rất dễ kiếm, bởi vì
có vô số website đăng tin tức mỗi ngày.

-Bước tiếp theo cũng rất quan trọng, chúng ta sẽ


tiến hành tiền xử lý dữ liệu trước khi đưa vào mô
hình phân loại văn bản.
Bước 2: Tiền xử lý dữ liệu văn bản
III. Phân loại văn bản bằng Bước tiền xử lý dữ liệu là quá trình chuẩn hóa dữ
liệu và loại bỏ các thành phần không có ý
Naive Bayes nghĩa cho việc phân loại văn bản.

Tiền xử lý dữ liệu tiếng Việt cho bài toán phân loại


văn bản thường gồm các việc sau:
• Xóa HTML code (nếu có)
• Chuẩn hóa bảng mã Unicode (đưa về Unicode tổ
hợp dựng sẵn)
• Chuẩn hóa kiểu gõ dấu tiếng Việt (dùng òa úy
thay cho oà uý)
• Thực hiện tách từ tiếng Việt (sử dụng thư viện
tách từ như pyvi, underthesea, vncorenlp,…)
• đưa về văn bản lower (viết thường)
• Xóa các ký tự đặc biệt: “.”, “,”, “;”, “)”, …
Bước 3: Xây dựng mô hình phân loại văn bản
III. Phân loại văn bản bằng Trước khi huấn luyện mô hình phân loại văn bản,
ta cần xây dựng tập huấn luyện và tập kiểm thử.
Naive Bayes Việc này là cần thiết để đánh giá kết quả huấn
luyện, lựa chọn mô hình cũng như tinh chỉnh để
mô hình cho tốt hơn.

1. Xây dựng tập train/test

Dữ liệu dùng cho bài toán phân loại văn bản của
mình sau khi tiền xử lý được lưu thành 1 file duy
nhất. Mỗi dòng là một bài báo kèm theo thông tin
danh mục của nó.

2. tách dữ liệu làm 2 tập train/test riêng biệt:

Đọc dữ liệu từ file và tách làm 2 list text (dữ liệu) và label
(nhãn). Dữ liệu text[i] sẽ có nhãn là label[i].
Chia làm 2 tập train (X_train, y_train) và test (X_test,
y_test) theo tỉ lệ 80% train, 20% test.
IV. Đánh giá và kết luận
IV. Đánh giá và kết luận
IV. Đánh giá và kết luận
Tài liệu tham khảo:
Thanks for
watching!

You might also like