K 6 tokens 8 tokens 10 tokens
3.3.5.5. Các bước tiếp theo 3.3.5.5a Bước học:
3.3.5.5a. Bước học:
Lưu trữ vào database: Sau khi lấy ra được Tokens(s).
Khi bức thư đã được phân tích token của nó sẽ được sử dụng để cập nhật tần số. Được dùng để theo dõi số lần xuất hiện của token đó trong thư rác và thư tốt. Mỗi token chỉ được tính xuất hiện một lần trong một bức thư.
Ví dụ: Từ “giáo viên” xuất hiện trong 50 thư rác và 230 thư tốt thì khi đó tần suất lưu trữ của từ “giáo viên” là “giáo viên”|50|230.
3.3.5.5.b. Bước kiểm tra:
Tính ngưỡng của token(s):
Tính ngưỡng của các tokens: dựa vào token(s) được phân tích từ nội dung bức thư và tần số của các token(s) đã được lưu trữ ở cơ sở dữ liệu trước đó và công thức Naïve Bayes, áp dụng công thức tính xác suất cho các token(s) như sau:
+ Giả sử mỗi nội dung bực thư kiểm tra: content + Lớp thư rác: spam
+ Word1, Word2, Word3, ... Wordn là các từ đặc trưng xuất hiện trong content.
Ta có
𝑃(𝑠𝑝𝑎𝑚|𝑐𝑜𝑛𝑡𝑒𝑛𝑡) =𝑃(𝑐𝑜𝑛𝑡𝑒𝑛𝑡|𝑠𝑝𝑎𝑚) ∗ 𝑃(𝑠𝑝𝑎𝑚)
𝑇𝑜𝑡𝑎𝑙 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 (3.24)
Trong đó total được xác định bằng
Total=P(content|spam)* P(spam)+ P(content|ham)* P(ham) (3.25)
Với P(content|ham) và P(content|spam) được tính bằng
𝑃(𝑐𝑜𝑛𝑡𝑒𝑛𝑡|ℎ𝑎𝑚) = ∏ 𝑃(1<𝑖<𝑛 1<𝑖<𝑛 𝑤𝑜𝑟𝑑𝑖 |ham) (3.26) 𝑃(𝑐𝑜𝑛𝑡𝑒𝑛𝑡|𝑠𝑝𝑎𝑚) = ∏ 𝑃( 𝑖<𝑖<𝑛 𝑤𝑜𝑟𝑑𝑖 |spam) (3.27)
Cuối cùng, P(spam) và P(ham) được tính bởi công thức
𝑃(𝑠𝑝𝑎𝑚) = 𝑇𝑜𝑡𝑎𝑙 𝑠𝑝𝑎𝑚
𝑇𝑜𝑡𝑎𝑙 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 (3.28)
𝑃(ℎ𝑎𝑚) = 𝑇𝑜𝑡𝑎𝑙 ℎ𝑎𝑚
𝑇𝑜𝑡𝑎𝑙 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 (3.29)
Trả kết quả:
Sau khi tính đc P(spam) và P(ham) theo Bayes ta sẽ so sánh 2 giá trị này nếu P(spam) > P(ham) thì ta quyết định đó là thư rác, ngược lại nếu P(spam) < P(ham) thì ta quyết định đó là thư bình thường.
Việc phân loại nhầm một thư hợp lệ thành thư rác sẽ phát sinh hậu quả nghiêm trọng hơn là phân loại nhầm một thư rác thành thư hợp lệ. Nên quá trình phân loại kết quả có thể cho người dùng tự quyết định giá trị sai số x nào đó tùy theo nhu cầu của người sử dụng
P(spam) > P(ham) + x => thư rác P(spam) <= P(ham) + x => thư tốt