TIỂU LUẬN Mật Mã và An Toàn Dữ Liệu Thống kê số lần xuất hiện của từ khóa trong văn bản. Trước khi Internet ra đời, đã có một số thống kê để lọc thông tin. Ví dụ, một chính phủ điều khiển và hạn chế luồng thông tin bất lợi, các biên tập viên, nhà báo cũng cần chọn lọc thông tin khi cung cấp cho độc giả, khán giả. Thậm chí trong trường học, giáo viên cũng cần chọn lọc thông tin để giảng dạy cho học sinh…
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TIỂU LUẬN Mật Mã và An Toàn Dữ Liệu
Đề tài: “Thống kê số lần xuất hiện của từ khóa trong văn bản”
Giảng viên: PGS.TS Trịnh Nhật Tiến
Học viên thực hiện: LÊ XUÂN THÀNH, K20
Lớp MH: INT 6010 2
Mã HV: 13025180
Trang 2Mục Lục
1 Tổng quan về thống kê thông tin và hệ thống thống kê trong lọc thông tin 3
2 Lọc và thống kê thông tin theo từ khóa 4
3 Thuật toán Naive Bayesian và ứng dụng trong lọc spam mail 5
3.1 Thuật toán lọc từ khóa Naive Bayesian 5
3.2 Chương trình và thực nghiệm 6
4 Tài liệu tham khảo: 10
Trang 31 Tổng quan về thống kê thông tin và hệ thống thống kê trong lọc thông tin
Trước khi Internet ra đời, đã có một số thống kê để lọc thông tin Ví dụ, một chính phủ điều khiển và hạn chế luồng thông tin bất lợi, các biên tập viên, nhà báo cũng cần chọn lọc thông tin khi cung cấp cho độc giả, khán giả Thậm chí trong trường học, giáo viên cũng cần chọn lọc thông tin để giảng dạy cho học sinh…
Với sự ra đời của Internet, bất kể ai cũng có thể cung cấp thông tin nhanh với chi phí thấp Điều này đã làm tăng đáng kể các thông tin, vấn đề là thông tin nào là cần thiết với người dùng? Với vấn đề này, các nhà nghiên cứu đã đưa ra phương pháp lọc mới để chúng ta có thể nhận được thông tin cần thiết cho mỗi chủ đề cụ thể một cách tự động
Như vậy, lọc thông tin không phải là một khái niệm mới, cũng không phải chỉ giới hạn ở các tài liệu điện tử Tuy nhiên, với sự ra đời và tăng nhanh của thông tin dạng điện tử, thì vấn đề về lọc thông tin một cách tự động trở nên quan trọng hơn, cũng chính từ đòi hỏi này dẫn đến sự ra đời của nhiều hệ thống lọc thông tin
tự động Vậy lọc thông tin là gì và thế nào là một hệ thống lọc thông tin?
Lọc và thống kê thông tin là lĩnh vực nghiên cứu các quá trình cung cấp thông tin thích hợp, ngăn ngừa và loại bỏ thông tin không thích hợp cho người sử dụng Thông tin được cung cấp có thể là văn bản, trang web, phim, ảnh hoặc bất kỳ dạng thông tin nào được sinh ra từ các phương tiện thông tin truyền thông Lọc và thống kê thông tin trải rộng trong nhiều ứng dụng khác nhau của công nghệ thông tin như: lọc kết quả tìm kiếm trong các máy tìm kiếm, lọc mail, lọc thông tin trên máy chủ…
Một hệ thống lọc thông tin bao gồm một số công cụ giúp mọi người tìm thấy những thông tin có giá trị nhất, nên sẽ tiết kiệm thời gian đọc / nghe / xem, đó là những thông tin đúng hướng trong các tài liệu thú vị nhất và có giá trị Các bộ lọc này cũng được sử dụng để tổ chức và cấu trúc thông tin một cách chính xác,
dễ hiểu Các bộ lọc này rất cần thiết trong các kết quả thu được của các công cụ tìm kiếm trên Internet Các chức năng của bộ lọc không ngừng được cải thiện để
có được tài liệu Web và các thông điệp hiệu quả hơn
Có rất nhiều hệ thống lọc và thống kê thông tin khác nhau (khác về nguyên lý, phương pháp, kỹ thuật và miền ứng dụng…) nhưng điều có mục tiêu cung cấp cho người sử dụng những thông tin cần thiết, loại bỏ các thông tin không phù
Trang 4thuật lọc được phát triển dựa trên nền tảng từ lĩnh vực truy vấn thông tin, tách thông tin, phân loại thông tin
Trong khuôn khổ tài liệu này, ta sẽ tìm hiểu phương pháp lọc và thống kê thông tin theo từ khóa trong hệ thống lọc spam mail
2 Lọc và thống kê thông tin theo từ khóa
Từ khóa là một chuỗi các ký tự (như một từ, một cụm từ hoặc từ viết tắt) Lọc và thống kê thông tin theo từ khóa cho phép bạn ngăn chặn những trang web, những email, … có nội dung không phù hợp, hoặc chọn ra được những với tập từ khóa sẵn có Ví dụ, để lọc nội dung không phù hợp theo từ khóa khi truy cập Internet, ta quét nội dung truy cập Internet vào máy tính và tìm các từ mà được liệt kê trong một danh sách đen Một trang web bị chặn nếu nó có chứa bất cứ từ nào nội dung cần thiết bằng cách so khớp các từ khóa trong nội dung trang web, email… trong danh sách chặn đó Hình thức lọc từ được áp dụng đối với cả những yêu cầu (request) được gửi đi từ máy tính để đảm bảo truy cập đối với từ khóa cấm được lọc ngay từ đầu Một trong những cơ chế của các trang web là để thêm một số khả năng tìm kiếm từ khóa để trang Web của họ, thậm chí nếu họ không thực sự hiển thị Những từ này sẽ được chọn của trang Web crawlers, thêm vào danh mục được sử dụng bởi các công cụ tìm kiếm của họ và sau đó có thể được tìm thấy bằng cách lướt web Do đó, lọc từ khóa áp dụng triệt để đối với các từ khóa xuất hiện trong trang web tìm kiếm hay thẻ meta của nội dung các trang web truy cập
Một số nhược điểm với lọc từ khóa: chỉ kiểm tra nội dung dạng văn bản, không thực hiện kiểm tra đối với các hình ảnh Cụ thể đối với những trang web khiêu dâm như tiếng Nga, tiếng Nhật có cả những từ nội địa và hình ảnh thực sự cần lọc thì những từ khoá tiếng Anh, tiếng Việt hoàn toàn mất tác dụng
Khác nữa, lọc từ khóa gặp trường hợp từ khóa cần lọc nằm trong cụm từ có nghĩa khác và trong những bối cảnh khác nhau sẽ có nghĩa không cần phải lọc Lọc cụm từ là một trường hợp mở rộng của lọc từ khóa Lọc cụm từ thực hiện kiểm soát nội dung truy cập thông qua một cụm từ, không phải xem xét từng từ một xuất hiện trong cụm từ đó Với biện pháp lọc này đạt kết quả cao hơn nhiều
so với lọc từ khóa, hạn chế tối đa trường hợp phát sinh của việc từ khóa có nghĩa khác nhau trong bối cảnh khác nhau
Sau đây, ta sẽ tìm hiểu một ứng dụng sử dụng lọc và thống kê thông tin theo
từ khóa để xác định spam mail
Trang 53 Thuật toán Naive Bayesian và ứng dụng trong lọc spam mail
3.1 Thuật toán lọc từ khóa Naive Bayesian
Bộ lọc Bayesian hoạt động dựa trên định lý Bayes để tính toán xác suất xảy ra một sự kiện dựa vào những sự kiện xảy ra trước đó Kỹ thuật tương tự như vậy được sử dụng để phân loại spam Nếu một số phần văn bản xuất hiện thường xuyên trong các spam nhưng thường không xuất hiện trong các email thông thường, thì có thể kết luận rằng email đó là spam
Trước khi có thể lọc email bằng bộ lọc Bayesian, người dùng cần tạo ra cơ sở
dữ liệu từ khóa và dấu hiệu (như là ký hiệu $, địa chỉ IP và các miền ) sưu tầm
từ các spam và các email không hợp lệ khác
Mỗi từ hoặc mỗi dấu hiệu sẽ được cho một giá trị xác suất xuất hiện, giá trị này dựa trên việc tính toán có bao nhiêu từ thường hay sử dụng trong spam, mà trong các email hợp lệ thường không sử dụng Việc tính toán này được thực hiện bằng cách phân tích những email gửi đi của người dùng và phân tích các kiểu spam đã biết
Bộ lọc Bayes chủ yếu tính toán xác suất xem một email có chứa đoạn tin spam hay ko (TOKEN string) Để bộ lọc Bayesian hoạt động chính xác và có hiệu quả cao, cần phải tạo ra cơ sở dữ liệu về các email thông thường và spam phù hợp với đặc thù của công việc Cơ sở dữ liệu này được hình thành khi bộ lọc trải qua giai đoạn “huấn luyện” Người dùng phải cung cấp mẫu thông thường và mẫu spam để bộ lọc phân tích tạo ra cơ sở dữ liệu từ khóa cho riêng nó
Xác suất để một tài liệu di thuộc vào lớp văn bản ck
( )* ( | ) ( | )
( )
k i
i
P c P d c
P c d
P d
Ý tưởng dựa trên xác suất xuất hiện của một từ hay cụm từ trên một lớp mail Thuật toán sẽ kiểm tra các từ khóa trong tập spam và tập mail hợp pháp, phân tích các giá trị như là một chuỗi TOKEN Sau đó xây dựng 1 hash table tương ứng cho các TOKEN theo số lần xuất hiện của các chuỗi TOKEN, tên như là tần số của từ Chúng ta tính toán xác suất của chuỗi TOKEN đã tồn tại trong
hash table bằng P= WF L WF là tần số của chuỗi TOKEN nhất định và L là độ
dài của hash table tương ứng P biểu thị xác suất của email mới nhận được là spam khi nội dung chứa chuỗi TOKEN Cuối cùng, ta nhận được quyết định thư rác bằng cách tính toán theo công thức tổng hợp đã có:
Trang 6Trong đó:
c1 là lớp thư rác, c2 là lớp thư hợp lệ
x là một email bất kì P(x|ci) = P(w1|ci)*P(w2|ci)*…*P(wn|ci)
Trong đó: P(wk|ci) là xác suất xuất hiện của từ wk trong lớp văn bản ci
(k=1n; i=1,2)
Khi kết quả lớn hơn ngưỡng quy định, chúng ta gán mail đó là spam, nếu không thì mail là bình thường Ta có thể nhận ra từ thuật toán Bayes rằng spammer có thể “lách luật” bằng cách chèn một câu hay từ ngẫu nhiên Bởi bộ lọc dựa trên kỹ thuật phát hiện thụ động tĩnh Đa số trong đó có thời gian hiệu quả không dài Để giải quyết vấn đề spam trong thực tế, ta phải liên tục cải tiến
bộ lọc
Thuật toán bayes đã được áp dụng vào chương trình lọc thư rác spam bayes, và cho kết quả lọc khá hiệu quả
3.2 Chương trình và thực nghiệm
Trong phần thực nghiệm này ta tiến hành thực nghiệm sử dụng chương trình phần mềm được viết trên ngôn ngữ C# Chương trình SpamBayes anti-spam thực hiện lọc thư rác dựa trên nội dung áp dụng thuật toán Bayes
Tập dữ liệu huấn luyện gồm email bình thường và spam email Xác suất từ 0.9998 trở lên đến 1 có khả năng là spam cao Xác suất hơn 1 là thư bình thường
Trang 7Tập từ khóa sau khi đã huấn luyện Ta kiểm tra thử một mẫu thư không spam, xác suất lớn hơn 1
Trang 8Với một mẫu thư spam, xác suất sẽ là 09999.
Trang 104 Tài liệu tham khảo:
A Keyword Filters Method for Spam via Maximum Independent Sets
Provided by Science & Engineering Research Support soCiety (SERSC), May 2013.
Phát triển một số phương pháp lọc thông tin cho hệ tư vấn – Nguyễn Duy Phương – Luận án tiến sĩ ĐH Công Nghệ 2011 – Mã số 62 48 01 01
http://www.paulgraham.com/spam.html