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

Xây dựng bộ phân lớp các văn bản sử dụng thuật toán Maximum Entropy trên miền dữ liệu tội phạm : Luận văn ThS. Công nghệ thông tin: 60 48 01 04

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 (967.8 KB, 63 trang )

ĐẠIĐẠI
HỌC
QUỐC
GIAGIA
HÀHÀ
NỘI
HỌC
QUỐC
NỘI
TRƯỜNG
ĐẠI
HỌC
CÔNG
NGHỆ
TRƯỜNG
ĐẠI
HỌC
CÔNG
NGHỆ

LÊLÊ
ANH
TRUNG
ANH
TRUNG

XÂY
DỰNG
BỘ
PHÂN
LỚP


CÁC
VĂN
BẢN
SỬSỬ
XÂY
DỰNG
BỘ
PHÂN
LỚP
CÁC
VĂN
BẢN
DỤNG
THUẬT
TOÁN
MAXIMUM
ENTROPY
DỤNG
THUẬT
TOÁN
MAXIMUM
ENTROPY
TRÊN
MIỀN
DỮ
LIỆU
TỘI
PHẠM
TRÊN
MIỀN

DỮ
LIỆU
TỘI
PHẠM

Ngành:
Chuyên ngành:

LUẬN VĂN THẠC SĨ

Mã số:

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: Tiến sĩ Nguyễn Trí Thành

HÀ NỘI – 2015
Hà Nội – 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

LÊ ANH TRUNG

XÂY DỰNG BỘ PHÂN LỚP CÁC VĂN BẢN SỬ
DỤNG THUẬT TOÁN MAXIMUM ENTROPY
TRÊN MIỀN DỮ LIỆU TỘI PHẠM

Ngành


: Công nghệ Thông tin

Chuyên ngành

: Hệ thống Thông tin

Mã số

: 60480104

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. NGUYỄN TRÍ THÀNH

HÀ NỘI – 2015


LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Xây dựng bộ phân lớp các văn bản sử dụng thuật toán
Maximum Entropy trên miền dữ liệu tội phạm” là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả được trình bày trong luận văn là hoàn toàn trung thực và chưa từng
được công bố trong bất cứ một công trình nào khác.

Tôi đã trích dẫn đầy đủ các tài liệu tham khảo, công trình nghiên cứu liên quan ở
trong nước và quốc tế. Ngoại trừ các tài liệu tham khảo này, luận văn là công việc của
riêng tôi.

Hà Nội, tháng 6 năm 2015

Tác giả luận văn

Lê Anh Trung


LỜI CẢM ƠN

Trước tiên, tôi xin được gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Thầy giáo,
PGS. TS. Nguyễn Trí Thành, người đã tận tình chỉ bảo, hướng dẫn, động viên và giúp
đỡ tôi trong suốt quá trình thực hiện luận văn tốt nghiệp.

Tôi xin gửi lời cảm ơn tới ThS Nguyễn Minh Tiến, anh đã nhiệt tình giúp đỡ, hỗ
trợ và chỉ bảo tôi trong quá trình thực nghiệm của luận văn.

Cuối cùng, tôi muốn gửi lời cảm ơn tới bố mẹ hai bên gia đình, vợ và đặc biệt là
con gái - những người thân yêu luôn bên cạnh quan tâm, động viên tôi trong suốt quá
trình học tập và thực hiện luận văn tốt nghiệp này.

Tôi xin chân thành cảm ơn!

Hà Nội, tháng 6 năm 2015
Học viên

Lê Anh Trung


MỤC LỤC
Chương 1................................................................................................................................ 97
1.1. Bài toán phân lớp văn bản........................................................................................... 97


Formatted: Font: Not Bold, Not Italic, No
underline, Font color: Auto, Check spelling and
grammar

1.2. Xây dựng bộ phân lớp văn bản. .............................................................................. 1311
1.3. Quá trình tiền xử lý dữ liệu ..................................................................................... 1412
1.4. Đánh giá bài toán phân lớp. .................................................................................... 1614
1.5. Tổng kết. .................................................................................................................... 1715
Chương 2............................................................................................................................ 1816
2.1. Phương pháp sử dụng hệ luật ................................................................................. 1816
2.1.1. Luật cú pháp ........................................................................................................1816
2.1.2. Luật ngữ nghĩa (lexico-sematic) ..........................................................................1917
2.2. Phương pháp sử dụng học máy ............................................................................... 2018
2.2.1. Thuật toán K-người láng giềng gần nhất.............................................................2018
2.2.2. Mô hình cây quyết định ........................................................................................2220
2.2.3. Thuật toán máy hỗ trợ vector (SVM - Support Vector Machine).........................2321
2.2.4.................................................... Mô hình Entropy cực đại (Maximum Entropy)

Formatted: TOC 3, Line spacing:
2624
bullets or numbering

2.2.4.1. Nguyên lý Entropy cực đại………………………………………………… ...25
2.2.4.2. Các ràng buộc và đặc trưng…………………………………………………....25
2.2.4.3. Mô hình Entropy cực đại …………………………………………………..…..26
2.2.4.4. Entropy cực đại cho phân lớp văn bản….………………………………..…..27
2.2.4.5. Xây dựng các đặc trưng …………………………………………………..……27
2.2.4.6. Ưu điểm của mô hình Maximum Entropy……………………………...……..29
2.3. Tổng kết ..................................................................................................................... 3128
Chương 3............................................................................................................................ 3229

