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

NGHIÊN CỨU ỨNG DỤNG MẠNG BAYES XÂY DỰNG HỆ THỐNG TỰ ĐỘNG PHÂN LOẠI VĂN BẢN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

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 (7.02 MB, 74 trang )

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

PHẠM VŨ NHẬT HUY

NGHIÊN CỨU ỨNG DỤNG MẠNG BAYES
XÂY DỰNG HỆ THỐNG TỰ ĐỘNG
PHÂN LOẠI VĂN BẢN

Chuyên ngành : KHOA HỌC MÁY TÍNH
Mã số
: 60.48.01.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. Đặng Hoài Phương

Đà 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 riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được
ai công bố trong bất kỳ cơng trình nào khác.
Học viên

Phạm Vũ Nhật Huy



MỤC LỤC
DANH MỤC CÁC BẢNG - BIỂU
LỜI MỞ ĐẦU .................................................................................................. 1
Chương 1. TỔNG QUAN CÁC MƠ HÌNH, PHƯƠNG PHÁP VÀ HỆ
THỐNG PHÂN LOẠI VĂN BẢN ................................................................. 5
1.1. TỔNG QUAN VỀ PHÂN LOẠI VĂN BẢN ......................................... 5
1.2. CÁC MƠ HÌNH VÀ PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN ........ 7
1.2.1. Xử lý văn bản .................................................................................... 7
1.2.2. Phương pháp phân loại văn bản ........................................................ 9
1.2.2.1. Phương pháp K-Nearest Neighbor (KNN) .................................... 9
1.2.2.2. Phương pháp Linear Least Square Fit (LLSF) ............................ 11
1.2.2.3. Phương pháp cây quyết định (Decision tree) ............................... 11
1.2.2.4. Support Vector Machines (SVM) ................................................ 12
1.2.2.5. Neural Network (NNet) ............................................................... 13
1.2.2.6. Centroid - Based Vector............................................................... 15
1.3. KẾT LUẬN CHƯƠNG ........................................................................ 18
Chương 2. HỆ THỐNG PHÂN LOẠI VĂN BẢN .................................. 19
2.1. XÂY DỰNG MÔ HÌNH PHÂN LOẠI VĂN BẢN ............................. 19
2.2. CÁC GIAI ĐOẠN TRONG HỆ THỐNG ............................................ 22
2.2.1. Tiền xử lý văn bản .......................................................................... 22
2.2.2. Tách từ ............................................................................................ 22
2.2.3. Phương pháp phân loại văn bản sử dụng thuật tốn Nạve Bayes.. 24
2.2.3.1. Lý thuyết xác suất Bayes ............................................................. 25
2.2.3.2. Phân loại văn bản dựa trên Nạve Bayes ..................................... 29
2.2.4. Phương pháp giảm kích thước tập văn bản huấn luyện .................. 32
2.2.4.1. Phương pháp Latent Semantic Analysis: ..................................... 32
2.2.4.2. Kỹ thuật SVD - LSA áp dụng tối ưu hóa tập văn bản huấn luyện:
......................................................................................................................... 33
2.3. KẾT LUẬN CHƯƠNG ........................................................................ 38
Chương 3. THIẾT KẾ VÀ TRIỂN KHAI THỬ NGHIỆM HỆ THỐNG 39

3.1. PHÁT TRIỂN HỆ THỐNG PHÂN LOẠI VĂN BẢN ........................ 39
3.2. THIẾT KẾ HỆ THỐNG PHÂN LOẠI VĂN BẢN.............................. 40
3.2.1. Biểu đồ use-case ............................................................................. 40


3.2.2. Biểu đồ tuần tự ................................................................................ 41
3.2.3. Thiết kế cơ sở dữ liệu của hệ thống ................................................ 41
3.2.4. Môi trường và công cụ phát triển hệ thống .................................... 43
3.2.5. Các chức năng của chương trình .................................................... 44
3.3. TRIỂN KHAI THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ ............... 48
3.3.1. Xây dựng dữ liệu văn bản huấn luyện ............................................ 48
3.3.2. Triển khai hệ thống ......................................................................... 49
3.3.3. Kết quả thực nghiệm ....................................................................... 50
3.4. KẾT LUẬN CHƯƠNG ........................................................................ 50
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................... 51
DANH MỤC TÀI LIỆU THAM KHẢO


