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

Tiếp cận học không giám sát trong học có giám sát với bài toán phân lớp văn bản tiếng việt

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.21 MB, 132 trang )

đinh thị phương thu

Bộ giáo dục và đào tạo
Trường đại học bách khoa Hà Nội

-------***-------

Đinh Thị Phương Thu

tiếp cận học không giám sát trong học có giám sát
ngành công nghệ thông tin

với bài toán phân lớp văn bản tiếng việt &
đề xuất cải tiến công thức tính độ liên quan giữa hai
văn bản trong mô hình vector

luận văn thạc sĩ công nghệ thông tin

khoá 2002 - 2004

Hà nội - Năm 2004


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

----------***--------Đinh Thị Phương Thu

tiếp cận học không giám sát trong học có giám sát với bài
toán phân lớp văn bản tiếng việt &
đề xuất cải tiến công thức tính độ liên quan giữa hai văn


bản trong mô hình vector

Chuyên ngành: Công nghệ thông tin

luận văn thạc sĩ công nghệ thông tin

người hướng dẫn khoa học
TS. Huỳnh Quyết Thắng

Hà nội - 11/2004


- Trang 1 -

MỤC LỤC
MỤC LỤC .......................................................................................................... 1
Danh mục các thuật ngữ và ký hiệu viết tắt trong Luận văn ...................... 6
Danh mục các bảng trong Luận văn .............................................................. 8
Danh mục các hình vẽ trong Luận văn .......................................................... 9
MỞ ĐẦU .......................................................................................................... 10

phần i cơ sở lý thuyết ................................................................................... 13

CHNG 1 - TỔNG QUAN VỀ XỬ LÝ VĂN BẢN...................................... 14
1.1. Khai phá và phát hiện tri thức trong dữ liệu ................................................ 15
1.1.1. Dữ liệu, Thông tin và Tri thức...........................................................................15
1.1.2. Khai phá dữ liệu và phát hiện tri thức ..............................................................15

1.2. Text Mining - Góc nhìn nhận quan trọng trong Data Mining .................... 18
1.3. Các khái niệm cơ bản trong xử lý văn bản .................................................... 19

1.3.1. Từ khóa, Thuật ngữ và Khái niệm ....................................................................19
1.3.2. Từ dừng (StopW ords ).......................................................................................20
1.3.3. Trọng số của thuật ngữ ....................................................................................20
1.3.4. Độ liên quan giữa các văn bản .........................................................................21

1.4. Các bài toán cơ bản trong xử lý văn bản ....................................................... 21
1.4.1. Tìm kiếm văn bản (Tex t Retrieval ) ...................................................................21
1.4.2. Phân lớp văn bản (Tex t Categorization, Tex t Classification ) ...........................22
1.4.3. Phân nhóm văn bản (Tex t Clustering ) ............................................................22
1.4.4. Tóm tắt văn bản (Tex t Sum m arization ) ...........................................................23
1.4.5. Dẫn đường văn bản (Tex t Routing ) ..................................................................23

1.5. Các phương pháp biểu diễn văn bản ............................................................. 24
1.5.1. Mơ hình khơng gian vector (Vector Space M odel - VSM ) .................................24

1.5.1.1. Mụ hỡnh Boolean ............................................................................................ 25

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 2 1.5.1.2. Mơ hình tần số ............................................................................................... 26
1.5.1.3. Phương pháp xử lý véc tơ thưa ...................................................................... 27
1.5.2. Phương pháp biểu diễn văn bản dựa trên các khái niệm mờ ...........................29

1.6. Kết chương ....................................................................................................... 30


CHƯƠNG 2 PHÂN NHÓM - PHƯƠNG PHÁP HỌC KHÔNG GIÁM SÁT .. 31
2.1. Giới thiệu bài tốn phân nhóm ....................................................................... 32
2.1.1. Phân nhóm dữ liệu ...........................................................................................32
2.1.2. Bài tốn “Phân nhóm văn bản” ........................................................................32

2.2. Các u cầu của kĩ thuật phân nhóm ............................................................. 32
2.3. Các thuật tốn Phân nhóm cơ bản hiện nay ................................................. 33
2.3.1. Các phương pháp phân chia (P artitionning Algorithm s )..................................34
2.3.2. Phương pháp phân nhóm dựa trên hàm mật độ (Density-Based ) ...................34
2.3.3. Phương pháp phân nhóm dựa trên lưới (Grid-Based M ethod ) ........................35
2.3.4. Phân nhóm dựa trên thuật ngữ xuất hiện thường xuyên (Frequent I tem set ) 36

2.3.4.1. Các giải thuật xác định tập các thuật ngữ xuất hiện thường xuyên .............. 36
2.3.4.2. Các giải thuật phân nhóm dựa trên thuật ngữ xuất hiện thường xuyên ........ 39

2.4. Đánh giá hiệu suất phân nhóm ....................................................................... 45
2.5. Kết chương ....................................................................................................... 45

CHƯƠNG 3 PHÂN LỚP - PHƯƠNG PHÁP HỌC CÓ GIÁM SÁT ............. 46
3.1. Giới thiệu bài toán ........................................................................................... 47
3.2. Các thuật toán Phân lớp văn bản cơ bản ...................................................... 47
3.2.1. Thuật tốn cây quyết định (Decision Tree ) ......................................................48

3.2.1.1. Mơ tả cây quyết định ...................................................................................... 48
3.2.1.2. Ví dụ minh họa cây quyết định....................................................................... 48
3.2.1.3. Xây dựng cây quyết định ................................................................................ 51
3.2.2. Thuật toán k-NN (k-Nearest Neighbor ) ...........................................................54

3.3. Đánh giá hiệu suất phân lớp văn bản............................................................. 57
3.4. Kết chương ....................................................................................................... 58


Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 3 -

