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

Xử lý văn bản tiếng việt theo mô hình tập thô dung saii

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 (2.85 MB, 127 trang )

X lý vn bn ting Vit theo mụ hỡnh tp thụ dung sai

bộ giáo dục và đào tạo
trờng đại học bách khoa hà nội
---------------------------------------

luận văn thạc sĩ khoa học

Xử Lý VĂN BảN TIếNG VIệT
THEO MÔ HìNH TậP THÔ DUNG SAI

ngành : công nghệ THÔNG TIN
m số:23.04.3898
TRầN QUANG

Ngi hng dn khoa hc : PGS. TS. NGUYN NGC BèNH

Hà Nội 2010

Hc viờn thc hin: Trn Quang Lp CH CNTT 2007-2009

1/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

LỜI CAM ĐOAN

Tôi – Trần Quang – cam đoan Luận văn này là công trình nghiên cứu của bản thân
tôi dưới sự hướng dẫn của PGS.TS.Nguyễn Ngọc Bình.
Các kết quả nêu trong Luận văn là trung thực, không phải là sao chép toàn văn của


bất kỳ công trình nào khác.
Hà Nội, ngày

tháng

năm 2010

Tác giả Luận văn

Trần Quang

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

2/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

MỤC LỤC
DANH MỤC CÁC THUẬT NGỮ..................................................................................................................... 5
DANH MỤC CÁC BẢNG BIỂU....................................................................................................................... 6
DANH MỤC CÁC HÌNH................................................................................................................................... 7
LỜI NÓI ĐẦU ..................................................................................................................................................... 8
Chương 1 Tổng quan về khai phá dữ liệu........................................................................................................ 9
1.1. Khai phá dữ liệu – Data Mining............................................................................................................... 9
1.2. Tiền xử lý dữ liệu.................................................................................................................................... 12
1.3. Phân lớp và dự báo – Classification and Prediction .............................................................................. 12
1.3.1. Giới thiệu ........................................................................................................................................ 12
1.3.2. Support Vector Machines............................................................................................................... 15
1.3.2.1. SVMs với dữ liệu khả tách tuyến tính (linearly separable).....................................................................15

1.3.2.2. SVMs với dữ liệu không khả tách tuyến tính (linearly inseparable) ......................................................20

1.4. Phân nhóm dữ liệu .................................................................................................................................. 22
1.4.1. Giới thiệu ........................................................................................................................................ 22
1.4.2. Phân loại các phương pháp phân nhóm ........................................................................................ 24
1.4.3. Một số phương pháp phân nhóm ................................................................................................... 26
1.5. Các ứng dụng và xu hướng trong khai phá dữ liệu................................................................................ 30
Chương 2 Tập thô và ứng dụng....................................................................................................................... 33
2.1. Lý thuyết tập thô..................................................................................................................................... 33
2.1.1. Hệ thông tin .................................................................................................................................... 34
2.1.2. Quan hệ bất khả phân .................................................................................................................... 36
2.1.3. Xấp xỉ tập hợp ................................................................................................................................ 37
2.1.4. Thành viên thô – Rough Membership ............................................................................................ 41
2.1.5. Phụ thuộc giữa các thuộc tính ....................................................................................................... 42
2.1.6. Rút gọn thuộc tính .......................................................................................................................... 43
2.1.7. Ma trận phân biệt được và hàm phân biệt được ........................................................................... 49
2.1.8. Sự quan trọng của các thuộc tính và các rút gọn xấp xỉ ............................................................... 52
2.2. Các ứng dụng của tập thô ....................................................................................................................... 55
2.3. Mô hình tập thô dung sai ........................................................................................................................ 56
Chương 3 Một số kỹ thuật trong khai phá dữ liệu văn bản......................................................................... 59
3.1. Các mô hình biểu diễn văn bản .............................................................................................................. 59
3.1.1. Mô hình không gian vector – Vector Space Model ....................................................................... 59
3.1.1.1. Document Indexing..................................................................................................................................60
3.1.1.2. Feature Weighting....................................................................................................................................62
3.1.1.3. Similarity Coefficients .............................................................................................................................63

3.1.2. Mô hình tập mờ - Fuzzy Set Model ................................................................................................ 64
3.1.2.1. Lý thuyết tập mờ ......................................................................................................................................64

3.1.3. Mô hình xác suất – Probabilistic Model........................................................................................ 65

3.2. Công thức xác định hiệu năng xử lý văn bản......................................................................................... 68
3.3. Phân nhóm văn bản – Text Clustering ................................................................................................... 69
3.3.1. Giới thiệu ........................................................................................................................................ 69
3.3.2. Các ứng dụng của phân nhóm văn bản ......................................................................................... 70
3.4. Phân loại văn bản – Text Classification................................................................................................. 70
3.4.1. Giới thiệu bài toán phân loại văn bản ........................................................................................... 70
3.4.1.1. Tổng quan phân loại văn bản...................................................................................................................70
3.4.1.2. Nền tảng học máy trong bài toán phân loại văn bản ...............................................................................71

3.4.2. Một số phương pháp phân loại văn bản ........................................................................................ 73
3.4.2.1. Decision Tree ...........................................................................................................................................73
3.4.2.2. K - Nearnest Neighbor .............................................................................................................................73
3.4.2.3. Naïve Bayes .............................................................................................................................................74

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

3/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai
3.4.2.4. Support Vector Machines ........................................................................................................................75

3.5. Tóm tắt văn bản – Text Summarization................................................................................................. 75
3.6. Phát hiện xu hướng văn bản – Text Trend Detection ............................................................................ 76
3.7. Tìm kiếm văn bản – Text Retrieval........................................................................................................ 76
Chương 4 Mô hình tập thô dung sai trong xử lý cơ sở dữ liệu văn bản ..................................................... 77
4.1. Bộ khung của hệ thống khai phá dữ liệu văn bản dựa trên mô hình TRSM ......................................... 77
4.2. Xử lý văn bản tiếng Anh......................................................................................................................... 78
4.2.1. Mô hình tập thô dung sai trong biểu diễn văn bản........................................................................ 78
4.2.2. Nonhierarchical Document Clustering dựa trên mô hình tập thô dung sai ................................. 81

4.2.2.1. Giải thuật ..................................................................................................................................................81
4.2.2.2. Biểu diễn cluster – cluster representation................................................................................................82
4.2.2.3. Độ tương tự giữa các tài liệu và giữa các biểu diễn cluster ....................................................................84

