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

Ứng dụng máy vector hỗ trợ phân loại công văn theo lĩnh vực

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.41 MB, 26 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN THANH XUÂN

SỬ DỤNG MÁY VECTOR HỖ TRỢ
PHÂN LOẠI CÔNG VĂN THEO LĨNH VỰC

Chuyên ngành: Khoa học máy tính
Mã số: 8480101

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

Đà Nẵng - Năm 2018


Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC BÁCH KHOA

Người hướng dẫn khoa học: TS. PHẠM MINH TUẤN

Phản biện 1: TS. TRƯƠNG NGỌC CHÂU

Phản biện 2: TS. PHẠM XUÂN HẬU

Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ kỹ
thuật chuyên ngành Khoa học may tính họp tại Trường Đại học Bách khoa
Đà Nẵng vào ngày 05 tháng 01 năm 2018

Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu và Truyền thông Trường Đại học Bách khoa


Đại học Đà Nẵng tại
- Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa
Đại học Đà Nẵng


1

MỞ ĐẦU
1. Lý do chọn đề tài
Trong các cơ quan hành chính việc phân loại văn bản, công văn
theo lĩnh vực như: Công nghệ thông tin, Du lịch, Giao thông vận tải,
Giáo dục và đào tạo, … là công việc thực hiện hàng ngày, việc này
có thể được thực hiện bởi văn thư tại cơ quan, đơn vị tuy nhiên việc
này rất tốn nhiều công sức và có khi không chính xác. Do đó tính cấp
thiết cần phải có một công cụ phân loại tự động giúp cho công việc
này đơn giản, nhanh và chính xác.
Phân loại văn bản là một bài toán xử lý ngôn ngữ tự nhiên
nhưng nó được gắn liền với học máy bởi vì nó cũng thuộc bài toán
phân loại.
Việc phân loại văn bản tự động bằng tiếng anh đã được áp dụng
từ lâu, nhưng với văn bản tiếng việt thì có một số khó khăn hơn vì
văn bản tiếng việt có các từ ghép gây ra sự nhập nhằng về mặt ngữ
nghĩa trong quá trình tiền xử lý văn bản, trích chọn đặc trưng.
Vì những lý do như trên tôi đề xuất chọn đề tài luận văn cao
học:
“Ứng dụng máy vector hỗ trợ phân loại công văn theo lĩnh
vực”
2. Mục đích nghiên cứu
Nghiên cứu các bước giải quyết bài toán Machine Learning.
Nắm vững lý thuyết phân lớp trong Machine Learning, Máy

vector hỗ trợ.
Nắm vững cách trích chọn đặc trưng từ văn bản, công văn.


2
Xây dựng được phần mềm có thể phân loại văn bản, công
văn một cách chính xác nhất.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu bao gồm: Học máy áp dụng vào bài toán
phân loại, trích rút đặc trưng văn bản, ngôn ngữ lập trình và công cụ
xây dựng bài toán học máy và phân loại văn bản.
Phạm vi nghiên cứu: Nghiên cứu học máy, nghiên cứu kỹ thuật
phân loại, nghiên cứu các kỹ thuật chuẩn hóa văn bản, nghiên cứu
các kỹ thuật trích đặc trưng trong văn bản tiếng việt.
4. Phương pháp nghiên cứu
Phương pháp chính là nghiên cứu qua nguồn tư liệu đã xuất bản,
các bài báo đăng trên các tạp chí khoa học, sưu tập các tư liệu liên
quan đến vấn đề đang nghiên cứu trên mạng Internet. Xây dựng kho
dữ liệu dataset phục vụ cho việc training. Đánh giá độ chính xác của
thuật toán phân loại.
5. Ý nghĩa khoa học và ý nghĩa thực tiễn của luận văn
Nghiên cứu chuẩn hóa văn bản, trích rút đặc trung văn bản tiếng
việt cho bài toán nhận dạng, phân loại văn bản. Kết quả sẽ mở ra
cách trích rút đặc trung văn bản cho các nghiên cứu sau này.
6. Cấu trúc luận văn
Cấu trúc luận văn bao gồm phần Mở đầu, Kết luận và 3 chương
chính như sau:
Chương 1 - Cơ sở lý thuyết
Chương 2 - Ứng dụng máy vector hỗ trợ phân loại công
văn theo lĩnh vực

Chương 3 - Triển khai và đánh giá kết quả


3