CHƯƠNG 4 VẤN ĐỀ NGHIÊN CỨU CỦA LUẬN VĂN - BÀI TOÁN PHÂN

LỚP VĂN BẢN TIẾNG VIỆT ........................................................................... 59
4.1. Khai phá dữ liệu văn bản tiếng Việt .............................................................. 60
4.2. Các đặc trưng của tiếng Việt .......................................................................... 60
4.2.1. Các đơn vị tiếng Việt .........................................................................................61
4.2.2. Các đặc điểm chính tả văn bản tiếng Việt ........................................................61
4.2.3. Từ tiếng Việt .....................................................................................................62
4.2.4. Các chuẩn Font tiếng Việt được sử dụng ..........................................................63

4.3. Bài toán phân lớp văn bản tiếng Việt............................................................. 64
4.4. Kết chương ....................................................................................................... 65

phÇn iI thiÕt kÕ h­íng tiÕp cËn .................................................................... 66

CHƯƠNG 5 - ĐỀ XUẤT VÀ LỰA CHỌN GIẢI PHÁP TIẾP CẬN BÀI

TOÁN PHÂN LỚP VĂN BẢN TIẾNG VIỆT .................................................... 67
5.1. Đề xuất hai hướng tiếp cận bài toán .............................................................. 68
5.1.1. Hướng tiếp cận theo phương pháp học không giám sát trong học có giám

sát ...............................................................................................................................68
5.1.2. Hướng tiếp cận theo đề xuất cải tiến công thức đánh giá độ liên quan giữa
hai văn bản trong mơ hình vector ..............................................................................69

5.2. Lựa chọn giải pháp tiếp cận ............................................................................ 71
5.2.1. Tiếp cận theo phương pháp học khơng giám sát trong học có giám sát ..........71

5.2.1.1. Tiền xử lý văn bản .......................................................................................... 72
5.2.1.2. Biểu diễn văn bản trong mơ hình vector ........................................................ 74
5.2.1.3. Phân nhóm các lớp văn bản mẫu ................................................................... 77
5.2.1.4. Phân lớp văn bản dựa trên tiếp cận phân nhóm ............................................ 78
5.2.2. Tiếp cận theo đề xuất cải tiến công thức đánh giá độ liên quan giữa hai văn
bản trong mơ hình vector ...........................................................................................80

5.2.2.1. Mơ hình tiếp cận ............................................................................................ 80
5.2.2.2. Tiền xử lý và vector hóa văn bản ................................................................... 81
5.2.2.3. Quản lý độ liên quan giữa các term và văn bản mẫu .................................... 81
5.2.2.4. Phân lớp văn bản với công thức cải tiến xut........................................... 82

5.3. Kt chng ....................................................................................................... 83
Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hµ Néi

11/2004


- Trang 4 -

CHƯƠNG 6 - THIẾT KẾ XÂY DỰNG HỆ THỐNG THỬ NGHIỆM .............. 84

6.1. Xác định yêu cầu .............................................................................................. 85
6.2. Thiết kế xây dựng hệ thống thử nghiệm ........................................................ 85
6.2.1. Thiết kế tổng thể ..............................................................................................85
6.2.2. Chức năng phân lớp văn bản ............................................................................86

6.2.2.1. Hướng tiếp cận học không giám sát .............................................................. 86
6.2.2.2. Hướng tiếp cận theo đề xuất cải tiến cơng thức ............................................ 88
6.2.3. Chức năng vector hóa văn bản .........................................................................89
6.2.4. Chức năng phân nhóm các lớp văn bản mẫu....................................................91
6.2.5. Chức năng xác định trước độ liên quan của các term trong từ điển với tập
văn bản mẫu ...............................................................................................................93
6.2.6. Chức năng Quản lý tập mẫu .............................................................................94
6.2.7. Chức năng quản lý từ điển/ StopW ords ...........................................................95

6.3. Kết chương ....................................................................................................... 95

phÇn iii cài đặt mô hình và kiểm thử kết quả ............................................. 96

CHƯƠNG 7 – CÀI ĐẶT MƠ HÌNH VÀ KIỂM THỬ KẾT QUẢ ..................... 97
7.1. Cài đặt chương trình ....................................................................................... 98
7.1.1. Lựa chọn công nghệ và môi trường cài đặt ......................................................98
7.1.2. Giao diện chương trình Demo ..........................................................................98

7.1.2.1. Giao diện hướng tiếp cận học khơng giám sát trong học có giám sát .......... 98
7.1.2.2. Giao diện hướng tiếp cận theo công thức cải tiến ....................................... 100

7.2. Cơ sở dữ liệu thử nghiệm .............................................................................. 102
7.3. Kết quả thử nghiệm ....................................................................................... 102
7.3.1. Kết quả phân tách các thuật ngữ .................................................................. 103


7.3.1.1. Đánh giá tốc độ phân tách các thuật ngữ .................................................... 103
7.3.1.2. Đánh giá hiệu quả phân tách các thuật ngữ ................................................ 104
7.3.2. Kết quả phân lớp văn bản .............................................................................. 105

7.3.2.1. Kết quả thử nghiệm phân lớp trên tập mẫu VnExpress ............................... 105
7.3.2.2. Kết quả thử nghiệm phân lớp trên tập mẫu VietNamNet............................. 107

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 5 7.4. Đánh giá thử nghiệm ..................................................................................... 109
7.5. Kết chương ..................................................................................................... 109

KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN ............................................ 110
TÀI LIỆU THAM KHẢO ................................................................................. 112

phÇn phơ lơc ................................................................................................... 115
PHỤ LỤC 1 - Tập các từ dừng (Stopwords) tiếng Việt ............................ 116
PHỤ LỤC 2 - Kết quả thử nghiệm phân lớp trên tập dữ liệu VnExpress121
PHỤ LỤC 3 - Hướng dẫn cài đặt và sử dụng chương trình ................... 129
PHỤ LỤC 4 - Mô tả nội dung đĩa CD kốm theo ......................................... 130

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội


11/2004


- Trang 6 -

Danh mục các thuật ngữ và ký hiệu viết tắt trong Luận văn
STT

Từ

Nghĩa

1.

Ca

Một nhóm văn bản

2.

Cluster

Nhóm (nhóm dữ liệu, nhóm văn bản)

3.

concept

khái niệm


4.

d

Một văn bản

5.

D

Tập văn bản

6.

Decision Tree

Cây quyết định

7.

Document vector

Vector văn bản

8.

Feature vector

Vector thuộc tính đặc trưng


9.

FIHC

Hierarchical Frequent Item Based Clustering - Phân
nhóm có phân cấp dựa trên thuật ngữ xuất hiện thường
xuyên

10.

Frequent itemset

Tập thuật ngữ xuất hiện thường xuyên trong văn bản

11.

GFI

Global frequent item - Một thuật ngữ thường xuyên toàn
cục

12.

GFS

Global frequent itemset -Tập thuật ngữ thường xuyên
toàn cục

13.


GS

Global support - Phần trăm tài liệu chứa tập thuật ngữ.

14.

hash-table

bảng băm

15.

HTML

HyperText Markup Language - Ngôn ngữ đánh dấu siêu
văn bản

16.

ICS

inter-cluster similarity - Độ tương tự trong của nhóm

17.

KDD

Knowledge Discovery in Database - Tiến trình khai phá
dữ liệu và phát hiện tri thức


18.

keyword

từ khóa

19.

k-itemset

tập thuật ngữ gồm k phần tử

20.

k-NN

k-Nearest Neighbor - Thuật toán k láng giềng gn nht

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 7 21.

Machine Learning

học máy


22.

membership

hàm thuộc

function μA(x)
23.

postpruning

Tỉa cây sau

24.

precision

Độ chính xác phân lớp

25.

prepruning

Tỉa cây trước

26.

recall


Độ hồi tưởng (trong phân lớp)

27.

Semi-structured

Dạng bán cấu trúc

28.

Sim(Ca←Cb),

Similarity- Độ tương tự giữa hai nhóm văn bản Ca và Cb

29.

Stop word

Từ dừng

30.

supervised learning Học có giám sát
method

31.

term

thuật ngữ


32.

Test set

Tập dữ liệu kiểm thử

33.

Text Catergorization Phân lớp văn bản

34.

Text Classification

Phân lớp văn bản

35.

Text Clustering

Phân nhóm văn bản

36.

Text Mining

Khai phá dữ liệu văn bản

37.


TF × IDF

Phương pháp biểu diễn văn bản dựa trên tần số thuật ngữ
TF và nghịch đảo tần số văn bản IDF

38.

Training set

Tập dữ liệu huấn luyện

39.

unstructured

Dạng phi cấu trúc

40.

unsupervised

Học khơng giám sát

learning method
41.

VSM

§inh Thị Phương Thu -


Vector Space Model - Mụ hỡnh khụng gian vector

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 8 -

Danh mục các bảng trong Luận văn
Bảng 1.1. Ví dụ về văn bản biểu diễn theo từ khóa và tần số xuất hiện ______________ 25
Bảng 1.2. Ví dụ biểu diễn vector thưa. _______________________________________ 28
Bảng 2.1. Dữ liệu đầu vào để xây dựng cây FP ________________________________ 38
Bảng 3.1. Các mẫu huấn luyện dùng cho cây quyết định class LÚA ________________ 49
Bảng 3.2. Ví dụ 1 về gán nhãn theo số đơng ___________________________________ 56
Bảng 3.3. Ví dụ 2 về gán nhãn theo số đông ___________________________________ 57
Bảng 7.1. Thông tin mô tả một số thông số của các tập dữ liệu huấn luyện __________ 102
Bảng 7.2. Kết quả thử nghiệm phân lớp 80 văn bản trên tập mẫu VnExpress ________ 105
Bảng 7.3. Kết quả thử nghiệm phân lớp 35 văn bn trờn tp mu VietNamNet _______ 107

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hµ Néi

11/2004


- Trang 9 -


Danh mục các hình vẽ trong Luận văn
Hình 1.1. Tiến trình khai phá dữ liệu và phát hiện tri thức (KDD) __________________ 17
Hình 1.2. Chức năng dẫn đường văn bản trong VNExpress _______________________ 24
Hình 1.3. Ví dụ biểu diễn văn bản dựa trên khái niệm mờ ________________________ 29
Hình 2.1. Ví dụ mơ tả giải thuật k-means _____________________________________ 34
Hình 2.2. Mơ tả một giải thuật phân nhóm dựa trên lưới _________________________ 35
Hình 2.3. Ví dụ về thuật tốn Apriori ________________________________________ 37
Hình 2.4. Ví dụ về xây dựng cây FP _________________________________________ 38
Hình 3.1. Một ví dụ về cây quyết định cho phân lớp LÚA _________________________ 49
Hình 3.2. Ví dụ tìm kiếm lời giải trên cây quyết định phân lớp chủ đề “LÚA” ________ 50
Hình 3.3. Đồ thị phân bố đại lượng Entropy ___________________________________ 52
Hình 3.4. Minh họa việc khoanh vùng k văn bản gần nhất với k = 5 ________________ 55
Hình 3.5. Minh họa cách tính precision và recall _______________________________ 57
Hình 5.1. Mơ hình tiếp cận theo phương pháp học khơng giám sát _________________ 71
Hình 5.2. Thuật tốn tách term tiếng Việt _____________________________________ 74
Hình 5.3. Phân nhóm các lớp văn bản mẫu với thuật tốn FIHC ___________________ 78
Hình 5.4. Mơ hình tiếp cận theo cơng thức cải tiến đề xuất _______________________ 80
Hình 6.1. Sơ đồ chức năng tổng thể của hệ thống _______________________________ 85
Hình 6.2. Chức năng phân lớp văn bản theo hướng tiếp cận học không giám sát ______ 86
Hình 6.3. Chức năng phân lớp văn bản theo hướng tiếp cận cải tiến cơng thức _______ 88
Hình 6.4. Mơ hình bộ vector hóa văn bản _____________________________________ 90
Hình 6.5. Chức năng phân nhóm các lớp văn bản mẫu __________________________ 91
Hình 6.6. Chức năng xác định độ liên quan của các term trong từ điển với tập mẫu ____ 93
Hình 6.7. Chức năng Quản lý tập văn bản mẫu ________________________________ 94
Hình 6.8. Chức năng quản lý Từ điển/StopWords _______________________________ 95
Hình 7.1. Các giao diện chương trình cài đặt hướng tiếp cận học khơng giám sát ____ 100
Hình 7.2. Các giao diện chương trình cài đặt hướng tiếp cận theo cơng thức cải tiến _ 101
Hình 7.3. Tốc độ tách thuật ng ___________________________________________ 103