4.2.3. Hierarchical Document Clustering dựa trên mô hình tập thô dung sai ....................................... 85
4.3. Xử lý văn bản tiếng Việt......................................................................................................................... 86
4.3.1. Một số vấn đề chung trong xử lý văn bản Tiếng Việt .................................................................... 86
4.3.1.1. Một số đặc trưng của Tiếng Việt .............................................................................................................86
4.3.1.2. Các bước tiền xử lý văn bản ....................................................................................................................87
4.3.1.3. Một số phương pháp tách thuật ngữ trong văn bản Tiếng Việt ..............................................................88
4.3.1.4. Một số kỹ thuật giảm chiều văn bản........................................................................................................91

4.3.2. Áp dụng mô hình TRSM xử lý đồng nghĩa trong Tiếng Việt dựa trên tính đồng xuất hiện của các
thuật ngữ ................................................................................................................................................... 93
4.3.2.1. Đặt vấn đề ................................................................................................................................................93
4.3.2.2. Một số kỹ thuật liên quan đến độ tương tự về ngữ nghĩa (semantic similarity).....................................94
4.3.2.2.1. Latent Sematic Analyis (LSA)........................................................................................................94
4.3.2.2.2. Pointwise Mutual Information (PMI) .............................................................................................96
4.3.2.2.3. Generalized Latent Semantic Analysis (GLSA).............................................................................96
4.3.2.2.4. Probabilistic Latent Semantic Analysis (PLSA) ............................................................................96
4.3.2.3. Đề xuất hai giải pháp xử lý vấn đề đồng nghĩa trong tiếng Việt ..........................................................100
4.3.2.4. Cài đặt thử nghiệm .................................................................................................................................102
4.3.2.4.1. Các bước của chương trình ...........................................................................................................102
4.3.2.4.2. Minh họa ví dụ tính tay .................................................................................................................107
4.3.2.4.3. Các kết quả thực nghiệm...............................................................................................................115

Chương 5 Kết luận và hướng phát triển ...................................................................................................... 121
TÀI LIỆU THAM KHẢO.............................................................................................................................. 124
TÓM TẮT LUẬN VĂN.................................................................................................................................. 126
ABSTRACT OF THESIS............................................................................................................................... 127


Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

4/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

DANH MỤC CÁC THUẬT NGỮ
STT

Từ viết tắt

Thuật ngữ Tiếng Anh

1

DM

Data Mining

Khai phá dữ liệu

2

DT

Decision Tree

Cây quyết định


3

EM

Expectation Maximization

Cực đại hóa kỳ vọng

4

ERSM

Equivalence Rough Sets Model

Mô hình tập thô tương đương

5

IDF

Inverse Document Frequency

Tần số tài liệu ngược

6

KDD

7


KE

8

K-NN

9

ML

10

Knowledge

Discovery

Thuật ngữ Tiếng Việt

in

Databases

Khai phá tri thức trong cơ sở dữ liệu

Keyword Extraction

Trích chọn từ khoá

K- Nearest Neighbour


K láng giềng gần nhất

Machine Learning

Học máy

MMH

Maximum Marginal Hyperplane

Siêu phẳng lề cực đại

11

RSM

Rough Sets Model

Mô hình tập thô

12

SVMs

Support Vector Machines

Máy vector hỗ trợ

13


TF

Term Frequency

Tần số thuật ngữ

14

TRSM

Tolerance Rough Sets Model

Mô hình tập thô dung sai

15

TSR

Term Space Reduction

Giảm không gian thuật ngữ

16

VSM

Vector Space Model

Mô hình không gian vector


Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

5/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1: Ví dụ về hệ thông tin.......................................................................................................................... 35
Bảng 2.2: Walk – ví dụ về bảng quyết định ....................................................................................................... 35
Bảng 2.3: Ví dụ bảng thông tin có thuộc tính dư thừa ....................................................................................... 43
Bảng 2.4: Bảng dữ liệu thu được bằng cách loại bỏ cột thuộc tính Muscle-pain.............................................. 46
Bảng 2.5: Bảng dữ liệu thu được bằng cách loại bỏ cột thuộc tính Headache .................................................. 47
Bảng 2.6: đơn giản hóa Bảng 2.4........................................................................................................................ 48
Bảng 2.7: Đơn giản hóa bảng 2.5 ...................................................................................................................... 48
Bảng 2.8: Ví dụ ma trận phân biệt được............................................................................................................. 52
Bảng 4.1: Một số hàm tính giá trị ước lượng thông tin của thuật ngữ............................................................... 92
Bảng 4.2: Ví dụ minh họa cách tính các ma trận trong chương trình.............................................................. 107
Bảng 4.3: Danh sách các thuật ngữ thu được từ tập các tài liệu ...................................................................... 107
Bảng 4.4: Ma trận tần suất tài liệu-thuật ngữ ................................................................................................... 108
Bảng 4.5: Ma trận đồng xuất hiện các thuật ngữ.............................................................................................. 109
Bảng 4.6: Ma trận dung sai của các thuật ngữ, ngưỡng θ =2 ......................................................................... 110
Bảng 4.7: Ma trận dung sai của các thuật ngữ, ngưỡng θ =3 ......................................................................... 110
Bảng 4.8: Ma trận xấp xỉ trên của các tài liệu, ngưỡng θ =2 .......................................................................... 111
Bảng 4.9: Ma trận trọng số của các thuật ngữ nằm trong các tài liệu, ngưỡng θ =2...................................... 112
Bảng 4.10: Ma trận trọng số của các thuật ngữ thuộc xấp xỉ trên của các tài liệu .......................................... 113
Bảng 4.11: Ma trận trọng số cuối cùng, đã chuẩn hóa chiều dài vector, ngưỡng θ = 2 ............................... 114
Bảng 4.12: : Ma trận trọng số cuối cùng, đã chuẩn hóa chiều dài vector, ngưỡng θ = 3 ............................. 114
Bảng 4.13: Danh sách các từ cần xem xét đồng nghĩa..................................................................................... 115

Biểu đồ 4.1: So sánh độ tương tự với thuật ngữ “Cầu_thủ” ............................................................................ 116
Biểu đồ 4.2: So sánh độ tương tự với thuật ngữ “Công_an” ........................................................................... 116
Biểu đồ 4.3: So sánh độ tương tự với thuật ngữ “Bác_sĩ”............................................................................... 116
Biểu đồ 4.4: So sánh độ tương tự với thuật ngữ “Tài_sản” ............................................................................. 117
Biểu đồ 4.5: So sánh độ tương tự với thuật ngữ “Mức_án”............................................................................. 117
Biểu đồ 4.6: So sánh độ tương tự với thuật ngữ “Dũng_cảm” ........................................................................ 117
Biểu đồ 4.7: So sánh số chiều được rút gọn giữa 3 phương pháp ................................................................... 120

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

6/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