NGHIÊN CỨU ỨNG DỤNG MẠNG BAYES XÂY DỰNG HỆ THỐNG
TỰ ĐỘNG PHÂN LOẠI VĂN BẢN
Học viên: Phạm Vũ Nhật Huy Chun ngành: Khoa khọc máy tính
Mã số: 60.48.01.01 Khóa: K31 - Trường Đại học Bách khoa - ĐHĐN
Tóm tắt - Với sự phát triển vượt bậc của Internet trong thời đại này, thì việc tìm
kiếm văn bản rất dễ dàng; tuy nhiên vấn đề đặt ra là làm sao tìm kiếm được văn bản phù
hợp với mục đích người dùng trong khi lượng cơ sở dữ liệu văn bản là rất lớn. Trong luận
văn này, tác giả đã đề xuất mơ hình phân loại văn bản nhằm giúp cho việc tìm kiếm dễ
dàng và nhanh chóng hơn. Mơ hình phân loại văn bản đề xuất sử dụng lý thuyết Naïve
Bayes - phương pháp phân loại dựa vào xác suất. Bên cạnh đó, tác giả sử dụng Latent
Semantic Analysis để tối ưu hóa, giảm kích thước tập văn bản huấn luyện. Xây dựng hệ
thống tự động phân loại văn bản trên cơ sở mơ hình đề xuất.

Từ khóa – phân loại văn bản, phân tích ngữ nghĩa tiềm ẩn, mạng Bayes, phân tích
tập huấn luyện, xử lý ngơn ngữ tự nhiên.

RESEARCH BAYESIAN NETWORK STRUCTURE AND APPLIED
TO DOCUMENT CLASSIFICATION SYSTEM
Abstract - Nowadays the internet has increasingly developed, and searching
documents by Internet is very easy. But, the problem is how to find suitable documents for
needs of the user while the databases on the Internet is very large and separate to many
different specialties. In this thesis, the author has proposed a documents classification
model to make the process of searching is easier and faster. The proposed model uses the
Naïve Bayes theory - a popular classification technique based on probability. In addition,
the author uses Latent Semantic Analysis to optimize and reduce the size of the training
text. Beside that, the author build a document classification system based on the proposed
model.
Keywords – document classification, Latent semantic analysis, Bayes network,
analysis training data, natural language processing.


DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt
PLVB

Tiếng Anh

Tiếng Việt
Phân loại văn bản

LSA

Latent semantic analysis


SVD
LLSF

Singular Value Decomposition Phân tích giá trị đơn
Linear Least Square Fit
Bình phương tối thiểu

KNN

K-Nearest Neighbor

K láng giềng gần nhất (phân
loại văn bản)

SVM

Support vector Machine

Máy véc-tơ hỗ trợ

NNet

Neural Network

Mạng Nơ-ron

NB

Nạve Bayes


Phân tích ngữ nghĩa tiềm ẩn


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

Tên bảng

Trang

1.1

Bảng ví dụ phương pháp KNN

10

1.2

Bảng so sánh ưu, nhược điểm của các phương pháp

16

PLVB
2.1

Ví dụ điển hình thuật tốn Nạve Bayes

26


2.2

Xác suất của giai đoạn Huấn luyện

28

2.3

Bảng dữ liệu tập huấn luyện

30

3.1

Thông tin về chủ đề

42

3.2

Thơng tin từ được tách

42

3.3

Thơng tin từ khóa cho chủ đề huấn luyện

43


3.4

Thông tin văn bản huấn luyện

43

3.5

Thông tin phân loại

43

3.6

Bảng thông tin dữ liệu văn bản huấn luyện

49

3.7

Bảng kết quá phân loại văn bản bằng tay

49

3.8

Bảng so sánh kết quả phân loại văn bản giữa người và

50


máy


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

Tên bảng

Trang

1.1

Bài tốn phân loại văn bản

5

1.2

Hình minh họa SVM

13

1.3

Kiến trúc mơ đun (Modular Architecture).

14

2.1


Mơ hình PLVB trên cơ sở thuật tốn Nạve Bayes và

20

LSA
2.2

Quy trình tách từ của cơng cụ vnTokenizer

23

2.3

Mơ tả cơng thức kỹ thuật SVD

33

2.4

Mô tả công thức kỹ thuật SVD áp dụng thực tế

37

3.1

Màn hình Xử Lý Tập Huấn Luyện

45

3.2


Màn hình chức năng Phân Loại Văn Bản

46

3.3

Màn hình Kết Quả Phân Loại Văn Bản

47

3.4

Màn hình Quản Lý

48


DANH MỤC CÁC SƠ ĐỒ
Số hiệu

Tên sơ đồ

Trang

2.1

Sơ đồ hoạt động của LSA

35


3.1

Sơ đồ các chức năng của hệ thống phân loại văn bản

39

3.2

Use-case Xử lý tập huấn luyện

40

3.3

Use-case Phân loại văn bản

40

3.4

Use-case Quản lý chủ đề

40

3.5

Use-case Quản lý văn bản huấn luyện

41


3.6

Biểu đồ tuần tự xử lý phân loại văn bản

41

3.4

Sơ đồ mối quan hệ của các Bảng dữ liệu

42


1