Đinh Thị Phương Thu -


Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 10 -

MỞ ĐẦU

Sự phát triển vượt bậc của khoa học và công nghệ trong một vài thập kỷ gần
đây đã mang lại cho con người nhiều tri thức hơn. Thơng tin, tri thức giờ đây khơng
chỉ cịn được lưu giữ trên giấy tờ nữa mà còn được số hóa và cất giữ như các tài liệu
điện tử. Thế kỷ 20 đánh dấu sự ra đời và phát triển mạnh mẽ của công nghệ thông
tin và công nghệ điện tử cùng với máy tính, mạng máy tính và mạng thơng tin tồn
cầu có khả năng chia sẻ thơng tin, an toàn, tốc độ trao đổi, khả năng xử lý thơng tin
nhanh chóng, chính xác,… Con người khơng cịn đáp ứng được với việc xử lý các
thông tin lưu trữ dạng văn bản điện tử theo các cách thủ công truyền thống. Từ đó
nảy sinh các nhu cầu về xử lý thơng tin văn bản tự động.
MỤC ĐÍCH VÀ LÝ DO LỰA CHỌN ĐỀ TÀI

Trên thế giới đã có rất nhiều thành công trong lĩnh vực nghiên cứu xử lý văn
bản như của hãng IBM, trong các phịng thí nghiệm ở MIT [12], hay trong các viện
nghiên cứu của các trường đại học ở Mỹ, Pháp, Nhật bản, Canada,... Tuy nhiên, các
thành cơng đó chủ yếu tập trung vào vấn đề nghiên cứu văn bản tiếng Anh, tiếng
Pháp, những ngôn ngữ tương đối đơn giản khi xử lý. Trong khi đó, rất ít cơng cụ đã
được xây dựng thực sự thành công trong lĩnh vực xử lý văn bản tiếng Việt. Do nhu
cầu hội nhập, nhu cầu phát triển về kinh tế, văn hóa, xã hội ngày càng tăng, các
thơng tin được lưu trữ qua văn bản điện tử, qua web, qua email phỏt trin vi tc


Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 11 không ngừng, nhu cầu nghiên cứu và xây dựng các công cụ khai phá văn bản tiếng
Việt đang được hết sức coi trọng.
Luận văn tốt nghiệp này được thực hiện với mục đích nghiên cứu tìm hiểu
các lý thuyết xử lý văn bản đã được nghiên cứu phát triển trong nước và trên thế
giới để từ đó xây dựng giải pháp cho các bài toán xử lý văn bản tiếng Việt. Bài toán
xử lý cụ thể đặt ra trong luận văn này là Bài toán phân lớp văn bản tiếng Việt.
NỘI DUNG VÀ PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI

Trong luận văn nghiên cứu về bài toán phân lớp văn bản tiếng Việt, với
mục đích tăng độ chính xác cho kết quả phân lớp văn bản tiếng Việt, dựa trên cơ sở
lý thuyết đã nghiên cứu, tác giả đề xuất hai hướng tiếp cận bài toán và trình bày các
kết quả nghiên cứu thử nghiệm theo cả hai hướng tiếp cận này đã tiến hành trong
khoảng thời gian vừa qua.
• Hướng tiếp cận thứ nhất: xuất phát từ ý tưởng rằng mặc dù kĩ thuật phân nhóm
là một phương pháp học không giám sát và kĩ thuật phân lớp là một phương
pháp học có giám sát nhưng chúng ta vẫn có thể sử dụng cách tiếp cận phân
nhóm để tăng hiệu quả cho bài tốn phân lớp văn bản. Với cách tiếp cận này
chúng ta sẽ giảm được kích thước, số chiều trong khơng gian vector đặc trưng và
mang lại hiệu quả rõ rệt.
• Hướng tiếp cận thứ hai: tác giả đề xuất một sự cải tiến cơng thức tính độ liên
quan giữa các văn bản trong mơ hình vector, cơng thức này được phát triển dựa
trên những nghiên cứu đã được chứng minh trong [6]. Việc sử dụng công thức
cải tiến này kết hợp với các cấu trúc dữ liệu phù hợp nhằm mục đích tối ưu kiến

trúc cho mơ hình thực hiện đã giảm được chi phí thời gian đáng kể trong q
trình tiến hành phân lớp và cho một kết quả thực nghiệm tương đối tốt.
Trong cả hai hướng tiếp cận tác giả đều sử dụng mơ hình khơng gian vector để biểu
diễn văn bn.

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 12 -

BỐ CỤC TRÌNH BÀY CỦA LUẬN VĂN

Bố cục trình bày của luận văn bao gồm 3 phần, 7 chương.
Phần I: Cơ sở lý thuyết

 Chương I: Giới thiệu một khung nhìn tổng quan về lĩnh vực xử lý văn bản.
 Chương II: Đề cập đến kỹ thuật phân nhóm văn bản là một kỹ thuật học