DANH MỤC CÁC HÌNH
Hình 1.1: Data mining – tìm kiếm tri thức trong dữ liệu ..................................................................................... 9
Hình 1.2: Data mining là một bước trong quá trình phát hiện tri thức .............................................................. 10
Hình 1.3: Dữ liệu 2-D khả tách tuyến tính ........................................................................................................ 16
Hình 1.4: Ví dụ về siêu phẳng cùng với lề tương ứng ....................................................................................... 17
Hình 1.5: Support vectors ................................................................................................................................... 18
Hình 1.6: Dữ liệu không khả tách tuyến tính ..................................................................................................... 20
Hình 1.7: Clustering dựa trên giải thuật k-means .............................................................................................. 28
Hình 1.8: Mỗi cluster được biểu diễn bởi một phân bố xác suất ....................................................................... 29
Hình 2.1: Minh họa tập xấp xỉ trên, xấp xỉ dưới ................................................................................................ 38
Hình 2.2: Xấp xỉ tập đối tượng bằng các thuộc tính điều kiện Age và LEMS.................................................. 39
Hình 2.3: Lớp các từ phủ lên nhau ..................................................................................................................... 57
Hình 3.1: Ma trận tài liệu-thuật ngữ ................................................................................................................... 61
Hình 3.2: Minh họa cách tính precision và recall .............................................................................................. 68
Hình 3.3: Minh hoạ giải thuật KNN láng giềng gần nhất với K = 5. ................................................................ 74

Hình 4.1: Bộ khung hệ thống khai phá dữ liệu dựa trên mô hình TRSM.......................................................... 77
Hình 4.2: Giải thuật hierarchical agglomerative clustering dựa trên mô hình TRSM ...................................... 85
Hình 4.3: Ví dụ tình huống nhập nhằng trong đồ thị phân tách câu.................................................................. 90
Hình 4.4: Tính toán SVD .................................................................................................................................... 94
Hình 4.5: Giới thiệu mô hình PLSA................................................................................................................... 97
Hình 4.6: Mô hình trực quan biểu diễn aspect model ........................................................................................ 98

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

7/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

LỜI NÓI ĐẦU
Hàng ngày chúng ta tiếp xúc với rất nhiều các loại dữ liệu khác nhau: âm thanh,
hình ảnh, các dữ liệu số, các dữ liệu lưu dưới dạng các tài liệu… Các dữ liệu ít nhiều đều
ẩn chứa bên trong một phần tri thức nào đó mà ta chưa biết. Khi các dữ liệu trở nên nhiều
hơn mà ta không thể kiểm soát nó dưới dạng liệt kê ra được thì trong đó sẽ ẩn chứa một
lượng tri thức lớn và cần có các phương pháp để tự động nhận biết ra các quy luật, các tri
thức đang ẩn chứa để phục vụ cho lợi ích của chúng ta. Khai phá dữ liệu là bài toán tìm ra
tri thức ẩn chứa bên trong một tập dữ liệu lớn và đã có nhiều phương pháp, nhiều hướng
tiếp cận khác nhau cho bài toán này, chẳng hạn sử dụng lý thuyết tập thô, lý thuyết tập mờ,
lý thuyết xác suất, học máy… Trong luận văn này tác giả sẽ sử dụng hướng tiếp cận mô
hình tập thô dung sai cho bài toán khai phá dữ liệu văn bản nhằm giải quyết vấn đề đồng
nghĩa trong văn bản tiếng Việt. Trong quá trình nghiên cứu, tác giả nhận thấy hướng tiếp
cận này có rất nhiều ứng dụng thiết thực khác cũng như một số vấn đề lý thuyết liên quan
khác và có thể phát triển tiếp.
Về mặt bố cục, luận văn gồm năm chương với nội dung chính như sau:
Chương 1: Trình bày tổng quan về lĩnh vực phát hiện tri thức và khai phá dữ liệu cũng như

các bài toán, các phương pháp điển hình thường được sử dụng. Các ứng dụng và xu hướng
trong lĩnh vực này.
Chương 2: Trình bày về lý thuyết tập thô và các ứng dụng của nó, đặc biệt là trong lĩnh
vực khai phá dữ liệu đã trình bày ở chương 1. Mô hình tập thô dung sai (TRSM) cũng được
trình bày ở đây, mô hình biểu diễn văn bản này sẽ được sử dụng trong Chương 4.
Chương 3: Trình bày một số kỹ thuật trong xử lý văn bản và các mô hình biểu diễn văn
bản. Các bài toán, các phương pháp được trình bày tổng quan trong chương 1 sẽ được sử
dụng ở đây với dữ liệu cụ thể là dữ liệu văn bản.
Chương 4: Mô hình tập thô dung sai trong xử lý cơ sở dữ liệu văn bản nói chung và văn
bản tiếng Việt nói riêng. Áp dụng thực tế để xử lý vấn đề đồng nghĩa trong tiếng Việt.
Chương 5: Trình bày các kết luận, các hạn chế của luận văn và đề xuất các hướng phát
triển trong tương lai.

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

8/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

Chương 1
Tổng quan về khai phá dữ liệu
Nội dung chính sẽ trình bày:
• Các khái niệm cơ bản trong khai phá dữ liệu.
• Một số kỹ thuật trong khai phá dữ liệu.
• Các ứng dụng và xu hướng trong khai phá dữ liệu.

1.1. Khai phá dữ liệu – Data Mining
Khai phá dữ liệu [1] là quá trình trích rút các thông tin ẩn chứa trong các kho
dữ liệu lớn, đôi khi còn được gọi là khai phá tri thức từ dữ liệu (knowledge mining

from data). Có nhiều thuật ngữ khác có nghĩa tương đồng hoặc khác biệt đôi chút
với thuật ngữ Data Mining, chẳng hạn knowledge mining from data, knowledge
extraction, data/pattern analysis, data archaeology, data dredging.

Hình 1.1: Data mining – tìm kiếm tri thức trong dữ liệu

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

9/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

Nhiều người đã xem Data mining là đồng nghĩa với thuật ngữ tương đối phổ biến
Knowledge Discovery from Data – KDD, đó là một bước quan trọng trong toàn bộ
quy trình phát hiện tri thức, quy trình này bao gồm các bước như sau [1]:

Hình 1.2: Data mining là một bước trong quá trình phát hiện tri thức

1. Làm sạch dữ liệu (Data cleaning): loại bỏ nhiễu và các dữ liệu không
đồng nhất
2. Tích hợp dữ liệu (Data integration): tích hợp dữ liệu từ các nguồn khác
nhau

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

10/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai


3. Lựa chọn dữ liệu (Data selection): các dữ liệu liên quan tới nhiệm vụ
phân tích được thu thập từ cơ sở dữ liệu
4. Chuyển đổi dữ liệu (Data transformation): dữ liệu được chuyển đổi hoặc
hợp nhất thành các dạng phù hợp với quá trình khai phá, chẳng hạn bằng
cách thực hiện các thao tác tổng kết hoặc tụ tập
5. Khai phá dữ liệu (Data mining): là một quá trình cốt lõi trong đó các
phương pháp thông minh được áp dụng để trích rút các mẫu dữ liệu
6. Ước lượng mẫu (Pattern evaluation): xác minh tính chân thực của các
mẫu biểu diễn tri thức dựa vào một số phương pháp tiêu chuẩn
7. Biểu diễn tri thức (Knowledge presentation): các kỹ thuật liên quan đến
trực quan hóa và biểu diễn tri thức được áp dụng để trình diễn tri thức
khai phá được cho người dùng nhận biết.
Hai mục tiêu chính trong lĩnh vực khai phá dữ liệu đó là mô tả và dự báo.
Mô tả nhằm tìm ra các thông tin để mô tả dữ liệu mà người dùng có thể hiểu được,
để thực hiện mục tiêu này thường có các bài toán liên quan như phân nhóm, phát
hiện luật kết hợp… Còn Dự báo là đoán nhận về xu hướng trong tương lai của dữ
liệu dựa trên các dữ liệu đang có, để thực hiện mục tiêu này thường có các bài toán
liên quan như bài toán hồi quy, phân loại, phát hiện độ lệch.
Để quá trình khai phá dữ liệu được diễn ra thuận lợi, dữ liệu cần được tổ
chức theo một cách thức nào đó và áp dụng các phương pháp phù hợp với mỗi cách
tổ chức này và phù hợp với bản chất, đặc thù của dữ liệu; thường có nhiều cách tổ
chức dữ liệu khác nhau nhưng phổ biến nhất là sử dụng cơ sở dữ liệu quan hệ,
ngoài ra còn có cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu toàn văn, cơ sở dữ liệu
hướng thời gian thực…
Khai phá dữ liệu có thể được tiếp cận theo nhiều hướng khác nhau, mỗi bài
toán trong lĩnh vực này sẽ có phương pháp luận để giải quyết nó, phương pháp luận
quyết định quan điểm và cách thức chúng ta nhìn nhận và giải quyết vấn đề. Các
hướng tiếp cận lĩnh vực này có thể là: học máy (machine learning), thống kê
(statistics), trí tuệ nhân tạo…


Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

11/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

1.2. Tiền xử lý dữ liệu
Các cơ sở dữ liệu lớn thường gặp phải vấn đề về nhiễu (noisy) chứa trong dữ
liệu hoặc dữ liệu bị thiếu (missing) hoặc thiếu nhất quán (inconsistent), điều này ảnh
hưởng nghiêm trọng đến các kết quả thu được trong quá trình khai phá dữ liệu. Tiền
xử lý dữ liệu nhằm giải quyết vấn đề này. Vậy bằng cách nào có thể để tiền xử lý dữ
liệu nhằm nâng cao chất lượng dữ liệu và thu được các kết quả tốt hơn cho quá trình
khai phá cũng như nâng cao hiệu suất và dễ dàng hơn cho quá trình này?
Có rất nhiều kỹ thuật để tiền xử lý dữ liệu: Data cleaning có thể được áp
dụng để loại bỏ nhiễu và khắc phục vấn đề thiếu đồng nhất trong dữ liệu. Data
integration để hợp nhất các dữ liệu từ nhiều nguồn khác nhau vào trong một kho
chứa dữ liệu cố kết. Data transformations, chẳng hạn đó là sự chuẩn hóa dữ liệu,
có thể được áp dụng để nâng cao độ chính xác cũng như tính hiệu quả của các giải
thuật, đưa đến các độ đo về khoảng cách. Data reduction có thể dùng để giảm thiểu
kích thước của dữ liệu bằng cách kết hợp hoặc loại bỏ các thuộc tính dư thừa. Các
kỹ thuật này không loại trừ lần nhau, chúng có thể làm việc chung với nhau.
Trong khai phá dữ liệu văn bản nói riêng, tiền xử lý dữ liệu là một quá trình
chiếm tương đối nhiều tài nguyên. Để xử lý được dữ liệu dạng này cần phải có quá
trình tiền xử lý để đưa nó về dạng có cấu trúc, sau đó áp dụng các giải thuật khai
phá trên các cấu trúc đã đạt được. Vấn đề tách từ, loại bỏ các từ dừng (stop words),
lấy gốc của từ (stemming), biểu diễn văn bản theo một mô hình nào đó… thường
được biết đến bên trong quá trình này.


1.3. Phân lớp và dự báo – Classification and Prediction
1.3.1. Giới thiệu
Là 2 dạng phân tích dữ liệu dùng để trích xuất các mô hình mô tả các lớp dữ
liệu quan trọng (đối với classifiction) hoặc tiên đoán xu hướng của dữ liệu trong
tương lai (đối với prediction) [1]. Các phân tích này giúp ta có được hiểu biết tốt
hơn về cơ sở dữ liệu lớn. Trong khi classification hướng đến việc đưa ra các nhãn
xác định (rời rạc, không có thứ tự) thì prediction thường định ra các hàm liên tục.

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

12/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

Có rất nhiều phương pháp phân loại cũng như dự báo đã được đưa ra bởi các nhà
nghiên cứu trong các lĩnh vực học máy (machine learning), phát hiện mẫu (pattern
recognition) và thống kê (statistic). Phần lớn các giải thuật đưa ra ở đây là thường
trú trong bộ nhớ, thường sử dụng dữ liệu với kích thước bé; các nghiên cứu gần đây
về khai phá dữ liệu dựa trên các kết quả trước đó để phát triển các phương pháp
phân loại và dự báo phù hợp với việc xử lý dữ liệu lớn lưu trên đĩa cứng.
Phân lớp dữ liệu là một quá trình gồm 2 bước: ở bước thứ nhất, một bộ phân
loại được xây dựng mô tả một tập các khái niệm hoặc các lớp dữ liệu đã được định
nghĩa trước và được gọi là bước học (learning step) hay pha huấn luyện (training
phase); ở đây một giải thuật phân lớp xây dựng nên một bộ phân loại bằng việc
phân tích hoặc học từ một training set (tập huấn luyện) được tạo nên từ các phần tử
dữ liệu và gắn liền với các nhãn của chúng. Một phần tử X được biểu diễn bởi một
vector thuộc tính trong không gian n chiều, có dạng X = (x1, x2,…, xn) biểu diễn n
độ đo tạo nên phần tử này từ n thuộc tính của cơ sở dữ liệu, tương ứng là A1, A2, … ,
An. Mỗi phần tử X được giả định thuộc về một lớp đã được định nghĩa trước thông

