Tải bản đầy đủ (.pdf) (91 trang)

TÌM HIỂU CÁC HƯỚNG TIẾP CẬN VÀ XÂY DỰNG HỆ THỐNG PHÂN LOẠI VĂN BẢN THEO CHỦ đề

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 (1.39 MB, 91 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ QUỐC PHÒNG

HỌC VIỆN KỸ THUẬT QN SỰ

HỒNG THỊ HÀ

TÌM HIỂU CÁC HƯỚNG TIẾP CẬN VÀ XÂY DỰNG
HỆ THỐNG PHÂN LOẠI VĂN BẢN THEO CHỦ ĐỀ
Chuyên ngành: Khoa Học Máy Tính
Mã số: 640801

LUẬN VĂN THẠC SĨ KỸ THUẬT

Hà Nội - Năm 2012


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
HỌC VIỆN KĨ THUẬT QN SỰ

Cán bộ hướng dẫn chính: TS. Hà Chí Trung

Cán bộ chấm phản biện 1: TS. Nguyễn Hữu Quỳnh

Cán bộ chấm phản biện 2: TS. Lê Đình Sơn

Luận văn thạc sĩ được bảo vệ tại:
HỘI ĐỒNG CHẤM LUẬN VĂN THẠC SĨ
HỌC VIỆN KĨ THUẬT QUÂN SỰ
Ngày 22 tháng 06 năm 2012




HỌC VIỆN KỸ THUẬT QUÂN SỰ

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

PHÒNG SAU ĐẠI HỌC

Độc lập - Tự do - Hạnh phúc
Hà Nội, ngày 16 tháng 05 năm 2012

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Hoàng Thị Hà

Giới tính: Nữ

Ngày, tháng, năm sinh: 26/10/1986

Nơi sinh: Hải Phịng

Chun ngành: Khoa Học Máy Tính

Mã số: 10870135

I-TÊN ĐỀ TÀI: Tìm hiểu các hướng tiếp cận và xây dựng hệ thống phân loại văn
bản theo chủ đề.
II-NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu các hướng tiếp cận việc phân lớp văn
bản theo chủ đề. Đánh giá các phương pháp phân lớp,dựa vào cơ sở lý thuyết của
một phương pháp để xây dựng hệ thống tự động phân lớp văn bản tiếng việt theo
chủ đề .

III-NGÀY GIAO NHIỆM VỤ: tháng 12 năm 2011.
IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 16/5/2012.
V- CÁN BỘ HƯỚNG DẪN: TS. Hà Chí Trung.
CÁN BỘ HƯỚNG DẪN

CHỦ NHIỆM BỘ MÔN
QL CHUYÊN NGÀNH

Nội dung và đề cương luận văn thạc sĩ đã được Hội đồng chuyên ngành thông qua.
Ngày……tháng……năm 2012
TRƯỞNG PHÒNG SĐH

TRƯỞNG KHOA QL NGÀNH


MỤC LỤC
Trang
Trang phụ bìa…………………………………………………………………...
Nhiệm vụ luận văn……………………………………………………………..
Danh mục các ký hiệu và chữ viết tắt……………………………………….....
Danh mục các bảng…………………………………………………………….
Danh mục các hình vẽ…………………………………………………………
MỞ ĐẦU……………………………………………………………………..1
Chương 1
TỔNG QUAN VỀ BÀI TỐN PHÂN LỚP VĂN BẢN
1.1.

Bài toán phân lớp văn bản và các khái niệm liên quan………………. 3

1.2.


Phân loại bài toán phân lớp văn bản…………………………………. 4

1.3.

Sơ đồ hoạt động của hệ thống phân lớp văn bản…………………….. 5

1.4.

Đánh giá các phương pháp phân lớp…………………………………. 7
1.4.1.

Đánh giá dựa vào độ triệu hồi và độ chính xác…………….. 7

1.4.2.

Đánh giá dựa vào độ tương tự………………………………. 9

1.5.

Các yếu tố quan trọng tác động đến phân lớp văn bản………………. 12

1.6.

Một số phương pháp phân lớp văn bản………………………………. 13

1.7.

1.6.1.


Phương pháp phân lớp sử dụng máy vec tơ hỗ trợ(SVM)….. 13

1.6.2.

Phương pháp phân lớp K láng giềng gần nhất……………… 14

1.6.3.

Phương pháp phân lớp Naïve Bayes………………………. 15

1.6.4.

Phương pháp phân lớp sử dụng mạng nơ ron………………. 17

1.6.5.

Phương pháp phân lớp Linear Least Square Fit(LLSF)…….. 18

1.6.6.

Phương pháp phân lớp dựa trên vec tơ trọng tâm…………... 19

Kết luận chương 1…………………………………………………….21


Chương 2
PHÂN LỚP VĂN BẢN SỬ DỤNG MÁY VECTOR HỖ TRỢ (SVM)
2.1.

Cơ sở lý thuyết của phương pháp phân lớp SVM………………… 22

2.1.1. Một số định nghĩa chính……………………………………. 23
2.1.2. Rủi ro trong phương pháp học máy có giám sát……………. 25
2.1.3. Nguyên tắc tối thiểu hóa rủi ro cấu trúc…………………….. 27
2.1.4. Bổ đề Vapnik……………………………………………….. 28
2.1.5. Nguyên lý nhận dạng mẫu (Pattern Recognition)…………... 29

2.2.

Bộ phân loại SVM …………………………………………………. 30
2.2.1. Phương pháp SVM với tập dữ liệu khả tách tuyến tính… …..33
2.2.2. Phương pháp SVM với tập dữ liệu khơng khả tách…….. …..40

2.3.

Tìm tham số α theo thuật toán 2v – SVM ……………………….

43

2.3.1. Tham số đầu vào………………………………………….. 43
2.3.2. Thuật toán khởi tạo các biến α0…………………………...
2.4.

46

Đặc điểm của tiếng Việt…………………………………………… 48
2.4.1. Đơn vị cơ bản của tiếng Việt……………………………… 48
2.4.2. So sánh đặc điểm từ tiếng Việt và tiếng Anh……………..

49


2.4.3. Nhận xét…………………………………………………… 49
2.5.

Hệ thống phân lớp văn bản sử dụng phương pháp SVM…………....50
2.5.1. Giai đoạn huấn luyện………………………………………....50
2.5.2. Giai đoạn phân lớp…………………………………………...53

2.6.

Kết luận chương 2…………………………………………………...62
Chương 3
HỆ THỐNG TỰ ĐỘNG PHÂN LỚP VĂN BẢN THEO CHỦ ĐỀ

3.1.

Các chức năng chủ yếu của hệ thống…………………………. …. 64
3.1.1. Chức năng tự động lấy bài từ trang web……………………. 65


3.1.2. Chức năng tiền xử lý văn bản………………………………. 65
3.1.3. Huấn luyện SVMs…………………………………………... 67
3.1.4. Phân loại văn bản……………………………………………67
3.1.5. Kiểm tra hiệu suất phương pháp SVM……………………... 68
3.2.

Một số sơ đồ luồng dữ liệu trong chương trình…………………… 68

3.3.

Cơ sở dữ liệu trong chương trình…………………………………. 70


3.4.

Một số form giao diện trong chương trình………………………..

3.5.

Đánh giá hiệu suất chương trình………………………………….. 75

3.6.

Kết quả mà luận văn đã đạt được………………………………….. 76

3.7.

Những vấn đề còn tồn tại…………………………………………. 77

3.8.

Hướng phát triển của bài toán…………………………………….. 77

73

TÀI LIỆU THAM KHẢO……………………………………………….. 78


TĨM TẮT LUẬN VĂN
Họ và tên học viên: Hồng Thị Hà
Chun ngành: Khoa Học Máy Tính


Khóa: 22

Cán bộ hướng dẫn: TS. Hà Chí Trung
Tên đề tài: Tìm hiểu các hướng tiếp cận và xây dựng hệ thống phân loại
văn bản theo chủ đề
Tóm tắt: Luận văn tập trung tìm hiểu bài toán phân lớp văn bản vào các
chủ đề cho trước, nghiên cứu các phương pháp phân lớp văn bản. Đi sâu
nghiên cứu, phân tích thuật tốn phân lớp văn bản sử dụng máy vector hỗ trợ
(Support Vector Machine – SVM). Dựa trên phương pháp này xây dựng hệ
thống tự động phân lớp văn bản tiếng việt. Cài đặt ứng dụng minh họa và
đánh giá thuật toán.


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
SVM (Support Vector Machines): Phương pháp phân lớp văn bản sử dụng
máy vector hỗ trợ.
kNN (K Nearest Neighbor): Phương pháp phân lớp văn bản k–láng giềng gần
nhất
NNet (Neral Network): Phương pháp phân lớp sử dụng mạng nơ – ron
LLSF (Linear Least Square Fit): Phương pháp phân lớp Linear Least Square
Fit
TC (Text Classification): Bài toán phân loại văn bản
VC (Vapnik Chervonenkis Dimension): Chiều VC


DANH MỤC CÁC BẢNG
Bảng 1.1. Bảng ký hiệu các độ đo đánh giá phương pháp phân lớp................. 7
Bảng 2.1. Các điểm khác biệt chính giữa tiếng Việt và tiếng Anh…………48
Bảng 2.2 Danh sách một số từ dừng trong tiếng Anh ..................................... 53
Bảng 2.3 Danh sách một số từ dừng trong tiếng Việt ..................................... 54

Bảng 2.4 Danh sách dấu chấm câu ................................................................. 54


DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Sơ đồ khung một hệ thống phân lớp văn bản..................................... 5
Hình 1.2 Minh họa cách tính độ hồi tưởng và độ chính xác ............................. 8
Hình 1.3 Phương pháp phân loại SVM ........................................................... 13
Hình 1.4 Hình kiến trúc mơ đun. ................................................................... 18
Hình 2.1 Lớp các nửa khơng gian phân cách bởi siêu phẳng ......................... 24
Hình 2.2 Minh hoạ chiều VC trong không gian 2 chiều với 3 điểm dữ liệu. . 25
Hình 2.3 Phân tách tuyến tính được xác định bằng mặt hình học H .............. 29
Hình 2.4 Mặt siêu phẳng phân tách các mẫu dương khỏi các mẫu âm........... 31
Hình 2.5 Mối quan hệ giữa các siêu phẳng phân tách .................................... 32
Hình 2.6 Siêu phẳng phân tách tối ưu H trường hợp tuyến tính ..................... 33
Hình 2.7 Minh họa Support Vectors ............................................................... 37
Hình 2.8 Trường hợp dữ liệu huấn luyện có nhiễu ......................................... 38
Hình 2.9 Trường hợp tuyến tính có nhiễu ....................................................... 39
Hình 2.10 Thực hiện ánh xạ sang khơng gian đặc trưng kích thước lớn ....... 41
Hình 2.11 Phân lớp với nhân Gaussian ........................................................... 43
Hình 2.12 Mơ hình giai đoạn huấn luyện........................................................ 50
Hình 2.13 Chi tiết giai đoạn huấn luyện ......................................................... 51
Hình 2.14 Mơ hình giai đoạn phân lớp ........................................................... 52
Hình 2.15 Mơ hình chi tiết giai đoạn phân lớp ............................................... 52
Hình 2.16 Các hướng tiếp cận tách từ tiếng việt............................................. 56
Hình 2.17 Biểu diễn các vector văn bản trong không gian hai chiều ............. 58
Hình 2.18 Văn bản được biểu diễn thành vector đặc trưng ............................ 58
Hình 3.1 Sơ đồ hoạt động của hệ thống .......................................................... 64
Hình 3.2 Mơ hình bộ xử lý tiền văn bản ......................................................... 67
Hình 3.3 Lược đồ tiền xử lý tập huấn luyện và trích chọn tập đặc trưng ....... 69
Hình 3.4 Lược đồ tiền xử lý dữ liệu kiểm tra ................................................. 70



Hình 3.5 Giao diện chương trình phân loại văn bản………………………73
Hình 3.6 Giao diện thiết lập cấu hình hệ thống phân loại văn bản………..73
Hình 3.7 Giao diện tự động lấy bài………………………………………..74
Hình 3.8 Giao diện tách từ………………………………………………...74
Hình 3.9 Giao diện kết quả………………………………………………..75


1

MỞ ĐẦU
Hiện nay trên tồn thế giới nói chung và tại Việt Nam nói riêng, Cơng
nghệ thơng tin (CNTT) được ứng dụng mạnh mẽ trong mọi lĩnh vực của cuộc
sống, đi cùng với sự phát triển của CNTT là sự tăng nhanh lượng dữ liệu trên
internet. Chỉ với một thao tác tìm kiếm đơn giản ta có thể thu được một khối
lượng khổng lồ các thông tin liên quan đến nội dung mà ta vừa tìm kiếm. Tuy
nhiên, chính sự đa dạng của các kết quả trả về này đã gây khó khăn trong việc
chắt lọc ra các thơng tin thực sự hữu ích.
Trong các loại thơng tin thì thơng tin thể hiện dưới dạng văn bản là loại
thông tin phổ biến mà con người thường gặp phải nhất. Với lượng thông tin
vô cùng lớn, một yêu cầu lớn đặt ra với chúng ta là làm sao tổ chức và tra cứu
có hiệu quả nhất. Hiện nay, có rất nhiều công cụ dùng để tra cứu thông tin
trên internet như: Google, Yahoo, Bing…Nhưng nhìn chung, tất cả các cơng
cụ tìm kiếm này mới chỉ dừng ở việc tìm kiếm đối sánh chuỗi mà chưa có
cơng cụ nào cho phép tìm kiếm theo nội dung hay chủ đề. Bên cạnh đó, việc
tìm kiếm với các văn bản tiếng Việt cũng gặp nhiều khó khăn vì hiện tại chưa
có phương pháp tìm kiếm tiếng Việt nào thực sự mang lại hiệu quả. Đa phần,
các cơng cụ tìm kiếm tiếng Việt đều áp dụng phương pháp đề xuất tiếng Anh
cho tiếng Việt, kho dữ liệu huấn luyện cịn hạn chế. Vì vậy, cần đề xuất

phương pháp hiệu quả cho tiếng Việt và xây dựng một hệ thống tra cứu tiếng
Việt theo nội dung. Phân lớp (phân loại) văn bản là một trong những giải
pháp hợp lý cho yêu cầu trên.
Trên thế giới đã có nhiều cơng trình nghiên cứu đạt được những kết quả
khả quan. Các phương pháp tiếp cận bài toán phân lớp văn bản đã được
nghiên cứu bao gồm: cách tiếp cận bài toán phân lớp bằng lý thuyết đồ thị,
cách tiếp cận sử dụng mạng nơ ron, cách tiếp cận sử dụng máy vec tơ hỗ trợ
hay cách tiếp cận với phương pháp k láng giềng gần…Những cách tiếp cận


2

này đều cho kết quả chấp nhận được. Mỗi phương pháp đều tồn tại các ưu
nhược điểm riêng. Dựa trên cơ sở lý thuyết của các phương pháp này áp dụng
xây dựng hệ thống phân loại riêng cho văn bản tiếng Việt. Không những thế
dựa trên những phương pháp này, các nhà nghiên cứu đã đưa ra các ứng
dụng mới như nhận dạng chữ viết tay, phát hiện mặt người trong các ảnh,
phân loại thư rác, ước lượng hồi quy…
Nhận thấy tầm quan trọng và khả năng ứng dụng rộng rãi của nội dung
này, trong luận văn tốt nghiệp của mình, em đã chọn nghiên cứu đề tài “tìm
hiểu các hướng tiếp cận và xây dựng hệ thống phân loại văn bản theo chủ
đề”
Em xin chân thành cảm ơn Thầy TS. Hà Chí Trung, TS. Nguyễn Thị Thu
Hà cùng các thầy cô trong Khoa CNTT – Học viện KTQS đã nhiệt tình
hướng dẫn, chỉ bảo và tạo mọi điều kiện giúp đỡ em hoàn thành tốt luận văn
này.


3


Chương 1
TỔNG QUAN VỀ BÀI TOÁN PHÂN LỚP VĂN BẢN
Trong chương này đề cập đến bài toán phân lớp văn bản và các khái niệm
liên quan, tìm hiểu một số phương pháp phân lớp phổ biến. Đánh giá các
phương pháp và các cơng trình nghiên cứu về bài tốn.
1.1. Bài toán phân lớp văn bản và các khái niệm liên quan
Phân loại (phân lớp) văn bản bắt đầu được nghiên cứu từ những năm
1960, sau một chặng đường dài 15 năm nó đã thu hút được rất nhiều sự quan
tâm nghiên cứu của các nhà toán học bởi sự đa dạng của các ứng dụng. Vậy
phân lớp văn bản là gì? Ứng dụng của phân lớp văn bản trong thực tiễn? Câu
trả lời sẽ được làm rõ trong phần nội dung chính của luận văn. Dưới đây là
một số khái niệm chính có liên quan đến bài tốn phân lớp văn bản.
Khái niệm 1.1 [Văn bản]
- Văn bản: Theo nghĩa rộng văn bản được hiểu là vật mang tin được ghi
bằng ký hiệu hay bằng ngôn ngữ, nghĩa là bất cứ phương tiện nào dùng để ghi
nhận và truyền đạt thông tin từ chủ đề này đến chủ đề khác. Theo nghĩa hẹp,
văn bản được hiểu là các tài liệu giấy tờ, hồ sơ được hình thành trong quá
trình hoạt động của các cơ quan nhà nước, các tổ chức kinh tế xã hội…Hiện
nay, văn bản được thể hiện dưới rất nhiều loại khác nhau nhưng trong khuôn
khổ của luận văn này, tác giả tập trung nghiên cứu tìm hiểu và phân loại các
văn bản điện tử được thể hiện dưới dạng ngôn ngữ.
Khái niệm 1.2[Gán nhãn]
- Gán nhãn cho mỗi văn bản là việc xác định lớp hoặc chủ đề cho mỗi văn
bản trong phạm vi các lớp và các chủ đề cho trước.
Khái niệm 1.3[Tập huấn luyện]


4

Là tập hợp bao gồm các mẫu văn bản đã được gán nhãn. Các nhãn của

văn bản mẫu trong tập huấn luyện được xác định bởi con người dựa trên các
kiến thức tích lũy được.
Khái niệm 1.4[Độ đo tương tự]
Là độ đo dùng để đánh giá mức độ giống và khác nhau giữa hai văn bản.
Độ tương tự là một tiêu chí thường dùng để đánh giá hiệu suất của bộ phân
lớp văn bản.
Được xây dựng dựa trên nền tảng của các khái niệm phía trên, khái niệm
bài tốn phân lớp văn bản được trình bày như sau:
Khái niệm 1.5[Phân lớp văn bản]
Phân lớp văn bản tự động là việc gán các nhãn phân lớp lên một văn bản
mới dựa trên mức độ tương tự của văn bản đó so với các văn bản đã được
gán nhãn trong tập huấn luyện.
Như vậy, thực chất việc giải quyết bài toán phân lớp văn bản là bài toán
xây dựng một hàm Ф, còn được gọi là một bộ phân lớp:
Ф: D x C → {T, F}.
Nhiệm vụ chính của bộ phân lớp là đặt một giá trị Boolean cho mỗi cặp
(dj, ci)  D x C. Trong đó: D là các tập văn bản, C là tập các lớp cho trước.
- Giá trị T (true) được gán cho cặp (dj , ci) nghĩa là tài liệu dj thuộc lớp ci;
- Giá trị F (false) được gán cho cặp (dj , ci) là tài liệu dj không thuộc lớp ci.
1.2. Phân loại bài toán phân lớp văn bản
Tùy vào những ràng buộc khác nhau để phân loại bài tốn phân lớp văn
bản. Nhìn chung có thể phân biệt theo hai cách sau:
- Phân lớp văn bản nhị phân/đa lớp: Bài toán phân lớp văn bản được gọi là
nhị phân nếu |C| = 2 và gọi là đa lớp nếu |C| > 2.
- Phân lớp văn bản đơn nhãn/đa nhãn: Bài toán phân lớp văn bản được gọi
là đơn nhãn nếu mỗi tài liệu được gán nhãn vào chính xác một lớp. Bài tốn


5


phân lớp văn bản được gọi là đa nhãn nếu một tài liệu nào đó có thể được gán
vào nhiều lớp khác nhau.
- Phân lớp tự động / bán tự động: Dựa vào q trình phân lớp mà có thể
chia bài toán phân lớp thành phân lớp tự động hoặc phân lớp bán tự động.
1.3. Sơ đồ hoạt động của hệ thống phân lớp văn bản
Để thực hiện phân lớp văn bản vào các chủ đề cho trước phải trải qua
nhiều giai đoạn khác nhau. Dưới đây là mô tả chi tiết các giai đoạn của việc
phân lớp văn bản:
(1)Xây dựng và hiệu chỉnh
r = <R, H>

Tập huấn
luyện

cây chủ đề
(2)Gán nhãn văn bản theo
chủ đề

(3)Đánh giá chất lượng bộ
dữ liệu mẫu
(5)Quá trình học

(4)Hiệu
chỉnh
bộ huấn
luyện

(6)Hiệu chỉnh văn bản

Văn bản cần

phân lớp

(7)Quá trình
phân lớp

{d,r,f}

(8)Đánh giá chất lượng

(9)Hiệu chỉnh

bộ phân lớp

cây chủ đề

Hình 1.1 Sơ đồ khung một hệ thống phân lớp văn bản


6

Hình trên biểu diễn các bước thực hiện trong hệ thống phân lớp văn bản.
Mỗi giai đoạn thực hiện một nhiệm vụ riêng, kết quả của giai đoạn trước là dữ
liệu đầu vào của giai đoạn sau.
Trong đó: d là tài liệu văn bản, r là chủ đề, f là độ chính xác của q trình
phân lớp. Các bước thực hiện trong hệ thống phân lớp được chia làm hai giai
đoạn chính là giai đoạn huấn luyện và giai đoạn phân lớp.
Giai đoạn huấn luyện bao gồm các bước: 1,2,3,4,5,6
Giai đoạn phân lớp bao gồm các bước: 7,8,9
- Bước 1: xây dựng cây chủ đề với các chủ đề khác nhau như văn hóa, thể
thao, du lịch, kinh tế, chính trị…

- Bước 2: dựa vào kiến thức chuyên gia để gán nhãn cho mỗi văn bản vào
một chủ đề xác định.
- Bước 3: Dựa vào một số tiêu chí nhất định để đánh giá chất lượng bộ dữ
liệu mẫu.
- Bước 4: Khắc phục những điểm còn hạn chế của bộ dữ liệu mẫu
- Bước 5: Thực hiện quá trình học máy
- Bước 6: Quá trình tiền xử lý văn bản, loại bỏ các yếu tố không quan
trọng tồn tại trong văn bản.
- Bước 7: Thực hiện quá trình phân lớp văn bản vào chủ đề cho trước với
một phương pháp phân lớp.
- Bước 8: Dựa vào một số tiêu chí để đánh giá chất lượng bộ phân lớp.
- Bước 9: Nhờ kết quả phân lớp phía trên để hiệu chỉnh cây chủ đề làm cơ
sở dữ liệu cho các lần phân lớp tiếp theo.
Nội dung chi tiết, các giá trị đầu ra, đầu vào của từng bước sẽ được trình
bày cụ thể trong các phần tiếp theo của luận văn.


7

1.4. Đánh giá các phương pháp phân lớp
Đánh giá kết quả phương pháp phân loại văn bản có thể được tính tốn
theo nhiều cách khác nhau. Theo khảo sát của Sebastiani [7,10], độ đo phổ
biến nhất được sử dụng để đánh giá phân loại là độ triệu hồi (recall) và độ
chính xác (precision).
Bảng 1.1. Bảng ký hiệu các độ đo đánh giá phương pháp phân lớp
Dữ liệu thực

Lớp Ci
Dự đoán


Thuộc lớp Ci

Không thuộc lớp Ci

Thuộc lớp Ci

TPi

TNi

Không thuộc lớp Ci

FPi

FNi

Trong đó:
- TPi (true positives): số lượng ví dụ dương được thuật toán phân đúng vào
lớp Ci
- TNi (true negatives): số lượng ví dụ âm được thuật tốn phân đúng vào
lớp Ci
- FPi (false positives): số lượng ví dụ dương được thuật toán phân sai vào
lớp Ci
- FNi (false negatives): số lượng ví dụ âm được thuật tốn phân sai vào lớp
Ci
1.4.1. Đánh giá dựa vào độ triệu hồi và độ chính xác
- Độ chính xác Pri của lớp Ci là tỷ lệ số ví dụ dương được thuật tốn phân
lớp cho giá trị đúng trên tổng số ví dụ được thuật toán phân lớp vào lớp C i :
Pri =


TPi
TPi  TN i

(1.1)


8

- Độ hồi tưởng Rei của lớp Ci là tỷ lệ số ví dụ dương được thuật tốn
phân lớp cho giá trị đúng trên tổng số ví dụ dương thực sự thuộc lớp Ci
Rei =

TPi
TPi  FPi

(1.2)

Tổng số văn bản mang
nhãn dương

Tổng số văn bản được
chương trình gán nhãn
dương

Tổng số văn bản
kiểm tra

c
a


b= a ∩ c

Số văn bản được gán
nhãn dương và đúng

Hình 1.2 Minh họa cách tính độ triệu hồi và độ chính xác
Dựa vào độ chính xác và độ triệu hồi chuẩn của mỗi lớp, độ chính xác và
độ triệu hồi cho toàn bộ các lớp từ C1, C2….. Cm theo hai cách: cực tiểu trung
bình (Micro-average) và cực đại trung bình (Macro-average).
- Cực tiểu trung bình:
m



Pr 

m

 TPi
n

 (TP  TN )
i 1

i

 TP




i 1

i

Re 

i

i 1

n

 (TP  FP )
i 1

i

i

(1.3)


9

- Cực đại trung bình:
m

Pr 
M


m

 Pri

Re 

i 1

M

m

 Re
i 1

m

i

(1.4)

Độ chính xác và độ triệu hồi nếu sử dụng riêng biệt thì chưa đánh giá
được năng lực của bộ phân loại. Vì vậy đánh giá bộ phân loại văn bản thường
được đo bằng tổ hợp của hai độ đo trên. Các độ đo phổ biến của tổ hợp hai độ
đo này là:
- Break Even Point (BEP): độ đo này xác định điểm mà tại đó độ chính
xác và độ triệu hồi bằng nhau. Tuy nhiên, trong một số trường hợp không thể
xác định được BEP (khi số dữ liệu dương và số dữ liệu âm chênh lệch nhiều
thì khơng thể xác định được BEP).
- Độ đo Fβ: là độ đo đơn giản được tính từ độ chính xác và độ triệu hồi

phụ thuộc vào độ quan trọng mà người dùng định nghĩa(β). Thông thường
β=1. Công thức đo độ Fβ là:
F 

(  2  1).Pr.Re
 2 .Pr  Re

(1.5)

Trong trường hợp β=1 ta có F1 là độ đo thơng dụng nhất trong việc đánh
giá hiệu quả của các bộ phân lớp.
1.4.2. Đánh giá dựa vào độ tương tự
Nếu phương pháp A và B đều không phân biệt tài liệu vào đúng lớp C i
của nó, nhưng phương pháp A phân vào lớp tương tự với lớp Ci thì phương
pháp A được đánh giá là tốt hơn so với phương pháp B. Vì vậy mở rộng định
nghĩa độ chính xác và độ triệu hồi chuẩn để đánh giá bộ phân lớp A và B.
Độ tương tự giữa hai lớp Ci và Ck kí hiệu là CS (Ci , Ck ) có thể được tính
bằng nhiều cách khác nhau (Độ tương tự là mở rộng của độ triệu hồi và độ
chính xác).


10

Trong phân loại văn bản, nếu mỗi tài liệu được biểu diễn là một vector thuộc
tính:
Ci = {w1 t1, w2 t2… wN tN }
Ck = { v1t1, v2t2…. VNtN}
Độ tương tự (Category Similarity – CS) và độ tương tự trung bình
(Average – Category Similarity - ACS) được tính theo cơng thức:
N


w
n 1

CS( Ci, Ck)=

n

 vn

N

 W  V
n

m

ASC =

(1.6)

N

2
n

2
n

n


m

2 

 CS (Ci, Ck )

i 1

k i 1

(1.7)

m  (m  1)

Trong đó tn là chỉ số từ khóa và wn , vm là trọng số từ khóa.
Dựa vào độ đo tương tự, chúng ta có thể tính mức độ đúng của việc tài
liệu dj được gán vào lớp Ci.. Trường hợp đơn giản nhất là d

j

được gán vào

đúng lớp Ci. Tuy nhiên, nếu dj khơng được gán nhãn đúng thì chúng ta sẽ
xem xét độ tương tự của các lớp mà d j được gán nhãn với lớp Ci bằng cách
tính phân phối của dj với lớp Ci , kí hiệu là Con (dj, Ci) theo công thức:



Con(d j , Ci ) 


(CS (C ' , Ci )  ACS

C ' d j .agd

1  ACS

(1.8)

Trong đó, dj.agd là các lớp mà dj được gán vào.
Tương tự, nếu dj là dữ liệu âm và thuật toán phân đúng vào lớp Ci tức là dj
thuộc TNi thì phân phối của dj với lớp Ci phụ thuộc vào độ tương tự giữa lớp
Ci và các lớp mà dj thực sự thuộc, kí hiệu là dj.lbd :



Con(d j , Ci ) 

(CS (C ' , Ci )  ACS

C ' d j .lbd

1  ACS

(1.9)


11

Phân phối của một tài liệu có thể có giá trị âm hoặc dương phụ thuộc vào

độ tương tự giữa các nhãn được gán cho tài liệu và các lớp chứa tài liệu và độ
tương tự trung bình ACS. Tuy nhiên một tài liệu có thể thuộc nhiều hơn một
phân lớp.
Phân phối của một tài liệu dj với lớp Ci được hạn chế trong đoạn [-1, 1].
Vì vậy phân phối cải tiến (Refined - contribution) kí hiệu Rcon( dj, Ci) được
xác định:
Rcon (dj, Ci) = min (1, max (-1,Con(dj, Ci) ))
Với tất cả các tài liệu thuộc FPi , tổng phân phối FpConi sẽ là:
FpCon 



d j FPi

RCon(d j , Ci )

(1.10)

Tương tự, tổng phân phối TnConi là:
TnCon 



d jTNi

Rcon(d j , Ci )

(1.11)

Độ chính xác và độ triệu hồi mở rộng cho lớp Ci dựa vào độ tương tự

được xác định như sau:
Độ chính xác:
Prics 

Max  0, TPi  FpCon i  TnCon i 
TPi  TNi  FpCon i

(1.12)

Độ triệu hồi:
Reics 

Max  0, TPi  FpCon i  TnCon i 
TPi  TNi  TnCon i

(1.13)

Ngoài ra, chúng ta cũng có thể đánh giá dựa vào khoảng cách giữa các lớp
thay vì sử dụng độ tương tự giữa các lớp, chúng ta sử dụng độ đo khoảng cách
giữa các lớp. Khoảng cách giữa hai lớp Ci và Ck kí hiệu là Dis(Ci, Ck ) được
định nghĩa là số đường liên kết giữa Ci và Ck. Nếu đường liên kết càng ngắn
thì hai lớp càng gần nhau hơn. Từ đó có thể tính được độ triệu hồi, độ chính
xác và đo độ F dựa vào khoảng cách giữa các lớp.


12

Mỗi tiêu chuẩn đánh giá dựa được tiến hành đo theo những cách khác
nhau nhưng nhìn chung dựa vào kết quả của các phương pháp đánh giá này ta
có thể biết được hiệu suất của từng bộ phân lớp.

1.5. Các yếu tố quan trọng tác động đến phân lớp văn bản
Bài tốn phân lớp văn bản có vai trị quan trọng trong việc giải quyết một
số bài toán trong lĩnh vực CNTT. Tuy nhiên văn bản được thể hiện dưới nhiều
dạng khác nhau vì thế khả năng mà từng bộ phân lớp có thể thực hiện được là
khác nhau dẫn đến kết quả phân lớp khác nhau. Có thể liệt kê ba yếu tố tác
động đến kết quả phân lớp như sau:
- Tập huấn luyện: cần một tập dữ liệu huấn luyện chuẩn và đủ lớn để cho
thuật toán học phân lớp. Nếu chúng ta có được một tập dữ liệu chuẩn và đủ
lớn thì quá trình huấn luyện sẽ tốt và khi đó chúng ta sẽ có kết quả phân lớp
tốt sau khi đã được học.
- Phương pháp biểu diễn văn bản và chủ đề: các phương pháp phân lớp đa
số đều sử dụng mơ hình vector để biểu diễn văn bản, do đó phương pháp trích
rút đặc trưng văn bản: tách từ, thuật ngữ (gọi là các terms) và xác định terms
nào là đặc trưng cho văn bản để biểu diễn chúng thành vector. Yếu tố này rất
quan trọng, đối với một số ngôn ngữ đa âm tiết như tiếng Anh thì thao tác
tách từ trong văn bản đơn giản chỉ là dựa vào khoảng trắng, tuy nhiên trong
các ngôn ngữ đơn âm tiết như tiếng Việt và một số ngơn ngữ khác thì sử dụng
khoảng trắng khi tách từ không đạt được kết quả mong muốn, do đó phương
pháp tách từ cũng là một yếu tố quan trọng.
- Thuật toán phân lớp: thuật toán sử dụng để phân lớp phải có thời gian xử
lý tối ưu, thời gian này bao gồm: thời gian máy học, thời gian phân lớp văn
bản. Ngồi ra các thuật tốn phân lớp phải có tính tăng cường, nghĩa là khơng
cần phân lớp lại toàn tập văn bản khi thêm một số văn bản mới vào tập dữ
liệu.


13

1.6. Một số phương pháp phân lớp văn bản
1.6.1 Phương pháp phân lớp sử dụng máy vector hỗ trợ (SVM)

Phương pháp phân lớp sử dụng máy vector hỗ trợ-Support Vector
Machine (SVM) được Cortess và Vapnik giới thiệu [14,15], đây là một
phương pháp tiếp cận phân lớp khá hiệu quả để giải quyết vấn đề nhận dạng
mẫu hai lớp sử dụng nguyên lý cực tiểu hóa rủi ro cấu trúc (Structural Risk
Minimization).
Cho trước một tập huấn luyện được biểu diễn trong khơng gian vector,
trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra một siêu mặt phẳng
quyết định h là tốt nhất để có thể chia các điểm trên không gian này thành hai
lớp riêng biệt tương ứng là lớp dương (+) và lớp âm (-). Chất lượng của siêu
mặt phẳng này được quyết định bởi khoảng cách (gọi là biên) của điểm dữ
liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng cách biên càng lớn thì
mặt phẳng quyết định càng tốt đồng thời việc phân loại càng chính xác. Mục
đích thuật tốn SVM là tìm được khoảng cách biên lớn nhất.
+
+
+

là lớn nhất

+

-

-

-

-

-


-

-

-

-

phẳng

Khoảng
cách biên

+

Siêu h
tối ưu

+

+

+

+

+
+


+

+

-

Hình 1.3 Phương pháp phân loại SVM

-

-


14

Cơng thức chính
SVM thực chất là bài tốn tối ưu, mục tiêu của thuật tốn này là tìm được
một khơng gian H và siêu mặt phẳng quyết định trên H sao cho sai số phân
loại là thấp nhất.
Phương trình siêu mặt phẳng chứa vector d1 trong không gian như sau:

di  w + b = 0

(1.14)

Đặt : h( d i )= sign( di  w + b) = {+1, di  w + b > 0 và - 1, di  w + b < 0}
Như thế h(d1) biểu diễn sự phân lớp của vector d1 vào hai lớp âm và
dương. Khi đó để có mặt siêu phẳng h ta sẽ phải giải bài tốn sau:
Tìm Min |w| với w và b thỏa điều kiện sau:


i 1, n : yi (sign(di w  b))  1
Bài tốn SVM có thể giải bằng kỹ thuật sử dụng toán tử Lagrange để biến
đổi thành dạng đẳng thức.
Ở phương pháp SVM, mặt phẳng quyết định chỉ phụ thuộc vào các điểm
gần nó nhất (vector hỗ trợ - support vector) mà có khoảng cách đến nó là:
1/ |w| . Khi các điểm khác bị xóa đi thì vẫn khơng ảnh hưởng đến kết quả ban
đầu.
1.6.2 Phương pháp phân lớp K láng giềng gần nhất (kNN)
Phương pháp phân lớp văn bản k–láng giềng gần nhất (kNN) là phương
pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê đã được nghiên
cứu trong nhiều năm qua. kNN được đánh giá là một trong những phương
pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân
loại văn bản.
Với phương pháp kNN khi cần phân loại một văn bản mới, thuật toán sẽ
tính khoảng cách 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 k văn bản gần nhất (gọi là k láng giềng), sau đó dùng các khoảng


×