1. Trang chủ
  2. » Công Nghệ Thông Tin

slike thuyết trinh báo cáo đề tài phân loại thư rác dùng thuật toán nave bayes cải

17 778 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 355,43 KB

Nội dung

 Với mỗi văn bản D document, người ta sẽ tính cho mỗi loại một xác suất mà tài liệu D có thể thuộc vào lớp tài liệu đó bằng việc sử dụng luật Bayes:  Tài liệu D sẽ được gán cho lớp tài

Trang 1

Các thành viên:

Nguyễn Đình Dũng 20086079

DÙNG THUẬT TỐN NẠVE

GRAHAM ”

Trang 2

 Thư rác:

- Chứa các quảng cáo sản phẩm, dịch vụ, đăng

kí website trả phí,… được gửi với số lượng lớn

và có giá trị thấp

- Gây phiền toái, mất thời gian cho việc sắp

xếp, tìm kiếm thư cá nhân

- Mất thông tin cá nhân, thông tin tài khoản, thông tin thẻ tín dụng,… và các hình thức lừa đảo qua mạng

Thư rác – Tác hại thư rác

Trang 3

 Tốc độ tăng trưởng của thư rác: chiếm tỉ lệ

lớn trong tổng số thư được gửi đi trên phạm vi toàn cầu  …

Thư rác – tác hại thư rác

Trang 4

 Đối với các email cá nhân thì phương pháp lọc

thư rác phổ biến hiện nay là “phân loại qua

nội dung của các email” bằng việc ứng dụng các phương pháp phân loại văn bản

 Phân loại email thực chất là phương pháp

“phân loại văn bản hai lớp” dựa vào nội dung của các email được gửi đến

 Trong đề tài này nhóm em xin trình bày một phương pháp phân loại văn bản khá phổ biến

“Naive Bayes”

Bài toán Phân loại thư rác

Trang 5

 Cơ sở của phương pháp phân loại văn bản Naive

Bayes là chủ yếu dựa trên các giả định của Bayes

 Với mỗi văn bản D (document), người ta sẽ tính cho mỗi loại một xác suất mà tài liệu D có thể thuộc vào lớp tài liệu đó bằng việc sử dụng luật Bayes:

 Tài liệu D sẽ được gán cho lớp tài liệu nào có xác

suất hậu nghiệm cao nhất tức là lớp Ci nào có giá trị

 P(Ci | D) cao nhất trong tất cả các lớp Ci

Bài toán Phân loại văn bản

Trang 6

 Do bài tốn PLTR chính là bài tốn PLVB với 2 lớp là SPAM và NON-SPAM (HAM) nên cĩ thể áp dụng thuật tốn NB của PLVB sang PLTR.

Nguyên tắc tính các xác suất bằng thuật tốn

Bayes:

 - Giả sử nội dung của mỗi thư điện tử là: content

 - Lớp thư rác kí hiệu là: spam

 - Lớp thư hợp lệ kí hiệu là: ham

 - Word1, word2, word3…wordm là các từ đặc trưng

xuất hiện trong content

 cần tính: Xác suất để một thư điện tử là thư rác:

P(spam|content)

Thuật tốn Nạve Bayes trong

PLTR

Trang 7

Trong đĩ total được xác định như sau:

Total = P(content | spam)*P(spam) + P(content |

ham)*P(ham)

P(spam) = total spam / total messages

P(ham) = total ham / total messages

 ĐẾM TẦN SỐ XUẤT

 XUẤT HIỆN CỦA TỪ,

 ĐẾM SỐ THƯ mỗi loại.

Thuật tốn Nạve Bayes trong

PLTR

Trang 8

 Theo tác giả của bài viết Paul

Graham, để giải quyết bài tốn thư rác, ta vẫn cĩ thể sử dụng thuật tốn Nạve Bayes với một vài thay đổi so với thuật tốn ban đầu

 Ý tưởng cơ bản của thuật tốn cải

tiến này là sử dụng xác suất kết

hợp của các từ xuất hiện trong mail

Thuật tốn Nạve Bayes của Paul Graham

Trang 9

Một người có chiều cao trên 1m9 thì xác suất anh ta có chơi bóng rổ là 60% Một người đang cầm 1 quả bóng rổ thì xác suất anh ta chơi bóng rổ lên đến 80% Hỏi một người vừa cao trên 1m9, vừa cầm bóng rổ trên tay thì xác suất anh ta chơi bóng rổ là bao nhiêu?

Bài toán trên cho ta một cách hiểu dễ dàng nhất về khái niệm xác suất kết hợp Nếu gọi a, b là hai xác suất đơn Thì xác suất kết hợp của chúng sẽ được tính bằng:

ab / (ab + (1-a)*(1-b))

 Xác suất kết hợp = 0.6*0.8/(0.6*0.8 + 0.4*0.2) =

0.857

Xác suất kết hợp

Trang 10

Tổng quát hóa công thức xác suất kết hợp của các xác suất đơn p1, p2, …, pn:

p1*p2*…*pn / (p1*p2*…*pn +(1-p1)*(1-p2)*…*(1-pn))

Từ đó, có thể suy ra cách áp dụng xác suất kết hợp vào

việc tính xác suất là thư rác của một email sẽ bằng xác

suất kết hợp của các từ trong email đó với giả thiết các từ độc lập xác suất với nhau Dễ thấy một mail các