qua các thuộc tính khác của cơ sở dữ liệu gọi là thuộc tính nhãn các lớp (class label
attribute), các thuộc tính này là rời rạc, không có thứ tự và biễu diễn cho một mục
hay một lớp nào đó. Bởi vì nhãn của các phần tử huấn luyện đã được biết nên bước
này còn được gọi là học có giám sát (supervised learning), nó trái ngược với
phương pháp học không giám sát (unsupervised learning) (hoặc clustering) trong
đó nhãn của mỗi phần tử huấn luyện là không được biết trước và số lượng các lớp
cần được học cũng không được biết.
Bước thứ nhất của quá trình phân lớp có thể được xem như là việc học một
ánh xạ (một hàm) y = f(X) mà có thể dự đoán được nhãn y của đối tượng X cho
trước. Theo cách nhìn này, ta mong muốn học một ánh xạ mà phân tách các lớp dữ
liệu. Thông thường, ánh xạ này được biểu diễn dưới dạng các luật phân lớp, cây
quyết định (decision trees) hoặc bằng các mô tả hình thức toán học.
Bước thứ 2 của quá trình phân lớp là xác định mức độ chính xác của việc
phân lớp. Trước hết cần đánh giá trước độ chính xác của bộ phân lớp, nếu sử dụng

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

13/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

tập huấn luyện để đo độ chính xác của bộ phân lớp thì giá trị này tương đối lạc quan
vì bộ phân lớp thường có khuynh hướng overfit dữ liệu; bên cạnh đó tập dữ liệu
khiểm thử (test set) được sử dụng, tập này được tạo ra từ các phần tử liên quan đến
nhãn của các lớp, các phần tử này được lựa chọn một cách ngẫu nhiên từ tập dữ liệu
thông thường và độc lập với các phần tử huấn luyện và không tham gia vào quá
trình tạo lập bộ phân loại.
Độ chính xác của một bộ phân loại dựa trên một tập dữ liệu kiểm thử nào đó
là phần trăm các phần tử của tập kiểm thử được phân loại đúng bởi bộ phân loại.

Nhãn của lớp liên kết với mỗi phần tử để test được so sánh với lớp dự báo trước của
bộ phân loại đã được học áp dụng cho phần tử đó. Có nhiều phương pháp để tính độ
chính xác của phân loại, chẳng hạn Holdout Method, Random Subsampling, Crossvalidation, Boostrap. Phương pháp Holdout sẽ phân hoạch ngẫu nhiên tập ban đầu
thành 2 tập độc lập: Training set và test set; thông thường 2/3 dữ liệu được định vị
trong training set, 1/3 còn lại nằm trong test set. Training set sử dụng để thu được
mô hình mà độ chính xác của nó được đánh giá bởi test set. Sự đánh giá này không
được tốt vì chỉ một phần dữ liệu ban đầu được sử dụng để tìm ra mô hình. Random
subsampling là một biến thể của Holdout bằng cách thực hiện holdout k lần và lấy
độ chính xác tổng thể bằng độ chính xác trung bình của mỗi lần lặp đó. Crossvalidation sẽ phân chia tập dữ liệu ban đầu thành k phần bằng nhau và thực hiện k
bước lặp, ở mỗi bước lặp test data là 1 trong k phần bằng nhau đó, k-1 phần còn lại
được dùng để học; độ chính xác được tính bằng toàn bộ phần tử được phân lớp
chính xác sau k vòng lặp chia cho tổng số phần tử của tập ban đầu.
Nếu độ chính xác của bộ phân loại là chấp nhận được thì nó sẽ được dùng để
phân lớp cho các dữ liệu trong tương lai mà nhãn của nó là chưa được biết trước.
Cả phân lớp và dự báo đều giống nhau ở chỗ chúng đều là quá trình gồm 2
bước như đã nói ở trên, tuy nhiên đối với dự báo thì khái niệm thuộc tính nhãn của
các lớp (class label attribute) không tồn tại vì thuộc tính mà giá trị của nó cần dự
đoán là một giá trị liên tục (có thứ tự) hơn là giá trị rời rạc (không có thứ tự). Dự
báo có thể được xem như là một ánh xạ y = f(X) với X là thông tin đầu vào (một

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

14/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

phần tử, một thể hiện của tập dữ liệu) và y là đầu ra với giá trị là liên tục, như vậy,
ta mong muốn học một ánh xạ liên hệ giữa X và y.


1.3.2. Support Vector Machines
Có rất nhiều kỹ thuật có thể áp dụng trong bài toán phân lớp và dự báo,
chẳng hạn có thể dùng cây quyết định (decision tree), Bayesian, K-NN, giải thuật di
truyền… Ở đây ta giới thiệu một phương pháp hiện được dùng rất phổ biến hiện nay
đó là Support Vector Machines (SVMs) [1].
SVMs là một phương pháp mới có thể dùng để phân loại dữ liệu tuyến tính
hoặc phi tuyến, thực chất nó là một giải thuật làm việc như sau. SVM sử dụng một
ánh xạ phi tuyến (nonlinear mapping) để biến đổi dữ liệu huấn luyện ban đầu vào
một không gian có số chiều cao hơn. Trong không gian mới này, nó tìm kiếm siêu
phẳng phân tách tối ưu tuyến tính (linear optimal separating hyperplane) – đó là
một vùng biên quyết định (decision boundary) phân tách các đối tượng của một lớp
khỏi các lớp khác. Với một ánh xạ phi tuyến phù hợp vào một không gian mới
tương ứng có số chiều lớn hơn thì dữ liệu thuộc về 2 lớp luôn luôn có thể được phân
tách bởi một siêu phẳng. SVM tìm kiếm siêu phẳng này bằng cách sử dụng các
support vector – thực chất là các đối tượng huấn luyện – và tìm kiếm lề (margin)
được tạo ra bởi các support vector đó. SVMs có thể sử dụng cho cả classification
lẫn prediction và được áp dụng rất rộng rãi vào nhiều lĩnh vực, chẳng hạn nhận
dạng ký số viết tay, nhận dạng giọng nói, phân loại văn bản… Sau đây ta sẽ giới
thiệu SVMs cho 2 trường hợp: dữ liệu là khả tách tuyến tính và không khả tách.