LỜI MỞ ĐẦU
1. Lý do chọn đề tài:
Ngày nay con người không ngừng chia sẻ dữ liệu thông tin về tất cả các
đề tài trong cuộc sống, điều đó đã làm cho số lượng các tập tin văn bản xuất
hiện trên mạng Internet ngày càng một nhiều hơn, dẫn đến khó khăn trong
việc tìm kiếm dữ liệu văn bản.
Vấn đề đặt ra của các hệ thống truy cập thông tin là phải làm việc và xử
lý lượng dữ liệu ban đầu quá nhiều mà lượng truy cập thì rất lớn. Vì vậy việc
phân loại văn bản là việc làm cấp thiết nhằm giúp cho việc truy cập dữ liệu
một cách nhanh chóng hơn. Với một lượng cơ sở dữ liệu lớn không thể so
sánh từng văn bản một, việc này sẽ tạo ra thời gian dư thừa để tổ chức và tìm
kiếm các dữ liệu khả quan hơn. Do đó việc phân loại văn bản theo các nhóm
dữ liệu là vấn đề quan trọng trọng lĩnh vực xử lý ngôn ngữ.
Trong luận văn này, tác giả sẽ tập trung nghiên cứu ứng dụng mạng

Bayes và Latent Semantic Analysis để áp dụng xây dựng hệ thống tự động
phân loại văn bản. Mơ hình phân loại văn bản đề xuất sử dụng lý thuyết Naïve
Bayes - phương pháp phân loại dựa vào xác suất nhằm tăng tốc độ phân loại
và Latent Semantic Analysis để tối ưu hóa, giảm kích thước tập văn bản huấn
luyện hoặc giảm độ lớn của tập huấn luyện.
Vì những lý do như trên, tác giả đề xuất chọn đề tài luận văn cao học:
“Nghiên cứu ứng dụng mạng Bayes xây dựng hệ thống tự động phân loại
văn bản”.
2. Mục đích và ý nghĩa đề tài:
a. Mục đích
- Nghiên cứu, phân tích các mơ hình, phương pháp phân loại văn bản;
- Nghiên cứu và ứng dụng mạng Bayes để xây dựng mơ hình phân loại
văn bản và sử dụng Latent Semantic Analysis để tối ưu hóa kích thước
tập văn bản huấn luyện;


2

- Hiện thực hóa hệ thống tự động phân loại văn bản trên cơ sở mơ hình
đề xuất.
b. Ý nghĩa khoa học
- Đề xuất mơ hình phân loại văn bản dựa trên mạng Bayes và Latent
Semantic Analysis;
- Kết quả có thể làm tài liệu tham khảo trong lĩnh vực phân loại văn bản.
c. Ý nghĩa thực tiễn
- Xây dựng được hệ thống tự động phân loại văn bản áp dụng trong thực
tế.
3. Mục tiêu và nhiệm vụ:
a. Mục tiêu
Mục tiêu chính của đề tài là nghiên cứu và áp dụng mạng Bayes để phân

loại văn bản và sử dụng Latent Semantic Analysis để tối ưu hóa kích thước
tập văn bản huấn luyện, từ đó đề xuất mơ hình phân loại văn bản và phát triển
hệ thống tự động phân loại văn bản trên cơ sở mơ hình đề xuất. Để thỏa 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, phân tích các mơ hình, phương pháp và hệ thống phân loại
văn bản hiện nay;
- Nghiên cứu & ứng dụng mạng Bayes và Latent Semantic Analysis để
xây dựng mơ hình phân loại văn bản;
- Hiện thực hóa mơ hình đề xuất và triển khai trong thực tế.
b. Nhiệm vụ
Để đạt được những mục tiêu trên thì nhiệm vụ đặt ra của đề tài là:
- Phân tích và nắm vững các mơ hình, phương pháp phân loại văn bản,
đưa ra bài toán cần giải quyết.
- Phân tích và đề xuất mơ hình giải quyết bài tốn;
- Hiện thực hóa hệ thống dựa trên mơ hình đề xuất và triển khai, đánh giá
kết quả đạt được trong thực tế.


3

4. Đối tượng và phạm vi nghiên cứu:
Trong khuôn khổ của luận văn thuộc loại nghiên cứu và ứng dụng, tác
giả chỉ giới hạn nghiên cứu các vấn đề sau:
- Các mơ hình phân loại văn bản;
- Nghiên cứu mạng Bayes, Latent Semantic Analysis.
5. Phương pháp nghiên cứu:
a. Phương pháp lý thuyết
Tiến hành thu thập và phân tích các tài liệu có liên quan đến đề tài;
Nghiên cứu mạng Bayes, Latent Semantic Analysis;
Đánh giá lựa chọn phương hướng giải quyết vấn đề.