khơng giám sát trong xử lý văn bản.
 Chương III: Tìm hiểu về phương pháp phân lớp văn bản là một kỹ thuật học
có giám sát trong xử lý văn bản.
 Chương IV: Mơ tả bài tốn nghiên cứu chính của Luận văn: Bài toán phân
lớp trên các văn bản tiếng Việt.
Phần II: Thiết kế hướng tiếp cận

 Chương V: Tác giả đề xuất hai hướng tiếp cận và lựa chọn giải pháp cho các
mơ hình tiếp cận theo hai hướng đó.

 Chương VI: Thiết kế mơ hình phần mềm cho chương trình kiểm thử.
Phần III: Cài đặt mơ hình và kiểm thử kết quả

 Chương VII: Trình bày quá trình tiến hành thực nghiệm và các kết quả thực
nghiệm của cả hai hướng tiếp cận.
Cuối cùng, trong phần kết luận và định hướng phát triển, tác giả nêu ra các
nhận xét về kết quả đạt được và một số định hướng phỏt trin tip theo ca ti .

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 13 -

phần i
cơ sở lý thuyết

Nội dung

*
Ni dung phần I mô tả tổng quan cơ sở lý thuyết liên
quan đến vấn đề nghiên cứu trong luận văn:
 Chương I: Tổng quan về xử lý văn bản
 Chương II: Phân nhóm – phương pháp học
khơng giám sát
 Chương III: Phân lớp – phương pháp học có
giám sát

 Chương IV: Vấn đề nghiên cứu chính của luận
văn – bài tốn phõn lp vn bn ting Vit.

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hµ Néi

11/2004


- Trang 14 -

PhÇn

1

C HƯƠNG 1 - TỔNG QUAN VỀ X Lí VN BN

Nội dung:
1.1. Khai phá và phát hiện tri thức trong dữ liệu
1.2. Text Mining góc nhìn nhận quan trọng trong Data mining
1.3. Các khái niệm cơ bản trong xử lý văn bản
1.4. Các bài toán cơ bản trong xử lý văn bản
1.5. Các phương pháp biểu diễn văn bản
1.6. Kết chương

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Néi


11/2004


- Trang 15 -

1.1. Khai phá và phát hiện tri thức trong dữ liệu
1.1.1. Dữ liệu, Thông tin và Tri thức
Dữ liệu được hiểu là một chuỗi các bit, các con số hoặc các đối tượng mà
chúng ta thu thập được hàng ngày. Ví dụ: dữ liệu là các file trong máy tính, dữ liệu
là các văn bản giấy tờ mà chúng ta phải xử lý hàng ngày, các tín hiệu,...
Thông tin là dữ liệu đã được loại bỏ đi nhiễu, sự dư thừa và đã được biểu
diễn dưới dạng mà con người có thể nhận thức được. Ví dụ: thơng tin về tình hình
giá cổ phiếu, thơng tin về nhiệt độ trong tháng,...
Tri thức được hiểu là các thông tin đã được tích hợp lại, đã được nhận thức,
kiểm nghiệm, hay được đúc rút ra thành các quy luật có ý nghĩa đối với con người.
Ví dụ: từ thơng tin về nhiệt độ trong tháng, con người có thể đưa ra được những dự
báo thời tiết quan trọng, hoặc từ các thơng tin về tình hình giá cổ phiếu, các nhà
kinh doanh có thể phân tích và nắm được diễn biến của thị trường để có các quyết
định đầu tư đúng đắn,...
Tri thức chính là các dữ liệu, thơng tin ở mức trừu tượng và khái quát cao
hơn. So với dữ liệu và thơng tin thì tri thức ở dạng cô đọng và dễ hiểu nhất đối với
con người. Rõ ràng trong kỷ nguyên công nghệ thông tin này thì con người chỉ
muốn tìm kiếm và lĩnh hội các tri thức, đó là cách nhanh nhất và hợp lý nhất, so với
chi phí thời gian và khả năng để hiểu được các dữ liệu ở một dạng thô sơ nào đó.
Điều đó cũng cho thấy vai trị quan trọng của lớp các bài toán khai phá dữ liệu và
phát hiện tri thức.

1.1.2. Khai phá dữ liệu và phát hiện tri thức
Khai phá dữ liệu, hay Data Mining, được định nghĩa như quá trình phát
hiện các tri thức từ các dữ liệu lớn được lưu trữ trong cơ sở dữ liệu, data warehouse

hay các kho chứa thông tin khác [1, 12, 17].
Thuật ngữ khai phá dữ liệu (data mining) chỉ việc tìm kiếm một tập hợp nhỏ
có giá trị từ một số lượng lớn các dữ liệu thơ. Một ví d hay c nhc ti l vic

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hµ Néi

11/2004


- Trang 16 khai thác vàng từ đá và cát, khai phá dữ liệu được ví như cơng việc “đãi cát tìm
vàng” trong một tập hợp lớn các dữ liệu cho trước.
Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương tự với từ data
mining như knowledge mining (khai phá tri thức), knowledge extraction (chắt lọc tri
thức), data/patern analysis (phân tích dữ liệu/mẫu), data archaeology (khảo cổ dữ
liệu), data dredging (nạo vét dữ liệu) [12]. Hiện nay, thuật ngữ khai phá dữ liệu
được dùng quen thuộc và thường đồng nhất với một thuật ngữ khác là phát hiện tri
thức trong cơ sở dữ liệu – Knowledge Discovery in Database (KDD) [1, 2]. Thực
ra, khai phá dữ liệu chỉ là một bước trong các quá trình của KDD.
Tiến trình phát hiện tri thức KDD nói chung bao gồm 7 quá trình cơ bản
sau đây [1, 2, 4, 12, 17]:
1. Làm sạch dữ liệu: Loại bỏ nhiễu và các dữ liệu khơng cần thiết.
2. Tích hợp dữ liệu: Tích hợp các nguồn dữ liệu khác nhau.
3. Lựa chọn dữ liệu: Chọn lựa các dữ liệu liên quan tới quá trình phân tích.
4. Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp
cho việc xử lý.
5. Khai phá dữ liệu: Là một trong những bước quan trọng nhất, ở đây sử
dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu
có giá trị.