3.1. Một số đặc trưng của dữ liệu văn bản tiếng Việt. ................................................. 3229
3.2. Xây dựng các lớp trong miền dữ liệu tội phạm ..................................................... 3431
3.2.1. Khái niệm tội phạm theo bộ luật hình sự. ............................................................3431
3.2.2. Các lớp tội danh được xây dựng trong thực tế bài toán. .....................................3532
3.3. Phát biểu bài toánphân lớp các văn bản miền dữ liệu tội phạm trên văn bản tiếng
Việt. ................................................................................................................................ 3734
3.4. Tổng kết ..................................................................................................................... 4036
1

single, No


Chương 4............................................................................................................................ 4137
4.1. Dữ liệu chương trình ................................................................................................ 4137
4.2. Kết quả thực nghiệm. ............................................................................................... 4440
4.3. Tổng kết ..................................................................................................................... 4642
TỔNG KẾT ....................................................................................................................... 4743
Chương 1................................................................................................................................... 7
1.1. Bài toán phân lớp văn bản. .............................................................................................. 7
1.2. Xây dựng bộ phân lớp văn bản. ..................................................................................... 11
1.3. Quá trình tiền xử lý dữ liệu ............................................................................................ 12
1.4. Đánh giá bài toán phân lớp. ........................................................................................... 14
1.5. Tổng kết. ......................................................................................................................... 15
Chương 2................................................................................................................................. 16
2.1. Phương pháp sử dụng hệ luật ........................................................................................ 16
2.1.1. Luật cú pháp.............................................................................................................16
2.1.2. Luật ngữ nghĩa (lexico-sematic) ..............................................................................17
2.2. Phương pháp sử dụng học máy ..................................................................................... 18
2.2.1. Thuật toán K-người láng giềng gần nhất. ................................................................18
2.2.2. Mô hình cây quyết định ...........................................................................................20

2.2.3. Thuật toán máy hỗ trợ vector (SVM - Support Vector Machine)............................21
2.2.4. Mô hình Entropy cực đại (Maximum Entropy) .......................................................23
2.3. Tổng kết .......................................................................................................................... 26
Chương 3................................................................................................................................. 27
3.1. Một số đặc trưng của dữ liệu văn bản tiếng Việt. ......................................................... 27
3.2. Xây dựng các lớp trong miền dữ liệu tội phạm.............................................................. 28
3.2.1. Khái niệm tội phạm theo bộ luật hình sự. ................................................................28
3.2.2. Các lớp tội danh được xây dựng trong thực tế bài toán. ..........................................29
3.3. Phát biểu bài toán phân lớp các văn bản miền dữ liệu tội phạm trên văn bản tiếng Việt.
32
3.4. Tổng kết .......................................................................................................................... 34
Chương 4................................................................................................................................. 35
4.1. Dữ liệu chương trình ...................................................................................................... 35
4.2. Kết quả thực nghiệm. ..................................................................................................... 38
2


4.3. Tổng kết .......................................................................................................................... 39
TỔNG KẾT ................................................................................................................................ 41

DANH SÁCH CÁC BẢNG

3


Bảng 1: Các công cụ và phần mềm………....... ............................................... ......4137
Bảng 2: Kết quả pha phát hiện………....... ...................................................... ......4138
Bảng 3: Kết quả pha phân lớp………........ ..................................................... .......4238
Bảng 4: Kết quả pha phân lớp trực tiếp……… .................................. ....................4339


DANH SÁCH HÌNH VẼ

4


Hình 1: Biểu đồ tăng trưởng dữ liệu Internet tới năm 2020 .................................... ..98
Hình 2: Dữ liệu được sinh ra mỗi phút trên Internet…............................................ 109
Hình 3: Mô hình bài toán phân lớp văn bản… ........................................................ 110
Hình 4: Sơ đồ hoạt động bộ phân lớp văn bản… .................................................... 121
Hình 5: Mô tả thuật toán SVM… ........................................................................... 232
Hình 6: Quá trình phân lớp và phát hiện văn bản ................................................... ...37
33
Hình 7: Quá trình phân lớp trực tiếp văn bản… .....................................................3833

5


LỜI NÓI ĐẦU
Thời đại hiện nay - thời đại của Internet, với sự ảnh hưởng đi vào mọi ngóc ngách
của đời sống và tác động đến hầu hết cá nhân trong xã hội. Internet đã thay đổi hoàn
toàn cách sống của con người và thực sự là công cụ hết sức hữu ích phục vụ cho hầu hết
các lĩnh vực đời sống. Gần đây, với sự suất hiện ngày càng nhiều của các thiết bị thông
minh và xu hướng điều khiển, cập nhật các thiết bị thông qua Internet, cụm từ “Internet
of Things” đã được sử dụng ngày càng phổ biến, cho thấy xu hướng của tương lai thế
giới – mọi thứ đều được kết nối vào Internet.Do vậy, có thể nói rằng gần như mọi tri
thức của nhân loại đều có thể tìm thấy được bởi nguồn dữ liệu khổng lồ sinh ra từ
Internet, gồm các dạng dữ liệu về văn bản, hình ảnh, video....
Dữ liệuvăn bản, được lưu trên các websites với vô số các chủ đề, thể loại và dữ
liệu ở các website này cũng tăng lên một cách chóng mặt do sự bùng nổ của thông tin từ
Internet. Mọi thông tin từ lớn đến nhỏ, từ chính trị, kinh tế, xã hội đến giải trí, giáo

