Tải bản đầy đủ (.pdf) (80 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 (8.31 MB, 80 trang )

1

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

NGUYỄN THANH XUÂN

ỨNG 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

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

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

Đà Nẵng - Năm 2018


LỜI CAM ĐOAN

Tôi xin cam đoan:
 Những nội dung trong luận văn này là do tôi thực hiện dƣới sự hƣớng dẫn
trực tiếp của TS. Phạm Minh Tuấn
 Mọi tham khảo dùng trong luận văn đƣợc trích dẫn rõ ràng và trung thực về
tên tác giả, tên cơng trình, thời gian và địa điểm công bố.
 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, tôi xin chịu hoàn toàn
trách nhiệm.

Tác giả luận văn



Nguyễn Thanh Xuân


MỤC LỤC
TRANG BÌA
LỜI CAM ĐOAN
MỤC LỤC
TRANG TĨM TẮT LUẬN VĂN
DANH MỤC CÁC KÝ HIỆU, CÁC CHỬ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
MỞ ĐẦU...................................................................................................................1
1. Lý do chọn đề tài...........................................................................................1
2. Mục đích nghiên cứu ....................................................................................1
3. Đối tƣợng và phạm vi nghiên cứu ................................................................2
4. Phƣơng pháp nghiên cứu ..............................................................................2
5. Ý nghĩa khoa học và ý nghĩa thực tiễn của luận văn ....................................2
6. Cấu trúc luận văn ..........................................................................................2
CHƢƠNG 1. CƠ SỞ LÝ THUYẾT .........................................................................4
1.1. Giới thiệu .......................................................................................................4
1.2. Tiền xử lý văn bản .........................................................................................5
1.2.1. Xử lý ngôn ngữ tự nhiên .........................................................................5
1.2.2. Biểu diễn văn bản dƣới dạng vector đặc trƣng .......................................8
1.2.3. Giảm chiều dữ liệu ................................................................................11
1.3. Học máy .......................................................................................................11
1.3.1. Khái niệm ..............................................................................................11
1.3.2. Các phƣơng pháp học máy....................................................................13
1.4. Một số giải thuật học máy phân loại văn bản ..............................................14
1.5. Máy vector hỗ trợ (SVM) ............................................................................15

1.5.1. Lý thuyết về máy vector hỗ trợ .............................................................15
1.5.2. Hàm nhân (Kernel Function) ................................................................20
CHƢƠNG 2. ỨNG DỤNG MÁY VECTOR HỖ TRỢ PHÂN LOẠI CƠNG VĂN
THEO LĨNH VỰC ..................................................................................................24
2.1. Bài tốn trong thực tế ...................................................................................24
2.2. Phân tích và thiết kế hệ thống ......................................................................24
2.2.1. Mục tiêu ................................................................................................24


2.2.2. Mơ hình hoạt động của phần mềm........................................................25
2.2.3. Chức năng chính của phần mềm ...........................................................25
2.3. Sử dụng máy vector hỗ trợ để phân loại ......................................................27
2.3.1. Tiền xử lý văn bản ................................................................................27
2.3.2. Phân loại văn bản dựa vào máy vector hỗ trợ .......................................34
2.3.3. Kiểm thử, đánh giá hàm phân loại ........................................................34
CHƢƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ .....................................35
3.1. Môi trƣờng triển khai ...................................................................................35
3.1.1. Bài tốn .................................................................................................35
3.1.2. Ngơn ngữ lập trình ................................................................................35
3.1.3. Các thƣ viện hỗ trợ................................................................................36
3.1.4. Tập dữ liệu training và testing ..............................................................37
3.1.5. Hình ảnh Demo chƣơng trình ...............................................................43
3.2. Mơ hình phân loại văn bản...........................................................................44
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 ...........................................................................................44
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 .....................45
3.3. Đánh giá kết quả ..........................................................................................47
3.3.1. Đánh giá bài toán phân loại ..................................................................47
3.3.2. Đánh giá mơ hình phân loại cơng văn theo lĩnh vực ............................48

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ..............................................................52
TÀI LIỆU THAM KHẢO ......................................................................................53
PHỤ LỤC ................................................................................................................55
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẠN VĂN THẠC SĨ (BẢN SAO)
BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC
PHẢN BIỆN.


TRANG TÓM TẮT LUẬN VĂN
ỨNG DỤNG MÁY VECTOR HỖ TRỢ
PHÂN LOẠI CÔNG VĂN THEO LĨNH VỰC
Học viên: Nguyễn Thanh Xuân Chun ngành: Khoa học máy tính
Mã số: 8480101 Khóa: K34 Trƣờng Đại học Bách khoa - Đại học Đà Nẵng
Ngày nay, sự phát triển của máy tính, đặc biệt là Internet đã dẫn tới sự bùng nổ
thông tin. Rất nhiều tài liệu, văn bản mới đƣợc tạo ra hàng ngày với số lƣợng ngày
càng lớn. Do đó cần phải đƣợc phân loại để việc tìm kiếm đƣợc dễ dàng hơn. Việc
phân loại này có thể đƣợc làm thủ cơng đọc từng văn bản và phân loại chúng dự vào
kinh nghiệm, cách làm này rất mất thời gian, không đáp ứng đƣợc nhu cầu và thực tế
văn bản ngày càng nhiều. Do đó, cách phân loại tốt nhất là sử dụng học máy, xử lý
ngôn ngữ tự nhiên để phân loại. Việc xử lý ngôn ngữ tự nhiên trong Tiếng Anh đã có
nhiều nghiên cứu trên thế giới, nhƣng để áp dụng cho Tiếng Việt cũng có một vài
điểm cần phải cải tiến ví dụ nhƣ: StopWords, Tách từ trong Tiếng Việt cũng khác so
với Tiếng Anh.
Bên cạnh đó là các thuật toán phân loại, nhiều thuật toán phát triển phục vụ mục
đích phân loại, phân nhóm văn bản. Các thuật toán nhƣ K-Nearest Neighbor, Cây
quyết định, Naive Bayes và tiêu biểu thuật tốn Support Vector Machine (SVM).
Thuật tốn SVM có ƣu điểm đó là xử lý trong khơng gian số nhiều chiều, tiết kiệm tài
ngun hệ thống và có tính linh hoạt cao nhờ vào khả năng áp dụng Kernel (hàm
nhân) mới cho phép linh động giữa các phƣơng pháp tuyến tính và phi tuyến tính từ đó
khiến cho hiệu suất phân loại lớn hơn.

Với 1725 văn bản công văn nhà nƣớc thu thập đƣợc, đƣợc chia làm 10 lĩnh vực
khác nhau, luận văn tiến hành tiền xử lý số lƣợng văn bản. Bằng cách thêm vào các từ
StopWords thuộc văn bản công văn nhà nƣớc, tách từ tiếng việt, sử dụng TF-TDF để
trích rút vector đặc trƣng. Sau đó sử dụng thuật toán Máy vector hỗ trợ với hàm nhân
tuyến tính Linear để tạo ra Model phân loại văn bản với độ chính xác trung bình cho
10 lĩnh vực trên là 91%, một số lĩnh vực cho độ chính xác rất cao đó là lĩnh vực “Cơng
nghệ thơng tin”, “Đất đai” với độ chính xác là 100%. Kết quả thực nghiệm cho thấy
tính khả quan việc tiền xử lý văn bản sử dụng TF-IDF và thuật toán Máy vector hỗ trợ
khi áp dụng phân loại văn bản công văn nhà nƣớc theo lĩnh vực.
Từ khóa: Phan o i van

n Tiếng Việt, Máy Vector hỗ trợ


VECTOR MACHINE APPLICATION SUPPORTS SORTING
DISPATCH BY FIELD
ABSTRACT
Today, the development of computers, especially the internet, has led to the
information explosion. A lot of new documents are created daily in increasing
numbers. Therefore, for search is easier documents should be classified. The Classifies
can be done manually by reading each text and categorizing them by the experience,
and this way need a lot of time, does not meet the actuality of the documents increase.
Therefore, the best classification is to use machine learning, natural language
processing to classify. The natural language processing in English has had many
studies in the world, but to apply for Vietnamese there are a few points to improve
such as: StopWords, Word segmentation is different from English.
Besides the classification algorithms, many algorithms developed for the purposes
of classification, clustering of the document. Algorithms such as the K-Nearest
Neighbor, Decision Tree, Naïve Bayes, and the Support Vector Machine (SVM)
algorithm. The SVM algorithm has the advantage of being able to process in multidimensional space, saving system resources and having high flexibility due to the

Kernel trick capability allowing for flexibility between the linear methods. Calculate
and non-linear since it makes the classification efficiency greater.
With 1725 government documents collected, divided into 10 different categories,
the thesis proceeds to pre-processing the number of documents. By adding the words
StopWords under the document of the government, word segmentation from the
Vietnamese, use Tf–idf term weighting to Feature Extraction. Then use the Support
Vector Machine algorithm with Linear Kernel to create a document classification
model with an average precision of 91% for the top 10 categories, some categories for
that very high accuracy, are “Công nghệ thông tin”, “Đất đai” with an accuracy of
100%. Experimental results show that TF-IDF's preprocessed text processing and
Support Vector Machine algorithms for the classification documents by categories.

Keyword: Vietnamese document classification, Support Vector Machine


DANH MỤC CÁC KÝ HIỆU, CÁC CHỬ VIẾT TẮT

SVM

Suport Vector Machine

BoW

Bag of Words

TF-IDF

Term frequency – Inverse document frequency

kNN


K-Nearest Neighbor

CPA

principle component analysis

LDA

linear discriminant analysis

ML

Machine Learning


DANH MỤC CÁC BẢNG

Bảng 1.1. Công thức các hàm nhân trong SVM ............................................................23
Bảng 2.1. Ví dụ danh sách các từ StopWord trong Tiếng Việt .....................................29
Bảng 2.2. Top 77 từ Tiếng Việt xuất hiện nhiều nhất trong văn bản ............................30
Bảng 2.3. Từ điển các từ xuất hiện trong câu ................................................................31
Bảng 2.4. Bảng TF.........................................................................................................32
Bảng 2.5. Bảng IDF .......................................................................................................33
Bảng 2.6. Bảng TF-IDF .................................................................................................34
Bảng 3.1. Tập dữ liệu training và testing ......................................................................37
Bảng 3.2. Kết quả đánh giá bộ phân loại văn bản theo 10 lĩnh vực, sử dụng bộ xử lý
văn bản loại bỏ các ký tự không mang nghĩa (PP1) ................................49
Bảng 3.3. Kết quả đánh giá bộ phân loại văn bản theo 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ự có nghĩa (PP2) ................................................................................50


DANH MỤC CÁC HÌNH
Hình 1.1: Mơ hình bài tốn phân loại văn bản, tài liệu ...................................................4
Hình 1.2: StopWords .......................................................................................................6
Hình 1.3: Tách từ trong Tiếng Việt .................................................................................7
Hình 1.4: Mơ Phỏng túi đựng từ (BoW) .........................................................................8
Hình 1.5: Quá trình học máy .........................................................................................12
Hình 1.6: Mơ hình bài tốn phan lớp nhị phan sử dụng SVM ......................................18
Hình 1.7: Ứng dụng SVM bài tốn nhạn dạng và phan lớp [19] ..................................20
Hình 1.8: Hàm nhân ......................................................................................................21
Hình 1.9: Mô phỏng hoạt động của hàm Nhân trong mô hình SVM [19] ....................23
Hình 2.1: User sử dụng phần mềm phân loại văn bản ..................................................25
Hình 2.2: Mơ hình hoạt động của phần mềm phân loại ................................................25
Hình 2.3: Quá trình tiền xử lý văn bản ..........................................................................26
Hình 2.4: Training sử dụng mơ hình SVM....................................................................26
Hình 2.5: Phân loại văn bản ..........................................................................................27
Hình 3.1: Cơng văn lĩnh vực Giao thơng vận tải ...........................................................38
Hình 3.2: Cơng văn lĩnh vực Đất đai .............................................................................39
Hình 3.3: Cơng văn lĩnh vực Giáo dục và đào tạo ........................................................40
Hình 3.4: Cơng văn lĩnh vực Cơng nghệ thơng tin........................................................41
Hình 3.5: Cơng văn lĩnh vực Giao thơng vận tải bị lỗi Font chữ ..................................42
Hình 3.6: Ứng dụng phân loại văn bản tự động trên nền Web......................................43
Hình 3.7: Màn hình tải văn bản lên để tiến hành phân loại ...........................................43
Hình 3.8: Màn hình kết quả phân loại ...........................................................................44
Hình 3.9: Phƣơng pháp xử lý văn bản loại bỏ tất cả các ký tự không mang nghĩa .......45
Hình 3.10: Phƣơng pháp 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 .................................................46
Hình 3.11: Mơ tả cách tính Precision và Recall ............................................................47

Hình 3.12: Biểu đồ so sánh kết quả hai phƣơng pháp (PP1, PP2) ................................51


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 tự động cho phép phân loại nhanh, chi phí thấp, có thể thực hiện
đƣợc trên những lƣợng tài liệu rất lớn và với một độ chính xác chấp nhận đƣợc. Phân
loại văn bản tự động khơng cịn là vấn đề mới trong những năm gần đây. Bắt nguồn từ
những yêu cầu thực tế cũng nhƣ những yếu tố xung quang bài toán phân loại nhiều
giải thuật đã đƣợc nghiên cứu và phát triển nhằm giải quyết các vấn đề đƣợc đƣa ra.
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 (Machine Learning) bởi vì nó cũng thuộc bài toán phân loại.
Trong học máy việc áp dụng vào bài tốn phân loại có rất nhiều phƣơng pháp nhƣ
Naive Bayes, Cây quyết định, Máy vector hỗ trợ, K-nearest neighbor, Mạng Noron
nhân tạo, … Trong khuôn khổ của đề tài tôi chọn phƣơng pháp Máy vector hỗ trợ cho
bài toán phân loại văn bản. Các thử nghiệm thực tế cho thấy phƣơng pháp máy vector
hỗ trợ 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.
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 q 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
Xây dựng chƣơng trình có khả năng phân loại văn bản, công văn theo lĩnh vực
(nhƣ Giáo dục đào tạo, Giao thông, Đất đai, Khiếu nại tố cáo, …) dựa trên việc phân
tích nội dung của văn bản thành các từ khóa, trích rút đặc trƣng và áp dụng máy vector
hỗ trợ để học, phân loại dựa trên các đặc trƣng đó. Để thoả mãn mục tiêu này thì cần
đạt đƣợc những mục tiêu cụ thể sau:
 Nghiên cứu các bƣớc giải quyết bài toán học máy.
 Nắm vững lý thuyết phân lớp trong học máy, Máy vector hỗ trợ.


2

 Nắm vững cách trích chọn đặc trƣng từ văn bản, cơng văn.
 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 tố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 tốn phân loại.
Xây dựng phần mềm có khả năng phân loại văn bản theo lĩnh vực, phục vụ công

tác phân loại văn bản tại các cơ quan hành chính nhà nƣớc.
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.
Xây dựng hƣớng tiếp cận cho bài tốn phân lớp dữ liệu. Ứng dụng phục vụ cơng
tác phân loại văn bản trong các cơ quan tổ chức.
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: Nghiên cứu các cơ sở lý thuyết về tiền xử lý văn
bản, các phƣơng pháp trích xuất vector đặc trƣng từ văn bản. Lý thuyết về học
máy và các thuật toán học máy dùng cho mục đích phân loại. Lý thuyết về máy
vector hỗ trợ, các giải quyết các bài toán phân lớp nhị phân và phân nhiều lớp.
Nghiên cứu các hàm nhân đƣợc sử dụng trong Máy vector hỗ trợ.
 Chƣơng 2 - Ứng dụng máy vector hỗ trợ phân loại công văn theo lĩnh vực:
Phân tích thiết kế, đƣa ra các chức năng chính. Xây dựng các bƣớc chính để
thực hiện bài tốn phân loại. Phân tích cụ thể các bƣớc xử lý ngôn ngử tự nhiên
trong văn bản nhà nƣớc. Áp dụng máy vector hỗ trợ vào việc phân loại văn
bản, công văn.


3

 Chƣơng 3 - Triển khai và đánh giá kết quả: Tiến hành đi sâu vào việc thu
thập dữ liệu văn bản công văn. Áp dụng các kỷ thuật tiền xử lý văn bản Tiếng
Việt vào dữ liệu thu thập đƣợc. Và sử dụng phƣơng pháp phân loại văn bản
Máy vector hỗ trợ để tạo ra Mơ hình phân loại văn bản từ đầu ra của việc xử lý
văn bản Tiếng Việt. Đánh giá hiệu quả của Mơ hình phân loại văn bản. Sau khi
có Mơ hình phân loại, tiến hành xây dựng phần mềm đọc văn bản và phân loại
văn bản theo lĩnh vực.



4

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 tốn phân loại văn bản đƣợc trình bày nhƣ sau: cho một tập gồm văn bản
*
+. Kết quả của việc phân loại là gán các văn bản
đầu vào ký hiệu:
*
+
vào một tập gồm phân lớp ký hiệu là:
Minh họa trực quan cho bài tốn này xảy ra trong thực tế đó là việc sắp xếp các
lĩnh vực văn bản tại các cơ quan nhà nƣớc. Việc này có thể thực hiện một cách thủ
công bởi văn thƣ đơn vị, tuy nhiên nó rất mất thời gian và cơng sức, có khi khơng
chính xác. Thay vào việc đó ta sẽ sử dụng một số kỷ thuật học máy để tiến hành phân
loại tự động những văn bản, cơng văn đó.
Cũng giống nhƣ những bài tốn học máy khác thì bài tốn phân loại văn bản của
chúng ta 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 tốn phân lo i văn

n, tài liệu



5

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 tố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 là bƣớc đầu tiên cho bất kì xử lý nào trên tập dữ
liệu của chúng ta, nó bao gồm một số khái niệm của xử lý ngôn ngữ
tự nhiên nhƣ loại bỏ các từ không quan trọng (Stop Words) [6], hoặc
kiểm tra chính tả chẳng hạn.
o Tách từ (Words segmentation) [7] là một bƣớc quan trọng, nhất là
đối với Tiếng Việt tơi sẽ trình bày cụ thể trong phần tiếp theo.
 Biểu diễn vector đặc trung (Feature Extraction) [8] chính là bƣớc tìm ra
đƣợc các tinh hoa từ tập dữ liệu ban đầu hay nói cách khác là lựa chọn cách
đặc trƣng tiêu biểu có tính đại diện cho tập dữ liệu để làm dữ liệu đầu vào
cho thuật toán phân lớp. Tại bƣớc này ta sẽ biểu diễn văn bản sang dạng
vector đặc trƣng phù hợp với thuật toán phân loại.
 Huấn luyện (learning) [8] là bƣớc mà chúng ta sử dụng các thuật tốn học
máy để tìm ra mơ hình tốt nhất nhằm sử dụng trong bƣớc tiếp theo để phân
loại văn bản.
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ý giống nhƣ phía trên, chỉ khác mỗi một điều là chúng ta 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
Bƣớc đầu tiên không thể thiếu trong việc xử lý ngơn ngữ tự nhiên, văn bản đó là
tiền xử lý vì văn bản vốn dĩ đƣợc liệt kê mà khơng có cấu trúc, để nhƣ vậy sẽ rất khó

khăn trong việc xử lý. Trong nội dung luận văn tôi sẽ đi lần lƣợt các bƣớc để xử lý văn
bản thơ.
1.2.1.1. Lọc bỏ lỗi chính tả, lỗi kí tự
Mục đích của bƣớc này là loại bỏ những thành phần lỗi trong dữ liệu văn bản đƣa
vào. Đa phần lỗi là do định dạng văn bản, chính tả, font chữ và các ký tự đặc biệt.
Khi văn bản đƣợc đƣa vào xử lý sẽ có nhiều định dạng khác nhau, ta phải chuyển
đổi về một định dạng chung để có thể sử dụng cho bƣớc tiếp theo.
Xử lý lỗi chính tả cũng là một việc rất quan trọng, vì sai thì sẽ dẫn đến việc phân
loại sai, cho kết quả không thực sự chính xác.


6

Loại bỏ các lỗi ký tự, font chữ đƣa về một định dạng thống nhấ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)
Ngôn ngữ chúng ta sử dụng có rất nhiều từ khơng mang ý nghĩa, nó chỉ là các từ
nối. Việc cần làm của việc trích chọn đặc trung là loại bỏ ra các từ không chất lƣợng
để lấy những từ ngữ mang ý nghĩa thực sự. Những từ không mang ý nghĩa đó gọi là
Stop Words, tức là những từ khơng mang ý nghĩa đối với việc phân loại văn bản.