1.3.2.1. SVMs với dữ liệu khả tách tuyến tính (linearly separable)
Xét trường hợp đơn giản ta có 2 lớp phân tách tuyến tính với nhau: Tập dữ
liệu ban đầu D được cho dưới dạng (X1, y1), (X2, y2),…, (X|D|, y|D|) trong đó Xi là các
đối tượng huấn luyện với nhãn yi với yi ∈ {+1, -1}.

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

15/127



Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

Hình 1.3: Dữ liệu 2-D khả tách tuyến tính

Xét ví dụ như hình trên, dữ liệu có 2 thuộc tính A1, A2 và khả tách tuyến tính vì ta
có thể vẽ 1 đường thẳng để phân tách hoàn toàn các đối tượng thuộc nhóm +1 với
các đối tượng thuộc nhóm – 1, có vô số các đường thẳng như thế có thể được vẽ;
tuy nhiên ta mong muốn tìm ra đường thẳng nào tối ưu nhất để lỗi phân loại là bé
nhất. Với dữ liệu là 3-D ta mong muốn tìm ra 1 mặt phẳng phân tách tối ưu, đối với
dữ liệu n chiều ta mong muốn tìm ra 1 siêu phẳng tối ưu. Ta sẽ dùng thuật ngữ “siêu
phẳng” – hyperplane – để chỉ đến vùng biên quyết định mà không quan tâm đến số
chiều (số thuộc tính) của dữ liệu. Vậy bằng cách nào để tìm ra siêu phẳng tối ưu?
SVMs giải quyết bài toán này bằng cách tìm kiếm siêu phẳng lề cực đại (maximum
marginal hyperpalne). Hình 1.4 cho thấy 2 trường hợp siêu phẳng phân tách và lề
tương ứng với chúng. Cả 2 siêu phẳng đều phân loại một cách đúng đắn dữ liệu ban
đầu, tuy nhiên siêu phẳng với lề lớn hơn sẽ cho kết quả phân loại tốt hơn với các dữ
liệu sẽ có trong tương lai. Chính vì vậy, SVMs sẽ tìm kiếm siêu phẳng với lề lớn
nhất (MMH – maximum marginal hyperplane) . Một siêu phẳng phân tách có
phương trình là:
W .X + b = 0

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

(1.1)

16/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai


Hình 1.4: Ví dụ về siêu phẳng cùng với lề tương ứng

Với W là vector trọng số, W = {w1, w2,…, wn}, n là số thuộc tính, b là một giá trị vô
hướng. Đối với ví dụ ở trên, X = {x1, x2} ta có thể biểu diễn phương trình của siêu
phẳng phân tách như sau:
w0 + w1x1 + w2x2 = 0

(1.2)

Bất cứ đối tượng nào nằm về phía trên siêu phẳng sẽ có:
w0 + w1x1 + w2x2 > 0

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

(1.3)

17/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

và nằm về dưới siêu phẳng sẽ có:
w0 + w1x1 + w2x2 < 0

(1.4)

Các trọng số có thể được hiệu chỉnh sao cho các siêu phẳng định ra các mặt của lề
có thể được viết là:
(1.5)


Bất cứ đối tượng nào nằm trong H1 sẽ thuộc về lớp +1, nằm trong H2 sẽ thuộc về
lớp -1. Ta có thể biểu diễn bằng một công thức duy nhất sau đây cho H1 và H2:
yi ( w0 + w1 x1 + w2 x2 ) ≥ 1, ∀i

(1.6)

Bất cứ đối tượng huấn luyện nào thỏa mãn bất đẳng thức trên được gọi là các
support vector.

Hình 1.5: Support vectors

ở hình vẽ trên, các support vector là các phần tử với đường viền tròn bao ngoài. Về
bản chất thì các support vector là các phần tử khó phân loại nhất và chứa những
thông tin quan trọng nhất để phân loại. Vậy tìm kiếm MMH và các support vector
như thế nào? Ta có thể viết lại biểu thức (1.6) ở trên dưới dạng các ràng buộc của
một bài toán quy hoạch toàn phương lồi (convex quadratic optimization problem),

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

18/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

sử dụng các hệ số Lagrangian và giải quyết bài toán bằng điều kiện Karush-KuhnTucker (KKT). Ở đây, ta sẽ không đi sâu vào giải quyết bài toán này như thế nào,
chi tiết có thể tham khảo thêm trong các tài liệu chuyên ngành về toán học. Như vậy
giải quyết bài toán quy hoặc toàn phương là sẽ tìm ra các support vector với lề cực
đại và như vậy ta đã có một máy vector hỗ trợ đã được huấn luyện. MMH là một
vùng bao tuyến tính giữa các lớp, vì vậy SVM tương ứng có thể được sử dụng để
phân loại một cách tuyến tính dữ liệu phân tách được.

Sau khi đã có một support vector machine, ta có thể sử dụng nó để phân lớp
dữ liệu. Dựa vào các hệ số Lagrangian, MMH có thể được viết lại như sau:
(1.7)
Trong đó yi là nhãn lớp của vector Xi, XT là tập các phần tử để test; α i và b0 là các
giá trị của tham số tối ưu có được nhờ giải quyết bài toán quy hoạch toàn phương; l
là số lượng các support vector. Trong trường hợp dữ liệu khả tách tuyến tính,
support vectors là tập con của tập các phần tử thực sự để huấn luyện.
Với một phần tử kiểm tra, XT ta lắp nó vào công thức ở trên và kiểm tra dấu
của kết quả. Nếu dấu là dương thì phần tử thuộc về phần dương của siêu phẳng,
ngược lại nó thuộc về phần âm của siêu phẳng. Trong biểu thức kiểm tra dấu ở trên
phải tính tích vô hướng giữa support vector Xi với dữ liệu kiểm thử XT, điều này sẽ
có lợi cho việc tìm kiếm MMH và support vectors trong trương hợp dữ liệu không
khả tách tuyến tính sẽ được đề cập đến ngay sau đây.

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

19/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

1.3.2.2. SVMs với dữ liệu không khả tách tuyến tính (linearly inseparable)
Sau đây là một ví dụ về trường hợp dữ liệu không khả tách tuyến tính

Hình 1.6: Dữ liệu không khả tách tuyến tính

Hướng tiếp cận đối với SVMs tuyến tính có thể được mở rộng để tạo ra SVMs
phi tuyến dùng cho việc phân loại dữ liệu không khả tách tuyến tính. Quá trình này
gồm 2 bước, ở bước thứ nhất, ta sẽ biến đổi tập dữ liệu ban đầu vào trong một
không gian với số chiều lớn hơn bằng một phép ánh xạ phi tuyến. Có một vài ánh