dục… đều được cập nhật hàng ngày, hằng giờ trên các website này. Việc tìm kiếm được
thực hiện bằng một thao tác đơn giản với các từ khóa, tuy nhiên thông tin nhận lại được
từ Internet là một khối lượng đồ sộ. Do vậy thông tin tuy rất lớn nhưng việc khai thác
các thông tin này một cách có hiệu quả là một việc làm không hề đơn giản. Khai phá dữ
liệu văn bản và phát hiện ra tri thức từ khối dữ liệu khổng lồ này là bài toán nhận được
nhiều quan tâm trong thời gian gần đây.
Khai phá dữ liệu văn bản là sự phân tích và trích lọc các thông tin từ một tập dữ
liệu văn bản lớn một cách tự động hoặc bán tự động để tìm thấy được các tri thức có lợi
trong quá trình tìm kiếm thông tin. Phân lớp văn bản là một bài toán cơ bản và quan
trọng của khai phá dữ liệu văn bản, đây là công việc gán văn bản vào một hay một số
nhóm chủ đề đã được biết trước. Được mô tả bằng quá trình tập dữ liệu văn bản đầu
vào, sau khi qua bộ phân lớp, sẽ được gán nhãn tương ứng với nội dung của nó.
Luận văn tập trung nghiên cứu về bài toán phân lớp văn bản, với miền dữ liệu
quan tâm là về miền dữ liệu tội phạm. Bao gồm các bước trình bày, giới thiệu về bài
6


toán, các phương pháp tiếp cận để giải quyết bài toán và kết quả thực nghiệm trong quá
trình nghiên cứu. Lý do tác giả chọn miền dữ liệu về tội phạm, do nhu cầu về phân lớp,
tổng hợp các tài liệu liên quan đến miền dữ liệu này là việc làm cần thiết, có thể sử
dụng các kết quả này trong việc phân tích, báo cáo xu hướng về các loại tội phạm. Qua
đó có thể tra cứu thông tin hiệu quả, rút ngắn thời gian xử lý các vụ án, đảm bảo an
ninh, trật tự xã hội. Cấu trúc luận văn được chia thành các chương như sau:
Chương 1: Giới thiệu về bài toán phân lớp văn bản trên miền dữ liệu về tội phạm
trong văn bản tiếng Việt từ các bài báo trên Internet. Chương này trình bày cơ bản về
khai phá dữ liệu văn bản nói chung và phân lớp văn bản nói riêng, trong bối cảnh bùng
nổ của công nghệ thông tin và mạng Internet. Về khối lượng thông tin mà người sử
dụng tiếp cận so với những thông tin có ích mà người dùng thực sự cần thiết. Tiếp theo
giới thiệu về ý nghĩa của bài toán phân lớp thông tin tội phạm trên văn bản tiếng Việt từ
các nguồn trên Internet.

Chương 2: Trình bày các phương pháp tiếp cận để giải quyết bài toán. Chương
này trình bày các phương pháp để giải quyết bài phân lớp văn bản. Bao gồm các
phương pháp sử dụng luật và sử dụng học máy. Trong phương pháp sử dụng học máy,
tác giả cũng trình bày các thuật toán được áp dụng như Người láng giềng gần nhất (KNearest Neighbor), mô hình cây quyết định, thuật toán máy hỗ trợ vector (SVM –
Support Vector Machine), mô hình Entropy cực đại (Maximum Entropy). Luận văn
cũng đưa ra đánh giá đối với từng phương pháp và đưa ra lý do khi quyết định sử dụng
phương pháp Maximum Entropy.
Chương 3:Trình bày về các đặc trưng của dữ liệu văn bản tiếng Việt, các lớp tội
danh được xây dựng trong quá trình phân lớp. Cuối cùng là phát biểu cụ thể bài toán
phân lớp văn bản trên miền dữ liệu tội phạm. Chương 3 cũng trình bày cụ thể về hai mô
hình của bài toán mà luận văn nghiên cứu, mô hình thứ nhất là phát hiện bài báo có liên
quan đến miền dữ liệu đang xét, sau đó mới phân lớp. Mô hình thứ hai là phân lớp trực
tiếp cho các bài báo dữ liệu đầu vào.

7


Chương 4: Áp dụng thực tế, trình bày kết quả và đánh giá.Chương này mô tả quá
trình thực nghiệm và đánh giá kết quả của phương pháp đề xuất dựa trên hai mô
hìnhcủa bài toán được trình bày ở chương 3.
Tổng kết: Phần tổng kết sẽ là phần đánh giá kết quả của luận văn, các kết quả của
thực nghiệm, những hạn chế và hướng phát triển trong tương lai.

8


Chương 1

GIỚI THIỆU VỀ BÀI TOÁN PHÂN LỚP VĂN
BẢN

Trong chương này tác giả sẽ trình bày giới thiệu về bài toán phân lớp văn bản, quá
trình xây dựng bộ phân lớp văn bản, quá trình tiền xử lý dữ liệu và cách đánh giá với
bài toán phân lớp mà tác giả đang thực hiện.
1.1.

Bài toán phân lớp văn bản.