có nhiều từ có xác suất là thư rác cao thì giá trị của xác suất kết hợp cũng sẽ cao

Xác suất kết hợp và thuật toán của PG

Trang 11

Từ tập dữ liệu mẫu là các file text (mỗi file chứa nội dung của một

email) và một file index lưu giữ thông tin về nhãn đúng của từng email (dùng cho việc tối ưu tham số và tạo báo cáo), ta chia các file text

(email) ra làm 2 tập: tập huấn luyện (Training Set) và tập kiểm tra (Test Set)

Đọc nội dung của các email trong Training Set, đọc file index để tìm

nhãn đúng của mỗi email Nếu một email là SPAM thì ghi thêm nội

dung của mail này (không bao gồm tiêu đề và các thông tin khác) vào file SPAM.txt, ngược lại nội dung của mail sẽ được ghi thêm vào file

HAM.txt

Sau khi tiến hành đọc này, ta thu được 2 file có kích thước tương đối lớn Mục đích của bước lưu tất cả nội dung mail của mỗi nhóm (SPAM vs

HAM) vào 1 file lớn là để tiện cho việc đếm tần số và tính xác suất Đến đây, ta bắt đầu đếm số lần xuất hiện của một từ trong mỗi nhóm SPAM

vs HAM, từ đó tính ra xác suất từ đó xuất hiện trong SPAM Sau đó lưu các giá trị xác suất này vào một danh sách được sắp xếp theo giá trị xác suất (kiểu SortedList) và gọi danh sách này là Bảng xác suất

Thuật toán NB cải tiến – Training Phrase

Trang 12

Xác suất một từ xuất hiện trong thư rác được tính bởi công

thức:

P (SPAM|w) = P(w|SPAM) / ((P(w|SPAM) + P(w|HAM)

Trong đó:

- P(w|SPAM) = số lần xuất hiện của w trong SPAM / số từ trong tập

SPAM

- P(w|HAM) = số lần xuất hiện của w trong HAM / số từ trong tập HAM

Xác suất của toàn bộ email sẽ được tính dựa vào xác suất của

15 từ “đáng quan tâm” nhất trong thư đó (15 most interesting words) chứ không phải của tất cả các từ trong thư Trong đó, mức độ đáng quan tâm của mỗi từ được tính dựa vào độ chênh lệch về xác suất P(SPAM|w) với giá trị trung lập 0.5, tức là đây

là 15 từ đặc trưng cho email này, các giá trị xác suất này rất

gần giá trị xác suất tuyệt đối 0 hoặc 1 và có ảnh hưởng lớn đến việc phân loại email đó Con số 15 cũng được Paul Graham lựa chọn, có thể thay đổi để đánh giá hiệu quả theo tham số này

Thuật toán NB cải tiến – Training Phrase

Trang 13

 Sau khi xong xác suất là thư rác của toàn bộ

email,cần một giá trị ngưỡng để thực hiện điều

này Lẽ ra việc chọn ngưỡng sẽ thuộc về pha tối

ưu (Cross Validation) dựa vào việc đánh giá hiệu quả của pha huấn luyện với các giá trị ngưỡng khác nhau (trong bài toán Học máy thì ngưỡng

là một tham số học – learning parameter - cần được xác định trong pha Tối ưu)  bỏ qua

Lấy giá trị ngưỡng được chọn = 0.9, nghĩa là

xác suất một email là SPAM: P(SPAM|Mail) >

0.9 thì thư đó sẽ được phân loại là thư rác, trái lại nó sẽ là thư thường.

Thuật toán NB cải tiến – Training Phrase

Trang 14

 Công việc: nạp tất cả các email trong tập

Test vào bộ lọc thư rác, để bộ lọc phân loại

và trả về nhãn của mỗi email dựa trên kinh nghiệm của nó - những gì mà bộ lọc đã được

“học” từ các ví dụ trong tập huấn luyện - để đánh giá các email mới mà nó “chưa được

học”

 Cuối cùng là so sánh kết quả nhãn mà bộ lọc trả về với nhãn đúng của mỗi email được lưu trong file index để đưa ra đánh giá hiệu quả thuật toán phân loại bằng cách thống kê và viết báo cáo

Thuật toán NB cải tiến – Test

Phrase

Trang 15

 -Áp dụng thuật toán NB cải tiến

 -Công việc của nhóm: tìm tập mẫu khác,

phân chia tập mẫu thành các tập Training Set và Test Set có kích thước khác nhau để đánh giá và so sánh hiệu quả của thuật

toán, thiết kế thêm tính năng kiểm tra

hàng loạt Test Batch và tự động so khớp

kết quả nhãn thu được để đưa ra các chỉ

số đặc trưng về hiệu năng: Precision và

Recall

Demo bộ lọc thư rác

SpamFilterSample

Trang 16

 Để chương trình có thể chạy thì cần có thư

mục \Test Data chứa:

email

mẫu,

HAM2000.txt: lưu các tập huấn luyện với kích thước

tương ứng 4000 thư và 2000 thư đầu tiên trong tập mẫu.

hiện nạp dữ liệu huấn luyện.

khi kiểm tra hàng loạt (Test Batch)

Hướng dẫn sử dụng chương

trình:

Trang 17

Cảm ơn mọi người đã lắng

nghe 

-The end-

Ngày đăng: 23/10/2014, 23:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w