xạ phi tuyến thông dụng thường được sử dụng ở đây ta sẽ trình bày sau. Một khi dữ
liệu đã được biến đổi vào trong không gian mới, bước thứ 2 sẽ là tìm kiếm một siêu
phẳng phân tách tối ưu tuyến tính trong không gian mới này. Ở đây ta gặp lại bài
toán quy hoạch toàn phương. Siêu phẳng lề cực đại tìm được trong không gian mới
sẽ tương ứng với một mặt phân tách phi tuyến trong không gian ban đầu.
Sau đây ta xét một ví dụ về phép biến đổi phi tuyến dữ liệu đầu vào ban đầu
vào trong không gian mới với số chiều lớn hơn. Xét một vector đầu vào trong
không gian 3 chiều X = (x1, x2, x3) được ánh xạ vào không gian 6 chiều Z sử dụng
các ánh xạ sau:
φ1 ( X ) = x1 , φ2 ( X ) = x2 , φ3 ( X ) = x3 , φ4 ( X ) = ( x1 ) 2 , φ5 ( X ) = x1 x2 , φ6 ( X ) = x1 x3 .

Một siêu phẳng quyết định trong không gian mới là d(Z) = WZ + b, trong đó W và Z
là các vector. Tìm ra W và b sau đó thay thế trở lại trong không gian ban đầu thì

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

20/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

siêu phẳng phân tách trong không gian Z sẽ ững với một hàm phi tuyến đa thức bậc
2 trong không gian 3-D ban đầu:

Ở đây gặp một số vấn đề, thứ nhất bằng cách nào có thể chọn ra một ánh xạ phi
tuyến vào trong một không gian có số chiều cao hơn? Thứ hai, chi phí tính toán liên
quan sẽ trở nên đáng kể. Quay lại với biểu thức (1.7)

Với mỗi phần tử cần kiểm tra dấu, ta phải thực hiện việc lấy tích vô hướng của nó
với tất cả các phần tử support vectors. Trong quá trình huấn luyện, ta phải tính sự

tương tự tích vô hướng một vài lần để tìm ra MMH, việc làm này tốn khá nhiều chi
phí bởi vì việc tính tích vô hướng chiếm khá nhiều tài nguyên, do vậy cần một kỹ
thuật khác. Rất may, ta có thể sử dụng các kỹ thuật liên quan đến toán học để giải
quyết vấn đề này. Trong việc tìm lời giải cho bài toán tối ưu hóa toàn phương cho
SVM tuyến tính, tập phần tử huấn luyện chỉ xuất hiện dưới dạng tích vô hướng
φ ( X i ).φ ( X j ) với φ ( X ) là một ánh xạ phi tuyến được áp dụng để biến đổi các đối

tượng huấn luyện. Thay vì tính toán tích chập (tích vô hướng) trên các dữ liệu đã
được biến đổi, ta có thể áp dụng một hàm nhân (kernel function) K(Xi, Xj) đối với
dữ liệu trong không gian ban đầu, tức là:
(1.8)
Như vậy, nếu φ ( X i ).φ ( X j ) xuất hiện trong giải thuật huấn luyện, ta có thể thay thế
nó bởi K(Xi, Xj), theo cách này tất cả công việc tính toán được thực hiện trong
không gian dữ liệu đầu vào ban đầu, nó sẽ có số chiều bé hơn rất nhiều so với
không gian mới. Ap dụng kỹ thuật này, sau đó ta có thể tìm kiếm siêu phẳng phân

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

21/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

tách tối ưu như đã đề cập đến trong trường hợp dữ liệu là khả tách tuyến tính. Vậy
có thể sử dụng những hàm nhân nào? Có 3 hàm nhân thường được sử dụng sau đây:

(1.9)

SVMs cũng có thể được áp dụng cho hồi quy phi tuyến và tuyến tính. Ở đây
thay vì học để dự đoán nhãn các lớp rời rạc (giống như yi ∈ {+1, -1}), SVMs đối với

regression cố gắng học mối quan hệ đầu ra-đầu vào đối với các dữ liệu đầu vào Xi
tương ứng với các giá trị liên tục đầu ra yi ∈ R, hướng tiếp cận sau đó tương tự như
trường hợp SVMs dùng trong classification.
Các nghiên cứu chính về SVMs thường tập trung vào việc nâng cao tốc độ
trong việc huấn luyện và kiểm tra, vì vậy SVMs có thể trở nên thiết thực hơn đối
với tập dữ liệu rất lớn (chẳng hạn hàng triệu support vectors). Các hướng khác bao
gồm việc quyết định hàm nhân tốt nhất cho một tập dữ liệu và tìm kiếm các
phương pháp hiệu quả hơn cho trường hợp đa lớp (multiclass).

1.4. Phân nhóm dữ liệu
1.4.1. Giới thiệu
Clustering [1] – Phân nhóm – là quá trình gom nhóm dữ liệu vào trong các
lớp (class) hay còn gọi là các cụm (cluster), như vậy các đối tượng trong cùng một
cluster sẽ rất giống nhau trong khi các đối tượng thuộc về các cluster khác nhau sẽ
rất khác nhau. Sự khác nhau được xác định dựa trên các thuộc tính mô tả đối tượng,
độ đo về khoảng cách thường được sử dụng trong trường hợp này. Clustering xuất
phát từ nhiều lĩnh vực, gồm khai phá dữ liệu, thống kê, sinh vật học và học máy
(machine learning).
Trong lĩnh vực học máy thì clustering thuộc về phương pháp học không
giám sát (unsupervised learning). Không giống như bài toán phân lớp

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

22/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

(classification), clustering và phương pháp học không giám sát, nó không phụ thuộc
vào các lớp đã được ấn định trước cũng như các mẫu huấn luyện đã được gán nhãn.

Cũng vì lý do này, clustering là một dạng của học bằng quan sát (learning by
observation) hơn là học thông qua mẫu (learning by examples).
Trong khai phá dữ liệu, các nỗ lực tập trung vào các phương pháp clustering
áp dụng hiệu quả cho các cơ sở dữ liệu lớn. Các nghiên cứu thường chú trọng vào
tính quy mô (scalability) của các phương pháp clustering, tính hiệu quả trong việc
phân tích các dữ liệu có cấu trúc phức tạp, các dữ liệu trong không gian đa chiều…
Clustering là một trong những hướng nghiên cứu mà các ứng dụng của nó cần có
những yêu cầu đặc biệt, sau đây là những yêu cầu thông thường của clustering trong
khai phá dữ liệu:
ƒ Tính quy mô (Scalability): các phương pháp clustering làm việc tốt
không những đối với các dữ liệu bé mà còn có thể áp dụng cho các dữ
liệu lớn (gồm nhiều đối tượng)
ƒ Khả năng xử lý đối với các loại thuộc tính khác nhau: nhiều giải thuật
được thiết kế cho việc clustering các dữ liệu dạng số, tuy nhiên các
ứng dụng có thể yêu cầu clustering cho các loại dữ liệu khác, chẳng
hạn dữ liệu nhị phân…
ƒ Phát hiện ra các cluster với hình dạng bất kỳ: nhiều giải thuật
clustering xác định các cluster dựa trên độ đo Euclidean hoặc
Manhattan, các giải thuật này thường tìm kiếm các cluster dạng hình
cầu; tuy nhiên các cluster có thể có dạng bất kỳ và các giải thuật này
phải phát hiện được chúng
ƒ Tối thiểu hóa các yêu cầu cho tri thức lĩnh vực để quyết định các tham
số đầu vào: nhiều giải thuật clustering yêu cầu người dùng đưa vào
các tham số cần thiết và các kết quả thu được có thể phụ thuộc rất
nhiều vào các tham số đầu vào này. Các tham số này thường rất khó
ấn định, đặc biệt đối với các dữ liệu chứa các đối tượng trong không

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

