4. Phạm vi ứng dụng
1.2.4.2. Lọc thư theo nội dung sử dụng phương pháp xác suất thống kê
học máy.
Lọc theo nội dung của email cĩ thể được xem như là một ứng dụng đặc biệt của bài tốn phân loại văn bản (text categorization – TC). TC chia tất cả các từ vào hai nhĩm: spam và nonspam (hợp lệ), theo nghĩa nào đĩ, một số kỹ thuật TC đã được chứng minh như Ensembles of Decision Trees và Booting Decision Trees [6], đã được sử dụng để phân loại và lọc các email. Các thuật tốn khác như Ripper, Rocchio, Nạve Bayes và Bayesian [1] cũng được thực hiện thử nghiệm để phát hiện spam. Hầu hết những phương pháp này phân tích nội dung của email để nhận diện từ khĩa liên quan đến spam, tần suất của các từ lặp đi lặp lại để xác định spam và để phân loại chúng vào những chỗ chứa tương ứng để người dùng cĩ thẻ sau đĩ đọc lại hay xĩa bỏ chúng. Hiện nay, các phương pháp thống kê được sử dụng để phân tích và lọc email, những phương pháp này chuyển bài tốn lọc spam thành bài tốn phân lớp, trong phương pháp này cĩ thể sử dụng nhiều kỹ thuật phân lớp, dựa trên thơng tin thống kê đã học từ dữ liệu email thực tế. Cụ thể, bài tốn lọc thư spam thường được coi là bài tốn phân lớp văn bản (text), dựa trên cơ sở là phần lớn các
email cĩ chứa một số dạng nội dung text, những kỹ thuật này khá thành cơng mặc dù cịn hạn chế về mặc dữ liệu chuẩn để kiểm tra và đủ lớn để cĩ thể so sánh và đánh giá một cách chính xác. Một số phương pháp học để giải quyết bài tốn nhĩm văn bản (text) bao gồm: Nạve Bayes, Rocchio, K-Nearest Neighbour, Decision Trees…
CHƯƠNG 2: PHÂN TÍCH BỘ LỌC THỐNG KÊ 2.1. Giới thiệu
Trong số các phương pháp dùng để chặn thư spam thơng dụng, phương pháp lọc theo nội dung hiện tại đang được sử dụng rất nhiều trong các hệ thống. Lọc theo nội dung hoạt động theo nguyên tắc cơ bản là phân loại thư điện tử thành hai nhĩm “thư rác” và “thư bình thường” bằng cách phân tích phần nội dung của thư (phần văn bản trong email được gửi) .
Hiện tại , qui trình lọc thư spam theo nội dung được xem là một trường hợp riêng của bài tốn phân loại văn bản. Để giải quyết vấn đề này, rất nhiều phương pháp bộ lọc thống kê được sử dụng như phân loại Bayes đơn giản, Support Vector Machines (SVM), Boosting... mỗi phương pháp cĩ ưu điểm cũng như khuyết điểm riêng biệt, cụ thể khi áp dụng phương pháp Bayes thì đơn giản, nhanh và cho độ chính xác phân loại chấp nhận được, ở phương pháp SVM thì phức tạp, tốc độ chậm hơn nhưng cĩ độ chính xác cao hơn.
Ở các bộ lọc thống kê,nội dung thư được biểu diễn dưới dạng các đặc trưng hay các thuộc tính, mỗi đặc trưng thường là một từ hoặc cụm từ xuất hiện trong thư. Sau đĩ, trong giai đoạn huấn luyện, tập thư đã được gán nhãn {rác, bình thường} - gọi là dữ liệu huấn luyện hay dữ liệu mẫu - được sử dụng để huấn luyện một bộ phân loại. Sau khi huấn luyện xong, bộ phân loại được sử dụng để xác định thư mới (thư chưa biết nhãn) thuộc vào loại nào trong hai loại nĩi trên. Trong cả giai đoạn huấn luyện và phân loại, thuật tốn phân loại chỉ làm việc với nội dung thư đã được biểu diễn dưới dạng các đặc trưng.
2.2. Bài tốn phân loại văn bản 2.2.1. Định nghĩa 2.2.1. Định nghĩa
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 đĩ.
Ứng dụng thực tiễn 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. 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.
Các bước chính 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… Đầ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.
2.2.2. Tiến trình phân loại văn bản
Đư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 đĩ. Yêu cầu là tìm một hệ thống phân hoạch, mà nĩ sẽ cung cấp 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.
Hình 2.1 - Tiến trình phân loại văn bản
Ở khâu tiền xử lí là khâu lựa chọn đặc trưng cho các văn bản (các dấu hiệu quan trọng để nhận biết văn bản). Đây là khâu 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 được 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. Vấn đề được đặt ra 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 phương pháp để giải quyết vấn đề trê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, cĩ thể chỉ đơn thuần sử dụng nĩ để học một bộ phân loại. 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 .
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 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.
Hình 2.2- Tiến trình phân loại văn bản nâng cao
2.3. Những nguyên tắc bộ lọc thống kê 2.3.1. Xây dựng tập huấn luyện 2.3.1. Xây dựng tập huấn luyện
Tập dữ liệu là bộ nhớ của bộ lọc spam, nĩ chứa dữ liệu của những email trước đĩ, các từ, nhĩm từ và sự kết hợp của chúng để xem xét cho những email, để đưa ra quyết định một email cĩ là spam hay khơng thì tập dữ liệu này phải cĩ trước.
Những đặc trưng dùng trong bộ lọc thống kê được tạo ra dựa trên nội dung của email, vì thế dù cho spam cĩ thay đổi theo thời gian, nĩ vẫn luơn cĩ duy nhất nội dung ,cĩ thể dùng nĩ để xác định, những từ mới xuất hiện trong spam, chúng tự động được thêm vào bộ nhớ của bộ lọc. Việc này bắt đầu với tập hợp nhỏ gồm spam và những email hợp lệ đã được sắp xếp trước và phân lớp. Bộ lọc sẽ xử lý mỗi email và xây dựng bảng chứa sự xuất hiện của mỗi token. Khi kết thúc, sẽ cĩ được một tập hợp lớn những token và bộ đếm tương ứng của chúng đại diện cho sự xuất hiện của chúng trong gĩi. Cĩ hai cách xây dựng được tập dữ liệu như sau:
+ Lấy dữ liệu từ các thư cũ: Cung cấp tập hợp các email trước đây cho việc xây dựng tập dữ liệu ”lịch sử” bằng việc phân tích chúng.
+ Xây dựng tập dữ liệu từ đầu: Trong những bộ lọc spam hiện nay, việc xây dựng tập dữ liệu từ đầu, từ những email vừa nhận được, chức năng sẽ hoạt động tốt hơn, bắt đầu từ đầu cĩ nghĩa là bộ lọc sẽ khơng biết gì hết cho đến khi nĩ được huấn luyện, khi được huấn luyện các token được đưa vào tập dữ liệu mới hay bộ đếm của nĩ sẽ được tăng lên( nếu trước đĩ đã đưa vào rồi).
Tùy thuộc vào chế độ huấn luyện, bộ lọc sẽ đưa thêm thơng tin vào tập dữ liệu những lần khác nhau, chế độ huấn luyện cĩ thể cho phép token nào sẽ tăng vì đã giữ
được tổng số email, tổng số email sẽ được cập nhật khi nào cĩ email được huấn
luyện, vì thế sẽ dễ dàng biết được kích thước của tập dữ liệu vào bất kỳ thời điểm nào. Xây dựng tập dữ liệu từ đầu thường mất nhiều thời gian và email mới.
2.3.2. Sửa lỗi, huấn luyện lại
Khi tập dữ liệu đã được xây dựng xong, những lỗi huấn luyện cũng xảy ra trong quá trình bộ lọc. Khi điều này xảy ra điều quan trọng là làm sao để đổi lại những thơng tin mà nĩ đã được lưu, nếu thơng tin đã được học phải làm sao để bỏ đi bằng cách giảm đi bộ đếm của những token cĩ liên quan mà nĩ đã được phân lớp và đưa vào, và sau đĩ nĩ được học với từ mới đúng, bộ đếm tương ứng cho nĩ cũng tăng lên, đây gọi là huấn luyện lại.
Trong quá trình học lại, phần quan trọng là phải học tất cả những token đã được dùng trong phân lớp gốc bao gồm cả phần đầu (header) của thơng điệp và tồn bộ nội dung của nĩ.
2.4. Các bộ lọc thống kê
2.4.1. Bộ phân tích các token và tính giá trị
Khi một thơng điệp được xử lý, bộ phân tích biểu hiện (tokenizer) sẽ tách thơng điệp ra nhiều thành phần nhỏ và gán cho mỗi biểu hiện (token) một giá trị, giá trị của token là một con số biểu hiện cho khả năng của token đĩ (tốt hay xấu) dựa trên sự xuất hiện của nĩ trong những email trước đĩ. Ví dụ một từ xuất hiện chính trong spam, nĩ sẽ được gám một giá trị để phản ánh khả năng spam của nĩ rất cao thuộc về spam (chẳng hạn như 99%).
Cĩ 2 kỹ thuật thơng dụng để tính giá trị cho các token.
+ Kỹ thuật của Graham [6]: Graham cho cơng thức rất đơn giản để xác định xác suất của một token cho trước được cho là spam. Hướng tiếp cận của Graham cho rằng nhiều người cĩ tập spam và tập email hợp lệ khơng bằng nhau và tính xác suất cĩ hệ số trong tổng số của thơng điệp trong tập email được chọn.
Trong cơng thức sau, SH và IH là tổng số lần xuất hiện trong spam và email
hợp lệ của token được tính tốn. TS và TI lần lượt là tổng số spam và email trong
tập email được chọn.
= (( )|( ))
( ) ( ) + ( )|( )) (1)
Kết quả của P như sau: là một con số nằm giữa 0.0 và 1.0, 0.5 là giá trị trung hịa, những token với xác xuất cao hơn 0.5 được xem như cĩ tính chất spam và thấp hơn được xem như khơng phải spam. Những token cĩ khả năng mạnh được tính ra cĩ giá trị gần 0.0 hay 1.0.
Kỹ thuật của Robinson [6]: Robinson cải tiến kỹ thuật của Graham bằng việc chia giá trị của xác suất trên một token dựa trên số lượng dữ liệu cũ của mỗi token. Ơng tin rằng những token với rất ít điểm dữ liệu (xảy ra trong lịch sử) sẽ cĩ ít khả năng hơn những token khác với nhiều điểm hơn và đề xuất một cách tính mới để tính xác suất của từng token.
N Tổng số lần một token xuất hiện trong những tập dữ liệu cả spam và những email hợp lệ
X Giá trị giả định của token khi N=0, giá trị tốt nhất là 0.5000 S Hằng số điều chỉnh cho hiệu suất, giá trị hợp lý mặc định là 1
Theo Robinson, trong các trường hợp mà ở đĩ cĩ rất ít thơng tin để xem xét, cĩ một ít dữ liệu, nhưng khơng thật sự đủ tin cậy.
Trước tiên, tính xác suất của một từ dùng kỹ thuật Graham, gọi là P(w) cho từ đĩ và tính như sau:
( ) = + ( ( ))
+ (2)
Cách tiếp cận của Robinson cho kết quả tương tự như Graham, chỉ trừ nĩ được kiểm tra kích thước dựa trên thơng tin hiện hữu cho một token cụ thể, bằng việc xem xét các trường hợp rất ít dữ liệu được thu thập cho token nào đĩ, kỹ thuật của
Robinson đã cải thiện chút ít độ chính xác cho nhiều kiểu khĩ phân loại, nĩ thật sự hữu ích trong việc cải tiến việc xác định email hợp lệ và làm giảm sai sĩt.
2.4.2. Phân lớp k Nearest Neighbors (k-NN)
Ý tưởng: kNN là phương pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê đã được nghiên cứu trong nhiều năm qua . kNN được đánh giá là một trong những phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân loại văn bản.
Ý tưởng của phương pháp này đĩ là khi cần phân loại một văn bản mới , thuật tốn sẽ xác định khoảng cách (cĩ thể áp dụng các cơng thức về khoảng cách như Euclide , Cosine , Manhattan , …) của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm ra k văn bản gần nhất ,gọi là k nearest neighbor – k láng giềng gần nhất , sau đĩ dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề. Khi đĩ , trọng số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các văn bản trong k láng giềng cĩ cùng chủ đề , chủ đề nào khơng xuất hiện trong k láng giềng sẽ cĩ trọng số bằng 0 . Sau đĩ các chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các chủ đề cĩ trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại.
Cơng thức:
Trọng số của chủ đề cj đối với văn bản x được tính như sau : [8]
Trong đĩ:
y(di,cj) thuộc {0,1} với.
y=0: vector văn bản di khơng thuộc chủ đề cj.
y=1: vector văn bản di thuộc chủ đề cj.
sim(x,d): độ giống nhau giữa văn bản cần phân loại x và văn bản di. Cĩ thể sử dụng độ đo consine đề tính sim(x,di).
Để chọn được tham số k tốt nhất cho thao tác phân loại , thuật tốn cần được chạy thử nghiệm trên nhiều giá trị k khác nhau , giá trị k càng lớn thì thuật tốn
càng ổn định và sai sĩt càng thấp.
2.4.3. Phân lớp theo kỹ thuật Support Vector Machine (SVM)
Ý tưởng: đây là một phương pháp học tương đối mới được Vapnik [8] giới thiệu năm 1995 để giải quyết các bài tốn nhận diện mẫu hai lớp. Phương pháp này dựa trên ý tưởng tối thiểu hĩa rủi ro cấu trúc, trong đĩ nhắm đến việc tìm một giả thuyết được đảm bảo rằng sẽ trả về giá trị sai số thật thấp nhất.
Một tính chất đặc biệt của Support Vector Machine là khả năng học của nĩ cĩ thể là độc lập với kích thước của khơng gian đặc tính. Support Vector Machine đo lường độ phức tạp của giả thuyết dựa trên số dư, sử dụng số dư này nĩ thực hiện phân tách dữ liệu thay vì dựa trên số lượng của các đặc tính.
Nĩi cách khác, SVM là một phương pháp tiếp cận gần đúng thường áp dụng để phân loại hai lớp văn bản. Phương pháp này được xác định dựa trên một khơng gian