1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

132 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Đinh Thị Phương Thu
Người hướng dẫn TS. Huỳnh Quyết Thắng
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2004
Thành phố Hà Nội
Định dạng
Số trang 132
Dung lượng 5,04 MB

Nội dung

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 Trang 10 Danh mục cỏc bảng trong Luận văn Trang 11 Danh mục cỏc hỡnh vẽ trong Luậ

Trang 2

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

nn n nng gời h g ời h ời hớng dẫn ớng dẫn ớng dẫn khoa khoa khoa học học học

TS H ỳnh Q ế Thắn u uy t g

Hà nội - 11/2004

Trang 3

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

CHƯƠNG 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 StopWords 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 (TTex ex ex t R t R t Ret et etri ri rieva eva evalllll ) 21

1.4.2 Phân lớp văn bản (TTex ex exttttt Categor Categor Categoriza iza ization, tion, tion, Tex Tex Text Classification t Classification ) 22

1.4.3 Phân nhóm văn bản ( T Tex ex t Clu ex t Clu t Clust steri st eri erinnnnnggggg ) 22

1.4.4 Tóm tắt văn bản (T Tex ex t Su ex t Sum t Su m mm m ariza m ariza arization tion ) 23

1.4.5 Dẫn đường văn bản (TTex ex ext Routing 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 ( Vectttttor S Vec or S or Spa pa pace ce ce M M M od od odel el el - VSM VSM ) 24

1.5.1.1 Mô hình Boolean 25

Trang 4

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 toán phân nhóm 32

2.1.1 Phân nhóm dữ liệu 32

2.1.2 Bài toán “Phân nhóm văn bản” 32

2.2 Các yêu cầu ủ c a kĩ thuật phân nhóm 32

2.3 Các thuật toán Phân nhóm cơ bản hiện nay 33

2.3.1 Các phương pháp phân chia (PPPPPartart artition ition itionnin nin ning Alg g Alg g Algorith orith orithm m msssss ) 34

2.3.2 Phương pháp phân nhóm dựa trên hàm mật độ (DensitDensityyyyy -B B B as as ased ed ) 34

2.3.3 Phương pháp phân nhóm dựa trên lưới (GridGrid -Based M Based M etho Based M etho ethoddddd ) 35

2.3.4 Phân nhóm dựa trên thuật ngữ xuất hiện thường xuyên ( Frequent IIIIItem tem temset 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 toán cây quyết định (DecisionDecision T T Tree ree ) 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 ( kkkkk -N N Neares eares earesttttt N N Nei ei eigh gh ghbbbbbor or ) 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

Trang 5

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 đề xuất 82

5.3 Kết chương 83

Trang 6

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 Sto pW pW ords 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

Trang 7

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 VnExpress- 121 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

Trang 8

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

2 Cluster Nhóm (nhóm dữ liệu, nhóm 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

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 gần nhất

Trang 9

21 Machine Learning học máy

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(C a ←C b ), Similarity- Độ tương tự giữa hai nhóm văn bản C a và C b

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

Trang 10

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 bản trên tập mẫu VietNamNet _ 107

Trang 11

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 toá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 toá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 toá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

Trang 12

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 toà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 triển với tốc độ

Trang 13

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 toá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 quá

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 bản

Trang 14

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 phần, chương.3 7

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 toá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 triển tiếp theo của đề tài ■

Trang 15

phÇn i c¬ së lý thuyÕt

Nội dung phần mô tả tổng quan cơ sở lý thuyết liên I

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

Trang 16

C HƯƠNG 1 - TỔNG QUAN VỀ XỬ LÝ VĂN BẢN

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

Trang 17

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

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 nhắc tới là việc

Trang 18

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 quá trình trên trong tiến trình KDD

Trang 19

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 toán di truyền (Genetic Algorithm), quy nạp luật

(Rule Reduction),…

Trang 20

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

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ạ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 toá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 với các mục đích sử dụng khác

nhau

Trang 21

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 nguyên 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 toá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”

Trang 22

như sự thay thế 1 1 giữa hai từ (ví dụ:- “loà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

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 toá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ữ

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 lại càng ít

Trang 23

1.3.4 Độ liên quan giữa các văn bản

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 toá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 toán phân nhóm văn bản (Text Clustering), bài toán định

tuyến văn bản (Text Routing), bài toá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ấ và thường được n

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 liệu về “Text

Trang 24

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 toán và yê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 toá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 giải quyết bài toán này không

Trang 25

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ă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 toá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 toá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 toà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 toà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 toá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 toá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 toá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 yêu cầu của mình Quá 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 bản

Trang 26

Một ứng dụng điển hình của bài toán dẫn đường văn bản là trong các trang

tin điện tử Khi đọc một tin mới, hệ thống sẽ đưa ra danh sách các tin khác có liên

quan đến nội dung đoạn tin đang đọc (hình 1.2) Người dùng có thể theo các thông

tin dẫn đường này để theo dõi toàn bộ diễn biến của sự kiện.

Hình 1.2. Chức năng dẫn đường văn bản trong VNExpress

1.5 Các phương pháp biểu diễn văn bản

Phần này sẽ trình bày về một số phương pháp biểu diễn văn bản thông dụng

trong đó đặc biệt chú ý đến phương pháp biểu diễn văn bản theo mô hình không

gian vector tần suất TF × IDF, đây là mô hình được tác giả sử dụng khi cài đặt mô

hình thử nghiệm trong luận văn này

1.5.1 Mô hình không gian vector (Vector Space Model - VSM)

Cách biểu diễn văn bản thông dụng nhất là thông qua mô hình không gian

vector Đây là một cách biểu diễn tương đối đơn giản Trước đây có một số nghiên

cứu nhận thấy phương pháp này gây tốn kém chi phí lưu trữ và công sức xử lý,

Trang 27

nhưng khi các phương pháp xử lý vector thưa được áp dụng thì các nhược điểm trên

giảm đi rất nhiều và mang lại hiệu quả cho bài toán đặt ra

Bản chất của mô hình không gian vector:

• Mỗi văn bản được biểu diễn thành một vector

• Mỗi thành phần của vector là một từ khóa riêng biệt trong tập văn bản

gốc và được gán một giá trị là hàm của từng f từ khóa trong văn bản

Quan sát ví dụ:“Mạng máy tính là một tập hợp các máy tính được nối với nhau bởi

các đường truyền vật lý theo một kiến trúc nào đó”. Có thể biểu diễn văn bản trên

dưới dạng các từ khóa và hàm fbiểu diễn số lần xuất hiện của từ khóa trong văn bản

(bảng 1.1) Cách biểu diễn này gọi là biểu diễn văn bản theo tần số xuất hiệ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

Một mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc có duy nhất hai

giá trị đúng và sai true ( và false, hoặc 0 và 1) gọi là mô hình Boolean Hàm f tương

ứng với thuật ngữ ti sẽ cho ra giá trị đúng nếu và chỉ nếu thuật ngữ ti xuất hiện

trong văn bản đó

Mô hình Boolean được mô tả như sau:

m

Giả sử có một cơ sở dữ liệu gồm văn bản, D= {d1, d2,… dm} Mỗi văn bản

được biểu diễn dưới dạng một vector gồm thuật ngữ n T= {t1, t2,…tn} Gọi W= {wij}

là ma trận trọng số, trong đó wijlà giá trị trọng số của thuật ngữ titrong văn bản dj

Mô hình Boolean là mô hình đơn giản nhất được xác định như sau [4, 9]:

Trang 28

trongmÆt cã nÕu0

dt

1

1.5.1.2 Mô hình tần số

Trong mô hình tần số, ma trận W = {wij} được xác định dựa trên tần số xuất

hiện của thuật ngữ ti trong văn bản dj hoặc tần số xuất hiện của thuật ngữ ti trong

toàn bộ cơ sở dữ liệu

Có ba phương pháp [4, 5, 9]:

• Phương pháp dựa trên tần số thuật ngữ TF (Term Frequency)

• Phương pháp dựa trên nghịch đảo tần số văn bản IDF (Inverse Document

Frequency)

• Phương pháp TF × IDF: kết hợp của phương pháp TF và IDF

 Phương pháp dựa trên tần số thuật ngữ TF (Term Frequency)

Các giá trị wij được tính dựa trên tần số xuất hiện của thuật ngữ trong văn

bản Gọi fij là số lần xuất hiện của thuật ngữ ti trong văn bản dj, khi đó wij được tính

Trong phương pháp này, trọng số wij tỷ lệ thuận với số lần xuất hiện của

thuật ngữ ti trong văn bản dj Khi số lần xuất hiện thuật ngữ ti trong văn bản dj càng

lớn thì điều đó có nghĩa là văn bản dj càng phụ thuộc vào thuật ngữ ti, hay nói cách

khác thuật ngữ ti mang nhiều thông tin trong văn bản dj Ví dụ: khi văn bản xuất

hiện nhiều thuật ngữ máy tính, điều đó có nghĩa là văn bản đang xét chủ yếu liên

quan đến lĩnh vực tin học

 Phương pháp dựa trên nghịch đảo tần số văn bản IDF (Inverse Document

Frequency)

Trang 29

Trong phương pháp này, giá trị wij được tính theo công thức (1.5) sau [4, 5, 9]:

liÖu tµi trong xuÊt hiÖn thuËt ng

nÕu 0

d t

h m

h

m

trong đó là số lượng văn bản và m hi là số văn bản mà thuật ngữ tixuất hiện

Trọng số wij trong công thức này được tính dựa trên độ quan trọng của thuật

ngữ ti trong văn bản dj Nếu ti xuất hiện trong càng ít văn bản, điều đó có nghĩa là

nếu nó xuất hiện trong dj thì trọng số của nó đối với văn bản dj càng lớn hay nó là

điểm quan trọng để phân biệt văn bản dj với các văn bản khác và hàm lượng thông

tin trong nó càng lớn Ví dụ: các thuật ngữ “tiền đạo” “hậu vệ” “thủ môn”, , chỉ

xuất hiện trong các bài báo nói về lĩnh vực bóng đá Như vậy, hàm lượng thông tin

về bóng đá chứa đựng trong các thuật ngữ trên là rất lớn

 Phương pháp TF × IDF

Phương pháp này là tổng hợp của hai phương pháp TF và IDF, giá trị của ma

trận trọng số được tính như (1.6) (tổ hợp của các công thức (1.3) và (1.5)) [4, 5, 9]

=

l¹i ngîc nÕu

nÕu 1

0

h h

m f

i

ij ij

1 log

)]

log(

[

(1.6)

Phương pháp này kết hợp được ưu điểm của cả hai phương pháp trên Trọng

số wij được tính bằng tần số xuất hiện của thuật ngữ ti trong văn bản dj và độ hiếm

của thuật ngữ ti trong toàn bộ cơ sở dữ liệu Đây cũng chính là phương pháp biểu

diễn văn bản tác giả sử dụng trong luận văn nghiên cứu này

1.5.1.3 Phương pháp xử lý véc tơ thưa

Theo mô hình vector chuẩn, việc xử lý các phép toán trên vector sẽ phụ

thuộc vào độ lớn của ma trận Wnm, ở đây n là số lượng thuật ngữ hay số chiều của

vector và m là số lượng văn bản có trong cơ sở dữ liệu Trên thực tế, số lượng thuật

ngữ và số văn bản có thể lên đến vài chục nghìn Khi đó số lượng phần tử trong ma

trận Wnm sẽ lên đến con số trăm triệu và việc lưu trữ ma trận Wnm sẽ tốn quá nhiều

Trang 30

tài nguyên bộ nhớ đồng thời các phép toán trên các vector sẽ rất phức tạp Để khắc

phục vấn đề này có thể sử dụng kỹ thuật xử lý trên vector thưa thay vì việc lưu trữ

và xử lý trên các vector chuẩn [9]

 Các điều kiện để có thể áp dụng phương pháp vector thưa:

1 Các vector thực sự thưa: số phần tử có trọng số khác 0 nhỏ hơn rất nhiều so

với số thuật ngữ trong cơ sở dữ liệu

2. Phép xử lý vector là đơn giản nhất: số vector cùng bị tác động trong một

phép xử lý cơ bản là nhỏ nhất Thường số vector bị tác động này được quy

định tối đa là 3 hoặc 4

Trên thực tế, số thuật ngữ xuất hiện trong một văn bản thường dưới 1000 Đối với

các văn bản dài và đa chủ đề thì số thuật ngữ xuất hiện có thể nhiều hơn Trong khi

đó, số lượng thuật ngữ có trong từ điển có thể đến 100.000 từ Đây chính là điều

kiện để áp dụng phương pháp vector thưa đối với điều kiện đầu tiên Việc thỏa mãn

điều kiện thứ hai còn phụ thuộc vào thuật toán áp dụng trong quá trình xử lý

 Một ví dụ biểu diễn vector thưa từ các vector chuẩn

Bảng 1.2 Ví dụ biểu diễn vector thưa

w ij Máy tính Internet Gia cầm Quần áo Lúa Ô tô

giá trị là mã biểu diễn thuật ngữ và giá trị trọng số tương ứng của thuật ngữ đó Ví

dụ: phần tử (6, 4) trong văn bản d2 chỉ ra thuật ngữ có mã 6 (“ô tô”) sẽ có trọng số

là 4

Trang 31

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ờ

Trong phạm vi của đề tài này tác giả không đi chi tiết vào rất nhiều khái

niệm cơ bản trong tập mờ nên chỉ xin phép giới thiệu qua phương pháp này

Xét tập các văn bản D = {d1, d2,…dn} và tập các thuật ngữ K = {k1, k2,…km}

Sự liên quan của các thuật ngữ tới một văn bản được xác định tương ứng bằng cách

sử dụng một phương pháp đánh chỉ số thông qua một giá trị gọi là hàm thuộc

(membership function) μA(x) nào đó đã biết:

)}

( μ ),

( μ ), (

Giá trị của hàm µ thường được chuẩn hóa các vào khoảng [0,1] Dựa trên các hàm K

thuộc này người ta xây dựng hàm tích hợp khái niệm mờ F để biểu diễn văn bản [4,

9]

kế”, “cài đặt” trong văn bản sau

Hình 1.3 Ví dụ biểu diễn văn bản dựa trên khái niệm mờ

Giả sử với:

 K = {“máy tính”, “phần cứng”, “phần mềm”, “CPU”, “chuột”, “thiết kế”, “cài đặt”}

Ngày nay, máy tính đã xâm

nhập rất sâu vào cuộc sống của

chúng ta Với sự phát triển mạnh

mẽ của khoa học kỹ thuật, các linh

kiện phần cứng như chuột,

CPU,…ngày càng rẻ đi đã làm cho

giá thành của máy tính rẻ hơn rất

“máy tính”

“phần cứng”

“phần mềm”

0.3 0.5 0.4

“CPU”

“chuột”

“thiết kế”

0.1 0.9 0.2

“cài đặt”

0.6

Trang 32

 μ = { (μ “máy tính” ), μ(“phần cứng”), μ(“phần mềm”), μ(“CPU” ), μ(“chuột”), μ(“thiết

t= “linh kiện”= {“ máy tính”, “phần cứng”, “CPU”, “chuột”}

Độ quan trọng của khái niệm “linh kiện” đối với văn bản được xác định là:

μ(“linh kiện”) = F( (μ “máy tính”), μ(“phần cứng”), (μ “CPU”), μ(“chuột”))

μ(“linh kiện”)=AVEG(0.3, 0.5, 0.1, 0.9)=0.45 với hàm tích hợp trung bình( )

 Xét khái niệm mờ

~

t= “phần mềm” := {“ máy tính”, “phần mềm”, “thiết kế”, “cài đặt”}.

Độ quan trọng của khái niệm “phần mềm” đối với văn bản được xác định là:

μ(“phần mềm”) = F( (μ “máy tính”), μ(“phần mềm”), μ(“thiết kế”), μ(“cài đặt”))

μ(“phần mềm”)=AVEG(0.3, 0.4, 0.2, 0.6)=0.375 F hàm tích hợp trung bình ( : )

Như vậy, bài toán xử lý văn bản trên tập mờ nói chính xác hơn chính là lưu

trữ và xử lý trên các khái niệm thay vì phải làm việc trên các thuật ngữ Việc lưu

trữ và xử lý trên các khái niệm sẽ cho ra các kết quả tốt hơn và hiệu quả hơn, giải

quyết rất nhiều vấn đề, chẳng hạn như từ đồng nghĩa, tuy nhiên vấn đề tính hàm phụ

thuộc giữa các khái niệm và thuật ngữ vẫn còn là một vấn đề không dễ giải quyết

1.6 Kết chương

Trong chương này, tác giả đã trình bày về các lý thuyết cơ bản trong lĩnh vực

xử lý văn bản và một số phương pháp biểu diễn văn bản Trong các phương pháp

biểu diễn văn bản, tác giả đặc biệt chú ý đến phương pháp vector tần suất TF × IDF

Cách biểu diễn này sẽ được sử dụng trong quá trình giải quyết bài toán chính

Trong chương sau, tác giả sẽ đi vào một vấn đề quan trọng liên quan đến ý

tưởng tiếp cận bài toán nghiên cứu chính được đặt ra trong đề tài Đó là kỹ thuật

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

Trang 33

C HƯƠNG 2 PHÂN NHÓM-PHƯƠNG PHÁP HỌC

KHÔNG GIÁM SÁT

Néi dung:

2.1 Giíi thiÖu bµi to¸n ph©n nhãm 2.2 C¸c yªu cÇu cña kÜ thuËt ph©n nhãm 2.3 C¸c thuËt to¸n ph©n nhãm c¬ b¶n hiÖn nay 2.4 §¸nh gi¸ hiÖu suÊt ph©n nhãm

2.5 KÕt ch¬ng

Trang 34

2.1 Giới thiệu bài toán phân nhóm

2.1.1 Phân nhóm dữ liệu

Kỹ thuật phân nhóm là một kỹ thuật học không giám sát thú vị trong các cơ

chế học và lĩnh vực thống kê Một cách tổng quát kỹ thuật phân nhóm sử dụng để

phân chia tập hợp các phần tử dữ liệu ban đầu thành các nhóm gồm các phần tử

tương tự nhau theo một, một số khía cạnh nào đó Phân nhóm dựa trên nguyên tắc

cực đại hoá tính tương đồng trong một nhóm và cực tiểu hoá tính tương đồng giữa

các nhóm [1, 8, 11, 20, 23]

Sự khác nhau giữa phân lớp dữ liệu và phân nhóm dữ liệu:

• Phân lớp dữ liệu: tên lớp và số lượng lớp được biết trước

• Phân nhóm dữ liệu: tên và số lượng nhóm là không biết trước

2.1.2 Bài toán “Phân nhóm văn bản”

Phân nhóm văn bản cũng là một kĩ thuật phân nhóm dữ liệu, thực hiện quá

trình tự động phân các văn bản, tài liệu thành các nhóm để các văn bản trong cùng

một nhóm có độ tương tự cao và khác với các văn bản trong nhóm khác [8, 11, 20]

Khái niệm tự động ở đây có thể hiểu như là một quá trình hoàn toàn tự động,

không có sự tham gia của con người vào bất cứ thời điểm nào của toàn bộ tiến trình

phân nhóm Bởi vậy, phân nhóm còn được gọi là học không giám sát (unsupervised

learning method) hay học không thầy dạy vì chúng ta chỉ học bằng “quan sát” hơn

là học từ “ví dụ”

Phân nhóm văn bản được nghiên cứu rộng rãi bởi các ứng dụng của nó là rất

lớn Chẳng hạn như khai phá dữ liệu văn bản (text mining), khai phá dữ liệu web

(web mining), tìm kiếm thông tin (information retrieval), phân tích hình học

(topological analysis),

Hiện nay các thuật toán phân nhóm phải chú trọng đáp ứng những yêu cầu sau [11]:

Trang 35

• Tính phạm vi (Scalability): Nhiều thuật toán tỏ ra làm việc hiệu quả trên tập

dữ liệu nhỏ, tuy nhiên một vài trong số chúng lại không thể thực hiện khi tập

dữ liệu vượt quá 10000 đối tượng

• Tính đa chiều cao (High dimensionality): Một cơ sở dữ liệu có thể chứa

nhiều thuộc tính Hầu hết các thuật toán đều hoạt động hiệu quả với dữ liệu ít

thuộc tính nhưng có thể thất bại khi thực hiện trên các dữ liệu nhiều thuộc

tính Các thuộc tính này khi mã hoá được coi là các chiều Chẳng hạn, một

tập văn bản tiếng Anh có thể có 10000 từ sẽ tạo ra một cơ sở dữ liệu lên đến

10000 chiều

• Đảm bảo hình dạng Đại số của các nhóm (Arbitrary shape of cluster): Các

nhóm xác định cần đảm bảo vẫn giữ nguyên hình dạng Đại số tự nhiên

Ví dụ: một số thuật toán thực hiện phân nhóm đều dựa trên khoảng cách

Euclidean hay Manhattan để đo lường sự khác nhau về độ tương tự, hiển

nhiên, những thuật toán đó sẽ tạo ra những nhóm có dạng hình cầu Điều này

làm giới hạn độ chính xác

• Không nhạy cảm với dữ liệu đầu vào (Insensitivity to the order of input

data): Một số thuật toán rất nhạy cảm với trật tự dữ liệu vào Điều này làm

cho chất lượng của phân nhóm biến đổi và trở nên không dự đoán được

• Kiểm soát nhiễu (Noisy data handling): Dữ liệu có sai sót là một vấn đề

thường thấy Sai sót được gọi chung là nhiễu Một thuật toán phân nhóm tốt

cần cực tiểu hoá ảnh hưởng của nhiễu nếu không sẽ giảm độ chính xác

2.3 Các thuật toán Phân nhóm cơ bản hiện nay

Các thuật toán Phân nhóm dữ liệu cơ bản hiện nay [8, 11, 23]:

• Các giải thuật dựa trên tập thuật ngữ xuất hiện thường xuyên (Document

Clustering Using Frequent Itemsets)

• Các giải thuật phân vùng (Partitionning Algorithms)

• Các giải thuật dựa trên mật độ (Densit-based Algorithms)

• Các giải thuật dựa trên các lưới dữ liệu (Grid-based Algorithms),

Trang 36

Phần dưới đây cung cấp một cái nhìn tổng quan về các giải thuật phân nhóm này và

tập trung đi sâu vào một giải thuật phân nhóm sẽ được sử dụng trong luận văn

2.3.1 Các phương pháp phân chia (Partitionning Algorithms)

Các phương pháp phân chia thực hiện chia một tập dữ liệu thành các nhóm

riêng rẽ [8, 11, 23] Ví dụ: để phân một tập các đối tượng dữ liệu thành k nhóm,

thuật toán tiến hành chia chúng ngay từ đầu thành nhóm Sau đó, liên tục cải tiến, k

xác định lại các nhóm bằng cách di chuyển các đối tượng dữ liệu ở nhóm này sang

nhóm khác cho đến khi thỏa mãn một số điều kiện

Thuật toán k-means do J.MacQueen đưa ra vào năm 1967 và các biến thể

của nó (k-means chia đôi - bisecting K-Means, ) được biết đến như là các thuật

toán phân chia nổi tiếng Chúng thường khác nhau trong việc xác định trọng tâm k

ban đầu, tính toán độ tương tự và phương pháp tính toán trọng tâm để giảm thời

gian tính toán

Hình

2.1 Ví dụ mô tả giải thuật k-means Hình 2.1 Ví dụ mô tả giải thuật k-means

a - Bước 1: khởi tạo ; b Vòng lặp đầu tiên; c Vòng lặp thứ hai (trạng thái dừng);- -

2.3.2 Phương pháp phân nhóm dựa trên hàm mật độ

(Density-Based)

Phương pháp phân nhóm dựa trên mật độ là các phương pháp dựa trên ý

tưởng: các nhóm ban đầu là các vùng dầy đặc trong không gian dữ liệu sẽ được tách

thành các vùng có mật độ đối tượng thấp hơn Tiếp tục đối với các nhóm mới tách

ra cho đến khi mật độ vùng lân cận vượt qua giá trị ngưỡng Nói cách khác, với mỗi

Trang 37

điểm bất kì trong một nhóm, mật độ điểm địa phương xung quanh điểm đó phải

không vượt quá ngưỡng Một nhóm sẽ được xác định dựa trên 3 tiêu chí: mật độ

(density), các kết nối với những điểm khác (connectivity) và đường biên (boundary)

[8, 11, 23]

Có hai cách tiếp cận đối với các phương pháp phân nhóm dựa trên mật độ:

• Density-Based Connectivity: bao gồm các giải thuật được biết đến như

DBSCAN, GDBSCAN, OPTICS, và DBCLASD Hướng tiếp cận này dựa

trên giá trị mật độ và các kết nối giữa các điểm dữ liệu

• Density Functions: ví dụ giải thuật DENCLUE, tiếp cận theo một số hàm

mật độ

2.3.3 Phương pháp phân nhóm dựa trên lưới (Grid-Based

Method)

Các phương pháp phân nhóm dựa trên lưới thực hiện lượng tử hóa không

gian thành số lượng hữu hạn các ô (cell) để tạo thành cấu trúc lưới Sau đó tất cả các

thao tác phân nhóm được thực hiện trên cấu trúc lưới Độ phức tạp tính toán không

phụ thuộc vào số các đối tượng dữ liệu mà chỉ phụ thuộc vào số các cell trong mỗi

chiều trong không gian đã được lượng tử hoá [8, 11, 23]

Hình 2.2 Mô tả một giải thuật phân nhóm dựa trên lưới

Trong số các giải thuật phân nhóm dựa trên lưới thì STING (Statistical

Information Grid) là một phương pháp phân nhóm dựa trên lưới nổi tiếng dùng cho

dữ liệu không gian Ta không đi sâu vào chi tiết của giải thuật này trong luận văn

Trang 38

2.3.4 Phân nhóm dựa trên thuật ngữ xuất hiện thường xuyên

( Frequent Itemset )

Các phương pháp sử dụng thuật ngữ thường xuyên để phân nhóm được đánh

giá là nhiều hứa hẹn trong bài toán phân nhóm nói chung và phân nhóm văn bản nói

riêng Đây cũng là phương pháp phân nhóm tác giả đã lựa chọn khi tiếp cận bài

toán nghiên cứu của luận văn Nguyên nhân là nó khắc phục được những nhược

điểm mà một số giải thuật phân nhóm khác gặp phải như:

• Không thực sự giải quyết được vấn đề số chiều quá lớn trong bài toán phân

nhóm Không đáp ứng được khi số chiều lên đến 10000 thuật ngữ/ số chiều

• Bất lợi khi kích thước của cơ sở dữ liệu quá lớn

Quá trình phân nhớm dựa trên thuật ngữ xuất hiện thường xuyên gồm hai bước:

• Xác định tập các thuật ngữ xuất hiện thường xuyên

• Sử dụng một giải thuật phân nhóm dựa trên tập thuật ngữ thường xuyên đã

xác định

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

Có nhiều giải thuật xác định tập các thuật ngữ xuất hiện thường xuyên nổi tiếng

như:

 Thuật toán AIS

 Thuật toán STM

 Thuật toán Apriori

 Thuật toán FP Growth,

Chúng ta sẽ xem xét hai thuật toán hay được sử dụng là thuật toán Apriori và FP

Growth

2.3.4.1.1 Giải thuật Apriori

Thuật toán này sử dụng các k-itemset (tập thuật ngữ gồm thuật ngữ xuất k

hiện thường xuyên) để thăm dò (k+1)-itemset và qua đó khai thác được toàn bộ các

tập thuật ngữ thường xuyên (FIs) trong tập dữ liệu [8, 11]

Trang 39

 Đầu tiên tính 1-itemsets 2-itemsets, và sau đó là 3-itemsets…

 Khi tính toán (k+1)-itemsets, chỉ xét những (k+1)-itemsets mà tất cả các tập

con có độ dài đã được xác định là thường xuyên ở bước trước.k

Mô tả giải thuật Apriori:

Biến Ck: Các tập thuật ngữ ứng cử có kích thước k

Biến Lk: Các tập thuật ngữ thường xuyên kích thước k

L 1 = {Các thuật ngữ thường xuyên mức 1};

For (k=1; L k !=Ø; k++) do

Begin

//Bước kết hợp: Kết hợp Lk với bản thân nó để tạo ra Ck+1

//Bước cắt tỉa: Loại bỏ (k+1)-itemsets từ Ck+1chứa k itemsets không thường xuyên

-C k+1 = các ứng cử viên được tạo ra từ Lk

For mỗi văn bản t trong cơ sở dữ liệu do

Tăng số lượng của tất cả các ứng cử viên trong Ck+1 có chứa trong t

L k+1 = các ứng cử viên trong Ck+1 có GS > min_support

end

Return k L k

Ví dụ:

Hình 2.3 Ví dụ về thuật toán Apriori

Phương pháp tạo và kiểm tra của giải thuật Apriori làm việc tốt Tuy nhiên,

một số lượng lớn itemset được tạo ra Nếu có tập m 1-FIs m ( tập 1-item frequent) thì

Trang 40

có đến m*(m-1)/2 tập 2-FIs được tạo ra Ngoài ra, thuật toán đòi hỏi quét nhiều lần

toàn bộ dữ liệu để kiểm tra thuật ngữ thường xuyên, nó đòi hỏi (n+1) lần quét với n

là số lượng k-FIs lớn nhất Đây cũng là nhược điểm của giải thuật này

2.3.4.1.2 Giải thuật FP Growth

Thuật toán FP-growth thông qua ý tưởng chia để trị (divide & conquer

approach) để cực tiểu số lượng itemset tạo ra FP growth tránh lặp lại số lần quét cơ

-sở dữ liệu, chỉ quét hai lần toàn bộ cơ -sở dữ liệu và khai thác cấu trúc dữ liệu thành

cây FP để tìm kiếm tất cả FI [8, 11]

Ví dụ: Xây dựng cây FP với Min_support = 0.5

Bảng 2.1 Dữ liệu đầu vào để xây dựng cây FP

1 Quét cơ sở dữ liệu, tìm ra các tập thuật ngữ thường xuyên ở mức 1

2 Sắp xếp các thuật ngữ thường xuyên theo thứ tự giảm dần

3 Quét cơ sở dữ liệu lại và xây dựng cây FP

Hình 2.4 Ví dụ về xây dựng cây FP

Ngày đăng: 19/02/2024, 23:07

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN