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

Nghiên cứu phương pháp học máy để phân loại văn bản tại văn phòng UBND tỉnh quảng ngãi

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 (4.24 MB, 77 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

LÊ THANH TRANG

NGHIÊN CỨU PHƯƠNG PHÁP HỌC MÁY
ĐỂ PHÂN LOẠI VĂN BẢN TẠI VĂN PHÒNG
UBND TỈNH QUẢNG NGÃI

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Đà Nẵng - Năm 2017


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

LÊ THANH TRANG

NGHIÊN CỨU PHƯƠNG PHÁP HỌC MÁY
ĐỂ PHÂN LOẠI VĂN BẢN TẠI VĂN PHỊNG
UBND TỈNH QUẢNG NGÃI

Chun ngành: Hệ thống thơng tin
Mã số: 61.49.01.04

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Người hướng dẫn khoa học: PGS.TS. HUỲNH CÔNG PHÁP

Đà Nẵng - Năm 2017




LỜI CAM ĐOAN
Tơi cam đoan đây là cơng trình nghiên cứu của bản thân.
Các số liệu, kết quả trình bày trong luận văn là trung thực. Những tư liệu được
sử dụng trong luận văn có nguồn gốc và trích dẫn rõ ràng, đầy đủ.
Tác giả luận văn

Lê Thanh Trang


MỤC LỤC
MỞ ĐẦU .........................................................................................................................1
1. Lý do chọn đề tài ..................................................................................................1
2. Mục đích nghiên cứu ............................................................................................ 2
3. Mục tiêu nghiên cứu ............................................................................................. 2
4. Đối tượng và phạm vi nghiên cứu ........................................................................2
5. Phương pháp nghiên cứu ......................................................................................3
6. Ý nghĩa khoa học và thực tiễn của luận văn .........................................................3
7. Nội dung luận văn .................................................................................................4
CHƯƠNG 1. NGHIÊN CỨU TỔNG QUAN ............................................................. 5
1.1. TỔNG QUAN VỀ HỌC MÁY ................................................................................5
1.1.1. Phân loại phương pháp học máy.....................................................................5
1.1.2. Các ứng dụng của học máy .............................................................................8
1.2. TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU .............................................................. 9
1.2.1. Giới thiệu về phân lớp ....................................................................................9
1.2.2. Các loại phân lớp dữ liệu ................................................................................9
1.3. PHÂN LỚP VĂN BẢN.......................................................................................... 10
1.3.1. Khái niệm......................................................................................................10
1.3.2. Định nghĩa phân lớp văn bản: .......................................................................11

1.3.3. Mơ hình phân lớp văn bản ............................................................................12
1.3.4. Các bước xây dựng bộ phân lớp văn bản .....................................................13
1.3.5. Các bước tiền xử lý dữ liệu...........................................................................14
1.3.6. Phương pháp tách từ tiếng Việt ....................................................................14
1.3.7. Loại bỏ từ dừng............................................................................................. 15
1.3.8. Phương pháp biểu diễn văn bản ....................................................................16
1.4. CÁC CƠNG TRÌNH LIÊN QUAN ĐẾN VẤN ĐỀ XỬ LÝ NGÔN NGỮ TỰ
NHIÊN VÀ PHÂN LỚP VĂN BẢN. ...........................................................................19


CHƯƠNG 2. ÁP DỤNG MƠ HÌNH HỌC MÁY SUPPORT VECTOR
MACHINES (SVM) VÀO PHÂN LOẠI VĂN BẢN TẠI VĂN PHÒNG UBND
TỈNH QUẢNG NGÃI ..................................................................................................22
2.1. Khái niệm về học máy ............................................................................................ 22
2.2. Bộ phân loại Support Vector Machines (SVM) .....................................................22
2.2.1. Siêu phẳng tối ưu .......................................................................................... 24
2.2.2. Phân lớp mềm ............................................................................................... 27
2.2.3. Trường hợp phân tách phi tuyến ...................................................................31
2.2.4. Một số hàm nhân (Kernel) thông dụng .........................................................32
2.2.5. SVM đa lớp ...................................................................................................33
2.2.6. Các thuật toán huấn luyện.............................................................................35
2.2.7. Phương pháp tách từ .....................................................................................36
2.2.8. Phương pháp Kiểm tra chéo (cross validation) ............................................36
2.3.9. Các yếu tố tác động đến kết quả phân loại văn bản:.....................................37
2.4. KẾT CHƯƠNG 2 ...................................................................................................37
CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM TRONG BÀI
TỐN HỌC MÁY CĨ GIÁM SÁT ĐỂ PHÂN LOẠI VĂN BẢN TẠI VĂN
PHỊNG UBND TỈNH QUẢNG NGÃI .....................................................................39
3.1. Ngơn ngữ tiếng Việt ............................................................................................... 39
3.2. Khái niệm về văn bản quản lý nhà nước ................................................................ 40

3.2.1. Văn bản quản lý nhà nước ............................................................................40
3.2.2. Văn bản quản lý hành chính nhà nước .........................................................40
3.2.3. Phân loại văn bản quản lý nhà nước ............................................................. 41
3.2.4. Ngơn ngữ trong văn bản hành chính............................................................. 41
3.2.5. Khung phân loại thống nhất thơng tin .......................................................... 42
3.3. Bài tốn phân lớp tại Văn phòng UBND tỉnh Quảng Ngãi ....................................43
3.3.1. Phát biểu bài toán.......................................................................................... 43
3.3.2. Phương pháp phân lớp SVM đa lớp ............................................................. 44
3.3.3. Mơ hình SVM đa lớp cho bài toán phân lớp văn bản ...................................44


3.4. Xây dựng chương trình thử nghiệm .......................................................................46
3.4.1. Mơi trường thực nghiệm ...............................................................................46
3.3.2 Thư viện nguồn hỗ trợ ...................................................................................46
3.4.3. Dữ liệu và chương trình ................................................................................46
3.4.4. Xây dựng bộ từ điển danh từ ........................................................................48
3.4.5. Giao diện chương trình .................................................................................49
3.4.6. Các bước sử dụng chương trình thử nghiệm ................................................49
3.5. Đánh giá kết quả thực nghiệm ................................................................................53
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................................55
TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI (BẢN SAO)


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

Ký hiệu

Thuật ngữ


CNTT

Công nghệ thông tin

CPU

Central Processing Unit

CSDL

Cở sở dữ liệu

CV

Corters và Vapnik

IDF

Inverse Document

KKT

Karush-Kuhn-Tucker

KNN

K-nearest neighbors (K láng giềng gần nhất)

ML


Machine Learning

NB

Naïve Bayes

QP

Quadratic Programming

RBF

Radial Basic Function

RFC

Relative Frequency Count

TB

Terabyte (thuật ngữ đo lường để chỉ dung lượng lưu trữ máy tính)

TF

Term Frequency

TF – IDF

Term frequency – inverse document frequency



DANH MỤC CÁC BẢNG
Số hiệu

Tên bản

bảng

Trang

3.1.

Văn bản trước khi qua bộ tách từ

45

3.2.

Văn bản sau khi qua bộ tách từ

46

3.3.

Thiết bị thực nghiệm

46

3.4.


Thư viện nguồn hỗ trợ

46

3.5.

Dữ liệu học và kiểm tra

47

3.6.

Tập số lượng dữ liệu huấn luyện

47

3.7.

Tập số lượng dữ liệu kiểm thử

48

3.8.

Gán nhãn từ loại

48

3.9.


Tỷ lệ % phân loại văn bản

53


DANH MỤC CÁC HÌNH VẼ
Số hiệu

Tên hình

hình

Trang

1.1.

Mơ hình thuật tốn học máy có giám sát

6

1.2.

Hoạt động của một bộ phân loại trên một tập các tài liệu

10

1.3.

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


13

1.4.

Mô tả bước xây dựng bộ phân lớp

13

1.5.

Mơ hình khơng gian vector[27]

19

2.1.

Mơ hình SVM

23

2.2.

Biểu diễn siêu phẳng lề cực đại cho bộ phân lớp SVM trên
hai lớp

24

2.3.

Siêu phẳng tách tuyến tính


25

2.4.

Phân lớp mềm

27

2.5.

Ánh xạ dữ liệu vào không gian khác với số chiều cao hơn

31

3.1.

Mô hình bài tốn phân lớp văn bản dữ liệu văn bản hành
chính

45

3.2.

Giao diện chương trình

49

3.3.


Dữ liệu từ điển

50

3.4.

Dữ liệu được gán nhãn

50

3.5.

Dữ liệu đã được huấn luyện

51

3.6.

Sau khi đã chọn xong các mục

52

3.7.

Kết quả phân loại văn bản

52

3.8.


Thông số hệ thống chương trình thử nghiệm sử dụng

54


1
MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay một lượng lớn dữ liệu văn bản có sẵn về các lĩnh vực khác nhau đã
được thu thập, lưu trữ. Việc phân loại văn bản là tiến trình xếp các tài liệu văn bản vào
trong một hoặc nhiều các tài liệu vào nhóm các chủ đề, để sử dụng nó là vấn đề ngày
càng trở nên cần thiết. Vì thế, vấn đề phân lớp và dự đoán là khâu rất quan trọng trong
học máy và trong khai phá dữ liệu. Một trong những công cụ được đánh giá mạnh và
tinh vi cho những bài tốn phân lớp phi tuyến đó là kỹ thuật Support Vector Machines
(SVM) do Corters và Vapnik giới thiệu vào năm 1995[14]. Nhiều ứng dụng đã và
đang được xây dựng dựa trên kỹ thuật SVM rất hiệu quả. SVM là mơ hình xây dựng
một siêu phẳng hoặc một tập hợp các siêu phẳng trong một không gian nhiều chiều
hoặc vơ hạn chiều, có thể được sử dụng cho phân loại, hồi quy, hoặc các nhiệm vụ
khác. Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến
tính trong một khơng gian ban đầu được dùng để mơ tả một vấn đề. Vì vậy, nhiều khi
cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không gian mới
nhiều chiều hơn, để việc phân tính chúng trở nên dễ dàng hơn trong không gian mới.
Gần đây, các nhà nghiên cứu đã thực hiện sử dụng các kỹ thuật học máy để kết
hợp tự động phân loại các tài liệu bằng cách đầu tiên sử dụng một tập huấn luyện để
thông qua bộ phân loại tới tập đặc trưng của tập tài liệu. Quy trình học máy được khởi
tạo bởi một một sự kiểm tra các tài liệu mẫu để quyết định tập đặc trưng tối thiểu mà
sinh ra các kết quả phân loại mong muốn. Trong giai đoạn huấn luyện có thể được
giám sát hoặc không giám sát. Trong cả hai trường hợp một tập các phân loại được
định nghĩa một quyền ưu tiên, khơng giống phân nhóm mà định nghĩa các phân loại
dựa trên đặc trưng của các tài liệu thực sự. Các kỹ thuật học không giám sát sử dụng

các đặc trưng của các tài liệu huấn luyện để cho giải thuật quyết định phân loại mỗi tài
liệu thuộc vào. Các kỹ thuật học có giám sát sử dụng một tập các tài liệu huấn luyện
mà đã được kết hợp trong một phân loại để quyết định tập đặc trưng nào của các tài
liệu sẽ tạo ra kết quả mong muốn.


2
Tại Văn phòng UBND tỉnh Quảng Ngãi theo thống kê số lượng văn bản hành
chính được ban hành mỗi năm khoảng 15 nghìn văn bản các loại chưa tính các loại văn
bản đến đơn vị. Hạ tầng công nghệ thông tin tại Văn phòng UBND tỉnh Quảng Ngãi
được đầu tư từ năm 2001 theo Đề án Tin học hóa quản lý hành chính nhà nước của
Chính phủ. Đến nay, CSDL văn bản được lưu giữ trên 3 TB dữ liệu. Theo Nghị định
Chính phủ u cầu cung cấp thơng tin trực tuyến trên Cổng thông tin điện tử của các
tỉnh, Văn phòng UBND tỉnh Quảng Ngãi chỉ mới cung cấp CSDL văn bản từ năm
2010, việc phân loại các văn bản vào các nhóm chỉ dừng ở mức độ theo loại văn bản
chưa phân loại được theo các lĩnh vực, để thuận lợi cho việc tra cứu, sắp xếp, lưu
trữ…Do vậy, cần phải có hệ thống xử lý văn bản hiệu quả và phương pháp học máy có
giám sát để tận dụng được các nguồn dữ liệu văn bản chưa được phân loại tại Văn
phòng UBND tỉnh Quảng Ngãi. Nhận thấy đây là lĩnh vực mang tính khoa học cao,
ứng dụng rất nhiều trong các bài toán thực tế.
Với những vấn đề nêu trên tôi chọn đề tài “Nghiên cứu phương pháp học máy
để phân loại văn bản tại Văn phòng UBND tỉnh Quảng Ngãi” làm chủ đề nghiên
cứu tại luận văn này.
2. Mục đích nghiên cứu
Nghiên cứu kỹ thuật học máy và một số giải thuật thường sử dụng trong học
máy, ứng dụng kỹ thuật học có giám sát.
3. Mục tiêu nghiên cứu
- Nghiên cứu kỹ thuật xử lý ngôn ngữ tiếng Việt.
- Xây dựng kho dữ liệu huấn luyện để ứng dụng vào bài toán phân loại văn bản.
- Ứng dụng kỹ thuật học máy có giám sát vào bài tốn phân loại văn bản tại Văn

phịng UBND tỉnh Quảng Ngãi.
4. Đối tượng và phạm vi nghiên cứu
Trong khuôn khổ luận văn thuộc loại nghiên cứu và ứng dụng, đề tài chỉ giới hạn
nghiên cứu các vấn đề sau:
- Các vấn đề liên quan đến học máy có giám sát.
- Các tài liệu, văn bản dạng text chuẩn tiếng Việt khơng có hình ảnh hoặc âm
thanh.


3
- Nghiên cứu phương pháp học có giám sát để giải quyết bài toán phân loại văn
bản theo các chủ đề như: Xây dựng, Giao thơng, Văn hóa xã hội, Cơng nghệ thơng tin,
Hành chính, Nơng nghiệp, Nội chính…
5. Phương pháp nghiên cứu
5.1. Phương pháp lý thuyết
- Thu thập và nghiên cứu tài liệu có liên quan.
- Nghiên cứu kỹ thuật học có giám sát.
- Nghiên cứu lý thuyết về xử lý ngôn ngữ tự nhiên.
- Biểu đạt kết quả.
5.2. Phương pháp thực nghiệm
- Xây dựng kho dữ liệu huấn luyện.
- Xây dựng quy trình phân loại văn bản.
- Ứng dụng quy trình phân loại văn bản vào mơ hình thực tế phân loại văn bản tại
Văn phòng UBND tỉnh Quảng Ngãi.
6. Ý nghĩa khoa học và thực tiễn của luận văn
6.1. Ý nghĩa khoa học
- Nắm vững các vấn đề về lĩnh vực thống kê, xác suất và học máy áp dụng vào
bài toán phân loại văn bản.
- Nắm vững và vận dụng lý thuyết kỹ thuật học có giám sát, lý thuyết phân lớp,
một số thuật toán phân loại văn bản để vận dụng vào thực tiễn.

- Hiểu được lý thuyết về xử lý ngôn ngữ tự nhiên.
- Nhìn nhận được mức độ đóng góp của các tác giả so với các phương pháp trước
đây; ý nghĩa đóng góp về mặt học thuật có tính phát minh.
6.2. Ý nghĩa thực tiễn
- Trong thực tiễn đời sống hằng ngày, thông tin quanh ta là rất nhiều. Biến thông
tin thành tri thức để phục vụ con người là khát vọng không chỉ riêng đối với các nhà
khoa học.
- So với những phương pháp trước đây, phương pháp phân loại văn bản với
Support Vector Machines (SVM) được nghiên cứu từ những năm 60 với những công


4

trình của Vapnik và Lerner (1963)[16], Vapnik và Chervonenkis (1964)[16] có khả
năng cho kết quả nhận dạng chính xác hơn so với các phương pháp học máy khác –
điều này mở ra một khả năng rộng lớn cho các bài toán ứng dụng trong nhiều ngành.
- Đưa phương pháp học máy có giám sát vào bài tốn phân loại văn bản tại Văn
phòng UBND tỉnh Quảng Ngãi.
7. Nội dung luận văn
Luận văn gồm 3 chương chính:
Chương 1: Nghiên cứu tổng quan
Chương 2: Áp dụng mơ hình học máy Support Vector Machines (SVM) cho phân
loại văn bản tại văn phòng UBND tỉnh quảng ngãi
Chương 3: Xây dựng chương trình thử nghiệm trong bài tốn học máy có giám
sát để phân loại văn bản tại văn phòng UBND tỉnh.
Cuối cùng là những kết luận, định hướng nghiên cứu và phát triển của luận văn.


5
CHƯƠNG 1

NGHIÊN CỨU TỔNG QUAN

1.1. TỔNG QUAN VỀ HỌC MÁY
Học máy (Machine Learning - ML) [22]là một ngành khoa học nghiên cứu các
thuật tốn cho phép máy tính có thể học được các khái niệm (concept). Có hai loại
phương pháp học máy chính:
- Phương pháp quy nạp: là phương pháp máy học dựa trên dữ liệu đã thu thập
được trước đó. Phương pháp này cho phép tận dụng được nguồn dữ liệu rất nhiều và
sẵn có.
- Phương pháp suy diễn: là phương pháp dựa vào các luật. Phương pháp này cho
phép tận dụng được các kiến thức chuyên ngành để hỗ trợ máy tính.
Hiện nay, các thuật tốn đều cố gắng tận dụng được các ưu điểm của hai phương
pháp này.
1.1.1. Phân loại phương pháp học máy
1.1.1.1. Học có giám sát (supervised learning)
Học có giám sát [23]là một kỹ thuật học máy để học từ tập dữ liệu được gán nhãn
cho trước. Tập dữ liệu cho trước sẽ chứa nhiều bộ dữ liệu. Mỗi bộ dữ liệu có cấu trúc
theo cặp với x được xem là dữ liệu thô (raw data) và y là nhãn của dữ liệu đó. Nhiệm
vụ của học có giám sát là dự đốn đầu ra mong muốn dựa vào giá trị đầu vào. Tóm lại,
học có giám sát tức là máy học dựa vào sự trợ giúp của con người, hay nói cách khác
con người dạy cho máy học và giá trị đầu ra mong muốn được định trước bởi con
người. Tập dữ liệu huấn luyện hoàn toàn được gán nhãn dựa vào con người. Tập càng
nhỏ thì máy tính học càng ít. Mơ hình chung của học có giám sát được khái qt như
hình sau:


6

Hình 1.1. Mơ hình thuật tốn học máy có giám sát
Để giải quyết một bài tốn nào đó của học có giám sát, người ta phải xem xét

nhiều bước khác nhau:
- Xác định loại của các ví dụ huấn luyện. Trước khi làm bất cứ điều gì, người làm
nhiệm vụ phân lớp nên quyết định loại dữ liệu nào sẽ được sử dụng làm ví dụ. Chẳng
hạn đó có thể là một ký tự viết tay đơn lẻ, toàn tập một từ viết tay, hay tồn tập một
dịng chữ viết tay.
- Thu thập tập huấn luyện. Tập huấn luyện cần đặc trưng cho thực tế sử dụng của
hàm chức năng. Vì thế, một tập các đối tượng đầu vào được thu thập và đầu ra tương
ứng được thu thập, hoặc từ các chuyên gia hoặc từ việc đo đạc tính toán.
- Xác định việc biểu diễn các đặc trưng đầu vào cho hàm chức năng cần tìm. Sự
chính xác của hàm chức năng phụ thuộc lớn vào cách các đối tượng đầu vào được biểu
diễn. Thông thường, đối tượng đầu vào được chuyển đổi thành một vector đặc trưng,
chứa một số các đặc trưng nhằm mô tả cho đối tượng đó. Số lượng các đặc trưng
khơng nên q lớn, do sự bùng nổ tổ hợp (curse of dimensionality), nhưng phải đủ lớn
để dự đốn chính xác đầu ra.
- Xác đinh cấu trúc của hàm chức năng cần tìm và giải thuật học tương ứng. Ví
dụ người thực hiện q trình phân lớp có thể lựa chọn việc sử dụng mạng nơ- ron nhân
tạo hay cây quyết định….


7
- Hoàn thiện thiết kế. Người thiết kế sẽ chạy giải thuật học từ một tập huấn luyện
thu thập được. Các tham số của giải thuật học có thể được điều chỉnh bằng cách tối ưu
hoá hiệu năng trên một tập con (gọi là tập kiểm chứng – validation set) của tập huấn
luyện, hay thông qua kiểm chứng chéo (crossvalidation). Sau khi học và điều chỉnh
tham số, hiệu năng của giải thuật có thể được đo dạc trên một tập kiểm tra độc lập với
tập huấn luyện.
Một số thuật toán điển hình:
Thuật tốn K láng giềng
Mơ hình xác suất Naive Bayes
Phương pháp Support Vector Machines

1.1.1.2. Học khơng có giám sát (unsupervised learning)
Học không giám sát [23]là một kỹ thuật của máy học nhằm tìm ra một mơ hình
hay cấu trúc bị ẩn bởi tập dữ liệu không được gán nhãn cho trước. Học khơng có giám
sát khác với học có giám sát là không thể xác định trước đầu ra từ tập dữ liệu huấn
luyện được. Tùy thuộc vào tập huấn luyện kết quả đầu ra sẽ khác nhau. Trái ngược với
học có giám sát, tập dữ liệu huấn luyện của học khơng có giám sát khơng do con người
gán nhãn, máy tính sẽ phải tự học hồn tồn. Có thể nói, học khơng có giám sát thì giá
trị đầu ra sẽ phụ thuộc vào thuật tốn học khơng có giám sát.
1.1.1.3. Học bán giám sát (semi-supervised learning)
Trong khoa học máy tính, học bán giám sát [24]là một lớp của kỹ thuật học máy,
sử dụng cả dữ liệu đã gán nhãn và chưa gán nhãn để huấn luyện - điển hình là một
lượng nhỏ dữ liệu có gán nhãn cùng với lượng lớn dữ liệu chưa gán nhãn. Học bán
giám sát đứng giữa học khơng giám sát (khơng có bất kì dữ liệu có nhãn nào) và có
giám sát (tồn bộ dữ liệu đều được gán nhãn). Nhiều nhà nghiên cứu nhận thấy dữ liệu
không gán nhãn, khi được sử dụng kết hợp với một chút dữ liệu có gán nhãn, có thể
cải thiện đáng kể độ chính xác. Để gán nhãn dữ liệu cho một bài toán học máy thường
địi hỏi một chun viên có kỹ năng để phân loại bằng tay các ví dụ huấn luyện. Chi
phí cho quy trình này khiến tập dữ liệu được gán nhãn hồn tồn trở nên khơng khả
thi, trong khi dữ liệu không gán nhãn thường tương đối rẻ tiền.


8
1.1.1.4. Học tăng cường (reinforcement learning)
Trong ngành khoa học máy tính, học tăng cường [25]là một lĩnh vực con của học
máy, nghiên cứu cách thức một agent trong một môi trường nên chọn thực hiện các
hành động nào để cực đại hóa một khoản thưởng (reward) nào đó về lâu dài. Các thuật
tốn học tăng cường cố gắng tìm một chiến lược ánh xạ các trạng thái của thế giới tới
các hành động mà agent nên chọn trong các trạng thái đó. Khác với học có giám sát,
trong học tăng cường khơng có các cặp dữ liệu vào/kết quả đúng, các hành động gần
tối ưu cũng không được đánh giá đúng sai một cách tường minh. Hơn nữa, ở đây hoạt

động trực tuyến (on-line performance) được quan tâm, trong đó có việc tìm kiếm một
sự cân bằng giữa khám phá (lãnh thổ chưa lập bản đồ) và khai thác (tri thức hiện có).
Trong học tăng cường, sự được và mất giữa khám phá và khai thác đã được nghiên
cứu chủ yếu qua bài toán tên cướp nhiều tay (multi-armed bandit).
1.1.2. Các ứng dụng của học máy
Học máy có ứng dụng [26]rộng khắp trong các ngành khoa học/sản xuất, đặc biệt
những ngành cần phân tích khối lượng dữ liệu khổng lồ. Một số ứng dụng thường thấy:
- Xử lý ngôn ngữ tự nhiên (Natural Language Processing): xử lý văn bản, giao
tiếp người – máy, …
- Nhận dạng (Pattern Recognition): nhận dạng tiếng nói, chữ viết tay, vân tay, thị
giác máy (Computer Vision) …
- Tìm kiếm (Search Engine)
- Chẩn đốn trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán tự
động.
- Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein
- Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …
- Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tín dụng
- Phân tích thị trường chứng khốn (stock market analysis)
- Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo
- Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ
thần kinh/bộ não của người máy.


9

1.2. TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU
1.2.1. Giới thiệu về phân lớp
Bài tốn phân lớp [4]là q trình phân lớp một đối tượng dữ liệu vào một hay
nhiều lớp đã cho trước nhờ một mơ hình phân lớp (model). Mơ hình này được xây
dựng dựa trên một tập dữ liệu được xây dựng trước đó có gán nhãn (hay cịn gọi là tập

huấn luyện). Q trình phân lớp là quá trình gán nhãn cho đối tượng dữ liệu. Như vậy,
nhiệm vụ của bài tốn phân lớp là cần tìm một mơ hình phần lớp để khi có dữ liệu mới
thì có thể xác định được dữ liệu đó thuộc vào phân lớp nào.
Tóm lại phân lớp dữ liệu là quá trình sắp xếp và phân lớp các dữ liệu vào nhiều
loại hình, hình thức hoặc bất kỳ tầng lớp đặc biệt khác. Phân lớp dữ liệu cho phép chia
tách và phân lớp dữ liệu theo yêu cầu của bộ dữ liệu cho nhiều mục tiêu kinh doanh
hoặc cá nhân. Nó chủ yếu là một q trình quản lý dữ liệu.
1.2.2. Các loại phân lớp dữ liệu
1.2.2.1. Phân lớp dữ liệu nhị phân
Phân lớp dữ liệu nhị phân là quá trình tiến hành việc phân lớp dữ liệu vào một
trong hai lớp khác nhau dựa vào việc dữ liệu đó có hay khơng có một số đặc tính theo
quy định của bộ phân lớp.
1.2.2.2. Phân lớp dữ liệu đa lớp
Phân lớp dữ liệu đa lớp là quá trình phân lớp với số lượng lớn hơn hai. Như vậy,
tập hợp dữ liệu trong miền xem xét được phân chia thành nhiều lớp chứ không đơn
thuần chỉ là hai lớp như trong bài tốn phân lớp nhị phân. Tóm lại về bản chất, bài
toán phân lớp nhị phân là một trường hợp riêng của bài toán phân lớp đa lớp.
1.2.2.3 Phân lớp dữ liệu đơn trị
Phân lớp dữ liệu đơn trị là quá trình phân lớp mà mỗi đối tượng dữ liệu trong tập
dữ liệu huấn luyện được gán vào chính xác một lớp.
1.2.2.4 Phân lớp dữ liệu đa trị
Phân lớp dữ liệu đa trị là mỗi đối tượng dữ liệu trong tập huấn luyện cũng như
các đối tượng mới sau khi được phân lớp có thể thuộc vào từ hai lớp trở lên.Ví dụ như
có một văn bản hành chính về việc triển khai thực hiện Cuộc vận động "Toàn dân đoàn


10
kết xây dựng nông thôn mới, đô thị văn minh" vừa thuộc về lĩnh vực nông nghiệp
nhưng cũng thuộc về lĩnh vực văn hóa xã hội. Trong những trường hợp này, việc sắp
xếp một tài liệu vào nhiều lớp là phù hợp với thực tế.

1.3. PHÂN LỚP VĂN BẢN
Trong những năm gần đây việc đẩy mạnh ứng dụng công nghệ thơng tin trong
quản lý hành chính nhà nước đã tạo ra một khối lượng dữ liệu khổng lồ. Nên việc tự
động phân lớp văn bản là một nhiệm vụ rất quan trọng giúp ích cho đơn vị tổ chức, lưu
trữ, tìm kiếm thơng tin trên nguồn tài ngun lớn này.
1.3.1. Khái niệm
Phân lớp văn bản (Text Categorization)[2, 3, 10, 13] là việc phân lớp áp dụng đối
với dữ liệu văn bản, tức là phân lớp một văn bản vào một hay nhiều lớp văn bản nhờ
một mơ hình phân lớp; mơ hình này được xây dựng dựa trên một tập hợp các văn bản
đã được gán nhãn từ trước.

Hình 1.2. Hoạt động của một bộ phân loại trên một tập các tài liệu
Thông thường, các lớp cho trước là các lĩnh vực nào đó, nhưng cũng có nhiều
ứng dụng mà các lớp được thiết lập theo những tiêu chí khác, như phân lớp theo độ
ưu tiên, phân lớp theo chủ đề, phân lớp theo lĩnh vực... Hầu hết các bài tốn này sẽ tốn
rất nhiều thời gian, cơng sức và đơi khi khơng chính xác nếu được phân loại một cách
thủ công - tức là đọc từng văn bản và gán vào một lớp nào đó. Đặc biệt với số lượng
tài liệu cần phân lớp cực kỳ lớn như hiện nay thì việc phân lớp thủ cơng là một điều
khơng thế. Phân loại những đối tượng mới vào các lớp bằng phương pháp thủ cơng
gặp phải những khó khăn sau:


11
- Đối với các lĩnh vực đặc biệt, phân loại các đối tượng mới (như cơ sở dữ liệu
về hành chính, y tế, pháp luật, tài chính, ngân hàng... ) vào các lớp cho trước cần có
hiểu biết về các lĩnh vực đó.
- Phân loại bằng tay đơi khi khơng chính xác vì quyết định phụ thuộc vào sự hiếu
biết và động cơ của người thực hiện.
- Quyết định của hai chuyên gia khác nhau có thể nảy sinh bất đồng ý kiến. Vì
vậy những cơng cụ để tự động phân lớp văn bản vào các lớp sẽ rất hữu ích với công

việc này nhất là khi thông tin tràn ngập như ngày nay. Một số phương pháp phân lớp
thống kê và kĩ thuật học máy như Bayesian, máy vector hỗ trợ (SVM), K người láng
giềng gần nhất, mạng nơron... được áp dụng để giải quyết bài tốn này.
Chính vì những nhược điểm của phương pháp thủ công nên việc xây dựng một
bộ phân lớp văn bản tự động là một điều rất quan trọng và cần thiết, đặc biệt là khi hầu
hết các thông tin được lưu trữ điện tử. Các kỹ thuật phân lớp văn bản sẽ giúp cho
nguồn dữ liệu văn bản được lưu trữ tự động một cách hiệu quả và tìm kiếm một cách
nhanh chóng.
Phân lớp văn bản được xuất hiện từ những năm 1960, nhưng chỉ 15 năm sau, nó
đã trở thành lĩnh vực nghiên cứu chính trong hệ thống thơng tin bởi sự đa dạng của các
ứng dụng. Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong quá trình tìm
kiểm thơng tin (Information Retrieval), chiết lọc thơng tin (Information Extraction),
lọc văn bản hoặc tự động phân loại cho các văn bản tới những chủ đề xác định trước.
Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực hiểu văn bản. Phân lớp văn
bản có thể được sử dụng để lọc văn bản hoặc một phần văn bản chứa dữ liệu cần tìm
mà khơng làm mất đi tính phức tạp của ngơn ngữ tự nhiên.
1.3.2. Định nghĩa phân lớp văn bản:
Phân lớp văn bản là nhiệm vụ đặt một giá trị Boolean cho mỗi cặp (dj,ci) ϵ D×C,
trong đó D là tập các văn bản và C={c1,c2…cy} là tập các lớp cho trước.
Giá trị T (True) được gán cho cặp (dj ,ci ) có nghĩa là tài liệu dj thuộc lớp ci;
Giá trị F (False) tức là tài liệu dj không thuộc lớp ci .


12
Hoặc, phân lớp văn bản là bài tốn tìm một hàm Φ : D × C → {T , F} trong đó D
là tập các văn bản và C={c1,c2…cy} là tập các lớp cho trước, hàm Φ : D × C → {T , F}
được gọi là bộ phân lớp.
Tùy vào bài tốn khác nhau, ta có các ràng buộc khác nhau. Có thể phân biệt bài
tốn phân lớp 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 này được gọi là

nhị phân nếu |C| = 2, 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 vào chính xác một lớp. Một bài toán phân lớp văn
bản được gọi là đa nhãn nếu một tài liệu có thể được gán nhiều hơn một nhãn.
Về mặt lý thuyết, thuật tốn phân lớp nhị phân có thể sử dụng cho bài toán phân
lớp đa lớp bằng cách chuyển bài toán đa lớp {c1,c2,….,c|c|} thành |C| bài toán nhị phân
{ci,c̅} với i = 1,….,|C|. Hơn nữa thuật toán phân lớp đa lớp có thể được sử dụng để giải
quyết bài tốn phân lớp đa nhãn.
Có thể nói, bài tốn phân lớp nhị phân là bài toán rất quan trọng trong các ứng
dụng của phân lớp văn bản. Giải quyết bài toán phân lớp nhị phân cũng có nghĩa là
giải quyết bài tốn phân lớp đa lớp.
1.3.3. Mơ hình phân lớp văn bản
Phân lớp văn bản được các nhà nghiên cứu định nghĩa thống nhất như là việc gán
tên các chủ đề (tên lớp/ nhãn lớp) đã được xác định cho trước vào các văn bản Text
dựa trên nội dung của nó. Phân lớp văn bản được sử dụng để hỗ trợ trong q trình tìm
kiếm thơng tin (Information Retrieval), trích lọc thông tin (Information Extraction),
lọc văn bản và tự động gán cho các văn bản vào những chủ đề xác định trước. Để phân
loại văn bản, người ta sử dụng phương pháp học máy có giám sát. Tập dữ liệu được
chia ra làm hai tập là tập huấn luyện và tập kiểm tra, trước hết phải xây dựng mơ hình
thơng qua các mẫu học bằng các tập huấn luyện, sau đó kiểm tra sự chính xác bằng tập
dữ liệu kiểm tra.


13

Hình 1.3. Sơ đồ khung một hệ thống phân lớp văn bản
1.3.4. Các bước xây dựng bộ phân lớp văn bản
Quá trình phân lớp dữ liệu thường gồm hai bước: tạo bộ phân lớp và sử dụng bộ
phân lớp đó để phân lớp dữ liệu.
- Bước 1: Một bộ phân lớp được xây dựng dựa trên việc phân tích các đối tượng

dữ liệu đã được gán nhãn từ trước. Tập các mẫu dữ liệu này còn được gọi là tập dữ
liệu huấn luyện (training data set). Các nhãn của tập dữ liệu huấn luyện được xác định
bởi con người trước khi xây dựng bộ phân lớp, phương pháp này được gọi là phương
pháp học có giám sát (supervised learning). Trong bước này phải tính độ chính xác của
bộ phân lớp. Nếu độ chính xác chấp nhận được, bộ phân lớp được sử dụng để xác định
nhãn lớp cho các dữ liệu mới.

Hình 1.4. Mơ tả bước xây dựng bộ phân lớp


14
Hiện nay có rất nhiều phương pháp phân lớp dữ liệu để giải quyết bài toán phân
lớp tùy thuộc vào cách thức xây dựng bộ phân lớp như phương pháp cây quyết định,
phương pháp k-láng giềng gần nhất, phương pháp Bayer, phương pháp SVM….
- Bước 2: Sử dụng bộ phân lớp đã được xây dựng để phân lớp cho dữ liệu mới.
Như vậy, thuật toán phân lớp là một ánh xạ từ miền dữ liệu đã có sang một miền có
giá trị cụ thể của thuộc tính lớp, dựa trên giá trị các thuộc tính của dữ liệu.
1.3.5. Các bước tiền xử lý dữ liệu
Trong quy trình phân loại văn bản, công việc xử lý dữ liệu trước khi đưa vào các
mơ hình là rất cần thiết, bước này là q trình xử lý dữ liệu thơ/gốc (raw/original data)
nhằm cải thiện chất lượng dữ liệu (quality of the data) và từ đó, cải thiện chất lượng
của kết quả đầu ra. Các công việc cụ thể của tiền xử lý dữ liệu bao gồm những công
việc như:
Filtering Attributes: Chọn các thuộc tính phù hợp với mơ hình.
Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mơ hình
Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier)
Transformation: Chuyển đổi dữ liệu cho phù hợp với các mơ hình như chuyển đổi dữ
liệu từ dạng số (numeric) qua định danh (nomial) hay thứ tự (ordinal). Như vậy, việc
làm sạch dữ liệu là một bước quan trọng trong q trình tìm kiếm tri thức vì dữ liệu
khơng có chất lượng thì kết quả đầu ra cũng khơng có chất lượng.

Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưng một vài
mơ hình chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợp chẳn hạn) thì bạn phải
thực hiện việc rời rạc hóa dữ liệu.
Như vậy tiền xử lý dữ liệu là quá trình biểu diễn văn bản thành một dạng biểu
diễn logic mà thuật tốn có thể xử lý được (ví dụ, dạng biểu diễn vector của văn bản).
1.3.6. Phương pháp tách từ tiếng Việt
Tách từ là một quá trình xử lý nhằm mục đích xác định ranh giới của các từ trong
câu văn, cũng có thể hiểu đơn giản rằng tách từ là quá trình xác định các từ đơn, từ
ghép… có trong câu. Đối với xử lý ngơn ngữ, để có thể xác định cấu trúc ngữ pháp
của câu, xác định từ loại của một từ trong câu, yêu cầu nhất thiết đặt ra là phải xác