Hình 1.2: StopWords

Chính vì thế nên cần phải loại bỏ nó trƣớc khi xử lý dữ liệu. Trong Tiếng Việt
chúng ta cần định nghĩa một danh sách các stop words tùy thuộc vào lĩnh vực mà
chúng ta cần xử lý văn bản. Tức là với xử lý các công văn, văn bản sẽ có một tập stop
words khác với xử lý bài báo khoa học.
Ƣu điểm của phép xử lý này không phải chỉ là các từ khơng có ý nghĩa sẽ bị loại
bỏ và khơng can thiẹp vào q trình phan loại về sau, mà kích thƣớc của các tập tin tài
liẹu sẽ giảm đi khoảng 30 đến 50 phần tram.

Có rất nhiều cách để loại bỏ Stop Words nhƣng có 2 cách chính là:
 Dùng từ điển: Ta sẽ liệt kê danh sách các từ stop words và dùng bộ lọc để
loại bỏ các từ đó ra khỏi văn bản.
 Dựa theo tần suất xuất hiện của từ: Với các này ta sẽ tiến hành đếm số lần
xuất hiện của từng từ trong dữ liệu văn bản sau đó sẽ tiến hành loại bỏ
những lần xuất hiện nhiều lần, cũng có thể là ít lần. Khoa học đã chứng


