Phân loại email thông qua phương pháp Support Vector Machines

I.Giới thiệu về Support Vector Machines
Phương pháp SVM là một phương pháp phân loại văn bản một cách có hiệu quả được Vapnik giới thiệu vào năm 1995 để giải quyết việc nhận dạng 2 lớp sử dụng nguyên lý cực tiểu rủi ro có cấu trúc (Structural Risk Minimization). Cho trước một tập huấn luyện được biểu trong không gian vectơ trong đó mỗi tài liệu là một điểm, phương pháp này sẽ tìm ra một siêu mặt phẳng h quyết định tốt để chia các điểm trong không gian thành hai lớp riêng bịêt khác nhau. Chất lượng của siêu mặt phẳng được đánh giá bởi khoảng cách của mỗi lớp đến mặt phẳng này. Khoảng cách này càng lớn thì quyết định càng chính xác đồng thời việc phân loại càng chính xác

Công thức tính : Thực chất phương pháp này là một bài toán tối ưu, mục tiêu là tìm ra một không gian H và siêu mặt phẳng quyết định h trên H sao cho sai số phân loại là thấp nhất. r d =(wi1, wi2, …, wi|T|), Mỗi văn bản được biểu diễn tương ứng với một vector i trong đó wij là trọng số của từ đó xuất hiện trong văn bản. 1

tiết kiệm chi phí. Nhưng trong quá trình trao đổi thông tin nhiều khi ta gặp những sự bực mình đó là những email ta không cần thiết 2 .1 .w + b < 0 r r r r r r Như thế h( di ) biểu diễn sự phân lớp của di vào hai lớp nói trên gọi r r d ∈ lớp + .Phân loại email thông qua phương pháp Support Vector Machines r Phương trình siêu mặt phẳng chứa vectơ di trong không gian như sau: r r d i .w + b = 0 Đặt h(d i ) = sign(d i .w + b > 0 -1 d i . Điểm thú vị của SVM là mặt phẳng quyết định phụ thuộc vào các vectơ hỗ trợ có khoảng cách đến mặt phẳng quyết định 1 r . lớp d ∈ lớp . II. Internet là một phần tất yếu của cuộc sống. nhanh chóng. n : yi ( sign(d i .. lớp i i phẳng h ta phải giải bài toán sau : r r Tìm min || w || với w và b thoả mãn điều kiện sau : r r ∀i ∈ 1. Khi các điểm || w || khác xoá hết đi thì thuật toán vẫn có kết quả giống như ban đầu. Khi mạng Internet được đưa vào cuộc sống.w + b)) ≥ 1 Bài toán này có thể giải bằng kĩ thuật sử dụng toán tử Lagrange để biến đổi về dạng đẳng thức. yi = .w + b) = r r r +1 d i .Giới thiệu về bài toán phân loại email 1. Trong đó email là một phương tiện trao đổi thông tin một cách hiệu quả. giúp cho việc tiếp nhận và trao đổi thông tin một cách nhanh chóng hơn. yi = +1 .1 Giới thiệu qua bài toán phân loại email Trong thời đại ngày nay là thời đại của công nghệ thông tin. Để có siêu y={ ± 1} . Đó là đặc điểm khác so với các phương pháp khác vì tất cả dữ liệu trong tập huấn luyện đều được dùng để tối ưu hoá kết quả.

