Tải bản đầy đủ (.doc) (72 trang)

XÂY DỰNG hệ THỐNG PHÂN LOẠI văn bản TIẾNG VIỆT sử DỤNG PHƯƠNG PHÁP máy véc tơ hỗ TRỢ kết hợp các PHƯƠNG PHÁP tối ưu KÍCH THƯỚC dữ LIỆU

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 (543.83 KB, 72 trang )

Mục lục
Danh mục thuật ngữ.............................................................................................................3
Danh mục các hình vẽ..........................................................................................................4
Danh mục các bảng..............................................................................................................4
Mở đầu..................................................................................................................................5
Chương 1: Tổng quan............................................................................................................6
1.1 Giới thiệu bài toán xử lý văn bản................................................................................6
1.2 Các phương pháp phân loại văn bản...........................................................................6
1.3 Vấn đề giảm chiều đặc trưng......................................................................................7
1.3.1. Giới thiệu.............................................................................................................7
1.3.2. Các tiếp cận và tình hình nghiên cứu ở Việt Nam..............................................8
1.4 Đặc điểm của tiếng Việt..............................................................................................9
1.5 Mục tiêu của luận văn...............................................................................................10
Chương 2: Biểu diễn văn bản..............................................................................................11
2.1 Giới thiệu...................................................................................................................11
.....................................................................................................................................11
2.2 Mơ hình Boolean.......................................................................................................12
2.3 Mơ hình tần suất (Term Frequency – TF)................................................................12
2.4 Mơ hình nghịch đảo tần số văn bản (Inverse Document Frequency - IDF)............13
2.5 Mơ hình kết hợp TFxIDF..........................................................................................13
2.6 Áp dụng phương pháp véc-tơ thưa trong lưu trữ văn bản........................................13
Chương 3: Các phương pháp phân loại văn bản.................................................................15
3.1 Giới thiệu...................................................................................................................15
3.2 Quy trình phân loại văn bản......................................................................................15
3.3 Đặc điểm của Tiếng Việt và ảnh hưởng trong phân loại văn bản............................16
3.3.1. Đặc điểm tiếng Việt..........................................................................................16
3.3.2. Ảnh hưởng trong phân loại văn bản.................................................................18
3.4 Phương pháp phân loại Naïve Bayes........................................................................18
3.5 Phương pháp phân loại Centroid- based vector........................................................19
3.6 Phương pháp phân loại k–Nearest Neighbor (kNN)................................................19
3.7 Phân loại văn bản bằng phương pháp Support Vector Machines............................20


3.7.1. Lý thuyết học thống kê......................................................................................20
3.7.1.1. Chiều VC (Vapnik Chervonenkis dimension)...........................................20
3.7.1.2. Rủi ro của bài tốn học phân loại có giám sát...........................................22
3.7.1.3. Rủi ro thực nghiệm....................................................................................23
3.7.1.4. Nguyên tắc tối thiểu hoá rủi ro cấu trúc....................................................23
3.7.1.5. Bổ đề Vapnik..............................................................................................24
3.7.2. Support Vector Machines.................................................................................25
3.7.2.1. Dữ liệu huấn luyện có thể phân chia tuyến tính và khơng có nhiễu.........26
3.7.2.2. Dữ liệu huấn luyện có thể phân chia tuyến tính nhưng có nhiễu..............30
3.7.2.3. Dữ liệu huấn luyện khơng thể phân chia tuyến tính được........................32
3.7.2.4. Hàm nhân Kernel.......................................................................................33
3.7.3. Phương pháp giải bài toán tối ưu......................................................................34
3.7.3.1. Thuật toán giải bài toán tối ưu...................................................................34
3.7.3.2. Thuật toán khởi tạo các biến......................................................................37
1


Chương 4: Các phương pháp tối ưu kích thước dữ liệu.....................................................38
4.1 Biểu diễn giảm bậc của ma trận Term – Doc...........................................................39
4.2 Phương pháp Latent semantic analysis.....................................................................41
4.2.1. Singular value decomposition...........................................................................42
4.2.2. Thuật tốn giảm số chiều LSI/SVD..................................................................44
4.3 Phương pháp trọng tâm.............................................................................................47
4.3.1. Bình phương tối thiểu.......................................................................................47
4.3.2. Thuật toán trọng tâm giảm số chiều.................................................................48
4.4 Phương pháp trọng tâm trực giao.............................................................................49
4.4.1. Phân tích QR của ma trận.................................................................................49
4.4.2. Thuật toán trọng tâm trực giao giảm số chiều..................................................51
4.5 Phương pháp Linear discriminant analysis...............................................................51
4.5.1. Hàm phân lớp tuyến tính của Fisher (Fisher’s linear discriminant - FLD).....52

4.5.2. Generalized Singular Value Decomposition (GSVD).....................................53
4.5.3. Linear discriminant analysis trong đa lớp........................................................54
4.5.4. Thuật tốn giảm số chiều LDA/GSVD.............................................................56
Chương 5: Cài đặt chương trình và kết quả thử nghiệm....................................................57
5.1 Chức năng tiền xử lý văn bản...................................................................................58
5.1.1. Chuẩn hóa..........................................................................................................58
5.1.2. Xây dựng bộ từ điển..........................................................................................58
5.1.3. Biểu diễn văn bản..............................................................................................58
5.1.4. Thuật toán giảm số chiều văn bản....................................................................59
5.1.4.1. Thuật toán giảm số chiều LSI/SVD...........................................................59
5.1.4.2. Thuật toán giảm số chiều Centroid............................................................60
5.1.4.3. Thuật toán giảm số chiều Orthogonal Centroid........................................60
5.2 Huấn luyện và phân loại............................................................................................61
5.2.1. Phương pháp SVM............................................................................................61
5.2.1.1. Quá trình huấn luyện..................................................................................61
5.2.1.2. Quá trình kiểm tra......................................................................................63
5.2.1.3. Phân loại văn bản.......................................................................................64
5.3 Kết quả thực nghiệm.................................................................................................64
5.3.1. Văn bản được tách thành các từ (word segments)............................................65
5.3.2. Văn bản được tách thành các âm tiết................................................................67
Kết luận...............................................................................................................................70
Tài liệu tham khảo..............................................................................................................71

2


Danh mục thuật ngữ
Số
TT


Từ viết
tắt

1
2

Tiếng Việt

High Dimension

SVM

5

Số chiều đặc trưng lớn (Cao)

k-Nearest Neighbor

k láng giềng gần nhất (phân loại
văn bản)

Stopwords

kNN

3
4

Tiếng Anh


từ dừng

Support Vector Machines

Máy véc-tơ hỗ trợ

Text Categorization
Classification)