7

minh những từ xuất hiện nhiều nhất thƣờng là những từ không mang nhiều
ý nghĩa.
1.2.1.3. Tách từ
Thuật ngữ "tách từ" trong Tiếng Anh là "word segmentation" [7], dịch ra Tiếng
Việt là "tách từ" hoặc "phân đoạn từ".
Tách từ, về mặt biểu hiện, là gom nhóm các từ đơn liền kề thành một cụm từ có ý
nghĩa. Ví dụ: "Cách tách từ cho Tiếng Việt." sau khi tách từ thì thành "Cách tách từ
cho Tiếng_Việt .". Về hình thức, các từ đơn đƣợc gom nhóm với nhau bằng cách nối
với nhau bằng ký tự gạch dƣới "_", trong trƣờng hợp này là từ Tiếng_Việt. Sau khi
thực hiện tách từ thì mỗi từ (token) trong câu đƣợc cách nhau bởi một khoảng trắng,
trong trƣờng hợp này nhƣ "Tiếng_Việt ." thì từ "Tiếng_Việt" cách đấu "." bởi 1
khoảng trắng.
Đây là quy ƣớc chung cho tất cả các ngơn ngữ của bài tốn tách từ trong xử lý
ngôn ngữ tự nhiên. Việc quy ƣớc nhƣ vậy là để tạo thành chuẩn chung và để dễ xử lý
hơn trong lập trình.
Tách từ là một bƣớc quan trọng bậc nhất trong xử lý ngôn ngữ tự nhiên. Việc tách
từ trong Tiếng Việt còn đặc biệt quan trọng hơn vì Tiếng việt khơng đơn giản nhƣ
tiếng anh, nó có thêm các từ ghép. Trong tiếng Việt, dấu cách (space) khơng đƣợc sử
dụng nhƣ một 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.


