4. Phạm vi ứng dụng
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
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 vector mà trong khơng gian này vấn đề phải tìm ra một “mặt quyết định” giữa hai lớp sao cho khoảng cách giữa các điểm dữ liệu giữa hai lớp này là lớn nhất.
Nếu văn bản cần phân loại nằm về phía nào của mặt quyết định thì nĩ được phân vào loại văn bản đĩ. Phương pháp SVM thường áp dụng để phân loại hai lớp văn bản nhưng vẫn cĩ thể áp dụng để phân loại nhiều lớp văn bản.
Cơng thức :SVM thực chất là một bài tốn tối ưu , mục tiêu của thuật tốn là
tìm được một khơng gian H và siêu mặt phẳng quyết định h trên H sao cho sai số
khi phân loại là thấp nhất , nghĩa là kết quả phân loại sẽ cho kết quả tốt nhất .
Phương trình siêu mặt phẳng chứa vector di trong khơng gian như sau :
Như thế vector h(di) biểu diễn sự phân lớp của vector di vào hai lớp . Gọi Yi
mang giá trị +1 hoặc -1 , khi đĩ Yi = +1 văn bản tương ứng với vector di thuộc lớp
+ và ngược lại nĩ sẽ thuộc vào lớp - . Khi này để cĩ siêu mặt phẳng h sẽ giải bài tốn .
Rõ ràng, SVM là mặt phẳng quyết định chỉ phụ thuộc vào các vector hỗ trợ cĩ khoảng cách đến mặt phẳng quyết định là 1/wi. Khi các điểm khác bị xĩa đi thì thuật tốn vẫn cho kết qủa giống như ban đầu . Chính đặc điểm này làm cho SVM khác với các thuật tốn khác như kNN , NB vì tất cả dữ liệu trong tập huấn luyện đều được dùng để tối ưu hĩa kết quả.
2.5. Các thuật giải áp dụng cho quá trình lọc thư spam 2.5.1. Giải thuật xác định kích thước 2.5.1. Giải thuật xác định kích thước
Giải thuật này cung cấp trọng số phụ cho các token trong tập dữ liệu dataset dựa trên độ tin cậy của token. Một token cĩ thể cĩ xác xuất 0.9500, nhưng điều đĩ khơng nĩi lên nhiều về những quyết định được ra trước đĩ cĩ liên quan đến token đĩ, ví dụ giá trị của token cĩ thể đến từ hàng trăm bộ phân lớp chính xác của
(4)
(5)
spam hoặc nĩ cĩ thể được điều chỉnh giá trị từ việc huấn luyện lại hàng giờ vì bị lỗi. Nếu một token cĩ liên quan đến nhiều bộ phân lớp lỗi trong quá khứ, khơng chỉ muốn token này được đánh trọng số khác với các token được tin cậy, mà cịn muốn khi token này xuất hiện trong thơng điệp đĩ nĩ cịn cho ta biết kết quả chúng ta tạo ra cĩ thể cĩ sai số cao.
Giải thuật xác định kích thước được thiết kế để làm giảm tập đặc trưng bằng việc xác định các đặc trưng cĩ ít hiệu quả nhất trong việc xác định spam một cách
chính xác. Điều này được thực hiện bằng việc bỏ đi những token trong ma trận
quyết định nếu nĩ khơng đáng tin cậy để đưa ra quyết định. Để biết được mức độ lệch trên kết quả, cần phải tính độ lệch phân lớp sai. Tính tốn này khác với cách xác định xác suất của token, nhưng chúng cùng dựa vào cùng một dữ liệu. Giải thuật xác định kích thước cũng cĩ thể được dùng để tăng tập đặc trưng cùng lúc với việc rút gọn chúng. Tìm nhiều token khơng tin cậy để bỏ đi từ ma trận quyết định, các từ trung tính cĩ tiền sử rất khơng được tin cậy là mục tiêu chính trong quá trình này.
Ví dụ từ “sell” cĩ thể xuất hiện trong spam và email hợp lệ với xác suất gần bằng nhau 50 phần trăm, token này thường khơng xuất hiện trong ma trận quyết định để xác định kết quả của thơng điệp đang xét, bởi vì nĩ trung tính. Nếu token
này được nhận biết với số lần lớn bị phân lớp nhằm là spam, nĩ khơng chỉ ảnh
hưởng đến độ tin cậy của bộ lọc mà cịn ảnh hưởng đến khuynh hướng thực sự của
thơng điệp khi token này xuất hiện. Khi một số lượng lớn các token trong thơng
điệp được tìm thấy trước đây trong các thơng điệp bị phân lớp sai, bộ lọc sẽ nhận biết nĩ khơng tin cậy vào kết quả và cĩ cách đặc biệt để đo kích thước quyết định của nĩ.
Bước đầu tiên trong xác định độ tin cậy của mỗi token trong tập dữ liệu dataset là giữ 4 bộ đếm phụ cho mỗi token: Số lần token xuất hiện trong phân lớp sai của spam và trong phân lớp sai của email hợp lệ, và số phân lớp đúng và sai xảy ra khi token xuất hiện trong thơng điệp.
2.5.2. Giải thuật giảm nhiễu Bayesian (Bayesian Noise Reduction)
Giải thuật giảm nhiễu Bayesian (BNR) là một kỹ thuật mới được Jonathan A. Zdziarski thiết kế nhằm mục đích cung cấp “bộ não từ vựng” (lexical brain) cho bộ lọc thơng minh hơn cho phép bộ lọc cĩ cách nhìn ngơn ngữ tương tự
như sự hiểu biết của con người. Để hình thành những khái niệm này, sẽ đưa vào
một số phần mà bộ lọc spam hiện tại khơng cĩ đĩ là ngữ cảnh (context). Xem giảm nhiễu Bayesian như là một cách xác định những từ “ngồi ngữ cảnh”. Ví dụ nếu chúng ta cĩ cuộc đàm thoại trực tiếp và nĩi một điều gì đĩ ngồi ngữ cảnh câu chuyện đĩ, cĩ thể cĩ nghĩa hoàn tồn khác và dễ dàng dẫn đến hiểu nhằm. Vấn đề này đưa vào phân lớp ngơn ngữ, ở đĩ một token được sử dụng trong một ngữ cảnh này, nhưng nĩ lại được sử dụng hồn tồn trái ngược khi ở ngữ cảnh khác. Các bộ lọc ngày nay khơng cĩ cách nào để xử lý với những từ và cụm từ ngồi ngữ cảnh như thế, bởi vì nĩ khơng biết ngữ cảnh đĩ là gì.
BNR xác định dữ liệu ngồi ngữ cảnh bằng việc tạo ra ngữ cảnh cho riêng nĩ, nĩ tạo ra chuỗi ngữ cảnh giả xung quanh text đã cĩ (tên, thân của thơng điệp) và sau đĩ xác định dữ liệu mâu thuẩn với chính nĩ trong ngữ cảnh mà nĩ tạo ra.
2.5.3. Thuật tốn dựa trên luật RIPPER
Thuật tốn phân lớp text RIPPER rất phổ biến trong lĩnh vực phân loại email tự động. Sự khác biệt của RIPPER so với những luật lọc chuẩn là RIPPER cĩ thể được sử dụng để phát sinh tự động những luật đánh dấu từ khĩa (keyword – sporting) này, ngược lại với phương pháp truyền thống là tạo bằng tay.
RIPPER cĩ nhiều ưu điểm, nĩ là một trong một số ít những thuật tốn máy học cĩ khả năng xử lý được với text tự nhiên, tốc độ xử lý nhanh và cĩ khả năng xử lý tập đặc trưng lớn, kết xuất của RIPPER là một tập các luật lọc chuẩn cĩ thể được sử dụng để phân biệt các lớp text khác nhau. Điều này cĩ nghĩa là các luật của nĩ cĩ thể dễ dàng được tích hợp, ưu điểm nữa của việc phát sinh các luật đánh dấu từ khĩa là ở chỗ chúng cĩ thể kiểm tra được, vì vậy chúng cĩ thể được người dùng kiểm tra để tìm ra cái mà người dùng đang nghĩ, khả năng này khơng cĩ với các thuật tốn máy học khác.
Hạn chế của RIPPER như việc sử dụng các luật cơ bản làm kỹ thuật để lọc email là khơng rõ ràng, các luật đánh giá từ khĩa phải được xây dựng cho mọi nhĩm cĩ khả năng xảy ra, và nĩ dễ dàng bị phát hiện. Chúng cũng rất dễ bị giới hạn bởi các luật nhị phân; chúng khơng đưa vào tính tốn số lượng các từ trong một tài liệu, chỉ cĩ sự hiện diện hay cĩ mặt của một từ khĩa. Do chúng chỉ thực hiện