Phương pháp SVM được Vapnik giới thiệu vào năm 1979 [92], nhưng mới trở nên phổ biến vào thập kỷ 90 của thế kỷ XX. SVM là thuật toán phân loại có giám sát và áp dụng thành công vào bài toán phân loại văn bản [45], [84].
Giả sử ta có một tập huấn luyện được biểu diễn trong không gian vectơ với mỗi văn bản là một điểm. Chúng ta hãy xem xét trường hợp đơn giản nhất ứng với không gian vectơ có thể phân chia tuyến tính thành hai lớp + và lớp -. Ta cần tìm một mặt phẳng quyết định (gọi là siêu phẳng) có thể chia tốt nhất các mẫu dương và âm. Khoảng cách cực đại, còn gọi là lề (margin) xác định khoảng cách giữa các mẫu dương và âm gần mặt siêu phẳng nhất. SVM thực chất là một bài toán tối ưu với mục tiêu tìm một siêu phẳng nằm giữa các mẫu dương và âm của tập huấn luyện sao cho sai số phân loại là thấp nhất. Hình 1.2 minh họa cho thuật toán SVM. Đường nét liền trong Hình 1.2 cho thấy siêu phẳng phân chia các mẫu huấn luyện dương và âm, đường đứt nét ở mỗi bên định rõ lề - khoảng cách mà siêu phẳng có thể dịch chuyển mà không gây ra sự phân loại sai. Siêu phẳng trong Hình 1.2 có lề cực đại và bất kỳ một mặt phẳng quyết định nào khác sẽ đều có lề nhỏ hơn lề được biểu diễn.
Siêu phẳng với lề cực đại phân chia tối ưu các mẫu dương và âm được xác định bởi phương trình sau:
0
x b
w (1. 7)
Trong đó wlà vectơ trọng số, b là tham số ngưỡng. Khi thay đổi w và b, hướng và khoảng cách từ gốc tọa độ đến mặt siêu phẳng thay đổi. Mục tiêu của phương pháp SVM là ước lượng w và b để cực đại hóa lề giữa các lớp dữ liệu dương và âm. Các văn bản nằm cách siêu phẳng một khoảng lề gọi là vectơ hỗ trợ và quyết định vị trí thực tế của siêu phẳng.
Văn bản mới x được phân loại vào lớp + nếu (w× x + b) > 0 và ngược lại sẽ vào lớp -. Trong trường hợp các vectơ văn bản của hai lớp không phân chia tuyến tính thì
lề
+
-
Hình 1.2. Siêu phẳng (đƣờng nét liền) với lề cực đại. Các vectơ hỗ trợ – các điểm trên các đƣờng đứt nét
SVM cho kết quả phân loại văn bản tốt hơn phần lớn các kỹ thuật khác [104]. Kết quả phân loại theo độ đo F1 trên bộ dữ liệu tiếng Anh (Reuters) là 0.87 [84]. Các hệ thống phân loại SVM thường thực hiện tốt cả khi dữ liệu thưa, vì trên thực tế sự phân loại chủ yếu dựa vào những vectơ hỗ trợ của một lớp. Nó có thể quản lý tập dữ liệu lớn và có độ chính xác khá cao. Tuy nhiên, độ phức tạp tính toán cao và tốn nhiều thời gian xây dựng mô hình.