Hình 1.3: Tách từ trong Tiếng Việt

Ví dụ : từ “đất nƣớc” đƣợc tạo ra từ hai âm tiết “đất” và “nƣớc”, cả hai âm tiết này
đều có nghĩa riêng khi đứng độc lập, nhƣng khi ghép lại sẽ mang một nghĩa khác. Vì
đặc điểm này, bài toán tách từ trở thành một bài toán tiền đề cho các ứng dụng xử lý
ngôn ngữ tự nhiên khác nhƣ phân loại văn bản, tóm tắt văn bản, máy dịch tự động, …


8

Tách từ chính xác hay khơng là cơng việc rất quan trọng, nếu khơng chính xác rất
có thể dẫn đến việc ý nghĩa của câu sai, ảnh hƣởng đến tính chính xác của của việc
phân loại.
1.2.2. Biểu diễn văn bản dƣới dạng vector đặc trƣng
Một câu hỏi đặt ra là một văn bản thì vector đặc trƣng sẽ có dạng nhƣ thế nào?
Làm sao đƣa các từ đơn, các câu, đoạn văn ở dạng text trong văn bản về một vector
mà mỗi phần tử là một số? Có hai phƣơng pháp rất phổ biến để trả lời câu hỏi này là
túi đựng từ (bag of words – BoW) [9] và TF-IDF (term frequency-inverse document
frequency) [10]
1.2.2.1. Túi đựng từ (BoW)
Bắt đầu bằng ví dụ phan loại văn bản theo lĩnh vực. Ta thấy rằng nếu mọt tin có
chứa các từ đất đai, chuyển đổi, giao đất, quy hoạch, v.v., nhiều khả nang đó là văn
bản, cơng văn thuộc lĩnh vực đất đai. Từ đó, phƣong pháp đầu tien có thể nghĩ tới là
đếm xem trong cơng văn đó có bao nhieu từ thuọc vào các từ tren, nếu số lƣợng này
nhiều hon mọt ngƣỡng nào đó thì ta quyết định đó là cơng văn lĩnh vực đất đai. (Tất
nhien bài tốn thực tế phức tạp hon nhiều khi các từ có thể đƣợc viết dƣới dạng khơng
dấu, hoạc bị cố tình viết sai chính tả, …). Với các loại van bản khác nhau, lƣợng từ
lien quan tới từng chủ đề cũng khác nhau. Từ đó có thể dựa vào số lƣợng các từ trong
từng loại để tạo các vector đạc trƣng cho từng van bản.


