Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)Nghiên cứu một số thuật toán lọc thư rác và ứng dụng trong lọc email nội bộ (Luận văn thạc sĩ)
Trang 1Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN
THÔNG
Khamchan PHOMTHAVONG
NGHIÊN CỨU MỘT SỐ THUẬT TOÁN LỌC THƯ
RÁC
VÀ ỨNG DỤNG TRONG LỌC EMAIL NỘI BỘ
Chuyên ngành: Khoa học máy tính
Mã số: 8 48 0101
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: TS NGUYỄN HẢI MINH
THÁI NGUYÊN – 2019
Trang 2Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
LỜI CẢM ƠN
Để hoàn thành chương trình cao học và viết luận văn, tôi đã nhận được sự hướng dẫn, giúp đỡ góp ý nhiệt tình của quý thầy cô trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên
Trong quá trình học tập và rèn luyện tại trường Đại học Công nghệ Thông tin và Truyền thông – Đai học Thái Nguyên, đến nay em đã kết thúc khóa học 2 năm và hoàn thành luận văn tốt nghiệp Để có được kết quả này em xin chân thành cảm ơn:
Ban Giám hiệu trường Đại học Công nghệ Thông tin và Truyền thông cùng các thầy, cô giáo trong trường đã giảng dạy, quan tâm và điều kiện thuận lợi
để chúng em học tập và rèn luyện trong suốt thời gian theo học tại trường
TS Nguyễn Hải Minh người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm luận văn
Và cuối cùng tôi xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn
bè những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có được kết quả như ngày hôm nay
Thái Nguyên, tháng … năm 2019
Học viên
Khamchan PHOMTHAVONG
Trang 3Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC iii
DANH MỤC HÌNH ẢNH v
DANH MỤC BẢNG vi
MỞ ĐẦU 1
Chương 1 THƯ RÁC VÀ CÁC PHƯƠNG PHÁP LỌC THƯ RÁC 2
1.1 Một số khái niệm cơ bản 2
1.1.1 Định nghĩa thư rác 2
1.1.2 Phân loại thư rác 3
1.2 Các phương pháp lọc thư rác 3
1.2.1 Lọc thư rác thông qua việc đưa ra luật lệ nhằm hạn chế, ngăn chặn việc gửi thư rác 3
1.2.2 Lọc thư rác dựa trên địa chỉ IP 5
1.2.3 Lọc dựa trên chuỗi hỏi/ đáp 6
1.2.4 Phương pháp lọc dựa trên mạng xã hội 6
1.2.5 Phương pháp lọc nội dung 7
Chương 2 TỔNG QUAN CÁC THUẬT TOÁN NSA, PSA, PNSA TRONG LỌC THƯ RÁC 11
2.1 Cơ sở lý thuyết về hệ miễn dịch nhân tạo 11
2.1.1 Khái niệm về hệ miễn dịch nhân tạo 11
2.1.2 Phạm vi ứng dụng của hệ miễn dịch nhân tạo 11
2.1.3 Cấu trúc cơ bản của hệ miễn dịch nhân tạo 11
2.2 Cơ sở lý thuyết về thuật toán chọn lọc tiêu cực (Negative Selection Algorithms - NSA) 16
2.3 Cơ sở lý thuyết về thuật toán chọn lọc tích cực (Positive Selection Algorithms – PSA) 17
2.4 Cơ sở lý thuyết thuật toán cải tiến chọn lọc thư rác (Positive and Negative Selection Algorithms – PNSA) 18
2.4.1 Một số định nghĩa 18
Trang 4Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
2.4.2 Thuật toán sinh tập bộ dò r-chunk 21
2.4.3 Thuật toán sinh tập bộ dò dạng r – contiguous 24
2.5 Các nghiên cứu gần đây 27
Chương 3 CÀI ĐẶT CÁC THUẬT TOÁN 29
3.1 Tổng quan ứng dụng CNTT tại Bộ Tổng tham mưu Lào 29
3.2 Mô hình tổng quát cung cấp dịch vụ email nội bộ của đơn vị 30
3.3 Mô hình thực tế ứng dụng lọc email Spam tại hệ thống email nội bộ của bộ Tổng tham mưu Lào 30
3.4 Ứng dụng hệ miễn dịch nhân tạo trong lọc thư rác 31
3.4.1 Phát biểu bài toán 31
3.4.2 Cơ sở dữ liệu TREC'07 32
3.4.3 Phương pháp 32
3.4.4 Phân tích thuật toán 33
3.4.5 Đánh giá 34
3.5 So sánh với các thuật toán trên WEKA 36
3.5.1 Phát biểu bài toán 36
3.5.2 Cơ sở dữ liệu SpamBase 36
3.5.3 Phần mềm WEKA 39
3.2.4 Thiết kế phần mềm 42
3.2.5 Phân tích thuật toán kết hợp chọn lọc tích cực và chọn lọc tiêu cực PNSA 42
3.2.6 Giao diện chương trình và kết quả 44
3.2.7 Đánh giá 47
KẾT LUẬN 50
TÀI LIỆU THAM KHẢO 51
Trang 5Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
DANH MỤC HÌNH ẢNH
Hinh 1.1: Tất cả các thư điện tử 2
Hinh 1.2 : Mô tả tổng quan quá trình hoạt động của honeyd 8
Hình 2.1: Cấu trúc phân tầng của Hệ miễn dịch nhân tạo 12
Hình 2.2: Kháng thể nhận diện kháng nguyên dựa vào phần bù 13
Hình 2.3 Sơ đồ khối thuật toán chọn lọc tiêu cực 17
Hình 2.4 Sơ đồ khối thuật toán chọn lọc tích cực 18
Hình 3.1 Mô hình tổng quát của quá trình gửi và nhận thư điện tử 30
Hinh 3.2 : Mô hình mạng nội bộ của bộ Tổng tham mưu Lào 30
Hinh 3.3.Giao diện phần mềm Weka 40
Hình 3.4 Giao diện Weka Explorer 40
Hình 3.5 Giao diện Weka Explorer sau khi chọn CSDL Spambase 41
Hình 3.6 Phân loại dữ liệu 41
Trang 6Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
DANH MỤC BẢNG
Bảng 3.1 Kết quả khi chạy chương trình với 9 bộ test 34
Bảng 3.2 So sánh kết quả 36
Bảng 3.3 Kết quả thử nghiệm trên WEKA và PNSA 45
Bảng 3.4 So sánh PNSA với một số phương pháp cho kết quả tốt hơn 46
Bảng 3.5 So sánh PNSA với một số phương pháp cho kết quả thấp hơn 47
Bảng 3.6 Kết quả so khớp với giá trị tham số r thay đổi 47
Trang 7Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
MỞ ĐẦU
Mạng Internet ra đời đã mang lại cho con người những tiên ích hết sức to lớn và quan trọng, một trong những tiện ích đó là dịch vụ thư điện tử Vì, đó là phương tiện giao tiếp đơn giản, tiện lợi, rẻ và hiệu quả giúp mọi người gắn kết và liên lạc với nhau thường xuyên hơn Tuy nhiên, lợi dụng tính mở của công nghệ
và cơ chế trao đổi thư mà hàng ngày người dùng nhận được một số thư ngoài mong đợi đó là thư rác (Spam) Thư rác thường được gửi với số lượng rất lớn thường vì mục đích quảng cáo, thậm trí là đính kèm mã độc dưới dạng Virus gây phiền toài cho người dùng, làm giảm tốc độ xử lý của máy chủ mail server
Thư rác (spam) là thư điện tử được gửi hàng loạt với nội dung mà người nhận không mong đợi, không muốn xem, hay chứa những nội dung không liên quan đến người nhận và thường được sử dụng để gửi thông tin quảng cáo Do có giá thành tương đối thấp so với các phương pháp quảng cáo khác, thư rác hiện chiếm một tỷ lệ lớn và ngày càng tăng trong tổng số thư điện tử được gửi qua Internet Sự xuất hiện và gia tăng thư rác không những gây khó chịu và làm mất thời gian của người nhận mà còn ảnh hưởng tới đường truyền Internet và làm chậm tốc độ xử lý của máy chủ thư điện tử, gây thiệt hại lớn về kinh tế
Xuất phát từ lý do đó, đề tài đặt vấn đề nghiên cứu một số thuật toán LỌC THƯ RÁC, một trong những thuật toán mới được công bố gần đây để đề xuất một mô hình thực nghiệm trên một dịch vụ email thực tế Qua đó hướng tới xây dựng ứng dụng bằng cách tích hợp thêm một số Module trong hỗ trợ sử dụng dịch vụ sử dụng email
Nội dung luận văn gồm có 3 chương:
Dự kiến nội dung báo cáo của luận văn gồm: Phần mở đầu, 3 chương chính, phần kết luận, tài liệu tham khảo, phụ lục Bố cục được trình bày như sau:
Phần mở đầu: Nêu lý do chọn đề tài và hướng nghiên cứu chính
Chương 1: THƯ RÁC VÀ CÁC PHƯƠNG PHÁP LỌC THƯ RÁC
Chương 2: TỔNG QUAN CÁC THUẬT TOÁN NSA, PSA, PNSA TRONG LỌC THƯ RÁC
Chương 3: CÀI ĐẶT CÁC THUẬT TOÁN
Phần kết luận: Tóm tắt các kết quả đã đạt được và hướng phát triển tiếp theo của đề tài
Trang 8Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Chương 1
THƯ RÁC VÀ CÁC PHƯƠNG PHÁP LỌC THƯ RÁC
1.1 Một số khái niệm cơ bản
1.1.1 Định nghĩa thư rác
Có nhiều tranh cãi về việc đâu là định nghĩa chính xác của thư rác (spam email), bởi vì thư rác mang tính cá nhân hóa nên khó mà nói lên được hết ý nghĩa của thư rác Nhiều ý kiến cho rằng thư rác là những “thư điện tử (email) không mong muốn” Định nghĩa này cũng không thực sự chính xác, như một nhân viên nhận những thư điện tử về công việc từ sếp của họ, đây là những thư điện tử người nhân viên không mong muốn nhưng chúng không phải là thư rác Lại có ý kiến khác cho rằng thư rác là những “thư điện tử thương mại không được yêu cầu
từ phía người nhận” những thư này bao gồm các thư điện tử quảng cáo về các sản phẩm và thư điện tử lừa gạt Nhưng định nghĩa này cũng không thực sự chính xác, nó làm mọi người nghĩ rằng thư rác giống như là thư đáng bỏ đi (junk mail) Sau đây sẽ đưa ra một định nghĩa thông dụng nhất về thư rác và giải thích các đặc điểm của nó để phân biệt thư rác với thư thông thường [1,2]:
Thư rác (spam mail) là những bức thư điện tử không yêu cầu, không mong muốn và được gửi hàng loạt tới người nhận
Một bức thư nếu gửi không theo yêu cầu có thể đó là thư làm quen hoặc thư được gửi lần đầu tiên, còn nếu thư được gửi hàng loạt thì nó có thể là thư gửi cho khách hàng của các công ty, các nhà cung cấp dịch vụ Vì thế một bức thư bị coi là rác khi nó không được yêu cầu, và được gửi hàng loạt
Hình vẽ sau sẽ thể hiện rõ định nghĩa của thư rác:
Hinh 1.1: Tất cả các thư điện tử
Trang 9Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
1.1.2 Phân loại thư rác
Có rất nhiều cách phân loại thư rác[1]
- Dựa trên kiểu phát tán thư rác: Tính tới thời điểm hiện tại, thư rác có thể
bị gửi thông qua thư điện tử, nhóm thảo luận (newsgroups), điện thoại di động (Short Message Service - SMS) và các dịch vụ gửi tin nhắn trên mạng (như Yahoo Messenger, Windows Messenger )
- Dựa vào quan hệ với người gửi thư rác: bao gồm người lạ mặt, bạn bè, người quen và các dịch vụ quyên góp giúp đỡ…
- Dựa vào nội dung của thư rác: các kiểu nội dung phổ biến như thư về thương mại, thư về chính trị, thư về công nghệ, chuỗi thư (chain e-mail) và các loại khác (như thư phát tán virus )
- Dựa trên động lực của người gửi: Thông thường, thư rác được gửi đi cho những mục đích quảng bá thông tin Ngoài ra, còn có một số loại thư rác được gửi tới một người nhận xác định nào đó nhằm mục đích phá vỡ và gây cản trở công việc của người nhận hay mạng của nhà cung cấp dịch vụ thư điện tử (ESP) được gọi là “bom thư” Thư rác còn được cố ý gửi đi nhằm thông báo tin sai lệch, làm xáo trộn công việc và cuộc sống của người nhận
Sự phân loại thư rác rất quan trọng không chỉ trong lĩnh vực tạo những bộ lọc thư rác có hiệu quả cao mà còn giúp cho việc ban hành các bộ luật chống thư rác phù hợp
Mỹ là một những nước đầu tiên trên thế giới cố gắng ban hành các văn bản pháp luật để giải quyết vấn đề thư điện tử rác tràn ngập Từ tháng 7 năm
1997, bang Nevada đã dẫn đầu trong việc ban hành các quy phạm pháp luật quy
Trang 10Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
định về hành vi phục vụ và sử dụng thư tín điện tử Tính đến tháng 3 năm 2003,
đã có 26 bang ban hành quy phạm pháp luật quy định về dịch vụ và hành vi sử dụng thư tín điện tử Đến tháng 11 năm 2003, con số này lên đến 36 Về phía chính quyền liên bang, từ những năm 1990, cả Thượng nghị viện và Hạ nghị viện đều quan tâm đến sự lan rộng của thư tín điện tử quấy rối và thư rác, và đã đưa ra nhiều dự án luật như “Luật bảo vệ hộp thư không bị quấy rối” (1999), “Luật Bảo
vệ người sử dụng thư điện tử”, “Luật Khống chế thư điện tử không được phép” (2000), “Luật Khống chế thư rác truyền qua đường điện thoại vô tuyến” (2000) ,
“Luật Chống thư rác” (2001)
Mười năm gần đây, Liên minh Châu Âu cũng đã ban hành một số chỉ lệnh, đưa ra các quy phạm và chỉ dẫn đối với các vấn đề thương mại điện tử, thông tin điện tử, bảo hộ dữ liệu
Trong các chỉ lệnh nói trên, có không ít các qui định có liên quan mật thiết, thậm chí là trực tiếp với phục vụ và sử dụng thư điện tử như “Chỉ lệnh Bảo
vệ dữ liệu cá nhân ở Châu Âu”, “Chỉ lệnh về thông tin điện tử và bảo mật dữ liệu” Ngày 12 tháng 7 năm
2002, Nghị Viện Liên minh Châu Âu đã thông qua “Chỉ lệnh Bảo mật riêng tư và Thông tin điện tử trong Liên minh Châu Âu” Chỉ lệnh quy định: Từ
31 tháng 10 năm 2003, trong phạm vi Liên minh Châu Âu, nếu chưa được người nhận đồng ý trước, không được gửi thư điện tử thương mại hay nhằm mục đích tuyên truyền cho cá nhân Tiếp theo sau khi Liên minh Châu Âu đưa ra các qui định về phục vụ và sử dụng thư điện tử, các nước thành viên Liên minh Châu Âu, như Italia, Anh, Đan Mạch, Tây Ban Nha đều đã ban hành quy phạm pháp luật trong nước quy định hành vi cung cấp và sử dụng thư điện tử, ngăn chặn sự tràn ngập của thư rác
Tại Lào vấn đề thư rác bắt đầu nhận được sự quan tâm từ phía các cơ quan
có trách nhiệm Bộ Thương mại đang soạn thảo Thông tư quản lý hoạt động quảng cáo thương mại trên các phương tiện điện tử Trên trang báo điện tử của
bộ viễn thông, Bà Lại Việt Anh, Trưởng Phòng chính sách, Vụ Thương mại điện
tử, Bộ Thương mại, nhận xét: mục tiêu của Thông tư này trước mắt tập trung
Trang 11Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
quản lý ba hình thức quảng cáo đang bức xúc: thư điện tử, tin nhắn điện thoại di động và quảng cáo trên trang thông tin điện tử
1.2.2 Lọc thư rác dựa trên địa chỉ IP
Phương pháp lọc thư rác thông qua địa chỉ IP là phương pháp đơn giản và được sử dụng sớm nhất trong công cuộc chống thư rác Dựa vào địa chỉ IP của người gửi để xác định thư đó bị ngăn chặn hoặc cho qua Có hai cách để thực hiện việc lọc thư: một là duy trì một danh sách các địa chỉ IP bị chặn (còn gọi là danh sách đen blacklist); thứ hai là sử dụng một danh sách các địa chỉ IP cho phép qua (danh sách trắng whitelist)
Danh sách đen (Blacklist)
Người ta lập ra một danh sách các địa chỉ gửi thư rác Các nhà cung cấp dịch vụ thư điện tử (ISP) sẽ dựa trên danh sách này để loại bỏ những thư nằm trong danh sách này Danh sách này thường xuyên được cập nhật và được chia sẻ giữa các nhà cung cấp dịch vụ Một số danh sách đen điển hình được lập ra như: SpamCop Blocking List và Composite Block List
Ưu điểm của phương pháp này là các ISP sẽ ngăn chặn được khá nhiều địa chỉ gửi thư rác Mặc dù danh sách đen này luôn được cập nhật nhưng với sự thay đổi liên tục địa chỉ, sự giả mạo địa chỉ hoặc lợi dụng một mail server hợp pháp để gửi thư rác đã làm số lượng thư rác gửi đi vẫn ngày càng tăng cao Do đó phương pháp này chỉ ngăn chặn được một nửa số thư rác gửi đi và sẽ mất rất nhiều thư hợp pháp nếu ngăn chặn nhầm
Danh sách trắng (Whitelist)
Danh sách các địa chỉ tin cậy (Safe Sender List), danh sách này có thể do một nhà cung cấp dịch vụ nào đó cung cấp Những địa chỉ thuộc danh sách sẽ được cho qua bộ lọc Người dùng phải đăng ký với nhà cung cấp danh sách để được nằm trong danh sách
Ưu điểm: số lượng địa chỉ trong danh sách trắng sẽ ít hơn trong danh sách đen vì thế sẽ dễ cập nhật hơn danh sách đen và giải quyết được tình trạng chặn nhầm thư
Trang 12Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Tuy nhiên cả hai phương pháp trên đều có nhược điểm là khó cập nhật, nhất là khi ai đó thay đổi địa chỉ IP Ngoài ra người gửi cũng có thể lợi dụng server mail có trong danh sách trắng để gửi thư rác, khi đó rất khó kiểm soát
1.2.3 Lọc dựa trên chuỗi hỏi/ đáp
Đặc trưng của phương pháp này là khả năng tự động gửi thư hồi đáp cho người gửi để yêu cầu một số hành động chắc chắn về việc gửi thư của họ Chương trình kiểm tra này được đặt tên là “Turing Test” sau một vài kiểm tra được nghĩ ra bởi nhà toán học người anh tên là Alan Turing
Trong một vài năm gần đây xuất hiện của một vài dịch vụ Internet tự động
xử lý hàm Challenge/Response này cho người dùng, chương trình yêu cầu người gửi thư phải vào website của họ và trả lời một số câu hỏi để chắc chắn về e-mail
mà người này đã gửi.Việc này chỉ được yêu cầu trong lần gửi thư đầu tiên
Đối với một số người dùng có lượng thư trao đổi thấp, hệ thống đơn lẻ này
có thể chấp nhận được như một phương pháp hoàn hảo để loại trừ hoàn toàn thư rác từ hòm thư của họ
1.2.4 Phương pháp lọc dựa trên mạng xã hội
Các nghiên cứu gần đây đã bắt đầu khai thác thông tin từ mạng xã hội cho việc xác định thư rác bằng cách xây dựng một đồ thị (các đỉnh là địa chỉ email, cung được thêm vào giữa 2 node A và B nếu giữa A và B có sự trao đổi thư qua lại) Người ta đã sử dụng một số tính chất đặc trưng của mạng xã hội để xây dựng một công cụ lọc thư rác [1]
Đầu tiên, người ta phân đồ thị thành các thành phần con rồi tính độ phân cụm cho từng thành phần này Mỗi thành phần con là một đồ thị mạng xã hội của một node, bao gồm tất cả các node xung quanh là “node hàng xóm” (các node có cung liên kết với node này) và những cung liên kết giữa các node hàng xóm này với nhau Nếu thành phần nào có độ phân cụm thấp thì node tương ứng với thành phần đó là một địa chỉ gửi thư rác Trong thành phần mạng xã hội của những node gửi thư rác, những node hàng xóm của nó thường là những node rất ngẫu nhiên, không có mối quan hệ (không có sự trao đổi email qua lại với nhau) nên
độ phân cụm của mạng xã hội của những node này rất thấp Ngược lại, mạng xã hội ứng với những người dùng bình thường có độ phân cụm cao hơn
Trang 13Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Dựa vào độ phân cụm, người ta tạo được danh sách đen (Blacklist) gồm địa chỉ email tương ứng với những node có độ phân cụm rất thấp, danh sách trắng (Whitelist) ứng với node có độ phân cụm cao, số node còn lại sẽ được đưa vào danh sách cần xem xét (Greylist) Phương pháp này có thể phân loại được 53% tổng số email một cách chính xác là ham hay spam Nhược điểm của phương pháp là những spammer có thể xây dựng mạng xã hội của chính họ nên khó có thể phát hiện ra
1.2.5 Phương pháp lọc nội dung
Phương pháp lọc nội dung để phân loại thư rác đã và đang được quan tâm, nghiên cứu và ứng dụng nhiều nhất Phương pháp này dựa vào nội dung và chủ
đề bức thư để phân biệt thư rác và thư hợp lệ Phương pháp này có ưu điểm đó là chúng ta có thể dễ dàng thay đổi bộ lọc để nó có thể lọc các loại thư rác cho phù hợp Nhược điểm của phương pháp này là: do biết được cách thức lọc nội dung nên các spammer luôn luôn thay đổi hình thức nội dung của thư rác
Phần dưới đây trình bày những nét cơ bản nhất về các phương pháp lọc nội dung thông dụng [1,2]
Lọc dựa trên các dấu hiệu nhận biết
Trước tiên, tạo ra các địa chỉ email để bẫy thư rác, gọi là honeypots, phương pháp này được nghiên cứu phát triển nhiều vào năm 2003 Honeypots chứa các địa chỉ sao cho không bao giờ thư bình thường có thể gửi đến Do đó thư gửi đến bẫy địa chỉ này ta có thể coi đó là thư rác
Sau đó hệ thống so sánh thư mới đến với thư đã được bẫy Sự so sánh dựa trên dấu hiệu nhận biết, nếu chúng có dấu hiệu giống nhau thì có thể kết luận thư mới đến là thư rác
Ưu điểm của phương pháp này là đơn giản, nhanh và không lọc nhầm thư thường thành thư rác Tuy nhiên spammer có thể dễ dàng vượt qua hệ thống bằng cách sinh ngẫu nhiên các mẩu thư rác sau đó gộp lại nhằm làm cho dấu hiệu của các bức thư rác khác nhau Bởi vậy tỉ lệ lọc thư rác của hệ thống luôn nhỏ hơn 70% Do không lọc thư thường thành thư rác nên phương pháp này được triển khai trên server
Trang 14Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Một hệ thống lọc thư rác dựa trên honeypots hoạt động rất hiệu quả đó là eTrap Hệ thống eTrap sử dụng honeypots để thu thập thông tin về spam Những thông tin về spam được lưu trữ trong cơ sở dữ liệu chia sẻ chung Hệ thống eTrap lọc thư rác dựa trên những thông tin về spam này
Hinh 1.2 : Mô tả tổng quan quá trình hoạt động của honeyd
Trước tiên honeyd bẫy các địa chỉ gửi thư rác, sau đó toàn bộ thông tin về thư rác thu được sẽ được gửi tới Collaborative Spam Classifier để tổng hợp thông tin Dựa vào những thông tin đó bộ phân loại thư rác sẽ phân tichsm để phân loại thư rác
Lọc thư rác thông qua bỏ phiếu trên danh sách trắng, đen
Hệ thống tìm xem các từ trong danh sách đen/trắng có nằm trong thư mới đến không và đếm số lần xuất hiện của chúng Nếu số lượng từ thuộc danh sách trắng nhiều hơn rất nhiều số từ thuộc danh sách đen thì bức thư đó là hợp pháp và ngược lại sẽ là thư rác
Đặc trưng của bộ lọc thông qua bỏ phiếu trên danh sách đen/trắng:
- Không có biến đổi dữ liệu ban đầu
- Biểu thức chính quy để tách từ ra khỏi thư là: [[:graph:]]+
- Việc chọn đặc trưng đơn giản chỉ là các từ đơn
- Cơ sở dữ liệu về đặc trưng chỉ được nạp khi các từ nằm trong danh sách đen hoặc trắng Nếu nằm trong danh sách đen thì đặt là -1, trong danh sách trắng
là +1, các trường hợp còn lại đặt là 0
Trang 15Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
- Luật tổ hợp là : “Điểm mới = Điểm cũ + trọng số đặc trưng”
- Ngưỡng lọc cuối cùng là : Nếu Điểm mới > 0 là thư hợp pháp, nếu < 0 là thư rác
Như vậy bộ lọc thực hiện chấm điểm các từ trong danh sách đen và các từ trong danh sách trắng bằng nhau Một số cải biên của phương pháp này là đánh trọng số cho các từ trong danh sách đen cao hơn trong danh sách trắng hoặc ngược lại
Lọc thư rác dựa vào phương pháp heuristic
Cách thức hoạt động của phương pháp này là dựa trên việc xác định những từ đặc trưng thuộc về thư rác, từ đặc trưng thuộc về thư hợp pháp, sau đó phát hiện những đặc trưng đó trong thư mới nhận để đưa ra kết luận thư đó là thư rác hay thư hợp lệ
Người ta đánh trọng số cho các đặc trưng trên bằng tay hoặc bằng thuật toán và lập một ngưỡng để phân loại thư Nếu bức thư có trọng số lớn hơn ngưỡng quy định sẽ bị coi là thư rác
Các chương trình lọc thư rác sử dụng phương pháp này có hiệu suất khác nhau Vì mỗi chương trình sử dụng một luật lọc khác nhau
Một số chương trình lọc theo phương pháp này như hệ thống chấm điểm cho email sử dụng phương pháp hueristic của mail server Mdaemon, Spam Assassin hay SpamGuard của Yahoo
Phương pháp này có ưu điểm là dễ cài đặt và hiệu suất chặn thư rác khá cao khi xây dựng được hệ thống luật tốt Nhược điểm chính của phương pháp này là tỉ lệ chặn nhầm thư hợp pháp cũng khá lớn 0.5% Phương pháp này không linh hoạt do các luật được xây dựng luôn chậm hơn sao với sự biến đổi của từ ngữ trong thư rác
Phương pháp này thường được áp dụng cho các bộ lọc thư ở server
Lọc thư rác dựa trên xác suất thống kê và học máy
Đầu tiên sẽ phân loại các bức thư thành thư rác và thư hợp lệ Một thuật toán được áp dụng để trích chọn và đánh trọng số cho các đặc trưng của thư rác theo một cách nào đó (thường là áp dụng công thức xác suất) Sau khi trích chọn
Trang 16Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
đặc trưng, hai tập thư rác và thư hợp lệ sẽ được sử dụng để huấn luyện một bộ phân loại tự động Quá trình huấn luyện dựa trên một phương pháp học máy
Tỉ lệ chặn thư rác của bộ lọc sử dụng phương pháp này rất cao, khoảng 99% Chương trình SpamProbe có thể đạt tới tỉ lệ lọc thư rác tới 99.9% Các phương pháp học máy và xác suất thống kê cho phép phân loại cả những thư rác chưa từng xuất hiện trước đó Phương pháp này còn có tỉ lệ chặn thư hợp pháp rất thấp, thấp hơn nhiều so với phương pháp heuristic
Nhược điểm của phương pháp này là phải có một tập hợp các thư để huấn luyện Hiệu suất của bộ lọc sẽ phụ thuộc nhiều vào tập huấn luyện này Tập dữ liệu càng lớn càng chứa nhiều dạng khác nhau thì kết quả phân loại về sau sẽ càng chính xác
Hiện nay phương pháp lọc thư rác theo học máy và xác suất thống kê là một phương pháp có triển vọng với nhiều ứng dụng thương mại như Hotmail, Google, Yahoo
Để có một bộ lọc hoàn hảo dường như không thể thực hiện được, một bộ lọc tốt nhất là bộ lọc kết hợp nhiều bộ lọc Việc Spam ngày càng được thực hiện tinh vi hơn đòi hỏi các bộ lọc phải có khả năng biến đổi theo sự thay đổi của Spam, sự thay đổi về số lượng, về nội dung và cấu trúc của các thư spam Vì vậy yêu cầu đặt ra phải có một bộ lọc có khả năng cập nhật để có thể thay đổi, chống lại những thư spam có cấu trúc nội dung mới, bộ lọc học máy lọc dựa trên nội dung Email Classification Using Example(ECUE) đã được chứng minh là có khả năng thực hiện được điều đó Trong khuôn khổ luận văn này em xin trình bày
hệ thống lọc thư rác NSA, PSA, PNSA mới được đề xuất và đã xây dựng thử nghiệm thành công
Trang 17Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Chương 2
TỔNG QUAN CÁC THUẬT TOÁN NSA, PSA, PNSA
TRONG LỌC THƯ RÁC
2.1 Cơ sở lý thuyết về hệ miễn dịch nhân tạo
2.1.1 Khái niệm về hệ miễn dịch nhân tạo
“Hệ miễn dịch nhân tạo là một hệ thống thích nghi lấy ý tưởng của học thuyết miễn dịch và những chức năng, nguyên tắc, mô hình miễn dịch quan sát được, áp dụng giải các bài toán thực tế.” (Castro & Timmis - 2002)
2.1.2 Phạm vi ứng dụng của hệ miễn dịch nhân tạo
Hệ miễn dịch nhân tạo có phạm vi ứng dụng rất rất rộng rãi, các ứng dụng của nó phải kể đến là:
- Tìm kiếm và tối ưu
- An toàn thông minh
2.1.3 Cấu trúc cơ bản của hệ miễn dịch nhân tạo
Mô hình chung cho các hệ thống phỏng tiến hoá sinh học
Cấu trúc cơ bản của hệ thống phỏng sinh học cần có 3 yếu tố cơ bản sau:
- Biểu diễn các thành phần của hệ thống
- Cơ chế đánh giá tương tác của các cá thể với môi trường và các cá thể với nhau Môi trường thường mô phỏng bởi một tập kích thích vào, một hoặc nhiều hàm đo độ thích nghi của cá thể với môi trường
- Các thủ tục thích nghi điều khiển tính động của hệ thống, tức là làm cho hoạt động của hệ thống thay đổi theo thời gian
Đây cũng là điểm cơ bản của cấu trúc để thiết kế Hệ miễn dịch nhân tạo,
đó là: Mô hình hoá các thành phần của Hệ miễn dịch gồm tế bào các phần tử miễn dịch; xây dựng một tập hàm xác định độ thích hợp, để định lượng sự tương
Trang 18Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
tác của các phần tử nhân tạo, và một tập thuật toán để điều khiển tính động của
hệ AIS(Hệ thống nhận dạng tự động)
Mô hình cho hệ miễn dịch nhân tạo
Hình 2.1: Cấu trúc phân tầng của Hệ miễn dịch nhân tạo
Tầng đầu tiên là lĩnh vực ứng dụng Đối với lĩnh vực ứng dụng khác nhau
sẽ quyết định những thành phần và cách thức biểu diễn khác nhau và dẫn tới các thao tác trên các thành phần cũng khác nhau
Tầng thứ hai là biểu diễn các thành phần: Trong AIS(Hệ thống nhận dạng
tự động) phải biểu diễn được hai thành phần quan trọng là kháng thể và kháng nguyên
Tầng thứ ba là các phương pháp đánh giá độ thích hợp: Để đánh giá độ thích hợp có thể sử dụng nhiều phương pháp khác nhau như khoảng cách Hamming, khoảng cách Euclid, hoặc khoảng cách Mahattan
Tầng thứ tư là sử dụng các thuật toán miễn dịch: Có thể dùng các thuật toán miễn dịch như thuật toán chọn lọc tích cực, thuật toán chọn lọc tiêu cực, thuật toán chọn lọc Clone, thuật toán aiNet, thuật toán RAIN để điều chỉnh tính động của hệ AIS(Hệ thống nhận dạng tự động)
Tầng thứ năm là đưa ra lời giải cho bài toán: Lời giải cho bài toán sẽ được cập nhật lại sau khi một quần thể mới được tạo và đưa ra kết quả cuối cùng khi đạt đến điều kiện kết thúc nào đó ví dụ như sau một số bước lặp nhất định
Trang 19Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Các mô hình trừu tượng của hệ miễn dịch và tương tác giữa chúng
a) Tổng quát hoá các thành phần sinh học của hệ miễn dịch
Ta giả thiết rằng các cơ quan thụ cảm trên bề mặt của mọi bạch cầu được gọi chung là kháng thể và phần tử mà các cơ quan thụ cảm này nhận diện được gọi chung là kháng nguyên Khả năng nhận diện của các cơ quan thụ cảm với phần tử gây bệnh được gọi là độ thích hợp (Affinity hay Degree of match) của kháng thể với kháng nguyên
b) Không gian hình dạng (Shape - Space)
Kết hợp với kháng thể và kháng nguyên chính là sự kết hợp của khối lồi
và lõm trên bề mặt 2 phần tử như hình 4.2 Để mô tả hình dạng tổng quát của kháng thể và kháng nguyên cũng như thể hiện sự kết hợp giữa chúng, ta có thể biểu diễn kháng thể và kháng nguyên là một tập các khối lồi, lõm với 3 tham số chiều cao, chiều rộng và chiều dài Ta có thể biểu diễn kháng thể và kháng nguyên như một tập L tham số
Hình 2.2: Kháng thể nhận diện kháng nguyên dựa vào phần bù
Như vậy mỗi kháng thể và kháng nguyên có thể coi như một chuỗi thuộc tính m=<m1,m2,…,mL> trong không gian hình dạng S, L chiều Mỗi phần tử chính là một điểm trong không gian S
Chuỗi thuộc tính có thể được tạo bởi bất kì kiểu thuộc tính nào như kiểu
số thực, số nguyên, bit và ký hiệu Kiểu thuộc tính của các phần phụ thuộc vào bài toán và là yếu tố quan trọng để từ đó xác định tương tác của phần tử Có một
số kiểu không gian hình dạng chủ yếu sau:
- Không gian thực (Real - shape - space): Chuỗi thuộc tính có các phần tử nhận giá trị thực
Trang 20Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
- Không gian nguyên (Integer - shape - space): Chuỗi thuộc tính có các phần tử nhận giá trị nguyên
- Không gian Hamming (Hamming - shape - space): Chuỗi thuộc tính có các phần tử nhận một giá trị nào đó trong bảng hữu hạn k mẫu tự
- Không gian ký hiệu (Symbolic - shape - space): Thường tạo bởi các thuộc tính có kiểu khác nhau, trong đó có ít nhất một thuộc tính là kiểu ký hiệu
Không mất tính tổng quát ta có thể giả sử kháng thể và kháng nguyên có cùng độ dài là L Tổng quát một kháng thể được biểu diễn bởi vector Ab=<Ab1,Ab2,…,AbL> và một kháng nguyên được biểu diễn bởi vector Ag=<Ag1,Ag2,…,AgL> để xác định tương tác của các kháng thể với nhau và kháng thể với kháng nguyên có thể dùng công thức tính khoảng cách để đo độ thích hợp của 2 phần tử
c) Đánh giá tương tác giữa các phần tử
- Không gian Euclid và không gian Mahattan:
Không gian toạ độ thực dùng công thức tính toán khoảng cách (2.1) được gọi là không gian Euclid, dùng công thức tính toán khoảng cách (2.2) được gọi là không gian Mahattan:
- Không gian Hamming:
Không gian hình dạng Hamming, các kháng nguyên và kháng thể được biểu diễn như các dãy ký hiệu trên một tập hữu hạn k mẫu tự Công thức tính toán cách Hamming (2.3) dùng để đánh giá độ thích hợp giữa 2 chuỗi thuộc tính
có độ dài L trong không gian Hamming Với k=2 ta có không gian Hamming nhị phân, k=3 ta có không gian Hamming tam phân
Trang 21Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
L i
Các công thức trên không chỉ dùng để biểu diễn tương tác giữa các kháng thể với kháng nguyên, mà còn có thể dùng để biểu diễn tương tác giữa các phần
tử trong Hệ miễn dịch Ta có thể coi các công thức trên là những công thức chung để xác định tương tác giữa các phần tử trong Hệ miễn dịch
Ngoài ra để xác định tương tác giữa các phần tử, ta quy định một ngưỡng nào đó, tuỳ từng bài toán và từng trường hợp cụ thể nếu khoảng cách D giữa 2 phần tử nhỏ hơn hoặc lớn hơn ngưỡng ta có 2 phần tử tương tác với nhau, hay
có thể nhận diện được nhau
Một số thuật toán miễn dịch
Dựa vào biểu diễn thích hợp cho các tế bào và phần tử miễn dịch cũng như cách tương tác giữa các phần tử, người ta đưa ra một số thuật toán miễn dịch chung dựa trên những ý tưởng của Hệ miễn dịch
- Mô hình dựa trên hoạt động của tuỷ xương (Bone marrow models): Được dùng để sản sinh quần thể tế bào và các phần tử
- Mô hình dựa trên hoạt động của tuyến ức: được dùng để chọn lọc quần thể tế bào và các phần tử có khả năng nhận diện Self và nonSelf
- Mô hình mạng miễn dịch và thuật toán chọn lọc Clone: Được dùng để
mô tả tương tác giữa các phần tử trong Hệ miễn dịch với nhau và với môi trường, điều khiển các thành phần của Hệ miễn dịch tương tác với môi trường bên ngoài Bao gồm các quá trình chọn lọc, nhân rộng, đột biến, bổ sung phần tử mới
Các thuật toán sẽ được mô tả ở mức tổng quát cao, đưa ra các mô hình tính toán chung tương ứng với quá trình miễn dịch sinh học Ý tưởng chung của các thuật toán miễn dịch là điều chỉnh quần thể, kháng thể nhằm hướng quần thể tới những lời giải tốt (tính hội tụ của quần thể) đồng thời
Trang 22Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
cũng phải đảm bảo tính đa dạng của quần thể (tránh trường hợp làm cho bài toán hội tụ sớm).Việc điều chỉnh quần thể này dựa trên độ thích hợp của các kháng thể và kháng nguyên và giữa các kháng thể với nhau Tuy nhiên việc đánh giá độ thích hợp không giống nhau cho các thuật toán, với mỗi thuật toán sẽ có những cách đánh giá khác nhau
2.2 Cơ sở lý thuyết về thuật toán chọn lọc tiêu cực (Negative Selection Algorithms - NSA)
NSA của Forrest và các đồng nghiệp khá đơn giản [5]: Giả sử đã có một tập Self-Peptide để tạo thành phức chất MHC-Self peptide, các cơ quan thụ cảm T-cell nếu nhận diện được một self-peptide thì sẽ bị loại bỏ, trái lại nó sẽ được chọn như một tế bào có khả năng miễn dịch và bổ sung vào quần thể có giá trị A Thuật toán chọn lọc tiêu cực được minh họa trong hình 2.3 có thể được tóm tắt như sau:
Bước 1 Khởi tạo: Sản sinh một quần thể tiềm năng P những T-cell chưa trưởng thành Giả thiết tất cả các phần tử (các cơ quan thụ cảm và các self-peptide) được biểu diễn bằng một xâu nhị phân ℓ bit
Bước 2 Đánh giá độ thích hợp: Xác định độ thích hợp của tất cả T-cell trong P với mọi phần tử của tập Self S
Bước 3 Tạo một quần thể có giá trị: Nếu độ thích hợp của một T-cell chưa trưởng thành với ít nhất một phần tử self-peptide lớn hơn hoặc bằng một ngưỡng tương tác chéo nào đó, thì T- cell nhận diện được self-peptide này và bị loại bỏ, trái lại T- cell được bổ sung vào quần thể có giá trị A
Trang 23Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
S
Loại bỏ
Cho vào quần thể có giá trị A
Quần thể tiềm năng P p P nhận diện được s S
Sai
Đúng
Hình 2.3 Sơ đồ khối thuật toán chọn lọc tiêu cực
2.3 Cơ sở lý thuyết về thuật toán chọn lọc tích cực (Positive Selection Algorithms – PSA)
Ý tưởng của thuật toán khá đơn giản, đó là chọn lọc những T-cell có thể nhận diện các peptide (một phần của kháng nguyên xâm nhập vào cơ thể), mà peptide này đã kết hợp với MHC (Major Histocompatibility Complex - phức hợp các phần tử có nhiệm vụ trình diện peptide kháng nguyên cho T- cell) để tạo thành MHC/peptide Giả thiết có tập MHC/peptide, kí hiệu là tập S, các cơ quan thụ cảm T-cell sẽ phải được kiểm tra về khả năng kết hợp với các phần tử thuộc tập S này Nếu một T-cell không nhận diện được bất kỳ phần tử nào, nó sẽ bị loại
bỏ Trái lại, nó được chọn như một tế bào có khả năng miễn dịch và bổ sung vào quần thể có giá trị A
Thuật toán chọn lọc tích cực được minh họa như trong hình 2.6 và có thể tóm tắt như sau:
Bước 1 Khởi tạo: Sản sinh một quần thể tiềm năng P những T-cell chưa trưởng thành Giả thiết tất cả các phần tử được biểu diễn như các xâu nhị phân có cùng độ dài ℓ
Bước 2 Đánh giá độ thích hợp: Xác định độ thích hợp của tất cả phần tử trong quần thể P với tất cả phần tử trong tập Self S
Trang 24Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Bước 3 Tạo một quần thể có giá trị: Nếu độ thích hợp của một phần tử trong P với một phần tử trong S lớn hơn hoặc bằng một ngưỡng tương tác chéo nào đó thì T-cell có khả năng nhận diện kháng nguyên, sẽ được chọn vào quần thể có giá trị A trái lại T-cell bị loại bỏ
S
Loại bỏ
Cho vào quần thể có giá trị A
Quần thể tiềm năng P p P nhận diện được s S
Đúng
Sai
Hình 2.4 Sơ đồ khối thuật toán chọn lọc tích cực
2.4 Cơ sở lý thuyết thuật toán cải tiến chọn lọc thư rác (Positive and Negative Selection Algorithms – PNSA)
S là tập Self hay còn gọi là tập tế bào cần bảo vệ
A là quần thể có giá trị
Phân biệt self và nonself trong sinh học quá trình chọn lọc các tế bào Cell và T-Cell, Hệ miễn dịch thích nghi không chỉ phải chọn những tế bào có khả năng nhận biết những tế bào lạ (Antigen hay nonself), mà nó còn phải loại bỏ những tế bào nhận biết được những tế bào do cơ thể tạo ra (Self – antigen hay đơn giản là Self) Tương ứng với hai quá trình này ta có quá trình chọn lọc tích cực và chọn lọc tiêu cực Hai quá trình này xảy ra với cả B-Cell và T-Cell với nguyên
B-lý khá giống nhau Khi xây dựng thuật toán chúng ta chỉ cần xét với T-Cell
2.4.1 Một số định nghĩa
Trong các định nghĩa dưới đây, ta chỉ xét các xâu được xây dựng từ cùng một tập kí tự Σ Không mất tính tổng quát, trong luận văn ta chỉ xét các xâu nhị phân, nghĩa là Σ = {0,1} Ngoài ra, kí hiệu Σk được hiểu theo nghĩa thông thường là tập tất cả các xâu kí tự độ dài k xây dựng từ tập kí tự Σ
Trang 25Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Trang 26Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
ContD(S, 3) = {01100; 01101; 11100; 11101}
2.4.1.5 Khả năng phát hiện của tập bộ dò
Khả năng phát hiện của một tập bộ dò là số lượng nonself mà tập bộ dò
đó khớp được
Một tập bộ dò được gọi là đầy đủ và không dư thừa nếu nó là tập bộ dò
bé nhất có khả năng phát hiện bằng khả năng phát hiện của mọi tập bộ dò
Ví dụ 2.2 Với tập S như trong Ví dụ 2.1 ở trên thì khả năng phát hiện ChunkD(S,3) là 23:
Trang 27Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Khả năng phát hiện của ContD(S,3) là 12:
Ví dụ 2.3 Với tập S như trong Ví dụ 2.1 thì tập các hole của ChunkD(S,3) là:
2.4.2 Thuật toán sinh tập bộ dò r-chunk
Việc so khớp hai xâu bất kì thực chất là so khớp lần lượt r vị trí liên tiếp (r
ℓ) Do vậy, chắc chắn trong quá trình so khớp ta phải nhiều lần so khớp các đoạn có độ dài r giống nhau Công việc này làm tốn nhiều thời gian tính toán Để khắc phục nhược điểm đó, trong tập các xâu lưu trong S, ta có thể loại những xâu trùng nhau để tăng hiệu suất sử dụng bộ nhớ Tuy nhiên công việc này lại đòi hỏi mất thêm thời gian tính toán
Phương pháp tối ưu cho công việc này là sử dụng bảng băm
Trang 28Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
+ A[i, j] = 0: trong trường hợp ngược lại
- Bảng A được xây dựng bằng cách đọc lần lượt các đoạn r bit liên tiếp của các xâu trong S rồi tính giá trị thập phân của đoạn bit đó và gán A[i, j] tương ứng có giá trị bằng 1
Trang 29Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Các xâu bit có đoạn r bit tương ứng giống nhau sẽ tự động được loại bỏ
vì ta chỉ cần biết đoạn bit đó nằm ở vị trí nào và có giá trị trong hệ 10 là bao nhiêu, ta lưu những đoạn trùng lặp nên tối ưu về bộ nhớ
Vì A là bảng hai chiều, được lưu trữ trên bộ nhớ trong nên việc truy cập đến phần tử A[i,j] chỉ mất thời gian là O(1) Dù dữ liệu bảo vệ có thay đổi, rất lớn đi nữa thì ta vẫn chỉ cần một bảng A kích thước cố định 2r dòng, (ℓ - r + 1) cột
Độ phức tạp thuật toán tạo mảng A là O(|S|(ℓ - r + 1)) và độ phức tạp
thuật toán sinh tập bộ dò là O(2r.(ℓ - r + 1)) Vậy độ phức tạp của thủ tục CHUNK_DETECTOR_NSA là (2r + |S|)(ℓ - r + 1)
Ví dụ 2.4 Cho S = {01011; 11001; 01010; 10110; 00101} Ta có ℓ = 5 và chọn r = 3 Vì vậy:
Số dòng của bảng A: n = 2r = 23 = 8
Số cột của bảng A: m = ℓ – r + 1 = 5 – 3 + 1 = 3
* Xét xâu 1: s1 = 01011
+ Với j = 1: ta có đoạn bit 010 (010)2 = (2)10 Vậy A[2, 1] = 1
+ Với j = 2: ta có đoạn bit 101