23/127



Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

gian đa chiều. Đây không những là một gánh nặng đối với người sử
dụng mà còn khó cho việc xác định chất lượng của clustering
ƒ Khả năng xử lý với các dữ liệu có nhiễu
ƒ Gia tăng clustering và ít bị ảnh hưởng bởi thứ tự của các dữ liệu đầu
vào
ƒ Khả năng xử lý dữ liệu đa chiều
ƒ Clustering dựa trên các ràng buộc
ƒ Có thể hiểu được (interpretability) và có thể dùng được (usability)

1.4.2. Phân loại các phương pháp phân nhóm
Hiện nay tồn tại rất nhiều phương pháp clusering và thật khó để phân loại
một cách chính xác các phương pháp này thành các lớp riêng biệt bởi vì các lớp này
có thể phủ lên nhau làm cho mỗi phương pháp có thể mang một vài đặc trưng của
các lớp khác nhau. Mặc dầu vậy, việc đưa ra một sự phân loại tương đối về các
phương pháp clustering là cần thiết. Thông thường các phương pháp clustering
được phân loại thành các nhóm như sau:
Partitioning methods (các phương pháp phân hoạch): Cho một cơ sở dữ liệu
gồm n đối tượng, một phương pháp partitioning sẽ tạo ra k phân hoạch dữ liệu trong
đó mỗi phân hoạch tương ứng với một cluster và k ≤ n . Phương pháp này phân lớp
dữ liệu vào trong k nhóm và thỏa mãn các yêu cầu sau: (1) mỗi nhóm có ít nhất một
phần tử, (2) mỗi đối tượng phải hoàn toàn thuộc về một nhóm. Yêu cầu thứ 2 có thể
được nới lỏng trong một số phương pháp phân hoạch mờ (fuzzy partitioning).
Phương pháp partitioning tạo ra một phân hoạch ban đầu, sau đó sử dụng kỹ
thuật lặp tái định vị (iterative relocation technique) để hoàn thiện phân hoạch ban
đầu bằng cách di chuyển các đối tượng từ một nhóm sang nhóm khác. Một phân
hoạch tốt cần phải có các đối tượng trong cùng một cluster thì giống nhau hoặc rất

gần nhau, trong khi các đối tượng thuộc về các cluster khác nhau thì rất khác biệt.
Có rất nhiều tiêu chuẩn để đánh giá chất lượng của các phân hoạch tạo ra.
Để đạt được tối ưu tổng thể cần phải liệt kê đầy đủ tất cả các phân vùng; thay
vì làm điều này, phần lớn các ứng dụng lựa chọn một trong số các phương pháp

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

24/127


Xử lý văn bản tiếng Việt theo mô hình tập thô dung sai

heuristic thông dụng, chẳng hạn (1) giải thuật k-means trong đó mỗi cluster được
biểu diễn bởi giá trị trung bình của các đối tượng trong cluster đó; (2) giải thuật kmedoids trong đó mỗi cluster được biểu diễn bởi một trong số các đối tượng nằm
gần tâm của cluster. Tất cả phương pháp heuristic này làm việc hiệu quả đối với các
cluster dạng hình cầu trong các cơ sở dữ liệu vừa và nhỏ. Để tìm kiếm các cluster
với hình dạng phức tạp hơn và với các cơ sở dữ liệu lớn hơn cần phải mở rộng
phương pháp này.
Hierarchical methods (các phương pháp phân cấp ): một phương pháp kiểu
hierarchical tạo ra một phân hoạch phân cấp (hierarchical decomposition) tập đối
tượng ban đầu. Một phương pháp thế này có thể phân loại thành agglomerative
hoặc divisive tùy thuộc vào cách tạo ra phân hoạch phân cấp. Hướng tiếp cận
agglomerative còn được gọi là bottom-up bắt đầu bằng việc xem mỗi đối tượng là
một nhóm riêng biệt; nó liên tục hợp nhất các đối tượng hoặc các nhóm gần với
nhau thành một nhóm mới cho tới khi tất cả các nhóm hợp nhất thành một nhóm
duy nhất (là nhóm nằm ở mức cao nhất của phân cấp) hoặc cho tới khi gặp một điều
kiện dừng nào đó. Hướng tiếp cận divisive còn được gọi là top-down bắt đầu bằng
việc xem tất cả các đối tượng thuộc về một cluster duy nhất, trong mỗi vòng lặp
tuần tự mỗi cluster được phân chia thành các cluster bé hơn cho tới khi mỗi đối
tượng là một cluster hoặc cho tới khi bắt gặp một điều kiện dừng nào đó.

Density-based methods (các phương pháp dựa trên mật độ): Phần lớn các
phương pháp partitioning phân hoạch các đối tượng dựa trên khoảng cách giữa các
đối tượng. Những phương pháp như vậy có thể tìm kiếm các cluster dạng cầu
nhưng gặp phải vấn đề khó khăn trong việc phát hiện các cluster có hình dạng bất
kỳ. Một số phương pháp clustering được đề xuất dựa trên khái niệm density – mật
độ. Ý tưởng chung của các phương pháp này là tiếp tục phát triển một cluster chừng
nào mật độ (số các đối tượng hoặc các điểm dữ liệu) trong các vùng lân cận chưa
vượt quá ngưỡng; như vậy với một điểm dữ liệu bên trong một cluster nào đó thì
các vùng lân cận nó với một bán kính nhất định phải chứa ít nhất số lượng các điểm.
DBSCAN [1](cùng với các mở rộng của nó) và OPTICS[1] là các phương pháp

Học viên thực hiện: Trần Quang – Lớp CH CNTT 2007-2009

25/127


×