Công nghệ thông tin đã tác động mạnh mẽ đến sự phát triển của tất cả các ngành
nghề trong đời sống xã hội và đặc biệt là sự ra đời của Internet. Đây thực sự là cuộc
cách mạng vĩ đại vì một trong số các ứng dụng nổi bật của Internet là Word Wide Web
đã mang lại cho chúng ta một kho kiến thức mà không một bộ bách khoa toàn thư hay
một hệ thống thư viện nào có thể so sánh được.
Theo Oracle – công ty hàng đầu về hệ quản trị cơ sở dữ liệu, dữ liệu trên Internet
từ năm 2008 đến năm 2020 sẽ tăng theo cấp số mũ, và đạt đến con số 45ZB (Zettabyte 1ZB = 270 B) vào năm 2020 [10]. Thời đại hiện nay của Internet là thời đại của những
Big Data, Cloud Computing hay Internet of Things. Dữ liệu được sinh ra ở khắp mọi
nơi trên Internet, từ mạng xã hội, từ các website, các trang chia sẻ nội dung, email… và
với nhiều dạng dữ liệu khác nhau như text, âm thanh, hình ảnh… Độ tăng trưởng của
dữ liệu cũng tăng lên cấp số mũ do công nghệ lưu trữ phát triển cùng với sự bùng nổ
của Internet và số lượng người dùng khổng lồ trên khắp thế giới. Theo báo cáo Visual
Networking Index của Cisco [11], tổng lưu lượng truyền tải dữ liệu của mạng Internet
toàn cầu trong năm 2010 là 20.2 exabyte mỗi tháng, tương đương với 242 exabyte mỗi
năm. Lưu lượng truyền tải dữ liệu trên Internet toàn cầu đã tăng gấp 8 lần chỉ trong 5
năm (từ 2006 đến 2010), và được dự báo sẽ tăng thêm 4 lần nữa – có thể đạt mức xấp xỉ
1 zettabyte (1 nghìn exabyte) tại thời điểm năm 2015. Chúng ta hiện đang ngập tràn
trong dữ liệu nhưng việc tìm kiếm chính xác thông tin cần thiết lại là điều khó khăn.
9


Hình 1: Biểu đồ tăng trưởng dữ liệu Internet tới năm 2020


Hình 1: Biểu đồ tăng trưởng dữ liệu Internet tới năm 2020
Theo trang [12]hiện nay với 2.4 tỉ người dùng Internet
trên thế giới, lượng dữ liệu được tính toán trong một phút trên Internet là những con số
khổng lồ. Ví dụ trong một phút, có 72 giờ video mới được chia sẻ trên YouTube,
2460000 nội dung mới được cập nhật trên mạng xã hội FaceBook hay hơn 4 triệu câu
truy vấn từ trang tìm kiếm Google… Mỗi ngày, con người tạo ra khoảng 2.5 * 1018 byte
dữ liệu. Khoảng 90% dữ liệu trên thế giới ngày nay được tạo ra chỉ trong 2 năm vừa
qua. Gần đây, với sự phát triển mạnh mẽ của các thiết bị thông minh, khái niệm Internet
of Things lại càng được nhắc đến và cho thấy viễn cảnh của tương lai công nghệ thế
giới. Khi đó mọi vật đều được cung cấp định danh và khả năng tự động truyền tải dữ
liệu thông qua mạng Internet mà không cần sự tương tác giữa con người với con người
hoặc con người với máy tính. “Thing” – sự vật – trong Internet of Things, có thể là một
con người với màn hình cấy ghép tim, một động vật trong trang trại với bộ tiếp sóng
chip sinh học, một chiếc xe ô tô tích hợp các cảm biến để cảnh báo lái xe khi lốp quá

10


non – hoặc bất kỳ đồ vật nào do tự nhiên sinh ra hoặc do con người sản xuất ra mà có
thể được gán với một địa chỉ IP và được cung cấp khả năng truyền tải dữ liệu qua mạng
lưới. Như vậy ta có thể nhìn thấy được trong tương lai, lượng dữ liệu sinh ra mỗi giây,
mỗi phút trên Internet là vô cùng lớn và đa dạng.

Hình 2: Dữ liệu được sinh ra mỗi phút trên Internet

Hình 2: Dữ liệu được sinh ra mỗi phút trên Internet

Từ các con số như trên, ta thấy rằng dữ liệu Internet đang có xu hướng bùng nổ
một cách mạnh mẽ, tuy nhiên để người dùng có được các tri thức hay các thông tin cần
thiết với nguồn dữ liệu Internet khổng lồ thì không phải điều dễ dàng. Do vậy, khai phá

11


dữ liệu, mà ở đây làà khai phá d
dữ liệu văn bản với đối tượng là nội
ội dung trang web, cụ
thể là nội dung các bài
ài báo trên website vvới một chủ đề cụ thể là hết
ết sức quan trọng
trọng.
Phân lớp văn bản là một trong
ong ssố các bài toán nằm trong công việcc khai phá dữ liệu văn
bản,
ản, có ý nghĩa quan trọng trong việc tổ chức cũng nh
như tìm kiếm
ếm thông tin tr
trên nguồn
dữ liệu lớn.
Phân lớp
ớp văn bản (Text Classification) llà quá trình phát hiện vàà gán nhãn (tên llớp)
cho các văn bản
ản ngôn ngữ một cách tự động v
vào một
ột hay nhiều lớp cho tr
trước tùy thuộc
theo nội
ội dung của văn bản đó. Mô hình hóa một
ột cách cụ thể, chức năng của bộ tự động
phân lớp
ớp văn bản hoạt động nh

như sau:

Hình 3:
3 Mô hình bài toán phân lớp văn bản

Hình 3:
3 Mô hình bài toán phân lớp văn bản
Bài toán phân lớp
ớp văn bản xuất hiện từ những thập ni
niên 60[13] với
ới các nghiên
nghi cứu
vềề việc tự động gán cho văn bản vvào một hay nhiều chủ đề cho trước, chỉ một thời gian
ngắn sau, nó đã trở thành
ành llĩnh vực nghiên cứu
ứu quan trọng trong hệ thống thông tin do
tính ứng dụng đa dạng trong thực tế. Phân lớp văn bản llà giai đoạn
ạn được
đ
thực hiện để
hỗ trợ trong quá trình
ình tìm ki
kiếm (Retrieval) hay trích chọn thông tin
n (Extraction), ttự
động
ộng sắp xếp cho văn bản tới những chủ đề xác định tr
trước. Ngoài
ài ra phân llớp văn bản
còn có thể được
ợ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 ttìm.

