Tải bản đầy đủ (.docx) (23 trang)

PHÂN ĐA LỚP VĂN BẢN BẰNG SVM VÀ MÔ HÌNH CÂY TỔNG QUÁT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (525.42 KB, 23 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CÔNG NGHỆ TRI THỨC
Bài Thu Hoạch:
PHÂN ĐA LỚP VĂN BẢN
BẰNG SVM VÀ MÔ HÌNH CÂY TỔNG QUÁT

Giảng viên hướng dẫn:
GSTS. HOÀNG KIẾM
Sinh viên thực hiện:
LÊ MINH TRÍ - CH1101149
Lớp: Cao học khóa 6
TP. Hồ Chí Minh, tháng 6 năm 2012
Mục lục
LỜI MỞ ĐẦU
Ngày này, cùng với sự phát triển công nghệ thông tin cũng như sự bùng nổ của internet
làm cho khối lượng thông tin trong việc lưu trữ và trao đổi đang ngày càng lớn. Vì thế, việc
xử lý, phân loại thông tin bằng cách thủ công trở nên khó khăn. Do đó, đòi hỏi phải có cách tổ
chức, phân loại thông tin tự động. May mắn là tốc độ xử lý của máy tính càng ngày càng lớn
và thực sự trở thành một công cụ đắc lực, hỗ trợ con người trong nhiều lĩnh vực, trong đó có
phân loại thông tin. Máy tính trở thành một công cụ hữu hiệu cho việc phân loại tự động thông
tin bằng cách học, hay còn gọi là máy học và được áp dụng trong việc phân lớp văn bản.
Trước hết, em xin gửi lời cảm ơn chân thành tới GS.TSKH. Hoàng Kiếm. Qua những
buổi giảng dạy và hướng dẫn tận tình của thầy trong môn Công nghệ tri thức đã giúp em hiểu
biết thêm nhiều kiến thức. Qua đó em xin trình bày trong bài tiểu luận này bài toán phân đa
lớp văn bản dựa trên thuật toán vector hỗ trợ (Support Vector Machine). Hi vọng bài luận có
thể góp phần nào giải quyết bài toán tổ chức và phân loại thông tin tự động.
Trang 3
I. TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN
I.1. Giới thiệu bài toán phân loại văn bản
Bài toán phân loại là một bài toán kinh điển, trong đó phân loại văn bản là một bài toán


phổ biến. Nhiệm vụ của bài toán phân loại văn bản là xác định và phân các văn bản vào một
hay một số lớp văn bản thích hợp dựa vào nội dung của văn bản.
Đầu thập kỷ 90, cách tiếp cận máy học (Machine Learning) để phân loại văn bản được
phổ biến và thu hút nhiều người nghiên cứu trong lĩnh vực này. Quá trình xử lý quy nạp nhằm
một phân lớp cho một loại c
i
bằng quan sát các đặc trưng của tập hợp các tài liệu đã được phân
bằng tay vào c
i
hay
i
c
bởi chuyên gia về lĩnh vực này. Bài toán phân lớp là hoạt động học có
giám sát, quá trình học được giám sát bởi tri thức của các phân loại và của các mẫu huấn
luyện.
Phân loại văn bản được dựa trên cơ chế rút trích thông tin gồm 3 giai đoạn:
1 – Xử lí văn bản: các văn bản ở dạng thô cần sẽ xử lí để được chuyển sang một dạng
biểu diễn đơn giản nhưng vẫn giữ được nội dung chính của văn bản.
2 – Huấn luyện: quá trình học sẽ được diễn ra dựa trên các văn bản đã được phân loại.
3 – Phân loại: sau khi đã huấn luyện sẽ là quá trình phân loại dùng để phân loại văn bản.
Các phương pháp phân loại văn bản dựa máy học hiện nay đều dựa vào tần suất xuất
hiện của từ hoặc cụm từ trong văn bản. Độ chính xác của kết quả của việc xử lí văn bản ảnh
hưởng lớn đến kết quả của phân loại.
I.2. Tiền xử lý văn bản và biểu đặc trưng văn bản trong không gian vector
Để máy tính có thể tự động phân loại văn bản, các văn bản phải được biểu diễn dưới
dạng các vector đặc trưng, trong đó chiều thứ i trong vector đại điện cho giá trị của đặc trưng
thứ i. Để rút được các đặc trưng của văn bản, cần phải thực hiện nhiều thao tác tiền xử lý như
tách từ, loại các ký tự thừa, loại bỏ các từ có chiều dài ngắn, loại bỏ các từ không mang nhiều
ý nghĩa.
Trang 4

I.2.1. Tiền xử lý văn bản
Mục đích chính của bước tiền xử lý văn bản là đưa một văn bản về dạng chuẩn, loại bỏ
tất cả những yếu tố không cần thiết hoặc có thể làm nhiễu việc phân lớp như kí tự thừa, các từ
không mang nhiều ý nghĩa nội dung, dấu câu… Sau bước này, ta còn lại được những nội dung
đặc trưng nhất của văn bản đó, các từ còn lại trong văn bản là các từ có giá trị thông tin cao.
Điều đó giúp cho việc rút trích đặc trưng được dễ dàng, chính xác làm tiền đề cho việc nâng
cao hiệu suất ở bước phân lớp.
Bên cạnh đó, bước tiền xứ lý này còn giúp cho các văn bản có dung lượng nhỏ hơn mà
nội dung vẫn đầy đủ, không bị thiếu thông tin. Điều này làm cho hệ thống xử lý và làm việc
nhanh hơn, giúp có được kết quả tốt, văn bản gốc không bị ảnh hưởng. Do vậy bước tiền xử lý
luôn luôn quan trọng trong bất cứ thuật toán phân lớp nào.
Các đặc trưng là yếu tố đầu vào hết sức quan trọng:
- Các đặc trưng phải thực sự là những từ đại diện cho nhóm về mặt nội dung. Nếu tập
đặc trưng được chọn không bao phủ rộng tất cả các văn bản huấn luyện thì việc phân loại sẽ
không khách quan và ảnh hưởng ít nhiều đến kết quả tùy thuộc vào mức độ thiếu hụt các đặc
trưng.
- Các đặc trưng phải được rút gọn về mặt hình thức. Điều này giúp đánh giá tốt hơn độ
quan trọng của một từ dưới dạng một đặc trưng đại diện duy nhất.
I.2.2. Biểu diễn đặc trưng văn bản trong không gian vector
Sau bước tiền xử lý, văn bản giờ chỉ còn lại những ký tự được chọn lọc. Tuy nhiên đây
mới chỉ là giai đoạn đầu, văn bản ở dạng này vẫn chưa phù hợp với nhiệm vụ và thuật toán xử
lý văn bản mà nó cần được biến đổi. Mỗi văn bản sẽ được đưa về dạng 1 vector gồm n chiều.
I.2.2.1. Chọn lựa đặc trưng
Chọn lựa đặc trưng là quá trình làm giảm số chiều thực của vector đặc trưng nghĩa là
giảm kích thước của không gian vector từ |T| thành |T

|<<|T|.
Có hai hướng khác nhau trong việc giảm số chiều, phụ thuộc vào nhiệm vụ giảm số
chiều là bộ phận hay tổng thể:
Trang 5

- Giảm số chiều bộ phận: Cho một loại c
i
, một tập các thuật ngữ , |T

|<<|T|, được
chọn chỉ để thực hiện phân lớp cho loại c
i
.
- Giảm số chiều tổng thể: Một tập các thuật ngữ T

, với |T

|<<|T|, được chọn để thực
hiện phân lớp cho tất cả các loại C = {c
1
,…,c
|C|
}.
I.2.2.2. Vector hóa văn bản
Vector hóa văn bản là quá trình biến đổi nội dung văn bản, các đặc trưng của văn bản
thành cách vector có các trọng số theo các đặc trung của văn bản đó. Có rất nhiều phương
pháp biểu diễn văn bản, mỗi phương pháp thích hợp với từng bài toán cụ thể; trong đó,
phương pháp biểu diễn văn bản theo không gian vector dựa vào tần suất, đây được coi là một
hướng tiếp cận tương đối đơn giản và hiệu quả để biểu diễn văn bản.
Trong mô hình tần suất, ma trận W={w
ij
} được xác định dựa trên tần số xuất hiện của
thuật ngữ t
i
trong văn bản d

j
hoặc trong toàn bộ tập văn bản D.
a. Phương pháp dựa trên tần số thuật ngữ (TF-Term Frequency)
Phương pháp xác định w
ij

dựa trên số lần xuất hiện của thuật ngữ trong văn bản. Với f
ij


tần số của thuật ngữ t
i

trong văn bản d
j
, thì w
ij
được tính bởi một trong số các công thức
sau:
w
ij
= f
ij


w
ij
= 1+log(f
ij
)

w
ij
=
ij
f

b. Phương pháp dựa trên nghịch đảo tần số văn bản (IDF - Inverse Document
Frequency )
Theo phương pháp này, w
ij
được xác định theo công thức:





−=
=
0
)log()log(log
i
i
ij
hm
h
m
w

Trang 6
nếu ngược lại

nếu t
i
xuất hiện trong
d
j
Trong đó, m là số lượng văn bản, h
i

là số các văn bản có chứa thuật ngữ t
i

c. Phương pháp TF × IDF
Phương pháp này là kết hợp của cả 2 phương pháp trên. Công thức TFxIDF là:
[ ]














+
=

0
1log)log(1
i
i
ij
ij
h
h
m
f
w
Trang 7
II. PHƯƠNG PHÁP PHÂN LỚP SVM
V. Vapnik đề xuất một phương pháp học có giám sát dùng để phân lớp nhị phân
phương pháp này gọi là SVM. Mục đích của phương pháp này là phân lớp dựa trên các đặc
trưng của văn bản. Tư tưởng chính của SVM là tìm một mặt phẳng phân tách tuyến tính hai
lớp với nhau. Khi đó một mẫu mới sẽ được phân lớp dựa trên vị trí tương đối của mẫu đó với
mặt phẳng này. SVM sẽ tìm một mặt phẳng tốt nhất nghĩa là mặt phẳng có lề (khoảng cách từ
điểm dữ liệu gần nhất đến mặt phẳng) lớn nhất.
Hình - Phương pháp phân lớp SVM
Đối với những trường hợp dữ liệu không thể phân tách tuyến tính, SVM ánh xạ dữ liệu
từ không gian đầu vào vào không gian đặc trưng có số chiều lớn hơn.
II.1. Phân lớp SVM nhị phân
Phân loại văn bản bằng SVM nhị phân là bài toán nhắm xác định một văn bản sẽ thuộc
loại gì trong hai loại đã cho trước.
Sau khi tiền xử lí và vector hóa đặc trưng, mỗi văn bản được biểu thị dưới dạng một
vector . Mỗi vector là một điểm trong không gian n chiều. Các văn bản huấn luyện thuộc 2 lớp
(được đánh nhãn là +1 và -1) là các điểm trong không gian đầu vào n chiều. SVM sẽ tìm một
mặt phẳng tốt nhất phân tách 2 tập điểm +1 và -1.
Trang 8

Xét một tập huấn luyện S gồm l phần tử:
Với y
i
thuộc 1 trong 2 giá trị là +1 và -1 có nghĩa x
i
thuộc 1 trong 2 lớp. Ta phải tìm
một hàm số thực:
Sao cho
Khi phân lớp một mẫu . x được phân vào lớp dương (+1) nếu f(x) >= 0 và lớp âm (-1)
nếu ngược lại
Xét trường hợp f(x) là hàm tuyến tính (siêu phẳng tuyến tính). Ta có:
Với: được gọi là trọng số (weight) của siêu phẳng
được gọi là ngưỡng (threshold)
Hình - Phân lớp SVM
II.2. Ưu khuyết điểm của SVM
Ưu điểm:
− Ưu điểm của SVM là độ chính xác phân lớp rất cao. Vì thế, SVM là một trong những
phương pháp phân lớp phổ biến hiện nay.
− SVM có thể được áp dụng cho nhiều bài toán như: Nhận dạng kuôn mặt, nhận dạng
Trang 9
chữ, phân lớp văn bản, …
− SVM cho thời gian phân lớp tương đối nhanh.
Khuyết điểm:
− Thời gian để huấn luyện theo phương pháp SVM lâu, không gian bộ nhớ sử dùng lớn.
− SVM chỉ được thiết kế cho phân lớp nhị phân. Tuy nhiên trong thực tế cần phải phân
loại nhiều lớp.
II.3. Phân loại đa lớp
Một số phương pháp phân loại đa lớp sử dụng SVM phổ biến hiện nay là: One-versus-
All (OvA), One-against-One (OvO), và các phương pháp dựa trên cây nhị phân.
II.3.1. One-versus-All

Phương pháp này là phân một lớp với các lớp còn lại. Phương pháp này chia bộ huấn
luyện làm 2 loại: các mẫu dương là các mẫu thuộc lớp i, các mẫu âm là các mẫu còn lại. Sau
đó ta sẽ huấn luyện tập này. Gọi hàm phân lớp của lớp thứ i là:
D
i
(x) = w
i
T
x + b
Hình - Minh họa phương pháp One-versus-All
Đối với một vector x cần được phân lớp, ta tính tất cả các hàm D
i
(x). Luật phân lớp là:
Nếu D
i
(x) > 0 thì x thuộc lớp i, ngược lại x không thuộc lớp i
Trang 10
II.3.2. One-Against-One
Trong phương pháp này là ta sẽ phân từng cặp lớp với nhau. Đối với bài toán phân lớp
k lớp ta xây dựng k(k-1)/2 bộ phân lớp SVM nhị phân. Đối với mỗi cặp lớp i, j, ta lấy các mẫu
thuộc lớp i gán cho nhãn dương (+1), các mẫu thuộc lớp j gán cho nhãn âm (-1). Sau đó phân
lớp bộ dữ liệu này. Gọi hàm phân lớp cho mỗi cặp lớp i, j là:
D
ij
(x) = w
ij
T
x + b
Hình 2- Minh họa phương pháp One-against-One
Các thử nghiệm thực tế đã chứng tỏ rằng phương pháp OvO cho kết quả có độ chính

xác cao hơn phương pháp OvA.
II.3.2. Các phương pháp dựa trên cây nhị phân
Decision Directed Acyclic Graph (DDAG)
Platt, Cristianini và J. Shawe-Taylor đã đề xuất phương pháp phân lớp pairwise dựa
trên cây quyết định gọi là Decision Directed Acyclic Graph (DDAG).
Một Directed Acyclid Graph (DAG) là một đồ thị có hướng và không chu trình. Một
DAG có gốc (Rooted DAG) là DAG có một node duy nhất mà không có cung chỉ vào nó
Decision Directed Acyclid Graph (DDAG) trên k lớp là một đồ thị DAG nhị phân có
gốc với k node lá được gắn nhãn bởi k lớp, mỗi node trong số n = k(k – 1)/2 node trong được
gắn nhãn bởi một cặp lớp, và SVM được dùng để huấn luyện hàm phân loại giữa 2 lớp đó
Trang 11
Khi phân lớp dữ liệu x, bắt đầu từ node gốc với nhãn là cặp i, j. Nếu hàm quyết định tại
node này dương, thì cung bên trái được chọn gồm tất cả những node mà nhãn không bao gồm
j, ngược lại cung bên phải được chọn gồm tất cả những node mà nhãn không bao gồm i. Tiếp
tục tương tự với các node mà ta gặp cho đến khi găp node lá. Khi ấy dữ liệu x sẽ được phân
vào lớp là nhãn của node lá đó. Đường đi xuyên qua DDAG được gọi là đường đi định giá
(evaluation path)
DDAG tương đương với những bước trên một danh sách, mỗi node loại bỏ một lớp
khỏi tập các lớp. Danh sách này được khởi tạo là một danh sách gồm tất cả các lớp. Tại mỗi
node trên DDAG, nếu hàm quyết định cho kết quả là một lớp nào thì lớp còn lại sẽ bị loại bỏ
khỏi danh sách. Đến khi nào danh sách chỉ còn một lớp thì dữ liệu x được phân vào lớp đó
Hình - Minh họa một đồ thị DDAG
Half-against-Half (HAH)
Một phương pháp phân đa lớp SVM nữa là Half-against-Half do H. Lei và Venu
Govindaraju đề xuất. HAH là một kiểu cây nhị phân quyết định. Tại mỗi node gốc, ta chia các
lớp thành 2 nhóm, xây dựng mặt phẳng phân lớp SVM cho 2 nhóm này. Sau đó tạo 2 node
con cho 2 nhóm này. Tiếp tục quá trình phân chia cho các node con. Nếu trong 1 node chỉ còn
1 lớp, ta kết thúc quá trình phân chia cho node này
Trang 12
Hình - Một minh họa cho HAH.

1. Mỗi node là một SVM nhị phân chia 2 nhóm với nhau
2. HAH cho 6 lớp
Đối với những bộ dữ liệu có số lượng lớp nhỏ, có thể chia chúng thành những nhóm
bằng tay với tri thức biết trước (prior knowledge). Đối với những bài toán có số lượng lớp lớn,
thông thường ta phải chia nhóm một cách tự động.
Trang 13
III. CÂY TỔNG QUÁT VÀ XÁC SUẤT LỖI
III.1. Mô hình cây tổng quát
Có thể thấy rằng đối với DDAG, trong mỗi node có hai lớp được chọn để huấn luyện
mặt phẳng phân lớp, ngược lại đối với HAH, trong mỗi node các lớp được chia ra làm hai
nhóm. Do đó, ta có thể xây dựng mô hình cây mới linh hoạt hơn trong việc chọn lớp trong mỗi
node. Trong đó số các lớp được chọn trong mỗi node có thể dao động chứ không cố định như
DDAG hay HAH
Định nghĩa:
Cây tổng quát là cây nhị phân được tạo ra trong quá trình huấn luyện như sau
Quá trình huấn luyện:
B1: Tạo node gốc (node 0) với danh sách lớp là L[0] chứa tất cả các lớp. Đặt node 0 là
node đang xét
B2: Với node k đang xét có danh sách lớp là L[k]. Nếu L[k] chứa 1 phần tử → kết thúc,
ngược lại qua bước 3
B3: Chọn từ L[k] 2 nhóm lớp G1 và G2 để xây dựng bộ phân lớp, các lớp còn lại
không được chọn là G3. Xác định mặt phẳng phân lớp cho G1 và G2
B4: Tạo ra 2 node con của k là k1 và k2 tương ứng với G1 và G2 với và
B5: Quay lại B2 cho k1 và k2
Quá trình phân lớp:
Giả sử ta cần phân lớp một mẫu x.
B1. Chọn node đang xét là node gốc
B2. Nếu node đang xét là node lá với một lớp c duy nhất trong nhãn thì kết luận là x
thuộc lớp c và kết thúc thuật toán, ngược lại qua B3
B3. Sử dụng hàm phân lớp f(x) của node đang xét cho mẫu x. Nếu f(x) >= 0, chọn node

Trang 14
n
o
t

4
,
6
n
o
t

1
,
2
n
o
t

3
,
5
n
o
t

1
n
o
t


5
,
6
n
o
t

3
n
o
t

5
con trái là node đang xét, nếu f(x) < 0 chọn node phải là node đang xét. Quay lại B2.
Hình - Minh họa một cây tổng quát
Quá trình chọn lớp trong mỗi node là một vấn đề mở. Với mỗi cách chọn node khác
nhau sẽ cho ra một cấu trúc cây khác nhau.
III.2. Xác suất lỗi của cây tổng quát
Cây tổng quát là một cấu trúc linh hoạt. Đối với một bài toán phân loại đa lớp, có thể
có rất nhiều cấu trúc cây khác nhau. Mà mỗi cấu trúc cây lại cho một độ chính xác phân lớp
khác nhau. Vậy làm thế nào để chọn được cấu trúc cây tốt, cho độ chính xác phân lớp cao là
vấn đề quan trọng nhất. Do đó cần có một tiêu chuẩn để đánh giá cây tổng quát. Để làm điều
đó ta dựa trên khái niệm xác suất lỗi của cây, để đánh giá độ tốt của một cây tổng quát.
Định nghĩa:
ĐN1: Xác suất lỗi của cây là xác suất mà một mẫu (có cùng phân phối xác suất với bộ
Trang 15
not 3
huấn luyện) bị phân lớp sai khi được phân lớp bởi cây đó. Ký hiệu:
với T là 1 cây tổng quát

Nếu một cây có xác suất lỗi thấp hơn các cây khác có nghĩa là nó có độ chính xác cao
hơn khi phân lớp (Đối với các mẫu có cùng phân phối xác suất với bộ huấn luyện)
ĐN2: Xác suất lỗi của node là xác suất mà một mẫu (có nhãn thuộc G1 hoặc G2 của
node đó) bị phân lớp sai khi được phân lớp bởi bộ phân lớp của node đó.
với Node là 1 node trên cây tổng quát
Ngược lại với xác suất lỗi của node là xác suất mà node phân lớp đúng. Ký hiệu là
Pr(Node đúng)
Xác định xác suất lỗi của cây
Trong phần này ta có thể dùng một phương pháp tổng quát để ước lượng gần đúng xác
suất lỗi của một cây tổng quát.
Xét cây T với node gốc ký hiệu là Node. Node có các nhóm G1, G2, G3 như được định
nghĩa phía trên. Hai cây con T1 (cây con trái), T2 (cây con phải) tương ứng với G1 và G2
Hình - Cây T với node gốc có G1 = {c
1,1
, , c
1,n1
} ; G2 = {c
2,1
, , c
2,n2
}
Gọi x là 1 mẫu bất kỳ cần được phân lớp.
Trường hợp 1: . Khi đó, x được phân lớp sai khi xảy ra 1 trong 2 trường hợp:
− node gốc phân lớp đúng (nhánh T1 được chọn), và cây T1 phân lớp sai
Trang 16
− node gốc phân lớp sai (nhánh T2 được chọn)
(3.1)
Vì SVM cho kết quả rất cao nên điều kiện “Node phân lớp đúng” thỏa với hầu hết =>
=>
Do đó để đơn giản trong việc tính toán và đệ quy, ta có thể viết lại (3.1) như sau:

(3.2)
Trường hợp 2: Tương tự với
(3.3)
Trường hợp 3: , x được phân lớp sai khi xảy ra 1 trong 2 trường hợp:
− node gốc phân x vào cây T1 và cây T1 phân lớp sai
− node gốc phân x vào cây T2 và cây T2 phân lớp sai
Suy luận tương tự như trên ta có:
(3.4)
Trang 17
Tuy nhiên, các đại lượng
và rất khó để tính và đệ quy, do đó để đơn giản, có thể sử dụng và thay cho các đại lượng
trên (mặc dù không hoàn toàn chính xác) để quá trình tính toán và đệ quy được đơn giản.
Do đó ta có thể sử dụng công thức sau thay cho (3.4):
(3.5)
Khi đó công thức gần đúng để tính xác suất lỗi của cây:
(3.6)
Với được tính như trên
* Nhận xét
DDAG và HAH là 2 trường hợp đặc biệt của cây tổng quát. Nếu tại mỗi node ta chọn 1
lớp cho G1 và 1 lớp cho G2 thì cây tổng quát sẽ trở thành DDAG. Còn nếu tại mỗi node, G3
không chứa lớp nào thì cây tổng quát sẽ trở thành HAH.
Các công thức (3.2) và (3.3) chỉ là gần đúng trong trường hợp các bộ phân lớp SVM
đạt hiệu suất cao. Do đó khi các bộ phân lớp SVM có hiệu suất không cao hoặc chiều cao của
cây quá lớn thì có khả năng công thức tính xác suất lỗi chênh lệch càng lớn.
Công thức (3.5) chỉ là công thức thay thế để cho quá trình tính toán và đệ quy được đơn
giản, do đó nó không đảm bảo hoàn toàn chính xác tuy nhiên nó cũng phản ánh được phần nào
đó xác suất lỗi của cây.
Nếu ước lượng được xác suất lỗi, ta có thể xác định được cấu trúc cây cho kết quả phân
lớp tốt. Tuy nhiên đây chỉ là phương pháp tổng quát để ước lượng xác suất lỗi. Để có thể hoàn
toàn xác định được xác suất lỗi, ta phải đưa ra công thức ước lượng cho các đại lượng như:



Trang 18

Trang 19
IV. CHƯƠNG TRÌNH
IV.1. Cấu trúc chương trình
• Module tiền xử lý, vector hóa văn bản
• Module huấn luyện bao gồm cả huấn luyện SVM nhị phân và huấn luyện đa lớp
• Module phân lớp bao gồm cả phân lớp nhị phân và phân đa lớp
− Quá trình tiền xử lý: có nhiệm vụ chính là nhận vào file văn bản thô, sau đó tiến hành
xử lý để xuất ra file chứa các vector tương ứng với các văn bản đầu vào.
− Quá trình huấn luyện: các văn bản sau khi xử lý, sẽ xuất ra các file chứa các vector
được vector hóa từ các văn bản. Sau đó các file này được đưa vào module huấn luyện.
Sau khi huấn luyện module này sẽ xuất ra các file huấn luyện.
− Quá trình phân lớp: các văn bản cần phân lớp được đưa vào module tiền xử lý văn bản,
module này sẽ xử lý và xuất ra các vector của các văn bản. Vector này được đưa vào
module phân lớp, module này sẽ xác định lớp kết quả của văn bản.
Trang 20
IV.2. Chương trình:
Sau khi qua giai đoạn tiền xử lí dữ liệu và huyến luyện để có thể phân lớp một đoạn văn bản
thuộc thể loại nào, chương trình cần các thông số:
• File huấn luyện: file này được tạo ra ở giai đoạn huấn luyện phân loại văn bản
• File kết quả và thực mục bộ phận lớp là các thông tin về mô hình cây và bộ phân
lớp theo mô hình cây.
• Các key file và class file là các file chức các thông tin về các từ khóa của văn bản
và các lớp (thể loại) văn bản.
• Sau khi nhập văn bản và nhấn nút Phân lớp, máy sẽ tự động nhận diện văn bản
thuộc thể loại nào.
Trang 21

V. Kết luận:
Trong tiểu luận này đã trình bày bài toán phân loại văn bản và các vấn đề liên quan đến
phân loại văn bản như tiền xử lý văn bản, vector hóa văn bản. Ngoài ra, tiểu luận cũng đã trình
bày về phương pháp phân lớp Support Vector Machines, một phương pháp phân lớp có hiệu
quả rất cao cùng với các vấn đề liên quan.
Nhược điểm của phương pháp SVM là nó chỉ có khả năng phân lớp nhị phân. Do đó đã
có rất nhiều phương pháp kết hợp các bộ phân lớp nhị phân SVM để giải quyết vấn đề phân đa
lớp. Tiểu luận cũng đã trình bày một số phương pháp phân đa lớp thông dụng, phổ biến hiện
nay.
Trang 22
Tài liệu tham khảo:
• An Introduction to Support Vector Machines and Other Kernel-based Learning
Methods - Nello Cristianini và John Shawe Taylor.
• Support Vector Machines for Classification and Regression - Steve R. Gunn.
• A Tutorial on Support Vector Machines for Pattern Recognition - Christopher J.C.
Burges.
• Large margin DAGs for Multiclass classification - J.C. Platt, N. Cristianini, và J.
Shawe-Taylor.
• Half-against-Half Multi-class Support Vector Machines - H. Lei, Venu Govindaraju.
• />Trang 23

×