BỘ BƯU CHÍNH VIỄN THÔNG BÁO CÁO ĐỀ TÀI Nghiên cứu xây dựng hệ thống lọc thư rác có
khả năng lọc thư rác tiếng Anh và tiếng Việt
Mã số: 100-06-KHKT-RD
Chủ trì đề tài: TS. Từ Minh Phương
Tham gia thực hiện:
ThS. Phạm Văn Cường
ThS. Nguyễn Duy Phương
KS. Hoàng Trọng Huy
2.3.1. Yêu cầu xác thực thư 16
2.3.2. Xác thực tự động 17
2.3.3. Yêu cầu trả tiền 17
2.3.4. Phản công 17
Chương 3: Lọc thư bằng cách phân loại tự động theo nội dung 19
3.1. Giới thiệu chung 19
3.2. Biểu diễn nội dung thư 20
3.3. Các phương pháp phân loại 22
3.4. Lọc thư sử dụng phân loại Bayes đơn giản 25
3.5. Lọc thư sử dụng Support Vector Machines (SVM) 28
3.6. Lọc thư tiếng Việt 31
3.6.1. Tình hình nghiên cứu và các vấn đề cần giải quyết 31
3.6.2. Biểu diễn thư bằng các đặc trưng - từ 33
3.6.3. Lựa chọn số lượng đặc trưng 34
3.6.4. Phân loại đồng thời thư tiếng Việt và thư tiếng Anh 35
3
3.6.5. Tiếng Việt có dấu và không dấu 36
3.7. Thử nghiệm và kết quả 36
3.7.1. Dữ liệu thử nghiệm 36
3.7.2. Phương pháp thử nghiệm 37
3.7.3. So sánh phương pháp phân loại 37
3.7.4. Lựa chọn độ dài và số lượng đặc trưng 38
3.7.5. Phân biệt theo ngôn ngữ trước khi lọc 39
3.7.6. Nhận xét về kết quả thử nghiệm 39
Chương 4. Xây dựng hệ thống lọc thư rác theo nội dung 41
4.1. Vị trí hệ thống lọc thư 41
4.2. Kiến trúc hệ thống lọc thư 42
4.3. Các thành phần chức năng 44
4.4. Thiết kế chi tiết 45
hay nội dung thư, thuật toán lọc nội dung cần được xây dựng phù hợp với ngôn
ngữ mà thư sử dụng. Hiện nay, nhiều thuật toán lọc nội dung hiệu quả đã được
nghiên cứu và sử dụng cho thư viết bằng tiếng Anh.
Trong vòng vài năm gần đây, việc sử dụng Internet nói chung và thư điện tử
nói riêng ngày càng phổ biến tại Việt nam. Một trong những hệ quả của sự phát
triển này là ngày càng có nhiều thư rác gửi tới các tài khoản thư điện tử tại Việt
nam (tài khoản có đuôi .vn). Những thư rác này bao gồm cả thư viết bằng tiếng
Anh và thư viết bằng tiếng Việt. Việc xuất hiện ngày càng nhiều thư rác tiếng Việt
đặt ra yêu cầu cấp thiết phải có những phương pháp lọc thư có thể xử lý được thư
rác loại này.
Do các thuật toán lọc thư thông dụng mới chỉ được nghiên cứu và thử nghiệm
cho tiếng Anh, để có thể sử dụng giải pháp lọc nội dung cho thư tiếng Việt cần
1
Định nghĩa về thư rác chỉ mang tính tương đối do các khái niệm như “không mong đợi”, “không liên
quan” có thể phụ thuộc vào từng người nhận cụ thể.
5
nghiên cứu làm rõ hiệu quả của thuật toán khi phân tích nội dung thư viết bằng
tiếng Việt. Bên cạnh đó cần thực hiện những cải tiến cho phù hợp khi chuyển từ
phân loại nội dung tiếng Anh sang phân loại nội dung tiếng Việt. Để giải quyết
những vấn đề vừa nêu, trong phạm vi đề tài này, chúng tôi tiến hành nghiên cứu
một số giải pháp lọc nội dung cho thư rác tiếng Việt và tiếng Anh. Nội dung
nghiên cứu bao gồm thử nghiệm làm rõ khả năng lọc thư tiếng Việt, đề xuất và
phân tích so sánh các cải tiến với thuật toán, thử nghiệm trên dữ liệu thực. Sau khi
thử nghiệm so sánh, giải pháp lọc thư có hiệu quả cao sẽ được cài đặt trong một bộ
lọc thư có khả năng tích hợp vào máy chủ thư điện tử.
6
• Thư có nội dung chính trị: do các tổ chức hay cá nhân hoạt động chính trị
gửi trực tiếp tới người dùng thư điện tử để phục vụ mục đích quảng bá,
tuyên truyền hay tạo quan hệ trực tiếp. Hiện nay tại Việt nam, thư rác có
nội dung chính trị hầu hết là của các tổ chức phản động ngoài nước gửi về
và cần đặc biệt ngăn chặn.
7
• Thư từ thiện: do các tổ chức hay cá nhân hoạt động từ thiện gửi với nội
dung yêu cầu quyên góp hay trợ giúp. Người gửi thư dạng này có thể
không nhận thức được họ đang gửi thư rác do có sự biện hộ từ mục đích
gửi thư.
• Thư có nội dung tôn giáo: dùng để tuyên truyền quảng bá cho các tổ chức
hoặc hoạt động tôn giáo.
Trong số thư những thư quảng cáo, một số dạng hàng hoá và dịch vụ chiếm tỷ
trọng đặc biệt lớn. Dưới đây là kết quả phân tích thống kê các thư rác gửi qua máy
chủ hotmail.com trong năm 2003 và 2004 do Microsoft thực hiện [Hulten - trends].
Bảng 1.1: Thống kê các dạng thư rác tại máy chủ
Sản phẩm quảng cáo Năm 2003 Năm 2004
Quảng cáo liên quan đến tình dục (không đồ hoạ) 17% 34%
Tranh ảnh khiêu dâm 13% 7%
Bảo hiểm 1% 4%
Quảng cáo thuốc 8% 10%
Tài chính 12% 13%
Du lịch, sòng bạc 2% 3%
Bản tin 9% 6%
Các sản phẩm có xuất sứ đáng ngờ (văn bằng giả.v.v.) 20% 10%
Scam 8% 6%
Các dạng quảng cáo khác 13% 8%
gửi thư.
Người gửi thư rác (hoặc đối tác của họ) thường tung ra các trang web giả để
bẫy người dùng gửi địa chỉ email cho họ. Kỹ thuật này được gọi là Phishing email.
Hình 1.1: Ví dụ về trang web lấy cắp địa chỉ email của người dùng
9Người gửi thư rác còn sử dụng các máy tìm kiếm chỉ để tìm kiếm địa chỉ
email trên các trang web. Các máy tìm kiếm này sẽ tìm kiếm những trang có kí
hiệu “@” và sẽ tách địa chỉ email từ đó ra. Những chương trình tìm kiếm email
theo kiểu như vậy còn được gọi là spambots.
Danh sách các địa chỉ cũng có thể được sinh tự động theo một cơ chế nào đó
để xác suất tồn tại của địa chỉ sinh tự động có thể chấp nhận được. Địa chỉ email
thường được tạo ra nhờ kết hợp giữa các họ tên phổ biến với các domain nhiều
người dùng và các con số có nghĩa. Ví dụ như địa chỉ email được sinh như sau:
Từ địa chỉ gốc là: nguyenvannam + @ + fpt.com.vn
Có thể sinh ra các địa chỉ sau:
[email protected], [email protected],
[email protected], [email protected],
Để xác định một địa chỉ email có tồn tại hay không, những người gửi thư rác
sẽ gửi một bức thư tới tất cả các hòm thư trong danh sách sinh tự động. Nếu hòm
thư đó tồn tại và chủ nhân của nó mở bức thư đó ra thì sẽ có một chương trình
được kích hoạt thông báo về sự tồn tại của địa chỉ cho người gửi thư rác. Cách này
còn gọi là sinh địa chỉ email theo kiểu từ điển.
1.4.2. Tìm kiếm các máy tính trên Internet cho phép gửi thư
Muốn gửi được thư rác, người gửi thư rác cần có trong tay một danh sách các
server để gửi thư đi. Các server này có thể là những server chuyên để gửi thư rác
do người gửi thư rác sở hữu hoặc thuê, hoặc là những server bị người gửi thư rác
lợi dụng.
tới 40%-60% người gửi thư rác bắt đầu từ chiêu thức này.
Không chỉ dừng lại ở việc đi thuê máy tính ma, những người gửi thư rác (và
cũng là những hacker) còn chiếm quyền kiểm soát các máy tính hợp pháp để gửi
thư rác Vào đầu năm 2005, Microsoft đã tiến hành khảo sát thử một máy tính bị
Open Mail Relay
Mạng trung
gian
người dùng cục bộ
Gửi thư rác
Nhận thư
rác
ISP
11
nhiễm mã độc và đã bị hacker nắm quyền điều khiển từ xa, tức máy tính này đã trở
thành một máy tính ma. Kết quả khảo nghiệm cho thấy rằng chỉ trong vòng 20
ngày, máy tính ma này đã nhận được 5 triệu yêu cầu kết nối từ những người thư
rác và chính nó cũng đã gửi tới 18 triệu thư rác. Trong những ngày cao điểm nhất,
máy tính ma này đã nhận được đến 470.000 yêu cầu kết nối và khoảng 1,8 triệu thư
rác đã từ nó gửi đi.
12
Chương 2: Các giải pháp phòng chống thư rác
Để phòng chống và hạn chế tác hại thư rác, nhiều giải pháp khác nhau đã
được đề xuất, thử nghiệm và sử dụng. Các giải pháp chống thư rác rất khác nhau,
13
Thay vì cập nhật danh sách đen, người ta sử dụng một danh sách các địa chỉ
tin cậy (danh sách trắng). Danh sách này có thể do một nhà cung cấp dịch vụ nào
đó cung cấp. Những thư có địa chỉ gửi nằm trong danh sách sẽ được cho qua bộ
lọc. Ngược lại, người gửi thư phải đăng ký địa chỉ mới với nhà cung cấp danh sách
trắng trên để được nằm trong danh sách.
Ưu điểm của danh sách trắng so với danh sách đen là số lượng địa chỉ trong
danh sách trắng sẽ ít hơn rất nhiều và giải quyết được tình trạng chặn nhầm.
Tuy nhiên cũng như danh sách đen, danh sách trắng sẽ gây phiền phức trong
việc cập nhật, nhất là khi ai đó thay đổi địa chỉ IP. Ngoài ra, người gửi thư rác cũng
có thể lợi dụng những server có trong danh sách trắng để gửi thư rác, và khi đó tình
hình trở nên khó kiểm soát.
2.2. Lọc thư theo 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. Đặc điểm chung của phương pháp này là dựa
vào nội dung và chủ đề bức thư để phân biệt thư rác và thư hợp pháp. Sau sẽ trình
bày các phương pháp lọc nội dung thông dụng.
2.2.1. Lọc thư rác dựa vào các dấu hiệu nhận biết
Đầu tiên, người ta tạo ra các địa chỉ email để bẫy thư rác, gọi là các
honeypots. Các địa chỉ này được tạo ra một cách cố ý sao cho không bao giờ thư
bình thường được gửi tới. Do đó, nếu có thư gửi vào các địa chỉ bẫy thì ta có thể
chắc chắn đó là thư rác.
Sau đó hệ thống sẽ so sánh thư mới đến với thư đã bẫy được. Cách thức so
sánh là dựa trên dấu hiệu nhận biết. Nếu hai bức thư có các dấu hiện giống nhau thì
bức thư mới tới là thư rác.
Phương pháp thường dùng để so sánh hai bức thư như trên là gán cho mỗi ký
tự một số nào đó, tiếp theo cộng dồn các số đã gán lại với nhau. Hai bức thư sẽ
được coi là giống nhau nếu có tổng các số đã gán bằng nhau.
Ưu điểm của phương pháp lọc thư này là đơn giản, nhanh và không lọc nhầm
2.2.3. Lọc thư sử dụng phương pháp heuristic
Cách thức hoạt động của phương pháp này là con người sẽ xác định những
đặc trưng (từ ngữ) nào là của thư rác, đặc trưng nào là của thư hợp pháp, sau đó
viết chương trình để phát hiện những đặc trưng đó trong bức thư gửi tới.
Người ta đánh trọng số cho các đặc trưng trên (có thể thực hiện bằng tay hoặc
sử dụng thuật toán) và lập một ngưỡng để phân loại thư. Bức thư sẽ được coi là thư
rác nếu có các đặc trưng với trọng số vượt ngưỡng quy định.
Hiệu suất chặn thư rác của các chương trình sử dụng phương pháp này rất
khác nhau. Vì mỗi chương trình sử dụng các luật lọc khác nhau. Luật đơn giản nhất
là nếu bức thư nào chứa các đặc trưng của thư rác thì đó là thư rác. Điều này sẽ
làm cho bộ lọc chặn mất rất nhiều thư hợp pháp.
Một số chương trình lọc thư 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 (Heuristic Message Scoring System) của
mail server MDaemon . Hệ thống chấm điểm email này đúc kết trên kinh nghiệm
15
là việc kiểm tra, lọc email sử dụng một số lượng lớn các luật theo trật tự để máy
tính chấm điểm. Điểm số này sẽ được sử dụng để quyết định một email có phái là
spam email hay không Ngoài còn một số các bộ lọc thư rác khác như
SpamAssassin, hoặc 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
(nếu xây dựng được các luật tốt) khoảng 90-95%. 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 rất lớn (khoảng 0.5%). Ngoài ra
phương pháp này cũng không linh hoạt vì các luật được xây dựng luôn luôn chậm
hơn rất nhiều so với sự biến đổi của từ ngữ trong thư rác.
Người ta thường sử dụng phương pháp này cho các bộ lọc thư ở mail server.
2.2.4. Lọc thư sử dụng phương pháp xác suất thống kê và học máy
Phương thức hoạt động của phương pháp này là, đầu tiên con người sẽ phân
loại các bức thư đã có thành hai tập hợp, thư rác và thư hợp pháp. Một thuật toán
được sử dụng để trích chọn và đánh trọng số cho các đặc trưng của thư rác theo
2.3.1. Yêu cầu xác thực thư
Nguyên lý hoạt động của phương pháp này là khi có một bức thư được gửi từ
một địa chỉ lạ, bộ lọc sẽ gửi trả lại bức thư và yêu cầu người gửi điền các thông tin
cần thiết vào một form để xác thực bức thư mới đó như trên hình 2.1.
Hình 2.1. Nguyên lý phương pháp xác thực thư
Phương pháp này tỏ ra rất hiệu quả nếu được người dùng chấp nhận vì người
gửi thư rác sẽ không thể nào phản hồi hết được thư rác mà họ đã gửi. Tuy nhiên
việc làm cầu kỳ này rất khó được người dùng chấp nhận vì để gửi một bức thư giới
thiệu họ phải chờ đợi phản hồi từ phía bộ lọc rồi bức thư đó mới chính thức đến
đích.
Yahoo cũng có sử dụng một cơ chế tương tự, nếu như ai đó sử dụng hòm thư
của Yahoo gửi liên tục nhiều bức thư một lúc thì hệ thống chống thư rác của
Yahoo sẽ gửi lại một form yêu cầu người dùng xác thực. Đây là một trong những
cách khá hữu hiệu của Yahoo để chống những người gửi thư rác lợi dụng dịch vụ
của Yahoo phát tán thư rác.
Bên cạnh việc yêu cầu điền thông tin xác thực vào những form thông thường,
phương pháp này có thể sử dụng những kỹ thuật phức tạp hơn để tránh trường hợp
chương trình gửi thư rác có thể điền thông tin vào form tự động. Kỹ thuật thường
được sử dụng Turing test, tức là yêu cầu thực hiện một công việc rất dễ với con
gửi thư
Yêu cầu xác thực
Xác thực
Người gửi Người nhận
17
người nhưng rất khó với máy tính. Ví dụ, chương trình email của người nhận sẽ
gửi lại một ảnh nhỏ có chữ như trên hình dưới.
thư rác (hoặc khách hàng của họ) mong muốn người nhận được thư ghé thăm.
18
Nếu như ai nhận được thư rác cũng mở đường liên kết đó thì trang web đó sẽ
bị quá tải. Đây chính là ý tưởng cho việc xây dựng chương trình chống thư rác
bằng cách phản công lại chúng.
Người ta đã đề xuất các bộ lọc FFBs (Filtersthat Fight Back) có chức năng
như trên, mỗi khi nhận được thư, các bộ lọc này đồng loại mở các liên kết có trong
thư. Nếu như đó là thư rác được gửi hàng loạt thì server của trang web được đề cập
trong thư sẽ bị quá tải chỉ trong vài giờ.
Để tránh tấn công nhầm phải những trang web không liên quan nhưng lại có
liên kết trong thư rác, các bộ lọc này phải duy trì một danh sách đen chứa địa chỉ
các trang có thể bị tấn công nếu nó xuất hiện trong thư rác.
Ngoài nhược điểm phải duy trì một danh sách đen, phương pháp này còn làm
lãng phí đường truyền do việc phải tấn công lại. Vì vậy phương pháp này không
được nhiều người ủng hộ.
Hiện nay chưa có một bộ lọc FFB nào trên thực tế, tuy nhiên đã có bộ lọc
(Death2Spam) lấy thông tin từ các liên kết đó về để tăng độ chính xác của quá
trình lọc thư (chứ không phải để tấn công lại các trang đó).
Ngoài các phương pháp trên người ta còn đề xuất nhiều ý tưởng mới như làm
chậm quá trình gửi thư để người gửi thư rác không thể gửi hàng loạt được, hay che
dấu địa chỉ email không cho người gửi thư rác biết. Song tất cả những phương
pháp, giải pháp đó còn nằm trên ý tưởng và khó có thể thực hiện.
19
Chương 3: Lọc thư bằng cách phân loại tự động theo nội dung 3.1. Giới thiệu chung
thư rác theo nội dung.
20
3.2. Biểu diễn nội dung thư
Biểu diễn nội dung thư dưới dạng tập hợp từ (“túi từ”)
Để có thể sử dụng kỹ thuật học máy và xác suất thống kê, nội dung thư cần
được biểu diễn dưới dạng thuận tiện cho việc áp dụng thuật toán học máy. Các
phương pháp lọc thư bằng cách tự động phân loại theo nội dung đều sử dụng cách
biểu diễn thư dưới dạng véctơ. Mặc dù có nhiều cách xây dựng véctơ nhưng cách
đơn giản nhất là mô hình “túi từ” (“bag-of-words”). Nguyên tắc cơ bản của phương
pháp này là không quan tâm tới vị trí xuất hiện các từ hay cụm từ trong thư mà coi
thư như một tập hợp không có thứ tự các từ. Mỗi thư khi đó được biểu diễn bởi
một véctơ. Số phần tử của véctơ bằng số lượng từ khác nhau trên toàn bộ tập dữ
liệu huấn luyện.
Có nhiều cách tính giá trị các phần tử của vectơ. Cách đơn giản nhất là sử
dụng giá trị nhị phân: mỗi phần tử của véctơ bằng 1 hay 0 tuỳ thuộc vào từ tương
ứng có xuất hiện trong thư tương ứng với véctơ hay không.
Các phương pháp phức tạp hơn thường dựa vào tần suất xuất hiện của từ
trong thư. Từ xuất hiện càng nhiều thì phần tử tương ứng của vectơ có giá trị càng
lớn và ngược lại.
Dưới đây là một ví dụ đơn giản minh hoạ cho cách biểu diễn nội dung nói
trên. Dữ liệu huấn luyện bao gồm bốn thư, trong đó hai thư là thư rác và hai là thư
bình thường. Nội dung các thư được cho trong bảng 3.1. Trên bảng 3.2. là biểu
diễn véctơ cho các thư trong bảng 3.1. Chú ý là trong ví dụ này chỉ sử dụng các từ
đơn âm, những phần tiếp theo sẽ đề cập tới từ gồm nhiều âm của tiếng Việt.
Bảng 3.1. Ví dụ nội dung của 4 thư.
Số TT
Nội dung Nhãn
1 mua và trúng thưởng Rác
điểm vừa nêu. Trong nghiên cứu này, chú tôi cũng sử dụng phương pháp túi từ và
các mở rộng của phương pháp này để biểu diễn nội dung thư điện tử.
Một số phương pháp biểu diễn nội dung thư khác
Để có cái nhìn toàn diện về vấn đề biểu diễn nội dung thư, trong phần này
chúng tôi sẽ trình bày tóm tắt một số phương pháp biểu diễn nội dung thư khác với
phương pháp “túi từ” và phân tích lý do không sử dụng những phương pháp này
cho lọc thư rác.
Lọc thư theo nội dung là trường hợp riêng của bài toán phân loại văn bản
trong đó thư được phân loại thành thư rác hoặc thư hợp lệ dựa trên nội dung văn
bản của thư. Bộ lọc thư rác, do vậy, có thể sử dụng những phương pháp biểu diễn
nội dung thư khác được đề xuất cho các ứng dụng phân loại văn bản nói chung.
Đặc điểm chung của phương pháp không dùng “túi từ” là sử dụng các đặc
trưng chứa nhiều thông tin về và ngữ nghĩa hơn để biểu diễn nội dung văn bản.
Tiêu biểu nhất là phương pháp sử dụng cụm từ có ngữ nghĩa (phrase) và phương
pháp sử dụng phân cụm từ (word clusters). Dưới đây là mô tả tóm tắt các phương
pháp trên.
Sử dụng cụm từ (phrase) có ngữ nghĩa để biểu diễn văn bản
Khái niệm cụm từ dùng để chỉ đơn vị văn bản dài hơn từ đơn nhưng ngắn
hơn câu thông thường và có ngữ nghĩa riêng. Ví dụ “nghiên cứu khoa học” là cụm
từ theo định nghĩa này. Sử dụng cụm từ để biểu diễn văn bản có hai ưu điểm chính
như sau:
- Về mặt ngữ nghĩa, cụm từ gần với khái niệm được nhắc tới trong văn
bản hơn các từ đơn xét riêng.
- Cụm từ thường có mức độ không rõ nghĩa (ambiguity) thấp hơn các từ
22
đơn do những từ cấu thành cụm từ có thể làm rõ nghĩa của nhau.
Cụm từ trong văn bản được nhận biết bằng cách phân tích cú pháp văn bản sử
dụng kỹ thuật xử lý ngôn ngữ tự nhiên. Thông thường, thành phần của câu trong
văn bản được gán nhãn từ loại ví dụ: tính từ, danh từ, chủ ngữ, vị ngữ, .v.v., sau đó
dung X bằng cách tính xác suất hậu nghiệm p (Y | X) tức là xác suất một thư là thư
23
rác hay thư thường nếu biết nội dung X của thư đó. Phiên bản thông dụng của phân
loại xác suất là phân loại Bayes đơn giản là một trong những phương pháp phân
loại đầu tiên được sử dụng để phân loại thư rác [Sahami1998] và hiện là phương
pháp phân loại thông dụng nhất được sử dụng cho bài toán này. Chi tiết về phân
loại Bayes đơn giản sẽ được trình bầy trong phần 3.4.
Cây quyết định
Cây quyết định sử dụng trong phân loại văn bản và thư điện tử là một cây
trong đó mỗi nút không phải nút lá được gán tương ứng một đặc trưng (từ), mỗi nút
lá được gán một nhãn phân loại (rác, thư thường). Khi có một thư xuất hiện, thư sẽ
được di chuyển từ gốc xuống các nút lá. Tại mỗi nút của cây, đặc trưng tương ứng
của nút được kiểm tra, tuỳ thuộc vào việc thư có chứa đặc trưng đó hay không (hay
đặc trưng có trọng số vượt ngưỡng tương ứng hay không), thư sẽ được chuyển
sang nhánh cây tương ứng. Sau khi di chuyển tới nút lá, thư sẽ có nhãn phân loại
tương ứng với nút lá đó.
Mặc dù đơn giản và có tốc độ phân loại nhanh, kết quả thử nghiệm cho thấy,
bộ phân loại sử dụng câu quyết định cho kết quả phân loại thư không tốt như một
số phương pháp phân loại khác [Drucker 1999].
Bộ phân loại sử dụng các luật phân loại
Bộ phân loại dạng này xác định nhãn phân loại của thư bằng cách sử dụng
một số luật có dạng if…then… trong đó mỗi luật là một hội của các phép tuyển.
Ví dụ, luật xác định thư d là thư rác có thể có dạng sau:
if :
(d chứa từ “miễn phí”) HOẶC
(d chứa từ “rẻ” VÀ d không chứa từ “quen”) HOẶC
…
then: d là thư rác
Một bộ phân loại điển hình sử dụng luật là Ripper [Cohen 1996]. Ripper xây
xác định giá trị đầu ra của nút theo giá trị đầu vào.
Để phân loại một thư hay văn bản, vectơ trọng số của thư đó được sử dụng
làm giá trị đầu vào cho mạng. Mức độ kích hoạt của nút tương ứng được lan truyền
về phía nút đầu ra, giá trị các nút này sẽ xác định giá trị nhãn phân loại.
Một số nghiên cứu sử dụng mạng nơ ron nhân tạo để phân loại văn bản cho
thấy phương pháp này cho kết quả phân loại tốt hơn cây quyết định và phân loại
theo luật, nhưng không tốt bằng SVM hay boosting [Sebastiani 2002]. Ngoài ra, số
lượng đặc trưng rất lớn của bài toán phân loại văn bản đòi hỏi số lượng nút đầu vào
lớn làm tăng thời gian huấn luyện và phân loại của mạng nơ ron. Do những đặc
điểm này, mạng nơ ron ít khi được sử dụng cho bài toán lọc thư rác.
Phân loại dựa trên ví dụ
Phân loại dựa trên ví dụ hay học lười là phương pháp xác định nhãn phân
loại cho thư mới dựa trên các thư tương tự trước đó. Trong giai đoạn huấn luyện,
phương pháp phân loại này lưu lại tất cả những thư mẫu cùng với nhãn phân loại
của chúng. Khi xuất hiện thư mới cần phân loại, bộ phân loại lựa chọn trong số thư
25
mẫu những thư có nội dung giống thư mới nhất và dựa trên nhãn phân loại của các
thư mẫu này để xác định nhãn cho thư mới.
Thuật toán phân loại dựa trên ví dụ được sử dụng nhiều nhất là thuật toán k
hàng xóm gần nhất (k-NN). K-NN xác định độ tương tự giữa hai thư bằng cách
tính khoảng cách ơclit giữa hai vectơ tương ứng với hai thư đó. Nhãn phân loại thư
mới được tính theo nhãn của k thư mẫu gần thư cần phân loại nhất.
Mặc dù đơn giản và có độ chính xác phân loại chấp nhận được, bộ phân loại
dạng này có tốc độ phân loại chậm do phải so sánh thư mới với tất cả các thư mẫu
đã lưu từ trước. Ngoài ra, việc lựa chọn tập đặc trưng có ảnh hưởng quyết định tới
độ chính xác phân loại [Sebastiani 2002].
Support Vector Machines (SVM)
Chi tiết về phân loại thư sử dụng SVM sẽ được trình bầy trong phần 3.5.
Một số phương pháp khác
một phần sau của bài báo. Mỗi thư được gán một nhãn phân loại Y có thể nhận một
trong hai giá trị: Y = 1 cho trường hợp thư rác và Y = 0 cho trường hợp thư bình
thường.
Để xác định nhãn phân loại cho thư, bộ phân loại Bayes tính xác suất điều
kiện
P (Y = y | X
1
= x
1
,…, X
n
= x
n
)
tức là xác suất một thư với nội dung (x
1
, x
2
, …, x
n
) nhận nhãn phân loại y, y
∈ {1,0}. Sử dụng công thức Bayes, xác suất trên được tính như sau
), ,(
)()|, ,(
), ,|(
11
11
11
nn
nn