Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
485,98 KB
Nội dung
TRƯỜNG ĐẠ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 HỌC XỬ LÝ NGÔN NGỮ TỰ NHIÊN Đề tài: Phân loại thư, lọc thư rác áp dụng giải thuật Naive Bayes Giảng viên hướng dẫn: PGS TS Lê Thanh Hương Sinh viên thực hiện: Đặng Văn Oai Đào Văn Long Đinh Văn Đức Đào Quang Đức Lã Hữu Thành Lớp: Hệ thống thông tin K53 Hà Nội, tháng 5/2012 20081948 20081576 20080723 20080720 20082375 Mục Lục I Bài toán phân loại văn I.1 Tổng quan phân loại văn I.2 Tiến trình phân loại văn I.2.1 Trích chọn đặc trưng văn I.2.2 Biểu diễn văn I.2.3 Các phương pháp phân loại văn II Thư rác toán lọc thư rác II.1 Thư rác II.2 Bài toán phân loại thư rác III Phương pháp phân loại văn Naive Bayes III.1 Cơ sở lý thuyết III.2 Thuật toán phân loại Naive Bayes III.3 Áp dụng thuật tốn Nạve Bayes vào phân loại thư điện tử III.4 Quá trình xây dựng lọc thư rác, sử dụng giải thuật Naïve Bayes IV Cài đặt chương trình 10 IV.1 Kiến trúc tổng quan 10 IV.2 Tạo lập liệu mẫu 10 IV.3 Giao diện chương trình 11 IV.4 Cơng cụ lập trình 13 V Kết luận, phân chia công việc nhóm 13 I Bài toán phân loại văn I.1 Tổng quan phân loại văn Bài toán phân loại văn toán quan trọng xử lý ngơn ngữ tự nhiên Có nhiều tốn phân loại xử lý ngôn ngữ tự nhiên gán nhãn từ loại, khử nhập nhằng nghĩa từ vựng , tốn có đối tượng thao tác khác mục tiêu phân loại khác Cụ thể tốn phân loại văn đối tượng thao tác tài liệu văn Có nhiều định nghĩa khác phân loại văn bản, đơn giản hiểu phân loại văn phân loại tài liệu văn dựa tập hợp văn phân loại trước để gán cho văn cần phân loại thuộc lớp đó, cơng việc thực tự động chương trình máy tính Ứng dụng đáng kể phân loại văn trợ giúp cho việc tìm kiếm lọc thông tin, làm tăng tốc độ truy cập thông tin Phân loại văn đóng vai trị quan trọng việc quản lý thông tin việc xếp, phân loại thư điện tử, file hệ thống Bài tốn phân loại văn phát biểu sau: Cho tập lớp định nghĩa C = {c1, c2, …, cn}, tập văn phân lớp sắn D = {d1, d2, …, dm} , cho văn vào, nhiệm vụ phải văn thuộc vào lớp số lớp ban đầu Có nhiều hướng tiếp cận tốn phân loại văn nghiên cứu : dựa lý thuyết đồ thị, tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê…, tất phương pháp dựa vào phương pháp học máy: học có giám sát, học khơng giám sát, học tăng cường Vấn đề phân loại văn theo phương pháp thống kê dựa kiểu học có giám sát bao gồm hai giai đoạn: giai đoạn huấn luyện giai đoạn phân lớp I.2 Tiến trình phân loại văn Ta chia tiến trình phân loại văn thành bước sau: i) ii) iii) iv) Trích chọn đặc trưng văn Biểu diễn văn Học phân loại văn Tiến hành phân loại văn Trong đó, lựa chọn đặc trưng văn trình phân tích văn thành từ hay cụm từ Biểu diễn văn cách thể văn dạng vector mà không gian tập đặc trưng lựa chọn Căn vào đặc trưng chọn, học phân loại Naïve Bayes hay k-NN I.2.1 Trích chọn đặc trưng văn Q trình trích chọn đặc trưng văn giúp nâng cao hiệu phân loại, nói khâu tiền đề cần thiết cho việc học phân loại Do hiệu phân loại văn phụ thuộc nhiều vào tập đặc trưng mà sử dụng Trong bước trích chọn đặc trưng văn cịn có khâu tiền xử lý văn bản, tùy vào mục đích phân loại mà có phương pháp tiền xử lý văn khác như: - Chuyển toàn văn dạng chữ thường Loại bỏ ký tự đặc biệt, chữ số, phép toán Loại bỏ từ dừng, từ thường xuyên xuất văn … I.2.2 Biểu diễn văn Một nhiệm vụ việc xử lý văn phải chọn mơ hình biểu diễn văn thích hợp Một văn dạng chuỗi thơng thường cần chuyển sang mơ hình khác để tạo thuận lợi cho việc biểu diễn tính tốn Tùy thuộc vào thuật tốn phân loại khác mà có mơ hình biểu diễn khác Một mơ hình đơn giản sử dụng nhiều mơ hình khơng gian vector Mỗi văn biểu diễn dạng vector n chiều Theo mơ hình này, văn biểu diễn không gian vector có số chiều lớn, chiều khơng gian tương ứng với từ văn Ta ký hiệu vector X = (x1, x2, …, xn) vector đặc trưng cho văn D, n số chiều hay số lượng đặc trưng vector văn bản, xi trọng số đặc trưng thứ i Có nhiều cách khác để tính trọng số cho vector đặc trưng, có cách đơn giản tính trọng số tần số từ, số lần xuất từ văn xét I.2.3 Các phương pháp phân loại văn Dựa đặc trưng văn bản, có nhiều phương pháp phân loại văn dề xuất áp dụng tập tài liệu khác Một số phương pháp phân loại văn cho kết tốt thường sử dụng như: Mơ hình xác suất Nạve Bayes Ngun mẫu Phương pháp SVM Phương pháp định Phương pháp mạng neuron Trong phương pháp kỹ thuật phân hoạch Naïve Bayes đơn giản đem lại hiệu phân loại cao.Kỹ thuật phù hợp với trường hợp phân loại có kích thước đầu vào lớn Thuật tốn Nạve Bayes tính cho lớp văn xác suất mà tài liệu cần phân hoạch thuộc loại Tài liệu gán cho lớp văn có xác suất cao II Thư rác toán lọc thư rác II.1 Thư rác Thư rác hay gọi Spam mail thư điện tử không cần thiết người sử dụng cụ thể đó, thư thường gửi tới nhiều người thường mang nội dung quảng cáo, chất lượng thấp, đơi cịn mang thơng tin lừa đảo.Các thư rác vơ hại người sử dụng gây cảm giác khó chịu thư lẫn với thư cần thiết, người dùng phải thời gian để xóa, đơi xóa nhầm thư cần thiết Ngày có nhiều cơng nghệ lọc thư rác Nó dựa đặc trưng thư điện tử như: tiêu đề thư, địa người gửi, hay cụm từ thường xuất thư rác Hoặc so sánh thư điện tử mẫu với thư điện tử nhân sau tìm thư rác Và công nghệ sử dụng công nghệ học máy để phân loại thư điện tử Bên cạnh virus, spyware, thư rác điều khó chịu với người sử dụng máy tính, spam mail trở thành hình thức quảng cáo chuyên nghiệp phát tán virus, ăn cắp thông tin, Do việc lọc thư rác trước đến với người dùng cần thiết II.2 Bài toán phân loại thư rác Yêu cầu toán ngăn chặn thư rác cách phân loại email gửi đến spam hay non-spam (Ham mail), hiệu phân loại phải khả quan, giảm thiểu lỗi sai phân loại Ham mail thành Spam mail Phân loại thư rác tốn phân loại văn hai lớp, hai lớp văn Ham(thư hợp lệ) Spam (thư rác) Tập tài liệu mẫu ban đầu thư phân thành thư rác thư hợp lệ, văn cần phân lớp email nhận Ta dựa vào số đặc điểm thuộc tính email để tăng hiệu phân loại Các đặc điểm email như: tiêu đề, địa gửi, nội dung thư, thư có tệp đính kèm hay khơng…Khi tận dụng thơng tin khả phân loại xác, kết phân loại phụ thuộc nhiều vào kích thước tập mẫu huấn luyện Mơ hình phân loại thư rác biểu diễn hình đây: Vì tốn phân loại thư rác toán phân loại văn bản, thuật tốn áp dụng để phân loại văn áp dụng để phân loại thư điện tử, có nhiều phương pháp kiểm chứng cho kết cao như: SVM, k-NN Phương pháp Naïve Bayes cho hiệu nhỏ giải thuật đơn giản, áp dụng phổ biến, cải tiến thành máy lọc thư rác Nạve Bayes Do nhóm chúng em chọn mơ hình xác suất Nạve Bayes để cài đặt giải thuật phân loại thư rác tập lớn môn học III Phương pháp phân loại văn Naive Bayes III.1 Cơ sở lý thuyết Cơ sở lý thuyết phương pháp định lý Bayes xác suất có điều kiện: Hay III.2 Thuật tốn phân loại Naive Bayes Phương pháp phân loại Naive Bayes coi từ xuất văn độc lập thống kê Giả thuyết Bayes gán cho tài liệu văn giá trị xác suất, P(ci | d) xác suất mà tài liệu d thuộc vào lớp văn ci , tính cơng thức sau: P (ci | d ) P ( ci ) * P ( d | ci ) P (d ) Tài liệu d gán cho lớp văn có xác suất hậu nghiệm cao nhất: Lớp c* lớp văn d: C * arg max 1 i n P(ci |d ) arg max P(ci )*P(d |c i ) 1 i n P( d ) Trong n số lớp văn Theo giả thiết Nạve Bayes xác suất từ tài liệu di độc lập với ngữ cảnh xuất từ đồng thời độc lập với vị trí từ tài liệu, xác suất P(d|ci) tính từ tần suất xuất từ đơn wj (word thứ j) tài liệu d P(d |ci ) = P(w1|ci)*P(w2|ci)*… *P(wn|ci) Hay: P(d | c i ) P(w j | Ci ) 1 j m Trong P(wj|ci) xác suất xuất từ wj lớp văn ci , m tổng số từ tài liệu d Do : P(ci | d ) P (c i ) P(w j | ci ) P(d ) 1 jm III.3 Áp dụng thuật tốn Nạve Bayes vào phân loại thư điện tử Thuật toán bắt đầu việc học nội dung thư điện tử hợp lệ nội dung thư rác Khi nhận thư mới, dựa vào thơng tin có sẵn từ tập mẫu, q trình xử lý áp dụng nội dung thư điện tử Giả sử: Nội dung thư gửi đến content Lớp thư rác ký hiệu spam Lớp thư hợp lệ kí hiệu ham Ta cần tính P(spam | content), xác xuất thư điện tử thư rác w1, w2, …, wn từ đặc trưng xuất nội dung thư Khi xác suất email thư rác tính sau: P ( spam | content ) P ( spam) * P (content | spam) P (content | spam) * P ( spam) P (content | ham) * P ( ham) Trong : P(spam) = (tổng số thư rác)/(tổng số thư) P(ham) = (tổng số thư hợp lệ)/(tổng số thư) P(content | spam) = P(w1 | spam)*P(w2 | spam)*…*P(wn | spam) P(content | ham) = P(w1 | ham)*P(w2 | ham)*…*P(wn | ham) Sau tính P(spam | content), xác suất lớn giá trị ngưỡng t email thư rác III.4 Quá trình xây dựng lọc thư rác, sử dụng giải thuật Naïve Bayes i) Tạo sở liệu cho thư hợp lệ: Ta dùng file để lưu trữ danh sách thư hợp lệ người dùng, file liệu khác người sử dụng khác ii) Tạo sở liệu cho thư rác: Ta dùng file để lưu trữ danh sách thư mà người dùng đánh dấu thư rác, file liệu khác người sử dụng khác File phải bao gồm mẫu lớn để hểu thư rác thường xuyên cập nhật thư rác Điều giúp cho lọc Bayes có khả nhận biết thủ thuật thư rác gần cho kết tìm kiếm thư rác lớn iii) Tạo file lưu trữ danh sách từ kèm với số lần xuất tập thư rác thư hợp lệ Khi thư chuyển đến, nội dung phân tách thành từ, vào từ này, lọc Bayes tính tốn xác xuất thư rác, xác suất lớn ngưỡng t đặt thư gán thư rác, ngược lại thư hợp lệ Như ta biết, phân loại email, xảy hai lỗi: phân loại nhầm thư rác thành thư hợp lệ phân loại nhầm thư hợp lệ thành thư rác, lỗi thứ hai nghiêm trọng nên ta cần phải xác định ngưỡng t để phân loại t = n/(n + 1) với n = 1,2,…100,… IV Cài đặt chương trình IV.1 Kiến trúc tổng quan Chức lọc thư rác chương trình mơ tả sau: Các email lấy từ server thông qua lọc Bayes, phân loại thành spam mail ham mail, spam mail không hiển thị cho người dùng IV.2 Tạo lập liệu mẫu Việc tạo lập liệu mẫu quan trọng, sở để lọc Bayes hoạt động, người dùng phải cung cấp thư điện tử mà họ cho thư rác, thư lưu file SpamMail.txt, lại thư hợp lệ lưu file HamMail.txt Căn vào liệu mẫu để xây dựng tập đặc trưng bao gồm từ số lần xuất từ tập thư rác thư hợp lệ.Từ làm sở để phân loại thư sau Mỗi lần phân loại tập đặc trưng lại cập nhật, khả tự học lọc Bayes 10 IV.3 Giao diện chương trình Giao diện đầu tiên: Tại người dùng chọn chức gửi nhận email Giao diện gửi mail: người dùng thay đổi thơng tin Outgoing Mail Server, nhập địa email người gửi, mật khẩu, địa người nhận gửi email 11 Giao diện chính, nhận thư: Tại người dùng nhập thông tin địa email mật mình, sau kết nối đến server nhận thư về, danh sách thư hiển thị người dùng chọn thư thơng báo thư rác Để xem chi tiết nội dung thư, người dùng click chuột vào thư danh sách thư đến 12 IV.4 Cơng cụ lập trình - Ngơn ngữ lập trình Java - IDE : Netbeans 7.0.1 - Thư viện sử dụng: Java Mail, giúp lập trình gửi nhận email V Kết luận, phân chia cơng việc nhóm Những kết đạt được: o Cài đặt chương trình gửi nhận thư điện tử o Thực chức lọc thư rác tự động Những hạn chế: o Chương trình xử lý email có nội dung định dạng text thơng thường, khơng xử lý email có file đính kèm 13 o Việc lọc thư rác dựa nội dung thư, chưa kết hợp lọc thư qua địa người gửi tiêu đề thư Phân chia cơng việc nhóm: o Tìm hiểu tốn, tìm hiểu giải thuật Naïve Bayes: Đào Văn Long, Đinh Văn Đức, Đào Quang Đức, Lã Hữu Thành o Cài đặt chương trình: Đặng Văn Oai 14 ... Mơ hình phân loại thư rác biểu diễn hình đây: Vì toán phân loại thư rác toán phân loại văn bản, thuật tốn áp dụng để phân loại văn áp dụng để phân loại thư điện tử, có nhiều phương pháp kiểm... Các phương pháp phân loại văn II Thư rác toán lọc thư rác II.1 Thư rác II.2 Bài toán phân loại thư rác III Phương pháp phân loại văn Naive Bayes ... mail thành Spam mail Phân loại thư rác tốn phân loại văn hai lớp, hai lớp văn Ham (thư hợp lệ) Spam (thư rác) Tập tài liệu mẫu ban đầu thư phân thành thư rác thư hợp lệ, văn cần phân lớp email nhận