Để phân lớp được
ợc văn bản, chúng ta có thể sử dụng nhiều phương
ương pháp nh
như sử
dụng luật, hay sử dụng phương
ương pháp học
h máy. Trong phạm
ạm vi luận văn, chúng ta sẽ lần
12


lượt đề cập đến các phương pháp lu
luật và phương pháp học
ọc máy. Với ph
phương pháp học
máy có giám sát, tập
ập dữ liệu đđược chia làm hai tập
ập gồm tập huấn luyện (Training data
set) và tập
ập kiểm tra (Test data set). Bộ phân lớp sẽ xây dựng mô hhình
ình bằng
b
cách thông
qua các mẫu được
ợc học trong tập huấn luyện sau đó kiểm tra độ chính xác bằng tập dữ
liệu kiểm tra.
1.2.

Xây dựng
ựng bộ phân lớp văn bản.


Quá trình xây dựng
ựng bộ phân lớp dữ liệu gồm hai bước, bước
ớc thứ hai sử dụng kết
quả của bước
ớc thứ nhất để có thể thực hiện đđược
ợc chức năng của bộ phân lớp. Các bbước
bao gồm:
1. Xây dựng mô hình
ình phân lớp.
l
2. Sử dụng mô hình
ình vvừa được tạo để phân lớp dữ liệu.
Công cụụ để xây dựng mô hhình phân lớp thường dựa trên một
ột thuật toán phân lớp
qua bước học quy nạp. Ở b
bước 1, xây dựng mô hình phân lớp có hai giai đo
đoạn, gồm giai
đoạn training (huấn
ấn luyện ch
chương trình từ tập dữ liệu đầu vào) và giai đo
đoạn test (thực
hiện kiểm
ểm tra bộ phân lớp sau khi đđã được huấn luyện). Được
ợc thể hiện nh
như sơ đồ dưới
đây:
Hình 44: Sơ đồ hoạt động bộ phân lớp văn bản

13



Hình 4: Sơ đồ hoạt động bộ phân lớp văn bản
Bộ phân lớp văn bản sẽ áp dụng các phương pháp học máy để phân lớp được văn
bản như phương pháp Bayes, cây quyết định, K-người láng giềng gần nhất, máy vector
hỗ trợ hay Maximum Entropy…Đối với một số phương pháp đánh giá, tập dữ liệu
training được đưa vào bộ phân lớp ở giai đoạn đầu tiên chiếm 70% số lượng của tổng số
các tài liệu ban đầu, mà thuộc tính lớp của mỗi tài liệu đã biết (tức là đã được gán nhãn
– nên được gọi là phương pháp học máy có giám sát). Số lượng 30% các tài liệu còn lại
sử dụng cho tập dữ liệu test ở giai đoạn sau. Hệ thống sẽ sử dụng tập traning để xây
dựng mô hình (xác định các tham số cần thiết) phân lớp, sau đó sử dụng tập dữ liệu test
để đánh giá mô hình phân lớp vừa được xây dựng. Sau khi đã xây dựng được mô hình ở
bước 1, bước tiếp theo là sử dụng mô hình này để phân lớp cho dữ liệu mới. Như vậy
mô hình phân lớp là một ánh xạ từ miền dữ liệu đã có sang một miền giá trị cụ thể của
thuộc tính phân lớp, dựa vào các giá trị của thuộc tính dữ liệu.
1.3.

Quá trình tiền xử lý dữ liệu

Quá trình tiền xử lý dữ liệu được thực hiện trước khi đưa tập dữ liệu vào để bắt
đầu thực hiện các bước phân lớp. Đây là quá trình biểu diễn văn bản thành một dạng
logic mà thuật toán có thể xử lý được. Chúng ta sẽ sử dung mô hình không gian vector
để biểu diễn văn bản. Mô hình không gian vector (Vector space model) là một mô hình
đại số (algebraic model) thể hiện thông tin văn bản như một vector, các phần tử của
vector này thể hiện mức độ quan trọng của một từ và cả sự xuất hiện hay không xuất
hiện (Bag of words) của nó trong một tài liệu.Mô hình này biểu diễn văn bản như
những điểm trong không gian Euclid n-chiều [1], mỗi chiều tương ứng với một từ trong
tập hợp các từ. Phần tử thứ i, là

của vector văn bản cho biết số lần mà từ thứ i xuất


hiện trong văn bản. Sự tương đồng của hai văn bản được định nghĩa là khoảng cách
giữa các điểm, hoặc là góc giữa những vector trong không gian.Mỗi từ khóa trong một
tài liệu

được gán một trọng số

và do đó, mỗi tài liệu được biểu diễn như một

vector. Trọng số từ khóa có thể được tính toán bằng nhiều cách khác nhau.
Cách đơn giản nhất sử dụng phương pháp Boolean, là gán trọng số bằng một giá
trị nhị phân chỉ ra từ khóa có mặt hay không có mặt trong văn bản, tức là giá trị trọng số
14


là 1nếu từ khóa

xuất hiện ít nhất một lần trong tập tài liệu



là 0 trong

trường hợp ngược lại.
Ngoài ra, một số phương pháp tính trọng số của văn bản như phương pháp tính
trọng số tần suất Logarit (log-frequency), Log-frequency của một từt trong tài liệu d
được tính như sau:
,

