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
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

Đ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

“Đề tài: PHÂN LOẠI THƯ RÁC DÙNG THUẬT TOÁN NAÏVE BAYES CẢI TIẾN của PAUL GRAHAM” Các thành viên: Nguyễn Đình Dũng 20086079 Nguyễn Thành Lâm 20081487 Vũ Đông Lâm 20081496 Đoàn Ngọc Sơn 20082211 Trần Huy Hưng 20081307 Thư rác – Tác hại thư rác  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  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  … Bài toán Phân loại thư rác  Đố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 văn bản  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 Thuật toán Naïve Bayes trong PLTR  Do bài toán PLTR chính là bài toán PLVB với 2 lớp là SPAM và NON-SPAM (HAM) nên có thể áp dụng thuật toán NB của PLVB sang PLTR       Nguyên tắc tính các xác suất bằng thuật toá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 toán Naïve Bayes trong PLTR        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 toán Naïve Bayes của Paul Graham  Theo tác giả của bài viết Paul Graham, để giải quyết bài toán thư rác, ta vẫn có thể sử dụng thuật toán Naïve Bayes với một vài thay đổi so với thuật toán ban đầu  Ý tưởng cơ bản của thuật toá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 Xác suất kết hợp  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 và thuật toán của PG   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:  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ẽ p1*p2*…*pn / (p1*p2*…*pn +(1-p1)*(1-p2)*…*(1-pn)) 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 Thuật toán NB cải tiến – Training Phrase  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      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   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 – Test Phrase  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 Demo bộ lọc thư rác SpamFilterSample   -Á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 Hướng dẫn sử dụng chương trình:  Để chương trình có thể chạy thì cần có thư mục \Test Data chứa:    Tập dữ liệu mẫu: 6000 file, mỗi file lưu nội dung một email   File ProbList.txt lưu trữ Bảng xác suất, sinh ra khi thực hiện nạp dữ liệu huấn luyện File index.txt: lưu nhãn đúng của mỗi email trong tập mẫu, Các file SPAM.txt, HAM.txt, SPAM2000.txt, 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 File Result.txt lưu kết quả gán nhãn do bộ lọc thực hiện khi kiểm tra hàng loạt (Test Batch) Cảm ơn mọi người đã lắng nghe  -The end- ... SỐ THƯ loại Thuật tốn Nạve Bayes Paul Graham  Theo tác giả viết Paul Graham, để giải toán thư rác, ta sử dụng thuật tốn Nạve Bayes với vài thay đổi so với thuật toán ban đầu  Ý tưởng thuật toán. .. đến  Trong đề tài nhóm em xin trình bày phương pháp phân loại văn phổ biến “Naive Bayes? ?? Bài toán Phân loại văn  Cơ sở phương pháp phân loại văn Naive Bayes chủ yếu dựa giả định Bayes  Với... tin tài khoản, thơng tin thẻ tín dụng,… hình thức lừa đảo qua mạng Thư rác – tác hại thư rác  Tốc độ tăng trưởng thư rác: chiếm tỉ lệ lớn tổng số thư gửi phạm vi tồn cầu  … Bài tốn Phân loại thư

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

Từ khóa liên quan

Mục lục

  • Slide 1

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

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

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

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

  • Thuật toán Naïve Bayes trong PLTR

  • Thuật toán Naïve Bayes trong PLTR

  • Thuật toán Naïve Bayes của Paul Graham

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

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

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

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

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

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

  • Demo bộ lọc thư rác SpamFilterSample

  • Hướng dẫn sử dụng chương trình:

  • Slide 17

Tài liệu cùng người dùng

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

Tài liệu liên quan