b. Phương pháp thực nghiệm
- Nghiên cứu đề xuất giải pháp, mơ hình phân loại văn bản;
- Hiện thực hóa hệ thống trên cơ sở mơ hình đề xuất;
- Cài đặt hệ thống và triển khai thực tế, nhận xét và đánh giá kết quả đạt
được.
6. Phương pháp nghiên cứu:
- Ngơn ngữ lập trình C# – Microsoft Visual Studio;
- Hệ quản trị cơ sở dữ liệu SQL Server 2008.
7. Kết luận
a. Kết quả của đề tài
- Đề xuất mô hình phân loại văn bản dựa trên mạng Bayes và Latent
Semantic Analysis;
- Hiện thực hóa hệ thống tự động phân loại văn bản trên cơ sở mơ hình
đề xuất;
- Triển khai hệ thống trong thực tế và đánh giá hiệu quả của mơ hình.
b. Hướng phát triển của đề tài
- Áp dụng xử lý đa luồng nhằm nâng cao hiệu quả;
- Tiếp tục nghiên cứu pháp triển để nâng cao tính chính xác của mơ hình
đề xuất.


4

8. Kết cấu đề tài:
Chương 1: Tổng quan các mô hình, phương pháp và hệ thống phân loại
văn bản.
Chương 2: Nghiên cứu và ứng dụng mạng Bayes xây dựng mô hình
phân loại văn bản.
Chương 3: Xây dựng hệ thống, triển khai và đánh giá.



5

Chương 1.

TỔNG QUAN CÁC MƠ HÌNH, PHƯƠNG

PHÁP VÀ HỆ THỐNG PHÂN LOẠI VĂN BẢN
1.1. TỔNG QUAN VỀ PHÂN LOẠI VĂN BẢN
Phân loại văn bản là sự phân loại không cấu trúc các tài liệu văn bản dựa
trên một tập hợp của một hay nhiều loại văn bản đã được định nghĩa trước.
Quá trình này thường được thực thi bằng một hệ thống tự động gán cho các
tài liệu văn bản một loại nào đó. Trong thực tế ứng dụng quan trọng nhất của
phân loại văn bản là giới hạn phạm vi tìm kiếm thơng tin (bởi thay cho việc
phải lục soát tất cả các tài liệu họ chỉ tập trung vào một số loại văn bản có liên
quan đến thơng tin mà họ cần tìm kiếm) [22]. Phân loại văn bản góp phần
quan trọng trong việc tổ chức thơng tin và quản lí tài liệu. Ứng dụng phổ biến
nhất của phân loại văn bản là trợ giúp cho việc tìm kiếm và lọc văn bản do đó
tăng tốc độ truy cập thơng tin. Phân loại văn bản cũng đóng vai trị quan trọng
trong việc đa dạng hóa và chun nghiệp hóa các cơng việc quản lí thơng tin
như là: việc sắp xếp các loại thư điện tử hoặc các file trong các hệ thống, xác
minh chủ đề để trợ giúp cho các tiến trình hoạt động xử lí, tìm kiếm hay duyệt
các cấu trúc, hoặc để tìm kiếm các loại tài liệu mà người dùng quan tâm.
Loại
thứ 1
Dữ liệu
đầu vào

Thuật tốn phân
loại văn bản


Loại
thứ 2
Loại
thứ n

Hình 1.1: Bài tốn phân loại văn bản
Việc phân loại văn bản vào các tập hợp hoặc cấu trúc được thiết lập theo
những tiêu chí khác nhau, như phân loại theo độ ưu tiên, theo chủ đề, và hầu
hết những việc làm này 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à


6

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 loại cực kỳ
lớn như hiện nay thì việc phân loại văn bản 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:
- Đố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ề 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 (nhận định) của nhiều người 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 loại 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 loại thống kê và kĩ thuật học
máy như Bayesian, máy vector hỗ trợ (Support Vector Machines), KNearest Neighbor, 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 loại 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 sinh ra và lưu trữ điện tử. Các bài báo
khoa học và giải trí là những ví dụ về tập các tài liệu điện tử. Với sự phát triển
ngày càng mạnh mẽ của mạng Internet và Intranet đã tạo ra nguồn thông tin
vô cùng phong phú. Các kỹ thuật phân loại văn bản sẽ giúp cho nguồn dữ liệu
này đã được lưu trữ tự động một cách hiệu quả và được tìm kiếm nhanh
chóng.
Phân loại 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 [22]. Phân loại văn bản là cơng việc được sử dụng
để hỗ trợ trong q 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 dẫn đường cho


7

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
loại văn bản là trong lĩnh vực hiểu văn bản. Phân loại 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.2. CÁC MƠ HÌNH VÀ PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN
1.2.1. Xử lý văn bản
a) Đặc điểm của từ trong Tiếng Việt
Tiếng Việt thuộc ngôn ngữ đơn lập, tức là mỗi một tiếng (âm tiết) được
phát âm tách rời nhau và được thể hiện bằng một chữ viết. Đặc điểm này thể
hiện rõ rệt ở tất cả các mặt ngữ âm, từ vựng, ngữ pháp [23].
Đặc điểm ngữ âm: Trong tiếng Việt có một loại đơn vị đặc biệt gọi là
"tiếng". Về mặt ngữ âm, mỗi tiếng là một âm tiết. Hệ thống âm vị tiếng Việt
phong phú và có tính cân đối, tạo ra tiềm năng của ngữ âm tiếng Việt trong