=1+log(


Nếu

,

)

>0, nếu không thì

,

,

=0

Nếu từ đó không xuất hiện trong một tài liệu, thì

,

bằng 0. Và bởi vì log(0) là

một số không xác định, cho nên chúng ta phải cộng 1.Một từ xuất hiện trong tài liệu: 1
lần có w=1, 2 lần w=1.3, 10 lần w=2, 1000 lần w=4
Điểm cho một cặp document-query được tính bằng tổng của các trọng số của từt
trong cả document d và query q = ∑

∈ ∩

(1+log(


,

)). Điểm sẽ bằng 0 nếu như query

từ không xuất hiện trong tài liệu.
Phương pháp tính trọng số nghịch đảo văn bản (Inverse document weighting):
Từ hiếm thì quan trọng hơn những từ có tần suất xuất hiện cao. Trong mỗi ngôn
ngữ có những từ lặp đi lặp lại nhiều lần nhưng vô nghĩa (ví dụ trong tiếng Anh là a, the,
to, of v.v), nó được gọi là stopwords.
Đối với Tterm Ffrequency, thì những từ càng xuất hiện nhiều thì có điểm càng

Formatted: Font: (Default) Times New
Roman, Italic, No underline, Font color: Auto

cao, còn những từ hiếm thì điểm xếp hạng lại thấp hơn. Do đó chúng ta cần một cách
đánh giá khác với các từ hiếm, vì nó sẽ mang nhiều thông tin hơn là những từ phổ biến
trong văn bản.
Ví dụ trong một tập hợp các tài liệu về tội phạm, thì từ khóa “tội phạm” sẽ có khả
năng có mặt hầu hết trong tất cả các tài liệu. Để hạn chế nhược điểm này, người ta giới
thiệu cơ chế để giảm thiểu sự ảnh hưởng của việc này và tăng tính chính xác khi quyết
định sự phù hợp của tài liệu d và queryq. Ý tưởng là giảm trọng số của từ nào có tần
suất cao, bằng cách lấy tổng số tài liệu (N) chia cho số tài liệu mà một từ xuất hiện.
Nếu gọi
ích của t. (

là số văn bản chứa một term t thì

là cách đánh giá ngược sự hữu

bé hơn N là số tài liệu trong tập hợp mà chúng ta có).

15

Formatted: Font: (Default) Times New
Roman, Italic, No underline, Font color: Auto


của một từ t bởi:

Chúng ta định nghĩa trọng số
Chúng ta sử dụng log (N/

)thay vì N/

=log (N/

)

để giảm tác dụng ảnh hưởng của

, như đã nói ở trên do số lần một từ xuất hiện nhiều lần thì không có nghĩa là nó
quan trọng về ngữ nghĩa.
Các phương pháp tính trọng số trên đều có những ưu điểm và hạn chế riêng, trong
thực tế, phổ biến nhất thì phương pháp TF-IDF (term frequency–inverse document
frequency)là phương pháp để đánh giá và xếp hạng một từ trong một tài liệu. Hàm tính
trọng số từ khóa được xác định bởi công thức:
l,d

= freq l,d * log

Trong đó, tần suất từ khóa l trong tài liệu d :

l trong tài liệu d. Tần suất văn bản

.

là số lần xuất hiện của từ khóa

là số văn bản trong tập tài liệu có chứa từ khóa l

,m là tổng số tài liệu học. Trọng số TFIDF của một từ khóa biểu diễn độ quan trọng
của từ khóa.TFIDFcủa một từ khóa trong một tài liệu sẽ giảm nếu như từ đó xuất hiện
trong hầu hết các văn bản. Vì vậy, một từ xuất hiện quá ít hoặc quá nhiều được đánh giá
ít quan trọng hơn so với các từ xuất hiện cân bằng. Trọng số TFIDF của một từ khóa
trong toàn bộ tập tài liệu m được tính bởi công thức:
TFIDF = ∑
1.4.

TFIDFl∈ R

l,d

Đánh giá bài toán phân lớp.

Trong luận văn, tác giả sử dụng độ đo chính xác A để đánh giá hiệu quả của bộ
phân lớp.

Độ chính xác (A) =
-

ườ




â ớ

í

á

∑à ệ

Tổng số trường hợp phân lớp chính xác là số bài báo được bộ phân lớp đúng
với nhãn đã được gán từ trước.

-

Tổng số tài liệu là tất cả tài liệu được đưa vào bộ phân lớp.

Từ thông tin về độ đo A, tác giả sẽ có những kết luận rút ra cho bộ phân lớp của
mình, qua đó có thể đưa ra những cải thiện và bổ sung trong tương lai.Độ chính xác của
16


bộ phân lớp đã đạt được nhiều kết quả khả quan với ngôn ngữ là tiếng Anh, tuy nhiên
đối với tiếng Việt thì đang còn gặp nhiều khó khăn do vấn đề đặc trưng ngôn ngữ sẽ
được trình bày ở chương 3.

1.5.

Tổng kết.


Trong chương 1, luận văn đã trình bày cơ bản về bài toán xây dựng bộ phân lớp
văn bản trong thời đại bùng nổ dữ liệu. Trọng tâm của chương là trình bày các khái
niệm cơ bản về hoạt động của bộ phân lớp và cách xây dựng bộ phân lớp, quá trình tiền
xử lý dữ liệu cho bộ phân lớp và đánh giá bài toán phân lớp. Chương tiếp theo luận văn
sẽ trình bày các phương pháp tiếp cận để giải quyết bài toán phân lớp văn bản, gồm các
phương pháp áp dụng thuật toán K-người láng giềng gần nhất, Support Vector Machine,
Cây quyết định, Maximum Entropy. Phân tích và lựa chọn ra phương pháp áp dụng phù
hợp với bài toán.

