NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN VÀ ỨNG DỤNG VÀO PHÂN LOẠI THƯ ĐIỆN TỬ Luận văn này trình bày các vấn đề liên quan đến phân loại văn bản và ứng dụng của nó trong việc lọc thư điện tử. Một giải thuật sẽ được áp dụng cho bộ phân lớp spam, đó là giải thuật Naive Bayes, giải thuật này cho kết quả rất khả quan trong việc tách các spam ra khỏi các thư thư hợp lệ.
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG LÊ THANH TRÀ ĐỀ TÀI: NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN VÀ ỨNG DỤNG VÀO PHÂN LOẠI THƯ ĐIỆN TỬ Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013 Luận văn được hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: PGS.TS. NGUYỄN BÁ TƯỜNG Phản biện 1: …………………………………… Phản biện 2: …………………………………… Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm… Có thể tìm hiểu luận văn tại: - Thư viện của Học viện Công nghệ Bưu chính Viễn thông MỞ ĐẦU Phân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý ngôn ngữ. Nhiệm vụ của bài toán này là gán các tài liệu văn bản vào nhóm các chủ đề cho trước. Đây là một bài toán rất thường gặp trong thực tế. Ngày nay, Internet mở ra nhiều kênh liên lạc, nhiều dịch vụ mới cho người sử dụng, một trong những dịch vụ mà Internet mang lại đó là dịch vụ thư điện tử(email), đó là phương tiện giao tiếp rất đơn giản, tiện lợi, rẻ và hiệu quả. Phương tiện này có thể gửi email cùng một lúc đến hàng trăm ngàn người chỉ trong vài giây. Tuy nhiên, sự thoải mái trong giao tiếp trên mạng như thế có thể bị lạm dụng. Trong những năm gần đây, spam hay các email không mong muốn đã trở thành một vấn nạn và đe dọa khả năng giao tiếp của con người trên kênh liên lạc này, đó là một trong những thách thức lớn mà khách hàng và các nhà cung cấp dịch vụ phải đối phó. Spam đã trở thành một hình thức quảng cáo chuyên nghiệp, phát tán virus, ăn cắp thông tin với nhiều thủ đoạn và mánh khóe cực kỳ tinh vi. Người dùng sẽ phải mất khá nhiều thời gian để xóa những email “không mời mà đến”, nếu vô ý còn có thể bị nhiễm virus và nặng nề hơn là mất thông tin như thẻ tín dụng, tài khoản ngân hàng qua các email dạng phishing Vì vậy, cần có một hệ thống phân loại đâu là spam mail và đâu là mail tốt. Qua quá trình học tập nghiên cứu, được tiếp cận các phương pháp phân loại văn bản nói chung và phương pháp lọc thư điện tử nói riêng, tôi chọn đề tài: “Nghiên cứu các phương pháp phân loại văn bản và ứng dụng vào phân loại thư điện tử”. Qua đề tài này tôi có cơ hội để tìm hiểu sâu thêm về các phương pháp phân loại văn bản, phương pháp phân loại, lọc thư spam và đặc biệt là phương pháp phân loại thư điện tử bằng thuật toán Naive Bayes. Luận văn này trình bày các vấn đề liên quan đến phân loại văn bản và ứng dụng của nó trong việc lọc thư điện tử. Một giải thuật sẽ được áp dụng cho bộ phân lớp spam, đó là giải thuật Naive Bayes, giải thuật này cho kết quả rất khả quan trong việc tách các spam ra khỏi các thư thư hợp lệ. Việc token hoá, ước lượng xác suất và chọn đặc trưng là các tiến trình được thực hiện trước khi phân lớp và tất cả các tiến trình này đều có ảnh hưởng quan trọng đến hiệu suất lọc spam, giới thiệu và triển khai một bộ lọc thư điện tử spam dựa trên kỹ thuật Naive Bayes. Chương 1 – MỘT SỐ PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN Phân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý ngôn ngữ. Để giải bài toán này đã có rất nhiều phương pháp được đưa ra như: thuật toán Naive Bayes, K- NN (K-Nearest-Neighbor), cây quyết định (Decision Tree), mạng Neuron nhân tạo (Artificial Neural Network) và SVM (Support Vector Machine). Mỗi phương pháp đều cho kết quả khác nhau cho bài toán này, trong chương này chúng ta sẽ nghiên cứu một số phương pháp nói trên. 1.1 Bài toán phân loại văn bản 1.1.1 Giới thiệu 1.1.2 Phát biểu bài toán Bài toán phân loại văn bản có thể được phát biểu như sau : Cho trước một tập văn bản D={d 1 ,d 2 ,…,d n } và tập chủ đề được định nghĩa C={c 1 ,c 2 ,…,c n }. Nhiệm vụ của bài toán là gán lớp d i thuộc về c j đã được định nghĩa. 1.2 Mô hình tổng quát Có rất nhiều hướng tiếp cận bài toán phân loại văn bản đã được nghiên cứu như: tiếp cận bài toán phân loại dựa trên lý thuyết đồ thị, cách tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê…Tuy nhiên, tất cả các phương pháp trên đều dựa vào các phương pháp chung là máy học đó là: học có giám sát, học không giám sát và học tăng cường. Vấn đề phân loại văn bản theo phương pháp thống kê dựa trên kiểu học có giám sát được đặc tả bao gồm 2 giai đoạn: giai đoạn huấn luyện và giai đoạn phân lớp. 1.2.1 Giai đoạn huấn luyện Hình 1.1: Mô hình giai đoạn huấn luyện 1.2.2 Giai đoạn phân lớp Hình 1.4: Mô hình giai đoạn phân lớp 1.3 Tiền xử lý văn bản 1.4 Một số phương pháp phân loại văn bản 1.4.1 Thuật toán Naive Bayes 1.4.2 Cây quyết định (Decision Tree) 1.4.3 Phương pháp phân loại văn bản K-NN (K – Nearest Neighbor) 1.4.4 Phương pháp SVM (Support Vector Machine) 1.5 Bài toán phân loại thư điện tử Phân loại thư điện tử thực chất là bài toán phân loại hai lớp, trong đó tập dữ liệu mẫu đưa vào là các thư điện tử gồm các thư rác(spam) và các thư hợp lệ(Legitimate), các văn bản cần phân lớp là các Email gửi đến client. Kết quả đầu ra của quá trình này là hai lớp văn bản: Spam(thư rác) và Legitimate (thư hợp lệ). 1.6 Kết luận chương Chương 2 – NHỮNG VẤN ĐỀ VỀ THƯ ĐIỆN TỬ SPAM 2.1 Định nghĩa spam Hầu hết các spam đều có thể được xem là các email không mong muốn, nhưng không phải tất cả các thư không mong muốn đều là spam. Một thuật ngữ khác để chỉ spam, đó là các email thương mại không yêu cầu. Spam cũng có thể được định nghĩa là các thư tạp nham (junk mail). 2.2 Các kiểu thư spam 2.2.1 Các đặc điểm của thư spam Spam có các đặc điểm về ngôn ngữ, thời gian 2.2.2 Một số loại thư spam 2.3 Các phương thức đơn giản để loại bỏ thư spam 2.3.1 Sử dụng các từ khóa 2.3.2 So sánh mẫu, danh sách whitelist và danh sách blacklist 2.3.3 Kỹ thuật lọc cộng tác (Collaborative filtering) 2.3.4 Đo sự giao thoa email (E-mail interferometry) 2.3.5 Lọc ở mức mạng 2.3.6 Kỹ thuật nhân viên giả mạo (Fake worker) 2.3.7 Các bộ lọc trên cơ sở luật 2.3.8 Sử dụng chung danh sách blacklist các dấu hiệu spam 2.3.9 Đánh giá mức độ pháp lý 2.4 Lọc spam bằng phương pháp thống kê Năm 1998, một số nghiên cứu đã chỉ ra rằng có thể thu được các kết quả tốt từ việc sử dụng các bộ phân lớp spam bằng phương pháp thống kê. Các bộ lọc thống kê yêu cầu huấn luyện trên cả thư spam và thư hợp lệ và bộ lọc sẽ dần trở nên hiệu quả hơn sau khi được huấn luyện. Các bộ lọc được huấn luyện trên thư spam và thư hợp lệ của người sử dụng, do đó các spammer rất khó đánh lừa bộ lọc. Bộ phân lớp sử dụng các đặc điểm của mẫu để phân lớp nó thành một trong các lớp được định nghĩa từ trước. Bất cứ đặc điểm nào của mẫu cũng đều được xem xét dưới dạng một đặc trưng. 2.4.1 Đặc trưng và lớp Một đặc trưng là đặc điểm, diện mạo, hoặc thuộc tính của một đối tượng. Ví dụ, mầu mắt của một người là đặc trưng, các từ trong một tài liệu văn bản là đặc trưng. Một đặc trưng tốt là đặc trưng đặc biệt cho một lớp đối tượng 2.5 Kết luận chương Chương 3 – BỘ LỌC SPAM TRÊN CƠ SỞ KỸ THUẬT NAIVE BAYES Chương này giới thiệu bộ phân lớp trên cơ sở kỹ thuật Bayes để xây dựng các bộ lọc có thể học và có độ tin cậy cao. Phương pháp này cho phép máy tính có khả năng tự tạo ra các quyết định thay vì phải hỏi người sử dụng cách quyết định (các giải pháp trên cơ sở luật). Sự xuất hiện của kỹ thuật máy học trong các bộ lọc spam là một bước cải tiến quan trọng cho hiệu suất của bộ lọc. Các spammer không thể kiểm tra các bộ lọc trước khi gửi các thư đi, do bộ lọc của mỗi người sử dụng có cơ sở tri thức của riêng nó. Mặc dù các spammer luôn nghĩ ra những ý tưởng mới để vượt qua các bộ lọc, nhưng với bộ lọc Bayes được huấn luyện tốt, thì sự chính xác của các bộ lọc có thể đạt tới 99%. 3.1 Mạng Bayes 3.1.1 Tổng quát về mạng Bayes 3.1.2 Mô hình Naive Bayes Naive Bayes là một mạng Bayes đơn giản nhất trong đó một nút cha được chứa trong mạng và tất cả các biến khác là con của nút cha. Nếu biến cha là ‘Xp’, thì công thức phân bố kết nối trong trường hợp đó như sau: P(Xp,X1, ,Xn)=P(Xp) )|( XpXiP fori= 1 to n (3.1) [...]... Khi các token được trích ra từ thân của các thư thì tất cả các ký tự đầu và cuối (các dấu chấm câu và các số) được gỡ bỏ để lấy ra từ thực sự Một bảng được sử dụng để lưu các token và tần số tương ứng Nó chứa tất cả các token, tổng số lần xuất hiện của mỗi token trong các thư spam và thư hợp lệ và tổng số thư spam và thư hợp lệ đã được xử lý trong giai đoạn huấn luyện Trong giai đoạn huấn luyện, bộ phân. .. phân lớp và phân tích thư, các tham số mặc định trong huấn luyện và phân lớp 4.3.2 Thử nghiệm hệ thống lọc spam Bảng 4.1 Kết quả thử nghiệm phân lớp trên 3000 thư Giải thuật Bayes Thư spam Thư tốt của 1478 1522 Giải thuật Bayes – 1517 1483 Paulgraham SEDA KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Các bộ phân loại thư điện tử ngày nay áp dụng các giải thuật máy học cho ta hiệu quả lọc cao, đặc biệt là bộ lọc thư spam... học bằng cách xử lý các thư từ các lớp đã biết Ban đầu cơ sở tri thức (dạng bảng băm) tìm kiếm một token và nếu tìm thấy, bộ đếm token tương ứng được tăng lên Nếu không tìm thấy một thực thể mới được thêm vào với bộ đến bắt đầu bằng một và các bộ đếm thư spam và thư hợp lệ cũng được tăng lên một Các thư chưa biết được phân lớp bằng cách sử dụng kiến thức có sẵn trong cơ sở tri thức Tiến trình phân lớp... luận văn thạc sỹ CNTT, luận văn đã nêu bật được các phương pháp phân loại văn bản, các vấn đề liên quan đến thư spam, các giải pháp lọc thư spam dựa trên các giải thuật máy học như kỹ thuật Supported Vector Machines (SVM), k-Nearest-Neighbor (kNN), Neural Networks (NNet) và Naive Bayesian (NB), các vấn đề liên quan đến hiệu quả của bộ lọc cũng như việc kết hợp các bộ lọc nhằm nâng cao hiệu suất lọc Các. .. là bộ lọc thư spam áp dụng giải thuật Naive Bayes cho ta hiệu suất lọc đến 99% và được áp dụng cho những nhà cung cấp dịch vụ thư điện tử lớn như Yahoo, Hotmail Các bộ lọc thư spam trên desktop thư ng mại ngày nay cũng áp dụng kỹ thuật này với một số cải tiến và kết hợp nhỏ Việc áp dụng các giải thuật máy học vào nhiệm vụ lọc spam làm cho bộ phân lớp có khả năng thích nghi với các spam thế hệ mới bằng... luyện và dữ liệu kiểm tra đã xử lý trước được tải về từ Internet, công đồng mạng đã xử lý và chọn dữ liệu này Thử nghiệm được thực hiện trên 1500 thư spam cho thấy với kỹ thuật NBSEDA số thư bị phân lớp nhầm là thư tốt giảm đáng kể so với kỹ thuật Bayes của Paulgraham Hướng phát triển: - Tích hợp hệ thống phân loại thư điện tử trực tuyến - Xây dựng công cụ phân tích và chọn các đặc trưng cho bộ phân. .. làm giảm kích thư c, nâng cao chất lượng của cơ sở tri thức và cải tiến hiệu suất bộ lọc khi sử dụng tất cả các đặc trưng - Kỹ thuật phân loại mô tả ở trên cũng có thể được nâng cấp bằng cách sử dụng một tập danh sách đen (blacklist) các địa chỉ IP và tên miền, và một tập danh sách trắng (whilelist) người gửi tương ứng với các liên lạc mà người sử dụng có Bất cứ lúc nào chúng ta nhận được thư từ một... trị 0,5) Tính xác suất là spam của thư mới từ 15 giá trị token điển hình này - Quyết định phân lớp dựa trên xác suất tổng hợp 4.2 Hiện thực một bộ phân lớp spam Bayes cải tiến bằng ngôn ngữ Java 4.2.1 Các bước thực hiện và cấu trúc hệ thống 4.2.2 Xây dựng tập các thư spam và tập thư hợp lệ 4.2.3 Token hoá các thư spam và thư hợp lệ 4.2.4 Xây dựng danh sách tần số các token 4.2.5 Xây dựng danh sách... là thư spam hoặc thư tốt theo độ ưu tiên định sẵn Do đó chúng ta có thể trích ra các thông tin tốt để tăng cường cho cơ sở tri thức của bộ lọc - Tổ chức các thư đến theo ba thể loại khác nhau như Spam, Personal, Business, thay vì chỉ hai Như vậy mục đích của bộ lọc thư trở nên phổ biến hơn - Xây dựng tập cơ sở dữ liệu thư spam tiếng Việt, nghiên cứu các từ, cụm từ spam trong thư tiếng Việt - Nghiên cứu. .. cải tiến được thêm vào: - Để loại bỏ được việc phân lớp nhầm các thư tốt, tần số thư tốt được nhân đôi khi ta tính xác suất của thư spam - Khi một token chỉ nằm trong tập cơ sở dữ liệu spam có sẵn, thì chúng ta có thể thiết lập các xác suất tăng lên nếu có nhiều token ấy ví dụ: 0.9 cho các tần số nhỏ, 0.99 cho các tần số lớn hơn 10 3.7.2 Cải tiến bộ lọc spam Bayes sử dụng khoảng cách khác biệt giữa . LÊ THANH TRÀ ĐỀ TÀI: NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN VÀ ỨNG DỤNG VÀO PHÂN LOẠI THƯ ĐIỆN TỬ Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013 Luận. rác(spam) và các thư hợp lệ(Legitimate), các văn bản cần phân lớp là các Email gửi đến client. Kết quả đầu ra của quá trình này là hai lớp văn bản: Spam(thư rác) và Legitimate (thư hợp lệ). 1.6. được xây dựng lên bởi mỗi email được xử lý. 3.4.3 Kết quả của bộ lọc 3.4.4 Huấn luyện (Training) 3.4.5 Kiểm tra và sử dụng bộ lọc 3.4.6 Tính toán 3.4.7 Sơ đồ bộ lọc Bayes Hình 3.1: Biểu đồ bộ lọc