việc thể hiện các đơn vị có nghĩa. Nhiều từ tượng hình, tượng thanh có giá trị
gợi tả đặc sắc. Khi tạo câu, tạo lời, người Việt rất chú ý đến sự hài hoà về ngữ
âm, đến nhạc điệu của câu văn.
Đặc điểm từ vựng: Mỗi tiếng, nói chung, là một yếu tố có nghĩa. Tiếng là
đơn vị cơ sở của hệ thống các đơn vị có nghĩa của tiếng Việt. Từ tiếng, người
ta tạo ra các đơn vị từ vựng khác để định danh sự vật, hiện tượng, ... chủ yếu
nhờ phương thức ghép và phương thức láy.
Đặc điểm ngữ pháp: Từ của tiếng Việt khơng biến đổi hình thái. Đặc điểm
này sẽ chi phối các đặc điểm ngữ pháp khác. Khi từ kết hợp từ thành các kết
cấu như ngữ, câu, tiếng Việt rất coi trọng phương thức trật tự từ.
Việc sắp xếp các từ theo một trật tự nhất định là cách chủ yếu để biểu thị
các quan hệ cú pháp. Khi các từ cùng loại kết hợp với nhau theo quan hệ
chính phụ thì từ đứng trước giữ vai trò chính, từ đứng sau giữ vai trò phụ.
Trật tự chủ ngữ đứng trước, vị ngữ đứng sau là trật tự phổ biến của kết cấu
câu tiếng Việt.


8

Từ: Có rất nhiều quan niệm về từ trong tiếng Việt, từ nhiều quan niệm về
từ tiếng Việt khác nhau đó chúng ta có thể thấy đặc trưng cơ bản của "từ" là
sự hoàn chỉnh về mặt nội dung, từ là đơn vị nhỏ nhất để đặt câu.
Người ta dùng "từ" kết hợp thành câu chứ không phải dùng "tiếng", do đó
q trình tách câu thành các "từ" cho kết quả tốt hơn là tách câu bằng “tiếng”.
b) Đặc trưng văn bản
Đối với mỗi một văn bản luôn chứa tập các từ khóa và gọi tập các từ khóa
này là tập các thuật ngữ (term). Một phần tử trong tập term thì đơn giản là
một từ, mà ngữ nghĩa của từ này giúp tạo thành nên nội dung của văn bản
[23].
Giả sử cho một tập term của một văn bản nào đó, chúng ta có thể nhận

thấy rằng khơng phải tất cả các từ trong tập term này đều có mức độ quan
trọng như nhau trong việc mô tả nội dung văn bản. Ví dụ, bây giờ chúng ta
xét một tập gồm một ngàn văn bản, giả sử có một từ A nào đó xuất hiện trong
một ngàn văn bản này thì chúng ta có thể khẳng định rằng từ A này không
quan trọng và chúng ta sẽ không quan tâm đến nó, bởi vì chắc chắn là nó sẽ
khơng cho chúng ta biết được về nội dung của các văn bản này. Vì vậy từ A
sẽ bị loại ra khỏi tập các term, khi chúng ta xây dựng tập term cho văn bản để
miêu tả nội dung ngữ nghĩa của các văn bản này. Kết quả này có được thông
qua thao tác xác định trọng số cho mỗi một từ trong tập term của một văn bản.
c) Biểu diễn văn bản
Để có thể xử lý được các văn bản, thì phải chuyển chúng về dạng dữ liệu
có cấu trúc. Để thực hiện được công việc này, người ta đưa ra các mơ hình
biểu diễn văn bản. Mơ hình biểu diễn văn bản có ảnh hưởng rất nhiều đến
hiệu quả và hiệu suất xử lý các văn bản. Tùy mục đích, yêu cầu đặt ra của ứng
dụng mà chúng ta lựa chọn mơ hình biểu diễn và phương pháp xử lý phù hợp
[23].
Các mơ hình biểu diễn văn bản đã được sử dụng như mơ hình logic, mơ
hình phân tích cú pháp, mơ hình khơng gian véc-tơ.


9

Bản chất của mơ hình khơng gian véc-tơ là mỗi văn bản được biểu diễn
thành một véc-tơ. Mỗi thành phần của véc-tơ biểu diễn một thuật ngữ riêng
biệt trong tập văn bản gốc và được gán một giá trị là một hàm của từng thuật
ngữ trong văn bản. Giá trị này thường là trọng số của từ trong văn bản, được
xác định theo nhiều cách khác nhau.
1.2.2. Phương pháp phân loại văn bản
Phân loại văn bản tự động là việc gán các nhãn lên một văn bản mới dựa
trên mức độ tương tự của văn bản đó so với các văn bản đã được gán nhãn