6. Ước lượng mẫu: Quá trình này nhằm đánh giá các kết quả tìm được thơng
qua các độ đo nào đó.
7. Biểu diễn tri thức: Sử dụng các kỹ thuật biểu diễn và thể hiện trực quan
các tri thức cho người dùng.
Hình 1.1 mơ tả bảy q trình trên trong tiến trình KDD.

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 17 -

Hình 1.1. Tiến trình khai phá dữ liệu và phát hiện tri thức (KDD)
Việc áp dụng tiến trình KDD có thể thực hiện trên nhiểu kiểu, loại dữ liệu
khác nhau với các hình thức tổ chức lưu trữ khác nhau. Hiện nay, có rất nhiều cách
tổ chức dữ liệu khác nhau: cơ sở dữ liệu văn bản, cơ sở dữ liệu quan hệ, cơ sở dữ
liệu hướng đối tượng, cơ sở dữ liệu không gian, cơ sở dữ liệu hướng thời gian,…
Đối với mỗi dạng cơ sở dữ liệu lại có các phương pháp xử lý và mục đích khai phá
dữ liệu khác nhau tùy theo tính chất và đặc thù của dữ liệu.
Các kỹ thuật được sử dụng có thể là các phương pháp truyền thống như
học máy (Machine Learning), nhận dạng (Recognition), thống kê (Statistics),… và
các kỹ thuật được phát triển bởi ngành nghiên cứu trí tuệ nhân tạo như mạng nơ-ron
nhân tạo (Neural Network), thuật tốn di truyền (Genetic Algorithm), quy nạp luật
(Rule Reduction),…
§inh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội


11/2004


- Trang 18 -

1.2. Text Mining - Góc nhìn nhận quan trọng trong
Data Mining
Trong các dạng dữ liệu thường xuyên được sử dụng thì văn bản là một trong
những dạng được dùng phổ biến nhất. Văn bản có mặt ở mọi nơi và thường xuyên
bắt gặp hàng ngày. Văn bản có thể là các bài báo, các tài liệu kinh doanh, các thông
tin kinh tế, các bài nghiên cứu khoa học,... Dù việc áp dụng CSDL vào hoạt động
quản lý của các tổ chức là rất phổ biến và đem lại nhiều lợi ích trong lưu trữ cũng
như xử lý, nhưng trên thực tế cịn rất nhiều thơng tin khác được lưu trữ dưới dạng
văn bản. Do đó, các bài toán xử lý văn bản đã được đặt ra từ khá lâu và cho đến nay
vẫn là một bài toán quan trọng trong khai thác dữ liệu văn bản.
Xử lý văn bản được hiểu đơn giản là các thao tác tác động lên văn bản để
làm cho chúng dễ sử dụng hơn, thơng tin trong chúng hữu ích hơn hoặc làm cho
chúng được lưu trữ tốt hơn.
Dữ liệu văn bản thường được chia thành hai loại [1, 9]:
• Dạng phi cấu trúc (unstructured): là dạng văn bản chúng ta sử dụng hằng
ngày được thể hiện dưới dạng ngôn ngữ tự nhiên của con người và khơng có
một cấu trúc định dạng cụ thể nào. Ví dụ: các văn bản lưu dưới dạng tệp tin
TXT,...
• Dạng bán cấu trúc (semi-structured): là các loại văn bản không được lưu trữ
dưới dạng các bản ghi chặt chẽ mà được tổ chức qua các thẻ đánh dấu để thể
hiện nội dung chính của văn bản. Ví dụ: dạng tệp tin HTML, e-Mail,…
Tùy từng mục đích sử dụng cụ thể mà việc xử lý văn bản được thực hiện trên dạng
cấu trúc nào. Ví dụ, với bài tốn phân lớp nội dung trang web thì dạng văn bản cần
xử lý là HTML. Trong luận văn này, tác giả chỉ quan tâm xử lý các dữ liệu văn bản

ở dạng phi cấu trúc (biểu diễn dưới dạng tệp tin TXT), bài toán được giải quyết
theo hướng dữ liệu mở để tương lai có thể đáp ứng vi cỏc mc ớch s dng khỏc
nhau.

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hµ Néi

11/2004


- Trang 19 -

1.3. Các khái niệm cơ bản trong xử lý văn bản
Trong luận văn này nhắc nhiều đến các thuật ngữ: từ khóa (keyword), thuật
ngữ (term), khái niệm (concept), trọng số thuật ngữ, độ liên quan,... Việc làm rõ
nghĩa của các thuật ngữ trên ngay từ đầu sẽ làm cho việc trình bày các nội dung
phần sau dễ dàng hơn.

1.3.1. Từ khóa, Thuật ngữ và Khái niệm
 Từ khóa (keyword): là các từ xuất hiện trong một văn bản ở dạng ngun thể,
có nghĩa trong từ điển. Ví dụ với văn bản: “Chú gà trống choai nhà em lớn
nhanh như thổi, càng lớn chú càng giống gà mái ”☺ 1, các từ khóa có thể được
tách ra là: “chú”, “gà trống”, “choai”, “nhà”, “em”, “lớn”, “ nhanh”, “như”,
“thổi”, “càng”, “lớn”, “chú”, “càng”, “giống”, “gà mái”.
 Thuật ngữ (term): là các từ khóa có nghĩa liên quan đến một lĩnh vực nào đó, ví