Chương 1 - CƠ SỞ LÝ THUYẾT
1.1. GIỚI THIỆU
Phân loại văn bản [1] [2] là một bài toán thuộc về lĩnh vực Xử
lý ngôn ngữ tự nhiên [3] dưới dạng văn bản. Nhưng nó được gắn liền
với học máy (Machine Learning) [4] vì nó liên quan đến phân loại.
Bài toán phân loại văn bản được trình bày như sau: cho một tập
{
}. Kết quả của
gồm văn bản đầu vào ký hiệu:
việc phân loại là gán các văn bản vào một tập gồm
{
}
hiệu là:

phân lớp ký

Cũng giống như những bài toán học máy khác thì bài toán phân
loại văn bản cũng bao gồm hai bước đó là Huấn luyện (learning) [4]
và Phân loại (prediction) [4].

Hình 1.1: Mô hình bài toán phân loại văn bản, tài liệu


4
Bước thứ nhất là Huấn luyện (learning) [4] hay chính là cách

chúng ta sử dụng các kỹ thuật học máy để tìm ra được một model
hợp lý nhất cho bài toán phân loại, nó bao gồm các bước như sau:
Tiền xử lý văn bản [5]
o

Làm sạch dữ liệu

o

Tách từ (Words segmentation) [7]

Biểu diễn vector đặc trưng (Feature Extraction) [8]
Huấn luyện (learning) [8]
Bước thứ hai đó chính là đem mô hình thu được sau khi huấn
luyện ở bước thứ nhất, đi vào thực tế để xem nó có thực sự đủ tốt hay
không. Bước này bao gồm các bước xử lý văn bản ở bước 1, chỉ khác
một điều là không huấn luyện lại mô hình nữa mà sử dụng trực tiếp
mô hình có sẵn để dự đoán văn bản đưa vào và cho ra kết quả.
1.2. TIỀN XỬ LÝ VĂN BẢN
1.2.1. Xử lý ngôn ngữ tự nhiên
1.2.1.1. Lọc bỏ lỗi chính tả, lỗi kí tự
1.2.1.2. Loại bỏ những từ không mang nghĩa, lặp lại nhiều
trong văn bản (Stop Words)
1.2.1.3. Tách từ
1.2.2. Biểu diễn văn bản dưới dạng vector đặc trưng
1.2.2.1. Túi đựng từ (BoW)
1.2.2.2. TF-IDF
TF-IDF [10] là trọng số của một từ trong văn bản thu được qua
thống kê thể hiện mức độ quan trọng của từ này trong một văn bản,
mà bản thân văn bản đang xét nằm trong một tập hợp các văn bản.

TF: Term Frequency, là số lần term xuất hiện trong văn bản.
Cách tính TF như sau:


5
(

(

)

{ (

)
)}

Thương của số lần xuất hiện 1 từ trong văn bản và số lần xuất
hiện nhiều nhất của một từ bất kỳ trong văn bản đó. (giá trị sẽ thuộc
khoảng [0, 1])
(

)- số lần xuất hiện từ t trong văn bản d.
{ (

)}

- số lần xuất hiện nhiều nhất của một từ

bất kỳ trong văn bản.
IDF: inverse document frequency. Tần số nghịch của 1 từ trong

tập văn bản
(

| |

)

}|

|{

| |: - tổng số văn bản trong tập
|{

}|:- số văn bản chứa từ nhất định, với điều kiện

xuất hiện trong văn bản . Nếu từ đó không xuất hiện ở bất cứ một
văn bản nào trong tập thì mẫu số sẽ bằng 0 => phép chia cho không
không hợp lệ, vì thế người ta thường thay bằng mẫu thức
}|

