ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TRẦN THỊ THANH
ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO PHÂN LOẠI
TÀI LIỆU DẠNG VĂN BẢN
LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH
Thái Nguyên - 2012
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Ứng dụng giải thuật di truyền vào phân loại
tài liệu dạng văn bản” là công trình nghiên cứu của riêng tôi dƣới sự hƣớng dẫn
của PGS.TS. Bùi Thế Hồng. Toàn bộ phần mềm do chính tôi lập trình và kiểm thử.
Tôi xin chịu trách nhiệm về lời cam đoan của mình.
Các số liệu và thông tin sử dụng trong luận văn này hoàn toàn là trung thực.
Tác giả
Trần Thị Thanh
i
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
MỤC LỤC
MỤC LỤC i
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT vi
DANH MỤC CÁC BẢNG vii
DANH MỤC CÁC HÌNH VẼ viii
MỞ ĐẦU 1
CHƢƠNG 1: TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU 3
1.1 Giớ i thiệ u chung 3
1.1.1. Giới thiệu 3
1.1.2. Khái niệm 3
1.1.3. Đặc điểm của bài toán khai phá dữ liệu 4
1.2. Qu trình khm ph tri thức trong cơ sở dữ liệu 6
1.2.1. Gom dữ liệu 7
1.2.2. Trích lọc dữ liệu 7
1.2.3. Làm sạch, tiền xử lý và chuẩn bị trƣớc dữ liệu 8
1.2.4. Chuyển đổi dữ liệu 9
1.2.5. Khai phá dữ liệu - Phát hiện và trích mẫu dữ liệu 9
1.2.6. Đnh gi kết quả mẫu 10
1.3. Khái quát các kỹ thuật khai phá dữ liệu 10
1.3.1. Kỹ thuật khai phá dữ liệu dự đon 10
1.3.1.1. Phân lớp dữ liệu 10
1.3.1.2. Hồi quy 12
1.3.2. Kỹ thuật khai phá dữ liệu mô tả 13
1.3.2.1 Phân cụm dữ liệu 13
1.3.2.2. Tóm tắt 14
ii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1.3.3. So sánh các tiếp cận khai phá dữ liệu: phân cụm - phân lớp 14
1.3.4. Ứng dụng phân cụm 15
1.3.5. Ví dụ 15
1.4. Ý nghĩa thực tiễn và tình hình ứng dụng 17
1.4.1. Ý nghĩa thực tiễn 17
1.4.2. Tình hình ứng dụng 18
CHƢƠNG 2: TÌM HIỂU VỀ THUẬT GIẢI DI TRUYỀN 19
2.1. Tổng quan về giải thuật di truyền 19
2.1.1. Giới thiệu 19
2.1.2. Các tính chất quan trọng của giải thuật di truyền 20
2.1.3. Cơ sở sinh học của giải thuật di truyền 21
2.1.4. Sơ đồ thực hiện giải thuật di truyền 21
2.1.5. Ứng dụng 24
2.2. Các khái niệm chung về giải thuật di truyền 24
2.2.1. Chuỗi nhiễm sắc thể 24
2.2.2. Các cá thể 25
2.2.3. Phƣơng pháp mã hóa 25
2.2.4. Quần thể 25
2.2.5. Hàm thích nghi 26
2.2.6. Lai ghép, đột biến, tái sinh và chọn lọc 26
2.3. Các phép toán di truyền. 27
2.3.1. Mã hóa 27
2.3.1.1 Mã hóa nhị phân 27
2.3.1.2 Mã hóa hoán vị 28
iii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2.3.1.3 Mã hóa giá trị 28
2.3.1.4 Mã hóa theo cây 28
2.3.2. Quá trình lai ghép 29
2.3.2.1. Lai ghép giá trị thực 29
2.3.2.2. Lai ghép giá trị nhị phân 31
2.3.3. Đột biến 32
2.3.3.1. Đột biến các giá trị thực 32
2.3.3.2 Đột biến các giá trị nhị phân 33
2.3.4. Phép chọn lọc 33
2.3.4.1. Phƣơng php chọn lọc dùng bánh xe Roulette 33
2.3.4.2. Phƣơng php chọn lọc Stochastic Universal Sampling 34
2.3.4.3. Phƣơng php chọn lọc địa phƣơng 35
2.3.4.4. Phƣơng php lựa chọn loại bỏ 36
2.4. Các tham số của thuật giải di truyền 36
2.4.1. Kích thƣớc quần thể 36
2.4.2. Xác suất lai giống 37
2.4.3. Xác suất đột biến 37
2.4.4. Số lƣợng thế hệ 38
CHƢƠNG 3: ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO PHÂN LOẠI 39
TÀI LIỆU DẠNG VĂN BẢN 39
3.1. Phân loại văn bản 39
3.1.1. Khái niệm 39
3.1.2. Quá trình phân loại văn bản 39
3.2. Giới thiệu bài toán phân loại văn bản 41
iv
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3.3. Cc phƣơng php biểu diễn văn bản 41
3.3.1. Mô hình không gian vector (Vector Space Model - VSM) 41
3.3.2. Mô hình BOOLEAN 43
3.3.3. Mô hình tần suất 44
3.3.3.1. Phƣơng php dựa trên tần số thuật ngữ (TF) 44
3.3.3.2. Phƣơng php dựa trên nghịch đảo tần số văn bản (TDF) 45
3.3.3.3. Phƣơng php TF × IDF 45
3.3.4. Phƣơng php xử lý vector thƣa 46
3.3.5 Mô hình đồ thị 46
3.4. Các thuật toán phân loại văn bản 48
3.4.1. Bộ phân loại Vector hỗ trợ (SVM) 48
3.4.2. Phân loại văn bản và SVM 53
3.4.3. Thuật toán k-NN (k-Nearest Neighbor) 60
3.5. Giải thuật di truyền phân loại văn bản 62
3.5.1. Lựa chọn mô hình biểu diễn văn bản 62
3.5.1.1. Biểu diễn vector của văn bản 63
3.5.1.2. Phép tính độ tƣơng tự giữa hai vector 63
3.5.1.3. Vector trọng tâm của một nhóm văn bản 63
3.5.1.4. Phép tính độ tƣơng tự giữa hai nhóm văn bản 63
3.5.2. Phƣơng n tch thuật ngữ 64
3.5.2.1. Đối với các ngôn ngữ đơn âm tiết (single-term) 64
3.5.2.2. Đối với các ngôn ngữ đa âm tiết (multi-term) 64
3.5.2.3. Loại nhiễu 65
3.5.2.4. Mã hóa ký tự 66
v
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3.5.2.5. Tách từ khóa 66
3.5.2.6. Loại từ dừng (Stop Words) 66
3.5.2.7. Thống kê từ khóa 66
3.5.3. Sử dụng thuật giải di truyền trích chọn từ khóa 67
3.5.3.1.Giới thiệu 67
3.5.3.2. Độ thích hợp của từ khóa 67
3.5.3.3. Ứng dụng giải thuật di truyền để tối ƣu hóa độ thích nghi của từ khóa
69
3.6. Cài đặt và thử nghiệm chƣơng trình 69
KẾT LUẬN 73
TÀI LIỆU THAM KHẢO 74
vi
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Các từ viết tắt
Nghĩa tiếng anh
Nghĩa tiếng việt
KDD
Knowledge Discovery and Data
Mining
Kỹ thuật pht hiện tri thức
và khai ph dữ liệu
VSM
Vector Space Model
Mô hình không gian vector
VC
Vapnik-Chervonenkis
Kích thƣớc VC
SVM
Support Vector Machine
Bộ phân loại Vector hỗ trợ
RBF
Radial Basis Functions
Bộ phân loại chức năng
SMO
Sequential Minimal Optimization
Tối ƣu hóa tuần tự cực tiểu
TF
term frequency
Tần suất từ
k-NN
k-Nearest Neighbor
Thuật ton k-NN
WFST
Weighted Finite State Transducer
Mô hình WFST kết hợp
mạng Noron
SW
Stop Words
Loại từ dừng
vii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
DANH MỤC CÁC BẢNG
Bảng 2.1: Biểu diễn cá thể trƣớc và sau đột biến 33
Bảng 2.2: Độ thích nghi và xác suất của cá thể 34
Bảng 3.1: Vector biểu diễn văn bản 1 và văn bản 2 theo tần suất xuất hiện 43
Bảng 3.2: Vector Boolean biểu diễn văn bản 1 44
Bảng 3.3: Các tham số tối ƣu tƣơng ứng với mỗi số lƣợng đặc trƣng. 58
Bảng 3.4: Độ chính xác phân loại trên mỗi lớp và trên toàn bộ 58
Bảng 3.5: Một số từ dừng trong tiếng Việt 66
viii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Quá trình khám phá tri thức 7
Hình 1.2: Cc đƣờng biên phân loại đối với một láng giềng gần nhất 11
Hình 1.3: Đƣờng biên phân loại học bởi phân loại không tuyến tính 12
Hình 1.4: Một hồi quy tuyến tính đơn giản với tập dữ liệu vay nợ 12
Hình 1.5: Một phép phân cụm đơn giản của tập dữ liệu vào 3 cụm 14
Hình 1.6: Phân cụm cc điểm trong không gian 15
Hình 1.7: Phân cụm các ngôi nhà dựa vào khoảng cách địa lý 16
Hình 2.1: Giải quyết vấn đề bằng giải thuật di truyền. 20
Hình 2.2: Sơ đồ giải thuật di truyền. 22
Hình 2.3: Nguyên tắc thực hiện lai ghép chéo 31
Hình 2.4: Nguyên tắc thực hiện lai ghép đa điểm 32
Hình 2.5: Ảnh hƣởng của qu trình đột biến 32
Hình 2.6: Quá trình chọn lọc cá thể bằng phƣơng php bnh xe Roulette 34
Hình 2.7: Quá trình chọn lọc cá thể bằng phƣơng php Stochastic Universal
Sampling 35
Hình 2.8: Mô tả các lân cận của cá thể 35
Hình 2.9: Mô tả các lân cận của cá thể 36
Hình 3.1: Cc bƣớc nhỏ trong qu trình đnh chỉ số 40
Hình 3.2: Biểu diễn cc vector văn bản trong không gian chỉ có 2 thuật ngữ 42
Hình 3.3: Đồ thị biểu diễn văn bản 47
Hình 3.4. Đồ thị đồng hiện của văn bản 48
Hình 3.5. Mặt phẳng tách các mẫu dƣơng khỏi các mẫu âm 49
Hình 3.8: Minh họa việc khoanh vùng k văn bản gần nhất với k = 5 60
Hình 3.9: Mô hình tách từ khoá từ văn bản thô 65
Hình 3.10: Giao diện chƣơng trình chính 70
Hình 3.11: Thực hiện phân tách từng văn bản định dạng txt 70
Hình 3.12: Quá trình loại bỏ các stop word có trong từng văn bản 70
Hình 3.13:Thực hiện học phân lớp thể thao và pháp luật 71
ix
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 3.14: Trích chọn đặc trƣng theo giải thuật di truyền 71
Hình 3.15: Thực hiện biểu diễn cc văn bản trong từng phân lớp theo đặc trƣng
đƣợc trích chọn dựa trên giaỉ thuật di truyền và biểu diễn dƣới dạng vecto thƣa 72
Hình 3.16: Thực hiện phân loại từng văn bản theo từng thể loại 72
1
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
MỞ ĐẦU
Chúng ta đang sống trong một thế giới có nền khoa học phát triển rất hiện đại.
Thế kỷ 21 là thế kỷ của công nghệ thông tin nói chung và của tin học nói riêng. Đó
là một trong những thành tựu vĩ đại nhất mà con ngƣời đã đạt đƣợc trong thiên niên
kỷ này. Tin học giữ vai trò đặc biệt quan trọng trong các hoạt động của toàn nhân
loại. Nhân loại ứng dụng tin học vào phục vụ cho nghiên cứu khoa học, cho công
nghệ sản xuất, phục vụ cho nghành quản lý kinh tế, sản xuất kinh doanh, du lịch, y
tế tạo điều kiện cho nền sản xuất xã hội ngày càng phát triển đồng thời giảm bớt
đng kể sức lao động của con ngƣời, đƣa mức sống con ngƣời ngày càng cao
Kỹ thuật pht hiện tri thức và khai ph dữ liệu (KDD - Knowledge Discovery
and Data Mining) đã và đang đƣợc nghiên cứu, ứng dụng trong nhiều lĩnh vực khc
nhau ở cc nƣớc trên thế giới.
Tại Việt Nam, kỹ thuật này tƣơng đối còn mới mẻ tuy nhiên cũng đang đƣợc nghiên
cứu và dần đƣa vào ứng dụng. Bƣớc quan trọng nhất của qu trình này là Khai ph
dữ liệu, giúp ngƣời sử dụng thu đƣợc những tri thức hữu ích từ những cơ sở dữ liệu
hoặc cc nguồn dữ liệu khổng lồ khc.
Lý do của điều này là sự pht triển của công nghệ thông tin và việc ứng dụng
công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều
năm qua cũng đồng nghĩa với lƣợng dữ liệu đã đƣợc cc cơ quan thu thập và lƣu trữ
ngày một nhiều. Theo thống kê thì chỉ có một lƣợng nhỏ của những dữ liệu này
(khoảng từ 5% đến 10%) đƣợc phân tích, trong khi số còn lại không đƣợc khai thc
và vẫn tiếp tục thu thập nên rất tốn kém với ý nghĩ lo sợ rằng sẽ có ci gì đó quan
trọng đã bị bỏ qua sau này có lúc cần đến nó. Mặt khc, trong môi trƣờng cạnh
tranh, ngƣời ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc
ra quyết định và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả
lời dựa trên một khối lƣợng dữ liệu khổng lồ đã có. Với những lý do nhƣ vậy, cc
phƣơng php quản trị và khai thc cơ sở dữ liệu truyền thống ngày càng không đp
ứng đƣợc. Yêu cầu thực tế đã làm pht triển một khuynh hƣớng kỹ thuật mới đó là
Kỹ thuật pht hiện tri thức và khai ph dữ liệu nhƣ đã nêu trên.
2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Có nhiều phƣơng php tiếp cận, giải thuật nhằm ứng dụng công nghệ khai phá
dữ liệu vào công tác quản lý nguồn tài liệu văn bản trong đó giải thuật di truyền là
một hƣớng đi mới có nhiều ƣu điểm trong kỹ thuật tìm kiếm lời giải tối ƣu đp ứng
yêu cầu của nhiều bài toán xử lý văn bản.
Luận văn cấu trúc gồm 3 chƣơng:
Chƣơng 1:
Chƣơng 1 chúng ta tìm hiểu tổng quan về khai phá dữ liệu, quá trình khai
phá dữ liệu, cc hƣớng tiếp cận và cc phƣơng pháp khai phá dữ liệu. Đặc điểm của
các bài toán khai phá dữ liệu và qui trình khám phá tri thức trong cơ sở dữ.
Chƣơng 2:
Chƣơng 2 nghiên cứu giải thuật di truyền và ứng dụng vào phân loại tài liệu
dạng văn bản. Trong chƣơng này chúng ta tìm hiểu về các phép toán di truyền và
các tham số của giải thuật di truyền. Quá trình phân loại văn bản, bài toán phân loại
văn bản, cc phƣơng php biểu diễn văn bản và các thuật toán phân loại văn bản.
Chƣơng 3:
Chƣơng 3 chúng ta sẽ cài đặt chƣơng trình thuật toán ở chƣơng 2. Ứng dụng
giải thuật để tối ƣu hóa độ thích nghi của từ khóa.
Luận văn này đƣợc hoàn thành dƣới sự hƣớng dẫn tận tình của PGS.TS. Bùi Thế
Hồng, em xin bày tỏ lòng biết ơn chân thành của mình đối với thầy. Em xin chân
thành cảm ơn cc thầy, cô giáo Viện Công nghệ thông tin, Trƣờng Đại học Công
nghệ thông tin và Truyền thông - Đại học Thi Nguyên đã tham gia giảng dạy, giúp
đỡ em trong suốt qúa trình học tập nâng cao trình độ kiến thức. Tuy nhiên vì điều
kiện thời gian và khả năng có hạn nên luận văn không thể tránh khỏi những thiếu
sót. Em kính mong các thầy cô giáo và bạn đọc đóng góp ý kiến để đề tài đƣợc hoàn
thiện hơn.
3
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
CHƢƠNG 1: TÌM HIỂU VỀ KHAI PHÁ DỮ LIỆU
1.1 Giớ i thiệ u chung
1.1.1. Giới thiệu
Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin và
ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lƣu trữ thông tin của
các hệ thống thông tin tăng nhanh một cách chóng mặt. Bên cạnh đó việc tin học
hóa nhanh chóng các hoạt động sản xuất, kinh doanh cũng nhƣ nhiều lĩnh vực hoạt
động khc đã tạo ra cho chúng ta một lƣợng dữ liệu lƣu trữ khổng lồ.
Hàng triệu CSDL đã đƣợc sử dụng trong các hoạt động sản xuất, kinh doanh,
quản lý trong đó có nhiều CSDL cực lớn. Sự bùng nổ này dẫn tới một yêu cầu cấp
thiết là cần có những kỹ thuật và công cụ mới để tự động chuyển đổi lƣợng dữ liệu
khổng lồ kia thành tri thức có ích. Từ đó cc kỹ thuật khai phá dữ liệu đã trở thành
một lĩnh vực thời sự của nền công nghệ thông tin thế giới hiện nay.
1.1.2. Khái niệm
Thuật ngữ khai phá dữ liệu ra đời vào những năm cuối của thập kỷ 1980. Theo
Gio sƣ Tom Mitchell “Khai ph dữ liệu là việc sử dụng dữ liệu l ịch sƣ̉ để khá m
ph những quy tắc và cả i thiệ n nhƣ̃ ng quyết đị nh trong tƣơng lai”.
Vớ i cá ch tiế p cậ n ƣ́ ng dụ ng hơn , Tiế n sỹ Fayyad đã phá t biể u : “Khai phá dƣ̃ liệ u ,
thƣờ ng đƣợ c xem là việ c khá m phá tri thƣ́ c trong cá c cơ sở dƣ̃ liệ u , là một qu trình
trích xuất những thông tin ẩn trƣớc đây chƣa biết và có khả năng hữu ích , dƣớ i dạ ng
cc quy luậ t , ràng buộc, quy tắ c trong cơ sở dƣ̃ liệ u” . Tóm lại, khai phá dƣ̃ liệ u là
mộ t quá trì nh họ c tri thƣ́ c mớ i tƣ̀ nhƣ̃ ng dƣ̃ liệ u đã thu thậ p đƣợ c . Ngoài thuật ngữ
khai phá dữ liệu cò n có mộ t số thuậ t ngƣ̃ khá c đƣợ c sƣ̉ dụng với nghĩa tƣơng đƣơng
nhƣ: khai phá tri thƣ́ c cơ s ở dữ liệu (Knowlegde Mining from Databases ), trích lọc
dƣ̃ liệ u (Knowlegde Extraction ), phân tí ch dƣ̃ liệ u / mẫ u (Data/Pattern Analysis ),
khảo cổ dữ liệu (Data Archaeology), nạo vét dữ liệ u (Data Dredging). Thực ra, Khai
ph d ữ liệu là mộ t bƣớ c chính trong quá trì nh Khá m phá tri thƣ́ c trong CSDL
(Knowlegde Discovery in Databases - KDD).
4
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1.1.3. Đặc điểm của bài toán khai phá dữ liệu
* Khai phá dữ liệu là giai đoạn chủ yếu của quá trình phát hiện tri thức.
Nếu phát hiện tri thức là toàn bộ quá trình xuất tri thức từ CSDL thì khai phá
dữ liệu là một giai đoạn chủ yếu của qu trình đó. Thông thƣờng, quá trình phát
hiện tri thức từ dữ liệu phải trải qua rất nhiều giai đoạn. Có thể kể một vài giai đoạn
quan trọng là: tìm hiểu lĩnh vực ứng dụng và mục đích khai ph, xc định dữ liệu
liên quan và nhiệm vụ khai phá, tiền xử lý dữ liệu, chọn thuật toán khai phá và
chuyển dữ liệu về dạng phù hợp, thực hiện khai ph và sau đó là tinh lọc và ứng
dụng tri thức tìm đƣợc.
Khai phá dữ liệu là để tìm ra các mẫu có ý nghĩa đƣợc tiến hành trên tập dữ
liệu mà ta hy vọng sẽ thích hợp với nhiệm vụ khai phá hiện thời.Khai phá dữ liệu
không phải là tìm kiếm từ dữ liệu trong một thời gian đủ dài để cho ra những mẫu
không thực sự có ích nhƣ việc thống kê đã làm trƣớc đây. Khai ph dữ liệu thƣờng
bao gồm việc thử tìm mô hình phù hợp với tập dữ liệu và tìm kiếm các mẫu từ tập
dữ liệu theo mô hình đó.
* Mẫu tìm được từ quá trình khai phá dữ liệu phải có tính mô tả và dự đoán.
Mục đích chính của khai phá dữ liệu là chiết xuất tri thức từ dữ liệu.Những tri
thức này đƣợc sử dụng cho lợi ích cạnh tranh trên thƣơng trƣờng và trong nghiên
cứu khoa học.Dự đon ở đây có nghĩa là trên cơ sở những điều đã biết trong quá
khứ để dự đon trƣớc những gì sẽ xảy ra trong tƣơng lai.Còn mô tả tập trung vào ý
nghĩa hàm chứa trong mẫu tìm đƣợc và điều này là có nghĩa trong lĩnh vực ứng
dụng. Các mẫu cuối cùng tìm đƣợc do khai phá dữ liệu sẽ có một trong hai hoặc cả
hai tính chất này.
* Khai phá dữ liệu là quá trình trong đó con người làm trung tâm.
Mặc dù khai phá dữ liệu sử dụng nhiều phƣơng php khc nhau và với sự hỗ
trợ của công cụ tin học nhƣng trong bất cứ giai đoạn nào của quá trình khai phá, con
ngƣời vẫn luôn đóng vai trò quan trọng. Hệ thống không thể làm việc một cách
hoàn toàn tự động mà không có sự trợ giúp của con ngƣời.
5
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Thật vậy, để quá trình khai phá cho ra kết quả tốt, cần phải có sự phối hợp trợ
giúp thƣờng xuyên của các chuyên gia cả về lĩnh vực tin học lẫn lĩnh vực ứng
dụng.Sở dĩ có yêu cầu này là vì dữ liệu đầu vào và yêu cầu của bài toán khai phá
thay đổi vô chừng.Các chuyên gia về lĩnh vực ứng dụng sẽ giúp các chuyên gia về
tin học hiểu đƣợc điều họ mong muốn là gì.Sau đó, trch nhiệm của các chuyên gia
tin học là biên dịch lại những yêu cầu đó để hệ thống khai phá hiểu và tìm ra đƣợc
điều mà họ mong muốn.
Cc thông tin đầu vào cho hệ thống khai phá là rất quan trọng. Thông tin có
đầy đủ, chính xc, đúng đắn và phù hợp với yêu cầu thì kết quả khai phá mới có thể
giúp ích cho ngƣời dùng đƣợc. Các thông tin này chỉ có thể đƣợc cung cấp bởi các
chuyên gia về lĩnh vực ứng dụng.Đó có thể là tập dữ liệu còn cần thiết, các tiêu
chuẩn dùng trong quá trình tìm kiếm tri thức, cả những kinh nghiệm đƣợc biểu diễn
bằng một ngôn ngữ nào đó mà hệ thống có thể hiểu đƣợc. Có thể khẳng định một
điều rằng, nếu quá trình khai phá tri thức không có sự phối hợp tích cực của các
chuyên gia tin học và các chuyên gia về lĩnh vực ứng dụng thì sẽ không đạt đƣợc
kết quả gì cả.
* Khai phá dữ liệu là quá trình tìm kiếm tri thức chỉ từ dữ liệu.
Lý luận và thực tiễn thực hiện các quá trình phát hiện tri thức mà ta xét ở đây
là sự tiếp thu, sử dụng và phát triển nhiều thành tựu và công cụ của cc lĩnh vực đã
phát triển trƣớc đó nhƣ: lý thuyết nhận dạng, hệ chuyên gia, trí tuệ nhân tạo… Dù
vậy, đặc điểm cơ bản giúp phân biệt việc phát hiện tri thức với cc ngành đã có từ
trƣớc là phát hiện tri thức là quá trình tìm kiếm tri thức trực tiếp từ dữ liệu. Ví dụ:
một hệ chuyên gia thì cơ sở tri thức đƣợc hình thành từ kinh nghiệm và kiến thức
của các chuyên gia là chủ yếu. Trong khi bài toán nhận dạng dùng tập mẫu cho
trƣớc…
* Khai phá dữ liệu mang tính chất hướng nhiệm vụ.
Khai phá phải nhằm vào việc giải quyết tốt một số nhiệm vụ đề ra nào đó.Tri
thức mà ta đề cập đến trong bài toán khai phá dữ liệu là tri thức rút ra từ CSDL,
thƣờng để phục vụ cho việc giải quyết một loạt các nhiệm vụ nhất định trong một
6
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
lĩnh vựcnhất định.Không thể có các yêu cầu cho một hệ thống phát hiện tri thức –
trong đó khai ph dữ liệu là giai đoạn chủ yếu – là tìm mọi tri thức có thể có về lĩnh
vực đó.Ngoài ra, mỗi lĩnh vực đều có đặc thù riêng về dữ liệu và những yêu cầu của
lĩnh vực đó, sẽ không thể có một hệ thống phát hiện tri thức dùng cho mọi lĩnh vực.
1.2. Quá trình khám phá tri thức trong cơ sở dữ liệu
Muốn thực hiện khai phá dữ liệu, đầu tiên phải tìm hiểu nghiệp vụ ứng dụng
và xc định mục tiêu khai ph.Điều này xuất phát từ nhu cầu thực tế của những
ngƣời làm trong lĩnh vực cần khai thác dữ liệu.Đó có thể là các tri thức chiết xuất
đƣợc sử dụng cho lợi ích cạnh tranh trên thƣơng trƣờng hoặc các lợi ích trong
nghiên cứu khoa học.Đây là một bƣớc rất quan trọng giúp định hƣớng cho toàn bộ
quá trình khai phá. Có hiểu rõ vấn đề và xc định đúng đắn mục tiêu thì cc bƣớc
sau mới đƣợc thực hiện tốt và bài toán khai phá dữ liệu mới có thể cho kết quả tốt
đƣợc. Ngoài ra, việc hiểu rõ tri thức đã có của ngƣời dùng cũng rất quan trọng vì
qua đó sẽ hiểu rõ lĩnh vực ứng dụng hơn. Và những tri thức này thực sự giúp ích
đƣợc rất nhiều trong khi thực hiện khai phá lẫn khi thực hiện hậu xử lý kết quả đạt
đƣợc của quá trình khai phá luật nhằm lọc ra các luật thật sự giúp ích đƣợc cho
ngƣời dùng.
Sau khi tìm hiểu cc lĩnh vực ứng dụng và xc định mục đích khai ph dữ liệu
một cch đúng đắn, sẽ bƣớc vào quá trình khám phá tri thức trong cơ sở dữ liệu nhƣ
hình 1.1.
7
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình 1.1: Quá trình khám phá tri thức
Bƣớc 1: Tích hợp dữ liệu, làm sạch dữ liệu, và chọn dữ liệu tạo nên 1 kho dữ liệu
Bƣớc 2: Biến đổi dữ liệu thích hợp với bộ máy khai phá
Bƣớc 3: Xc định nhiệm vụ khai phá dữ liệu và lựa chọn kĩ thuật khai phá, kết quả
cho ta nguồn tri thức thô
Bƣớc 4: Đnh gi cc mẫu, dựa trên 1 số tiêu trí để tiến hành kiểm tra và lọc nguồn
tri thức thu đƣợc.
1.2.1. Gom dữ liệu
Tập hợp dữ liệu là bƣớc đầu tiên trong qu trình khai ph dữ liệu.Đây là bƣớc
đƣợc khai thc trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí cc dữ liệu từ
cc nguồn ứng dụng Web.
1.2.2. Trích lọc dữ liệu
Tập hợp dữ liệu từ nhiều nguồn khác nhau vào trong một cơ sở dữ liệu.
+Chỉ chọn những dữ liệu cần thiết cho tiến trình khai phá dữ liệu.
8
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
+Loại bỏ dữ liệu dƣ thừa và trùng lặp.
+Phát hiện và giải quyết các mâu thuẫn trong dữ liệu.
*Dữ liệu dư thừa, trùng lặp:
+Một thuộc tính là thừa nếu nó có thể suy ra từ các thuộc tính khác.
+Cùng một một thuộc tính có thể có nhiều tên trong cc cơ sở dữ liệu
khác nhau (ví dụ: năm sinh, tuổi).
+Một số mẫu tin dữ liệu bị lặp lại.
Cần tìm cách loại bỏ những dữ liệu dƣ thừa để tăng độ chính xác.
1.2.3. Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu
Làm sạch dữ liệu là vấn đề quan trọng nhất của nhà kho dữ liệu.
Các nhiệm vụ của công đoạn làm sạch dữ liệu:
+Điền các giá trị còn thiếu.
+Xc định các sai biệt và khử dữ liệu tạp nhiễu.
+Sửa chữa các dữ liệu mâu thuẫn.
-Bỏ qua các mẫu tin có giá trị thiếu: dễ nhƣng không hiệu quả, đặc biệt khi tỷ
lệ giá trị thiếu của thuộc tính cao
-Điền các giá trị thiếu bằng tay: không khả thi.
-Điền các giá trị thiếu tự động:
+Thay thế bằng hằng số chung ví dụ: “không biết” có thể thành lớp
mới trong dữ liệu.
+Thay thế bằng giá trị trung bình của thuộc tính.
Bởi vậy, đây là một qu trình rất quan trọng vì dữ liệu này nếu không đƣợc
“làm sạch - tiền xử lý - chuẩn bị trƣớc” thì sẽ gây nên những kết quả sai lệch
nghiêm trọng.
9
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Các giải thuật tiền xử lý bao gồm:
a. Xử lý dữ liệu bị thiếu/mất: Các dữ liệu bị thiếu sẽ đƣợc thay thế bởi các giá
trị thích hợp.
b. Khử sự trùng lặp: Cc đối tƣợng dữ liệu trùng lặp sẽ bị loại bỏ đi. Kỹ thuật
này không đƣợc sử dụng cho các tác vụ có quan tâm đến phân bố dữ liệu.
c. Giảm nhiễu: Nhiễu và cc đối tƣợng tách rời khỏi phân bố chung sẽ bị loại
đi khỏi dữ liệu.
d. Chuẩn hóa: miền giá trị của dữ liệu sẽ đƣợc chuẩn hoá.
e. Rời rạc hóa: các dữ liệu số sẽ đƣợc biến đổi ra các giá trị rời rạc.
f. Rút trích và xây dựng đặc trƣng mới từ các thuộc tính đã có.
g. Giảm chiều: các thuộc tính chứa ít thông tin sẽ đƣợc loại bớt.
h. Kiểm tra tính toàn vẹn của dữ liệu
1.2.4. Chuyển đổi dữ liệu
Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đƣa ra có thể sử dụng và
điều khiển đƣợc bởi việc tổ chức lại nó tức là dữ liệu sẽ đƣợc chuyển đổi về dạng
phù hợp cho việc khai ph bằng cch thực hiện cc thao tc nhóm hoặc tập hợp.
Thông thƣờng ngƣời ta đƣa dữ liệu về dạng chuẩn, đó là dạng nhị phân.Việc
chuyển dữ liệu về dạng nhị phân không làm thay đổi thông tin của dữ liệu đầu vào.
Đây có thể xem nhƣ là một cch thể hiện khc của dữ liệu ban đầu.
Thực tế, có hai cch để thể hiện lại dữ liệu (dạng nhị phân và dạng số) trƣớc
khi dùng nhƣ là đầu vào của thuật ton. Cch chuyển dữ liệu về dạng nhị phân nói
trên sẽ làm tăng số chiều dữ liệu nhƣng bù lại thuật ton dùng để khai ph trở nên
đơn giản hơn. Cch còn lại không chuyển dữ liệu về dạng nhị phân mà chuyển về
dạng số, không làm thay đổi số chiều của dữ liệu nhƣng thuật ton khai ph phải xử
lý dữ liệu phức tạp hơn.
1.2.5. Khai phá dữ liệu- Phát hiện và trích mẫu dữ liệu
Đây là bƣớc quan trọng nhất của qu trình khm ph tri thức.Ở giai đoạn này
nhiều thuật ton khc nhau đã đƣợc sử dụng để trích ra cc mẫu từ dữ liệu. Thuật
10
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ton thƣờng dùng là nguyên tắc phân loại, nguyên tắc kết hợp hoặc cc mô hình dữ
liệu tuần tự,.v.v.
1.2.6. Đánh giá kết quả mẫu
Ở giai đoạn này, cc mẫu dữ liệu đƣợc chiết xuất ra bởi phần mềm khai ph dữ
liệu.Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai
lệch.Vì vậy, cần phải ƣu tiên những tiêu chuẩn đnh gi để chiết xuất ra cc tri thức
cần chiết xuất. Đnh gi sự hữu ích của cc mẫu biểu diễn tri thức dựa trên một số
phép đo. Sau đó sử dụng cc kỹ thuật trình diễn và trực quan ho dữ liệu để biểu
diễn tri thức khai ph đƣợc cho ngƣời sử dụng.
Trên đây là 6 giai đoạn trong qu trình khm ph tri thức, trong đó giai đoạn 5
là giai đoạn đƣợc quan tâm nhiều nhất hay còn gọi đó là Data Mining.
Mối quan hệ chặt chẽ giữa cc giai đoạn trong quá trình khám phá tri thức
trong CSDL là rất quan trọng cho việc nghiên cứu trong khai phá dữ liệu.Bởi vì một
giải thuật trong khai phá dữ liệu không thể đƣợc phát triển độc lập, không quan tâm
đến bối cảnh áp dụng mà thƣờng đƣợc xây dựng để giải quyết một mục tiêu cụ thể.
Do đó, sự hiểu biết bối cảnh vận dụng là rất cần thiết. Thêm vào đó, cc kỹ thuật
đƣợc sử dụng trong cc giai đoạn trƣớc có thể ảnh hƣởng đến hiệu quả của các giải
thuật sử dụng trong cc giai đoạn tiếp theo.
1.3. Khái quát các kỹ thuật khai phá dữ liệu
Kỹ thuật khai phá dữ liệu có thể đƣợc chia làm 2 nhóm chính kỹ thuật khai
phá dữ liệu dự đon và kỹ thuật khai phá dữ liệu mô tả.
1.3.1. Kỹ thuật khai phá dữ liệu dự đoán
Kỹ thuật này có nhiệm vụ đƣa ra cc dự đon dựa vào các suy diễn trên dữ
liệu hiện thời. Nó sử dụng các biến hay cc trƣờng trong cơ sở dữ liệu để dự báo các
giá trị không biết hay các giá trị tƣơng lai. Cc kỹ thuật này gồm có: phân lớp, hồi
quy…
1.3.1.1. Phân lớp dữ liệu
Phân lớp dữ liệu là kĩ thuật dựa trên tập dữ liệu huấn luyện cho trƣớc và sự
huấn luyện của con ngƣời, các giải thuật phân lớp sẽ học ra bộ phân lớp dùng để
11
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
phân dữ liệu mới vào một trong những lớp đã đƣợc xc định trƣớc. Phân lớp cũng là
tiên đon loại lớp của nhãn.Bên cạnh kĩ thuật phân lớp có một hình thức tƣơng tự là
kĩ thuật tiên đon, kĩ thuật tiên đon khc với phân lớp ở chỗ phân lớp chỉ liên quan
đến tiên đon loại lớp của nhãn còn kĩ thuật tiên đon mô hình những hàm đnh gi
liên tục.
Quá trình phân lớp dữ liệu thƣờng gồm 2 bƣớc: Xây dựng mô hình và sử dụng
mô hình để phân lớp dữ liệu .
* Bước 1: Xây dựng mô hình
Một mô hình sẽ đƣợc xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn
có.Mỗi mẫu tƣơng ứng với một lớp, đƣợc quyết định bởi một thuộc tính gọi là thuộc
tính lớp.Các mẫu dữ liệu này còn đƣợc gọi là tập dữ liệu huấn luyện.Mô hình đƣợc
biểu diễn là những luật phân lớp, cây quyết định và những công thức toán học.Các
nhãn lớp của tập dữ liệu huấn luyện đều phải đƣợc xc định trƣớc khi xây dựng mô
hình, vì vậy phƣơng php này còn đƣợc gọi là học có thầy khác với phân cụm dữ
liệu là học không có thầy.
*Bước 2: Sử dụng mô hình để phân lớp dữ liệu
Trƣớc hết chúng ta phải tính độ chính xác của mô hình, trong đó nhãn đƣợc
biết của mẫu kiểm tra đƣợc so sánh với kết quả phân lớp của mô hình, độ chính xác
là phần trăm của tập mẫu kiểm tra mà phân loại đúng bởi mô hình, tập kiểm tra là
độc lập với huấn luyện. Nếu độ chính xác là chấp nhận đƣợc, mô hình sẽ đƣợc sử
dụng để dự đon nhãn lớp cho các mẫu dữ liệu khc trong tƣơng lai.
Hình 1.2: Các đường biên phân loại đối với một láng giềng gần nhất
Income
Debt
12
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Income
Debt
Hình 1.3: Đường biên phân loại học bởi phân loại không tuyến tính
1.3.1.2. Hồi quy
Phƣơng php hồi qui khc với phân lớp dữ liệu ở chỗ, hồi qui dùng để dự đon
về cc gi trị liên tục còn phân lớp dữ liệu thì chỉ dùng để dự đon về cc gi trị rời
rạc.
Hồi quy là học một hàm nh xạ một mục dữ liệu vào một biến dự bo gi trị
thực. Cc ứng dụng hồi quy có nhiều, ví dụ nhƣ đnh gi xc xuất một bệnh nhân sẽ
chết mang lại cc kết quả của một tập cc xét nghiệm chẩn đon, dự bo nhu cầu
của ngƣời tiêu dùng đối với một sản phẩn mới nhƣ một hoạt động quảng cáo tiêu
dùng. Hình 1.4 cho thấy kết quả của hồi quy tuyến tính tại đó "total debt - tổng nợ"
phù hợp nhƣ một hàm tuyến tính của "income - thu nhập": sự phù hợp là nghèo nàn
này do vậy chỉ có một mối tƣơng quan yếu giữa hai biến.
Hình 1.4: Một hồi quy tuyến tính đơn giản với tập dữ liệu vay nợ
13
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1.3.2. Kỹ thuật khai phá dữ liệu mô tả
Kỹ thuật này có nhiệm vụ mô tả về các tính chất hoặc cc đặc tính chung của
dữ liệu trong CSDL hiện có. Kỹ thuật này bao gồm: Phân cụm (clustering), tóm tắt
(summerization), trực quan hóa (visualiztion), phân tích sự phát triển và độ lệch
(Evolution and deviation analyst), phân tích luật kết hợp (association rules)…
1.3.2.1 Phân cụm dữ liệu
Các kỹ thuật phân cụm dữ liệu sẽ nhóm cc đối tƣợng dữ liệu có tính chất
giống nhau vào cùng một nhóm.Cc đối tƣợng đƣợc gom cụm sao cho mức độ
tƣơng tự giữa cc đối tƣợng trong cùng một cụm là cực đại và mức độ tƣơng tự giữa
cc đối tƣợng nằm trong các cụm khác nhau là cực tiểu. Các cụm đƣợc đặc trƣng
bằng các tính chất chung của tất cả cc đối tƣợng trong cụm.
Phân cụm dữ liệu là một ví dụ của phƣơng php học không có thầy.Không
giống nhƣ phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trƣớc
các mẫu dữ liệu huấn luyện. Vì thế có thể coi phân cụm dữ liệu là một cách học
bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ. Trong phƣơng php này
bạn sẽ không biết kết quả của các cụm thu đƣợc sẽ nhƣ thế nào khi bắt đầu quá
trình. Vì vậy, thông thƣờng cần có một chuyên gia về lĩnh vực đó để đnh gi cc
cụm thu đƣợc. Phân cụm dữ liệu đƣợc sử dụng nhiều trong các ứng dụng về phân
loại thị trƣờng, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web…
Khảo sát các cụm sẽ giúp khái quát, tổng kết nhanh chóng nội dung của khối dữ liệu
lớn, do đó phân cụm dữ liệu còn có thể đƣợc sử dụng nhƣ một bƣớc tiền xử lý cho
các thuật toán khai phá dữ liệu khác.
Income
Debt
Cluster 1
Cluster 2
Cluster 3
14
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hình1.5: Một phép phân cụm đơn giản của tập dữ liệu vào 3 cụm
1.3.2.2. Tóm tắt
Liên quan đến cc phƣơng php tìm kiếm một mô tả tóm tắt cho một tập con
dữ liệu. Ví dụ nhƣ việc lập bảng cc độ lệch chuẩn và trung bình cho tất cả các
trƣờng.Cc phƣơng php phức tạp hơn liên quan đến nguồn gốc của các luật tóm
tắt, khai thác mối liên hệ hàm giữa các biến. Các kỹ thuật tóm tắt thƣờng đƣợc áp
dụng cho các phân tích dữ liệu tƣơng tc có tính thăm dò và tạo báo cáo tự động.
1.3.3. So sánh các tiếp cận khai phá dữ liệu: phân cụm - phân lớp
Hai kỹ thuật khai phá dữ liệu phổ biến để tìm ra các mẫu ẩn trong dữ liệu đó là
phân cụm và phân lớp.Mặc dù phân lớp và phân cụm thƣờng đƣợc đề cập trong
cùng một breath, chúng vẫn là các tiếp cận phân tích khác nhau.Ở đây ta đề cập tới
các khía cạnh giống và khác nhau giữa chúng.
Tƣởng tƣợng một cơ sở dữ liệu bao gồm các bản ghi về hoạt động mƣợn sách
tại thƣ viện. Nó bao gồm các thuộc tính nhƣ: MaSach, SoThe, NgayMuon,
NgayTra.
Phân cụm tự động xử lý cụm các bản ghi có liên quan với nhau.Các bản ghi có
liên quan đƣợc nhóm lại với nhau trên cơ sở có các giá trị tƣơng đồng tại một số
thuộc tính. Đây là cch tiếp cận phân đoạn cơ sở dữ liệu theo phƣơng php phân
cụm thƣờng đƣợc dùng nhƣ là một kỹ thuật khai thác bởi nó không cần ngƣời dùng
đầu cuối mà nhà phân tích cho biết trƣớc là có bao nhiêu bản ghi có liên quan tới
nhau. Trong thực tế, mục tiêu của phép phân tích thƣờng để phát hiện ra cc đoạn
hay các cụm và sau đó kiểm tra các thuộc tính và các giá trị mà định nghĩa cc cụm
hay cc đoạn. Nhƣ vậy là cụm các tài liệu thƣờng đƣợc học viên mƣợn và mƣợn kết
hợp sẽ trở nên rõ ràng hơn. Điều này sẽ đƣợc dùng để điều chỉnh việc bố trí, sắp xếp
tài liệu cho hợp lý.Hay trong việc phân cụm các khách hàng có thể đƣợc dùng để
điều chỉnh chiến lƣợc marketing và quảng cáo tới từng cụm khách hàng cụ thể.
Có rất nhiều giải thuật khc nhau đƣợc dùng để phân cụm nhƣng tất cả chúng
đều tham gia, chia sẻ, đặc tính lặp ấn định các bản ghi tới một cụm, tính toán một độ
đo (thƣờng là tƣơng đồng hoặc sự khác biệt), các bản ghi ấn định lại vào các cụm