Sau đó mới có tình trạng không thể kiểm soát được các email gửi đến. Trong những năm gần đây thật sự là thời đại bùng nổ thông tin. Do những vấn đề như trên nên em đã chọn vấn đề nghiên cứu và trình bày với thầy giáo và các bạn là : “Tìm hiểu bài toán phân loại email thông qua phương pháp Support Vector Machines”. Vấn đề này đã xuất hiện một cách khá lâu rồi ngay từ khi có mạng Internet. chưa có hồi kết. Nhưng hịên nay các spam ngày càng tinh vi hơn khó có thể phân biệt đâu là spam và non-spam. loại bỏ các mail đến từ những nơi được coi là các nơi phát tán spam. Họ cùng gửi nhiều email đến một nhóm các nhóm tin. Vì vậy cuộc chiến chống các spammer và những người chống vẫn còn tiếp tục. Các phương pháp thường quan tâm đến tiêu đề của các mail gửi đến. Ta biết rằng khi mạng Internet ra đời những người sử dụng đầu tiên là các chuyên gia máy tính. đây là điều kiện thuận lợi cho việc quảng cáo trên mạng phát triển một cách mạnh mẽ. tổ chức. các cá nhân đã nghiên cứu và xây dựng các chương trình phân loại và lọc email. Vì vậy cần phải có các chương trình lọc. nhưng từ ngữ. lượng thông tin trao đổi là rất lớn. Nhưng có một điều mà các spam không hề 3 . Như trên đã trình bày việc ngăn chặn các spam thông qua các phương pháp là rất cần thiết. số người tham gia ngày càng lớn. Tuy đã có các chương trình ngăn chặn nhưng những chương trình này không còn có hiệu quả nữa. Nội dung chủ yếu của các mail đó là quảng cáo.Phân loại email thông qua phương pháp Support Vector Machines phải nhận nhưng nó vẫn có trong hòm thư của mình.ngăn chặn các email mà ta không cần thiết phải nhận. Việc ảnh hưởng của các email mang mục đích xấu là rất lớn nó ảnh hưởng rất nhiều vấn đề như là tốc độ đường truyền chậm. Các thư đó gọi là các spam mail. Đã có nhiều nghiên cứu đi theo các hướng khác nhau dựa trên các đặc tính khác nhau. Nhưng số lượng các spam mail phát tán với một số lượng ngày càng lớn vượt qua các bộ lọc.lãng phí tiền bạc vào việc xóa bỏ chúng…. Nó là một loại email phát tán một cách rộng rãi với số lượng lớn không phụ thuộc vào người nhận. hay những nội dung lặp đi lặp lại một cách khó hiểu. Đã có nhiều nhà khoa học.

2 Bài toán phân loại email Đối với bài toán này thực hiện bằng phương pháp SVM. Nó là quá trình huấn luyện phân loại một văn bản mới qua các mẫu có sẵn Vài nét về kho dữ liêu PU PU là một kho dữ liệu dạng chuẩn.PUA. bất kể ngày nhận đều bị xoá đi chỉ giữ lại một email mà thôi. 1. Tất cả các email giống nhau. Cơ chế này áp dụng cho cả email non-spam và email spam. 4 . mỗi phần lại chứa số lượng email non-spam và email spam là như nhau.Phân loại email thông qua phương pháp Support Vector Machines thay đổi đó là bản chất của nó.PU3. Nhưng cũng có một điều khác cũng khá quan trọng đó là việc lọc mail. gồm có bốn kho dữ liệu nhỏ PU1. đó là mục đích quảng cáo.PU2. Trong các kho này đã có sự thay thế từ dạng văn bản sang dạng số được minh hoạ dưới hình sau : Hàm ánh xạ từ văn bản sang các con số không được công bố do đó việc khôi phục lại dữ liệu ban đầu là rất khó. Khi bộ lọc mail mà lọc sai hay là khi bộ lọc một cách không hiệu quả thì ta cũng phải trả giá rất lớn. Vì vậy các phương pháp lọc cần phải quan tâm đến vấn đề này. Hai email được gọi là khác nhau nếu chúng có ít nhất 5 dòng khác nhau. Mỗi kho dữ liệu pu lại được chia làm nhiều phần từ 1 đến 10. Đó là 2 vấn đề cần phải được quan tâm một cách nghiêm túc. nó cũng chính là áp dụng việc phân loại văn bản vào bài toán phân loại email. Trong kho dữ liệu có các email giống nhau và được nhận trong cùng một ngày thì được xoá thủ công . Điều đó đảm bảo được tính bí mật riêng tư của người nhận và người gửi.

Đây là tiêu chí để đánh giá mức độ an toàn của bộ lọc. Tỉ lệ nhận ra non-spam = Tỉ lệ nhận ra spam = T1 T1 + T2 T1 T1 + T3 trong đó T1 : số mail là spam được nhận ra là spam T2 : số mail là spam được nhận ra là non-spam T3 :số mail là non-spam được nhận ra là spam Ngoài ra còn có thể đánh giá qua tỉ lệ chính xác hay qua tỉ lệ lỗi tỉ lệ chính xác = v1 + v 2 V1 + V2 v1 : số mail là spam được nhận diện là spam v2: số mail là non-spam được nhận diện là non-spam V1 và V2 là tổng số mail non-spam và spam cần phân loại Tỉ lệ lỗi = ′ ′ v1 + v2 V1 + V2 v′ : số mail là spam được nhận diện là spam 1 v′ : số mail là non-spam được nhận diện là non-spam 2 V1 và V2 là tổng số mail non-spam và spam cần phân loại 5 .Phân loại email thông qua phương pháp Support Vector Machines Việc đánh giá hiệu quả bài toán dựa trên một số đánh giá sau : Tỉ lệ nhận ra spam là tỉ lệ phần trăm giữa số mail mà bộ lọc coi là spam trên tổng số mail đến bộ lọc Tỉ lệ nhận ra non-spam là tỉ lệ phần trăm giữa số mail bị chặn lại thực sự là spam được bộ lọc coi là spam trên tổng số mail đến bộ lọc.

