Ứng dụng phân loại văn bản vào lọc thư rác

19 696 1
Ứng dụng phân loại văn bản vào lọc thư rác

Đ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

Ứng dụng phân loại văn bản vào lọc thư rác

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 XỬ LÝ NGÔN NGỮ TỰ NHIÊN Đề Tài: Ứng dụng phân loại văn vào lọc thư rác Giảng viên hướng dẫn : ThS Hoàng Anh Việt Sinh viên thực hiện: MSSV Đoàn Văn Đạt 20111370 Hà Nội – 4/2014 IT4875 Nhóm Mục lục Đặt vấn đề: Các cách tiếp cận để giải vấn đề : 2.1 Mục đích gửi thư rác 2.2 Các đặc tính thư rác Tổng quan toán phân loại văn 3.1 Định nghĩa phân loại văn 3.2 Tiến trình phân loại văn 3.3 Các bước tiến trình phân loại văn bản: .8 3.4 Các phương pháp phân loại văn 3.5 Bài toán phân loại thư rác 10 3.6 Thuật toán phân loại văn Naive Bayes 10 Phân tích thiết kế cách tiếp cận đề xuất : 12 4.1 Khái niệm “Token”: 12 4.2 Vector thuộc tính : .12 4.3 Cách thực : 13 Kết luận : 18 Tài liệu tham khảo: 19 Xử lý ngôn ngữ tự nhiên Page IT4875 Nhóm Đặt vấn đề: Thời đại ngày thời đại bùng nổ thông tin, Internet trở nên quen thuộc thiếu quốc gia xã hội Liên lạc qua Internet trở nên phổ biến, email phương tiện liên lạc có chi phí thấp, nhanh chóng hiệu Internet Hằng ngày người sử dụng email nhận lượng lớn email, nhiên không phi tất email mà ta nhận chứa thông tin mà ta quan tâm Những email mà ta không muốn nhận email Spam Ngược lại, email spam gọi non-spam – email hợp lệ người dùng chấp nhận Nhiều người nghĩ spam vấn đề mới, thực xuất lâu – từ năm 1975 Vào lúc khởi thủy, người dùng hầu hết chuyên gia máy tính, họ gửi hàng tá chí hàng trăm email đến nhóm tin (newsgroup) spam liên quan đến email gửi đến nhóm tin Usenet, gây tình trạng kiểm soát email nhận Sau biện pháp trừng trị mặt xã hội hành có tác dụng, thủ phạm bị trừng phạt , công khai hay bí mật, người nhanh chóng đưa vào danh sách, kỹ thuật lọc spam sớm xuất ”bad sender” – lọc email người gởi xem xấu WWW(World-Wide Web) mang giới Internet đến nhiều người, hệ nhiều người chuyên gia giới máy tính tiếp xúc nhiều với Internet, cho phép truy cập đến thông tin dịch vụ mà trước không phép Chỉ vòng 2-3 năm chứng kiến bùng nổ số người sử dụng Internet tất nhiên hội quảng cáo Và spam phát triển cách nhanh chóng từ đây, kỹ thuật ngăn chặn spam trước không thích hợp Spam thường theo sau quảng cáo thương mại chèo kéo khách hàng ( email quảng cáo thương mại gửi mà yêu cầu ) Spam gây tác hại đến người sử dụng Internet tốc độ đường truyền Internet Với người sử dụng email, spam gây cho họ cảm giác bực bội phải thời gian tiền bạc xóa chúng, họ bị email quan trọng xóa nhầm, tốc độ mạng xương sống Internet (Internet Backbone) bị spam làm cho chậm lại số lượng spam Xử lý ngôn ngữ tự nhiên Page IT4875 Nhóm chuyển mạng cực lớn Theo thống kê ZDNet thời điểm năm 2004, ngày có khoảng tỷ email spam phát tán qua Internet, 40% lượng email mạng spam, gần đạt số 50% Cho dù nhận diện “kẻ thù cộng đồng“(“public enemy”) Internet, spam mang lại lợi nhuận Trong số 100.000 email spam phát tán, cần email có phản hồi bù đắp chi phí đầu tư Để ngăn chặn spam, nhiều nhà khoa học, tổ chức, cá nhân nghiên cứu phát triển kỹ thuật phân loại lọc email, nhiên spammer – người tạo nên spam phát tán chúng tìm cách vượt qua lọc Cuộc chiến spammer người chống spam tiếp diễn dường hồi kết Thực tế cho thấy, nhu cầu có phương pháp công cụ chống spam hữu hiệu cần thiết Xuất phát từ thực trạng đó, nhóm BTL chọn hướng nghiên cứu “Xây dựng chương trình lọc thư rác việc ứng dụng phương pháp phân loại văn Naive Bayes” “ với mục đích tìm hiểu, thử nghiệm phương pháp tiếp cận cho toán phân loại email, từ thực phân loại email giúp ngăn chặn email spam hiệu Yêu cầu hệ thống: Yêu cầu hệ thống phân loại email ngăn chặn email spam đương nhiên phân loại email spam hay non-spam, từ có biện pháp ngăn chặn email spam, hiệu phân loại email phải khách quan, nhiên đánh đổi hiệu phân loại email spam cao mà bỏ qua lỗi sai cho email non-spam spam, với việc tăng khả phân loại email spam khả xảy lỗi nhận nhầm email non-spam thành email spam tăng theo Do yêu cầu hệ thống phân loại email spam phải nhận email spam nhiều tốt giảm thiểu lỗi nhận sai email non-spam email spam Xử lý ngôn ngữ tự nhiên Page IT4875 Nhóm Các cách tiếp cận để giải vấn đề : 2.1 Mục đích gửi thư rác Thư rác gửi với mục đích sau: - Quảng cáo sản phẩm, dịch vụ, … tổ chức, công ty thương mại - Lợi dụng tin người dùng để lừa gạt họ, hình thức kiếm tiền trực tuyến, … - Gửi kèm virus tập tin kèm theo thư điện tử, từ đưa virus vào máy nạn nhân hệ thống mạng mà nạn nhân sử dụng Sau lấy cắp thông tin quan trọng nạn nhân hệ thống - Nói xấu, xuyên tạc đó, tuyên truyền điều sai trái trị 2.2 Các đặc tính thư rác Thư rác chứa đặc tính sau: - Thư rác mang tính tương đối thư mang tính cá nhân, thư điện tử vô bổ với người với người khác lại có ích Ví dụ thư điện tử quảng cáo/ rao vặt cho sản phẩm cụ thể số người quan tâm người lại xem rác - Tính bất biến thư rác thể từ cụm từ không thay đổi lần spam (Ví dụ: Tên người, tên công ty, tên sản phẩm, mã sản phẩm, tên website sản phẩm, địa lưu trữ/ mua bán sản phẩm, …) - Nội dung thư chứa từ thường xuất thư rác (kiếm tiền, giàu nhanh, chọn nhanh, ) Xử lý ngôn ngữ tự nhiên Page IT4875 Nhóm Tổng quan toán phân loại văn 3.1 Định nghĩa phân loại văn Có nhiều cách định nghĩa khác phân loại văn nói cách ngắn gọn dễ hiểu: Phân loại văn phân loại không cấu trúc tài liệu văn dựa tập hợp hay nhiều loại văn định nghĩa trước Quá trình thường thực thi hệ thống tự động gán cho tài liệu văn loại Trong thực tế ứng dụng quan trọng phân loại văn giới hạn phạm vi tìm kiếm thông tin (bởi thay cho việc phải lục soát tất tài liệu họ tập trung vào số loại văn có liên quan đến thông tin mà họ cần tìm kiếm) Phân loại văn góp phần quan trọng việc tổ chức thông tin quản lí tài liệu Ứng dụng phổ biến phân loại văn trợ giúp cho việc tìm kiếm lọc văn tăng tốc độ truy cập thông tin Phân loại văn đóng vai trò quan trọng việc đa dạng hóa chuyên nghiệp hóa công việc quản lí thông tin là: việc xếp loại thư điện tử file hệ thống, xác minh chủ đề để trợ giúp cho tiến trình hoạt động xử lí, tìm kiếm hay duyệt cấu trúc, để tìm kiếm loại tài liệu mà người dùng quan tâm Như làm để phân loại văn bản? Câu trả lời làm rõ ta sâu vào tìm hiểu tiến trình phân loại văn 3.2 Tiến trình phân loại văn Vấn đề đặt cho toán phân loại văn bắt đầu sau: Đưa tập tài liệu mẫu D, cần phân bổ thành số loại tài liệu định - tài liệu cần gán cho loại văn Nhiệm vụ tìm hệ thống phân hoạch, mà cung cấp cho ta nhãn y phù hợp cho số tài liệu D vừa đưa vào từ nguồn tài nguyên giống văn mẫu Tổng quát với hệ thống phân loại điển mô tả sơ đồ sau gồm có tiến trình Xử lý ngôn ngữ tự nhiên Page IT4875 Tập liệu Nhóm Tiền xử lí Chọn đặc trưng Học phân loại Phân loại Kết Trong thực tế khâu tiền xử lí khâu lựa chọn đặc trưng cho văn (đặc trưng dấu hiệu quan trọng để nhận biết văn bản) Có thể coi khâu tiền đề cần thiết cho việc học phân loại Vì hiệu phân loại văn phụ thuộc cao vào tập đặc trưng mà sử dụng Trong mô hình phân loại điển hình phức tạp thường có số phương pháp có sẵn để lựa chọn đặc trưng Với phương pháp này, tập hợp liệu thô miêu tả số tập hợp đặc trưng Chúng đặt vấn đề làm để sử dụng đặc trưng cho phân hoạch tài liệu Hiện có hai cấu tổ chức để giải vấn đề Phương pháp thứ nhất: sử dụng phương pháp lựa chọn đặc trưng để chọn đặc trưng tối ưu Nếu chọn đặc trưng tối ưu từ liệu thô đầu vào, đơn sử dụng để học phân loại hình vẽ Tuy nhiên, trình tối ưu đơn giản Trong trường hợp sử dụng đặc trưng khác dẫn đến kết tương tự hiệu khác Trong thực tế có nhiều ví dụ Phương pháp thứ hai: sử dụng tập hợp đặc trưng phức hợp để đạt kết phân loại cao hơn, cải tiến quan trọng Điều nghĩa ta không sử dụng đặc trưng để phân loại tập tài liệu mà phải vào tất tập đặc trưng khác có tập tài liệu Sau phối hợp đặc trưng để đưa “vector phức hợp” không gian đặc trưng cho tập đặc trưng vừa chọn được, tiến hành phân loại văn Vấn đề phương pháp phác thảo đặc trưng Do đó, việc học phương pháp phân loại bao gồm hai công đoạn Phân hoạch huấn luyện tập tài liệu mẫu sau tổ hợp xếp huấn Xử lý ngôn ngữ tự nhiên Page IT4875 Nhóm luyện tập phê chuẩn ngược lại Các nghiên cứu gần thể phối hợp phân hoạch huấn luyện đặc trưng khác xảy kết có ‎nghĩa đặc biệt cải tiến hiệu Tuy với tập liệu đủ lớn thường đòi hỏi phải qua hai chặng đường học tập Thêm vào phối hợp phương pháp phân hoạch thể đặc trưng “lai” nhiều cấu trúc module hoạt động mức ưu tiên nhỏ Chọn đặc trưng Tập liệu Tiền xử lí Học Phân phân loại loại Kết Chọn đặc trưng k 3.3 Các bước tiến trình phân loại văn bản: - Lựa 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 văn Naive Bayes hay kNN (k-nearest neighbor algorithm)… Đầu trình máy dùng để phân loại tài liệu cần thiết (tiến hành phân loại văn bản) Xử lý ngôn ngữ tự nhiên Page IT4875 Nhóm 3.4 Các phương pháp phân loại văn Trước văn lưu trữ giấy tờ, để phân loại loại tài liệu cần đội ngũ nhân lực lớn Tuy nhiên phân loại người tương đối, lượng thông tin tăng lên cách chóng mặt phân loại tài liệu người đảm nhiệm đáp ứng 0.1% lượng thông tin Còn hầu hết loại văn lưu trữ sở liệu (lưu trữ máy tính), tự động phân loại thông tin ngày đóng vai trò quan trọng Dựa đặc trưng văn xuất nhiều chiến lược phân loại văn đề xuất áp dụng tập tài liệu khác Hiệu phương pháp tương đối hỗ trợ nhiều truy cập, quản lí, lọc thông tin Các phương pháp phân loại văn cho kết tốt thường sử dụng là: Nguyên mẫu (prototype) Mô hình xác suất Naive Bayes Phương pháp SVM (Support vectors Machines) Phương pháp định (Dicision Trees- Lewis and Ringuette, 1994) Phương pháp mạng neuron (Neuron network - Wiener et al., 1995; Schutze et al., 1995) Các mô hình xác suất Naive Bayes Kĩ thuật phân hoạch Naive Bayes dựa sở định lí Bayes đặc biệt phù hợp cho trường hợp phân loại có kích thước đầu vào lớn Mặc dù Naive Bayes đơn giản có khả phân loại tốt nhiều phương pháp phân hoạch phức tạp khác Với loại văn bản, thuật toán Naive 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 Xử lý ngôn ngữ tự nhiên Page IT4875 Nhóm 3.5 Bài toán phân loại thư rác Phân loại thư rác thực chất toán phân loại văn hai lớp, đó: tập tài liệu mẫu ban đầu thư rác (spam) thư hợp lệ (non-spam), văn cần phân lớp Email gửi đến client Kết đầu trình phân loại hai lớp văn bản: Spam(thư rác), Non-spam (thư hợp lệ) Mô hình phân loại thư rác tổng quát mô tả sau: 3.6 Thuật toán phân loại văn Naive Bayes Cơ sở phương pháp phân loại văn Naive Bayes chủ yếu dựa giả định Bayes Giả thuyết Bayes gán cho tài liệu văn cần phân loại giá trị xác suất Xác suất P(ck| di) gọi xác suất mà tài liệu di có khả thuộc vào lớp văn ck tính toán sau: P (c k | d i )  P (c k ) * P ( d i | c k ) P(d i ) Giả thiết email đại diện vector thuộc tính đặc trưng Xử lý ngôn ngữ tự nhiên Page 10 IT4875 Nhóm = (x1, x2 , , xn ) với x1, x2, …, xn giá trị thuộc tính X1, X2, …, Xn tương ứng không gian vector đặc trưng ⃗ Dựa vào công thức xác suất Bayes công thức xác suất đầy đủ ta có xác suất email với vector đặc trưng , thuộc loại c là: Với C email xét, c ϵ {spam, nonspam} Thực tế khó tính xác suất P( ⃗ |C) giá trị số lượng vector nhiều nhiều vector hay chí không xuất tập liệu huấn luyện Phương pháp Naive Bayes giả thiết X 1, X2, …, Xn biến cố độc lập, tính xác suất sau: Với P(Xi|C) P(C) tính dựa liệu học, việc tính dựa vào tập huấn luyện ban đầu Từ xác suất này, ta so sánh với giá trị ngưỡng t mà ta cho ngưỡng để phân loại email spam hay không, xác suât lớn t, ta cho email spam, ngược lại ta xem email non-spam Xử lý ngôn ngữ tự nhiên Page 11 IT4875 Nhóm Phân tích thiết kế cách tiếp cận đề xuất : 4.1 Khái niệm “Token”: Để xem xét nội dung email dùng khái niệm “token” Các token xem từ cần xem xét mà ta tách từ nội dung email Với ký tự chữ, ký tự số, ký tự „$‟, ký tự gạch ngang „-‟, ký tự gạch dưới, ký tự nháy đơn „‟‟ ký tự cấu tạo thành token Còn ký tự lại khoảng trắng, ký tự „*‟, ký tự „:‟, … xem ký tự để tách từ hay phân cách từ Với từ tách mà gồm toàn ký số không xem token (VD: “12345”) Ví dụ ta có token sau: “qvp0045”, “ indira”, “mx-05”, “$7500”, “3d0725”, “ platinum” Nếu ta có chuỗi sau: “http://www.24h.com.vn/” ta có token tương ứng là: “http”, “www”, “24h”, “com”, “vn” 4.2 Vector thuộc tính : ) với x1, x2,…, Ta chuyển email sang vector ⃗ ( xn giá trị thuộc tính X1, X2, …, Xn không gian vector đặc trưng Các thuộc tính token, nhóm token … Trong trường hợp đơn giản nhất, thuộc tính thể token đơn tất thuộc tính có giá trị luận lý (Boolean), Xi = email chứa token, trường hợp ngược lại Xi=0 Chúng chọn thuộc tính token đơn, thay giá trị thuộc tính giá trị luân lý (boolean), chọn xác suất spam token Xác suất spam token có giá đoạn [0,1] Xác suất cho ta nhiều thông tin so với giá trị luân lý Ví dụ: xét token “$” xuất email, ta sử dụng giá trị luận lý, ta không đủ sở để nghi ngờ email email spam, email dài khó kết luận spam Tuy nhiên sử dụng xác suất, ta biết khả email spam bao nhiêu, điều hợp Xử lý ngôn ngữ tự nhiên Page 12 IT4875 Nhóm lý sử dụng hai giá trị Chọn ngưỡng phân loại : Chúng tiến hành thử nghiệm với giá trị ngưỡng phân loại xác nhận email spam 0.999, 0.9999 4.3 Cách thực : Chúng ta bắt đầu với hai kho ngữ liệu email : kho ngữ liệu email spam kho ngữ liệu email non-spam Số lượng email kho ngữ liệu ban đầu không hạn chế Nếu kho ngữ liệu lớn hiệu lọc email cao Từ hai kho ngữ liệu này, phân tích duyệt qua tất token Sau ta tính xác suất spam token phân tích, xác suất xác suất email chứa token email spam Như mấu chốt ta phải tính xác suất spam token Theo Paulgraham, xác suất spam token tính dựa số lần xuất token kho ngữ liệu học ban đầu Ví dụ token w có số lần xuất kho ngữ liệu spam s, kho ngữ liệu non-spam n, số email tổng cộng hai kho ngữ liệu spam non-spam NS N N , xác suất spam token w tính sau: Tuy nhiên, số lần xuất token kho ngữ liệu học có khả vượt kích thước kho ngữ liệu học (tổng số email) (s> Ns, n>Nn) đó, công thức trên, thay Min( 1, Min(1, ) ) Do công thức 1-1 viết lại sau: Xử lý ngôn ngữ tự nhiên Page 13 IT4875 Nhóm ( ( ) ) ( ) ( ) ( ) Theo cách đánh giá khả spam token xuất kho ngữ liệu học 100 lần 100 email khác với khả spam token xuất kho ngữ liệu học 100 lần email Chúng đề xuất cách tính xác suất spam token khác sau: thay dựa vào số lần xuất token kho ngữ liệu học, dựa vào số email chứa token kho ngữ liệu học Công thức tính sau : Với : - ns số email có chứa token kho ngữ liệu email spam nn số email có chứa token kho ngữ liệu email non - spam Ns tổng số email kho ngữ liệu học spam Nn tổng số email kho ngữ liệu học non-spam Tuy nhiên, ta nhận thấy công thức đánh giá khả spam token với token xuất lần email token xuất 100 lần email, hai trường hợp, ta tính thêm vào số email chứa token mà Chúng ta kết hợp hai cách tính trên, sử dụng nhiều thông tin token Chúng đề xuất thêm công thức – xem kết hợp hai công thức Xử lý ngôn ngữ tự nhiên Page 14 IT4875 Nhóm ( ) ( ) Với - ns số email có chứa token kho ngữ liệu email spam nn số email có chứa token kho ngữ liệu email non- spam NS tổng số email kho ngữ liệu học spam NN tổng số email kho ngữ liệu học non-spam b số lần xuất token kho ngữ liệu email spam g số lần xuất token kho ngữ liệu email nonspam Còn token xuất kho ngữ liệu mà không xuất kho ngữ liệu ta kết luận token xuất kho ngữ liệu spam không xuất email non-spam, ngược lại Cách thích hợp ta gán cho chúng giá trị phù hợp Như vậy, với token xuất kho ngữ liệu email spam ta gán khả xác suất spam cho giá trị N gần với 1(chẳng hạn 0.9999 )và ngược lại gán xác suất spam giá trị M gần với (chẳng hạn 0.0001) Như ta xác định xác suất spam email chứa token hay xác suất spam token sau: Tính theo công thức 1-4: ( Xử lý ngôn ngữ tự nhiên ( )) ( ) Page 15 IT4875 Nhóm Công thức 1-5 :công thức tính xác suất spam token dựa số lần xuất s email chứa Với : - s số lần xuất token kho ngữ liệu học spam n số lần xuất token kho ngữ liệu học non- spam ns số email chứa token kho ngữ liệu học spam nN số email chứa token kho ngữ liệu học non-spam Ns tổng số email chứa kho ngữ liệu học spam NN tổng số email chứa kho ngữ liệu học non-spam Công thức tính xác suất spam email C là: |⃗ ( ⃗) ( ∑ * ) ∏( + ) ( ( ) ∏( | ) ) ( | ) Với P (C = spam) = (số thư rác)/ (tổng số thư) P(C = non-spam) = (số thư không spam )/(tổng số thư ) Ví dụ: Token: Xác suất (Probability): Adventures 0.99 printable 0.99 shorstest 0.047225013 Xác suất P(C = spam) = 0.5 P(C = non-spam) = 0.5 (chọn theo khả chương trình) -> Xác suất tổng hợp email: Xử lý ngôn ngữ tự nhiên Page 16 IT4875 Nhóm Sau có xác suất tổng hợp, so sánh với giá trị ngưỡng ( nói phần trước) để phân loại email spam hay non-spam, xác suất spam tổng hợp email lớn ngưỡng t kết luận email spam, ngược lại email non-spam Xử lý ngôn ngữ tự nhiên Page 17 IT4875 Nhóm Kết luận : Nhóm tìm hiểu ứng dụng phân loại văn vào toán phân loại thư rác Với việc phân loại thư rác tiếng Anh không gặp nhiều khó khăn phân loại thư tiếng Việt (việc tách từ tiếng Việt không đơn giản tiếng Anh, xây dựng kho ngữ liệu khó hơn) Xử lý ngôn ngữ tự nhiên Page 18 IT4875 Nhóm Tài liệu tham khảo: P.Graham, A Plan for Spam, http://www.paulgraham.com/spam.html, August 2002 P.Graham, Better Bayesian Filtering, http://www.paulgraham.com/better.html, January 2003 Xử lý ngôn ngữ tự nhiên Page 19 [...]... phần trước) để phân loại email spam hay non-spam, nếu xác suất spam tổng hợp của email lớn hơn ngưỡng t chúng tôi kết luận email đó là spam, ngược lại email đó là non-spam Xử lý ngôn ngữ tự nhiên Page 17 IT4875 Nhóm 7 5 Kết luận : Nhóm đã tìm hiểu ứng dụng phân loại văn bản vào bài toán phân loại thư rác Với việc phân loại thư rác tiếng Anh thì không gặp nhiều khó khăn như phân loại thư tiếng Việt... tổng số email chứa trong kho ngữ liệu học non-spam Công thức tính xác suất spam của một email C là: |⃗ ( ⃗) ( ∑ * ) ∏( + ) ( ( ) ∏( | ) ) ( | ) Với P (C = spam) = (số thư rác) / (tổng số thư) P(C = non-spam) = (số thư không spam )/(tổng số thư ) Ví dụ: Token: Xác suất (Probability): Adventures 0.99 printable 0.99 shorstest 0.047225013 Xác suất P(C = spam) = 0.5 và P(C = non-spam) = 0.5 (chọn theo khả năng... hiện trong email, nếu ta sử dụng giá trị luận lý, ta không đủ cơ sở để nghi ngờ email này là email spam, và nếu email này khá dài thì càng khó kết luận rằng nó là spam Tuy nhiên sử dụng xác suất, ta có thể biết được khả năng email đó là spam là bao nhiêu, điều này hợp Xử lý ngôn ngữ tự nhiên Page 12 IT4875 Nhóm 7 lý hơn là chỉ sử dụng hai giá trị 0 và 1 Chọn ngưỡng phân loại : Chúng tôi tiến hành thử... P(Xi|C) và P(C) được tính dựa trên dữ liệu học, việc tính này dựa vào tập huấn luyện ban đầu Từ xác suất này, ta so sánh với một giá trị ngưỡng t mà ta cho là ngưỡng để phân loại email spam hay không, nếu xác suât này lớn hơn t, ta cho là email đó là spam, ngược lại ta xem email đó là non-spam Xử lý ngôn ngữ tự nhiên Page 11 IT4875 Nhóm 7 4 Phân tích thiết kế cách tiếp cận đề xuất : 4.1 Khái niệm “Token”:... thử nghiệm với giá trị ngưỡng phân loại xác nhận một email là spam lần lượt là 0.999, 0.9999 4.3 Cách thực hiện : Chúng ta sẽ bắt đầu với hai kho ngữ liệu email : kho ngữ liệu email spam và kho ngữ liệu email non-spam Số lượng email trong mỗi kho ngữ liệu ban đầu không hạn chế Nếu kho ngữ liệu càng lớn thì hiệu quả lọc email sẽ càng cao Từ hai kho ngữ liệu này, chúng tôi phân tích và duyệt qua tất cả...IT4875 Nhóm 7 = (x1, x2 , , xn ) với x1, x2, …, xn là giá trị của các thuộc tính X1, X2, …, Xn tương ứng trong không gian vector đặc trưng ⃗ Dựa vào công thức xác suất Bayes và công thức xác suất đầy đủ ta có được xác suất một email với vector đặc trưng , thuộc về loại c là: Với C là email được xét, c ϵ {spam, nonspam} Thực tế thì rất khó tính được xác suất P( ⃗ |C) bởi vì giá trị... của mỗi token là như nhau với token xuất hiện 1 lần trong 1 email và token xuất hiện 100 lần trong 1 email, bởi vì cả hai trường hợp, ta đều chỉ tính thêm vào số email chứa token là 1 mà thôi Chúng ta có thể kết hợp hai cách tính trên, có thể sử dụng được nhiều thông tin về token hơn Chúng tôi đề xuất thêm một công thức nữa – được xem là sự kết hợp giữa hai công thức trên Xử lý ngôn ngữ tự nhiên Page... khoảng trắng, ký tự „*‟, ký tự „:‟, … được xem là ký tự để tách từ hay phân cách các từ Với những từ tách được mà gồm toàn ký số thì không được xem là token (VD: “12345”) Ví dụ ta có các token sau: “qvp0045”, “ indira”, “mx-05”, “$7500”, “3d0725”, “ platinum” Nếu ta có một chuỗi sau: “http://www.24h.com.vn/” thì ta sẽ có các token tương ứng là: “http”, “www”, “24h”, “com”, “vn” 4.2 Vector thuộc tính : )... một token xuất hiện trong một kho ngữ liệu học 100 lần nhưng chỉ trong một email Chúng tôi đề xuất một cách tính xác suất spam của token khác như sau: thay vì dựa vào số lần xuất hiện của token trong từng kho ngữ liệu học, chúng tôi dựa vào số email chứa token trong từng kho ngữ liệu học Công thức tính như sau : Với : - ns là số email có chứa token trong kho ngữ liệu email spam nn là số email có chứa... không hạn chế Nếu kho ngữ liệu càng lớn thì hiệu quả lọc email sẽ càng cao Từ hai kho ngữ liệu này, chúng tôi phân tích và duyệt qua tất cả các token Sau đó ta tính xác suất spam của mỗi token đã được phân tích, xác suất này chính là xác suất một email chỉ chứa token đó và là email spam Như vậy mấu chốt ở đây là ta phải tính ra được xác suất spam của mỗi token Theo Paulgraham, xác suất spam của mỗi ... trình phân loại hai lớp văn bản: Spam (thư rác) , Non-spam (thư hợp lệ) Mô hình phân loại thư rác tổng quát mô tả sau: 3.6 Thuật toán phân loại văn Naive Bayes Cơ sở phương pháp phân loại văn Naive... IT4875 Nhóm Kết luận : Nhóm tìm hiểu ứng dụng phân loại văn vào toán phân loại thư rác Với việc phân loại thư rác tiếng Anh không gặp nhiều khó khăn phân loại thư tiếng Việt (việc tách từ tiếng... Tiền xử lí Học Phân phân loại loại Kết Chọn đặc trưng k 3.3 Các bước tiến trình phân loại văn bản: - Lựa 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

Ngày đăng: 29/12/2015, 16:28

Từ khóa liên quan

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

Tài liệu liên quan