báo cáo đề tài viết chương trình phân loại thư rác

27 921 7
báo cáo đề tài viết chương trình phân loại 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

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: Viết chương trình phân loại thư rác Sinh viên thực hiện: Bùi Vũ Hải 20070984 Đỗ Hoài Nam 20072001 Lê Văn Đạo 20070700 Nguyễn Minh Quang 20062495 Lớp : Hệ thống thông tin – K52 Giảng viên hướng dẫn: PGS. Lê Thanh Hương MỤC LỤC: 1. Đặt vấn đề: Thời đại ngày nay là thời đại bùng nổ thông tin, Internet đã trở nên quen thuộc và không thể thiếu đối với mỗi quốc gia và xã hội. Liên lạc qua Internet đã trở nên phổ biến, và email là một phương tiện liên lạc có chi phí thấp, nhanh chóng và hiệu quả nhất trên Internet. Hằng ngày mỗi người sử dụng email đều nhận được một lượng lớn email, tuy nhiên không phi tất cả các email mà ta nhận được đều chứa thông tin mà ta quan tâm. Những email mà ta không muốn nhận ấy là email Spam. Ngược lại, những email không phải là spam gọi là non-spam – email hợp lệ được người dùng chấp nhận. Nhiều người trong chúng ta nghĩ rằng spam là một vấn đề mới, nhưng thực ra nó đã xuất hiện khá lâu – ít nhất là từ năm 1975. Vào lúc khởi thủy, người dùng hầu hết là các chuyên gia về máy tính, họ có thể gửi hàng tá thậm chí hàng trăm email đến các nhóm tin (newsgroup) và spam hầu như chỉ liên quan đến các email gửi đến các nhóm tin Usenet, gây ra tình trạng không thể kiểm soát được các email nhận. Sau đó các biện pháp trừng trị về mặt xã hội và hành chính đã có tác dụng, thủ phạm đã bị trừng phạt , công khai hay bí mật, những người này nhanh chóng được đưa vào một danh sách, và một kỹ thuật lọc spam sớm nhất xuất hiện đó là ”bad sender” – lọc email của những người gởi được xem là xấu. WWW(World-Wide Web) đã mang thế giới Internet đến nhiều người, và hệ quả của nó là nhiều người không phải là chuyên gia trong thế giới máy tính cũng được tiếp xúc nhiều với Internet, nó cho phép truy cập đến những thông tin và dịch vụ mà trước đây là không được phép. Chỉ trong vòng 2-3 năm chúng ta đã chứng kiến sự bùng nổ số người sử dụng Internet và tất nhiên là những cơ hội quảng cáo trên đấy. Và spam đã phát triển một cách nhanh chóng từ đây, những kỹ thuật ngăn chặn spam trước đây đã không còn thích hợp. Spam thường theo sau những quảng cáo thương mại chèo kéo khách hàng ( những email quảng cáo thương mại được gửi mà không có yêu cầu ). Spam đã và đang gây tác hại đến người sử dụng Internet và 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 và phải mất thời gian và tiền bạc xóa chúng, đôi khi họ có thể bị mất những email quan trọng chỉ vì xóa nhầm, tốc độ trên mạng xương sống của Internet (Internet Backbone) cũng bị spam làm cho chậm lại vì số lượng spam được chuyển đi trên mạng là cực lớn. Theo thống kê của ZDNet ở thời điểm năm 2004, mỗi ngày có khoảng 4 tỷ email spam được phát tán qua Internet, trên 40% lượng email trên mạng là spam, gần đây đã đạt con số 50% . Cho dù được nhận diện là “kẻ thù của cộng đồng“(“public enemy”) Internet, nhưng spam đã và đang mang lại lợi nhuận. Trong số 100.000 email spam phát tán, chỉ cần một email có phản hồi là đã có thể bù đắp chi phí đầu tư. Để ngăn chặn spam, nhiều nhà khoa học, các tổ chức, các cá nhân đã nghiên cứu và phát triển những kỹ thuật phân loại và lọc email, tuy nhiên các spammer – những người tạo nên spam và phát tán chúng cũng tìm mọi cách vượt qua các bộ lọc này. Cuộc chiến giữa các spammer và những người chống spam vẫn còn đang tiếp diễn và dường như không có hồi kết. Thực tế cho thấy, nhu cầu có một phương pháp và công cụ chống spam hữu hiệu là rất 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 một chương trình lọc thư rác bằng việc ứng dụng phương pháp phân loại văn bản Naive Bayes” “ với mục đích tìm hiểu, thử nghiệm các phương pháp tiếp cận cho bài toán phân loại email, từ đó thực hiện phân loại email giúp ngăn chặn email spam hiệu quả. Yêu cầu hệ thống: Yêu cầu đối với một hệ thống phân loại email và ngăn chặn email spam đương nhiên là phân loại được email là spam hay non-spam, từ đó sẽ có biện pháp ngăn chặn email spam, hiệu quả phân loại email phải khách quan, tuy nhiên không thể đánh đổi hiệu quả phân loại email spam cao mà bỏ qua lỗi sai cho rằng email non-spam là spam, bởi vì cùng với việc tăng khả năng phân loại email spam thì khả năng xảy ra lỗi nhận nhầm email non-spam thành email spam cũng tăng theo. Do đó yêu cầu đối với một hệ thống phân loại email spam là phải nhận ra được email spam càng nhiều càng tốt và giảm thiểu lỗi nhận sai email non-spam là email spam. 2. Các cách tiếp cận để giải quyết vấn đề : 2.1 Các cách thức con người xử lý với spam : Trên thế giơi đã có nhiều tổ chức, công ty phát triển nhiều cách thức khác nhau giải quyết vấn đề spam. Có nhiều hệ thống được xây dựng sẵn một “danh sách đen” (Blacklist ) chứa các tên miền mà từ đó spam được tạo ra và phát tán, và dĩ nhiên là các email đến từ các tên miền này hoàn toàn bị khóa (block out). Một số hệ thống căn cứ vào header của email (những trường như nơi gửi (from ), tiêu đề (subject) ) và loại bỏ những email có địa chỉ xuất phát từ những spammer (người phát tán spam). Vài hệ thống khác lại tìm kiếm trong nội dung của email, những dấu vết cho thấy có sự tồn tại của spam chẳng hạn email có quá nhiều dấu than, số chữ cái được viết hoa nhiều một cách bất bình thường … Tuy nhiên các spammer ngày càng tinh vi, vì thế các kỹ thuật dùng để chống spam cũng phải được cải tiến, và chính nhũng cải tiến này càng thôi thúc các spammer trở nên ranh ma và tinh vi hơn… Kết quả là như hiện nay, các email spam gần như giống với một email thông thường. Tuy nhiên email spam có một điều không bao giờ thay đổi đó là bản chất của nó. Bản chất đó chính là mục tiêu quảng cáo sản phẩm hay dịch vụ. Nó là cơ sở cho phương pháp lọc email dựa trên nội dung (content based filtering).Theo đó, chúng ta cố gắng phát hiện ra các ngôn ngữ quảng cáo (sales-pitch language) thay vì chú ý đến các chỉ số thống kê của email chẳng hạn như có bao nhiêu lần xuất hiện chữ “h0t chixxx!” … Một điều quan trọng cần phải cân nhắc đến khi lọc spam là cái giá phải trả khi lọc sai. Nếu một bộ lọc từ chối nhận hầu hết các email gửi đến hoặc đánh dấu một email thật sự quan trọng nào đó là spam thì điều đó còn tệ hơn cả việc nhận tất cả email spam được gửi đến. Ngược lại, nếu có quá nhiều email spam vượt được bộ lọc thì rõ ràng bộ lọc hoạt động không hiệu quả, không đáp ứng được yêu cầu của người sử dụng. Các phương pháp phân loại thư rác phổ biến hiện nay: Tổ chức hợp tác phát triển kinh tế OECD (Organization for Economic Co-operatation Development) khuyến nghị một số biện pháp đối phó với spam, trong đó có việc thông qua các chế tài pháp lý quốc tế, đầu tư mạnh vào hệ thống lọc thư rác, thiết lập những trung tâm phản ứng nhanh liên kết các ISP (Internet service Provider) toàn cầu, đồng thời tăng cường các chiến dịch tuyên truyền cộng đồng về sự nguy hại và cách đối phó với thư rác. Hiện giải pháp được sử dụng nhiều nhất là dùng các phần mềm tích hợp với hệ thống thư hoạt động theo cơ chế “lọc theo nội dung” và “lọc theo danh sách website chuyển tiếp”. Một số công nghệ chống spam thú vị đang được nghiên cứu: 1. Tem cho e-mail: Theo hai nhà nghiên cứu Fahlman và Mark Wegman thuộc Trung tâm Nghiên cứu của IBM (International Business Machines) tại Watson, Mỹ, phương pháp chống spam hiệu quả nhất là yêu cầu những người không có tên trong danh sách “khách hàng thân thiết” của bạn phải mua tem cho mỗi email mà họ gửi cho bạn. Một chương trình sẽ được đặt nằm giữa máy chủ email và máy tính cá nhân của khách hàng để đối chiếu tên người gửi với danh sách khách hàng của bạn. Những kẻ gửi thư rác sẽ phải cân nhắc kỹ trước khi bấm “send” để gửi hàng loạt email. 2. Cài mật mã: Bạn gửi email thông báo cho tất cả mọi người với một đoạn mật mã đã được cài đặt sẵn trong email của bạn, và máy chủ email của ISP sẽ chỉ cho phép những email nào có đoạn mật mã này đi qua. 3. Khai báo thông tin: Một chương trình sẽ chặn email từ những người lạ, và yêu cầu cung cấp đầy đủ thông tin cá nhân trước khi chuyển email đến người nhận. 4. Lọc email qua nội dung: Một chương trình sẽ thu thập thông tin nằm trong phần nội dung của email để giúp cho các quản trị viên máy chủ email tách thư rác ra khỏi hệ thống. Phần mềm sẽ lướt qua toàn bộ thông điệp để tìm kiếm những từ khóa có liên quan đến thư rác. Chẳng hạn nếu bạn không có nhu cầu mua điện thoại di động, bạn không mong muốn nhận được các bức thư quảng cáo bán điện thoại. Vì vậy, “Nokia” có thể là một từ khóa lọc thư quan trọng. Các cơ chế lọc thư phức tạp hơn có thể lọc nguyên cả một đoạn mã lệnh đầu của thông điệp, những đoạn mã này bám theo suốt quá trình luân chuyển của email và cung cấp thông tin về chuyến đi đó. Nếu một site spam có tên trong lịch trình đó, phần mềm sẽ tự động chặn bức thông điệp lại. 5. Lọc theo danh sách website chuyển tiếp: Một công nghệ lọc khác dựa trên danh sách các site chuyển tiếp. Công nghệ lọc này kiểm tra và chặn các thông điệp được truyền tải qua những điểm chuyển tiếp mở rộng, tức là các hệ thống trên Internet cho phép người sử dụng dùng chúng như những điểm quá cảnh thư. Những kẻ tấn công bằng spam (spammer) thường xuyên sử dụng các điểm chuyển tiếp mở này để che dấu tung tích xuất xứ của mình. Trong nhiều trường hợp, tin tặc tận dụng các lỗ hổng bảo mật để “ra lệnh” cho các máy chủ chuyển tiếp làm công việc của spammer. Đố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 đồ án này tôi 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” và ứng dụng phương pháp này để phân loại các email cá nhân trong một Email Client. 2.2 Tổng quan về bài toán phân loại văn bản 2.2.1 Định nghĩa phân loại văn bản Có nhiều cách định nghĩa khác nhau về phân loại văn bản nhưng nói một cách ngắn gọn dễ hiểu: Phân loại văn bản là sự phân loại không cấu trúc các tài liệu văn bản dựa trên một tập hợp của một hay nhiều loại văn bản đã được định nghĩa trước. Quá trình này thường được thực thi bằng một hệ thống tự động gán cho các tài liệu văn bản một loại nào đó. Trong thực tế ứng dụng quan trọng nhất của phân loại văn bản là 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 cả các tài liệu họ chỉ tập trung vào một số loại văn bản có liên quan đến thông tin mà họ cần tìm kiếm). Phân loại văn bản góp phần quan trọng trong việc tổ chức thông tin và quản lí tài liệu. Ứng dụng phổ biến nhất của phân loại văn bản là trợ giúp cho việc tìm kiếm và lọc văn bản do đó tăng tốc độ truy cập thông tin. Phân loại văn bản cũng đóng vai trò quan trọng trong việc đa dạng hóa và chuyên nghiệp hóa các công việc quản lí thông tin như là: việc sắp xếp các loại thư điện tử hoặc các file trong các hệ thống, xác minh chủ đề để trợ giúp cho các tiến trình hoạt động xử lí, tìm kiếm hay duyệt các cấu trúc, hoặc để tìm kiếm các loại tài liệu mà người dùng quan tâm. Như vậy làm thế nào để phân loại văn bản? Câu trả lời sẽ được làm rõ khi ta đi sâu vào tìm hiểu tiến trình phân loại văn bản. 2.2.2 Tiến trình phân loại văn bản Vấn đề đặt ra cho các bài toán phân loại văn bản có thể bắt đầu như sau: Đưa ra một tập tài liệu mẫu D, cần được phân bổ thành một số loại tài liệu nhất định - mỗi tài liệu đó cần được gán cho một loại văn bản nào đó. Nhiệm vụ của chúng ta là tìm một hệ thống phân hoạch, mà nó sẽ cung cấp cho ta một nhãn y phù hợp cho một số tài liệu trong D vừa được đưa vào từ nguồn tài nguyên giống nhau như các văn bản mẫu. Tổng quát hơn với một hệ thống phân loại điển hình như mô tả ở sơ đồ sau gồm có các tiến trình. Tập dữ liệu mẫu Tiền xử lí Học một bộ phân loại Phân loại Kết quả Chọn đặc trưng Trong thực tế khâu tiền xử lí cũng chính là khâu lựa chọn đặc trưng cho các văn bản (đặc trưng ở đây là các dấu hiệu quan trọng để nhận biết văn bản). Có thể coi khâu này là tiền đề cần thiết cho việc học một bộ phân loại. Vì thế hiệu quả của các bộ phân loại văn bản phụ thuộc rất cao vào tập các đặc trưng mà chúng ta sử dụng. Trong các mô hình phân loại điển hình và phức tạp thường có một số các phương pháp có sẵn để lựa chọn đặc trưng. Với những phương pháp này, tập hợp các dữ liệu thô được miêu tả bằng một số các tập hợp đặc trưng. Chúng đặt ra một vấn đề là làm thế nào để sử dụng những đặc trưng ấy cho phân hoạch tài liệu. Hiện nay có hai cơ cấu tổ chức để giải quyết các vấn đề đó. Phương pháp thứ nhất: sử dụng các phương pháp lựa chọn đặc trưng để chọn ra một đặc trưng tối ưu. Nếu chọn ra được một đặc trưng tối ưu từ bộ dữ liệu thô ở đầu vào, chúng ta có thể chỉ đơn thuần sử dụng nó để học một bộ phân loại như hình vẽ. Tuy nhiên, quá trình tối ưu đó không phải đơn giản. Trong trường hợp này khi sử dụng các đặc trưng khác nhau vẫn có thể sẽ dẫn đến các kết quả tương tự nhau hoặc là hiệu quả khác nhau. Trong thực tế có rất nhiều những ví dụ như thế. Phương pháp thứ hai: sử dụng một tập hợp các đặc trưng phức hợp để đạt kết quả phân loại cao hơn, đây là một trong những cải tiến quan trọng. Điều đó nghĩa là ta không chỉ sử dụng một đặc trưng để phân loại các tập tài liệu mà phải căn cứ vào tất cả các tập đặc trưng khác nhau có trong tập tài liệu. Sau đó phối hợp các đặc trưng đó để đưa ra một “vector phức hợp” của các không gian đặc trưng cho các tập đặc trưng vừa chọn được, rồi mới tiến hành phân loại văn bản. Vấn đề cơ bản nhất của những phương pháp này là phác thảo các đặc trưng. Do đó, việc học một phương pháp phân loại bao gồm hai công đoạn. Phân hoạch đầu tiên sẽ được huấn luyện trên tập tài liệu mẫu và sau đó tổ hợp các sắp xếp này được huấn luyện trên một tập các phê chuẩn ngược lại. Các nghiên cứu gần đây thể hiện rằng chính sự phối hợp của các phân hoạch được huấn luyện trên các đặc trưng khác nhau xảy ra như một kết quả có nghĩa đặc biệt đối với sự cải tiến các hiệu quả. Tuy vậy với một tập dữ liệu đủ lớn thường đòi hỏi phải qua hai chặng đường học tập. Thêm vào đó sự phối hợp của các phương pháp phân hoạch cũng được thể hiện như một đặc trưng “lai” giữa nhiều cấu trúc module hoạt động trong các mức ưu tiên nhỏ hơn. Tập dữ liệu mẫu Tiền xử lí Chọn đặc trưng 1 Học một bộ phân loại Kết quả Chọn đặc trưng k . Phân loại Các bước trong tiến trình phân loại văn bản: - Lựa chọn các đặc trưng văn bản - Biểu diễn văn bản - Học một bộ phân loại văn bản - Tiến hành phân loại văn bản Trong đó, lựa chọn đặc trưng văn bản là quá trình phân tích văn bản thành các từ hay cụm từ. Biểu diễn văn bản là cách thể hiện văn bản dưới dạng một vector mà không gian của nó là tập các đặc trưng đã lựa chọn. Căn cứ vào các đặc trưng đã chọn có thể học một bộ phân loại văn bản như Naive Bayes hay kNN (k-nearest neighbor algorithm)… Đầu ra của quá trình này sẽ là một máy dùng để phân loại các tài liệu cần thiết (tiến hành phân loại văn bản). 2.2.3 Các phương pháp phân loại văn bản Trước đây khi văn bản còn lưu trữ trên giấy tờ, để phân loại các loại tài liệu chúng ta cần một đội ngũ nhân lực khá lớn. Tuy nhiên sự phân loại của con người cũng chỉ là tương đối, trong khi lượng thông tin tăng lên một cách chóng mặt thì sự phân loại tài liệu do con người đảm nhiệm chỉ có thể đáp ứng 0.1% lượng thông tin đó. Còn bây giờ hầu hết các loại văn bản đều được lưu trữ trên một cơ sở dữ liệu (lưu trữ trên máy tính), vì vậy tự động phân loại thông tin ngày càng đóng vai trò quan trọng. Dựa trên các đặc trưng của văn bản đã xuất hiện nhiều chiến lược phân loại văn bản đã được đề xuất và áp dụng trong các tập tài liệu khác nhau. Hiệu quả của các phương pháp đó tuy chỉ là tương đối nhưng đã hỗ trợ rất nhiều trong truy cập, quản lí, lọc thông tin. Các phương pháp phân loại văn bản cho kết quả tốt thường được sử dụng là: 1 Nguyên mẫu (prototype) 2 Mô hình xác suất Naive Bayes 3 Phương pháp SVM (Support vectors Machines) 4 Phương pháp cây quyết định (Dicision Trees- Lewis and Ringuette, 1994) 5 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 của Naive Bayes Kĩ thuật phân hoạch của Naive Bayes dựa trên cơ sở định lí Bayes và đặc biệt phù hợp cho các trường hợp phân loại có kích thước đầu vào là lớn. Mặc dù Naive Bayes khá đơn giản nhưng nó có khả năng phân loại tốt hơn rất nhiều phương pháp phân hoạch phức tạp khác. Với mỗi loại văn bản, thuật toán Naive Bayes tính cho mỗi lớp văn bản một xác suất mà tài liệu cần phân hoạch có thể thuộc loại đó. Tài liệu đó sẽ được gán cho lớp văn bản nào có xác suất cao nhất. 2.2.4 Bài toán phân loại thư rác Phân loại thư rác thực chất là bài toán phân loại văn bản hai lớp, trong đó: tập tài liệu mẫu ban đầu là các thư rác (spam) và các thư hợp lệ (ham), các văn bản cần phân lớp là các Email được gửi đến client. Kết quả đầu ra của quá trình phân loại này là hai lớp văn bản: Spam(thư rác), Ham (thư hợp lệ). Mô hình phân loại thư rác tổng quát có thể mô tả như sau: Tiến trình phân loại các thư điện tử trong máy lọc văn bản được biểu diễn như sau: 2.2.5 Thuật toán phân loại văn bản Bayes 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. Giả thuyết Bayes gán cho mỗi tài liệu văn bản cần phân loại một giá trị xác suất. Xác suất P(c k | d i ) gọi là xác suất mà tài liệu d i có khả năng thuộc vào lớp văn bản c k được tính toán như sau: )( )|(*)( )|( i kik ik dP cdPcP dcP = tài liệu d i sẽ được gán cho loại văn bản nào có xác suất hậu nghiệm cao nhất nên được biểu diễn bằng công thức: [...]... 0,999 thì mail này được coi là spam) 5 Kết luận : Nhóm đã xây dựng chương trình phân loại thư rác với mail đầu vào có thể viết bằng tiếng Anh lẫn tiếng việt 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 (việc tách từ tiếng Việt không đơn giản như tiếng Anh, xây dựng kho ngữ liệu khó hơn do bộ thư viện mail chuẩn spam và non spam tiếng việt nhóm BTL phải tự... thuật toán và chương trình đã xây dựng đúng mục đích và hoàn chỉnh theo - phân tích thiết kế đề ra từ đầu Việc phân loại thư rác tiếng Anh đã hoàn chỉnh và có tỉ lệ nhận ra thư rác cao, tỉ lệ không nhận ra mail spam (đối với những mail chính xác là spam) là 6%, và chỉ có - 0,2% đối với việc nhận nhầm mail non-spam thành mail spam Việc phân loại thư rác tiếng Việt vẫn tồn tại nhiều vấn đề và độ chính... về tách từ 6 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 7 Phân công công việc trong nhóm Nguyễn Minh Quang Lê Văn Đạo Bùi Vũ Hải Đỗ Hoài Nam - Tìm tài liệu Dịch tài liệu Viết báo cáo Tìm tài liệu Dịch tài liệu Tham gia phân tích thiết kế phần mềm Phân tích thiế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 3 Phân tích thiết kế cách tiếp cận đề xuất : Thiết kế chương trình dựa trên phân tích thiết kế của P Graham - A Plan for Spam (mô tả kỹ thuật lọc thư rác sử dụng thuật toán Naive Bayes với một số cải tiến) 3.1 Khái... = Xác suất có thể của RED * Khả năng X thuộc RED = 20 3 3 * = 60 20 60 cuối cùng chúng ta phân loại X vào RED vì nó là đạt xác suất hậu nghiệm lớn nhất Việc phân loại ở ví dụ trên thuộc về trực giác khi sử dụng Naive Bayes Nhưng phân hoạch Naive Bayes có thể vận dụng một số các tuỳ biến phụ thuộc Tóm lại phân loại văn bản sử dụng thuật toán Naive Bayes có thể diễn đạt như sau: Giả thiết mỗi một email... Hải Đỗ Hoài Nam - Tìm tài liệu Dịch tài liệu Viết báo cáo Tìm tài liệu Dịch tài liệu Tham gia phân tích thiết kế phần mềm Phân tích thiết kế phần mềm Trình bày BTL Tham gia viết code Phân tích thiết kế phần mềm Viết code Test và đánh giá hệ thống Viết báo cáo ... (chọn theo khả năng của chương trình) -> Xác suất tổng hợp của email: Sau khi có xác suất tổng hợp, chúng tôi so sánh với các giá trị ngưỡng ( đã nói ở các 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 4 Thử nghiệm và đánh giá hệ thống : Trong phạm vi chương trình nhóm BTL sử dụng... email Chương trình sử dụng 2 tập mẫu mail chuẩn là: - spam.txt : để xây dựng bảng băm spam non-spam.txt : để xây dựng bảng băm non – spam Cả 2 bảng băm đều có cấu trúc Từ 2 bảng băm trên dựa vào công thức 1-5 ta xây dựng bảng băm thứ 3 với cấu trúc : - Hiển thị bảng băm thứ 3 sau khi tính toán (xác suất spam, token) Chương trình. .. là tổng số tài liệu Để chứng minh cho ý tưởng của Naive Bayes ta xét ví dụ sau: Có hai đối tượng GREEN và RED Nhiệm vụ của chúng ta là phân loại các trường hợp mới khi chúng được đem tới Lựa chọn để gom chúng thành các đối tượng cụ thể trên cơ sở hai đối tượng đã có là GREEN và RED Như vậy từ hai đối tượng này ta phải tìm ra được lí do hợp lí để giả thiết cho các đối tượng mới đó Trong phân tích của... 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 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ử 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 3.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 . loại đó. Tài liệu đó sẽ được gán cho lớp văn bản nào có xác suất cao nhất. 2.2.4 Bài toán phân loại thư rác Phân loại thư rác thực chất là bài toán phân loại văn bản hai lớp, trong đó: tập tài liệu. hiểu tiến trình phân loại văn bản. 2.2.2 Tiến trình phân loại văn bản Vấn đề đặt ra cho các bài toán phân loại văn bản có thể bắt đầu như sau: Đưa ra một tập tài liệu mẫu D, cần được phân bổ thành. 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

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

Từ khóa liên quan

Mục lục

  • 2. Các cách tiếp cận để giải quyết vấn đề :

  • 2.1 Các cách thức con người xử lý với spam :

  • 2.2 Tổng quan về bài toán phân loại văn bản

  • 2.2.1 Định nghĩa phân loại văn bản

  • 2.2.2 Tiến trình phân loại văn bản

  • 2.2.3 Các phương pháp phân loại văn bản

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

  • 2.2.5 Thuật toán phân loại văn bản Bayes

  • 3. Phân tích thiết kế cách tiếp cận đề xuất :

    • 3.1 Khái niệm “Token”:

    • 3.2 Vector thuộc tính :

    • 3.3 Cách thực hiện :

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

Tài liệu liên quan