1 + |{
Cơ số

trong công thức này không thay đổi giá trị của

một từ mà chỉ thu hẹp khoảng giá trị của từ đó. Vì thay đổi cơ số sẽ
dẫn đến việc giá trị của các từ thay đổi bởi một số nhất định và tỷ lệ
giữa các trọng lượng với nhau sẽ không thay đổi. Tuy nhiên việc thay
đổi khoảng giá trị sẽ giúp tỷ lệ giữa IDF và TF tương đồng để dùng

như bên dưới.

cho công thức
Giá trị TF-IDF:
(

)

(

)

(

)


6
Những từ có giá trị

cao là những từ xuất hiện nhiều

trong văn bản này, và xuất hiện ít trong các văn bản khác. Việc này
giúp lọc ra những từ phổ biến và giữ lại những từ có giá trị cao (từ
khoá của văn bản đó).
1.2.3. Giảm chiều dữ liệu
1.3. HỌC MÁY
1.3.1. Khái niệm
1.3.2. Các phương pháp học máy
1.3.2.1. Học không giám sát (Unsupervised Learning)

1.3.2.2. Học có giám sát (Supervised Learning)
1.3.2.3. Học bán giám sát (Semi-Supervised Learning)
1.3.2.4. Học tăng cường (Reinforcement learning)
1.4. MỘT SỐ GIẢI THUẬT HỌC MÁY PHÂN LOẠI VĂN
BẢN
1.5. MÁY VECTOR HỖ TRỢ (SVM)
1.5.1. Lý thuyết về máy vector hỗ trợ
Là một phương pháp dựa trên nền tảng cơ bản của lý thuyết
thống kê với hệ thống toán học chặt chẽ, V

được đảm bảo rằng

kết quả tìm được là chính xác. Với tính tổng quát cao,

V



phương pháp được áp dụng cho nhiều bài toán nhận dạng và phân
loại đối tượng.
1.5.1.1. Tổng quan về máy vector hỗ trợ
SVM [18] được biết đến là một công cụ mạnh mẽ trong những
bài toán phân lớp phi tuyến tính được các tác giả Vapnik và
Chervonenkis đề xuất vào năm 1995.
Về mặt học thuật, một hệ thống máy vector hỗ trợ xây dựng một
hoặc một tập hợp các siêu ph ng trong không gian một hoặc vô hạn
chiều, có thể được sử dụng cho ứng dụng phân loại, hồi quy hoặc các


7

nhiệm vụ cụ thể khác.

ột cách trực giác, để phân loại tốt nhất các

điểm trong không gian, khoảng cách từ siêu ph ng tới các điểm dữ
liệu của tất cả các lớp càng xa càng tốt, hay c n gọi là khoảng cách lề
càng lớn thì sai số tổng quát hóa của thuật toán càng bé.
1.5.1.2. Cơ sở lý thuyết
V

về bản chất là một bài toán tối ưu với mục tiêu tìm một
và siêu g ng

không gian

nằm trên

sao cho sai số phân loại

được cực tiểu hóa.
Với tập mẫu {(

)(
{

thuộc vào hai lớp nhãn:
(

biểu thị lớp ,


)

(

)} với

,

} là nhãn lớp tương ứng của các

biểu thị lớp

).

Ta có, phương trình siêu ph ng chứa vectơ Xi trong không gian:
( )

(

)

{

Như vậy, ( ) biểu diễn sự phân lớp của
nêu. Ta nói

nếu

. Khi đó, để có siêu ph ng
|| ||với

với

vào hai lớp như đã



nếu

ta sẽ phải giải bài toán sau: tìm

thỏa mãn điều kiện sau:

(

(

))

.
Bài toán

V

có thể giải bằng kỹ thuật sử dụng toán tử

Lagrange để biến đổi về thành dạng đ ng thức.
của V

ột đặc điểm thú vị


là mặt ph ng quyết định chỉ phụ thuộc các upport Vector

và nó có khoảng cách đến mặt ph ng quyết định là

|| || Cho d

các điểm khác bị xóa đi thì thuật toán vẫn cho kết quả giống như ban
đầu. Đây chính là điểm nổi bật của phương pháp V

so với các


8
phương pháp khác vì tất cả các dữ liệu trong tập huấn luyện đều
được đ ng để tối ưu hóa kết quả.
Tóm lại, trong trường hợp nhị phân phân tách tuyến tính, việc
phân lớp được thực hiện qua hàm quyết định

( )

(

) hàm này thu được bằng việc thay đổi vector chuẩn
đây là vector để cực đại hóa viền chức năng. Việc mở rộng V

,
để

phân đa lớp hiện nay vẫn đang được đầu tư nghiên cứu. Có một
phương pháp tiếp cận để giải quyết vấn để này là xây dựng và kết

hợp nhiều bộ phân lớp nhị phân SVM.
1.5.1.3. Bài toán phân lớp nhị phân với SVM
Bài toán đặt ra là: Xác định hàm phân lớp để phân lớp các mẫu
trong tương lai, nghĩa là với một mẫu dữ liệu mới xi thì cần phải xác
định xi được phân vào lớp

hay lớp

.

Để xác định hàm phân lớp dựa trên phương pháp V , ta sẽ
tiến hành tìm hai siêu ph ng song song sao cho khoảng cách y giữa
chúng là lớn nhất có thể để phân tách hai lớp này ra làm hai phía.
Hàm phân tách tương ứng với phương trình siêu ph ng nằm giữa hai
siêu ph ng tìm được:
Trong đó
Các điểm có nhãn
Các điểm có nhãn
và Các điểm tương
ứng với uport Vector.

Hình 1.2: Mô hình b i t n hân l

nh

hân s

n



9
Các điểm mà nằm trên hai siêu ph ng phân tách được gọi là các
upport Vector. Các điểm này sẽ quyết định đến hàm phân tách dữ
liệu.
1.5.1.4. Bài toán phân nhiều lớp với SVM
Để phân nhiều lớp thì kỹ thuật SVM nguyên thủy sẽ chia không
gian dữ liệu thành hai phần và quá trình này lặp lại nhiều lần. Khi đó
hàm quyết định phân lớp dữ liệu sẽ là:
( )

Những phần tử

là support vector sẽ thỏa

điều kiện
( )

{

Như vậy, bài toán phân nhiều lớp sử dụng V

có thể hiểu và

biến đổi thành bài toán phân hai lớp nếu ta coi một lớp là một tập dữ
liệu cần tìm c n lớp c n lại là tất cả các tập dữ liệu c n lại.
Đối với V

trong bài toán phân nhiều lớp chủ yếu sử dụng hai

chiến lược:

- Một với tất cả (

): mỗi mô hình phân lớp sẽ phân tách

một lớp từ các lớp khác. Do vậy nếu có k lớp sẽ có k mô hình tương
ứng.
- Một với một (
Với

lớp sẽ có

(

): mỗi mô hình phân tách thành hai lớp.
)

mô hình

1.5.1.5. Các bước chính của SVM
i n

l

liệu: Thực hiện biến đổi dữ liệu ph hợp cho quá

trình tính toán, tránh các số quá lớn mô tả các thuộc tính. Thường
nên co giãn (scaling) dữ liệu để chuyển về đoạn

hoặc



10
Ch n h m nhân (Kernel function): Lựa chọn hàm nhân ph hợp
tương ứng cho từng bài toán cụ thể để đạt được độ chính xác cao
trong quá trình phân lớp.
n

th m

h việ hu n lu ện v i tậ m u: Trong

quá trình huấn luyện sẽ sử dụng thuật toán tối ưu hóa khoảng cách
giữa các siêu ph ng trong quá trình phân lớp, xác định hàm phân lớp
trong không gian đặc trưng nhờ việc ánh xạ dữ liệu vào không gian
đặc trưng bằng cách mô tả hạt nhân, giải quyết cho cả hai trường hợp
dữ liệu là phân tách và không phân tách tuyến tính trong không gian
đặc trưng.
iểm th tậ

liệu hu n lu ện

1.5.1.6. So sánh và một số cải tiến
Về cơ bản, V
-

có hai đặc trưng cơ bản:

Luôn kết hợp với các dữ liệu có ý nghĩa lớp về mặt vật
lý, do đó có thể giải thích một cách tường minh.


-

Không cần thiết phải sử dụng bộ dữ liệu huấn luyện lớn,
tuy nhiên bất kì phương pháp nào có bộ dữ liệu huấn
luyện đủ lớn cũng đều cho kết quả tối ưu.

1.5.1.7. Một số ứng dụng của SVM
1.5.2. Hàm nhân (Kernel Function)
1.5.2.1. Khái niệm
Một hàm nhân là hàm
(

sao cho với mọi
)

〈 ( )

, ta đều có:

( )〉

Trong đó 〈 〉 là tích vô hướng trong không gian đặc trưng.


11
1.5.2.2. Hàm nhân trong máy học tuyến tính
1.5.2.3. Hàm nhân trong mô hình SVM
Kernel là một trong những hàm nhân trả về giá trị tích giữa các
ảnh của các điểm dữ liệu trên một vài không gian.
Bảng 1.1: Công thức các hàm nhân trong SVM

Gauss RBF
Đa thức
Sigmoidal
Inverse multi-quadric

(

)

(

)

(

)

(

)



(
(〈






)

( 〈
√‖

)





)


12

Chương 2 - ỨNG DỤNG MÁY VECTOR HỖ TRỢ
PHÂN LOẠI CÔNG VĂN THEO LĨNH VỰC
2.1. BÀI TOÁN TRONG THỰC TẾ
Trên cơ sở lý thuyết đã được chỉ ra ở chương I, luận văn tiến
hành xây dựng ứng dụng phân loại văn bản tự động nhằm xác định
hiệu quả và khả năng tiếp cận với hiệu suất chấp nhận được khi ứng
dụng mô hình trên cơ sở thực tế.
Tập dữ liệu để training và testing được lấy từ dữ liệu văn bản
của tỉnh Quảng Bình được phân loại theo lĩnh vực một cách chính
xác nhất, sau đó chọn ra 10 lĩnh vực phổ biến để sử dụng.
Như đã tìm hiểu các phương pháp phân loại văn bản ở các
chương trước, tôi nhận thấy SVM là một phương pháp nhiều cải tiến,
có hiệu suất cao so với các phương pháp khác. Do đó, tôi chọn
phương pháp V để phát triển ứng dụng.

2.2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.2.1. Mục tiêu
Xây dựng được phần mềm đọc tự động văn bản với định dạng
Microsoft Word hoặc dạng text sau đó đưa ra được kết quả lĩnh vực
của văn bản đầu vào.
2.2.2. Mô hình hoạt động của phần mềm


13
Hình bên dưới thể hiện mô hình hoạt động của phần mềm. Ở mô
hình dưới có 2 luồng dữ liệu đó là training và predict. Ở luồng

training, người dùng cung cấp văn bản mẩu để cho chương trình học
để tạo ra model có thể dự đoán. Ở luồng predict, người dung cung
cấp văn bản cần phân loại, sau khi được xử lý văn bản thành vector
sẽ đưa vào phần mềm. Phần mềm sẽ trả về lĩnh vực thuộc văn bản
đầu vào một cách chính xác nhất.
Hình 2.1: Mô hình hoạt động của phần m m phân loại
2.2.3. Chức năng chính của phần mềm
2.2.3.1. Tiền xử lý văn bản
2.2.3.2. Học hàm phân loại văn bản
2.2.3.3. Phân loại văn bản
2.3. SỬ DỤNG MÁY VECTOR HỖ TRỢ ĐỂ PHÂN LOẠI
2.3.1. Tiền xử lý văn bản
2.3.1.1. Chuyển định dạng từ Word sang dạng text (.txt)
2.3.1.2. Làm sạch dữ liệu text
a) Loại bỏ các ký tự đặc biệt
Loại các ký tự không có ý nghĩa như “%@$.,=+!;/()*"&^:#|\n\t\'” và các chử số, khoảng trắng
b) X lý lỗi đ nh dạn văn bản



14
Cựng vi ú l cỏc vn bn khụng phi nh dng Unicode
(UTF-8) vỡ khi a vo phn mm s dn ti b li nh bờn di:
Các hoạt động của Tuần lễ phải đảm bảo thiết thực, hiệu quả, tập
trung h-ớng về cơ sở , doanh nghiệp và ng-ời lao động cùng chung
tay thực hiện tốt công tác bảo đảm an toàn lao động trong sản xuất,
tránh hình thức, lãng phí. II. Chủ đề và hình thức tổ chức: 1. Chủ đề:
Chủ đề phát động của Tuần lễ quốc gia lần thứ 16 là: "Suy nghĩ và
hành động vì mục tiêu không tai nạn lao động, bệnh nghề nghiệp,
cháy nổ tại nơi làm việc
Phn ln cỏc vn bn ca c quan nh nc ti Qung Bỡnh cú
mt s n v khụng s dng Font ch Unicode (UTF-8) son
tho, m s dng nh dng Font ch khỏc, nờn khi a vo phn
mm phi xỏc nh c vn bn no cú li v tin hnh thay th cỏc
nh dng b li ú cho vn bn cú th c c. Do ú bc
2.3.1.1 khi chuyn vn bn Word thnh file text s gp cỏc vn bn
b li nh dng, khụng th c c, dn n vic phõn loi sai.
Chớnh vỡ th bc ny nu gp cỏc vn bn cú nh dng khi
chuyn sang file text b li nh trờn, phi thc hin cỏc bc thay
th cỏc nh dng li ú tr thnh file cú ý ngha cú th c c.
Bng cỏc bc nh sau:
Bc 1: Kim tra vn bn cú b li nh dng Font ch
khụng bng cỏch xột tn s xut hin ca cỏc ký t nh l ả,
ì, ầ, ệ, đ, à, cú nhiu trong vn bn, kt lun l vn bn ú
b li Font ch
Trong khuụn kh lun vn, tụi ỏnh giỏ nhng vn bn cú
t l ký t li so vi ton vn bn ln hn 10% l vn bn
li nh dng



15
Bước 2: Thay thế các ký tự lỗi đó thành các ký tự có ý
nghĩa. Ta có bảng định dạng ký tự bị lỗi và các ký tự
Unicode thay thế ở phụ lục
Bước 3: Chuyển qua bước tiếp theo để tiến hành nhận dạng
văn bản.
2.3.1.3. Chuẩn hóa từ
Mục đích là đưa văn bản từ các dạng không đồng nhất về cùng
một dạng. Dưới góc độ tối ưu bộ nhớ lưu trữ và tính chính xác cũng
rất quan trọng.
Một việc quan trong nữa là định dạng tất cả các từ về dạng chử
thường, vì khi đưa vào chương trình sẽ có phân biệt hoa thường gây
nhập nhằng trong việc phân loại.
2.3.1.4. Tách từ
Trong tiếng Việt, dấu cách (space) không được sử dụng như 1
kí hiệu phân tách từ, nó chỉ có ý nghĩa phân tách các âm tiết với
nhau. Vì thế, để xử lý tiếng Việt, công đoạn tách từ (word
segmentation) là 1 trong những bài toán cơ bản và quan trọng bậc
nhất.
2.3.1.5. Loại bỏ các từ StopWords
StopWords là những từ xuất hiện nhiều trong ngôn ngữ tự
nhiên, tuy nhiên lại không mang nhiều ý nghĩa. Ở Tiếng Việt
StopWords là những từ như: để, này, kia...
Đối với ứng dụng phân loại văn bản, công văn trong cơ quan
nhà nước thì số lượng StopWords ngoài các từ thông dụng trong
Tiếng Việt thì sẽ có nhiều từ đặc thù của văn bản, công văn như là:
‘ủy ban nhân dân’, ‘đoàn thể’, ‘chủ tịch’, ‘phó chủ tịch’, ‘cộng hòa
xã hội chủ nghĩa việt nam’, … các địa danh của tỉnh



16
2.3.1.6. Vector hóa từ
Để vector hóa từ ta sử dụng Bag of Words, là một thuật toán hỗ
trợ xử lý ngôn ngữ tự nhiên và mục đích của BoW là phân loại text
hay văn bản. Ý tưởng của BoW là phân tích và phân nhóm dựa theo
"Bag of Words". Với test data mới, tiến hành tìm ra số lần từng từ
của test data xuất hiện trong "bag". Tuy nhiên BoW vẫn tồn tại
khuyết điểm, nên TF-IDF là phương pháp khắc phục.
2.3.2. Phân loại văn bản dựa vào máy vector hỗ trợ
Sau khi văn bản được vector hóa, bước này ta chọn một mô
hình, thuật toán học máy phân lớp đó là Máy vector hỗ trợ (SVM).
Dữ liệu văn bản được vector hóa sẽ được chia thành hai tập dữ
liệu gồm:
-

Dữ liệu training

-

Dữ liệu testing để đánh giá mô hình

Trong chương trình phân loại văn bản công văn này, tôi sử dụng
hàm nhân Linear (Hàm nhân tuyến tính).
2.3.3. Kiểm thử, đánh giá hàm phân loại
Việc kiểm thử, đánh giá này rất quan trọng giúp xác định được
độ chính xác của thuật toán. Giá trị của hàm phân loại được tính tại
các vector trong tập vector kiểm thử. Nếu giá trị của hàm phân loại
không âm thì vector đang xét là một vector văn bản công văn và
ngược lại. au đó, bằng cách so sánh với nhãn đúng của các vector

kiểm thử, ta tính được độ chính xác của hàm phân loại. Độ chính xác
này giúp quyết định có giữ lại hàm phân loại vừa học được hay là
phải thực hiện lại giải thuật xử lý văn bản và sử dụng thuật toán phân
loại khác.


17
Chương 2. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
3.1. MÔI TRƯỜNG TRIỂN KHAI
3.1.1. Bài toán
Trên cơ sở các vấn đề học thuật và phân tích thiết kế đã được
đưa ra trên đây, bản luận văn tiến hành xây dựng ứng dụng thực tế
“Xâ

ựng phần m m phân loại văn bản, ôn văn the lĩnh vực áp

d ng tại tỉnh Quảng Bình”.
3.1.2. Ngôn ngữ lập trình
3.1.3. Các thư viện hỗ trợ
3.1.3.1. scikit-learn
3.1.3.2. Words segmentation
3.1.3.3. Thư viện StopWords
3.1.3.4. Thư viện Pickle
3.1.4. Tập dữ liệu training và testing
Tôi sử dụng tập dữ liệu văn bản của tỉnh Quảng Bình được phân
chia thành 10 lĩnh vực khác nhau. Được phân chia tỉ lệ training và
testing như bảng dưới đây:
Bảng 2.1: Tập d liệu training và testing
STT Lĩnh vực


Tổng số

Training

Testing

1

CNTT và Viễn thông

45

30

15

2

Đất đai

289

239

50

3

Giáo dục đào tạo


236

199

37

4

Giao thông

121

97

24

5

Khoa học – Công nghệ

43

29

14


18
6


Nông nghiệp

247

209

38

7

Phòng chống lụt bảo

77

64

13

8

Thi đua – Khen thưởng

286

240

46

9


Xây dựng

186

159

27

10

Y tế

195

159

36

Tổng cộng

1725

1425

300

3.1.5. Hình ảnh Demo chương trình

Hình 2.2: Ứng d ng phân loại văn bản tự động trên n n Web
3.2. MÔ HÌNH PHÂN LOẠI VĂN BẢN

Luận văn tiến hành xây dựng mô hình phân loại văn bản theo
hai phương pháp dựa trên văn bản đầu vào huấn luyện và kiểm thử
để tiến hành đánh giá so sánh kết quả phân loại, nhằm chọn ra mô
hình phân loại có độ chính xác cao hơn. Hai phương pháp này chỉ
khác nhau ở bước làm sạch dữ liệu (2.3.1.1) ở phần tiền xử lý văn


19
bản (2.3.1), các phần còn lại đề sử dụng chung một phương pháp.
Cuối cùng của việc xử lý văn bản là vector đặc trưng của văn bản đó.
Kết quả này sẽ là đầu vào của thuật toán học máy Máy vector hỗ trợ
để cho ra kết quả cuối cùng là mô hình phân loại văn bản. Các
phương pháp đó là:
3.2.1. Mô hình phân loại sử dụng bộ xử lý văn bản loại bỏ tất
cả các ký tự không mang nghĩa
Mô hình này sẽ thực hiện các bước xử tiền xử lý văn bản như
mục 2.3.1, chỉ khác ở bước làm sạch dữ liệu không tiến hành kiểm
tra các ký tự bị lỗi định dạng Unicode do quá trình chuyển đổi từ
.doc, .docx, .pdf sang .txt, mà tiến hành loại bỏ tất cả các ký tự không
mang nghĩa. Cuối c ng là trích rút vector đặc trưng đưa vào huấn
luyện và kiểm thử.
3.2.2. Mô hình phân loại sử dụng bộ xử lý văn bản loại bỏ tất
các các ký tự đặc biệt, thay thế các ký tự lỗi định dạng thành
ký tự có nghĩa
Mô hình này sẽ thực hiện các bước xử tiền xử lý văn bản tương
tự như mô hình nêu tại mục 3.2.1, chỉ khác ở bước làm sạch dữ liệu
sau khi chuyển đổi từ .doc, .docx, .pdf sang .txt, loại bỏ các ký tự
không mang nghĩa (mục 2.3.1.2 a) và kiểm tra xem văn bản có bị lỗi
định dạng Unicode không, sau đó tiến hành thay thế các ký tự lỗi
định dạng đó thành các ký tự có nghĩa theo các bước ở mục 2.3.1.2 b.

Cuối cùng là sử dụng vector đặc trưng để huấn luyện và kiểm thử.


20
3.3. ĐÁNH GIÁ KẾT QUẢ
3.3.1. Đánh giá bài toán phân loại
3.3.2. Đánh giá mô hình phân loại công văn theo lĩnh vực
PP1: Trích ch n đặ trưn

văn bản trong từn lĩnh vực,

trong quá làm sạch d liệu s d ng bộ x l văn bản loại bỏ t t cả
các ký tự khôn m n n hĩ .
Bảng 2.2: Kết quả đ nh giá bộ phân loại văn bản the 10 lĩnh vực,
s d ng bộ x l văn bản loại bỏ các ký tự khôn m n n hĩ (PP1)

precis
ion

Lĩnh vực

recall

f1score

Tổng
VB
kiểm
thử


VB có
nhiều
ký tự
lỗi

CNTT và Viễn
thông

0.53

0.67

0.59

15

3

Đất đai

0.97

0.78

0.87

50

10


Giáo dục đào tạo

0.91

0.78

0.84

37

7

Giao thông

0.42

0.54

0.47

24

5

KH-CN

0.57

0.86


0.69

14

3

Nông nghiệp

0.85

0.74

0.79

38

8

Phòng chống lụt bảo

0.98

0.62

0.76

13

3


Thi đua – Khen
thưởng

0.98

0.96

0.97

46

9

Xây dựng

0.59

0.89

0.71

27

5

Y tế

0.9

0.75


0.82

36

7

Trung bình/Tổng

0.82

0.78

0.79

300

60


21
PP2: Trích ch n đặ trưn

văn bản trong từn lĩnh vực,

trong quá làm sạch d liệu s d ng bộ x l văn bản loại bỏ t t các
các ký tự đặc biệt, thay thế các ký tự lỗi đ nh dạng thành ký tự có
n hĩ
Bảng 2.3: Kết quả đ nh i bộ phân loại văn bản the 10 lĩnh vực,
s d ng bộ x l văn bản loại bỏ các ký tự đặc biệt, thay thế các ký

tự lỗi đ nh dạng thành ký tự ó n hĩ (PP2)
VB có
nhiều
ký tự
lỗi

recall

CNTT và Viễn thông

1.00

0.8

0.89

15

3

Đất đai

1.00

0.98

0.99

50


10

Giáo dục đào tạo

0.92

0.95

0.93

37

7

Giao thông

0.87

0.54

0.67

24

5

Khoa học – Công
nghệ

0.60


0.86

0.71

14

3

Nông nghiệp

0.90

0.95

0.92

38

8

Phòng chống lụt bảo

0.92

0.85

0.88

13


3

Thi đua – Khen
thưởng

0.98

0.96

0.97

46

9

Xây dựng

0.72

0.85

0.78

27

5

Y tế


0.92

0.94

0.93

36

7

Trung bình/Tổng

0.91

0.9

0.9

300

60

Lĩnh vực

f1score

Tổng
VB
kiểm
thử


precisi
on


22
Biểu đồ so sánh kết quả hai phương pháp:

Hình 2.3: Biểu đồ so sánh kết quả h i hươn

h

(PP1, PP2)

Thống kê trên cho thấy, mức độ chính xác khi sử dụng mô hình
nhận dạng được đề xuất là khá cao.
Kết quả trên cũng cho thấy rằng, việc sử dụng kỹ thuật xử lý văn
bản và mô hình phân lớp V

đối với bài toán phân loại văn bản

thực sự hiệu quả.
Bên cạnh đó từ hai kết quả đánh giá và biểu đồ so sánh ở trên
(PP1, PP2) ta thấy việc xác định các ký tự bị lỗi do việc văn bản
không phải là Font chữ Unicode (PP2) sẽ cho việc đánh giá có kết
quả tốt hơn. Điều này cũng giúp cho việc phân loại trong tương lai,
khi các văn bản đưa vào là các văn bản không phải định dạng Font
chữ Unicode cũng có thể phân loại được một cách chính xác nhất.



23
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong các cơ quan nhà nước hiện nay, việc sử dụng văn bản
điện tử thay cho văn bản giấy ngày càng phổ biến. Việc lưu trữ, tìm
kiếm văn bản cũng dễ dàng hơn nhờ máy tính. Nhưng công việc phân
loại văn bản vẫn còn làm bằng thủ công, dựa vào con người là chính.
Do đó cần phải có nghiên cứu để phân loại các văn bản, công văn
một cách tự động. Luận văn này cũng đã bao tr m được các phương
pháp phân loại văn bản được sử dụng rộng rãi hiện nay trong đó tập
trung vào các phương pháp tiền xử lý văn bản và sử dụng thuật toán
Máy vector hỗ trợ để phân loại văn bản.
Trong bài toán học máy việc có được dữ liệu sạch rất quan trọng
trong việc phân loại hiệu quả. Luận văn tập trung giải quyết những
khác biệt giữa tiền xử lý văn bản Tiếng Anh và Tiếng Việt. Thừa kế
phương pháp tiền xử lý văn bản Tiếng Anh, bổ sung cải tiến để áp
dụng vào Tiếng Việt một cách hiệu quả nhất, nhằm loại bỏ những từ
không cần thiết cho việc phân loại và giảm chiều của vector đặc
trưng. Luận văn cũng đề xuất được việc tìm kiếm những văn bản có
nhiều ký tự lỗi để và xác định được văn bản nào nhiều lỗi là do lỗi
định dạng chữ không phải là Unicode để đưa ra phương án thay thế
các định dạng chữ đó thành các ký tự có ý nghĩa nhằm trích rút ra
vector đặc trưng phục vụ cho việc phân loại chính xác nhất.
Với những kết quả nhận được từ thực nghiệm, tôi thấy rằng có
cơ sở để tin tưởng vào một kết quả khả quan trong việc ứng dụng các
giải thuật V , kết hợp với các phương pháp trích chọn đặc trưng
hợp lí cho bài toán phân loại văn bản. Trong khuôn khổ luận văn tôi
cũng đã xây dựng được ứng dụng đơn giản phân loại công văn theo
lĩnh vực áp dụng tại tỉnh Quảng Bình.



×