(Text Bài toán phân loại văn bản

6

FLD

Fisher’s linear discriminant

Hàm phân lớp tuyến tính Fisher

7

LSI

Latent semantic indexing

Đánh chỉ mục ngữ nghĩa ẩn

8

SVD


Singular value decomposition

Phân tích giá trị kỳ dị

9

GSVD

Generalized Singular Value Phân tích giá trị kỳ dị giữa hai ma
Decomposition
trận

10

Centroid

Trọng tâm

11

Orthogonal Centroid

Trọng tâm trực giao

12

word segments

Tách từ


13

Linear discriminant analysis

Phân tích tuyến tính

3


Danh mục các hình vẽ
Hình 1. Biểu diễn các véc-tơ văn bản trong khơng gian chỉ có 2 thuật ngữ......................11
Hình 2. Minh họa chiều VC của tập các hàm {f(x)} trong khơng gian hai chiều với 3
điểm dữ liệu.........................................................................................................................21
Hình 3. Minh họa các hàm {f(x)} trong không gian hai chiều với 4 điểm dữ liệu............22
Hình 4. Mơ tả các siêu phẳng phân chia tập mẫu huấn luyện............................................26
Hình 5. Siêu phẳng phân chia dữ liệu và các ràng buộc.....................................................27

Danh mục các bảng
Bảng 1. Dữ liệu huấn luyện và kiểm thử............................................................................65
Bảng 2. Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường
hợp văn bản tách thành các từ sử dụng thuật toán giảm chiều LSI/SVM..........................65
Bảng 3. Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường
hợp văn bản tách thành các từ sử dụng thuật toán giảm chiều Centroid và Orthogonal
Centroid...............................................................................................................................66
Bảng 4. Chi phí thời gian huấn luyện và phân loại sử dụng hàm nhân Poly (d=2) trường
hợp văn bản được tách thành các từ....................................................................................66
Bảng 5. Chi phí thời gian thực hiện các thuật toán giảm chiều trường hợp văn bản được
tách thành các từ..................................................................................................................67
Bảng 6. Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường

hợp văn bản tách thành các âm tiết sử dụng thuật toán giảm chiều LSI/SVM..................67
Bảng 7. Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường
hợp văn bản tách thành các âm tiết sử dụng thuật toán giảm chiều Centroid và
Orthogonal Centroid............................................................................................................68
Bảng 8. Chi phí thời gian huấn luyện và phân loại sử dụng hàm nhân Poly (d=2) trường
hợp văn bản được tách thành các âm tiết............................................................................68
Bảng 9. Chi phí thời gian thực hiện các thuật tốn giảm chiều trường hợp văn bản được
tách thành các âm tiết..........................................................................................................69

4


Mở đầu
Phân loại văn bản là một trong những bài toán quan trọng trong xử lý văn bản
tiếng Việt. Một trong những thách thức của bài toán phân loại văn bản là số lượng đặc
trưng (thuộc tính) dùng để phân loại thì thường rất lớn. Bên cạnh đó, khi áp dụng vào
trong xử lý tiếng Việt chúng ta cần phải khảo sát hiệu quả của các phương pháp phân loại
trên một số đặc điểm riêng của tiếng Việt như việc sử dụng từ hay âm tiết.
Luận văn trình bày phương pháp phân loại Máy Véc-tơ hỗ trợ, đây được cho là
một trong những phương pháp phân loại tốt nhất hiện này đồng thời kết hợp tập trung
giải quyết vấn đề “số chiều đặc trưng lớn” bằng cách áp dụng các phương pháp giảm
chiều đặc trưng. Sau khi trình bày tổng quan về các tiếp cận giảm chiều đặc trưng luận
văn đi sâu vào trình bày các tiếp cận Lantent semantic index, Centroid, Orthogonal
Centroid, GSVD/LDA được áp dụng cho dữ liệu phân cụm phù hợp với bài toán phân
loại văn bản. Trên cơ sở đó chúng tơi cài đặt và thử nghiệm, đưa ra bảng so sánh đánh giá
các kết quả phân loại được ứng dụng cho bài toán phân loại văn bản tiếng Việt trong hai
trường hợp dựa vào đặc điểm riêng của tiếng Việt là sử dụng tách từ và âm tiết.

5



Tổng quan

Chương 1:
1.1 Giới thiệu bài toán xử lý văn bản

Ngày nay cùng với sự phát triển mạnh mẽ của cơng nghệ thơng tin thì nhu cầu lưu
trữ và trao đổi thông tin bằng văn bản số tăng lên với số lượng rất lớn. Đó là cơng văn
giấy tờ trong các doanh nghiệp và tổ chức hành chính được số hóa lưu trữ dưới dạng văn
bản, tin bài trên các web site báo điện tử, nội dung thông tin trao đổi trong email,…
Với một cơ sở dữ liệu có số lượng văn bản khổng lồ cùng với nhu cầu trao đổi
thơng tin rất lớn thì một lớp bài tốn xử lý văn bản ra đời nhằm khai thác một cách hiệu
quả thông tin từ dữ liệu văn bản. Lớp các bài toán xử lý văn bản bao gồm: dịch tự động
văn bản, tóm tắt văn bản, tìm kiếm văn bản, phân loại văn bản,…
Xử lý văn bản là một kỹ thuật chung để trích chọn ra những thơng tin có ích chưa
được biết đến, còn tiềm ẩn từ những văn bản. Xử lý văn bản có nhiệm vụ thu thập và
phân tích văn bản bằng các cơng cụ tự động hoặc bán tự động từ các nguồn văn bản đã có
khác nhau, để có được các tri thức mới, chưa được biết đến trước đó; phát hiện ra các mơ
tả chung của các lớp đối tượng văn bản, các từ khoá, các mối liên quan về mặt nội dung,
sự phân loại của các đối tượng văn bản, v.v...
Bài toán tự động phân loại văn bản (Text Classification) là bài toán quan trọng cần
giải quyết trong xử lý văn bản. Kết quả của phân loại được ứng dụng trực tiếp và là một
thành phần quan trọng trong nhiều hệ thống xử lý thông tin khác như trong hệ thống lọc
thư rác (mail spam) hay lấy tin tự động. Ngồi ra nó cũng có ứng dụng hỗ trợ trong nhiều
bài tốn xử lý văn bản như tìm kiếm, dịch máy, tóm tắt văn bản.

1.2 Các phương pháp phân loại văn bản
Trong xử lý văn bản, các phương pháp học máy đã chứng tỏ được tính hiệu quả
vượt trội. Một số phương pháp phân loại thông dụng đã được sử dụng như quyết định
Bayes (Mitchell, 1996), cây quyết định (Fuhr et al, 1991), véc-tơ trọng tâm (Centroidbased vector) (Han, Karypis 2000), k-láng giềng gần nhất (Yang, 1994), mạng nơron

(Wiener et al, 1995), ... Những phương pháp này đã cho kết quả chấp nhận được và được
sử dụng trong thực tế. Trong những năm gần đây, phương pháp phân loại sử dụng Bộ
phân loại véc-tơ hỗ trợ (SVM) được quan tâm và sử dụng nhiều trong những lĩnh vực
nhận dạng và phân loại (Joachims, 1998). SVM là một họ các phương pháp dựa trên cơ
sở các hàm nhân (kernel) để tối thiểu hóa rủi ro ước lượng.

6


Phương pháp SVM ra đời từ lý thuyết học thống kê do Vapnik và Chervonenkis
xây dựng và có nhiều tiềm năng phát triển về mặt lý thuyết cũng như ứng dụng trong
thực tiễn. Các thử nghiệm thực tế cho thấy, phương pháp SVM có khả năng phân loại
khá tốt đối với bài toán phân loại văn bản cũng như trong nhiều ứng dụng khác (như nhận
dạng chữ viết tay, phát hiện mặt người trong các ảnh, ước lượng hồi quy, ...). So sánh với
các phương pháp phân loại khác, khả năng phân loại của SVM là tương đương hoặc tốt
hơn đáng kể (Nguyễn Linh Giang và Nguyễn Mạnh Hiển, 2005).
Hệ thống phân loại văn bản tiếng Việt ở nước ta đã có nhiều nhà nghiên cứu và
phát triển xây dựng trong những năm gần đây (Huỳnh Quyết Thắng và Đinh Thị Phương,
1999) (Nguyễn Linh Giang và Nguyễn Mạnh Hiển, 2005). Các hướng tiếp cận bài toán
phân loại văn bản đã được nghiên cứu bao gồm: hướng tiếp cận bài toán phân loại bằng
lý thuyết đồ thị (Đỗ Bích Diệp, 2004), cách tiếp cận sử dụng lý thuyết tập thô (Nguyễn
Ngọc Bình, 2004), cách tiếp cận thống kê (Nguyễn Linh Giang và Nguyễn Duy Hải,
1999), cách tiếp cận sử dụng phương pháp học không giám sát và đánh chỉ mục (Huỳnh
Quyết Thắng và Đinh Thị Phương, 1999). Nhìn chung, những cách tiếp cận này đều cho
kết quả chấp nhận được.
Những thách thức trong bài toán phân loại văn bản Tiếng Việt:
1. Số chiều đặc trưng lớn
Trong phân loại văn bản tất cả các phương pháp gặp một khó khăn chung khi
khơng gian dữ liệu với số chiều lớn. Khi đó địi hỏi không gian bộ nhớ dữ liệu lớn và mất
nhiều thời gian xử lý văn bản phân loại. Để giải quyết vấn đề khó khăn này luận văn sẽ

trình bày và xây dựng hệ thống phân loại kết hợp với các phương pháp tối ưu kích thước
dữ liệu được áp dụng cho văn bản Tiếng Việt.
2. Phân tách câu thành các từ
Khác với tiếng Anh, văn bản tiếng Việt có thể được biểu diễn bởi danh sách các từ
hoặc âm tiết. Để biểu diễn văn bản bởi các từ, chúng ta phải xử lý bài toán tách từ (word
segmentation) cho tiếng Việt. Hai cách sử dụng này (âm tiết và từ) sẽ được khảo sát so
sánh trong luận văn của chúng tôi.

1.3 Vấn đề giảm chiều đặc trưng
1.3.1. Giới thiệu
Những tiến bộ trong công nghệ thông tin như mạng máy tính (network), phần
cứng (hardware), phần mềm (software), cấu trúc dữ liệu và thuật toán đã tạo lên cơ sở hạ
tầng đủ mạnh để xử lý luồng dữ liệu khổng lồ trên web, trong hệ thống máy tính, trong
7


các bộ cảm biến mạng máy tính (sensor networks), trong việc phân tích gen DNA của
người và các sinh vật khác, các loại dữ liệu ở dạng văn bản (text), ảnh, âm thanh...song
để xử lý được luồng dữ liệu lớn vẫn còn là vấn đề phức tạp. Trong bài giảng cho sinh
viên với chủ đề “Phân tích dữ liệu có số chiều đặc trưng cao: Những thuận lợi và khó
khăn” (High-Dimensional Data Analysis: The Curses and Blessings of Dimensionality)
(David Donoho, 2000) tại đại học Standford năm 2000 tiến sỹ David Donoho đã điểm
qua những thuận lợi và khó khăn trong việc giải quyết bài tốn có số chiều đặc trưng cao
đồng thời kêu gọi các nhà toán học trong thế kỷ 21 quan tâm và đóng góp hướng giải
quyết nhiều hơn nữa cho lớp bài tốn này.
Khái niệm “khó khăn của số chiều đặc trưng lớn” (curses of dimensionality)
(Richard Bellman, 1961) do Richard Bellman sử dụng lần đầu tiên nói đến sự khó khăn
trong việc giải quyết các bài tốn liên quan đến số chiều đặc trưng lớn (high dimension).
Số lượng chiều (dimension) của bài tốn có thể là số lượng biến số liên quan, có thể do
số lượng các bộ cảm biến (sensors) dùng để thu thập dữ liệu rất lớn. Để xử lý dữ liệu với

số chiều (dimension) khổng lồ và số lượng khổng lồ địi hỏi tìm kiếm trong một trong
gian trạng thái lớn gấp nhiều lần khi đó chi phí về thời gian có thể theo đa thức hoặc hàm
số mũ.
Điều thú vị là bài toán tốn xử lý dữ liệu lớn cũng có nhiều thuận lợi (blessings of
dimensionality) trong toán học một trong những yếu tố thuận lợi của số chiều lớn chính
là khái niệm “thước đo tập trung tương đối” (concentration of measure) nói đến thống kê
sự tập trung xấp xỉ khi có nhiều sự thể hiển có cùng đặc trưng. Trong lý thuyết xác suất
chúng ta có luật số lớn (law of large numbers) giá trị trung bình của các sự thể hiện ngẫu
nhiên thường hội tụ về giá trị kỳ vọng của biến ngẫu nhiên (constant). Hay định luật giới
hạn trung tâm (central limit): Giá trị trung bình của các sự thể hiện ngẫu nhiên có hành vi
giống như biến Gauss, khi ta chọn ngẫu nhiên một sự thể hiện trong dãy các sự thể hiện
thì kích thước dãy các sự thể hiện càng lớn thì các đặc trưng thống kê (trung bình,
phương sai,…) của sự thể hiện càng gần với đặc trưng của dãy.
Giảm chiều không gian đặc trưng trong bài tốn phân loại văn bản nói riêng và các
bài tốn có số chiều lớn nói chung có vai trị quan trọng trong việc:
– Giảm thiểu không gian bộ nhớ dữ liệu
– Tăng tốc độ xử lý dữ liệu cho giải thuật xử lý văn bản

1.3.2. Các tiếp cận và tình hình nghiên cứu ở Việt Nam
1. Các tiếp cận
8


Được chia làm hai loại:
Các phương pháp giảm chiều đặc trưng cho dữ liệu chưa được phân cụm hay còn
gọi là dữ liệu không giám sát (Unsupervised) như Principal components analysis (Karl
Pearson , 1901), Independent Component Analysis (Pierre Comon, 1994), Locally linear
Embedding (Sam T. Roweis và Lawrence K. Saul , 2000). Khi dữ liệu chưa phân cụm thì
có thể áp dụng các giải thuật phân cụm để gom dữ liệu thành các nhóm sau đó áp dụng
các phương pháp giảm số chiều cho dữ liệu đã được phân cụm.

Các phương pháp giảm chiều đặc trưng cho dữ liệu đã được phân cụm hay còn gọi
là dữ liệu giám sát (Supervised) như Latent semantic indexing (Scott Deerwester,ext,
1988), Centroid (Park et al, 2003) , Orthogonal centroid (Park et al, 2003), Generalized
singular value decompositon (GSVD/LDA) (Park et al, 2003), Linear discriminant
analysis (Fisher, 1936),…
2. Tình hình nghiên cứu ở Việt Nam
Ở Việt Nam cũng đã có những nghiên cứu về giảm chiều đặc trưng như cách tiếp
cận LSI (lantent semantic indexing) đánh chỉ mục ngữ nghĩa ẩn (Dương Thanh Tịnh,
2005) làm giảm chiều đặc trưng áp dụng trong hệ thống hỗ trợ tư vấn cho thương mại
điện tử, sử dụng giải thuật phân tán cho mạng máy tính (Đỗ Thanh Nghị, 2002) phân
phối cơng việc cho mạng máy tính xử lý bài tốn phân loại văn bản có số chiều đặc trưng
cao, xong vẫn cịn ít và chưa được quan tâm nhiều đến lớp bài tốn có số chiều đặc trưng
cao (high dimension).

1.4 Đặc điểm của tiếng Việt
Tiếng Việt thuộc ngôn ngữ đơn lập, tức là mỗi một tiếng (âm tiết) được phát âm
tách rời nhau và được thể hiện bằng một chữ viết. Đặc điểm này thể hiện rõ rệt ở tất cả
các mặt ngữ âm, từ vựng, ngữ pháp. Về mặt ngữ âm, mỗi tiếng là một âm tiết. Hệ thống
âm vị tiếng Việt phong phú và có tính cân đối, tạo ra tiềm năng của ngữ âm tiếng Việt
trong việc thể hiện các đơn vị có nghĩa. Nhiều từ tượng hình, tượng thanh có giá trị gợi tả
đặc sắc. Tiếng là đơn vị cơ sở của hệ thống các đơn vị có nghĩa của tiếng Việt. Từ tiếng,
người ta tạo ra các đơn vị từ vựng khác để định danh sự vật, hiện tượng.... Từ vựng tối
thiểu của tiếng Việt phần lớn là các từ đơn tiết (một âm tiết, một tiếng). Từ của tiếng Việt
khơng biến đổi hình thái. Đặc điểm này chi phối các đặc điểm ngữ pháp khác. Khi từ kết
hợp từ thành các kết cấu như ngữ, câu, tiếng Việt rất coi trọng phương thức trật tự từ và
hư từ. Việc sắp xếp các từ theo một trật tự nhất định là cách chủ yếu để biểu thị các quan
hệ cú pháp, trật tự chủ ngữ đứng trước, vị ngữ đứng sau.

9



1.5 Mục tiêu của luận văn
Luận văn tập trung trình bày các phương pháp tối ưu kích thước dữ liệu ứng dụng
trong bài toán phân loại văn bản tiếng Việt. Phương pháp phân loại văn bản sử dụng
trong luận văn là phương pháp Máy vec tơ hỗ trợ, là một trong những phương pháp phân
loại tốt nhất hiện nay. Nội dung của luận văn được trình bày bao gồm 5 chương và kết
luận:
 Chương 1. Tổng quan: Giới thiệu về bài toán xử lý văn bản, các cách tiếp cận trong
bài toán phân loại văn bản, đặc điểm của Tiếng Việt, vai trị của giảm chiều đặc trưng
trong bài tốn (high dimension) có số chiều lớn và tình hình nghiên cứu ở Việt Nam.
• Chương 2. Biểu diễn văn bản: Trình bày các phương pháp biểu diễn văn bản trong
khơng gian Vec tơ.
• Chương 3. Các phương pháp phân loại văn bản: Trình bày các phương pháp phân
loại văn bản, trong đó phương pháp Support Vector Machines được trình bày chi tiết và
cụ thể hơn cả.
• Chương 4. Các phương pháp tối ưu kích thước dữ liệu: Biểu diễn ma trận termdoc, định nghĩa bài tốn giảm chiều, trình bày 4 phương pháp được áp dụng cho dữ liệu
đã được phân cụm LSI, Centroid, Orthogonal Centroid, LDA/GSVD.
• Chương 5. Cài đặt và kết quả thử nghiệm: Trình bày các bước cài đặt và các thành
phần của chương trình phân loại văn bản Tiếng Việt, đưa ra kết quả so sánh giữa các
phương pháp giảm chiều đặc trưng áp dụng trong bài tốn.
• Kết luận: Đánh giá kết quả đạt được của luận văn và hướng nghiên cứu tiếp theo của
luận văn

10


Biểu diễn văn bản

Chương 2:
2.1 Giới thiệu


Như ta đã biết, để có thể xử lý được các văn bản, ta phải chuyển chúng về dạng dữ
liệu có cấu trúc. Để thực hiện được công việc này, người ta đưa ra các mơ hình biểu diễn
văn bản. Mơ hình biểu diễn văn bản có ảnh hưởng rất nhiều đến hiệu quả và hiệu suất xử
lý các văn bản. Tuỳ mục đích, yêu cầu đặt ra của ứng dụng mà chúng ta lựa chọn mơ
hình biểu diễn và phương pháp xử lý phù hợp.
Các mơ hình biểu diễn văn bản đã được sử dụng như mơ hình dựa trên tập mờ
(Nguyễn Hồng Phương, 2001)(Đồn Sơn, 2002), mơ hình tập thơ dung sai (Hồ Tú Bảo
et al, 2001), mơ hình khơng gian vectơ (Vector Space Model) (Sparck Jones, 1972)( G.
Salton et al, 1975). Trong luận văn này trình bày mơ hình khơng gian vec- tơ.
Bản chất của mơ hình khơng gian vec-tơ là mỗi văn bản được biểu diễn thành một
véc-tơ. Mỗi thành phần của véc-tơ biểu diễn một thuật ngữ riêng biệt trong tập văn bản
gốc và được gán một giá trị là hàm f của từng thuật ngữ trong văn bản. Giá trị f này
thường là trọng số của từ trong văn bản, được xác định theo nhiều cách khác nhau. Hình
sau biểu diễn các véc-tơ văn bản trong khơng gian chỉ có 2 thuật ngữ.

Hình 1. Biểu diễn các véc-tơ văn bản trong khơng gian chỉ có 2 thuật ngữ

Có nhiều biến thể của mơ hình khơng gian véc-tơ, dưới đây là một số dạng của mơ
hình khơng gian véc-tơ:

11


2.2 Mơ hình Boolean
Đây là mơ hình biểu diễn véc-tơ với hàm f cho ra giá trị rời rạc với duy nhất hai
giá trị đúng và sai (true và false, hoặc 0 và 1). Hàm f tương ứng với thuật ngữ ti sẽ cho ra
giá trị đúng nếu và chỉ nếu thuật ngữ ti xuất hiện trong văn bản đó.
Trọng số của thuật ngữ trong mơ hình Boolean: Giả sử có một cơ sở dữ liệu gồm
m văn bản, D = {d1, d2,… dm}. Mỗi văn bản được biểu diễn dưới dạng một véc-tơ gồm

n thuật ngữ T = {t1, t2,…tn}. Gọi W = {wij} là ma trận trọng số, trong đó wij là giá trị
trọng số của thuật ngữ ti trong văn bản dj.
Mơ hình Boolean là mơ hình đơn giản nhất được xác định như sau:
1

wij = 
0


if t i ∈ d j
if t i ∉ d j

2.3 Mơ hình tần suất (Term Frequency – TF)
Các giá trị wij được tính dựa trên tần số (hay số lần) xuất hiện của thuật ngữ trong
văn bản. Gọi fij là số lần xuất hiện của thuật ngữ ti trong văn bản dj, khi đó wij được tính
bởi một trong ba công thức:
wij = fij
wij = 1 + log(fij)
wij = f ij
Trong đó: log(X) - logarit cơ số 10 của X.
Trong phương pháp này, trọng số wij đồng biến với số lần xuất hiện của thuật ngữ
ti trong văn bản dj. Khi số lần xuất hiện thuật ngữ ti trong văn bản dj càng lớn thì điều đó
có nghĩa là văn bản dj càng phụ thuộc vào thuật ngữ ti, hay nói cách khác thuật ngữ ti
mang nhiều thơng tin trong văn bản dj.
Ví dụ:
Cho văn bản D = “Khi tất cả đều nghĩ hai đội mạnh nhất Đông Nam Á sắp sửa
vào hai hiệp phụ thì bất ngờ cái đầu vàng của Lê Cơng Vinh đội lên tích tắc mang về
chiếc cúp AFF cho đội tuyển Việt Nam...”
Và được phân đoạn như sau:


12


Khi tất_cả đều nghĩ hai đội mạnh nhất Đông_Nam_Á sắp_sửa vào hai hiệp_phụ
thì bất_ngờ cái đầu vàng của Lê_Cơng_Vinh đội lên tích_tắc mang về chiếc cúp_AFF
cho đội_tuyển Việt_Nam
Tập từ khóa (bộ từ điển): “Thể_thao, Bóng_đá, Đội_tuyển, Đơng_Nam_Á,
Cúp_AFF, Việt_Nam”
Văn bản D được biểu diễn bằng phương pháp tần suất là: D = (0,0,1,1,1,1)

2.4 Mơ hình nghịch đảo tần số văn bản (Inverse Document
Frequency - IDF)
Trong phương pháp này, giá trị wij được tính theo cơng thức sau:
m

log h = log(m) - log(h i )
wij = 
i
0


if t i ∈ d j
if t i ∉ d j

với m là số lượng văn bản và hi là số văn bản mà thuật ngữ ti xuất hiện. Trọng số
wij trong công thức này được tính dựa trên độ quan trọng của thuật ngữ ti trong văn bản
dj. Nếu ti xuất hiện trong càng ít văn bản, điều đó có nghĩa là nếu nó xuất hiện trong dj thì
trọng số của nó đối với văn bản dj càng lớn hay nó là điểm quan trọng để phân biệt văn
bản dj với các văn bản khác và hàm lượng thơng tin trong nó càng lớn.


2.5 Mơ hình kết hợp TFxIDF
Phương pháp này là kết hợp của hai phương pháp TF và IDF, giá trị của ma trận
trọng số được tính như sau:
m

[1 + log( f ij )]. log h
wij = 
i
0


if t i ∈ d j
if t i ∉ d j

Phương pháp này kết hợp được ưu điểm của cả hai phương pháp trên. Trọng số wij
được tính bằng tần số xuất hiện của thuật ngữ ti trong văn bản dj và độ hiếm của thuật
ngữ ti trong toàn bộ cơ sở dữ liệu.Tuỳ theo yêu cầu ràng buộc cụ thể của bài toán mà ta
sử dụng các mơ hình biểu diễn văn bản cho phù hợp.

2.6 Áp dụng phương pháp véc-tơ thưa trong lưu trữ văn bản
Khi biểu diễn văn bản theo mơ hình véc-tơ chuẩn, việc xử lý các phép toán trên
véc-tơ sẽ phụ thuộc vào độ lớn của ma trận Wij, i= {1,…,n}, j = {1,…,m} với n là số lượng
13


thuật ngữ hay số chiều của véc-tơ và m là số lượng văn bản có trong cơ sở dữ liệu. Trên
thực tế, số lượng thuật ngữ và số văn bản thường rất lớn, có thể lên đến hàng nghìn hoặc
hơn nữa. Khi đó số lượng phần tử trong ma trận Wij sẽ lên đến con số hàng triệu và việc
lưu trữ ma trận Wij sẽ tốn quá nhiều tài nguyên bộ nhớ đồng thời các phép toán trên các
véc-tơ sẽ rất phức tạp. Để khắc phục vấn đề này có thể sử dụng kỹ thuật xử lý trên véc-tơ

thưa thay vì việc lưu trữ và xử lý trên các véc-tơ chuẩn.
Véc-tơ thưa là kiểu véc-tơ chỉ lưu trữ những thành phần từ khố có số lần xuất
hiện trong một văn bản là >0 và không lưu trữ những từ không xuất hiện trong văn bản.
Như vậy một véc-tơ thưa phải đảm bảo lưu được 2 dữ liệu: chỉ số của từ, và số lần xuất
hiện, hoặc trọng số của từ đó trong văn bản. Điều kiện để có thể áp dụng phương pháp
véc-tơ thưa, là ta phải có các véc-tơ thực sự thưa (số phần tử có trọng số khác 0 nhỏ hơn
rất nhiều so với số thuật ngữ trong cơ sở dữ liệu), đồng thời phép xử lý trên véc-tơ thưa
khơng được q phức tạp.
Một ví dụ biểu diễn véc-tơ thưa từ các véc-tơ chuẩn:
wij

máy
tính

virus

bn
bán

thị
trường

học sinh

nhà
trường

D0 (CNTT)

2


3

0

0

0

0

D1 (kinh tế)

1

0

1

4

0

0

D2 (giáo dục)

1

0


0

0

3

2

Các véc-tơ chuẩn có dạng:
d0 = (2, 3, 0, 0, 0, 0)
d1 = (1, 0, 1, 4, 0, 0)
d2 = (1, 0, 0, 0, 3, 2)
Đối với véc-tơ thưa:
d0 = ((1, 2), (2, 3))
d1 = ((1,1), (3,1), (4,4))
d2 = ((1,1), (5,3), (6,2))

14


Chương 3:

Các phương pháp phân loại văn
bản

3.1 Giới thiệu
Phân loại văn bản là nhiệm vụ học có giám sát khi cho một số lớp văn bản đã được
xác định trước, yêu cầu gán nhãn cho 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 các văn bản đó. Các văn bản đã được phân lớp (các mẫu huấn

luyện) trở thành nguồn. Trong trường hợp thuận lợi nhất là chúng đã có sẵn, khi đó q
trình phân loại bắt đầu bằng việc học từ tập dữ liệu này, sau đó sẽ thực hiện phân loại tự
động với các văn bản khác. Trường hợp ít thuận lợi, khơng có sẵn văn bản đã phân loại
bằng tay; khi đó q trình phân loại bắt đầu một hành động phân loại và chọn một
phương pháp tự động.

3.2 Quy trình phân loại văn bản
Quy trình của bài toán phân loại văn bản dựa trên kỹ thuật học máy có thể được
biểu diễn qua các bước như sau:
- Từ tập dữ liệu ban đâu, chuẩn bị tập dữ liệu huấn luyện (Training Data) và tập dữ
liệu kiểm tra (Test Data).
- Tách từ trong văn bản.
- Biểu diễn văn bản theo định dạng có cấu trúc.
- Áp dụng phương pháp học đối với tập dữ liệu huấn luyện để phân loại văn bản.
- Sử dụng tập dữ liệu kiểm tra để thẩm định lại phương pháp.
- Đánh giá hiệu quả của phương pháp học.
Cách tiếp cận học máy dựa trên một tập dữ liệu có sẵn từ đầu Ω={d1, …, d|Ω|} ⊂
D, trong đó D tập tất cả các văn bản đã được phân lớp trước, d j là văn bản thứ j, Tập các


lớp C={c1, …, c|C|}, ci là kí hiệu của lớp thứ i. Hàm Φ : D × C → {T , F } với mọi

d j , ci ∈ Ω × C . Một văn bản dj là mẫu dương của ci nếu Φ (d j , ci ) = T , là một mẫu âm

nếu Φ (d j , ci ) = F .

Với mỗi cách phân loại được đưa ra, người ta mong muốn đánh giá được hiệu quả
phân loại của chúng. Bởi vậy, trước khi xây dựng phân loại người ta chia tập văn bản ban

15



đầu thành 2 tập hợp, số các văn bản trong hai tập hợp này không nhất thiết phải bằng
nhau:
- Tập huấn luyện (training (-and-validation) set) Tr={d1, …, d|TV |}. Phân lớp Φ
cho các phân loại C={c1, …, c|C|} được xây dựng quy nạp dựa trên sự quan sát các đặc
trưng của các văn bản trong Tr.
- Tập kiểm tra (test set) Te={d|TV+1|, …d|Ω|}, được sử dụng để kiểm tra hiệu quả
của phân lớp. Mỗi dj ∈Te được đưa vào hệ thống phân lớp để xác định giá trị Φ (d j , ci ) ,


và so sánh giá trị này với quyết định Φ (d j , ci ) của chuyên gia. Hiệu quả của phân lớp


dựa trên sự phù hợp giữa Φ (d j , ci ) và Φ (d j , ci ) .
Trong đó, Tr∩Te =∅ . Nếu điều kiện này bị vi phạm thì kết quả đánh giá hiệu quả
của mơ hình mất đi yếu tố khách quan, khoa học.
Hầu hết các phương pháp phân loại văn bản dựa trên kỹ thuật học máy hiện nay
đều dựa vào tần xuất xuất hiện (số lần xuất hiện) của từ hoặc cụm từ trong văn bản, hoặc
dựa vào tần xuất xuất hiện của từ trong văn bản và tần xuất văn bản (số các văn bản trong
tập dữ liệu huấn luyện có chứa từ đó).

3.3 Đặc điểm của Tiếng Việt và ảnh hưởng trong phân loại văn
bản
(Trung tâm từ điển học Việt Nam, 2000)

3.3.1. Đặc điểm tiếng Việt
Tiếng Việt thuộc ngôn ngữ đơn lập, tức là mỗi một tiếng (âm tiết) được phát âm
tách rời nhau và được thể hiện bằng một chữ viết. Đặc điểm này thể hiện rõ rệt ở tất cả
các mặt ngữ âm, từ vựng, ngữ pháp.

1. Đặc điểm ngữ âm: Trong tiếng Việt có một loại đơn vị đặc biệt gọi là "tiếng".
Về mặt ngữ âm, mỗi tiếng là một âm tiết. Hệ thống âm vị tiếng Việt phong phú và có tính
cân đối, tạo ra tiềm năng của ngữ âm tiếng Việt trong việc thể hiện các đơn vị có nghĩa.
Nhiều từ tượng hình, tượng thanh có giá trị gợi tả đặc sắc. Khi tạo câu, tạo lời, người
Việt rất chú ý đến sự hài hoà về ngữ âm, đến nhạc điệu của câu văn.
2. Đặc điểm từ vựng: Mỗi tiếng, nói chung, là một yếu tố có nghĩa. Tiếng là đơn
vị cơ sở của hệ thống các đơn vị có nghĩa của tiếng Việt. Từ tiếng, người ta tạo ra các

16


đơn vị từ vựng khác để định danh sự vật, hiện tượng..., chủ yếu nhờ phương thức ghép và
phương thức láy.
Việc tạo ra các đơn vị từ vựng ở phương thức ghép luôn chịu sự chi phối của quy
luật kết hợp ngữ nghĩa, ví dụ: đất nước, máy bay, nhà lầu xe hơi, nhà tan cửa nát... Hiện
nay, đây là phương thức chủ yếu để sản sinh ra các đơn vị từ vựng. Theo phương thức
này, tiếng Việt triệt để sử dụng các yếu tố cấu tạo từ thuần Việt hay vay mượn từ các
ngôn ngữ khác để tạo ra các từ, ngữ mới, ví dụ: tiếp thị, karaoke, thư điện tử (e-mail), thư
thoại (voice mail), phiên bản (version), xa lộ thông tin, siêu liên kết văn bản, truy cập
ngẫu nhiên, v.v.
Việc tạo ra các đơn vị từ vựng ở phương thức láy thì quy luật phối hợp ngữ âm chi
phối chủ yếu việc tạo ra các đơn vị từ vựng, chẳng hạn: chôm chỉa, chỏng chơ, đỏng đa
đỏng đảnh, thơ thẩn, lúng lá lúng liếng, v.v.
Vốn từ vựng tối thiểu của tiếng Việt phần lớn là các từ đơn tiết (một âm tiết, một
tiếng). Sự linh hoạt trong sử dụng, việc tạo ra các từ ngữ mới một cách dễ dàng đã tạo
điều kiện thuận lợi cho sự phát triển vốn từ, vừa phong phú về số lượng, vừa đa dạng
trong hoạt động. Cùng một sự vật, hiện tượng, một hoạt động hay một đặc trưng, có thể
có nhiều từ ngữ khác nhau biểu thị. Tiềm năng của vốn từ ngữ tiếng Việt được phát huy
cao độ trong các phong cách chức năng ngôn ngữ, đặc biệt là trong phong cách ngôn ngữ
nghệ thuật. Hiện nay, do sự phát triển vượt bậc của khoa học-kĩ thuật, đặc biệt là cơng

nghệ thơng tin, thì tiềm năng đó cịn được phát huy mạnh mẽ hơn.
3. Đặc điểm ngữ pháp: Từ của tiếng Việt khơng biến đổi hình thái. Đặc điểm này
sẽ chi phối các đặc điểm ngữ pháp khác. Khi từ kết hợp từ thành các kết cấu như ngữ,
câu, tiếng Việt rất coi trọng phương thức trật tự từ và hư từ.
Việc sắp xếp các từ theo một trật tự nhất định là cách chủ yếu để biểu thị các quan
hệ cú pháp. Trong tiếng Việt khi nói "Anh ta lại đến" là khác với "Lại đến anh ta". Khi
các từ cùng loại kết hợp với nhau theo quan hệ chính phụ thì từ đứng trước giữ vai trị
chính, từ đứng sau giữ vai trò phụ. Nhờ trật tự kết hợp của từ mà "củ cải" khác với "cải
củ", "tình cảm" khác với "cảm tình". Trật tự chủ ngữ đứng trước, vị ngữ đứng sau là trật
tự phổ biến của kết cấu câu tiếng Việt.
Phương thức hư từ cũng là phương thức ngữ pháp chủ yếu của tiếng Việt. Nhờ hư
từ mà tổ hợp "anh của em" khác với tổ hợp "anh và em", "anh vì em". Hư từ cùng với trật
tự từ cho phép tiếng Việt tạo ra nhiều câu cùng có nội dung thơng báo cơ bản như nhau
nhưng khác nhau về sắc thái biểu cảm. Ví dụ, so sánh các câu sau đây:

17


- Ơng ấy khơng hút thuốc.
- Thuốc, ơng ấy khơng hút.
- Thuốc, ơng ấy cũng khơng hút.
Ngồi trật tự từ và hư từ, tiếng Việt còn sử dụng phương thức ngữ điệu. Ngữ điệu
giữ vai trò trong việc biểu hiện quan hệ cú pháp của các yếu tố trong câu, nhờ đó nhằm
đưa ra nội dung muốn thơng báo. Trên văn bản, ngữ điệu thường được biểu hiện bằng
dấu câu. Chúng ta thử so sánh 2 câu sau để thấy sự khác nhau trong nội dung thông báo:
- Đêm hôm qua, cầu gãy.
- Đêm hôm, qua cầu gãy.

3.3.2. Ảnh hưởng trong phân loại văn bản
Độ chính xác của kết quả tách từ có ảnh hưởng rất lớn đến kết quả của phân loại,

khơng thể có một kết quả phân loại tốt nếu như không tách được đúng các từ trong văn
bản. Bởi vậy, một vấn đề quan trọng đối với phân loại văn bản là phải tách được chính
xác các từ trong văn bản. Các văn bản được viết bằng các ngơn ngữ khác nhau thì có đặc
trưng riêng của ngơn ngữ đó, và khơng có một phương pháp chung nào để tách các từ
trong các văn bản được viết bằng các ngôn ngữ khác nhau. Trong luận văn này chúng tôi
sử dụng lại kết quả tách từ (C. T. Nguyen et al, 2006).

3.4 Phương pháp phân loại Naïve Bayes
Naïve Bayes là phương pháp phân loại dựa vào xác suất được sử dụng rộng rãi
trong lĩnh vực máy học (Mitchell, 1996) (Joachims, 1997) (Jason, 2001) được sử dụng
lần đầu tiên trong lĩnh vực phân loại bởi Maron vào năm 1961 (Maron, 1961) sau đó trở
nên phổ biến dùng trong nhiều lĩnh vực như trong các cơng cụ tìm kiếm (Rijsbergen etal,
1970), các bộ lọc mail (Sahami et al, 1998)…
Naïve Bayes sử dụng xác suất có điều kiện giữa từ và chủ đề để dự đoán xác suất
chủ đề của một văn bản cần phân loại. Điểm quan trọng của phương pháp này chính là ở
chỗ giả định rằng sự xuất hiện của tất cả các từ trong văn bản đều độc lập với nhau. Như
thế NB không tận dụng được sự phụ thuộc của nhiều từ vào một chủ đề cụ thể Giả định
đó làm cho việc tính tốn NB hiệu quả và nhanh chóng hơn các phương pháp khác với độ
phức tạp theo số mũ vì nó khơng sử dụng việc kếp hợp các từ để đưa ra phán đoán chủ đề
Để xác định văn bản d thuộc chủ đề i nào đó là việc tìm xác xuất P(Ci d ) , tức là
chủ đề nào có xác xuất lớn nhất đối với văn bản d thì d thuộc chủ đề đó.
18


Cơng thức tính xác xuất đầy đủ Bayes:
P (Ci | d ) =

P (d | Ci ) P (Ci )
P( d )


Với P(d)=const do đó P(Ci | d ) = P(d | Ci ) P(Ci )
Thuật tốn:
Tính xác xuất của mỗi từ word i (i=1..m) xuất hiện trong mỗi chủ đề C j
Tính tổng số từ của mỗi lớp C j
Tính xác xuất của chủ đề C j đối với văn bản d theo công thức
P (Ci d ) = ( P ( word1 | C j )* P ( word 2 | C j ) *...* P( word m | C j )) *(Tổng số từ của
chủ đề C j )/ (Tổng số từ của tất cả các chủ đề)
5. Nếu P(C x | d ) = arg max( P(C j | d ) thì văn bản d thuộc lớp x
1.
2.
3.
4.

3.5 Phương pháp phân loại Centroid- based vector
Là một phương pháp phân loại đơn giản, dễ cài đặt và tốc độ nhanh do có độ phức
tạp tuyến tính O(n) (Han, Karypis 2000) Mỗi lớp trong dữ liệu luyện sẽ được biểu diễn
bởi một véc-tơ trọng tâm. Việc xác định lớp của một văn bản thử bất kì sẽ thơng qua viêc
tìm véc-tơ trọng tâm nào gần với véc-tơ biểu diễn văn bản thử nhất. Lớp của văn bản thử
chính là lớp mà véc-tơ trọng tâm đại diện. Khoảng cách được tính theo độ đo cosine.
Thuật tốn:
1.

Tính trọng tâm Ci của lớp thứ i
d *C

i
2. Tính độ tương đồng cos(d , Ci ) = d C của mọi văn bản d với trọng tâm Ci
i

3.


Nếu cos(d , C x ) = arg max(cos(d , Ci )) thì văn bản d thuộc lớp x

3.6 Phương pháp phân loại k–Nearest Neighbor (kNN)
kNN là phương pháp truyền thống khá nổi tiếng về hướng tiếp cận dựa trên thống
kê đã được nghiên cứu trong nhận dạng mẫu hơn bốn thập kỷ qua (Dasarathy, 1991).
kNN được đánh giá là một trong những phương pháp tốt nhất (áp dụng trên tập dữ liệu
Reuters phiên bản 21450), được sử dụng từ những thời kỳ đầu của việc phân loại văn bản
Marsand et al, 1992) (Yang, 1994) (Iwayama, Tokunaga, 1995)
Khi cần phân loại một văn bản mới, thuật tốn sẽ tính khoảng cách (khoảng cách
Euclide, Cosine ...) của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm ra

19


k văn bản gần nhất (gọi là k “láng giềng”), sau đó dùng các khoảng cách này đánh trọng
số cho tất cả chủ đề. Trọng số của một chủ đề chính là tổng tất cả khoảng cách ở trên của
các văn bản trong k láng giềng có cùng chủ đề, chủ đề nào không xuất hiện trong k láng
giềng sẽ có trọng số bằng 0. Sau đó các chủ đề sẽ được sắp xếp theo mức độ trọng số
giảm dần và các chủ đề có trọng số cao sẽ được chọn là chủ đề của văn bản cần phân
loại.
Thuật toán:
d *d

i
1. Tính cos(d , di ) = d * d của văn bản d đối với tất cả văn bản di thuộc lớp j
i

với 12. Sắp xếp các giá trị cos(d , di ) trong mỗi tập j theo thứ tự giảm dần

3. Lấy k=5 là số láng giềng gần nhất
k
4. Tính tổng Sumd ( j ) = ∑ m =1 cos(d , di ) trong k vec tớ đầu tiền của tập j

5. Nếu sumd ( x) = arg max( sumd ( j )) thì văn bản d thuộc lớp x

3.7 Phân loại văn bản bằng phương pháp Support Vector
Machines
Support Vector Machines phân loại văn bản theo cơ sở phân loại nhị phân, có
nghĩa là khi xét một loại văn bản nhất định, thì việc phân loại một văn bản sẽ là đưa ra dự
đốn văn bản này có thuộc loại văn bản đang xét hay khơng. Vì SVM xuất phát từ lý
thuyết học thống kê, dựa trên nguyên tắc tối thiểu hoá rủi ro cấu trúc.
Nên trước hết ta hãy xem xét một số lý thuyết học thống kê có liên quan.

3.7.1. Lý thuyết học thống kê
3.7.1.1.Chiều VC (Vapnik Chervonenkis dimension)
Xét các hàm f(x): R→ {+1,-1}, có 2ns cách để gán nhãn cho ns điểm. Nếu với mỗi
một cách gán nhãn ta đều có thể tìm thấy một thành phần của tập hợp {f(x)} mà nhận
dạng chính xác cách gán nhãn này. Khi đó tập hợp của ns điểm được nói là bị phá vỡ bởi
tập hợp các hàm {f(x)}. Chiều VC của {f(x)} là số lớn nhất của các điểm dữ liệu mà có thể
bị phá vỡ bởi nó.
Chiều VC của các siêu phẳng trong khơng gian Rn là n+1. Ví dụ, chiều VC của các
đường thẳng có hướng trong khơng gian 2 chiều (R2) là 3.
20


Hình 2. Minh họa chiều VC của tập các hàm {f(x)} trong không
gian hai chiều với 3 điểm dữ liệu
Trên đây là ví dụ về chiều VC của khơng gian 2 chiều. Khi số điểm dữ liệu >3, ví
dụ là 4, thì số cách gán nhãn (số hàm f(x)) sẽ khơng cịn là 24 nữa.


21


Hình 3. Minh họa các hàm {f(x)} trong khơng gian hai chiều với 4
điểm dữ liệu

3.7.1.2.Rủi ro của bài toán học phân loại có giám sát
Khơng gian đầu vào: X∈Rn
Khơng gian đầu ra: Y∈ {-1,1}
Dữ liệu huấn luyện: S={(x1, y1), …, (xns, yns)}
Hàm fs là ánh xạ từ tập X vào tập Y
fs : X → Y
fs: x  y
Giả sử mối liên quan giữa x và y được cho bởi phân bố xác suất liên kết
P(x,y)=P(x).P(y|x). Mục đích của bài tốn học có giám sát là tìm một hàm fs trong tập
hợp các hàm {fs | fs : X → Y , và fs được học trên tập dữ liệu huấn luyện S} để tối thiểu.
R( f s ) = ∫

X ×Y

Trong đó:

c( f s ( x), y ) P ( x, y )dxdy

R(fs): là rủi ro toàn cục của fs(x).
22


c: là hàm thiệt hại (loss function), dùng để đo sự sai lệch của fs(x) so

với y (y là giá trị quan sát thực tế của x).
Có nhiều cách để định nghĩa hàm c , ví dụ ta có thể chọn hàm c như sau:
c( f s ( x ), y ) = ( f s ( x) − y ) 2
1 if f s ( x) ≠ y
0 f s ( x ) = y

hoặc c( f s ( x), y ) = 

Mục đích của chúng ta là tìm một hàm, hoặc một giả thuyết fs, dựa trên dữ liệu
huấn luyện có sẵn S={(x1, y1), …, (xns, yns)} sao cho rủi ro R là tối thiểu. Vì trong thực tế,
chúng ta không biết được phân bố thực sự P(x, y) nên chúng ta không thể biết được tất cả
các khả năng xảy ra của tập dữ liệu kiểm tra. Tuy nhiên, chúng ta có thể tính tốn được
rủi ro thực nghiệm (Emprical Risk) dựa trên tập dữ liệu huấn luyện S.

3.7.1.3.Rủi ro thực nghiệm
Cho S={(x1, y1), …, (xns, yns)}, và c là hàm thiệt hại của fs(x) thì rủi ro thực nghiệm
Remp(fs) của hàm fs(x) trên tập dữ liệu huấn luyện S được tính như sau:

1
Remp ( f s ) =
ns

ns

∑ c( f
i =1

s

( xi ), y i )


Tuy nhiên, việc tối thiểu rủi ro thực nghiệm không phải là điều kiện tất yếu làm
cho rủi ro toàn cục tối thiểu. Chúng ta thấy rằng, trong trường hợp fs(xi)=yi ∀ (xi, yi)∈ S
thì rủi ro thực nghiệm Remp(fs) sẽ bằng 0, mặc dù vậy, trường hợp này là khơng tổng qt.
Vì hàm fs có thể đạt được rủi ro tối thiểu trên tập dữ liệu S (hiện tượng tài liệu tốt, welldocumented), nhưng có thể gây ra rủi ro lớn trong các tập dữ liệu khác. Hiện tượng này
còn được gọi là hiện tượng tràn lỗi (overfitting), nghĩa là giả thuyết fs chỉ tốt với tập dữ
liệu huấn luyện S (tối ưu cục bộ), nhưng không tốt với các tập dữ liệu khác.

3.7.1.4.Nguyên tắc tối thiểu hoá rủi ro cấu trúc
Mặc dù, không trực tiếp tối thiểu được rủi ro tồn cục, nhưng nếu chúng ta tìm
được một hàm fs để có thể tối thiểu giới hạn trên của rủi ro tồn cục, thì R(fs) cũng sẽ là
tối thiểu. Giới hạn trên của rủi ro toàn cục là:
 2n

δ 
h ln s + 1 − ln 
4
 h

R ( f S ) ≤ Remp ( f S ) +
ns

23

(*)


Trong đó

h: là chiều VC của {fs}


ns: là số mẫu của tập huấn luyện S
ns -δ : là giá trị của xác suất liên kết P(x,y)
Ví dụ: Độ tin cậy của P(x,y) là 90% (δ=0.1), tập S có 100 mẫu thì rủi ro tồn cục
khơng lớn hơn Remp(fs)+T.
T=

1
 200 
h ln
+ 1 + 1.6
10 
h


Nếu h=1 thì T=0.281, nếu h=2 thì T=0.357, nếu h=10 thì T=0.645.
Ta thấy rằng, h càng nhỏ thì số hạng thứ 2 trong vế phải của (*) càng nhỏ. Tuy
nhiên, vì chiều VC nhỏ thì có thể gây ra lỗi thực nghiệm lớn, do đó, để tối thiểu rủi ro
toàn cục, người ta làm như sau:
- Đầu tiên, chọn các hàm có rủi ro thực nghiệm là nhỏ nhất, tập các hàm này kí
hiệu là Fempmin.
- Sau đó, chọn trong tập các hàm Fempmin hàm nào có chiều VC là nhỏ nhất.

3.7.1.5. Bổ đề Vapnik
Trong trường hợp các hàm học là tuyến tính và có dạng:
rr
 +1 if w.x + b > 0
r
rr
f ( x ) = sign{w.x + b} = 

rr
rr
-1 if w.x + b < 0 or w.x + b = 0

 


ở đây, w , x ∈Rn ; b∈R . x là biến, w và b là các tham số của f (x ) .


Thì bổ đề về số chiều VC của tập các hàm { f (x ) } được Vapnik phát biểu như sau:






Coi các hàm f ( x ) = sign{w.x + b} như là các giả thuyết. Nếu tất cả các véc-tơ xi
(i=1, 2, ..,ns) trong tập mẫu, được bao trong một hình cầu có bán kính R và thỏa mãn:


w.xi + b ≥ 1 , đặt w = A . Thì chiều VC của tập hợp các hàm này (kí hiệu là h) được giới

hạn bởi h≤ min((R2A2), n)+1.


Từ bổ đề trên ta thấy rằng chiều VC của { f (x ) } không phụ thuộc vào số các đặc





trưng (số chiều của véc-tơ xi ), mà phụ thuộc vào độ dài Ơcơlit w của véc-tơ

24


3.7.2. Support Vector Machines
Xuất phát từ mục đích tối thiểu hố sự sai lệch trong q trình kiểm tra, ý tưởng
của Support Vector Machines (SVM) là với một lớp văn bản nhất định, tìm một siêu
phẳng tối ưu để phân chia tập dữ liệu huấn luyện sao cho các văn bản thuộc lớp văn bản
đang xét sẽ thuộc về phía dương của siêu phẳng, cịn các văn bản khơng thuộc lớp văn
bản này sẽ thuộc về phía bên kia của siêu phẳng. Một siêu phẳng được gọi là tối ưu nếu
khoảng cách từ mẫu gần nhất đến siêu phẳng là lớn nhất.
- Bài toán: Kiểm tra xem một văn bản d bất thuộc hay không thuộc một phân loại
c cho trước? Nếu d∈ c thì d được gán nhãn là 1, ngược lại thì d được gán nhãn là –1.
Ở đây thực hiện việc lựa chọn các đặc trưng (từ) để biểu diễn văn bản. Giả sử,
chúng ta lựa chọn được tập các đặc trưng là T={t1, t2, …, tn}, thì mỗi văn bản di sẽ được
biểu diễn bằng một véc-tơ dữ liệu xi=(wi1, wi2, …, win), wij∈R là trọng số của từ tj trong
văn bản di. Như vậy, tọa độ của mỗi véc-tơ dữ liệu x i tương ứng với tọa độ của một điểm
trong không gian Rn. Quá trình phân loại văn bản sẽ thực hiện xử lý trên các véc-tơ dữ
liệu xi chứ không phải là các văn bản di.
Dữ liệu huấn luyện của SVM là tập các văn bản đã được gán nhãn trước:
Tr={(x1, y1), (x2, y2), …, (xns, yns)},
trong đó,

xi là véc-tơ dữ liệu biểu diễn văn bản di (xi∈Rn),

yi∈{+1, -1},
cặp (xi, yi) được hiểu là véc-tơ xi (hay văn bản di) được gán nhãn là yi.
Nếu coi mỗi văn bản di được biểu diễn tương ứng với một điểm dữ liệu trong

không gian Rn, thì ý tưởng của SVM là tìm một mặt hình học (siêu phẳng) f(x) “tốt nhất”
trong không gian n-chiều để phân chia dữ liệu sao cho tất cả các điểm x + được gán nhãn
+1 thuộc về phía dương của siêu phẳng (f(x+)>0), các điểm x- được gán nhãn –1 thuộc về
phía âm của siêu phẳng (f(x-)<0).
Với bài tốn phân loại SVM, một siêu phẳng phân chia dữ liệu được gọi là “tốt
nhất”, nếu khoảng cách từ điểm dữ liệu gần nhất đến siêu phẳng là lớn nhất. Khi đó, việc
xác định một văn bản x∉Tr có thuộc phân loại c hay không, tương ứng với việc xét dấu
của f(x), nếu f(x)>0 thì d∈ c, nếu f(x)≤0 thì d∉ c.

25


×