Hình 1.4: Mơ Phỏng túi đựng từ (BoW)

Xin lấy mọt ví dụ về hai đoạn van bản đon giản sau đay:
(1) "hơm nay đội tuyển óng đá nam U23 việt nam đã được vào bán kết asiad
2018"


9

(2) " óng đá nam U23 việt nam đã àm nên ịch sử khi đứng vị trí thứ tư t i asiad
2018"
Dựa tren hai van bản này, ta có danh sách các từ đƣợc sử dụng, đƣợc gọi là từ điển
(dictionary hoạc codebook) với mƣời từ nhƣ sau:
['2018', 'U23', 'asiad', 'bán', 'bóng', 'hơm', 'khi', 'kết', 'làm', 'lịch', 'nam', 'nay', 'nên',
'sử', 'thứ', 'trí', 'tuyển', 'tƣ', 'tại', 'việt', 'vào', 'vị', 'đá', 'đã', 'đƣợc', 'đội', 'đứng']
Với mỗi van bản, ta sẽ tạo ra mọt vector đạc trƣng có số chiều bằng 27, mỗi phần
tử đại diẹn cho số từ tƣong ứng xuất hiẹn trong van bản đó. Với hai van bản tren, ta sẽ
có hai vector đạc trƣng
(1) [1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 2, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0]
(2) [1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 2, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1]
Van bản (1) có 1 từ "U23", 2 từ "nam", 0 từ "khi", 0 từ "đứng", v.v. nen ta thu
đƣợc vector tƣong ứng nhƣ tren.
Có mọt vài điều cần lƣu ý trong BoW:
Với những ứng dụng thực tế, từ điển có nhiều hon 27 từ rất nhiều, có thể đến cả
triẹu, nhƣ vạy vector đạc trƣng thu đƣợc sẽ rất dài. Mọt van bản chỉ có mọt cau, và
mọt tiểu thuyết nghìn trang đều đƣợc biểu diễn bằng các vector có kích thƣớc nhƣ
nhau.
Có rất nhiều từ trong từ điển khơng xuất hiẹn trong mọt van bản. Nhƣ vạy các
vector đạc trƣng thu đƣợc thƣờng có rất nhiều phần tử bằng khơng. Các vector có
nhiều phần tử bằng khơng đƣợc gọi là vector thƣa (sparse vector). Để viẹc lƣu trữ

đƣợc hiẹu quả hon, ta khơng lƣu cả vector đó mà chỉ lƣu vị trí của các phần tử khác 0
và giá trị tƣong ứng. Chú ý rằng nếu có hon mọt nửa số phần tử khác không, viẹc làm
này lại phản tác dụng. Tuy nhien, trƣờng hợp này ít xảy ra vì hiếm có van bản nào lại
chứa tới mọt nửa từ điển.
Ta xử lý các từ hiếm gạp không nằm trong từ điển nhƣ thế nào? Mọt kỷ thuạt
thƣờng đƣợc dùng là them phần tử <khong> vào trong từ điển. Mọi từ khơng có trong
từ điển đều đƣợc coi là <khong>. Lúc này, kích thƣớc của vector đạc trƣng sẽ tang len
mọt.
Tuy nhien, những từ hiếm đôi khi lại mang những thơng tin quan trọng nhất mà
chỉ loại van bản đó có. Đay là mọt nhƣợc điểm của BoW. Có mọt phƣong pháp cải
tiến giúp khắc phục nhƣợc điểm này có ten là term frequency-inverse document
frequency (TF- IDF) dùng để xác định tầm quan trọng của mọt từ trong mọt van bản
dựa tren toàn bọ van bản trong co sở dữ liẹu.


10

Nhƣợc điểm lớn nhất của BoW là nó khơng mang thông tin về thứ tự của các từ,
cũng nhƣ sự lien kết giữa các cau, các đoạn van trong van bản. Thứ tự của các từ trong
van bản thƣờng mang thơng tin quan trọng. Ví dụ, ba cau sau đay: “Em yeu anh
không?”, “Em không yeu anh”, và “Không, (nhƣng) anh yeu em” khi đƣợc trích chọn
đạc trƣng bằng BoW sẽ cho ra ba vector giống hẹt nhau, mạc dù ý nghĩa khác hẳn
nhau.
1.2.2.2. TF-IDF
Viết tắt của thuật ngữ tiếng Anh term frequency – inverse document frequency
[10]. TF-IDF 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.
Độ quan trọng tăng dần dựa vào số lần từ xuất hiện trong văn bản nhƣng bù lại bởi
tần suất của từ đó trong văn bản . Một vài biến thể của tf-idf thƣờng xuyên đƣợc sử