3 Kết Quả Từ các kho dữ liệu như trên ta xây dựng dữ liệu chạy gồm có tổng số email là 660(dữ liệu còn hơi ít) .77138 0..50 0. Input : Tập dữ liệu vào cho chương trình chạy có dạng <label> <index1>:<value1> <index2>:<value2> .00 0. nhưng chương trình của em chỉ sử dụng một phần dữ liệu chủ yếu lấy từ kho PU1 Output : tỉ lệ chính xác của mô hình 1.Phân loại email thông qua phương pháp Support Vector Machines Bước đầu tiên của mọi phương pháp phân loại là việc chuyển văn bản dùng một chuỗi ký tự thành một dạng khác phù hợp với phương pháp phân loại.25 0. trong đó label có thể là +1 (non-spam) hoăc -1(spam) index chính là từ đã được mã hóa sang dạng số value là số lần từ đó xuất hiện trong email Dữ liệu từ các kho dữ liệu PU là rất lớn.62011 0. Ta có bảng kết quả sau : Tỉ lệ chính xác (%) 0.75 6 . Hầu hết các phương pháp đều sử dụng cách biểu diễn văn bản dưới dạng các vectơ.61453 Độ tin cậy 0.62011 0..

py hoặc grid.step] [-v fold] [-svmtrain pathname] [-gnuplot pathname] [-out pathname] [-png pathname] [additional parameters for svm-train] dataset và easy.Phân loại email thông qua phương pháp Support Vector Machines Trong đó độ tin cậy tính theo sự chọn lựa n-fold cross validation Tỉ lệ chính xác thấp một phần là do dữ liệu còn nhỏ Phần mềm libsvm 2. Dữ liệu này nhỏ nên có thể dùng chương trình easy.py training file [testing] nếu có Ngoài ra ta có thể lấy dữ liệu ra từ dữ liệu gốc subset.step] [-log2g begin.py Ta thực hiện bằng cách đánh câu lệnh sau grid.random selection output1 : the subset (optional) output2 : rest of the data (optional) 7 .py [options] dataset number [output1] [output2] options: -s method : method of selection (default 0) 0 -.end.stratified selection (classification only) 1 -.py [-log2c begin.end.82 có một số chương trình hỗ trợ trong quá trình xử lý dữ liệu thành các output mà mình có 2 cách có thể đưa ra độ chính xác tuỳ thuộc vào dữ liệu mà ta đưa vàp ví dụ như Dữ liệu ta có là heart_scale (chương trình đã có trong chương trình).

ntu. C. LIBSVM: a library for support vector machines.Tài liệu tham khảo 1.edu. Chang and C.Phân loại email thông qua phương pháp Support Vector Machines Hình ảnh minh hoạ sẽ cho ta các giá trị tốt nhất III.C. độ an toàn cao Thích hợp cho từng người dùng cụ thể thường là ở mức Client Có khả năng học tập để giúp cho việc phân loại được chính xác hơn IV.J.Kết luận Ưu điểm của phương pháp SVM là Hiệu quả trong việc phân loại.demokritos. Lin.tw/~cjlin/libsvm.gr/skel/i-config 3. Software available at http://www.itt. Báo cáo Đà lạt 8 .Trần Minh Trí Trường Đại học khoa học tự nhiên – ĐHQGTPHCM 4. Cơ sở dữ liệu lấy từ trang web http://www. Luận văn tốt nghiệp “ Tìm hiểu hướng tiếp cận phân loại email và xây dựng phần mềm mail client hỗ trợ tiếng việt ” Lê Nguyễn Bá Duy . 2001 2.csie.

Phân loại email thông qua phương pháp Support Vector Machines 9 .

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.