15
định được đâu là từ trong câu. Vấn đề này tưởng chừng đơn giản với con người nhưng
đối với máy tính, đây là bài tốn rất khó giải quyết.
Chính vì lý do đó tách từ được xem là bước xử lý quan trọng đối với các hệ
thống Xử Lý Ngôn Ngữ Tự Nhiên, đặc biệt là đối với các ngôn ngữ thuộc vùng Đơng
Á theo loại hình ngơn ngữ đơn lập, ví dụ: tiếng Trung Quốc, tiếng Nhật, tiếng Thái, và
tiếng Việt. Với các ngơn ngữ thuộc loại hình này, ranh giới từ không chỉ đơn giản là
những khoảng trắng như trong các ngơn ngữ thuộc loại hình hịa kết như tiếng Anh…,
mà có sự liên hệ chặt chẽ giữa các tiếng với nhau, một từ có thể cấu tạo bởi một hoặc
nhiều tiếng. Vì vậy đối với các ngơn ngữ thuộc vùng Đơng Á, vấn đề của bài tốn tách
từ là khử được sự nhập nhằng trong ranh giới từ.
Hiện nay có rất nhiều phương pháp tách từ như: So khớp từ dài nhất (Longest
Matching); So khớp cực đại (Maximum Matching); Mơ hình Markov ẩn (Hidden
Markov Models- HMM); Học dựa trên sự cải biến (Transformation-based Learning –
TBL); Chuyển đổi trạng thái trọng số hữu hạn (Weighted Finite State Transducer –
WFST); Độ hỗn loạn cực đại (Maximum Entropy – ME); Máy học sử dụng vectơ hỗ
trợ (Support Vector Machines); Trường xác xuất có điều kiện (CRFs), ngồi ra cịn có
thể kết hợp những phương pháp trên.