trong tập huấn luyện. Để phân loại văn bản người ta sử dụng các phương pháp
như: thuật tốn Nạve Bayes (NB), Neural Network (NNet), Decision Tree
(cây quyết định) [8], K láng giềng gần nhất (KNN) [9], Support Vector
Machines (SVM) [10], Linear Least Square Fit [11].
1.2.2.1. Phương pháp K láng giềng gần nhất (KNN)

Đây là phương pháp truyền thống khá nổi tiếng về hướng tiếp cận dựa
trên thống kê đã được nghiên cứu trong nhận dạng mẫu.
Phương pháp phân loại văn bản trên cơ sở thuật toán K-láng giềng gần
nhất (K-NN) là so sánh độ phù hợp của văn bản d với từng nhóm chủ đề, dựa
trên k văn bản mẫu trong tập huấn luyện mà có độ tương tự với văn bản d là
lớn nhất [24].
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 Euclide) 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ả khoảng cách ở trên của 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 độ trọng số 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.
Có 2 vấn đề cần quan tâm khi phân loại văn bản bằng thuật toán K- láng
giềng gần nhất là xác định khái niệm gần, cơng thức để tính mức độ gần; và


10

làm thế nào để tìm được nhóm văn bản phù hợp nhất với văn bản đó (nói cách
khác là tìm được chủ đề thích hợp để gán cho văn bản).
Khái niệm gần ở đây được hiểu là độ tương tự giữa các văn bản. Có
nhiều cách để xác định độ tương tự giữa hai văn bản, trong đó cơng thức

Cosine trọng số được coi là hiệu quả để đánh giá độ tương tự giữa hai văn
bản.
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.
Dùng cơng thức Cosine để tính độ tương tự giữa 2 văn bản [9]:

Ví dụ:
Văn bản A : “Tôi là học sinh”
Văn bản B : “Tôi là sinh viên”
Văn bản C : “Tôi là giáo viên”
Biểu diễn văn bản theo dạng vector :
Bảng 1.1: Bảng ví dụ phương pháp KNN
tơi



học

sinh

viên

giáo

Văn bản A

1

1


1

1

0

0

Văn bản B

1

1

0

1

1

0

Văn bản C

1

1

0


0

1

1

Vector A = (1,1,1,1,0,0)
Vector B = (1,1,0,1,1,0)
Vector C = (1,1,0,0,1,1)
sim(𝐴⃗,⃗⃗⃗⃗
𝐵)=cos(𝐴⃗,⃗⃗⃗⃗
𝐵)=
sim(𝐴⃗,⃗⃗⃗⃗
𝐶 )=cos(𝐴⃗,⃗⃗⃗⃗
𝐶 )=

3
√4∗4
2
√4∗4

=0.75
=0.5

Điều đó cho thấy văn bản A tương tự văn bản B hơn so với C.


11
1.2.2.2. Phương pháp Linear Least Square Fit (LLSF)


LLSF là một cách tiếp cận ánh xạ được phát triển bởi Yang và Chute vào
năm 1992 [12]. Đầu tiên, LLSF được Yang và Chute thử nghiệm trong lĩnh
vực xác định từ đồng nghĩa sau đó sử dụng trong phân loại vào năm 1994.
Các thử nghiệm của Yang cho thấy hiệu suất phân loại của LLSF có thể
ngang bằng với phương pháp kNN kinh điển.
LLSF sử dụng phương pháp hồi quy để học từ tập huấn luyện và các chủ
đề có sẵn. Tập huấn luyện được biểu diễn dưới dạng một cặp véc-tơ đầu vào
và đầu ra như sau:
- Véc-tơ đầu vào một văn bản bao gồm các từ và trọng số;
- Véc-tơ đầu ra gồm các chủ đề cùng với trọng số nhị phân của văn bản
ứng với véc-tơ đầu vào.
Với công thức sau:
𝐹𝐿𝑆 = 𝑎𝑟𝑔𝐹 𝑚𝑖𝑛‖𝐹𝐴 − 𝐵‖2
Trong đó:
- A, B là ma trận đại diện tập dữ liệu huấn luyện (các cột trong ma trận
tương ứng là các véc-tơ đầu vào và đầu ra);
- FLS là ma trận kết quả chỉ ra một ánh xạ từ một văn bản bất kỳ vào véctơ của chủ đề đã gán trọng số.
Nhờ vào việc sắp xếp trọng số của các chủ đề, ta được một danh sách chủ
đề có thể gán cho văn bản cần phân loại và việc đặt ngưỡng lên trọng số của
các chủ đề mà ta tìm được chủ đề thích hợp cho văn bản đầu vào. Hệ thống tự
động học các ngưỡng tối ưu cho từng chủ đề, giống với kNN. Mặc dù LLSF
và kNN khác nhau về mặt thống kê, nhưng ta vẫn tìm thấy điểm chung ở hoạt
động của hai phương pháp là việc học ngưỡng tối ưu [11].
1.2.2.3. Phương pháp cây quyết định (Decision tree)