dụng trong các hệ thống tìm kiếm nhƣ một cơng cụ chính để đánh giá và sắp xếp văn
bản dựa vào user query. TF-IDF có thể sử dụng để lọc những từ stop-words trong một
số bài toán nhƣ tóm tắt văn bản và phân loại văn bản.
TF: Term Frequency, là số lần term xuất hiện trong văn bản. Vì các văn bản có
thể có độ dài ngắn khác nhau nên mọt số term có thể xuất hiện nhiều lần trong một văn
bản dài hơn là một văn bản ngắn. Nhƣ thế, term frequency thƣờng đƣợc chia cho độ
dài văn bản (tổng số term trong một văn bản) nhƣ một các normalization. Cách tính TF
nhƣ sau:
(

(

)

* (

)
)+

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ính IDF để giảm giá trị của những từ phổ biến, thƣờng xuyên xuất hiện. Mỗi từ
chỉ có 1 giá trị IDF duy nhất trong tập văn bản.
(

)

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

| |
|*

+|


11

+|:- 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. (nói
cách khác, thay đổi cơ số sẽ không ảnh hƣởng đến tỵ lệ giữa các giá trị
). 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
cho công thức
nhƣ bên dƣới.
Giá trị TF-IDF:
(

)

(

)

(

)

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ừ khố của văn bản đó).
1.2.3. Giảm chiều dữ liệu
Việc biểu diễn văn bản dƣới dạng vector sử dụng các kỷ thuật ở mục 1.2.2 có
nhiều ƣu điểm, nhƣng có một nhƣợc điểm là số chiều của vector tăng lên rất nhiều tùy
thuộc vào độ dài của văn bản. Đây là một vấn đề rất lớn của vector đặc trƣng. Số chiều
cao sẽ dẫn đến ta phải sử dụng nhiều mẫu để huấn luyện để có kết quả chính xác hợp
lý và làm ứng dụng sử dụng nhiều tài nguyên hệ thống hơn.
Do vậy cần phải có phƣơng pháp để giảm số chiều của vector này. Trong nhiều

trƣờng hợp việc giảm chiều dữ liệu cho kết quả tốt hơn dữ liệu trong khơng gian ban
đầu. Để nâng cao hiệu năng tính tốn và tăng độ chính xác của việc phân loại.
Các phƣơng pháp giảm chiều phổ biến đó là: PCA (principle component analysis)
[11] cho bài toán giảm chiều dữ liẹu vẫn giữ đƣợc tối đa lƣợng thông tin và LDA
(linear discriminant analysis) [12] cho bài toán giữ lại những đạc trƣng quan trọng
nhất cho viẹc phan lớp.
1.3. HỌC MÁY
1.3.1. Khái niệm
Học máy [13] là một tập con của Trí tuệ nhân tạo. Nó là mọt lĩnh vực nhỏ trong
khoa học máy tính, có khả nang tự học hỏi dựa tren dữ liẹu đƣợc đƣa vào mà khơng
cần phải đƣợc lạp trình cụ thể. Cụ thể hơn, học máy là một phƣơng pháp để tạo ra các
chƣơng trình máy tính bằng việc phân tích các tập dữ liệu. Học máy có liên quan lớn


12

đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhƣng khác với
thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính
tốn. Một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ
mà có thể xử lí đƣợc.

Hình 1.5: Quá trình học máy

Theo định nghĩa của Mitchel trong cuốn sách Machine Learning thì: Mọt chƣong
trình máy tính đƣợc gọi là học từ kinh nghiẹm E để hoàn thành nhiẹm vụ T, với hiẹu
quả đƣợc đo bằng phép đánh giá P, nếu hiẹu quả của nó khi thực hiẹn nhiẹm vụ T, khi
đƣợc đánh giá bởi P, cải thiẹn theo kinh nghiẹm E.
-

-


Nhiệm vụ T: Các nhiẹm vụ trong machine learning thƣờng đƣợc mô tả
thông qua viẹc mọt hẹ thống machine learning xử lý mọt điểm dữ liẹu (data
point) nhƣ thế nào. Trong bài toán phan loại ảnh, mỗi ảnh là mọt điểm dữ
liẹu. Trong bài tốn phan nhóm khách hàng, mỗi khách hàng là mọt điểm
dữ liẹu. Trong bài toán xác định lĩnh vực của văn, mỗi văn bản mọt điểm
dữ liẹu. Mỗi điểm dữ liẹu bao gồm nhiều đạc trƣng (feature) khác nhau,
mỗi feature thƣờng đƣợc biểu diễn dƣới dạng mọt con số. Rất nhiều nhiẹm
vụ phức tạp có thể đƣợc giải quyết bằng học máy nhƣ: Phân loại, phân cụm,
nhận dạng, …
Phép đánh giá P: Để kiểm tra nang lực của mọt thuạt toán machine
learning, chúng ta cần phải thiết kế các phép đánh giá có thể đo đạc đƣợc.
Thông thƣờng, khi thực hiẹn mọt thuạt toán học máy, dữ liẹu sẽ đƣợc chia


13

-

thành hai phần rieng biẹt: tạp huấn luyẹn (training set) và tạp kiểm thử (test
set). Tạp huấn luyẹn sẽ đƣợc dùng để tìm các tham số mơ hình. Tạp kiểm
thử đƣợc dùng để đánh giá nang lực của mơ hình tìm đƣợc. Có mọt điểm
cần lƣu ý rằng khi tìm các tham số mơ hình, ta chỉ đƣợc dùng các thơng tin
trong tạp huấn luyẹn. Viẹc đánh giá có thể đƣợc áp dụng len cả hai tạp hợp.
Muốn mơ hình thực hiẹn tốt tren tạp kiểm thử thì nó trƣớc hết phải hoạt
đọng tốt tren tạp huấn luyẹn.
Kinh nghiệm E: Viẹc huấn luyẹn các mơ hình machine learning có thể coi
là viẹc cho chúng trải nghiẹm tren các tạp dữ liẹu (dataset)–chính là
training set. Các tạp dữ liẹu khác nhau sẽ cho các mơ hình các trải nghiẹm
khác nhau. Chất lƣợng của các tạp dữ liẹu này cũng ảnh hƣởng tới hiẹu

