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
1
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 khám 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ự đoán............................................................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
2
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
3
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 pháp chọn lọc dùng bánh xe Roulette.......................................33
2.3.4.2. Phương pháp chọn lọc Stochastic Universal Sampling.........................34
2.3.4.3. Phương pháp chọn lọc địa phương............................................................35
2.3.4.4. Phương pháp 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
4
3.3. Các phương pháp 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 pháp dựa trên tần số thuật ngữ (TF)............................................44
3.3.3.2. Phương pháp dựa trên nghịch đảo tần số văn bản (TDF)......................45
3.3.3.3. Phương pháp TF × IDF..................................................................................45
3.3.4. Phương pháp 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 tách 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
5
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
6
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Các từ viết tắt
KDD
VSM
VC
SVM
RBF
SMO
TF
k-NN
WFST
Nghĩa tiếng anh
Knowledge Discovery and Data
Mining
Vector Space Model
Vapnik-Chervonenkis
Support Vector Machine
Radial Basis Functions
Sequential Minimal Optimization
term frequency
k-Nearest Neighbor
Weighted Finite State Transducer
SW
Stop Words
Nghĩa tiếng việt
Kỹ thuật phát hiện tri thức
và khai phá dữ liệu
Mô hình không gian vector
Kích thước VC
Bộ phân loại Vector hỗ trợ
Bộ phân loại chức năng
Tối ưu hóa tuần tự cực tiểu
Tần suất từ
Thuật toán k-NN
Mô hình WFST kết hợp
mạng Noron
Loại từ dừng
7
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
8
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: Các đườ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 các đ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 pháp bánh xe Roulette...............34
Hình 2.7: Quá trình chọn lọc cá thể bằng phương pháp 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: Các bước nhỏ trong quá trình đánh chỉ số.................................................40
Hình 3.2: Biểu diễn các 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
9
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 các 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
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 phát 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 khác
nhau ở các 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 các nguồn dữ liệu khổng lồ khác.
Lý do của điều này là sự phát 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 các 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 thác
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ó cái gì đó quan
trọng đã bị bỏ qua sau này có lúc cần đến nó. Mặt khác, 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, các
phương pháp quản trị và khai thác 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 phát triển một khuynh hướng kỹ thuật mới đó là
Kỹ thuật phát hiện tri thức và khai phá dữ liệu như đã nêu trên.
2
Có nhiều phương pháp 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, các hướng tiếp cận và các 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, các phương pháp 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 các 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 Thái 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
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 khác đã 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ừ đó các 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
Giáo 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 các 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
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á, xác đị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ự đoán ở đây có nghĩa là trên cơ sở những điều đã biết trong quá
khứ để dự đoán 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 pháp khác 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
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 đó, trách 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.
Các 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 xác, đú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 các 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 các 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
lĩnh vực nhấ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à xác đị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à xác định đúng đắn mục tiêu thì các 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 các lĩnh vực ứng dụng và xác định mục đích khai phá dữ liệu
một cách đú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.
Hình 1.1: Quá trình khám phá tri thức
7
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: Xác đị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á các 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 thác trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từ
các 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
+ 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 các 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.
+ Xác đị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
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: Các đố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à các đố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 cách thực hiện các thao tác 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 cách thể hiện khác của dữ liệu ban đầu.
Thực tế, có hai cách để 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 toán. Cách 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 toán dùng để khai phá trở nên
đơn giản hơn. Cách 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 toán 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
10
Đây là bước quan trọng nhất của quá trình khám phá tri thức. Ở giai đoạn này
nhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu. Thuật
toán thường dùng là nguyên tắc phân loại, nguyên tắc kết hợp hoặc các 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, các 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 các tri thức
cần chiết xuất. Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa trên một số
phép đo. Sau đó sử dụng các 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 khám 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 các 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 đó, các kỹ
thuật được sử dụng trong các 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 các 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ự đoán 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 các dự đoán 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 các trường trong cơ sở dữ liệu để dự báo các
- Xem thêm -