Đây là phương pháp học xấp xỉ các hàm mục tiêu có giá trị rời rạc. Mặt
khác cây quyết định còn có thể chuyển sang dạng biểu diễn tương đương dưới
dạng cơ sở tri thức là các luật Nếu – Thì [15].



12

Bộ phân lớp cây quyết định là một dạng cây mà mỗi nút được gán nhãn là
một đặc trưng, mỗi nhánh là giá trị trọng số xuất hiện của đặc trưng trong văn
bản cần phân loại, và mỗi lá là nhãn của loại tài liệu. Việc phân loại của một
tài liệu dj sẽ được duyệt đệ quy theo trọng số của những đặc trưng có xuất
hiện trong văn bản dj. Thuật toán lặp đệ quy đến khi đạt đến nút lá và nhãn
của dj chính là nhãn của nút lá tìm được. Thơng thường việc phân loại văn
bản nhị phân sẽ tương thích với việc dùng cây nhị phân.
Cây quyết định này được tổ chức như sau: Các nút trong được gán nhãn
bởi các thuật ngữ, nhãn của các cung tương ứng với trọng số của thuật ngữ
trong tài liệu mẫu, nhãn của các lá tương ứng với nhãn của các lớp. Cho một
tài liệu dj, ta sẽ thực hiện so sánh các nhãn của cung xuất phát từ một nút
trong (tương ứng với một thuật ngữ nào đó) với trọng số của thuật ngữ này
trong dj, để quyết định nút trong nào sẽ được duyệt tiếp. Quá trình này được
lặp từ nút gốc của cây, cho tới khi nút được duyệt là một lá của cây. Kết thúc
quá trình này, nhãn của nút lá sẽ là nhãn của lớp được gán cho văn bản.
1.2.2.4. Support Vector Machines (SVM)

Support Vector Machines là một phương pháp phân loại dựa trên lý thuyết
học thống kê, được đề xuất bởi Vapnik [10].
SVM hoạt động trên nguyên tắc ánh xạ (tuyến tính hoặc phi tuyến) dữ liệu
vào không gian các véc-tơ đặc trưng (space of feature vectors) mà ở đó một
siêu phẳng tối ưu được tìm ra để tách dữ liệu thuộc hai lớp khác nhau.
Cho trước một tập huấn luyện được biểu diễn trong khơng gian véc-tơ
trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra một siêu mặt phẳng
h quyết định tốt nhất có thể chia các điểm trên không gian này thành hai lớp
riêng biệt tương ứng lớp + và lớp –. Chất lượng của siêu mặt phẳng này được
quyết định bởi khoảng cách (gọi là biên) của điểm dữ liệu gần nhất của mỗi
loại đến mặt phẳng này. Khoảng cách biên càng lớn thì mặt phẳng quyết định

càng tốt đồng thời việc phân loại càng chính xác.


13

Mục đích thuật tốn SVM tìm được khoảng cách biên lớn nhất. Cụ thể
như hình 1.2 siêu phẳng phân chia dữ liệu học thành 2 lớp + và – với khoảng
cách biên lớn nhất. Các điểm gần nhất là các Support Vector [3]:

Hình 1.2: Hình minh họa SVM
SVM thực chất là một bài toán tối ưu, mục tiêu của thuật tốn này là tìm
được một khơng gian H và siêu mặt phẳng quyết định h trên H sao cho sai số
phân loại là thấp nhất.
1.2.2.5. Neural Network (NNet)

Mạng Neural được nghiên cứu mạnh trong hướng trí tuệ nhân tạo. Wiener
là người đã sử dụng mạng Neural để phân loại văn bản, sử dụng 2 hướng tiếp
cận: kiến trúc phẳng (không sử dụng lớp ẩn) và mạng nơron 3 lớp (bao gồm
một lớp ẩn) [19].
Cả hai hệ thống trên đều sử dụng một mạng nơron riêng rẽ cho từng chủ
đề, NNet học cách ánh xạ phi tuyến tính những yếu tố đầu vào như từ, hay mơ
hình véc-tơ của một văn bản vào một chủ đề cụ thể.
Khuyết điểm của phương pháp NNet là tiêu tốn nhiều thời gian dành cho
việc huấn luyện mạng nơron.


14

Mơ hình phân loại văn bản sử dụng mơ hình mạng neural gồm có ba thành
phần chính như sau: kiến trúc, hàm chi phí và thuật tốn tìm kiếm. Kiến trúc