dụ: “máy tính”, “cơng nghệ phần mềm”, “tính tốn song song”. Các thuật ngữ
này thuộc về lĩnh vực “tin học”.
 Khái niệm (concept): là các thuật ngữ nhưng nó là sự khái quát hóa, tổng quát
hóa của nhiều thuật ngữ khác. Ví dụ: khái niệm “máy tính” có thể chứa đựng các

thuật ngữ khác như “bàn phím”, “chuột”, “phần cứng”, “phần mềm”, “CPU”,
“ổ cứng”, “Internet”, “màn hình”, “số hóa”,… các từ này có một phần liên
quan đến khái niệm “máy tính”.
Một khái niệm thường liên quan đến một dãy các thuật ngữ với mức độ khác
nhau. Ví dụ: thuật ngữ “phần mềm” có mức độ liên quan đến khái niệm “tin học”
nhiều hơn so với thuật ngữ “số hóa”. Một tiêu chuẩn để xem xét mức độ liên quan
là xác xuất đồng xuất hiện của cặp khái niệm – thuật ngữ trong các văn bản. Khi
thuật ngữ “máy tính” xuất hiện nhiều trong các văn bản chứa thuật ngữ “tin học”
thì có nghĩa là độ liên quan giữa cặp “tin học”-“máy tính” càng cao. Một lý do để
giải thích suy luận này là mức độ thay thế. Ở đây, khơng chỉ hiểu đơn thuần giống
1

trích tài liệu “Những áng văn bất hủ của con em chúng ta

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 20 như sự thay thế 1-1 giữa hai từ (ví dụ:“lồi người”-“nhân loại”) mà có thể xem
như giữa cặp khái niệm-thuật ngữ có sự thay thế bộ phận (ví dụ:“máy tính”-“bàn
phím”).

1.3.2. Từ dừng (StopWords)
Có thể quan sát thấy rằng trong các ngôn ngữ tự nhiên, rất nhiều từ được
dùng để biểu diễn cấu trúc câu nhưng hầu như không mang ý nghĩa về mặt nội
dung, chẳng hạn các loại từ: giới từ, liên từ,… Các loại từ này xuất hiện thường
xuyên trong các văn bản nhưng không hề mang bất cứ một thông tin nào về nội

dung hay chủ đề của văn bản. Những từ đó được gọi là từ dừng (StopWords). Việc
loại bỏ các từ như vậy cũng đồng nghĩa với việc giảm số chiều của văn bản.
Khái niệm Từ dừng (StopWords): là các từ mang ít ý nghĩa trong xử lý văn
bản vì nó xuất hiện trong hầu hết các văn bản. Ví dụ: Có thể, nếu, vì vậy, sau khi,
thì, một số, với lại, quả thật, hầu như,...
Có một số phương pháp để xác định các từ dừng:
• Xây dựng một thuật tốn phát hiện các từ dừng. Trong thuật toán này cần
đưa ra một ngưỡng để phát hiện từ dừng, ví dụ nếu phát hiện thấy một từ
xuất hiện trong quá 50% số văn bản thì có thể coi đó là từ dừng.
• Sử dụng so sánh với một từ điển từ dừng đã được xây dựng.
Bạn đọc có thể tham khảo bảng từ dừng tiếng Việt đầy đủ hơn trong Phụ lục 1.

1.3.3. Trọng số của thuật ngữ
Trọng số của thuật ngữ là độ quan trọng hay hàm lượng thông tin mà thuật
ngữ đó mang lại cho văn bản. Nó là đại lượng dùng để đo sự khác biệt giữa văn bản
chứa nó với các văn bản khác. Đại lượng này thường được xác định bằng tay hoặc
đánh giá bằng số lần xuất hiện của thuật ngữ trong văn bản và số lần xuất hiện của
thuật ngữ đó trong các văn bản khác. Khi số lần xuất hiện của thuật ngữ trong văn
bản càng nhiều thì thơng tin mà nó mang lại càng lớn. Khi số lần xuất hiện của nó
trong các văn bản khác càng nhiều thì thơng tin mà nó mang li cng ớt.

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 21 -


1.3.4. Độ liên quan giữa các văn bản
Độ liên quan giữa hai văn bản là một đại lượng đo mức độ giống nhau về
mặt nội dung giữa hai văn bản đó. Các phương pháp đánh giá độ liên quan chia
thành hai loại: đánh giá theo tần suất xuất hiện thuật ngữ và đánh giá theo ngữ
nghĩa.
• Cách đánh giá độ liên quan theo tần suất xuất hiện thuật ngữ: không quan
tâm đến thứ tự sắp xếp của các thuật ngữ trong văn bản mà chỉ quan tâm đến
số lần nó xuất hiện trong văn bản đó. Ví dụ: phương pháp sử dụng hệ số
Dice, hệ số Jaccard, hệ số consine,...
• Cách đánh giá theo ngữ nghĩa: khơng chỉ chú ý đến số lần xuất hiện thuật
ngữ trong văn bản mà còn chú ý cả đến sự kết cấu giữa các từ trong từng câu
văn. Phương pháp đánh giá thuộc loại này thường phức tạp hơn, yêu cầu có
các giải thuật phù hợp với từng ngơn ngữ cụ thể.
Trong luận văn này, tác giả chủ yếu quan tâm đến phương pháp đánh giá độ liên
quan theo tần suất.

1.4. Các bài toán cơ bản trong xử lý văn bản
Lewis [12] đã chia ra một số bài toán cơ bản trong xử lý văn bản, bao gồm:
bài tốn tìm kiếm văn bản (Text Retrieval), bài toán phân lớp văn bản (Text
Catergorization), bài tốn phân nhóm văn bản (Text Clustering), bài tốn định
tuyến văn bản (Text Routing), bài tốn tóm tắt văn bản (Text Summarization)...