17


Chương 2

MỘT SỐ PHƯƠNG PHÁP TIẾP CẬN BÀI TOÁN
PHÂN LỚP VĂN BẢN.
Trong chương này tác giả sẽ trình bày các phương pháp tiếp cận để giải quyết bài
toán phân lớp văn bản. Có hai phương pháp gồm phương pháp sử dụng hệ luật và
phương pháp sử dụng học máy [2], trong phương pháp học máy, tác giả sẽ trình bày các
thuật toán được sử dụng trong bộ phân lớp. Các phương pháp này bao gồm thuật toán
K-người láng giềng gần nhất, mô hình cây quyết định, thuật toán máy hỗ trợ vector
(SVM-Support Vector Machine) và mô hình Entropy cực đại (Maximum Entropy).
2.1.

Phương pháp sử dụng hệ luật

Phương pháp dựa trên tập luật hay còn được gọi là phương pháp dựa trên tri thức
(knowledge - driven). Phương pháp này dựa trên tri thức, thường sử dụng kiến thức
chuyên gia miền để sinh ra tập luật (thường là chuyên gia về ngôn ngữ và chuyên gia
miền dữ liệu), đòi hỏi đọc và hiểu dữ liệu sau đó sinh ra tập luật.

2.1.1. Luật cú pháp
Luật cú pháp, đôi khi còn đuợc gọi là mẫu cú pháp (lexico-syntactic patterns) có
thể coi là phương pháp sử dụng sớm trong bài toán phân lớp văn bản và trích chọn sự
kiện. Các mẫu này được sinh ra từ các chuyên gia miền (expert knowledge) dưới dạng
tập luật (rules) [3]. Điển hình cho phương pháp này là các luật được biểu diễn dưới
dạng biểu thức chính quy (regular expression).Các luật cú pháp là sự kết hợp biểu diễn
của các ký tự và các thông tin cú pháp với các biểu thức chính quy. Sau khi các biểu
thức chính quy đã được xây dựng, các biểu thức này sẽ được so khớp với dữ liệu trong
văn bản đầu vào để xác định các thông tin tương ứng của các thuộc tính. Đôi khi, luật
cú pháp được biểu diễn ở dạng đơn giản hơn, đó là các từ khoá. Tập luật cú pháp đuợc
sử dụng trong phân lớp văn bản và trích chọn sự kiện [14], [15]. Trong nghiên cứu của
mình, Nishihara và cộng sự sử dụng ba từ khoá: địa điểm (place), đối tượng (object), và
18


hành vi (action) để biểu diễn một sự kiện được trích chọn từ blogs [16]. Trong lĩnh vực
y sinh, Yakushiji và cộng sự sử dụng một bộ phân tích kết hợp với ngữ pháp để xác
định mối quan hệ và các sự kiện [17]. Còn trong lĩnh vực tiền và chính trị Aone và cộng
sự đã dùng luật cú pháp để trích chọn thông tin của sự kiện [18]. Luật cú pháp xác định
các tham số bên trong văn bản không xác định ý nghĩa văn bản. Khi sử dụng luật
đểphân lớp văn bản hay trích chọn sự kiện, đôi khi phải trích chọn khái niệm có ý nghĩa
đặc biệt hoặc mối quan hệ giữa các thành phần được trích chọn. Do đó, sử dụng luật cú
pháp không đáp ứng được điều này. Để giải quyết được điều này, phuơng pháp thường
sử dụng trong (rule–based) là sử dụng luật ngữ nghĩa (lexico-semantic patterns). Chi
tiết của luật ngữ nghĩa sẽ được trình bày trong phần tiếp theo.
2.1.2. Luật ngữ nghĩa (lexico-sematic)
Đôi khi phân lớp văn bản sử dụng luật, cần phải so sánh các khái niệm có ý nghĩa
đăc biệt giữa tập luật và dữ liệu đầu vào, mà phương pháp luật cú pháp không đáp ứng
được. Do đó, để giải quyết được điều này, phương pháp thường sử dụng trong (rule–
based) là sử dụng luật ngữ nghĩa. Các luật ngữ nghĩa không đơn giản là các từ được

biểu diễn dưới dạng biểu thức chính quy mà là các từ và mối quan hệ giữa chúng.
Luật ngữ nghĩa được sử dụng với nhiều mục đích và nhiềulĩnh vực khác nhau. Ví
dụ như, Li Fang và cộng sự đã sử dụng luật nghữ nghĩa đề trích chọn thông tin từ sàn
chứng khoán (stock market) [19]; Hay, Cohen và cộng sự [20] sử dụng khái niệm bộ
nhận dạng (recognizer) trên miền dữ liệu y sinh để trích chọn thông tin y sinh từ tập
dữ liệu; Capet và các cộng sự sử dụng mẫu ngữnghĩa đề trích chọn sự kiện cho hệ
thống cảnh báosớm [21]; Còn Vargas-Vera và Celjuska đề xuất một bộ khung
(framework) cho việc nhận diện các sự kiện tập trung trên báo Knowledge Media
Institute (KMI) [22].
Trích chọn sự kiện trong văn bản phi cấu trúc có thể được ứng dụng trong nhiều
lĩnh vực như: tài chính, chứng khoán, y sinh, bản tin pháp luật… Có lẽ sẽlà chưa đầy đủ
nếu không đề cấp chi tiết hơn đến hình dạng và biểu diễn của tập luật trong trích chọn
thực thể.