định nghĩa dạng chức năng liên quan giá trị nhập đến giá trị xuất.
Kiến trúc phẳng: Mạng phân loại đơn giản nhất (còn gọi là mạng logic) có
một đơn vị xuất là kích hoạt kết quả và khơng có lớp ẩn, kết quả trả về ở dạng
hàm tương đương với mơ hình hồi quy logic. Thuật tốn tìm kiếm chia nhỏ
mơ hình mạng để thích hợp với việc điều chỉnh mơ hình ứng với tập huấn
luyện. Ví dụ, chúng ta có thể học trọng số trong mạng kết quả bằng cách sử
dụng không gian trọng số giảm dần hoặc sử dụng thuật tốn interatedreweighted least squares [20].
Kiến trúc mơ đun (modular architecture): Việc sử dụng một hay nhiều lớp
ẩn của những hàm kích hoạt phi tuyến tính cho phép mạng thiết lập các mối
quan hệ giữa những biến nhập và biến xuất. Mỗi lớp ẩn học để biểu diễn lại
dữ liệu đầu vào bằng cách khám phá ra những đặc trưng ở mức cao hơn từ sự
kết hợp đặc trưng ở mức trước.

Hình 1.3: Kiến trúc mơ đun (Modular Architecture).
Trong hình 1.3. các kết quả của từng mạng con sẽ là giá trị đầu vào cho
mạng siêu chủ đề và được nhân lại với nhau để dự đoán chủ đẻ cuối cùng.
Trong cơng trình của Wiener dựa theo khung của mơ hình hồi quy, liên
quan từ đặc trưng đầu vào cho đến kết quả gán chủ đề tương ứng được học từ
tập dữ liệu. Do vậy, để phân tích một cách tuyến tính, tác giả dùng hàm
sigmoid sau làm hàm truyền trong mạng neural:


15

𝑝=

1
1 + 𝑒 −𝜂

Trong đó, 𝜂 = 𝛽 𝑇 𝑥 là sự kết hợp của những đặc trưng đầu vào và 𝑝 phải

thỏa điều kiện 𝑝 ∈ (0,1).
1.2.2.6. Centroid - Based Vector

Là một phương pháp phân loại đơn giản, dễ cài đặt và tốc độ nhanh do có
độ phức tạp tuyến tính O(n) [20].
Mỗi lớp trong dữ liệu luyện sẽ được biểu diễn bởi một vector trọng tâm.
Việc xác định lớp của một văn bản thử bất kì sẽ thơng qua viêc tìm vector
trọng tâm nào gần với vector biểu diễn văn bản thử nhất. Lớp của văn bản thử
chính là lớp mà vector trọng tâm đại diện. Khoảng cách được tính theo độ đo
cosine.
Cơng thức tính vector trọng tâm của lớp i
𝐶⃗𝑖 =

1
∑ 𝑑⃗𝑗
‖{𝑖}‖
𝑑𝑗 ∈{𝑖}

Độ đo khoảng cách giữa vector 𝑥⃗ và 𝐶⃗
cos(𝑥⃗, 𝐶⃗) =

𝑥⃗. 𝐶⃗
‖𝑥⃗‖. ‖𝐶⃗‖

Trong đó:
- 𝑥⃗ là vector văn bản cần phân loại;
- {𝑖} là tập hợp các ăn bản thuộc chủ đề 𝐶𝑖 ;
- Chủ đề của 𝑥⃗ là 𝐶𝑥 thỏa mãn điều kiện cos(𝑥⃗, ⃗⃗⃗⃗⃗
𝐶𝑥 ) =
arg max(cos(𝑥⃗, ⃗⃗⃗⃗

𝐶𝑖 )).


16

Nhận xét:
Từ những phân tích ở trên, ta có thể so sánh ưu, nhược điểm của các
phương pháp phân loại văn bản đã tồn tại ở Bảng 1.2:
Bảng 1.2: Bảng so sánh ưu, nhược điểm của các phương pháp PLVB
Phương pháp

Ưu điểm

Nhược điểm

Đơn giản, dễ hiểu.

Các thuộc tính khơng liên

Các quy tắc tạo dễ dàng.

quan có thể ảnh hưởng xấu

Có thể xử lý lượng dữ liệu đến việc xây dựng cây
Cây quyết định

lớn trong thời gian ngắn.

quyết định.
Khơng có khả năng xử lý


(Decision tree)

trong trường hợp thiếu dữ
liệu, xử lý dữ liệu có giá trị
liên tục.
Sử dụng ngữ nghĩa của từ Cần phải ước lượng tham

LLSF
(Linear Least
Square Fit)

thay vì so khớp từ.

số và ngưỡng tối ưu đầu

Tốc độ (thời gian huấn luyện, vào.
phân loại) nhanh và cài đặt dễ
dàng.

KNN
(K-Nearest

Đơn giản và hiệu quả và dễ Rất khó để tìm ra giá trị K,
thực hiện.

nên tốn nhiều thời gian.
Thời gian phân loại lâu.

Neighbor)


Rất hiệu quả để giải quyết các Thời gian huấn luyện rất
SVM
(Support Vector
Machines)

bài tốn với dữ liệu có số chậm.
chiều lớn như các vector biểu
diễn văn bản.
Có thể tự tìm ta các tham số
và ngưỡng tối ưu.


×