1.4.1. Tìm kiếm văn bản (Text Retrieval)
Tìm kiếm văn bản là quá trình tìm các văn bản trong một kho lưu trữ theo
các yêu cầu của người dùng. Ở đây, các yêu cầu là các truy vấn và thường được
biểu diễn dưới dạng thuật ngữ hay biểu thức logic giữa các thuật ngữ.
Ví dụ: truy vấn “Text Mining” AND (“Categorization” OR “Classification”).
Ứng với truy vấn này search engine của hệ thống sẽ tìm tất cả các tài liu v Text

Đinh Thị Phương Thu -


Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


- Trang 22 Mining” có liên quan đến “Categorization” hoặc “Classification”. Trên thực tế thì
hầu hết các hệ thống chỉ được thiết kế để hiểu các truy vấn tương tự như “Text
Mining” OR “Categorization” OR “Classification”. Với câu truy vấn này hệ thống
sẽ tìm kiếm các tài liệu theo mức phù hợp với cả ba thuật ngữ “Text Mining”,
“Categorization” và “Classification”.
Kết quả đầu ra của một phép truy vấn là danh sách các tài liệu được sắp xếp
giảm dần theo mức độ phù hợp với câu truy vấn đầu vào.

1.4.2.

Phân

lớp

văn

bản

(Text

Categorization,

Text


Classification)
Phân lớp văn bản được coi như quá trình gán các văn bản vào một hay
nhiều lớp văn bản đã được xác định trước dựa trên nội dung của văn bản đó [9, 12,
13].
Người ta có thể phân lớp các văn bản một cách thủ công, tức là đọc từng văn
bản và gán nó vào một lớp nào đó, cách này sẽ tốn rất nhiều thời gian và công sức
khi số lượng văn bản lớn nên không khả thi. Do vậy cần phải có các phương pháp
phân lớp tự động. Để phân lớp tự động người ta thường sử dụng các phương pháp
học máy trong trí tuệ nhân tạo. Khi phân lớp, văn bản được gán vào một lớp theo
một giá trị ngưỡng nào đó. Ngưỡng đặt ra tùy thuộc vào thuật tốn và u cầu người
dùng.

1.4.3. Phân nhóm văn bản (Text Clustering)
Phân nhóm văn bản là việc tự động sinh ra các nhóm văn bản dựa vào sự
tương tự về nội dung của các văn bản. Số lượng các nhóm văn bản ở đây là chưa
biết trước, chẳng hạn số nhóm có thể là 2, 3, 5,... Người dùng có thể chỉ ra số lượng
các nhóm cần phân nhóm hoặc hệ thống sẽ tự phân nhóm [9, 12].
Đối với bài tốn này, khơng bao giờ có một kết quả thỏa mãn hoàn toàn theo
ý người dùng. Một lý do đơn giản để giải thích là máy khơng được học trước.
Chúng ta phải thừa nhận rằng ngay cả con người cũng gii quyt bi toỏn ny khụng

Đinh Thị Phương Thu -

Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hµ Néi

11/2004


- Trang 23 giống nhau. Ví dụ: lập nhóm các từ “thầy giáo”, “diễn viên”, “phấn viết”, “vở
kịch”; một người sẽ lập thành 2 nhóm là: con người (“thầy giáo”, “diễn viên”) và

sự vật (“phấn viết”, “vở kịch”), trong khi đó người khác lại phân chúng thành 2
nhóm khác: giáo dục (“thầy giáo”, “phấn viết”) và văn hóa (“diễn viên”, “vở
kịch”). Do đó, việc địi hỏi hệ thống tự động lập nhóm làm việc đúng tuyệt đối là
điều khơng tưởng.

1.4.4. Tóm tắt văn bản (Text Summarization)
Tóm tắt văn bản là bài tốn tìm ra thể hiện nội dung của một văn bản thông
qua một vài đoạn văn [9, 12].
Ứng dụng điển hình của bài tốn này là trong tìm kiếm văn bản. Các kho lưu
trữ bao gồm rất nhiều tài liệu và kích thước mỗi tài liệu có thể lên đến vài trăm
trang. Giả sử khi bạn đọc muốn tìm một tài liệu về “Text Mining” và nhờ hệ thống
tìm kiếm văn bản tìm giúp, hệ thống tìm kiếm sẽ đưa ra một danh sách các tài liệu
với nội dung tương đối phù hợp với “Text Mining”. Nhưng để biết thực sự tài liệu
đó có phù hợp với mình hay khơng, bạn đọc đành phải đọc tồn bộ hoặc đọc một
phần trong tài liệu. Hệ thống tóm tắt văn bản sẽ làm cho việc tìm kiếm giảm nhẹ đi
rất nhiều bằng cách tự động tóm lược nội dung của tồn bộ văn bản bởi một vài
đoạn văn bản. Sau khi đọc qua đoạn tóm lược này, bạn đọc có thể biết được đây có
phải là tài liệu chứa thơng tin mà họ đang cần hay không.

1.4.5. Dẫn đường văn bản (Text Routing)
Dẫn đường văn bản là sự tổ hợp giữa bài tốn tìm kiếm văn bản và phân
lớp, nhóm văn bản. Giống như phân lớp, nhóm văn bản, bài tốn dẫn đường cũng
đưa các văn bản về các lớp, nhóm khác nhau và việc xử lý này yêu cầu trong thời
gian thực. Tuy nhiên, nó cũng giống như bài tốn tìm kiếm, mỗi lớp, nhóm văn bản
được gán với các thơng tin cần thiết của một hay nhiều nhóm người dùng. Mỗi
người dùng có thể thay đổi thêm bớt các u cầu của mình. Q trình phản hồi có
thể được sử dụng để nâng cao chất lượng tìm kiếm văn bn.

Đinh Thị Phương Thu -


Luận văn Thạc sĩ CNTT - Đại học Bách Khoa Hà Nội

11/2004


×