19


2.2.

Phương pháp sử dụng học máy

2.2.1. Thuật toán K-người láng giềng gần nhất.
K-Nearest Neighbors algorithm (KNN) [4] được sử dụng rất phổ biến trong lĩnh
vực Data Mining. KNN là phương pháp để phân lớp các đối tượng dựa vào khoảng cách
gần nhất giữa đối tượng cần xếp lớp với tất cả các đối tượng trong Training Data.
Một đối tượng được phân lớp dựa vào k láng giềng của nó. K là số nguyên dương
được xác định trước khi thực hiện thuật toán. Người ta thường dùng khoảng cách
Euclidean để tính khoảng cách giữa các đối tượng.Thuật toán KNN dùng trong phân lớp
được mô tả như sau:
-


Xác định giá trị tham số K (số láng giềng gần nhất).

Formatted: Indent: Left: 0.38", Hanging:
0.25"

-

Tính khoảng cách giữa đối tượng cần phân lớp với tất cả các đối tượng trong

Formatted: Indent: Left: 0.38", Tab stops:
Not at 1"

training data (thường sử dụng khoảng cách Euclidean, Cosine…).
-

Sắp xếp khoảng cách theo thứ tự tăng dần và xác định k láng giềng gần nhất với

Formatted: Indent: Left: 0.38"

đối tượng cần phần lớp.
-

Lấy tất cả các lớp của k láng giềng gần nhất đã xác định.

-

Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho đối tượng.
Áp dụng cho bài toán phân loại văn bản: Ý tưởng: Khi cần phân loại một văn


bản mới, thuật toán sẽ tính khoảng cách (khoảng cách Euclidean, Cosine…) của tất cả
các văn bản trong tập huấn luyện đến văn bản này để tìm ra k văn bản gần nhất (gọi là k
“láng giềng”), sau đó dùng các khoảng cách này đánh trọng số cho tất cả chủ đề. Trọng
số của một chủ đề chính là tổng tất cả các văn bản trong k láng giềng có cùng chủ đề,
chủ đề nào không xuất hiện trong k láng giềng sẽ có trọng số bằng 0. Sau đó các chủ đề
sẽ được sắp xếp theo mức độ giảm dần và các chủ đề có trọng số cao sẽ được chọn là
chủ đề của văn bản cần phân loại.Khoảng cách giữa 2 văn bản chính là độ tương tự giữa
2 văn bản đó, 2 văn bản có giá trị độ tương tự càng lớn thì khoảng cách càng gần nhau.
Thông thường các thuật toán sẽ gồm 2 giai đoạn huấn luyện và phân lớp, riêng đối
với thuật toán KNN do thuật toán này không cần tạo ra mô hình khi làm trên tập huấn
luyện các văn bản đã có nhãn/lớp sẵn, nên không cần giai đoạn huấn luyện (giai đoạn

20

Formatted: Indent: Left: 0.38", Hanging:
0.25"


huấn luyện của KNN là gán nhãn cho các văn bản trong tập huấn luyện bằng cách gom
nhóm các văn bản có vector đặc trưng giống nhau thành cùng 1 nhóm).
Mô tả vector đặc trưng của văn bản: Là vector có số chiều là số đặc trưng trong
toàn tập dữ liệu, các đặc trưng này đôi một khác nhau. Nếu văn bản có chứa đặc trưng
đó sẽ có giá trị 1, ngược lại là 0.
Đầu vào:
-

Vector đặc trưng của văn bản cần phân lớp.

-


Các vector đặc trưng của văn bản trong tập huấn luyện (Ma trận MxN, với M là số
vector đặc trưng trong tập huấn luyện, N là số đặc trưng của vector).

-

Tập nhãn/lớp cho từng vector đặc trưng của tập huấn luyện.
Đầu ra:

-

Nhãn/lớp của văn bản cần phân loại.
Quá trình phân lớp gồm các bước sau:

-

Xác định giá trị tham số K (số láng giềng gần nhất). Tùy vào mỗi tập huấn luyện
(số lượng mẫu trong tập huấn luyện, không gian tập mẫu có phủ hết các trường
hợp…) mà việc chọn số K sẽ ảnh hưởng đến kết quả phân lớp.

-

Lần lượt duyệt qua các văn bản (được đại diện bằng vector đặc trưng của văn bản)
trong tập huấn luyện và tính độ tương tự của văn bản đó với văn bản cần phân lớp.

-

Sau khi đã có mảng các giá trị lưu độ tương tự của văn bản cần phân lớp với các
văn bản trong tập huấn luyện, ta sắp xếp độ tương tự các văn bản theo thứ tự giảm
dần (lưu ý đây là độ tương tự, độ tương tự càng lớn tức là khoảng cách càng gần)
và lấy ra k văn bản đầu tiên trong mảng (tức là k văn bản gần với văn bản cần

phân lớp nhất).

-

Khởi tạo mảng A có độ dài bằng số phân lớp để lưu số văn bản của mỗi lớp. Duyệt
qua k văn bản, đếm số văn bản trong từng phân lớp và lưu vào mảng.

-

Duyệt qua mảng A, tìm lớp có số văn bản nhiều nhấtvà chọn là lớp cho văn bản
mới.
Thuật toán K-NN có ưu điểm là đơn giản, dễ hiểu, dễ cài đặt. Hạn chế lớn nhất của

thuật toán là nó phải tính toán khoảng cách và sắp xếp tất cả dữ liệu training với mỗi lần
21


×