nang của mơ hình.

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)
Học không giám sát [14] là học với tập dữ liệu huấn luyện ban đầu hồn tồn chƣa
đƣợc gán nhãn. Học khơng giám sát là phƣơng pháp học sử dụng cho lớp bài toán gom
cụm, phân cụm (Clustering).
Để thực hiện phân cụm, trƣớc tiên cần một tập dữ liệu huấn luyện (training
dataset) là một tập các ví dụ học (training examples/instances). Trong đó, mỗi ví dụ
học chỉ chứa thơng tin biểu diễn (ví dụ: một vector các giá trị thuộc tính), mà khơng có
bất kỳ thơng tin gì về nhãn lớp hoặc giá trị đầu ra mong muốn (expected output).
Áp dụng một thuật toán học khơng có giám sát (ví dụ k-Means) để học hàm/mơ
hình mục tiêu (trong trƣờng hợp này là hàm phân cụm ứng với thuật toán đƣợc chọn).
Sử dụng một phƣơng pháp thử nghiệm (có thể kết hợp với một tập dữ liệu có gán
nhãn) để đánh giá hiệu năng/chất lƣợng của hàm mục tiêu học đƣợc.
1.3.2.2. Học có giám sát (Supervised Learning)
Học có giám sát [15] là học với tập dữ liệu huấn luyện ban đầu hoàn toàn đƣợc
gán nhãn từ trƣớc. Là phƣơng pháp học sử dụng cho lớp bài toán phân lớp, phân loại
(Classification).
Để thực hiện phân lớp, trƣớc tiên phải chuẩn bị một tập dữ liệu huấn luyện
(trainning data set), để có tập dữ liệu huấn luyện phải thực hiện gán nhãn cho dữ liệu
ban đầu, đây đƣợc gọi là quá trình thu thập tập huấn luyện.
Lựa chọn một thuật tốn phân lớp (ví dụ SVM) xây dựng bộ phân lớp để học tập
dữ liệu huấn luyện. Hay nói cách khác, dùng tập dữ liệu huấn luyện để huấn luyện bộ
phân lớp. Thuật ngữ học có giám sát đƣợc hiểu là học tập dữ liệu đã đƣợc gán nhãn


14

trƣớc (các dữ liệu kèm theo nhãn tƣơng ứng này coi nhƣ đã đƣợc giám sát bởi ngƣời

thực hiện gán nhãn).
Sử dụng một tập dữ liệu kiểm tra (test data set) đã đƣợc gán nhãn trƣớc, để kiểm
tra tính đúng đắn của bộ phân lớp. Sau đó, có thể dùng bộ phân lớp để phân lớp cho
các dữ liệu mới.
1.3.2.3. Học bán giám sát (Semi-Supervised Learning)
Học bán giám sát [16] là học với tập dữ liệu huấn luyện gồm cả dữ liệu đã đƣợc
gán nhãn và dữ liệu chƣa đƣợc gán nhãn. Tuỳ vào từng mục đích cụ thể, học bán giám
sát có thể đƣợc áp dụng cho bài tốn phân lớp hoặc phân cụm.
Trong thực tế, để có đƣợc một tập dữ liệu có chất lƣợng và đã đƣợc gán nhãn của
một lĩnh vực, thƣờng đƣợc thực hiện thủ cơng bằng tay bởi ngƣời có nhiều kinh
nghiệm về lĩnh vực đó. Vì vậy, dữ liệu đã đƣợc gán nhãn thƣờng ít và đắt. Trong khi
đó, dữ liệu chƣa đƣợc gán nhãn lại rất nhiều và phong phú. Phƣơng pháp học bán giám
sát (hay học nửa giám sát) đƣợc đặt ra để tận dụng cả hai nguồn dữ liệu này.
Nội dung chính của học bán giám sát là hệ thống sử dụng một tập học (training
set) gồm 2 phần: các ví dụ học có nhãn, thƣờng với số lƣợng (rất) ít, và các ví dụ học
khơng có nhãn, thƣờng với số lƣợng (rất) nhiều. Thực tế cho thấy khi sử dụng kết hợp
dữ liệu khơng có nhãn với một lƣợng nhất định dữ liệu có nhãn có thể tăng độ chính
xác đáng kể.
Một thuật tốn học bán giám sát đƣợc sử dụng (ví dụ Self-training) sẽ học các ví
dụ có nhãn, sau đó tiến hành gán nhãn cho một số (có lựa chọn) các ví dụ khơng có
nhãn một cách hợp lý, có đánh giá chất lƣợng cơng việc hay độ chính xác. Tiếp theo,
chọn các ví dụ vừa đƣợc gán nhãn có độ tin cậy cao (vƣợt trên một ngƣỡng chọn
trƣớc) đƣa vào kết hợp với tập dữ liệu có nhãn, tạo thành một tập dữ liệu huấn luyện
mới.
Áp dụng một phƣơng pháp kiểm thử (có thể kết hợp với một tập dữ liệu đã biết
trƣớc nhãn) để đánh giá hiệu năng/độ chính xác của mơ hình.
1.3.2.4. Học tăng cường (Reinforcement learning)
Học tăng cƣờng [17] là các bài toán giúp cho một hệ thống tự động xác định hành
vi dựa trên hồn cảnh để đạt đƣợc lợi ích cao nhất (maximizing the performance).
Hiện tại, học tăng cƣờng chủ yếu đƣợc áp dụng vào Lý Thuyết Trò Chơi (Game

Theory), các thuật toán cần xác định nƣớc đi tiếp theo để đạt đƣợc điểm số cao nhất.
1.4. MỘT SỐ GIẢI THUẬT HỌC MÁY PHÂN LOẠI VĂN BẢN
Phân loại văn bản [1] (Text Categorization hoặc Document Classificant) là quá
trình gán các văn bản vào một hay nhiều chủ đề đã biết trong một tập hữu hạn các chủ
đề đã đƣợc xác định từ trƣớc. Việc phân loại có thể đƣợc tiến hành một cách thủ công:


15

đọc nội dung của từng văn bản và gán nó vào một lớp nào đó. Tuy nhiên, đối với hệ
thống gồm rất nhiều văn bản thì phƣơng pháp này sẽ tốn rất nhiều thời gian và công
sức. Do vậy cần phải có phƣơng pháp tự động để phân loại văn bản.
Để tiến hành phân loại văn bản nói chung, chúng ta sẽ thực hiện các bƣớc nhƣ sau:
-

-

Bƣớc 1: Xay dựng bọ dữ liẹu huấn luyẹn dựa vào tài liẹu van bản đã đƣợc
phan loại sẵn. Tiến hành học cho bọ dữ liẹu, xử lý và thu thạp đƣợc dữ liẹu
của quá trình học là các đạc trƣng rieng biẹt cho từng chủ đề.
Bƣớc 2: Dữ liẹu cần phan loại đƣợc xử lý, rút ra đạc trƣng kết hợp với đạc
trƣng đƣợc học trƣớc đó để phan loại và rút ra kết quả.