1.3.7. Loại bỏ từ dừng
Để nâng cao tốc độ và độ chính xác phân loại, ta phải loại bỏ các từ khơng có ý
nghĩa cho phân loại văn bản. thông thường những từ này là những từ có số lần xuất
hiện q ít hoặc q nhiều. Ví dụ như: “và, hoặc, cũng, là, bởi…”. Tuy vậy việc loại
bỏ những từ này có thể khơng làm giảm đáng kể số lượng các đặc trưng. Với số lượng
các đặc trưng lớn bộ phân loại sẽ học chính xác tập tài liệu huấn luyện, nhưng trong
nhiều trường hợp vẫn cho kết quả dự đốn kém chính xác đối với các tài liệu mới. Để
tránh trường hợp này, ta phải có một tập dữ liệu mẫu đủ lớn để huấn luyện bộ phân
loại. Tuy vậy, thu thập tập dữ liệu mẫu đủ lớn tương ứng với số lượng đặc trưng
thường khó thực hiện được trong thực tế. Do đó để bài tốn có hiệu quả thực tiễn, cần
phải làm giảm số lượng đặc trưng.
Hiện nay có nhiều phương pháp chọn đặc trưng hiệu quả tuy nhiên với thời lượng


16
cho phép chỉ trình bày một số phương pháp đó là phương pháp lượng tin tương hỗ và
phương pháp tính tần số tương đối (Relative Frequency Count- RFC).
1.3.6.1. Phương pháp lượng tin tương hỗ
Phương pháp này sử dụng độ đo lượng tin tương hỗ giữa mỗi từ và mỗi lớp tài
liệu để chọn các từ tốt nhất. Lượng tin tương hỗ được tính như sau:
𝐼 (𝑋; 𝑌) = 𝐸𝑋,𝑌 [𝑆𝐼(𝑥, 𝑦)] = ∑ 𝑝(𝑥, 𝑦)𝑙𝑜𝑔
𝑥,𝑦

𝑝(𝑥, 𝑦)
𝑝(𝑥)𝑝(𝑦)

(1.1)

1.3.6.2. Phương pháp tính tần số tương đối
Cách tính tần số tương đối cho từ ghép có i tiếng được định nghĩa như sau:

𝑟𝑖 =

𝑓𝑖
𝐾

(1.2)

Trong đó, fi là số lần xuất hiện của từ ghép có i tiếng (ith n-gram) trong tập ngữ
liệu, K là số lần xuất hiện trung bình của một từ. Nói cách khác, fi được bình thường
hóa bằng cách chia cho K để lấy tỉ lệ liên quan. Cách tính RFC sẽ ưu tiên cho những từ
xuất hiện với tần số rất cao và loại bỏ những từ xuất hiện trong từ điển với tần số thấp.
RFC được dùng như một phương pháp hỗ trợ cho việc tách từ.
1.3.8. Phương pháp biểu diễn văn bản
Phương pháp biểu diễn văn bản đóng vai trị rất lớn trong bài tốn phân lớp văn
bản. Một văn bản được hình thành từ tập hợp các từ, trong đó mỗi từ được xem là một
thuộc tính hoặc một đặc trưng và văn bản đó tương ứng với một vector thuộc tính. Đơi
khi chỉ cần một từ đơn cũng đã mang lại được ý nghĩa ví dụ, sách, bút, tre, gỗ….Tuy
nhiên các thuộc tính có thể được biểu diễn dưới dạng các cụm hoặc chuỗi các từ, như
vậy sinh ra nhiều thuộc tính phức tạp tuy nhiên nó mang lại nhiều ý nghĩa hơn. Ví dụ,
cụm từ “Thành phố bên sông Hàn” mang lại nhiều thông tin hơn từng từ riêng biệt.
Trong thực tế, sử dụng mô hình ngơn ngữ N-gram sinh ra có q nhiều số lượng thuộc
tính làm cho bài tốn xử lý rất khó khăn. Có rất nhiều nghiên cứu về cách biểu diễn
văn bản khác nhau tuy nhiên để đạt hiệu quả tốt thì khơng có cách biểu diễn văn bản
nào tốt hơn cách biểu diễn bằng tập các từ riêng biệt được trích rút ra từ văn bản gốc.


×