Dƣới đây là một số thuật toán phân loại thƣờng đƣợc sử dụng trong thực tế nhƣ:
K-Nearest Neighbor, Cây quyết định, Nạve Bayes. Ngồi các phƣơng pháp ở trên thì
trong luận văn này tập trung vào một thuật toán phân loại văn bản là Support Vector
Machine (SVM), là một phƣơng pháp hiệu quả, có nhiều cải tiến và triển vọng.
Phƣơng pháp này sẽ đƣợc trình bày chi tiết trong phần tiếp theo.
1.5. MÁY VECTOR HỖ TRỢ (SVM)
1.5.1. Lý thuyết về máy vector hỗ trợ

Là mọt phƣong pháp dựa tren nền tảng co bản của lý thuyết thống ke với hẹ thống
toán học chạt chẽ, SVM đƣợc đảm bảo rằng kết quả tìm đƣợc là chính xác.
Là thuạt tốn học có giám sát đƣợc sử dụng cho bài tốn phan lớp dữ liẹu đa
chiều.
Là phƣong pháp mạnh và chính xác nhất trong số các hẹ thống học thuạt đƣợc đƣa
ra cho bài tốn phan lớp dữ liẹu.
Với tính tổng quát cao, SVM là phƣong pháp đƣợc áp dụng cho nhiều bài toán
nhạn dạng và phan loại đối tƣợng.
1.5.1.1. Tổng quan về máy vector hỗ trợ
SVM [18] (viết tắt Tiếng Anh của Support Vector Machine) đƣợc biết đến là mọt
công cụ mạnh mẽ trong những bài toán phan lớp phi tuyến tính đƣợc các tác giả
Vapnik và Chervonenkis đề xuất vào nam 1995. Theo đó, SVM là mọt khái niẹm trong
thống ke và khoa học máy tính cho mọt tạp các phƣong pháp học có giám sát để phan
lớp và phan tích hồi quy. Về co bản, SVM sử dụng tạp dữ liẹu huấn luyẹn đầu vào, từ
đó phan loại dữ liẹu cần phan lớp thành hai lớp khác nhau. Nói cách khác, SVM là
mọt thuạt tốn phan loại nhị phan, cũng giống nhƣ rất nhiều hẹ thống học máy khác đã
có. Với mọt bọ dữ liẹu đã đƣợc huấn luyẹn trƣớc đó, thuạt tốn thực hiẹn xay dựng
mọt mơ hình SVM nhằm phan loại dữ liẹu đầu đã đƣa vào học, từ đó đƣa chúng vào
hai lớp đã đƣợc chỉ ra trƣớc đó. Về mạt khơng gian, SVM biểu diễn các dữ liẹu cần


16

phần lớp thành các điểm trong khơng gian, từ đó lựa chọn ra mọt sieu phẳng sử dụng
để phan lớp giữa hai tạp hợp điểm, sao cho khoảng cách giữa các điểm và mạt phẳng
đã xác định là lớn nhất có thể. Điều này đảm bảo tang cƣờng đọ chính xác trong quá
trình phan lớp, cũng nhƣ giảm thiểu xác suất phan loại dữ liẹu sai do nhiễu gay ra. Các
dữ liẹu mới đƣợc đƣa vào đƣợc SVM dự đoán trƣớc thuọc mọt trong hai lớp dữ liẹu đã
đƣợc huấn luyẹn trƣớc đó.
Về mạt học thuạt, mọt hẹ thống máy vector hỗ trợ xay dựng mọt hoạc mọt tạp hợp

các sieu 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 phan loại, hồi quy hoạc các nhiẹm vụ cụ thể khác. Mọt cách trực giác, để phan
loại tốt nhất các điểm trong không gian, khoảng cách từ sieu 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 qt hóa của thuạt tốn càng bé.
Trong mọt vài trƣờng hợp cụ thể, tạp hợp dữ liẹu ban đầu khơng thể đƣợc phan
chia mọt cách tuyến tính trong khơng gian đã có đƣợc dùng để mơ tả vấn đề cụ thể. Do
đó, ngƣời ta sử dụng phép ánh xạ nhằm đƣa các điểm dữ liẹu thuọc hẹ không gian bài
tốn ban đầu vào mọt hẹ khơng gian mới, trong đó viẹc phan tách đƣợc tiến hành mọt
cách hiẹu quả và dễ dàng hon. Nhằm tang tính hiẹu quả của q trình tính tốn, tích vơ
hƣớng của các vecto dữ liẹu trong khơng gian mới cần thiết đƣợc tính tốn mọt cách
dễ dàng từ tọa đọ miền không gian cũ đang có. Tích vơ hƣớng này đƣợc tính tốn bằng
cách sử dụng mọt hàm nhan (
). Mọt sieu phẳng trong không gian mới đƣợc định
nghĩa bằng tạp hợp các điểm có tích vơ hƣớng với mọt vecto cố định trong khơng gian
là mọt hằng số. Tổ hợp tuyến tính cả các vecto dữ liẹu đƣợc huấn luyẹn trong không
gian mới với các hẹ số
đƣợc gọi là vecto sieu phẳng sử dụng SVM. Với sieu phẳng
đã đƣợc lựa chọn, các điểm x trong không gian đạc trƣng đƣợc ánh xạ vào mọt sieu
phẳng là các điểm cần phải thỏa mãn:
(

)

Trong công thức này, nếu hàm (
) nhạn mọt giá trị càng nhỏ khi xa dần
khỏi thì mỗi số hạng của biểu thức tren đƣợc dùng để đo đọ tƣong ứng giữa với
điểm trong dữ liẹu đã đƣợc huấn luyẹn
1.5.1.2. Cơ sở lý thuyết
SVM về bản chất là mọt bài toán tối ƣu với mục tieu tìm mọt khơng gian

gẳng nằm tren sao cho sai số phan loại đƣợc cực tiểu hóa.
Với tập mẫu *(
nhãn:
).

*

)(

)

(

)+ với

+ là nhãn lớp tƣơng ứng của các

(

và sieu

, thuộc vào hai lớp
biểu thị lớp ,

biểu thị lớp


×